diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml deleted file mode 100644 index f90f4ad8e..000000000 --- a/.github/release-drafter.yml +++ /dev/null @@ -1,4 +0,0 @@ -template: | - ## What's Changed - - $CHANGES diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..920bf0e97 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,25 @@ +language: bash + +sudo: required +service: docker + +addons: + apt: + packages: + - docker-ce + +before_install: + - shopt -s globstar + - docker pull koalaman/shellcheck + +script: + - docker run -v $(pwd):/mnt koalaman/shellcheck scripts/*.sh + - docker run -v $(pwd):/mnt koalaman/shellcheck buildroot-external/scripts/*.sh + - docker run -v $(pwd):/mnt koalaman/shellcheck buildroot-external/scripts/*.sh + - docker run -v $(pwd):/mnt koalaman/shellcheck buildroot-external/board/**/*.sh + - docker run -v $(pwd):/mnt koalaman/shellcheck buildroot-external/rootfs-overlay/usr/sbin/* + - docker run -v $(pwd):/mnt koalaman/shellcheck buildroot-external/rootfs-overlay/usr/libexec/* + - docker run -v $(pwd):/mnt koalaman/shellcheck buildroot-external/rootfs-overlay/usr/lib/rauc/* + +matrix: + fast_finish: true diff --git a/Documentation/configuration.md b/Documentation/configuration.md index ffbab623b..bf20966c7 100644 --- a/Documentation/configuration.md +++ b/Documentation/configuration.md @@ -42,6 +42,16 @@ The udev rules folder `/etc/udev/rules.d` is persistent and you can add your con You can manual add, edit or remove connections configurations from `/etc/NetworkManager/system-connections`. +### NTP + +You can manual edit the systemd timesync file on `/etc/systemd/timesyncd.conf`. +Our default ntp configuration look like: +``` +[Time] +NTP=time1.google.com time2.google.com time3.google.com +FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org +``` + [systemd-modules]: https://www.freedesktop.org/software/systemd/man/modules-load.d.html [network.md]: network.md [hassos-release]: https://github.com/home-assistant/hassos/releases/ diff --git a/Documentation/kernel.md b/Documentation/kernel.md index 1ccfe2d69..3b31d1815 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -6,4 +6,4 @@ | Open Virtual Applicance | 4.14.82 | | Raspberry Pi | 4.14.81 | | Tinker Board | 4.14.82 | -| Odroid-C2 | 4.14.67 | +| Odroid-C2 | 4.18.20 | diff --git a/buildroot-external/board/asus/hassos-hook.sh b/buildroot-external/board/asus/hassos-hook.sh index 491e0ebfc..2d5b835a8 100755 --- a/buildroot-external/board/asus/hassos-hook.sh +++ b/buildroot-external/board/asus/hassos-hook.sh @@ -1,28 +1,28 @@ #!/bin/bash +# shellcheck disable=SC2155 function hassos_pre_image() { local BOOT_DATA="$(path_boot_dir)" local SPL_IMG="$(path_spl_img)" - cp -t ${BOOT_DATA} \ - ${BINARIES_DIR}/boot.scr \ - ${BINARIES_DIR}/rk3288-tinker.dtb + cp -t "${BOOT_DATA}" \ + "${BINARIES_DIR}/boot.scr" \ + "${BINARIES_DIR}/rk3288-tinker.dtb" - echo "console=tty1" > ${BOOT_DATA}/cmdline.txt + echo "console=tty1" > "${BOOT_DATA}/cmdline.txt" # Create boot binary - rm -f ${BINARIES_DIR}/u-boot-spl-dtb.img - 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 + rm -f "${BINARIES_DIR}/u-boot-spl-dtb.img" + 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" # SPL create_spl_image - dd if=${BINARIES_DIR}/u-boot-spl-dtb.img of=${SPL_IMG} conv=notrunc bs=512 seek=64 + dd if="${BINARIES_DIR}/u-boot-spl-dtb.img" of="${SPL_IMG}" conv=notrunc bs=512 seek=64 } function hassos_post_image() { convert_disk_image_gz } - diff --git a/buildroot-external/board/asus/tinker/patches/README.md b/buildroot-external/board/asus/tinker/patches/README.md new file mode 100644 index 000000000..ac8791f61 --- /dev/null +++ b/buildroot-external/board/asus/tinker/patches/README.md @@ -0,0 +1,5 @@ +## Kernel +https://github.com/armbian/build/tree/master/patch/kernel/rockchip-next + +## u-boot +https://github.com/armbian/build/tree/master/patch/u-boot/u-boot-rockchip/board_tinkerboard diff --git a/buildroot-external/board/asus/tinker/uboot-boot.sh b/buildroot-external/board/asus/tinker/uboot-boot.ush similarity index 100% rename from buildroot-external/board/asus/tinker/uboot-boot.sh rename to buildroot-external/board/asus/tinker/uboot-boot.ush diff --git a/buildroot-external/board/hardkernel/odroid-c2/hassos-hook.sh b/buildroot-external/board/hardkernel/odroid-c2/hassos-hook.sh index 3d3fab208..b85bdc9e3 100755 --- a/buildroot-external/board/hardkernel/odroid-c2/hassos-hook.sh +++ b/buildroot-external/board/hardkernel/odroid-c2/hassos-hook.sh @@ -1,4 +1,5 @@ #!/bin/bash +# shellcheck disable=SC2155 function hassos_pre_image() { local BOOT_DATA="$(path_boot_dir)" @@ -6,18 +7,18 @@ function hassos_pre_image() { local UBOOT_GXBB="${BINARIES_DIR}/u-boot.gxbb" local spl_img="$(path_spl_img)" - cp ${BINARIES_DIR}/boot.scr ${BOOT_DATA}/boot.scr - cp ${BOARD_DIR}/boot-env.txt ${BOOT_DATA}/config.txt - cp ${BINARIES_DIR}/meson-gxbb-odroidc2.dtb ${BOOT_DATA}/meson-gxbb-odroidc2.dtb + cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr" + cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/config.txt" + cp "${BINARIES_DIR}/meson-gxbb-odroidc2.dtb" "${BOOT_DATA}/meson-gxbb-odroidc2.dtb" - echo "console=tty0 console=ttyAML0,115200n8" > ${BOOT_DATA}/cmdline.txt + echo "console=tty0 console=ttyAML0,115200n8" > "${BOOT_DATA}/cmdline.txt" # SPL create_spl_image - dd if=${BL1} of=${spl_img} conv=notrunc bs=1 count=440 - dd if=${BL1} of=${spl_img} conv=notrunc bs=512 skip=1 seek=1 - dd if=${UBOOT_GXBB} of=${spl_img} conv=notrunc bs=512 seek=97 + dd if="${BL1}" of="${spl_img}" conv=notrunc bs=1 count=440 + dd if="${BL1}" of="${spl_img}" conv=notrunc bs=512 skip=1 seek=1 + dd if="${UBOOT_GXBB}" of="${spl_img}" conv=notrunc bs=512 seek=97 } diff --git a/buildroot-external/board/hardkernel/odroid-c2/kernel.config b/buildroot-external/board/hardkernel/odroid-c2/kernel.config index b3e2996df..08fdc1b2f 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/kernel.config +++ b/buildroot-external/board/hardkernel/odroid-c2/kernel.config @@ -1,110 +1,27 @@ -# -# Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.14.14 Kernel Configuration -# -CONFIG_ARM64=y -CONFIG_64BIT=y -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -CONFIG_MMU=y -CONFIG_ARM64_PAGE_SHIFT=12 -CONFIG_ARM64_CONT_SHIFT=4 -CONFIG_ARCH_MMAP_RND_BITS_MIN=18 -CONFIG_ARCH_MMAP_RND_BITS_MAX=33 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_RWSEM_XCHGADD_ALGORITHM=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CSUM=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y -CONFIG_HAVE_GENERIC_GUP=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_SMP=y -CONFIG_SWIOTLB=y -CONFIG_IOMMU_HELPER=y -CONFIG_KERNEL_MODE_NEON=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_PGTABLE_LEVELS=4 -CONFIG_ARCH_SUPPORTS_UPROBES=y -CONFIG_ARCH_PROC_KCORE_TEXT=y -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" -CONFIG_IRQ_WORK=y -CONFIG_BUILDTIME_EXTABLE_SORT=y -CONFIG_THREAD_INFO_IN_TASK=y # # General setup # -CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" -# CONFIG_COMPILE_TEST is not set -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y +# CONFIG_LOCALVERSION_AUTO is not set CONFIG_DEFAULT_HOSTNAME="(none)" -CONFIG_SWAP=y CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y -CONFIG_POSIX_MQUEUE_SYSCTL=y -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_FHANDLE=y -# CONFIG_USELIB is not set CONFIG_AUDIT=y -CONFIG_HAVE_ARCH_AUDITSYSCALL=y -CONFIG_AUDITSYSCALL=y -CONFIG_AUDIT_WATCH=y -CONFIG_AUDIT_TREE=y # # IRQ subsystem # -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y -CONFIG_GENERIC_IRQ_MIGRATION=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_CHIP=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y -CONFIG_GENERIC_MSI_IRQ=y -CONFIG_GENERIC_MSI_IRQ_DOMAIN=y -CONFIG_HANDLE_DOMAIN_IRQ=y -# CONFIG_IRQ_DOMAIN_DEBUG is not set -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_SPARSE_IRQ=y -# CONFIG_GENERIC_IRQ_DEBUGFS is not set -CONFIG_ARCH_CLOCKSOURCE_DATA=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_ARCH_HAS_TICK_BROADCAST=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y # # Timers subsystem # -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ_COMMON=y -# CONFIG_HZ_PERIODIC is not set CONFIG_NO_HZ_IDLE=y -# CONFIG_NO_HZ_FULL is not set -# CONFIG_NO_HZ is not set CONFIG_HIGH_RES_TIMERS=y # # CPU/Task time and stats accounting # -CONFIG_TICK_CPU_ACCOUNTING=y -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set -# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_IRQ_TIME_ACCOUNTING=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_TASKSTATS=y @@ -115,45 +32,19 @@ CONFIG_TASK_IO_ACCOUNTING=y # # RCU Subsystem # -CONFIG_PREEMPT_RCU=y -# CONFIG_RCU_EXPERT is not set -CONFIG_SRCU=y -CONFIG_TREE_SRCU=y -CONFIG_TASKS_RCU=y -CONFIG_RCU_STALL_COMMON=y -CONFIG_RCU_NEED_SEGCBLIST=y -CONFIG_BUILD_BIN2C=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=17 -CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 -CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 -CONFIG_GENERIC_SCHED_CLOCK=y -CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y -CONFIG_CGROUPS=y -CONFIG_PAGE_COUNTER=y +CONFIG_NUMA_BALANCING=y CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y -CONFIG_MEMCG_SWAP_ENABLED=y CONFIG_BLK_CGROUP=y -# CONFIG_DEBUG_BLK_CGROUP is not set -CONFIG_CGROUP_WRITEBACK=y -CONFIG_CGROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_CFS_BANDWIDTH is not set -# CONFIG_RT_GROUP_SCHED is not set CONFIG_CGROUP_PIDS=y -# CONFIG_CGROUP_RDMA is not set -# CONFIG_CGROUP_FREEZER is not set CONFIG_CGROUP_HUGETLB=y CONFIG_CPUSETS=y -CONFIG_PROC_PID_CPUSET=y CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y -# CONFIG_CGROUP_DEBUG is not set -# CONFIG_SOCK_CGROUP_DATA is not set -# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y CONFIG_UTS_NS=y CONFIG_IPC_NS=y @@ -161,202 +52,55 @@ CONFIG_USER_NS=y CONFIG_PID_NS=y CONFIG_NET_NS=y CONFIG_SCHED_AUTOGROUP=y -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_RD_GZIP=y -CONFIG_RD_BZIP2=y -CONFIG_RD_LZMA=y -CONFIG_RD_XZ=y -CONFIG_RD_LZO=y -CONFIG_RD_LZ4=y -CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_SYSCTL=y -CONFIG_ANON_INODES=y -CONFIG_HAVE_UID16=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_BPF=y -# CONFIG_EXPERT is not set -CONFIG_UID16=y -CONFIG_MULTIUSER=y -# CONFIG_SGETMASK_SYSCALL is not set -CONFIG_SYSFS_SYSCALL=y -# CONFIG_SYSCTL_SYSCALL is not set -CONFIG_POSIX_TIMERS=y -CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y -# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set -CONFIG_KALLSYMS_BASE_RELATIVE=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_FUTEX_PI=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y -# CONFIG_BPF_SYSCALL is not set -CONFIG_SHMEM=y -CONFIG_AIO=y -CONFIG_ADVISE_SYSCALLS=y -# CONFIG_USERFAULTFD is not set -CONFIG_PCI_QUIRKS=y -CONFIG_MEMBARRIER=y -# CONFIG_EMBEDDED is not set -CONFIG_HAVE_PERF_EVENTS=y -# CONFIG_PC104 is not set # # Kernel Performance Events And Counters # -CONFIG_PERF_EVENTS=y -# CONFIG_DEBUG_PERF_USE_VMALLOC is not set -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_SLUB_DEBUG=y -# CONFIG_SLUB_MEMCG_SYSFS_ON is not set # CONFIG_COMPAT_BRK is not set -# CONFIG_SLAB is not set -CONFIG_SLUB=y -CONFIG_SLAB_MERGE_DEFAULT=y -# CONFIG_SLAB_FREELIST_RANDOM is not set -# CONFIG_SLAB_FREELIST_HARDENED is not set -CONFIG_SLUB_CPU_PARTIAL=y -# CONFIG_SYSTEM_DATA_VERIFICATION is not set CONFIG_PROFILING=y -CONFIG_CRASH_CORE=y -CONFIG_KEXEC_CORE=y -# CONFIG_KPROBES is not set +CONFIG_TRACEPOINTS=y CONFIG_JUMP_LABEL=y -# CONFIG_STATIC_KEYS_SELFTEST is not set -# CONFIG_UPROBES is not set -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -CONFIG_HAVE_DMA_CONTIGUOUS=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_IDLE_POLL_SETUP=y -CONFIG_ARCH_HAS_FORTIFY_SOURCE=y -CONFIG_ARCH_HAS_SET_MEMORY=y -CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_CLK=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_HW_BREAKPOINT=y -CONFIG_HAVE_PERF_REGS=y -CONFIG_HAVE_PERF_USER_STACK_DUMP=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_RCU_TABLE_FREE=y -CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y -CONFIG_HAVE_CMPXCHG_LOCAL=y -CONFIG_HAVE_CMPXCHG_DOUBLE=y -CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_SECCOMP_FILTER=y -CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set -CONFIG_HAVE_CC_STACKPROTECTOR=y -# CONFIG_CC_STACKPROTECTOR is not set -CONFIG_CC_STACKPROTECTOR_NONE=y -# CONFIG_CC_STACKPROTECTOR_REGULAR is not set -# CONFIG_CC_STACKPROTECTOR_STRONG is not set -CONFIG_THIN_ARCHIVES=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y -CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y -CONFIG_HAVE_ARCH_HUGE_VMAP=y -CONFIG_MODULES_USE_ELF_RELA=y -CONFIG_ARCH_HAS_ELF_RANDOMIZE=y -CONFIG_HAVE_ARCH_MMAP_RND_BITS=y -CONFIG_ARCH_MMAP_RND_BITS=18 -CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y -CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 -# CONFIG_HAVE_ARCH_HASH is not set -# CONFIG_ISA_BUS_API is not set -CONFIG_CLONE_BACKWARDS=y -CONFIG_OLD_SIGSUSPEND3=y -CONFIG_COMPAT_OLD_SIGACTION=y -# CONFIG_CPU_NO_EFFICIENT_FFS is not set -CONFIG_HAVE_ARCH_VMAP_STACK=y -CONFIG_VMAP_STACK=y -# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set -# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set -CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y -CONFIG_STRICT_KERNEL_RWX=y -CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y -CONFIG_STRICT_MODULE_RWX=y -# CONFIG_REFCOUNT_FULL is not set +CONFIG_UPROBES=y # # GCOV-based kernel profiling # -# CONFIG_GCOV_KERNEL is not set -CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_SLABINFO=y -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 CONFIG_MODULES=y -# CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_MODULE_SIG is not set -# CONFIG_MODULE_COMPRESS is not set -# CONFIG_TRIM_UNUSED_KSYMS is not set -CONFIG_MODULES_TREE_LOOKUP=y -CONFIG_BLOCK=y -CONFIG_BLK_SCSI_REQUEST=y -CONFIG_BLK_DEV_BSG=y -CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y -# CONFIG_BLK_DEV_ZONED is not set -# CONFIG_BLK_DEV_THROTTLING is not set -# CONFIG_BLK_CMDLINE_PARSER is not set -# CONFIG_BLK_WBT is not set -CONFIG_BLK_DEBUG_FS=y -# CONFIG_BLK_SED_OPAL is not set # # Partition Types # -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y -CONFIG_EFI_PARTITION=y -CONFIG_BLOCK_COMPAT=y -CONFIG_BLK_MQ_PCI=y -CONFIG_BLK_MQ_VIRTIO=y +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set # # IO Schedulers # -CONFIG_IOSCHED_NOOP=y # CONFIG_IOSCHED_DEADLINE is not set -CONFIG_IOSCHED_CFQ=y -# CONFIG_CFQ_GROUP_IOSCHED is not set -CONFIG_DEFAULT_CFQ=y -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="cfq" -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=y -# CONFIG_IOSCHED_BFQ is not set -CONFIG_UNINLINE_SPIN_UNLOCK=y -CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y -CONFIG_MUTEX_SPIN_ON_OWNER=y -CONFIG_RWSEM_SPIN_ON_OWNER=y -CONFIG_LOCK_SPIN_ON_OWNER=y -CONFIG_FREEZER=y # # Platform selection # -# CONFIG_ARCH_ACTIONS is not set # CONFIG_ARCH_SUNXI is not set # CONFIG_ARCH_ALPINE is not set # CONFIG_ARCH_BCM2835 is not set @@ -371,7 +115,6 @@ CONFIG_FREEZER=y CONFIG_ARCH_MESON=y # CONFIG_ARCH_MVEBU is not set # CONFIG_ARCH_QCOM is not set -# CONFIG_ARCH_REALTEK is not set # CONFIG_ARCH_ROCKCHIP is not set # CONFIG_ARCH_SEATTLE is not set # CONFIG_ARCH_RENESAS is not set @@ -382,7 +125,6 @@ CONFIG_ARCH_MESON=y # CONFIG_ARCH_THUNDER2 is not set # CONFIG_ARCH_UNIPHIER is not set # CONFIG_ARCH_VEXPRESS is not set -# CONFIG_ARCH_VULCAN is not set # CONFIG_ARCH_XGENE is not set # CONFIG_ARCH_ZX is not set # CONFIG_ARCH_ZYNQMP is not set @@ -391,64 +133,36 @@ CONFIG_ARCH_MESON=y # Bus support # CONFIG_PCI=y -CONFIG_PCI_DOMAINS=y -CONFIG_PCI_DOMAINS_GENERIC=y -CONFIG_PCI_SYSCALL=y -CONFIG_PCIEPORTBUS=y -CONFIG_PCIEAER=y -# CONFIG_PCIE_ECRC is not set -# CONFIG_PCIEAER_INJECT is not set -CONFIG_PCIEASPM=y -# CONFIG_PCIEASPM_DEBUG is not set -CONFIG_PCIEASPM_DEFAULT=y -# CONFIG_PCIEASPM_POWERSAVE is not set -# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set -# CONFIG_PCIEASPM_PERFORMANCE is not set -CONFIG_PCIE_PME=y -# CONFIG_PCIE_DPC is not set -# CONFIG_PCIE_PTM is not set -CONFIG_PCI_BUS_ADDR_T_64BIT=y -CONFIG_PCI_MSI=y -CONFIG_PCI_MSI_IRQ_DOMAIN=y -# CONFIG_PCI_DEBUG is not set -# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set -# CONFIG_PCI_STUB is not set -CONFIG_PCI_ATS=y -CONFIG_PCI_ECAM=y +# CONFIG_PCIEPORTBUS is not set CONFIG_PCI_IOV=y -# CONFIG_PCI_PRI is not set -# CONFIG_PCI_PASID is not set -CONFIG_PCI_LABEL=y -# CONFIG_HOTPLUG_PCI is not set +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_ACPI=y + +# +# Cadence PCIe controllers support +# # # DesignWare PCI Core Support # -CONFIG_PCIE_DW=y -CONFIG_PCIE_DW_HOST=y -# CONFIG_PCIE_DW_PLAT is not set -CONFIG_PCI_HISI=y +# CONFIG_PCI_HISI is not set # CONFIG_PCIE_KIRIN is not set # # PCI host controller drivers # -CONFIG_PCI_HOST_COMMON=y CONFIG_PCI_HOST_GENERIC=y -CONFIG_PCI_XGENE=y -CONFIG_PCI_XGENE_MSI=y +# CONFIG_PCI_XGENE is not set # CONFIG_PCI_HOST_THUNDER_PEM is not set # CONFIG_PCI_HOST_THUNDER_ECAM is not set # # PCI Endpoint # -# CONFIG_PCI_ENDPOINT is not set # # PCI switch controller drivers # -# CONFIG_PCI_SW_SWITCHTEC is not set # # Kernel Features @@ -457,167 +171,50 @@ CONFIG_PCI_XGENE_MSI=y # # ARM errata workarounds via the alternatives framework # -CONFIG_ARM64_ERRATUM_826319=y -CONFIG_ARM64_ERRATUM_827319=y -CONFIG_ARM64_ERRATUM_824069=y -CONFIG_ARM64_ERRATUM_819472=y -CONFIG_ARM64_ERRATUM_832075=y -CONFIG_ARM64_ERRATUM_845719=y -CONFIG_ARM64_ERRATUM_843419=y -CONFIG_CAVIUM_ERRATUM_22375=y -CONFIG_CAVIUM_ERRATUM_23154=y -CONFIG_CAVIUM_ERRATUM_27456=y -CONFIG_CAVIUM_ERRATUM_30115=y -CONFIG_QCOM_FALKOR_ERRATUM_1003=y -CONFIG_QCOM_FALKOR_ERRATUM_1009=y -CONFIG_QCOM_QDF2400_ERRATUM_0065=y -CONFIG_ARM64_4K_PAGES=y -# CONFIG_ARM64_16K_PAGES is not set -# CONFIG_ARM64_64K_PAGES is not set -# CONFIG_ARM64_VA_BITS_39 is not set +# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set +# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set +# CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set +# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set +# CONFIG_HISILICON_ERRATUM_161600802 is not set +# CONFIG_QCOM_FALKOR_ERRATUM_E1041 is not set CONFIG_ARM64_VA_BITS_48=y -CONFIG_ARM64_VA_BITS=48 -# CONFIG_CPU_BIG_ENDIAN is not set CONFIG_SCHED_MC=y -# CONFIG_SCHED_SMT is not set -CONFIG_NR_CPUS=64 -CONFIG_HOTPLUG_CPU=y -# CONFIG_NUMA is not set -# CONFIG_PREEMPT_NONE is not set -# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_NUMA=y CONFIG_PREEMPT=y -CONFIG_PREEMPT_COUNT=y -# CONFIG_HZ_100 is not set -CONFIG_HZ_250=y -# CONFIG_HZ_300 is not set -# CONFIG_HZ_1000 is not set -CONFIG_HZ=250 -CONFIG_SCHED_HRTICK=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_DEFAULT=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_HAVE_ARCH_PFN_VALID=y -CONFIG_HW_PERF_EVENTS=y -CONFIG_SYS_SUPPORTS_HUGETLBFS=y -CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_SPARSEMEM_MANUAL=y -CONFIG_SPARSEMEM=y -CONFIG_HAVE_MEMORY_PRESENT=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_NO_BOOTMEM=y -CONFIG_MEMORY_ISOLATION=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_MEMORY_BALLOON=y -CONFIG_BALLOON_COMPACTION=y -CONFIG_COMPACTION=y -CONFIG_MIGRATION=y -CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_BOUNCE=y -CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y -# CONFIG_MEMORY_FAILURE is not set +CONFIG_MEMORY_FAILURE=y CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y -# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set -# CONFIG_ARCH_WANTS_THP_SWAP is not set -CONFIG_TRANSPARENT_HUGE_PAGECACHE=y -# CONFIG_CLEANCACHE is not set -# CONFIG_FRONTSWAP is not set CONFIG_CMA=y -# CONFIG_CMA_DEBUG is not set -# CONFIG_CMA_DEBUGFS is not set -CONFIG_CMA_AREAS=7 -# CONFIG_ZPOOL is not set -# CONFIG_ZBUD is not set -# CONFIG_ZSMALLOC is not set -CONFIG_GENERIC_EARLY_IOREMAP=y -# CONFIG_IDLE_PAGE_TRACKING is not set -# CONFIG_PERCPU_STATS is not set CONFIG_SECCOMP=y CONFIG_PARAVIRT=y -# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set CONFIG_KEXEC=y -# CONFIG_CRASH_DUMP is not set -CONFIG_XEN_DOM0=y +CONFIG_CRASH_DUMP=y CONFIG_XEN=y -CONFIG_FORCE_MAX_ZONEORDER=11 -# CONFIG_ARMV8_DEPRECATED is not set -# CONFIG_ARM64_SW_TTBR0_PAN is not set # # ARMv8.1 architectural features # -CONFIG_ARM64_HW_AFDBM=y -CONFIG_ARM64_PAN=y -# CONFIG_ARM64_LSE_ATOMICS is not set -CONFIG_ARM64_VHE=y # # ARMv8.2 architectural features # -CONFIG_ARM64_UAO=y -# CONFIG_ARM64_PMEM is not set -CONFIG_ARM64_MODULE_CMODEL_LARGE=y -# CONFIG_RANDOMIZE_BASE is not set # # Boot options # -# CONFIG_ARM64_ACPI_PARKING_PROTOCOL is not set -CONFIG_CMDLINE="" -# CONFIG_CMDLINE_FORCE is not set -CONFIG_EFI_STUB=y -CONFIG_EFI=y -CONFIG_DMI=y # # Userspace binary formats # -CONFIG_BINFMT_ELF=y -CONFIG_COMPAT_BINFMT_ELF=y -CONFIG_ELFCORE=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -CONFIG_BINFMT_SCRIPT=y -# CONFIG_HAVE_AOUT is not set -# CONFIG_BINFMT_MISC is not set -CONFIG_COREDUMP=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -CONFIG_SYSVIPC_COMPAT=y # # Power management options # -CONFIG_SUSPEND=y -CONFIG_SUSPEND_FREEZER=y -CONFIG_HIBERNATE_CALLBACKS=y CONFIG_HIBERNATION=y -CONFIG_PM_STD_PARTITION="" -CONFIG_PM_SLEEP=y -CONFIG_PM_SLEEP_SMP=y -# CONFIG_PM_AUTOSLEEP is not set -# CONFIG_PM_WAKELOCKS is not set -CONFIG_PM=y -# CONFIG_PM_DEBUG is not set -CONFIG_PM_OPP=y -CONFIG_PM_CLK=y -CONFIG_PM_GENERIC_DOMAINS=y -# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set -CONFIG_PM_GENERIC_DOMAINS_SLEEP=y -CONFIG_PM_GENERIC_DOMAINS_OF=y -CONFIG_CPU_PM=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_HIBERNATION_HEADER=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y # # CPU Power Management @@ -636,460 +233,658 @@ CONFIG_DT_IDLE_STATES=y # ARM CPU Idle Drivers # CONFIG_ARM_CPUIDLE=y -# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set # # CPU Frequency scaling # CONFIG_CPU_FREQ=y -# CONFIG_CPU_FREQ_STAT is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set -# CONFIG_CPU_FREQ_GOV_USERSPACE is not set -# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set -# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set -# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m # # CPU frequency scaling drivers # CONFIG_CPUFREQ_DT=y -CONFIG_CPUFREQ_DT_PLATDEV=y +CONFIG_ACPI_CPPC_CPUFREQ=m CONFIG_ARM_BIG_LITTLE_CPUFREQ=y -# CONFIG_ARM_DT_BL_CPUFREQ is not set -# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set CONFIG_ARM_SCPI_CPUFREQ=y -# CONFIG_ACPI_CPPC_CPUFREQ is not set -# CONFIG_QORIQ_CPUFREQ is not set CONFIG_NET=y -CONFIG_NET_INGRESS=y +CONFIG_COMPAT_NETLINK_MESSAGES=y +CONFIG_NET_EGRESS=y # # Networking options # CONFIG_PACKET=y -# CONFIG_PACKET_DIAG is not set CONFIG_UNIX=y -# CONFIG_UNIX_DIAG is not set -# CONFIG_TLS is not set -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set -# CONFIG_XFRM_STATISTICS is not set -# CONFIG_NET_KEY is not set +CONFIG_XFRM_ALGO=y +CONFIG_XFRM_USER=m +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=y +# CONFIG_NET_KEY_MIGRATE is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_ROUTE_CLASSID=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y CONFIG_NET_IP_TUNNEL=m -# CONFIG_IP_MROUTE is not set -# CONFIG_SYN_COOKIES is not set -# CONFIG_NET_UDP_TUNNEL is not set -# CONFIG_NET_FOU is not set -# CONFIG_NET_FOU_IP_TUNNELS is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_SYN_COOKIES=y +CONFIG_NET_UDP_TUNNEL=m +CONFIG_INET_ESP=y +# CONFIG_INET_ESP_OFFLOAD is not set CONFIG_INET_TUNNEL=m -# 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_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_INET_UDP_DIAG is not set -# CONFIG_INET_RAW_DIAG is not set -# CONFIG_INET_DIAG_DESTROY is not set -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set +CONFIG_INET_UDP_DIAG=m +CONFIG_INET_RAW_DIAG=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HSTCP=m +# CONFIG_TCP_CONG_HYBLA is not set +# CONFIG_TCP_CONG_VEGAS is not set +# CONFIG_TCP_CONG_NV is not set +CONFIG_TCP_CONG_SCALABLE=m +# CONFIG_TCP_CONG_LP is not set +# CONFIG_TCP_CONG_VENO is not set +# CONFIG_TCP_CONG_YEAH is not set +# CONFIG_TCP_CONG_ILLINOIS is not set +# CONFIG_TCP_CONG_DCTCP is not set +# CONFIG_TCP_CONG_CDG is not set +# CONFIG_TCP_CONG_BBR is not set +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set CONFIG_IPV6=m -# CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_IPV6_OPTIMISTIC_DAD is not set -# CONFIG_INET6_AH is not set -# CONFIG_INET6_ESP is not set -# CONFIG_INET6_IPCOMP is not set -# CONFIG_IPV6_MIP6 is not set -# CONFIG_IPV6_ILA is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +# CONFIG_INET6_ESP_OFFLOAD is not set +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m CONFIG_INET6_XFRM_MODE_TRANSPORT=m CONFIG_INET6_XFRM_MODE_TUNNEL=m CONFIG_INET6_XFRM_MODE_BEET=m -# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set -# CONFIG_IPV6_VTI is not set +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_IPV6_VTI=m CONFIG_IPV6_SIT=m -# CONFIG_IPV6_SIT_6RD is not set -CONFIG_IPV6_NDISC_NODETYPE=y -# CONFIG_IPV6_TUNNEL is not set -# CONFIG_IPV6_FOU is not set -# CONFIG_IPV6_FOU_TUNNEL is not set -# CONFIG_IPV6_MULTIPLE_TABLES is not set -# CONFIG_IPV6_MROUTE is not set -# CONFIG_IPV6_SEG6_LWTUNNEL is not set -# CONFIG_IPV6_SEG6_HMAC is not set -# CONFIG_NETLABEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NET_PTP_CLASSIFY=y -# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_PIMSM_V2=y +CONFIG_NETLABEL=y +CONFIG_NETWORK_SECMARK=y CONFIG_NETFILTER=y -CONFIG_NETFILTER_ADVANCED=y # # Core Netfilter Configuration # -CONFIG_NETFILTER_INGRESS=y -# CONFIG_NETFILTER_NETLINK_ACCT is not set -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_FAMILY_ARP=y +CONFIG_NETFILTER_NETLINK_ACCT=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NF_CONNTRACK=m -CONFIG_NF_LOG_COMMON=m -# CONFIG_NF_LOG_NETDEV is not set -# CONFIG_NF_CONNTRACK_MARK is not set -CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NETFILTER_CONNCOUNT=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_ZONES=y CONFIG_NF_CONNTRACK_EVENTS=y -# CONFIG_NF_CONNTRACK_TIMEOUT is not set -# CONFIG_NF_CONNTRACK_TIMESTAMP is not set -CONFIG_NF_CT_PROTO_DCCP=y -CONFIG_NF_CT_PROTO_SCTP=y -CONFIG_NF_CT_PROTO_UDPLITE=y -# CONFIG_NF_CONNTRACK_AMANDA is not set -# CONFIG_NF_CONNTRACK_FTP is not set -# CONFIG_NF_CONNTRACK_H323 is not set -# CONFIG_NF_CONNTRACK_IRC is not set -# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set -# CONFIG_NF_CONNTRACK_SNMP is not set -# CONFIG_NF_CONNTRACK_PPTP is not set -# CONFIG_NF_CONNTRACK_SANE is not set -# CONFIG_NF_CONNTRACK_SIP is not set -# CONFIG_NF_CONNTRACK_TFTP is not set -# CONFIG_NF_CT_NETLINK is not set -# CONFIG_NF_CT_NETLINK_TIMEOUT is not set -CONFIG_NF_NAT=m -CONFIG_NF_NAT_NEEDED=y -CONFIG_NF_NAT_PROTO_DCCP=y -CONFIG_NF_NAT_PROTO_UDPLITE=y -CONFIG_NF_NAT_PROTO_SCTP=y -# CONFIG_NF_NAT_AMANDA is not set -# CONFIG_NF_NAT_FTP is not set -# CONFIG_NF_NAT_IRC is not set -# CONFIG_NF_NAT_SIP is not set -# CONFIG_NF_NAT_TFTP is not set -# CONFIG_NF_NAT_REDIRECT is not set -# CONFIG_NF_TABLES is not set -CONFIG_NETFILTER_XTABLES=m +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_LABELS=y +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_REDIRECT=y +CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=y +CONFIG_NF_TABLES_NETDEV=y +CONFIG_NFT_EXTHDR=m +CONFIG_NFT_META=m +CONFIG_NFT_RT=m +CONFIG_NFT_NUMGEN=m +CONFIG_NFT_CT=m +CONFIG_NFT_SET_RBTREE=m +CONFIG_NFT_SET_HASH=m +CONFIG_NFT_SET_BITMAP=m +CONFIG_NFT_COUNTER=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m +CONFIG_NFT_REDIR=m +CONFIG_NFT_NAT=m +CONFIG_NFT_OBJREF=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_QUOTA=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_REJECT_INET=m +CONFIG_NFT_COMPAT=m +CONFIG_NFT_HASH=m +CONFIG_NFT_FIB=m +CONFIG_NFT_FIB_INET=m +CONFIG_NF_DUP_NETDEV=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FWD_NETDEV=m +# CONFIG_NFT_FIB_NETDEV is not set +# CONFIG_NF_FLOW_TABLE is not set # # Xtables combined modules # -# CONFIG_NETFILTER_XT_MARK is not set -# CONFIG_NETFILTER_XT_CONNMARK is not set +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_SET=m # # Xtables targets # -# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set +CONFIG_NETFILTER_XT_TARGET_AUDIT=m CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set -# CONFIG_NETFILTER_XT_TARGET_DSCP is not set -# CONFIG_NETFILTER_XT_TARGET_HL is not set -# CONFIG_NETFILTER_XT_TARGET_HMARK is not set -# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set -# CONFIG_NETFILTER_XT_TARGET_LED is not set +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_HMARK=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m CONFIG_NETFILTER_XT_TARGET_LOG=m -# CONFIG_NETFILTER_XT_TARGET_MARK is not set -CONFIG_NETFILTER_XT_NAT=m -# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set -# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set -# CONFIG_NETFILTER_XT_TARGET_TEE is not set -# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set -# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NETMAP=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m # # Xtables matches # CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -# CONFIG_NETFILTER_XT_MATCH_BPF is not set -# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set -# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set +CONFIG_NETFILTER_XT_MATCH_BPF=m +CONFIG_NETFILTER_XT_MATCH_CGROUP=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -# CONFIG_NETFILTER_XT_MATCH_CPU is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set -# CONFIG_NETFILTER_XT_MATCH_ECN is not set -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_HELPER is not set -# CONFIG_NETFILTER_XT_MATCH_HL is not set -# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set -# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set -# CONFIG_NETFILTER_XT_MATCH_L2TP is not set -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_MAC is not set -# CONFIG_NETFILTER_XT_MATCH_MARK is not set -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set -# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set -# CONFIG_NETFILTER_XT_MATCH_OWNER is not set -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_RECENT is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_STATE is not set -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_TIME is not set -# CONFIG_NETFILTER_XT_MATCH_U32 is not set -# CONFIG_IP_SET is not set -# CONFIG_IP_VS is not set +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_L2TP=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_NFACCT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_IPMAC=m +CONFIG_IP_SET_HASH_MAC=m +CONFIG_IP_SET_HASH_NETPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_VS=m +CONFIG_IP_VS_IPV6=y +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_SCTP=y + +# +# IPVS scheduler +# +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_WRR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_WLC=m +# CONFIG_IP_VS_FO is not set +# CONFIG_IP_VS_OVF is not set +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_NQ=m + +# +# IPVS SH scheduler +# +CONFIG_IP_VS_SH_TAB_BITS=8 + +# +# IPVS application helper +# +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_PE_SIP=m # # IP: Netfilter Configuration # -CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m -# CONFIG_NF_SOCKET_IPV4 is not set -# CONFIG_NF_DUP_IPV4 is not set -# CONFIG_NF_LOG_ARP is not set -CONFIG_NF_LOG_IPV4=m -CONFIG_NF_REJECT_IPV4=m -CONFIG_NF_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=m -# CONFIG_NF_NAT_PPTP is not set -# CONFIG_NF_NAT_H323 is not set +CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_TABLES_IPV4=y +CONFIG_NFT_CHAIN_ROUTE_IPV4=m +CONFIG_NFT_REJECT_IPV4=m +CONFIG_NFT_DUP_IPV4=m +CONFIG_NFT_FIB_IPV4=m +CONFIG_NF_TABLES_ARP=y +CONFIG_NF_DUP_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NFT_MASQ_IPV4=m +CONFIG_NFT_REDIR_IPV4=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m CONFIG_IP_NF_IPTABLES=m -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_RPFILTER is not set -# CONFIG_IP_NF_MATCH_TTL is not set +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m CONFIG_IP_NF_FILTER=m CONFIG_IP_NF_TARGET_REJECT=m -# CONFIG_IP_NF_TARGET_SYNPROXY is not set +CONFIG_IP_NF_TARGET_SYNPROXY=m CONFIG_IP_NF_NAT=m CONFIG_IP_NF_TARGET_MASQUERADE=m -# CONFIG_IP_NF_TARGET_NETMAP is not set -# CONFIG_IP_NF_TARGET_REDIRECT is not set +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_IP_NF_MANGLE=m -# CONFIG_IP_NF_TARGET_CLUSTERIP is not set -# CONFIG_IP_NF_TARGET_ECN is not set -# CONFIG_IP_NF_TARGET_TTL is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_SECURITY is not set -# CONFIG_IP_NF_ARPTABLES is not set +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m # # IPv6: Netfilter Configuration # -CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m -# CONFIG_NF_SOCKET_IPV6 is not set -# CONFIG_NF_DUP_IPV6 is not set -CONFIG_NF_REJECT_IPV6=m -CONFIG_NF_LOG_IPV6=m -CONFIG_NF_NAT_IPV6=m -CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TABLES_IPV6=y +CONFIG_NFT_CHAIN_ROUTE_IPV6=m +CONFIG_NFT_REJECT_IPV6=m +CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_FIB_IPV6=m +CONFIG_NF_DUP_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m +CONFIG_NFT_MASQ_IPV6=m +CONFIG_NFT_REDIR_IPV6=m CONFIG_IP6_NF_IPTABLES=m -# CONFIG_IP6_NF_MATCH_AH is not set -# CONFIG_IP6_NF_MATCH_EUI64 is not set -# CONFIG_IP6_NF_MATCH_FRAG is not set -# CONFIG_IP6_NF_MATCH_OPTS is not set -# CONFIG_IP6_NF_MATCH_HL is not set -# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set -# CONFIG_IP6_NF_MATCH_MH is not set -# CONFIG_IP6_NF_MATCH_RPFILTER is not set -# CONFIG_IP6_NF_MATCH_RT is not set -# CONFIG_IP6_NF_TARGET_HL is not set +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_TARGET_HL=m CONFIG_IP6_NF_FILTER=m CONFIG_IP6_NF_TARGET_REJECT=m -# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_TARGET_SYNPROXY=m CONFIG_IP6_NF_MANGLE=m -# CONFIG_IP6_NF_RAW is not set -# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_TARGET_MASQUERADE=m -# CONFIG_IP6_NF_TARGET_NPT is not set -# CONFIG_IP_DCCP is not set -# CONFIG_IP_SCTP is not set -# CONFIG_RDS is not set -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -# CONFIG_L2TP is not set -# CONFIG_BRIDGE is not set -CONFIG_HAVE_NET_DSA=y -# CONFIG_NET_DSA is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_PHONET is not set -# CONFIG_6LOWPAN is not set -# CONFIG_IEEE802154 is not set -# CONFIG_NET_SCHED is not set -# CONFIG_DCB is not set -CONFIG_DNS_RESOLVER=y -# CONFIG_BATMAN_ADV is not set -# CONFIG_OPENVSWITCH is not set -# CONFIG_VSOCKETS is not set -# CONFIG_NETLINK_DIAG is not set -# CONFIG_MPLS is not set -# CONFIG_NET_NSH is not set -# CONFIG_HSR is not set -# CONFIG_NET_SWITCHDEV is not set -# CONFIG_NET_L3_MASTER_DEV is not set -# CONFIG_NET_NCSI is not set -CONFIG_RPS=y -CONFIG_RFS_ACCEL=y -CONFIG_XPS=y -# CONFIG_CGROUP_NET_PRIO is not set -# CONFIG_CGROUP_NET_CLASSID is not set -CONFIG_NET_RX_BUSY_POLL=y -CONFIG_BQL=y +CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=y +CONFIG_NFT_BRIDGE_META=m +CONFIG_NFT_BRIDGE_REJECT=m +CONFIG_NF_LOG_BRIDGE=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_IP_SCTP=m +# CONFIG_SCTP_DBG_OBJCNT is not set +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set +CONFIG_SCTP_COOKIE_HMAC_MD5=y +CONFIG_SCTP_COOKIE_HMAC_SHA1=y +CONFIG_INET_SCTP_DIAG=m +CONFIG_L2TP=m +CONFIG_L2TP_DEBUGFS=m +CONFIG_L2TP_V3=y +CONFIG_L2TP_IP=m +CONFIG_L2TP_ETH=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_PHONET=y +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +# CONFIG_NET_SCH_CBS is not set +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_CODEL=m +CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_FQ=m +CONFIG_NET_SCH_HHF=m +CONFIG_NET_SCH_PIE=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_SCH_PLUG=m +# CONFIG_NET_SCH_DEFAULT is not set + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=y +CONFIG_CLS_U32_PERF=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_BPF=m +# CONFIG_NET_CLS_FLOWER is not set +# CONFIG_NET_CLS_MATCHALL is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_U32=y +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_TEXT=m +# CONFIG_NET_EMATCH_CANID is not set +CONFIG_NET_EMATCH_IPSET=m +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=y +CONFIG_NET_ACT_GACT=y +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=y +# CONFIG_NET_ACT_SAMPLE is not set +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_CSUM=m +# CONFIG_NET_ACT_VLAN is not set +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_CONNMARK is not set +# CONFIG_NET_ACT_SKBMOD is not set +# CONFIG_NET_ACT_IFE is not set +# CONFIG_NET_ACT_TUNNEL_KEY is not set +CONFIG_NET_CLS_IND=y +CONFIG_NET_SCH_FIFO=y +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CGROUP_NET_CLASSID=y CONFIG_BPF_JIT=y -CONFIG_NET_FLOW_LIMIT=y # # Network testing # -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_CAN is not set -# CONFIG_BT is not set -# CONFIG_AF_RXRPC is not set -# CONFIG_AF_KCM is not set -# CONFIG_STREAM_PARSER is not set -CONFIG_WIRELESS=y +# CONFIG_NET_DROP_MONITOR is not set +CONFIG_CAN=m +CONFIG_CAN_RAW=m +CONFIG_CAN_BCM=m +CONFIG_CAN_GW=m + +# +# CAN Device Drivers +# +# CONFIG_CAN_VCAN is not set +# CONFIG_CAN_VXCAN is not set +CONFIG_CAN_SLCAN=m +CONFIG_CAN_DEV=m +CONFIG_CAN_CALC_BITTIMING=y +# CONFIG_CAN_LEDS is not set +# CONFIG_CAN_GRCAN is not set +# CONFIG_CAN_XILINXCAN is not set +# CONFIG_CAN_C_CAN is not set +# CONFIG_CAN_CC770 is not set +# CONFIG_CAN_IFI_CANFD is not set +# CONFIG_CAN_M_CAN is not set +# CONFIG_CAN_PEAK_PCIEFD is not set +# CONFIG_CAN_SJA1000 is not set +# CONFIG_CAN_SOFTING is not set + +# +# CAN SPI interfaces +# +# CONFIG_CAN_HI311X is not set +# CONFIG_CAN_MCP251X is not set + +# +# CAN USB interfaces +# +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_GS_USB=m +CONFIG_CAN_KVASER_USB=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_8DEV_USB=m +CONFIG_CAN_MCBA_USB=m +# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_BT=m +CONFIG_BT_HIDP=m +# CONFIG_BT_HS is not set +# CONFIG_BT_LE is not set +CONFIG_BT_LEDS=y +# CONFIG_BT_DEBUGFS is not set + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=m +CONFIG_BT_BCM=m +CONFIG_BT_RTL=m +CONFIG_BT_HCIBTUSB=m +# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set +CONFIG_BT_HCIBTUSB_BCM=y +CONFIG_BT_HCIBTUSB_RTL=y +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_ATH3K=m +CONFIG_FIB_RULES=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y CONFIG_CFG80211=m -# CONFIG_NL80211_TESTMODE is not set -# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set -CONFIG_CFG80211_DEFAULT_PS=y -# CONFIG_CFG80211_DEBUGFS is not set -# CONFIG_CFG80211_INTERNAL_REGDB is not set -CONFIG_CFG80211_CRDA_SUPPORT=y -# CONFIG_CFG80211_WEXT is not set -# CONFIG_LIB80211 is not set +CONFIG_CFG80211_WEXT=y CONFIG_MAC80211=m -CONFIG_MAC80211_HAS_RC=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_MINSTREL_HT=y -# CONFIG_MAC80211_RC_MINSTREL_VHT is not set -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_MESH=y CONFIG_MAC80211_LEDS=y -# CONFIG_MAC80211_DEBUGFS is not set -# CONFIG_MAC80211_MESSAGE_TRACING is not set -# CONFIG_MAC80211_DEBUG_MENU is not set -CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 -# CONFIG_WIMAX is not set CONFIG_RFKILL=m -CONFIG_RFKILL_LEDS=y -CONFIG_RFKILL_INPUT=y -# CONFIG_RFKILL_GPIO is not set -# CONFIG_NET_9P is not set -# CONFIG_CAIF is not set -# CONFIG_CEPH_LIB is not set -# CONFIG_NFC is not set -# CONFIG_PSAMPLE is not set -# CONFIG_NET_IFE is not set -# CONFIG_LWTUNNEL is not set -CONFIG_DST_CACHE=y -CONFIG_GRO_CELLS=y -# CONFIG_NET_DEVLINK is not set -CONFIG_MAY_USE_DEVLINK=y -CONFIG_HAVE_EBPF_JIT=y +CONFIG_NET_9P=y +CONFIG_NET_9P_VIRTIO=y +CONFIG_NFC=m +CONFIG_NFC_DIGITAL=m +CONFIG_NFC_NCI=m +# CONFIG_NFC_NCI_SPI is not set +# CONFIG_NFC_NCI_UART is not set +CONFIG_NFC_HCI=m +# CONFIG_NFC_SHDLC is not set + +# +# Near Field Communication (NFC) devices +# +# CONFIG_NFC_TRF7970A is not set +# CONFIG_NFC_SIM is not set +# CONFIG_NFC_PORT100 is not set +# CONFIG_NFC_FDP is not set +CONFIG_NFC_PN533=m +CONFIG_NFC_PN533_USB=m +# CONFIG_NFC_PN533_I2C is not set +CONFIG_NFC_MRVL=m +CONFIG_NFC_MRVL_USB=m +# CONFIG_NFC_MRVL_I2C is not set +# CONFIG_NFC_ST_NCI_I2C is not set +# CONFIG_NFC_ST_NCI_SPI is not set +# CONFIG_NFC_NXP_NCI is not set +# CONFIG_NFC_S3FWRN5_I2C is not set +# CONFIG_NFC_ST95HF is not set # # Device Drivers # -CONFIG_ARM_AMBA=y # # Generic Driver Options # -CONFIG_UEVENT_HELPER=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=y -CONFIG_FIRMWARE_IN_KERNEL=y -CONFIG_EXTRA_FIRMWARE="" -# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set -CONFIG_ALLOW_DEV_COREDUMP=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set -# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set -CONFIG_SYS_HYPERVISOR=y -# CONFIG_GENERIC_CPU_DEVICES is not set -CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_SOC_BUS=y -CONFIG_REGMAP=y -CONFIG_REGMAP_I2C=y -CONFIG_REGMAP_SPI=y -CONFIG_REGMAP_MMIO=y -CONFIG_REGMAP_IRQ=y -CONFIG_DMA_SHARED_BUFFER=y -# CONFIG_DMA_FENCE_TRACE is not set CONFIG_DMA_CMA=y # # Default contiguous memory area size: # -CONFIG_CMA_SIZE_MBYTES=16 -CONFIG_CMA_SIZE_SEL_MBYTES=y -# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set -# CONFIG_CMA_SIZE_SEL_MIN is not set -# CONFIG_CMA_SIZE_SEL_MAX is not set -CONFIG_CMA_ALIGNMENT=8 -CONFIG_GENERIC_ARCH_TOPOLOGY=y # # Bus devices # -# CONFIG_ARM_CCI400_PMU is not set -# CONFIG_ARM_CCI5xx_PMU is not set -# CONFIG_ARM_CCN is not set # CONFIG_BRCMSTB_GISB_ARB is not set -# CONFIG_SIMPLE_PM_BUS is not set CONFIG_VEXPRESS_CONFIG=y -# CONFIG_CONNECTOR is not set +CONFIG_CONNECTOR=m CONFIG_MTD=y -# CONFIG_MTD_TESTS is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set -CONFIG_MTD_OF_PARTS=y -# CONFIG_MTD_AR7_PARTS is not set # # Partition parsers @@ -1098,170 +893,63 @@ CONFIG_MTD_OF_PARTS=y # # User Modules And Translation Layers # -# CONFIG_MTD_BLOCK is not set -# CONFIG_MTD_BLOCK_RO is not set -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL is not set -# CONFIG_SSFDC is not set -# CONFIG_SM_FTL is not set -# CONFIG_MTD_OOPS is not set -# CONFIG_MTD_SWAP is not set -# CONFIG_MTD_PARTITIONED_MASTER is not set +CONFIG_MTD_BLOCK=y # # RAM/ROM/Flash chip drivers # -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set # # Mapping drivers for chip access # -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_INTEL_VR_NOR is not set -# CONFIG_MTD_PLATRAM is not set # # Self-contained MTD device drivers # -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_DATAFLASH is not set CONFIG_MTD_M25P80=y -# CONFIG_MTD_MCHP23K256 is not set -# CONFIG_MTD_SST25L is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLOCK2MTD is not set # # Disk-On-Chip Device Drivers # -# CONFIG_MTD_DOCG3 is not set -# CONFIG_MTD_NAND is not set -# CONFIG_MTD_ONENAND is not set +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_DENALI_DT=y # # LPDDR & LPDDR2 PCM memory drivers # -# CONFIG_MTD_LPDDR is not set CONFIG_MTD_SPI_NOR=y -# CONFIG_MTD_MT81xx_NOR is not set -CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y -# CONFIG_MTD_UBI is not set -CONFIG_DTC=y -CONFIG_OF=y -# CONFIG_OF_UNITTEST is not set -CONFIG_OF_FLATTREE=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_ADDRESS_PCI=y -CONFIG_OF_IRQ=y -CONFIG_OF_NET=y -CONFIG_OF_MDIO=y -CONFIG_OF_PCI=y -CONFIG_OF_PCI_IRQ=y -CONFIG_OF_RESERVED_MEM=y -# CONFIG_OF_OVERLAY is not set -# CONFIG_PARPORT is not set -CONFIG_PNP=y -CONFIG_PNP_DEBUG_MESSAGES=y # # Protocols # -CONFIG_PNPACPI=y -CONFIG_BLK_DEV=y -# CONFIG_BLK_DEV_NULL_BLK is not set -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_CDROM=m CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_DRBD is not set CONFIG_BLK_DEV_NBD=m -# CONFIG_BLK_DEV_SKD is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set -CONFIG_XEN_BLKDEV_FRONTEND=y -# CONFIG_XEN_BLKDEV_BACKEND is not set CONFIG_VIRTIO_BLK=y -# CONFIG_VIRTIO_BLK_SCSI is not set -# CONFIG_BLK_DEV_RBD is not set -# CONFIG_BLK_DEV_RSXX is not set -# CONFIG_BLK_DEV_NVME is not set -# CONFIG_NVME_FC is not set -# CONFIG_NVME_TARGET is not set + +# +# NVME Support +# +CONFIG_BLK_DEV_NVME=m # # Misc devices # -# CONFIG_SENSORS_LIS3LV02D is not set -# CONFIG_AD525X_DPOT is not set -# CONFIG_DUMMY_IRQ is not set -# CONFIG_PHANTOM is not set -# CONFIG_SGI_IOC4 is not set -# CONFIG_TIFM_CORE is not set -# CONFIG_ICS932S401 is not set -# CONFIG_ENCLOSURE_SERVICES is not set -# CONFIG_HP_ILO is not set -# CONFIG_APDS9802ALS is not set -# CONFIG_ISL29003 is not set -# CONFIG_ISL29020 is not set -# CONFIG_SENSORS_TSL2550 is not set -# CONFIG_SENSORS_BH1770 is not set -# CONFIG_SENSORS_APDS990X is not set -# CONFIG_HMC6352 is not set -# CONFIG_DS1682 is not set -# CONFIG_TI_DAC7512 is not set -# CONFIG_USB_SWITCH_FSA9480 is not set -# CONFIG_LATTICE_ECP3_CONFIG is not set CONFIG_SRAM=y CONFIG_VEXPRESS_SYSCFG=y -# CONFIG_PCI_ENDPOINT_TEST is not set -# CONFIG_C2PORT is not set # # EEPROM support # -# CONFIG_EEPROM_AT24 is not set CONFIG_EEPROM_AT25=m -# CONFIG_EEPROM_LEGACY is not set -# CONFIG_EEPROM_MAX6875 is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_EEPROM_93XX46 is not set -# CONFIG_EEPROM_IDT_89HPESX is not set -# CONFIG_CB710_CORE is not set # # Texas Instruments shared transport line discipline # -# CONFIG_TI_ST is not set -# CONFIG_SENSORS_LIS3_I2C is not set # -# Altera FPGA firmware download module +# Intel MIC & related support # -# CONFIG_ALTERA_STAPL is not set # # Intel MIC Bus Driver @@ -1294,127 +982,142 @@ CONFIG_EEPROM_AT25=m # # VOP Driver # -# CONFIG_GENWQE is not set -# CONFIG_ECHO is not set -# CONFIG_CXL_BASE is not set -# CONFIG_CXL_AFU_DRIVER_OPS is not set -# CONFIG_CXL_LIB is not set # # SCSI device support # -CONFIG_SCSI_MOD=y -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -CONFIG_SCSI_DMA=y -# CONFIG_SCSI_NETLINK is not set -# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_NETLINK=y # CONFIG_SCSI_PROC_FS is not set # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_BLK_DEV_SR=m +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_CHR_DEV_SG=m # # SCSI Transports # -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set +CONFIG_SCSI_FC_ATTRS=m +CONFIG_SCSI_ISCSI_ATTRS=m CONFIG_SCSI_SAS_ATTRS=y CONFIG_SCSI_SAS_LIBSAS=y +CONFIG_SCSI_SAS_ATA=y CONFIG_SCSI_SAS_HOST_SMP=y -# CONFIG_SCSI_SRP_ATTRS is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_ISCSI_TCP is not set -# CONFIG_ISCSI_BOOT_SYSFS is not set -# CONFIG_SCSI_CXGB3_ISCSI is not set -# CONFIG_SCSI_CXGB4_ISCSI is not set -# CONFIG_SCSI_BNX2_ISCSI is not set -# CONFIG_BE2ISCSI is not set -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_HPSA is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_3W_SAS is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_AIC94XX is not set -# CONFIG_SCSI_MVSAS is not set -# CONFIG_SCSI_MVUMI is not set -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_ARCMSR is not set -# CONFIG_SCSI_ESAS2R is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_SAS is not set -# CONFIG_SCSI_MPT3SAS is not set -# CONFIG_SCSI_MPT2SAS is not set -# CONFIG_SCSI_SMARTPQI is not set -# CONFIG_SCSI_UFSHCD is not set -# CONFIG_SCSI_HPTIOP is not set -# CONFIG_XEN_SCSI_FRONTEND is not set -# CONFIG_SCSI_SNIC is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_STEX is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -# CONFIG_SCSI_QLA_ISCSI is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_AM53C974 is not set -# CONFIG_SCSI_WD719X is not set -# CONFIG_SCSI_DEBUG is not set -# CONFIG_SCSI_PMCRAID is not set -# CONFIG_SCSI_PM8001 is not set -# CONFIG_SCSI_VIRTIO is not set -# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set -# CONFIG_SCSI_DH is not set -# CONFIG_SCSI_OSD_INITIATOR is not set -CONFIG_HAVE_PATA_PLATFORM=y -# CONFIG_ATA is not set -# CONFIG_MD is not set -# CONFIG_TARGET_CORE is not set -# CONFIG_FUSION is not set +CONFIG_ISCSI_TCP=m +CONFIG_ISCSI_BOOT_SYSFS=m +# CONFIG_SCSI_BNX2X_FCOE is not set +# CONFIG_SCSI_HISI_SAS is not set +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +# CONFIG_FCOE is not set +# CONFIG_SCSI_QLA_FC is not set +# CONFIG_SCSI_LPFC is not set +# CONFIG_SCSI_BFA_FC is not set +# CONFIG_SCSI_CHELSIO_FCOE is not set +CONFIG_ATA=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_AHCI_CEVA=y +# CONFIG_AHCI_QORIQ is not set +CONFIG_SATA_SIL24=y + +# +# SFF controllers with custom DMA interface +# + +# +# SATA SFF controllers with BMDMA +# + +# +# PATA SFF controllers with BMDMA +# + +# +# PIO-only SFF controllers +# +CONFIG_PATA_PLATFORM=y +CONFIG_PATA_OF_PLATFORM=y + +# +# Generic fallback / legacy drivers +# +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +CONFIG_MD_MULTIPATH=m +CONFIG_MD_FAULTY=m +CONFIG_BCACHE=m +# CONFIG_BCACHE_DEBUG is not set +# CONFIG_BCACHE_CLOSURES_DEBUG is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=m +# CONFIG_DM_MQ_DEFAULT is not set +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=m +# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set +CONFIG_DM_BIO_PRISON=m +CONFIG_DM_PERSISTENT_DATA=m +# CONFIG_DM_UNSTRIPED is not set +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +CONFIG_DM_CACHE=m +CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_ERA is not set +CONFIG_DM_MIRROR=m +CONFIG_DM_LOG_USERSPACE=m +CONFIG_DM_RAID=m +CONFIG_DM_ZERO=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_DELAY=m +CONFIG_DM_UEVENT=y +CONFIG_DM_FLAKEY=m +CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_FEC is not set +CONFIG_DM_SWITCH=m +# CONFIG_DM_LOG_WRITES is not set +# CONFIG_DM_INTEGRITY is not set # # IEEE 1394 (FireWire) support # -# CONFIG_FIREWIRE is not set -# CONFIG_FIREWIRE_NOSY is not set CONFIG_NETDEVICES=y -CONFIG_MII=m -CONFIG_NET_CORE=y -# CONFIG_BONDING is not set -# CONFIG_DUMMY is not set -# CONFIG_EQUALIZER is not set -# CONFIG_NET_FC is not set -# CONFIG_NET_TEAM is not set -# CONFIG_MACVLAN is not set -# CONFIG_VXLAN is not set -# CONFIG_MACSEC is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set -# CONFIG_TUN is not set -# CONFIG_TUN_VNET_CROSS_LE is not set -# CONFIG_VETH is not set -# CONFIG_VIRTIO_NET is not set -# CONFIG_NLMON is not set -# CONFIG_ARCNET is not set +CONFIG_BONDING=m +CONFIG_DUMMY=m +# CONFIG_IFB is not set +CONFIG_NET_TEAM=m +CONFIG_NET_TEAM_MODE_BROADCAST=m +CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TEAM_MODE_RANDOM=m +CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m +CONFIG_NET_TEAM_MODE_LOADBALANCE=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_VXLAN=m +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +CONFIG_NETCONSOLE=y +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETPOLL=y +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_TUN=y +CONFIG_VETH=m +CONFIG_VIRTIO_NET=y +CONFIG_NLMON=m # # CAIF transport drivers @@ -1423,473 +1126,319 @@ CONFIG_NET_CORE=y # # Distributed Switch Architecture drivers # -CONFIG_ETHERNET=y -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_NET_VENDOR_ADAPTEC is not set -# CONFIG_NET_VENDOR_AGERE is not set -# CONFIG_NET_VENDOR_ALACRITECH is not set -# CONFIG_NET_VENDOR_ALTEON is not set -# CONFIG_ALTERA_TSE is not set -# CONFIG_NET_VENDOR_AMAZON is not set -# CONFIG_NET_VENDOR_AMD is not set -# CONFIG_NET_VENDOR_AQUANTIA is not set -# CONFIG_NET_VENDOR_ARC is not set -# CONFIG_NET_VENDOR_ATHEROS is not set -# CONFIG_NET_VENDOR_AURORA is not set -# CONFIG_NET_CADENCE is not set -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_BROCADE is not set -# CONFIG_NET_VENDOR_CAVIUM is not set -# CONFIG_NET_VENDOR_CHELSIO is not set -# CONFIG_NET_VENDOR_CISCO is not set -# CONFIG_DNET is not set -# CONFIG_NET_VENDOR_DEC is not set -# CONFIG_NET_VENDOR_DLINK is not set -# CONFIG_NET_VENDOR_EMULEX is not set -# CONFIG_NET_VENDOR_EZCHIP is not set -# CONFIG_NET_VENDOR_EXAR is not set -# CONFIG_NET_VENDOR_HISILICON is not set -# CONFIG_NET_VENDOR_HP is not set -# CONFIG_NET_VENDOR_HUAWEI is not set -# CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_JME is not set -# CONFIG_NET_VENDOR_MARVELL is not set -# CONFIG_NET_VENDOR_MELLANOX is not set -# CONFIG_NET_VENDOR_MICREL is not set -# CONFIG_NET_VENDOR_MICROCHIP is not set -# CONFIG_NET_VENDOR_MYRI is not set -# CONFIG_FEALNX is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_NETRONOME is not set -# CONFIG_NET_VENDOR_NVIDIA is not set -# CONFIG_NET_VENDOR_OKI is not set -# CONFIG_ETHOC is not set -# CONFIG_NET_PACKET_ENGINE is not set -# CONFIG_NET_VENDOR_QLOGIC is not set -# CONFIG_NET_VENDOR_QUALCOMM is not set -# CONFIG_NET_VENDOR_REALTEK is not set -# CONFIG_NET_VENDOR_RENESAS is not set -# CONFIG_NET_VENDOR_RDC is not set -# CONFIG_NET_VENDOR_ROCKER is not set -# CONFIG_NET_VENDOR_SAMSUNG is not set -# CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SILAN is not set -# CONFIG_NET_VENDOR_SIS is not set -# CONFIG_NET_VENDOR_SOLARFLARE is not set -# CONFIG_NET_VENDOR_SMSC is not set -CONFIG_NET_VENDOR_STMICRO=y +CONFIG_AMD_XGBE=y +CONFIG_MACB=y +# CONFIG_THUNDER_NIC_PF is not set +# CONFIG_THUNDER_NIC_BGX is not set +# CONFIG_THUNDER_NIC_RGX is not set +CONFIG_HNS_DSAF=y +CONFIG_HNS_ENET=y +CONFIG_E1000E=y +CONFIG_IGB=y +CONFIG_IGBVF=y +# CONFIG_MVMDIO is not set +CONFIG_SKY2=y +# CONFIG_QCOM_EMAC is not set +CONFIG_SMC91X=y +CONFIG_SMSC911X=y CONFIG_STMMAC_ETH=m -CONFIG_STMMAC_PLATFORM=m -# CONFIG_DWMAC_DWC_QOS_ETH is not set -CONFIG_DWMAC_GENERIC=m -CONFIG_DWMAC_MESON=m -# CONFIG_STMMAC_PCI is not set -# CONFIG_NET_VENDOR_SUN is not set -# CONFIG_NET_VENDOR_TEHUTI is not set -# CONFIG_NET_VENDOR_TI is not set -# CONFIG_NET_VENDOR_VIA is not set -# CONFIG_NET_VENDOR_WIZNET is not set -# CONFIG_NET_VENDOR_SYNOPSYS is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -# CONFIG_NET_SB1000 is not set -CONFIG_MDIO_DEVICE=y -CONFIG_MDIO_BUS=y -# CONFIG_MDIO_BCM_UNIMAC is not set -# CONFIG_MDIO_BITBANG is not set -# CONFIG_MDIO_BUS_MUX_GPIO is not set -# CONFIG_MDIO_BUS_MUX_MMIOREG is not set -# CONFIG_MDIO_HISI_FEMAC is not set -# CONFIG_MDIO_OCTEON is not set +CONFIG_MDIO_BITBANG=y +CONFIG_MDIO_BUS_MUX_MMIOREG=y +# CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_THUNDER is not set -CONFIG_PHYLIB=y -CONFIG_SWPHY=y -# CONFIG_LED_TRIGGER_PHY is not set # # MII PHY device drivers # -# CONFIG_AMD_PHY is not set -# CONFIG_AQUANTIA_PHY is not set -# CONFIG_AT803X_PHY is not set -# CONFIG_BCM7XXX_PHY is not set -# CONFIG_BCM87XX_PHY is not set -# CONFIG_BROADCOM_PHY is not set -# CONFIG_CICADA_PHY is not set -# CONFIG_CORTINA_PHY is not set -# CONFIG_DAVICOM_PHY is not set -# CONFIG_DP83848_PHY is not set -# CONFIG_DP83867_PHY is not set -CONFIG_FIXED_PHY=y -# CONFIG_ICPLUS_PHY is not set -# CONFIG_INTEL_XWAY_PHY is not set -# CONFIG_LSI_ET1011C_PHY is not set -# CONFIG_LXT_PHY is not set -# CONFIG_MARVELL_PHY is not set -# CONFIG_MARVELL_10G_PHY is not set -CONFIG_MESON_GXL_PHY=m +CONFIG_AT803X_PHY=m +CONFIG_MARVELL_PHY=m +CONFIG_MARVELL_10G_PHY=m +CONFIG_MESON_GXL_PHY=y CONFIG_MICREL_PHY=y -# CONFIG_MICROCHIP_PHY is not set -# CONFIG_MICROSEMI_PHY is not set -# CONFIG_NATIONAL_PHY is not set -# CONFIG_QSEMI_PHY is not set -CONFIG_REALTEK_PHY=m +CONFIG_MICROCHIP_PHY=m +CONFIG_REALTEK_PHY=y # CONFIG_ROCKCHIP_PHY is not set -# CONFIG_SMSC_PHY is not set -# CONFIG_STE10XP is not set -# CONFIG_TERANETICS_PHY is not set -# CONFIG_VITESSE_PHY is not set -# CONFIG_XILINX_GMII2RGMII is not set -# CONFIG_MICREL_KS8995MA is not set -# CONFIG_PPP is not set -# CONFIG_SLIP is not set -# CONFIG_USB_NET_DRIVERS is not set -CONFIG_WLAN=y -CONFIG_WLAN_VENDOR_ADMTEK=y -# CONFIG_ADM8211 is not set -CONFIG_WLAN_VENDOR_ATH=y -# CONFIG_ATH_DEBUG is not set -# CONFIG_ATH5K is not set -# CONFIG_ATH5K_PCI is not set -# CONFIG_ATH9K is not set -# CONFIG_ATH9K_HTC is not set -# CONFIG_CARL9170 is not set -# CONFIG_ATH6KL is not set -# CONFIG_AR5523 is not set -# CONFIG_WIL6210 is not set -# CONFIG_ATH10K is not set -# CONFIG_WCN36XX is not set -CONFIG_WLAN_VENDOR_ATMEL=y -# CONFIG_ATMEL is not set -# CONFIG_AT76C50X_USB is not set -CONFIG_WLAN_VENDOR_BROADCOM=y -# CONFIG_B43 is not set -# CONFIG_B43LEGACY is not set -CONFIG_BRCMUTIL=m -# CONFIG_BRCMSMAC is not set +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_SLHC=m +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m +CONFIG_USB_LAN78XX=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_HUAWEI_CDC_NCM=m +CONFIG_USB_NET_CDC_MBIM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SR9700=m +CONFIG_USB_NET_SR9800=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_HSO=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_USB_NET_CH9200=m +CONFIG_ATH_COMMON=m +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +CONFIG_CARL9170=m +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +CONFIG_CARL9170_HWRNG=y +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_SDIO is not set +CONFIG_ATH6KL_USB=m +# CONFIG_ATH6KL_DEBUG is not set +# CONFIG_ATH6KL_TRACING is not set +CONFIG_AR5523=m CONFIG_BRCMFMAC=m -CONFIG_BRCMFMAC_PROTO_BCDC=y -CONFIG_BRCMFMAC_SDIO=y -# CONFIG_BRCMFMAC_USB is not set -# CONFIG_BRCMFMAC_PCIE is not set -# CONFIG_BRCM_TRACING is not set -# CONFIG_BRCMDBG is not set -CONFIG_WLAN_VENDOR_CISCO=y -CONFIG_WLAN_VENDOR_INTEL=y -# CONFIG_IPW2100 is not set -# CONFIG_IPW2200 is not set -# CONFIG_IWL4965 is not set -# CONFIG_IWL3945 is not set -# CONFIG_IWLWIFI is not set -CONFIG_WLAN_VENDOR_INTERSIL=y -# CONFIG_HOSTAP is not set -# CONFIG_HERMES is not set -# CONFIG_P54_COMMON is not set -# CONFIG_PRISM54 is not set -CONFIG_WLAN_VENDOR_MARVELL=y -# CONFIG_LIBERTAS is not set -# CONFIG_LIBERTAS_THINFIRM is not set -# CONFIG_MWIFIEX is not set -# CONFIG_MWL8K is not set -CONFIG_WLAN_VENDOR_MEDIATEK=y -# CONFIG_MT7601U is not set -CONFIG_WLAN_VENDOR_RALINK=y -# CONFIG_RT2X00 is not set -CONFIG_WLAN_VENDOR_REALTEK=y -# CONFIG_RTL8180 is not set -# CONFIG_RTL8187 is not set -CONFIG_RTL_CARDS=m -# CONFIG_RTL8192CE is not set -# CONFIG_RTL8192SE is not set -# CONFIG_RTL8192DE is not set -# CONFIG_RTL8723AE is not set -# CONFIG_RTL8723BE is not set -# CONFIG_RTL8188EE is not set -# CONFIG_RTL8192EE is not set -# CONFIG_RTL8821AE is not set -# CONFIG_RTL8192CU is not set -# CONFIG_RTL8XXXU is not set -CONFIG_WLAN_VENDOR_RSI=y -# CONFIG_RSI_91X is not set -CONFIG_WLAN_VENDOR_ST=y -# CONFIG_CW1200 is not set -CONFIG_WLAN_VENDOR_TI=y -# CONFIG_WL1251 is not set -# CONFIG_WL12XX is not set +CONFIG_RT2X00=m +# CONFIG_RT2400PCI is not set +# CONFIG_RT2500PCI is not set +# CONFIG_RT61PCI is not set +# CONFIG_RT2800PCI is not set +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set CONFIG_WL18XX=m -CONFIG_WLCORE=m -# CONFIG_WLCORE_SPI is not set CONFIG_WLCORE_SDIO=m -CONFIG_WILINK_PLATFORM_DATA=y -CONFIG_WLAN_VENDOR_ZYDAS=y -# CONFIG_USB_ZD1201 is not set -# CONFIG_ZD1211RW is not set -CONFIG_WLAN_VENDOR_QUANTENNA=y -# CONFIG_QTNFMAC_PEARL_PCIE is not set -# CONFIG_MAC80211_HWSIM is not set -# CONFIG_USB_NET_RNDIS_WLAN is not set +CONFIG_USB_NET_RNDIS_WLAN=m # # Enable WiMAX (Networking options) to see the WiMAX drivers # -# CONFIG_WAN is not set -# CONFIG_XEN_NETDEV_FRONTEND is not set -# CONFIG_XEN_NETDEV_BACKEND is not set -# CONFIG_VMXNET3 is not set -# CONFIG_FUJITSU_ES is not set -# CONFIG_ISDN is not set -# CONFIG_NVM is not set # # Input device support # -CONFIG_INPUT=y -CONFIG_INPUT_LEDS=y -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_POLLDEV is not set -# CONFIG_INPUT_SPARSEKMAP is not set -# CONFIG_INPUT_MATRIXKMAP is not set +CONFIG_INPUT_FF_MEMLESS=m # # Userland interfaces # -CONFIG_INPUT_MOUSEDEV=y -CONFIG_INPUT_MOUSEDEV_PSAUX=y -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set # # Input Device Drivers # -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ADC is not set -# CONFIG_KEYBOARD_ADP5588 is not set -# CONFIG_KEYBOARD_ADP5589 is not set -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_QT1070 is not set -# CONFIG_KEYBOARD_QT2160 is not set -# CONFIG_KEYBOARD_DLINK_DIR685 is not set -# CONFIG_KEYBOARD_LKKBD is not set +CONFIG_KEYBOARD_ADC=m CONFIG_KEYBOARD_GPIO=y -# CONFIG_KEYBOARD_GPIO_POLLED is not set -# CONFIG_KEYBOARD_TCA6416 is not set -# CONFIG_KEYBOARD_TCA8418 is not set -# CONFIG_KEYBOARD_MATRIX is not set -# CONFIG_KEYBOARD_LM8323 is not set -# CONFIG_KEYBOARD_LM8333 is not set -# CONFIG_KEYBOARD_MAX7359 is not set -# CONFIG_KEYBOARD_MCS is not set -# CONFIG_KEYBOARD_MPR121 is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_OPENCORES is not set -# CONFIG_KEYBOARD_SAMSUNG is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_OMAP4 is not set -# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_CAP11XX is not set -# CONFIG_KEYBOARD_BCM is not set -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=y -CONFIG_MOUSE_PS2_ALPS=y -CONFIG_MOUSE_PS2_BYD=y -CONFIG_MOUSE_PS2_LOGIPS2PP=y -CONFIG_MOUSE_PS2_SYNAPTICS=y -CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y -CONFIG_MOUSE_PS2_CYPRESS=y -CONFIG_MOUSE_PS2_TRACKPOINT=y -# CONFIG_MOUSE_PS2_ELANTECH is not set -# CONFIG_MOUSE_PS2_SENTELIC is not set -# CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_PS2_FOCALTECH=y -CONFIG_MOUSE_PS2_SMBUS=y -# CONFIG_MOUSE_SERIAL is not set -# CONFIG_MOUSE_APPLETOUCH is not set -# CONFIG_MOUSE_BCM5974 is not set -# CONFIG_MOUSE_CYAPA is not set -# CONFIG_MOUSE_ELAN_I2C is not set -# CONFIG_MOUSE_VSXXXAA is not set -# CONFIG_MOUSE_GPIO is not set -# CONFIG_MOUSE_SYNAPTICS_I2C is not set -# CONFIG_MOUSE_SYNAPTICS_USB is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set -# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_KEYBOARD_CROS_EC=y +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_SYNAPTICS_USB=m +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_USB=y +CONFIG_JOYSTICK_IFORCE_232=y +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +# CONFIG_JOYSTICK_PSXPAD_SPI is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_PROPERTIES=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +# CONFIG_TOUCHSCREEN_AD7877 is not set +# CONFIG_TOUCHSCREEN_AD7879 is not set +# CONFIG_TOUCHSCREEN_AR1021_I2C is not set +# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set +# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set +# CONFIG_TOUCHSCREEN_BU21013 is not set +# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set +# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set +# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set +# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set +# CONFIG_TOUCHSCREEN_DYNAPRO is not set +# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set +# CONFIG_TOUCHSCREEN_EXC3000 is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_HIDEEP is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_S6SY761 is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_EKTF2127 is not set +# CONFIG_TOUCHSCREEN_ELAN is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_WACOM_I2C is not set +# CONFIG_TOUCHSCREEN_MAX11801 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set +# CONFIG_TOUCHSCREEN_MMS114 is not set +# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_PIXCIR is not set +# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_ELO=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TSC_SERIO is not set +# CONFIG_TOUCHSCREEN_TSC2004 is not set +# CONFIG_TOUCHSCREEN_TSC2005 is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_RM_TS is not set +# CONFIG_TOUCHSCREEN_SILEAD is not set +# CONFIG_TOUCHSCREEN_SIS_I2C is not set +# CONFIG_TOUCHSCREEN_ST1232 is not set +# CONFIG_TOUCHSCREEN_STMFTS is not set +# CONFIG_TOUCHSCREEN_SUR40 is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_ZET6223 is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +CONFIG_TOUCHSCREEN_DWAV_USB_MT=m +CONFIG_TOUCHSCREEN_SX865X=m CONFIG_INPUT_MISC=y -# CONFIG_INPUT_AD714X is not set -# CONFIG_INPUT_ATMEL_CAPTOUCH is not set -# CONFIG_INPUT_BMA150 is not set -# CONFIG_INPUT_E3X0_BUTTON is not set -# CONFIG_INPUT_MMA8450 is not set -# CONFIG_INPUT_GP2A is not set -# CONFIG_INPUT_GPIO_BEEPER is not set -# CONFIG_INPUT_GPIO_TILT_POLLED is not set -# CONFIG_INPUT_GPIO_DECODER is not set -# CONFIG_INPUT_ATI_REMOTE2 is not set -# CONFIG_INPUT_KEYSPAN_REMOTE is not set -# CONFIG_INPUT_KXTJ9 is not set -# CONFIG_INPUT_POWERMATE is not set -# CONFIG_INPUT_YEALINK is not set -# CONFIG_INPUT_CM109 is not set # CONFIG_INPUT_REGULATOR_HAPTIC is not set -# CONFIG_INPUT_UINPUT is not set -# CONFIG_INPUT_PCF8574 is not set -# CONFIG_INPUT_PWM_BEEPER is not set -# CONFIG_INPUT_PWM_VIBRA is not set -# CONFIG_INPUT_RK805_PWRKEY is not set -# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set -# CONFIG_INPUT_ADXL34X is not set -# CONFIG_INPUT_IMS_PCU is not set -# CONFIG_INPUT_CMA3000 is not set -CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y -# CONFIG_INPUT_SOC_BUTTON_ARRAY is not set -# CONFIG_INPUT_DRV260X_HAPTICS is not set -# CONFIG_INPUT_DRV2665_HAPTICS is not set -# CONFIG_INPUT_DRV2667_HAPTICS is not set -# CONFIG_RMI4_CORE is not set # # Hardware I/O ports # -CONFIG_SERIO=y -# CONFIG_SERIO_SERPORT is not set +CONFIG_SERIO_SERPORT=m CONFIG_SERIO_AMBAKMI=y -# CONFIG_SERIO_PCIPS2 is not set -CONFIG_SERIO_LIBPS2=y -# CONFIG_SERIO_RAW is not set -# CONFIG_SERIO_ALTERA_PS2 is not set -# CONFIG_SERIO_PS2MULT is not set -# CONFIG_SERIO_ARC_PS2 is not set -# CONFIG_SERIO_APBPS2 is not set -# CONFIG_SERIO_GPIO_PS2 is not set -# CONFIG_USERIO is not set -# CONFIG_GAMEPORT is not set +CONFIG_GAMEPORT=m +# CONFIG_GAMEPORT_NS558 is not set +# CONFIG_GAMEPORT_L4 is not set +# CONFIG_GAMEPORT_EMU10K1 is not set +# CONFIG_GAMEPORT_FM801 is not set # # Character devices # -CONFIG_TTY=y -CONFIG_VT=y -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_CONSOLE_SLEEP=y -CONFIG_HW_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=16 -# CONFIG_SERIAL_NONSTANDARD is not set -# CONFIG_NOZOMI is not set -# CONFIG_N_GSM is not set -# CONFIG_TRACE_SINK is not set -CONFIG_DEVMEM=y # # Serial drivers # -CONFIG_SERIAL_EARLYCON=y CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y -CONFIG_SERIAL_8250_PNP=y -# CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_DMA=y -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_EXAR=y -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y -# CONFIG_SERIAL_8250_MANY_PORTS is not set -# CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -# CONFIG_SERIAL_8250_RSA is not set -CONFIG_SERIAL_8250_FSL=y CONFIG_SERIAL_8250_DW=y -# CONFIG_SERIAL_8250_RT288X is not set -# CONFIG_SERIAL_8250_MOXA is not set CONFIG_SERIAL_OF_PLATFORM=y # # Non-8250 serial port support # -# CONFIG_SERIAL_AMBA_PL010 is not set CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_KGDB_NMI is not set CONFIG_SERIAL_MESON=y CONFIG_SERIAL_MESON_CONSOLE=y -# CONFIG_SERIAL_MAX3100 is not set -# CONFIG_SERIAL_MAX310X is not set -# CONFIG_SERIAL_UARTLITE is not set -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -# CONFIG_SERIAL_JSM is not set -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_SC16IS7XX is not set -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -# CONFIG_SERIAL_IFX6X60 is not set +CONFIG_CONSOLE_POLL=y CONFIG_SERIAL_XILINX_PS_UART=y CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y -# CONFIG_SERIAL_ARC is not set -# CONFIG_SERIAL_RP2 is not set -# CONFIG_SERIAL_FSL_LPUART is not set -# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set -# CONFIG_SERIAL_DEV_BUS is not set -CONFIG_HVC_DRIVER=y -CONFIG_HVC_IRQ=y -CONFIG_HVC_XEN=y -CONFIG_HVC_XEN_FRONTEND=y -# CONFIG_HVC_DCC is not set +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_VIRTIO_CONSOLE=y -# CONFIG_IPMI_HANDLER is not set -CONFIG_HW_RANDOM=m -# CONFIG_HW_RANDOM_TIMERIOMEM is not set -# CONFIG_HW_RANDOM_VIRTIO is not set -CONFIG_HW_RANDOM_MESON=m +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_MESON=y CONFIG_HW_RANDOM_CAVIUM=m -# CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set # # PCMCIA character devices # -# CONFIG_RAW_DRIVER is not set -# CONFIG_HPET is not set -# CONFIG_TCG_TPM is not set -CONFIG_DEVPORT=y -# CONFIG_XILLYBUS is not set # # I2C support # CONFIG_I2C=y -CONFIG_ACPI_I2C_OPREGION=y -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MUX=y # # Multiplexer I2C Chip support # -# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_MUX_GPIO is not set -# CONFIG_I2C_MUX_GPMUX is not set -# CONFIG_I2C_MUX_LTC4306 is not set -# CONFIG_I2C_MUX_PCA9541 is not set CONFIG_I2C_MUX_PCA954x=y -# CONFIG_I2C_MUX_PINCTRL is not set -# CONFIG_I2C_MUX_REG is not set -# CONFIG_I2C_DEMUX_PINCTRL is not set -# CONFIG_I2C_MUX_MLXCPLD is not set -CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_ALGOBIT=m # # I2C Hardware Bus support @@ -1898,110 +1447,48 @@ CONFIG_I2C_ALGOBIT=m # # PC SMBus host controller drivers # -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_ISCH is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set # # ACPI drivers # -# CONFIG_I2C_SCMI is not set # # I2C system bus drivers (mostly embedded / system-on-chip) # -# CONFIG_I2C_CADENCE is not set -# CONFIG_I2C_CBUS_GPIO is not set -CONFIG_I2C_DESIGNWARE_CORE=y CONFIG_I2C_DESIGNWARE_PLATFORM=y -# CONFIG_I2C_DESIGNWARE_SLAVE is not set -# CONFIG_I2C_DESIGNWARE_PCI is not set -# CONFIG_I2C_EMEV2 is not set -# CONFIG_I2C_GPIO is not set CONFIG_I2C_MESON=y -# CONFIG_I2C_NOMADIK is not set -# CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PCA_PLATFORM is not set -# CONFIG_I2C_PXA_PCI is not set -CONFIG_I2C_RK3X=y -# CONFIG_I2C_SIMTEC is not set -# CONFIG_I2C_THUNDERX is not set -# CONFIG_I2C_XILINX is not set +# CONFIG_I2C_RK3X is not set # # External I2C/SMBus adapter drivers # -# CONFIG_I2C_DIOLAN_U2C is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_ROBOTFUZZ_OSIF is not set -# CONFIG_I2C_TAOS_EVM is not set -# CONFIG_I2C_TINY_USB is not set +CONFIG_I2C_TINY_USB=m # # Other I2C/SMBus bus drivers # -# CONFIG_I2C_STUB is not set +CONFIG_I2C_CROS_EC_TUNNEL=y CONFIG_I2C_SLAVE=y # CONFIG_I2C_SLAVE_EEPROM is not set -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y # # SPI Master Controller Drivers # -# CONFIG_SPI_ALTERA is not set -# CONFIG_SPI_AXI_SPI_ENGINE is not set -# CONFIG_SPI_BITBANG is not set -# CONFIG_SPI_CADENCE is not set -# CONFIG_SPI_DESIGNWARE is not set -# CONFIG_SPI_GPIO is not set -# CONFIG_SPI_FSL_SPI is not set -CONFIG_SPI_MESON_SPICC=m -CONFIG_SPI_MESON_SPIFC=m -# CONFIG_SPI_OC_TINY is not set +CONFIG_SPI_MESON_SPICC=y +CONFIG_SPI_MESON_SPIFC=y CONFIG_SPI_PL022=y -# CONFIG_SPI_PXA2XX is not set -# CONFIG_SPI_PXA2XX_PCI is not set # CONFIG_SPI_ROCKCHIP is not set -# CONFIG_SPI_SC18IS602 is not set -# CONFIG_SPI_THUNDERX is not set -# CONFIG_SPI_XCOMM is not set -# CONFIG_SPI_XILINX is not set -# CONFIG_SPI_ZYNQMP_GQSPI is not set # # SPI Protocol Masters # CONFIG_SPI_SPIDEV=m -# CONFIG_SPI_LOOPBACK_TEST is not set -# CONFIG_SPI_TLE62X0 is not set -# CONFIG_SPI_SLAVE is not set CONFIG_SPMI=y -# CONFIG_HSI is not set -CONFIG_PPS=y -# CONFIG_PPS_DEBUG is not set # # PPS clients support # -# CONFIG_PPS_CLIENT_KTIMER is not set -# CONFIG_PPS_CLIENT_LDISC is not set -# CONFIG_PPS_CLIENT_GPIO is not set # # PPS generators support @@ -2010,66 +1497,27 @@ CONFIG_PPS=y # # PTP clock support # -CONFIG_PTP_1588_CLOCK=y # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # -CONFIG_PINCTRL=y - -# -# Pin controllers -# -CONFIG_GENERIC_PINCTRL_GROUPS=y -CONFIG_PINMUX=y -CONFIG_GENERIC_PINMUX_FUNCTIONS=y -CONFIG_PINCONF=y -CONFIG_GENERIC_PINCONF=y -# CONFIG_DEBUG_PINCTRL is not set -# CONFIG_PINCTRL_AMD is not set -# CONFIG_PINCTRL_MCP23S08 is not set -CONFIG_PINCTRL_MESON=y CONFIG_PINCTRL_SINGLE=y -# CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_MAX77620=y -# CONFIG_PINCTRL_RK805 is not set -CONFIG_GPIOLIB=y -CONFIG_OF_GPIO=y -CONFIG_GPIO_ACPI=y -CONFIG_GPIOLIB_IRQCHIP=y -# CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_GENERIC=y # # Memory mapped GPIO drivers # -# CONFIG_GPIO_74XX_MMIO is not set -# CONFIG_GPIO_ALTERA is not set -# CONFIG_GPIO_AMDPT is not set CONFIG_GPIO_DWAPB=y -# CONFIG_GPIO_EXAR is not set -# CONFIG_GPIO_FTGPIO010 is not set CONFIG_GPIO_GENERIC_PLATFORM=y -# CONFIG_GPIO_GRGPIO is not set -# CONFIG_GPIO_MOCKUP is not set CONFIG_GPIO_PL061=y -# CONFIG_GPIO_SYSCON is not set -CONFIG_GPIO_XGENE=y -# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_XGENE is not set # # I2C GPIO expanders # -# CONFIG_GPIO_ADP5588 is not set -# CONFIG_GPIO_ADNP is not set -# CONFIG_GPIO_MAX7300 is not set -# CONFIG_GPIO_MAX732X is not set CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCA953X_IRQ=y -# CONFIG_GPIO_PCF857X is not set -# CONFIG_GPIO_SX150X is not set -# CONFIG_GPIO_TPIC2810 is not set # # MFD GPIO expanders @@ -2079,212 +1527,42 @@ CONFIG_GPIO_MAX77620=y # # PCI GPIO expanders # -# CONFIG_GPIO_BT8XX is not set -# CONFIG_GPIO_PCI_IDIO_16 is not set -# CONFIG_GPIO_RDC321X is not set # # SPI GPIO expanders # -# CONFIG_GPIO_74X164 is not set -# CONFIG_GPIO_MAX7301 is not set -# CONFIG_GPIO_MC33880 is not set -# CONFIG_GPIO_PISOSR is not set -# CONFIG_GPIO_XRA1403 is not set # # USB GPIO expanders # -# CONFIG_W1 is not set -# CONFIG_POWER_AVS is not set -CONFIG_POWER_RESET=y # CONFIG_POWER_RESET_BRCMSTB is not set -# CONFIG_POWER_RESET_GPIO is not set -# CONFIG_POWER_RESET_GPIO_RESTART is not set -# CONFIG_POWER_RESET_LTC2952 is not set -# CONFIG_POWER_RESET_RESTART is not set +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_RESTART=y CONFIG_POWER_RESET_VEXPRESS=y -CONFIG_POWER_RESET_XGENE=y +# CONFIG_POWER_RESET_XGENE is not set CONFIG_POWER_RESET_SYSCON=y -# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set -# CONFIG_SYSCON_REBOOT_MODE is not set -CONFIG_POWER_SUPPLY=y -# CONFIG_POWER_SUPPLY_DEBUG is not set -# CONFIG_PDA_POWER is not set -# CONFIG_GENERIC_ADC_BATTERY is not set -# CONFIG_TEST_POWER is not set -# CONFIG_BATTERY_DS2780 is not set -# CONFIG_BATTERY_DS2781 is not set -# CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_LEGO_EV3 is not set -# CONFIG_BATTERY_SBS is not set -# CONFIG_CHARGER_SBS is not set +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y CONFIG_BATTERY_BQ27XXX=y -CONFIG_BATTERY_BQ27XXX_I2C=y -# CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set -# CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set -# CONFIG_CHARGER_MAX8903 is not set -# CONFIG_CHARGER_LP8727 is not set -# CONFIG_CHARGER_GPIO is not set # CONFIG_CHARGER_MANAGER is not set -# CONFIG_CHARGER_LTC3651 is not set -# CONFIG_CHARGER_DETECTOR_MAX14656 is not set -# CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_BQ24190 is not set -# CONFIG_CHARGER_BQ24257 is not set -# CONFIG_CHARGER_BQ24735 is not set -# CONFIG_CHARGER_BQ25890 is not set -# CONFIG_CHARGER_SMB347 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set -# CONFIG_CHARGER_RT9455 is not set -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_HWMON_DEBUG_CHIP is not set # # Native drivers # -# CONFIG_SENSORS_AD7314 is not set -# CONFIG_SENSORS_AD7414 is not set -# CONFIG_SENSORS_AD7418 is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ADT7310 is not set -# CONFIG_SENSORS_ADT7410 is not set -# CONFIG_SENSORS_ADT7411 is not set -# CONFIG_SENSORS_ADT7462 is not set -# CONFIG_SENSORS_ADT7470 is not set -# CONFIG_SENSORS_ADT7475 is not set -# CONFIG_SENSORS_ASC7621 is not set CONFIG_SENSORS_ARM_SCPI=y -# CONFIG_SENSORS_ASPEED is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS620 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_I5K_AMB is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_F71882FG is not set -# CONFIG_SENSORS_F75375S is not set -# CONFIG_SENSORS_FTSTEUTATES is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_G760A is not set -# CONFIG_SENSORS_G762 is not set -# CONFIG_SENSORS_GPIO_FAN is not set -# CONFIG_SENSORS_HIH6130 is not set -# CONFIG_SENSORS_IIO_HWMON is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_JC42 is not set -# CONFIG_SENSORS_POWR1220 is not set -# CONFIG_SENSORS_LINEAGE is not set -# CONFIG_SENSORS_LTC2945 is not set -# CONFIG_SENSORS_LTC2990 is not set -# CONFIG_SENSORS_LTC4151 is not set -# CONFIG_SENSORS_LTC4215 is not set -# CONFIG_SENSORS_LTC4222 is not set -# CONFIG_SENSORS_LTC4245 is not set -# CONFIG_SENSORS_LTC4260 is not set -# CONFIG_SENSORS_LTC4261 is not set -# CONFIG_SENSORS_MAX1111 is not set -# CONFIG_SENSORS_MAX16065 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_MAX1668 is not set -# CONFIG_SENSORS_MAX197 is not set -# CONFIG_SENSORS_MAX31722 is not set -# CONFIG_SENSORS_MAX6639 is not set -# CONFIG_SENSORS_MAX6642 is not set -# CONFIG_SENSORS_MAX6650 is not set -# CONFIG_SENSORS_MAX6697 is not set -# CONFIG_SENSORS_MAX31790 is not set -# CONFIG_SENSORS_MCP3021 is not set -# CONFIG_SENSORS_TC654 is not set -# CONFIG_SENSORS_ADCXX is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM73 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set CONFIG_SENSORS_LM90=m -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_LM93 is not set -# CONFIG_SENSORS_LM95234 is not set -# CONFIG_SENSORS_LM95241 is not set -# CONFIG_SENSORS_LM95245 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -# CONFIG_SENSORS_NTC_THERMISTOR is not set -# CONFIG_SENSORS_NCT6683 is not set -# CONFIG_SENSORS_NCT6775 is not set -# CONFIG_SENSORS_NCT7802 is not set -# CONFIG_SENSORS_NCT7904 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_PMBUS is not set -# CONFIG_SENSORS_PWM_FAN is not set -# CONFIG_SENSORS_SHT15 is not set -# CONFIG_SENSORS_SHT21 is not set -# CONFIG_SENSORS_SHT3x is not set -# CONFIG_SENSORS_SHTC1 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_DME1737 is not set -# CONFIG_SENSORS_EMC1403 is not set -# CONFIG_SENSORS_EMC2103 is not set -# CONFIG_SENSORS_EMC6W201 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_SCH56XX_COMMON is not set -# CONFIG_SENSORS_SCH5627 is not set -# CONFIG_SENSORS_SCH5636 is not set -# CONFIG_SENSORS_STTS751 is not set -# CONFIG_SENSORS_SMM665 is not set -# CONFIG_SENSORS_ADC128D818 is not set -# CONFIG_SENSORS_ADS1015 is not set -# CONFIG_SENSORS_ADS7828 is not set -# CONFIG_SENSORS_ADS7871 is not set -# CONFIG_SENSORS_AMC6821 is not set -# CONFIG_SENSORS_INA209 is not set CONFIG_SENSORS_INA2XX=m -# CONFIG_SENSORS_INA3221 is not set -# CONFIG_SENSORS_TC74 is not set -# CONFIG_SENSORS_THMC50 is not set -# CONFIG_SENSORS_TMP102 is not set -# CONFIG_SENSORS_TMP103 is not set -# CONFIG_SENSORS_TMP108 is not set -# CONFIG_SENSORS_TMP401 is not set -# CONFIG_SENSORS_TMP421 is not set # CONFIG_SENSORS_VEXPRESS is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_VT8231 is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83795 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83L786NG is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set # # ACPI drivers # -# CONFIG_SENSORS_ACPI_POWER is not set CONFIG_THERMAL=y CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_HWMON=y CONFIG_THERMAL_OF=y -# CONFIG_THERMAL_WRITABLE_TRIPS is not set +CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set @@ -2295,7 +1573,8 @@ CONFIG_THERMAL_GOV_STEP_WISE=y # CONFIG_THERMAL_GOV_USER_SPACE is not set CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y CONFIG_CPU_THERMAL=y -# CONFIG_CLOCK_THERMAL is not set +CONFIG_CLOCK_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y CONFIG_THERMAL_EMULATION=y # CONFIG_MAX77620_THERMAL is not set # CONFIG_QORIQ_THERMAL is not set @@ -2306,169 +1585,50 @@ CONFIG_THERMAL_EMULATION=y # CONFIG_QCOM_SPMI_TEMP_ALARM is not set # CONFIG_GENERIC_ADC_THERMAL is not set CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_CORE=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y -# CONFIG_WATCHDOG_SYSFS is not set # # Watchdog Device Drivers # -# CONFIG_SOFT_WATCHDOG is not set -# CONFIG_GPIO_WATCHDOG is not set -# CONFIG_WDAT_WDT is not set -# CONFIG_XILINX_WATCHDOG is not set -# CONFIG_ZIIRAVE_WATCHDOG is not set -# CONFIG_ARM_SP805_WATCHDOG is not set -# CONFIG_ARM_SBSA_WATCHDOG is not set -# CONFIG_CADENCE_WATCHDOG is not set -# CONFIG_DW_WATCHDOG is not set -# CONFIG_MAX63XX_WATCHDOG is not set -# CONFIG_MAX77620_WATCHDOG is not set -CONFIG_MESON_GXBB_WATCHDOG=m -CONFIG_MESON_WATCHDOG=m -# CONFIG_ALIM7101_WDT is not set -# CONFIG_I6300ESB_WDT is not set -# CONFIG_MEN_A21_WDT is not set -# CONFIG_XEN_WDT is not set +CONFIG_MESON_GXBB_WATCHDOG=y +CONFIG_MESON_WATCHDOG=y # # PCI-based Watchdog Cards # -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_WDTPCI is not set # # USB-based Watchdog Cards # -# CONFIG_USBPCWATCHDOG is not set # # Watchdog Pretimeout Governors # -# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set -CONFIG_SSB_POSSIBLE=y - -# -# Sonics Silicon Backplane -# -# CONFIG_SSB is not set -CONFIG_BCMA_POSSIBLE=y -# CONFIG_BCMA is not set # # Multifunction device drivers # -CONFIG_MFD_CORE=y -# CONFIG_MFD_ACT8945A is not set -# CONFIG_MFD_AS3711 is not set -# CONFIG_MFD_AS3722 is not set -# CONFIG_PMIC_ADP5520 is not set -# CONFIG_MFD_AAT2870_CORE is not set -# CONFIG_MFD_ATMEL_FLEXCOM is not set -# CONFIG_MFD_ATMEL_HLCDC is not set -# CONFIG_MFD_BCM590XX is not set -# CONFIG_MFD_BD9571MWV is not set -# CONFIG_MFD_AXP20X_I2C is not set -# CONFIG_MFD_CROS_EC is not set -# CONFIG_PMIC_DA903X is not set -# CONFIG_MFD_DA9052_SPI is not set -# CONFIG_MFD_DA9052_I2C is not set -# CONFIG_MFD_DA9055 is not set -# CONFIG_MFD_DA9062 is not set -# CONFIG_MFD_DA9063 is not set -# CONFIG_MFD_DA9150 is not set -# CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_MC13XXX_SPI is not set -# CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_MFD_HI6421_PMIC is not set -# CONFIG_HTC_PASIC3 is not set -# CONFIG_HTC_I2CPLD is not set -# CONFIG_LPC_ICH is not set -# CONFIG_LPC_SCH is not set -# CONFIG_MFD_JANZ_CMODIO is not set -# CONFIG_MFD_KEMPLD is not set -# CONFIG_MFD_88PM800 is not set -# CONFIG_MFD_88PM805 is not set -# CONFIG_MFD_88PM860X is not set -# CONFIG_MFD_MAX14577 is not set +CONFIG_MFD_CROS_EC=y +CONFIG_MFD_CROS_EC_I2C=y +CONFIG_MFD_CROS_EC_SPI=y +CONFIG_MFD_HI6421_PMIC=y CONFIG_MFD_MAX77620=y -# CONFIG_MFD_MAX77686 is not set -# CONFIG_MFD_MAX77693 is not set -# CONFIG_MFD_MAX77843 is not set -# CONFIG_MFD_MAX8907 is not set -# CONFIG_MFD_MAX8925 is not set -# CONFIG_MFD_MAX8997 is not set -# CONFIG_MFD_MAX8998 is not set -# CONFIG_MFD_MT6397 is not set -# CONFIG_MFD_MENF21BMC is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_MFD_CPCAP is not set -# CONFIG_MFD_VIPERBOARD is not set -# CONFIG_MFD_RETU is not set -# CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_RDC321X is not set -# CONFIG_MFD_RTSX_PCI is not set -# CONFIG_MFD_RT5033 is not set -# CONFIG_MFD_RTSX_USB is not set -# CONFIG_MFD_RC5T583 is not set CONFIG_MFD_RK808=y -# CONFIG_MFD_RN5T618 is not set CONFIG_MFD_SEC_CORE=y -# CONFIG_MFD_SI476X_CORE is not set -# CONFIG_MFD_SM501 is not set -# CONFIG_MFD_SKY81452 is not set -# CONFIG_MFD_SMSC is not set # CONFIG_ABX500_CORE is not set -# CONFIG_MFD_STMPE is not set -CONFIG_MFD_SYSCON=y -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# CONFIG_MFD_LP3943 is not set -# CONFIG_MFD_LP8788 is not set -# CONFIG_MFD_TI_LMU is not set -# CONFIG_MFD_PALMAS is not set -# CONFIG_TPS6105X is not set -# CONFIG_TPS65010 is not set -# CONFIG_TPS6507X is not set -# CONFIG_MFD_TPS65086 is not set -# CONFIG_MFD_TPS65090 is not set -# CONFIG_MFD_TPS65217 is not set -# CONFIG_MFD_TPS68470 is not set -# CONFIG_MFD_TI_LP873X is not set -# CONFIG_MFD_TI_LP87565 is not set -# CONFIG_MFD_TPS65218 is not set -# CONFIG_MFD_TPS6586X is not set -# CONFIG_MFD_TPS65910 is not set -# CONFIG_MFD_TPS65912_I2C is not set -# CONFIG_MFD_TPS65912_SPI is not set -# CONFIG_MFD_TPS80031 is not set -# CONFIG_TWL4030_CORE is not set -# CONFIG_TWL6040_CORE is not set -# CONFIG_MFD_WL1273_CORE is not set -# CONFIG_MFD_LM3533 is not set -# CONFIG_MFD_TC3589X is not set -# CONFIG_MFD_TMIO is not set -# CONFIG_MFD_VX855 is not set -# CONFIG_MFD_ARIZONA_I2C is not set -# CONFIG_MFD_ARIZONA_SPI is not set -# CONFIG_MFD_WM8400 is not set -# CONFIG_MFD_WM831X_I2C is not set -# CONFIG_MFD_WM831X_SPI is not set -# CONFIG_MFD_WM8350_I2C is not set -# CONFIG_MFD_WM8994 is not set CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set CONFIG_REGULATOR_FIXED_VOLTAGE=y -# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set # CONFIG_REGULATOR_ACT8865 is not set # CONFIG_REGULATOR_AD5398 is not set # CONFIG_REGULATOR_ANATOP is not set # CONFIG_REGULATOR_DA9210 is not set # CONFIG_REGULATOR_DA9211 is not set -# CONFIG_REGULATOR_FAN53555 is not set +CONFIG_REGULATOR_FAN53555=y CONFIG_REGULATOR_GPIO=y +CONFIG_REGULATOR_HI6421V530=y # CONFIG_REGULATOR_ISL9305 is not set # CONFIG_REGULATOR_ISL6271A is not set # CONFIG_REGULATOR_LP3971 is not set @@ -2489,7 +1649,7 @@ CONFIG_REGULATOR_MAX77620=y # CONFIG_REGULATOR_PV88080 is not set # CONFIG_REGULATOR_PV88090 is not set CONFIG_REGULATOR_PWM=y -CONFIG_REGULATOR_QCOM_SPMI=y +# CONFIG_REGULATOR_QCOM_SPMI is not set CONFIG_REGULATOR_RK808=y # CONFIG_REGULATOR_S2MPA01 is not set CONFIG_REGULATOR_S2MPS11=y @@ -2502,44 +1662,455 @@ CONFIG_REGULATOR_S2MPS11=y # CONFIG_REGULATOR_TPS6524X is not set # CONFIG_REGULATOR_VCTRL is not set # CONFIG_REGULATOR_VEXPRESS is not set -CONFIG_CEC_CORE=m -CONFIG_CEC_NOTIFIER=y -# CONFIG_RC_CORE is not set -CONFIG_MEDIA_SUPPORT=m +CONFIG_CEC_CORE=y +CONFIG_RC_CORE=y +CONFIG_RC_MAP=m +CONFIG_LIRC=y +CONFIG_RC_DECODERS=y +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_SANYO_DECODER=m +CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_XMP_DECODER=m +CONFIG_RC_DEVICES=y +CONFIG_RC_ATI_REMOTE=m +CONFIG_IR_IMON=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_MESON=y +CONFIG_IR_REDRAT3=m +# CONFIG_IR_SPI is not set +CONFIG_IR_STREAMZAP=m +CONFIG_IR_IGUANA=m +CONFIG_IR_TTUSBIR=m +# CONFIG_IR_GPIO_TX is not set +# CONFIG_IR_PWM_TX is not set +CONFIG_MEDIA_SUPPORT=y # # Multimedia core support # -# CONFIG_MEDIA_CAMERA_SUPPORT is not set -# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set -# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set -# CONFIG_MEDIA_RADIO_SUPPORT is not set -# CONFIG_MEDIA_SDR_SUPPORT is not set +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_CEC_SUPPORT=y -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -# CONFIG_TTPCI_EEPROM is not set +CONFIG_MEDIA_CEC_RC=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2=y +CONFIG_VIDEO_TUNER=m +CONFIG_V4L2_MEM2MEM_DEV=y +CONFIG_V4L2_FWNODE=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_V4L2=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_DMA_CONTIG=y +CONFIG_DVB_NET=y +CONFIG_TTPCI_EEPROM=m # # Media drivers # -# CONFIG_MEDIA_USB_SUPPORT is not set -# CONFIG_MEDIA_PCI_SUPPORT is not set +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_GL860=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +# CONFIG_USB_GSPCA_DTCS033 is not set +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STK1135=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TOUPTEK=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_VIDEO_CPIA2=m +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_S2255=m +CONFIG_VIDEO_USBTV=m + +# +# Analog TV USB devices +# +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DVB=y +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +# CONFIG_VIDEO_HDPVR is not set +CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_STK1160_COMMON=m +CONFIG_VIDEO_STK1160=m +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_USB=m +CONFIG_VIDEO_GO7007_LOADER=m +CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m + +# +# Analog/digital TV USB devices +# +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_AU0828_V4L2=y +# CONFIG_VIDEO_AU0828_RC is not set +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m + +# +# Digital TV USB devices +# +CONFIG_DVB_USB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_DIB3000MC=m +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_CXUSB=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_V2=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_AF9035=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_AZ6007=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_DVBSKY=m +CONFIG_DVB_USB_ZD1301=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_SMS_USB_DRV=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set +CONFIG_DVB_AS102=m + +# +# Webcam, TV (analog/digital) USB devices +# +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_V4L2=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=m + +# +# USB HDMI CEC adapters +# +CONFIG_USB_PULSE8_CEC=m +CONFIG_USB_RAINSHADOW_CEC=m +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_AML_MESON_VDEC=y +CONFIG_VIDEO_MESON_VDEC=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_VIDEO_MESON_AO_CEC=m # # Supported MMC/SDIO adapters # -# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_MEDIA_COMMON_OPTIONS=y + +# +# common driver options +# +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_CYPRESS_FIRMWARE=m +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_SIANO_RC=y # # Media ancillary drivers (tuners, sensors, i2c, spi, frontends) # # -# Customise DVB Frontends +# Audio decoders, processors and mixers # +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_UDA1342=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_SONY_BTF_MPX=m + +# +# RDS decoders +# + +# +# Video decoders +# +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_TW2804=m +CONFIG_VIDEO_TW9903=m +CONFIG_VIDEO_TW9906=m + +# +# Video and audio decoders +# +CONFIG_VIDEO_CX25840=m + +# +# Video encoders +# + +# +# Camera sensor devices +# +CONFIG_VIDEO_OV2640=m +CONFIG_VIDEO_OV7640=m +CONFIG_VIDEO_MT9V011=m + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# SDR tuner chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# +CONFIG_MEDIA_TUNER_TDA18250=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2063=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_FC0011=m +CONFIG_MEDIA_TUNER_FC0012=m +CONFIG_MEDIA_TUNER_FC0013=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_MEDIA_TUNER_E4000=m +CONFIG_MEDIA_TUNER_FC2580=m +CONFIG_MEDIA_TUNER_TUA9001=m +CONFIG_MEDIA_TUNER_SI2157=m +CONFIG_MEDIA_TUNER_IT913X=m +CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m + +# +# Multistandard (satellite) frontends +# +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV6110x=m +CONFIG_DVB_M88DS3103=m + +# +# Multistandard (cable + terrestrial) frontends +# +CONFIG_DVB_DRXK=m +CONFIG_DVB_TDA18271C2DD=m +CONFIG_DVB_SI2165=m +CONFIG_DVB_MN88472=m +CONFIG_DVB_MN88473=m + +# +# DVB-S (satellite) frontends +# +CONFIG_DVB_CX24123=m +CONFIG_DVB_MT312=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_CX24120=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_TS2020=m +CONFIG_DVB_DS3000=m +CONFIG_DVB_TDA10071=m + +# +# DVB-T (terrestrial) frontends +# +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_MT352=m +CONFIG_DVB_ZL10353=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_EC100=m +CONFIG_DVB_CXD2820R=m +CONFIG_DVB_RTL2830=m +CONFIG_DVB_RTL2832=m +CONFIG_DVB_SI2168=m +CONFIG_DVB_AS102_FE=m +CONFIG_DVB_ZD1301_DEMOD=m +CONFIG_DVB_GP8PSK_FE=m + +# +# DVB-C (cable) frontends +# +CONFIG_DVB_VES1820=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_STV0297=m + +# +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends +# +CONFIG_DVB_NXT200X=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT3306A=m +CONFIG_DVB_LG2160=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_DTV=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_S5H1411=m + +# +# ISDB-T (terrestrial) frontends +# +CONFIG_DVB_S921=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_MB86A20S=m + +# +# ISDB-S (satellite) & ISDB-T (terrestrial) frontends +# +CONFIG_DVB_TC90522=m + +# +# Digital terrestrial only tuners/PLL +# +CONFIG_DVB_PLL=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# SEC control devices for DVB-S +# +CONFIG_DVB_DRX39XYJ=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_A8293=m +CONFIG_DVB_SP2=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_M88RS2000=m +CONFIG_DVB_AF9033=m # # Tools to develop new frontends @@ -2548,363 +2119,177 @@ CONFIG_VIDEO_MESON_AO_CEC=m # # Graphics support # -CONFIG_VGA_ARB=y -CONFIG_VGA_ARB_MAX_GPUS=16 -CONFIG_DRM=m -CONFIG_DRM_MIPI_DSI=y -# CONFIG_DRM_DP_AUX_CHARDEV is not set -# CONFIG_DRM_DEBUG_MM_SELFTEST is not set -CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM=y +# CONFIG_DRM_DEBUG_MM is not set +CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y -CONFIG_DRM_FBDEV_OVERALLOC=100 -# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set -CONFIG_DRM_GEM_CMA_HELPER=y -CONFIG_DRM_KMS_CMA_HELPER=y +CONFIG_DRM_FBDEV_OVERALLOC=200 # # I2C encoder or helper chips # -CONFIG_DRM_I2C_CH7006=m -CONFIG_DRM_I2C_SIL164=m -# CONFIG_DRM_I2C_NXP_TDA998X is not set -# CONFIG_DRM_HDLCD is not set -# CONFIG_DRM_MALI_DISPLAY is not set -# CONFIG_DRM_RADEON is not set -# CONFIG_DRM_AMDGPU is not set +# CONFIG_DRM_I2C_CH7006 is not set +# CONFIG_DRM_I2C_SIL164 is not set # # ACP (Audio CoProcessor) Configuration # + +# +# AMD Library routines +# # CONFIG_DRM_NOUVEAU is not set -# CONFIG_DRM_VGEM is not set -# CONFIG_DRM_UDL is not set -# CONFIG_DRM_AST is not set -# CONFIG_DRM_MGAG200 is not set -# CONFIG_DRM_CIRRUS_QEMU is not set -# CONFIG_DRM_RCAR_DW_HDMI is not set -# CONFIG_DRM_QXL is not set -# CONFIG_DRM_BOCHS is not set -# CONFIG_DRM_VIRTIO_GPU is not set -CONFIG_DRM_PANEL=y # # Display Panels # -# CONFIG_DRM_PANEL_LVDS is not set CONFIG_DRM_PANEL_SIMPLE=m -# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set -# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set -# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set -# CONFIG_DRM_PANEL_LG_LG4573 is not set -# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set -# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set -# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set -# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set -CONFIG_DRM_BRIDGE=y -CONFIG_DRM_PANEL_BRIDGE=y # # Display Interface Bridges # -# CONFIG_DRM_ANALOGIX_ANX78XX is not set -# CONFIG_DRM_DUMB_VGA_DAC is not set -# CONFIG_DRM_LVDS_ENCODER is not set -# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set -# CONFIG_DRM_NXP_PTN3460 is not set -# CONFIG_DRM_PARADE_PS8622 is not set -# CONFIG_DRM_SIL_SII8620 is not set -# CONFIG_DRM_SII902X is not set -# CONFIG_DRM_TOSHIBA_TC358767 is not set -# CONFIG_DRM_TI_TFP410 is not set CONFIG_DRM_I2C_ADV7511=m -CONFIG_DRM_I2C_ADV7533=y -CONFIG_DRM_DW_HDMI=m -# CONFIG_DRM_DW_HDMI_CEC is not set -# CONFIG_DRM_ARCPGU is not set +CONFIG_DRM_DW_HDMI=y +CONFIG_DRM_DW_HDMI_I2S_AUDIO=y +CONFIG_DRM_DW_HDMI_CEC=m # CONFIG_DRM_HISI_HIBMC is not set # CONFIG_DRM_HISI_KIRIN is not set -# CONFIG_DRM_MXSFB is not set -CONFIG_DRM_MESON=m -CONFIG_DRM_MESON_DW_HDMI=m -# CONFIG_DRM_TINYDRM is not set -# CONFIG_DRM_PL111 is not set -# CONFIG_DRM_LEGACY is not set -# CONFIG_DRM_LIB_RANDOM is not set +CONFIG_DRM_MESON=y +CONFIG_DRM_MESON_DW_HDMI=y +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y # # Frame buffer Devices # CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -CONFIG_FB_CMDLINE=y -CONFIG_FB_NOTIFY=y -# CONFIG_FB_DDC is not set -# CONFIG_FB_BOOT_VESA_SUPPORT is not set -CONFIG_FB_CFB_FILLRECT=m -CONFIG_FB_CFB_COPYAREA=m -CONFIG_FB_CFB_IMAGEBLIT=m -# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set -CONFIG_FB_SYS_FILLRECT=m -CONFIG_FB_SYS_COPYAREA=m -CONFIG_FB_SYS_IMAGEBLIT=m -# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set -# CONFIG_FB_FOREIGN_ENDIAN is not set -CONFIG_FB_SYS_FOPS=m -CONFIG_FB_DEFERRED_IO=y -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -CONFIG_FB_MODE_HELPERS=y -# CONFIG_FB_TILEBLITTING is not set # # Frame buffer hardware drivers # -# CONFIG_FB_CIRRUS is not set -# CONFIG_FB_PM2 is not set -# CONFIG_FB_ARMCLCD is not set -# CONFIG_FB_CYBER2000 is not set -# CONFIG_FB_ASILIANT is not set -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_EFI is not set -# CONFIG_FB_OPENCORES is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_NVIDIA is not set -# CONFIG_FB_RIVA is not set -# CONFIG_FB_I740 is not set -# CONFIG_FB_MATROX is not set -# CONFIG_FB_RADEON is not set -# CONFIG_FB_ATY128 is not set -# CONFIG_FB_ATY is not set -# CONFIG_FB_S3 is not set -# CONFIG_FB_SAVAGE is not set -# CONFIG_FB_SIS is not set -# CONFIG_FB_NEOMAGIC is not set -# CONFIG_FB_KYRO is not set -# CONFIG_FB_3DFX is not set -# CONFIG_FB_VOODOO1 is not set -# CONFIG_FB_VT8623 is not set -# CONFIG_FB_TRIDENT is not set -# CONFIG_FB_ARK is not set -# CONFIG_FB_PM3 is not set -# CONFIG_FB_CARMINE is not set -# CONFIG_FB_SMSCUFX is not set -# CONFIG_FB_UDL is not set -# CONFIG_FB_IBM_GXT4500 is not set -# CONFIG_FB_VIRTUAL is not set -# CONFIG_XEN_FBDEV_FRONTEND is not set -# CONFIG_FB_METRONOME is not set -# CONFIG_FB_MB862XX is not set -# CONFIG_FB_BROADSHEET is not set -# CONFIG_FB_AUO_K190X is not set -# CONFIG_FB_SIMPLE is not set -# CONFIG_FB_SSD1307 is not set -# CONFIG_FB_SM712 is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_LCD_CLASS_DEVICE=m -# CONFIG_LCD_L4F00242T03 is not set -# CONFIG_LCD_LMS283GF05 is not set -# CONFIG_LCD_LTV350QV is not set -# CONFIG_LCD_ILI922X is not set -# CONFIG_LCD_ILI9320 is not set -# CONFIG_LCD_TDO24M is not set -# CONFIG_LCD_VGG2432A4 is not set -# CONFIG_LCD_PLATFORM is not set -# CONFIG_LCD_S6E63M0 is not set -# CONFIG_LCD_LD9040 is not set -# CONFIG_LCD_AMS369FG06 is not set -# CONFIG_LCD_LMS501KF03 is not set -# CONFIG_LCD_HX8357 is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_FB_ARMCLCD=y +# CONFIG_FB_UVESA is not set CONFIG_BACKLIGHT_GENERIC=m -# CONFIG_BACKLIGHT_PWM is not set -# CONFIG_BACKLIGHT_PM8941_WLED is not set -# CONFIG_BACKLIGHT_ADP8860 is not set -# CONFIG_BACKLIGHT_ADP8870 is not set -# CONFIG_BACKLIGHT_LM3630A is not set -# CONFIG_BACKLIGHT_LM3639 is not set +CONFIG_BACKLIGHT_PWM=m CONFIG_BACKLIGHT_LP855X=m -# CONFIG_BACKLIGHT_GPIO is not set -# CONFIG_BACKLIGHT_LV5207LP is not set -# CONFIG_BACKLIGHT_BD6107 is not set -# CONFIG_BACKLIGHT_ARCXCNN is not set -# CONFIG_VGASTATE is not set -CONFIG_VIDEOMODE_HELPERS=y -CONFIG_HDMI=y # # Console display driver support # -CONFIG_DUMMY_CONSOLE=y -CONFIG_DUMMY_CONSOLE_COLUMNS=80 -CONFIG_DUMMY_CONSOLE_ROWS=25 CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set CONFIG_LOGO=y # CONFIG_LOGO_LINUX_MONO is not set # CONFIG_LOGO_LINUX_VGA16 is not set -CONFIG_LOGO_LINUX_CLUT224=y -# CONFIG_SOUND is not set +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_HWDEP=m +CONFIG_SND_RAWMIDI=m +CONFIG_SND_VMASTER=y + +# +# HD-Audio +# +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_USB_HIFACE=m +CONFIG_SND_SOC=y + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +CONFIG_SND_SOC_MESON=y +CONFIG_SND_SOC_MESON_I2S=y + +# +# STMicroelectronics STM32 SOC audio support +# + +# +# CODEC drivers +# +CONFIG_SND_SOC_AK4613=m +CONFIG_SND_SOC_DIO2125=m +CONFIG_SND_SOC_HDMI_CODEC=y +CONFIG_SND_SOC_ES7134=m +CONFIG_SND_SOC_PCM512x=m +CONFIG_SND_SOC_PCM512x_I2C=m +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SIMPLE_CARD=y +CONFIG_SND_SIMPLE_SCU_CARD=m # # HID support # -CONFIG_HID=y -# CONFIG_HID_BATTERY_STRENGTH is not set -# CONFIG_HIDRAW is not set -# CONFIG_UHID is not set -CONFIG_HID_GENERIC=y # # Special HID drivers # CONFIG_HID_A4TECH=y -# CONFIG_HID_ACCUTOUCH is not set -# CONFIG_HID_ACRUX is not set CONFIG_HID_APPLE=y -# CONFIG_HID_APPLEIR is not set -# CONFIG_HID_ASUS is not set -# CONFIG_HID_AUREAL is not set +CONFIG_HID_APPLEIR=m CONFIG_HID_BELKIN=y -# CONFIG_HID_BETOP_FF is not set CONFIG_HID_CHERRY=y CONFIG_HID_CHICONY=y -# CONFIG_HID_CORSAIR is not set -# CONFIG_HID_CMEDIA is not set CONFIG_HID_CYPRESS=y -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_EMS_FF is not set -# CONFIG_HID_ELECOM is not set -# CONFIG_HID_ELO is not set +CONFIG_HID_ELO=m CONFIG_HID_EZKEY=y -# CONFIG_HID_GEMBIRD is not set -# CONFIG_HID_GFRM is not set -# CONFIG_HID_HOLTEK is not set -# CONFIG_HID_GT683R is not set -# CONFIG_HID_KEYTOUCH is not set -# CONFIG_HID_KYE is not set -# CONFIG_HID_UCLOGIC is not set -# CONFIG_HID_WALTOP is not set -# CONFIG_HID_GYRATION is not set -# CONFIG_HID_ICADE is not set -CONFIG_HID_ITE=y -# CONFIG_HID_TWINHAN is not set +CONFIG_HID_HOLTEK=m +CONFIG_HOLTEK_FF=y +CONFIG_HID_UCLOGIC=m CONFIG_HID_KENSINGTON=y -# CONFIG_HID_LCPOWER is not set -# CONFIG_HID_LED is not set -# CONFIG_HID_LENOVO is not set CONFIG_HID_LOGITECH=y # CONFIG_HID_LOGITECH_HIDPP is not set # CONFIG_LOGITECH_FF is not set # CONFIG_LOGIRUMBLEPAD2_FF is not set # CONFIG_LOGIG940_FF is not set # CONFIG_LOGIWHEELS_FF is not set -# CONFIG_HID_MAGICMOUSE is not set -# CONFIG_HID_MAYFLASH is not set CONFIG_HID_MICROSOFT=y CONFIG_HID_MONTEREY=y -# CONFIG_HID_MULTITOUCH is not set -# CONFIG_HID_NTI is not set -# CONFIG_HID_NTRIG is not set -# CONFIG_HID_ORTEK is not set -# CONFIG_HID_PANTHERLORD is not set -# CONFIG_HID_PENMOUNT is not set -# CONFIG_HID_PETALYNX is not set -# CONFIG_HID_PICOLCD is not set -# CONFIG_HID_PLANTRONICS is not set -# CONFIG_HID_PRIMAX is not set -# CONFIG_HID_RETRODE is not set -# CONFIG_HID_ROCCAT is not set -# CONFIG_HID_SAITEK is not set -# CONFIG_HID_SAMSUNG is not set -# CONFIG_HID_SONY is not set -# CONFIG_HID_SPEEDLINK is not set -# CONFIG_HID_STEELSERIES is not set -# CONFIG_HID_SUNPLUS is not set -# CONFIG_HID_RMI is not set -# CONFIG_HID_GREENASIA is not set -# CONFIG_HID_SMARTJOYPLUS is not set -# CONFIG_HID_TIVO is not set -# CONFIG_HID_TOPSEED is not set -# CONFIG_HID_THINGM is not set -# CONFIG_HID_THRUSTMASTER is not set -# CONFIG_HID_UDRAW_PS3 is not set -# CONFIG_HID_WACOM is not set -# CONFIG_HID_WIIMOTE is not set -# CONFIG_HID_XINMO is not set -# CONFIG_HID_ZEROPLUS is not set -# CONFIG_HID_ZYDACRON is not set -# CONFIG_HID_SENSOR_HUB is not set -# CONFIG_HID_ALPS is not set +CONFIG_HID_NTRIG=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_SONY=m +CONFIG_SONY_FF=y +CONFIG_HID_WACOM=m # # USB HID support # -CONFIG_USB_HID=y -# CONFIG_HID_PID is not set -# CONFIG_USB_HIDDEV is not set +CONFIG_HID_PID=y +CONFIG_USB_HIDDEV=y # # I2C HID support # -# CONFIG_I2C_HID is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_COMMON=y -CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB=y -CONFIG_USB_PCI=y -# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set # # Miscellaneous USB options # -CONFIG_USB_DEFAULT_PERSIST=y -# CONFIG_USB_DYNAMIC_MINORS is not set CONFIG_USB_OTG=y -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set -# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set -# CONFIG_USB_MON is not set -# CONFIG_USB_WUSB_CBAF is not set +CONFIG_USB_MON=m # # USB Host Controller Drivers # -# CONFIG_USB_C67X00_HCD is not set CONFIG_USB_XHCI_HCD=y -CONFIG_USB_XHCI_PCI=y -CONFIG_USB_XHCI_PLATFORM=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_ROOT_HUB_TT=y -CONFIG_USB_EHCI_TT_NEWSCHED=y -CONFIG_USB_EHCI_PCI=y CONFIG_USB_EHCI_HCD_PLATFORM=y -# CONFIG_USB_OXU210HP_HCD is not set -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_ISP1362_HCD is not set -# CONFIG_USB_FOTG210_HCD is not set -# CONFIG_USB_MAX3421_HCD is not set CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_PCI=y CONFIG_USB_OHCI_HCD_PLATFORM=y -# CONFIG_USB_UHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_R8A66597_HCD is not set -# CONFIG_USB_HCD_TEST_MODE is not set # # USB Device Class drivers # -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set -# CONFIG_USB_WDM is not set -# CONFIG_USB_TMC is not set +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +CONFIG_USB_WDM=m # # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may @@ -2914,435 +2299,333 @@ CONFIG_USB_OHCI_HCD_PLATFORM=y # also be needed; see USB_STORAGE Help for more info # CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_REALTEK is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_STORAGE_KARMA is not set -# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set -# CONFIG_USB_STORAGE_ENE_UB6250 is not set -# CONFIG_USB_UAS is not set +CONFIG_USB_UAS=m # # USB Imaging devices # -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set -# CONFIG_USBIP_CORE is not set -# CONFIG_USB_MUSB_HDRC is not set +CONFIG_USBIP_CORE=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_VHCI_HC_PORTS=8 +CONFIG_USBIP_VHCI_NR_HCS=1 +CONFIG_USBIP_HOST=m +# CONFIG_USBIP_VUDC is not set +# CONFIG_USBIP_DEBUG is not set +CONFIG_USB_MUSB_HDRC=y + +# +# Platform Glue Layer +# + +# +# MUSB DMA mode +# CONFIG_USB_DWC3=y -# CONFIG_USB_DWC3_HOST is not set -# CONFIG_USB_DWC3_GADGET is not set -CONFIG_USB_DWC3_DUAL_ROLE=y # # Platform Glue Driver Support # -# CONFIG_USB_DWC3_PCI is not set -CONFIG_USB_DWC3_OF_SIMPLE=y CONFIG_USB_DWC2=y -# CONFIG_USB_DWC2_HOST is not set # # Gadget/Dual-role mode requires USB Gadget support to be enabled # -# CONFIG_USB_DWC2_PERIPHERAL is not set -CONFIG_USB_DWC2_DUAL_ROLE=y -# CONFIG_USB_DWC2_PCI is not set -# CONFIG_USB_DWC2_DEBUG is not set -# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_OF=y CONFIG_USB_CHIPIDEA_UDC=y CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_ULPI=y CONFIG_USB_ISP1760=y -CONFIG_USB_ISP1760_HCD=y -CONFIG_USB_ISP1761_UDC=y -# CONFIG_USB_ISP1760_HOST_ROLE is not set -# CONFIG_USB_ISP1760_GADGET_ROLE is not set -CONFIG_USB_ISP1760_DUAL_ROLE=y # # USB port drivers # -# CONFIG_USB_SERIAL is not set +CONFIG_USB_SERIAL=y +# CONFIG_USB_SERIAL_CONSOLE is not set +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_F8153X=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_UPD78F0730=m +# CONFIG_USB_SERIAL_DEBUG is not set # # USB Miscellaneous drivers # -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_ADUTUX is not set -# CONFIG_USB_SEVSEG is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_FTDI_ELAN is not set -# CONFIG_USB_APPLEDISPLAY is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_IOWARRIOR is not set -# CONFIG_USB_TEST is not set -# CONFIG_USB_EHSET_TEST_FIXTURE is not set -# CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_YUREX is not set -# CONFIG_USB_EZUSB_FX2 is not set -# CONFIG_USB_HUB_USB251XB is not set +CONFIG_USB_EMI62=m +CONFIG_USB_EMI26=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_RIO500=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LCD=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_SISUSBVGA=m +CONFIG_USB_SISUSBVGA_CON=y +CONFIG_USB_LD=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_YUREX=m +CONFIG_USB_EZUSB_FX2=m CONFIG_USB_HSIC_USB3503=y -# CONFIG_USB_HSIC_USB4604 is not set -# CONFIG_USB_LINK_LAYER_TEST is not set -# CONFIG_USB_CHAOSKEY is not set # # USB Physical Layer drivers # -# CONFIG_USB_PHY is not set -# CONFIG_NOP_USB_XCEIV is not set -# CONFIG_USB_GPIO_VBUS is not set -# CONFIG_USB_ISP1301 is not set +CONFIG_NOP_USB_XCEIV=y CONFIG_USB_ULPI=y -CONFIG_USB_ULPI_VIEWPORT=y CONFIG_USB_GADGET=y -# CONFIG_USB_GADGET_DEBUG is not set -# CONFIG_USB_GADGET_DEBUG_FILES is not set -# CONFIG_USB_GADGET_DEBUG_FS is not set -CONFIG_USB_GADGET_VBUS_DRAW=2 -CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_U_SERIAL_CONSOLE is not set # # USB Peripheral Controller # -# CONFIG_USB_FOTG210_UDC is not set -# CONFIG_USB_GR_UDC is not set -# CONFIG_USB_R8A66597 is not set -# CONFIG_USB_PXA27X is not set -# CONFIG_USB_MV_UDC is not set -# CONFIG_USB_MV_U3D is not set -CONFIG_USB_SNP_CORE=y -CONFIG_USB_SNP_UDC_PLAT=y -# CONFIG_USB_M66592 is not set +# CONFIG_USB_SNP_UDC_PLAT is not set # CONFIG_USB_BDC_UDC is not set -# CONFIG_USB_AMD5536UDC is not set -# CONFIG_USB_NET2272 is not set -# CONFIG_USB_NET2280 is not set -# CONFIG_USB_GOKU is not set -# CONFIG_USB_EG20T is not set -# CONFIG_USB_GADGET_XILINX is not set -# CONFIG_USB_DUMMY_HCD is not set -# CONFIG_USB_CONFIGFS is not set - -# -# USB Power Delivery and Type-C drivers -# -# CONFIG_TYPEC_UCSI is not set -# CONFIG_USB_LED_TRIG is not set -# CONFIG_USB_ULPI_BUS is not set -# CONFIG_UWB is not set +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_ACM=m +CONFIG_USB_F_SS_LB=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_U_ETHER=m +CONFIG_USB_U_AUDIO=m +CONFIG_USB_F_SERIAL=m +CONFIG_USB_F_OBEX=m +CONFIG_USB_F_NCM=m +CONFIG_USB_F_ECM=m +CONFIG_USB_F_PHONET=m +CONFIG_USB_F_EEM=m +CONFIG_USB_F_SUBSET=m +CONFIG_USB_F_RNDIS=m +CONFIG_USB_F_MASS_STORAGE=m +CONFIG_USB_F_FS=m +CONFIG_USB_F_UAC1=m +CONFIG_USB_F_UVC=m +CONFIG_USB_F_MIDI=m +CONFIG_USB_F_HID=m +CONFIG_USB_F_PRINTER=m +CONFIG_USB_CONFIGFS=m +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_PHONET=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_LB_SS=y +CONFIG_USB_CONFIGFS_F_FS=y +# CONFIG_USB_CONFIGFS_F_UAC1 is not set +# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONFIGFS_F_UAC2 is not set +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_UVC is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +CONFIG_USB_ZERO=m +# CONFIG_USB_ZERO_HNPTEST is not set +CONFIG_USB_AUDIO=m +CONFIG_GADGET_UAC1=y +# CONFIG_GADGET_UAC1_LEGACY is not set +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_ETH_EEM=y +CONFIG_USB_G_NCM=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +# CONFIG_USB_FUNCTIONFS_GENERIC is not set +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_G_NOKIA=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_MULTI=m +CONFIG_USB_G_MULTI_RNDIS=y +# CONFIG_USB_G_MULTI_CDC is not set +CONFIG_USB_G_HID=m +# CONFIG_USB_G_DBGP is not set +CONFIG_USB_G_WEBCAM=m +CONFIG_USB_ULPI_BUS=y CONFIG_MMC=y -CONFIG_PWRSEQ_EMMC=y -CONFIG_PWRSEQ_SIMPLE=y -CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=32 -# CONFIG_SDIO_UART is not set -# CONFIG_MMC_TEST is not set # # MMC/SD/SDIO Host Controller Drivers # -# CONFIG_MMC_DEBUG is not set CONFIG_MMC_ARMMMCI=y CONFIG_MMC_SDHCI=y -# CONFIG_MMC_SDHCI_PCI is not set CONFIG_MMC_SDHCI_ACPI=y CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MMC_SDHCI_OF_ARASAN=y -# CONFIG_MMC_SDHCI_OF_AT91 is not set -# CONFIG_MMC_SDHCI_CADENCE is not set -# CONFIG_MMC_SDHCI_F_SDH30 is not set +CONFIG_MMC_SDHCI_CADENCE=y CONFIG_MMC_MESON_GX=y -# CONFIG_MMC_TIFM_SD is not set CONFIG_MMC_SPI=y -# CONFIG_MMC_CB710 is not set -# CONFIG_MMC_VIA_SDMMC is not set -# CONFIG_MMC_CAVIUM_THUNDERX is not set CONFIG_MMC_DW=y -CONFIG_MMC_DW_PLTFM=y -CONFIG_MMC_DW_EXYNOS=y +# CONFIG_MMC_DW_EXYNOS is not set CONFIG_MMC_DW_K3=y -# CONFIG_MMC_DW_PCI is not set -# CONFIG_MMC_VUB300 is not set -# CONFIG_MMC_USHC is not set -# CONFIG_MMC_USDHI6ROL0 is not set -# CONFIG_MMC_TOSHIBA_PCI is not set -# CONFIG_MMC_MTK is not set -# CONFIG_MMC_SDHCI_XENON is not set -# CONFIG_MEMSTICK is not set +CONFIG_MMC_SDHCI_XENON=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y -# CONFIG_LEDS_CLASS_FLASH is not set -# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set # # LED drivers # -# CONFIG_LEDS_BCM6328 is not set -# CONFIG_LEDS_BCM6358 is not set -# CONFIG_LEDS_LM3530 is not set -# CONFIG_LEDS_LM3642 is not set -# CONFIG_LEDS_PCA9532 is not set CONFIG_LEDS_GPIO=y -# CONFIG_LEDS_LP3944 is not set -# CONFIG_LEDS_LP3952 is not set -# CONFIG_LEDS_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP8501 is not set -# CONFIG_LEDS_LP8860 is not set -# CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set -# CONFIG_LEDS_DAC124S085 is not set -# CONFIG_LEDS_PWM is not set +CONFIG_LEDS_PWM=y # CONFIG_LEDS_REGULATOR is not set -# CONFIG_LEDS_BD2802 is not set -# CONFIG_LEDS_LT3593 is not set -# CONFIG_LEDS_TCA6507 is not set -# CONFIG_LEDS_TLC591XX is not set -# CONFIG_LEDS_LM355x is not set -# CONFIG_LEDS_IS31FL319X is not set -# CONFIG_LEDS_IS31FL32XX is not set # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) # -# CONFIG_LEDS_BLINKM is not set CONFIG_LEDS_SYSCON=y -# CONFIG_LEDS_USER is not set # # LED Triggers # -CONFIG_LEDS_TRIGGERS=y -# CONFIG_LEDS_TRIGGER_TIMER is not set -# CONFIG_LEDS_TRIGGER_ONESHOT is not set -# CONFIG_LEDS_TRIGGER_MTD is not set +CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y -# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set CONFIG_LEDS_TRIGGER_CPU=y -# CONFIG_LEDS_TRIGGER_GPIO is not set -# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y # # iptables trigger is under Netfilter config (LED target) # -# CONFIG_LEDS_TRIGGER_TRANSIENT is not set -# CONFIG_LEDS_TRIGGER_CAMERA is not set -# CONFIG_LEDS_TRIGGER_PANIC is not set -# CONFIG_ACCESSIBILITY is not set -# CONFIG_INFINIBAND is not set -CONFIG_EDAC_SUPPORT=y -# CONFIG_EDAC is not set -CONFIG_RTC_LIB=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_EDAC=y +CONFIG_EDAC_GHES=y CONFIG_RTC_CLASS=y -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -CONFIG_RTC_SYSTOHC=y -CONFIG_RTC_SYSTOHC_DEVICE="rtc0" -# CONFIG_RTC_DEBUG is not set -CONFIG_RTC_NVMEM=y # # RTC interfaces # -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set # # I2C RTC drivers # -# CONFIG_RTC_DRV_ABB5ZES3 is not set -# CONFIG_RTC_DRV_ABX80X is not set -# CONFIG_RTC_DRV_DS1307 is not set -# CONFIG_RTC_DRV_DS1374 is not set -# CONFIG_RTC_DRV_DS1672 is not set -# CONFIG_RTC_DRV_HYM8563 is not set -# CONFIG_RTC_DRV_MAX6900 is not set CONFIG_RTC_DRV_MAX77686=y CONFIG_RTC_DRV_RK808=m -# CONFIG_RTC_DRV_RS5C372 is not set -# CONFIG_RTC_DRV_ISL1208 is not set -# CONFIG_RTC_DRV_ISL12022 is not set -# CONFIG_RTC_DRV_X1205 is not set -# CONFIG_RTC_DRV_PCF8523 is not set -# CONFIG_RTC_DRV_PCF85063 is not set -# CONFIG_RTC_DRV_PCF8563 is not set -# CONFIG_RTC_DRV_PCF8583 is not set -# CONFIG_RTC_DRV_M41T80 is not set -# CONFIG_RTC_DRV_BQ32K is not set -# CONFIG_RTC_DRV_S35390A is not set -# CONFIG_RTC_DRV_FM3130 is not set -# CONFIG_RTC_DRV_RX8010 is not set -# CONFIG_RTC_DRV_RX8581 is not set -# CONFIG_RTC_DRV_RX8025 is not set -# CONFIG_RTC_DRV_EM3027 is not set -# CONFIG_RTC_DRV_RV8803 is not set CONFIG_RTC_DRV_S5M=y # # SPI RTC drivers # -# CONFIG_RTC_DRV_M41T93 is not set -# CONFIG_RTC_DRV_M41T94 is not set -# CONFIG_RTC_DRV_DS1302 is not set -# CONFIG_RTC_DRV_DS1305 is not set -# CONFIG_RTC_DRV_DS1343 is not set -# CONFIG_RTC_DRV_DS1347 is not set -# CONFIG_RTC_DRV_DS1390 is not set -# CONFIG_RTC_DRV_MAX6916 is not set -# CONFIG_RTC_DRV_R9701 is not set -# CONFIG_RTC_DRV_RX4581 is not set -# CONFIG_RTC_DRV_RX6110 is not set -# CONFIG_RTC_DRV_RS5C348 is not set -# CONFIG_RTC_DRV_MAX6902 is not set -# CONFIG_RTC_DRV_PCF2123 is not set -# CONFIG_RTC_DRV_MCP795 is not set -CONFIG_RTC_I2C_AND_SPI=y # # SPI and I2C RTC drivers # CONFIG_RTC_DRV_DS3232=y -CONFIG_RTC_DRV_DS3232_HWMON=y -# CONFIG_RTC_DRV_PCF2127 is not set -# CONFIG_RTC_DRV_RV3029C2 is not set # # Platform RTC drivers # -# CONFIG_RTC_DRV_DS1286 is not set -# CONFIG_RTC_DRV_DS1511 is not set -# CONFIG_RTC_DRV_DS1553 is not set -# CONFIG_RTC_DRV_DS1685_FAMILY is not set -# CONFIG_RTC_DRV_DS1742 is not set -# CONFIG_RTC_DRV_DS2404 is not set CONFIG_RTC_DRV_EFI=y -# CONFIG_RTC_DRV_STK17TA8 is not set -# CONFIG_RTC_DRV_M48T86 is not set -# CONFIG_RTC_DRV_M48T35 is not set -# CONFIG_RTC_DRV_M48T59 is not set -# CONFIG_RTC_DRV_MSM6242 is not set -# CONFIG_RTC_DRV_BQ4802 is not set -# CONFIG_RTC_DRV_RP5C01 is not set -# CONFIG_RTC_DRV_V3020 is not set -# CONFIG_RTC_DRV_ZYNQMP is not set # # on-CPU RTC drivers # -# CONFIG_RTC_DRV_PL030 is not set CONFIG_RTC_DRV_PL031=y -# CONFIG_RTC_DRV_FTRTC010 is not set -# CONFIG_RTC_DRV_SNVS is not set -# CONFIG_RTC_DRV_R7301 is not set # # HID Sensor RTC drivers # -# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set CONFIG_DMADEVICES=y -# CONFIG_DMADEVICES_DEBUG is not set # # DMA Devices # -CONFIG_DMA_ENGINE=y -CONFIG_DMA_ACPI=y -CONFIG_DMA_OF=y -# CONFIG_ALTERA_MSGDMA is not set -# CONFIG_AMBA_PL08X is not set -# CONFIG_FSL_EDMA is not set -# CONFIG_INTEL_IDMA64 is not set -# CONFIG_MV_XOR_V2 is not set -# CONFIG_PL330_DMA is not set -# CONFIG_XILINX_DMA is not set -# CONFIG_XILINX_ZYNQMP_DMA is not set +CONFIG_BCM_SBA_RAID=m +CONFIG_MV_XOR_V2=y +CONFIG_PL330_DMA=y # CONFIG_QCOM_HIDMA_MGMT is not set # CONFIG_QCOM_HIDMA is not set -# CONFIG_DW_DMAC is not set -# CONFIG_DW_DMAC_PCI is not set # # DMA Clients # -# CONFIG_ASYNC_TX_DMA is not set -# CONFIG_DMATEST is not set # # DMABUF options # -CONFIG_SYNC_FILE=y -# CONFIG_SW_SYNC is not set -# CONFIG_AUXDISPLAY is not set -# CONFIG_UIO is not set -# CONFIG_VFIO is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRTIO=y - -# -# Virtio drivers -# +CONFIG_VFIO=y +CONFIG_VFIO_PCI=y CONFIG_VIRTIO_PCI=y -CONFIG_VIRTIO_PCI_LEGACY=y CONFIG_VIRTIO_BALLOON=y -# CONFIG_VIRTIO_INPUT is not set CONFIG_VIRTIO_MMIO=y -# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set # # Microsoft Hyper-V guest support # -# CONFIG_HYPERV_TSCPAGE is not set # # Xen driver support # -CONFIG_XEN_BALLOON=y -CONFIG_XEN_SCRUB_PAGES=y -CONFIG_XEN_DEV_EVTCHN=y -CONFIG_XEN_BACKEND=y -CONFIG_XENFS=y -CONFIG_XEN_COMPAT_XENFS=y -CONFIG_XEN_SYS_HYPERVISOR=y -CONFIG_XEN_XENBUS_FRONTEND=y CONFIG_XEN_GNTDEV=y CONFIG_XEN_GRANT_DEV_ALLOC=y -CONFIG_SWIOTLB_XEN=y -# CONFIG_XEN_PVCALLS_BACKEND is not set -CONFIG_XEN_PRIVCMD=y -CONFIG_XEN_EFI=y -CONFIG_XEN_AUTO_XLATE=y CONFIG_STAGING=y # CONFIG_IRDA is not set -# CONFIG_PRISM2_USB is not set +# CONFIG_IPX is not set +# CONFIG_NCP_FS is not set +CONFIG_PRISM2_USB=m # CONFIG_COMEDI is not set # CONFIG_RTL8192U is not set # CONFIG_RTLLIB is not set # CONFIG_RTL8723BS is not set -# CONFIG_R8712U is not set -# CONFIG_R8188EU is not set +CONFIG_R8712U=m +CONFIG_R8188EU=m +CONFIG_88EU_AP_MODE=y # CONFIG_R8822BE is not set # CONFIG_RTS5208 is not set # CONFIG_VT6655 is not set @@ -3428,18 +2711,54 @@ CONFIG_STAGING=y # Speakup console speech # # CONFIG_SPEAKUP is not set -# CONFIG_STAGING_MEDIA is not set +CONFIG_STAGING_MEDIA=y +# CONFIG_DVB_CXD2099 is not set # # Android # # CONFIG_STAGING_BOARD is not set # CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set # CONFIG_LNET is not set # CONFIG_DGNC is not set # CONFIG_GS_FPGABOOT is not set +# CONFIG_UNISYSSPAR is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set -# CONFIG_FB_TFT is not set +CONFIG_FB_TFT=m +CONFIG_FB_TFT_AGM1264K_FL=m +CONFIG_FB_TFT_BD663474=m +CONFIG_FB_TFT_HX8340BN=m +CONFIG_FB_TFT_HX8347D=m +CONFIG_FB_TFT_HX8353D=m +CONFIG_FB_TFT_HX8357D=m +CONFIG_FB_TFT_ILI9163=m +CONFIG_FB_TFT_ILI9320=m +CONFIG_FB_TFT_ILI9325=m +CONFIG_FB_TFT_ILI9340=m +CONFIG_FB_TFT_ILI9341=m +CONFIG_FB_TFT_ILI9481=m +CONFIG_FB_TFT_ILI9486=m +CONFIG_FB_TFT_PCD8544=m +CONFIG_FB_TFT_RA8875=m +CONFIG_FB_TFT_S6D02A1=m +CONFIG_FB_TFT_S6D1121=m +CONFIG_FB_TFT_SH1106=m +CONFIG_FB_TFT_SSD1289=m +CONFIG_FB_TFT_SSD1305=m +CONFIG_FB_TFT_SSD1306=m +CONFIG_FB_TFT_SSD1331=m +CONFIG_FB_TFT_SSD1351=m +CONFIG_FB_TFT_ST7735R=m +CONFIG_FB_TFT_ST7789V=m +CONFIG_FB_TFT_TINYLCD=m +CONFIG_FB_TFT_TLS8204=m +CONFIG_FB_TFT_UC1611=m +CONFIG_FB_TFT_UC1701=m +CONFIG_FB_TFT_UPD161704=m +CONFIG_FB_TFT_WATTEROTT=m +CONFIG_FB_FLEX=m +CONFIG_FB_TFT_FBTFT_DEVICE=m # CONFIG_WILC1000_SDIO is not set # CONFIG_WILC1000_SPI is not set # CONFIG_MOST is not set @@ -3450,13 +2769,7 @@ CONFIG_STAGING=y # # USB Power Delivery and Type-C drivers # -# CONFIG_TYPEC_TCPM is not set # CONFIG_PI433 is not set -# CONFIG_GOLDFISH is not set -# CONFIG_CHROME_PLATFORMS is not set -CONFIG_CLKDEV_LOOKUP=y -CONFIG_HAVE_CLK_PREPARE=y -CONFIG_COMMON_CLK=y # # Common Clock Framework @@ -3464,76 +2777,38 @@ CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_VERSATILE=y CONFIG_CLK_SP810=y CONFIG_CLK_VEXPRESS_OSC=y -# CONFIG_CLK_HSDK is not set -# CONFIG_COMMON_CLK_MAX77686 is not set CONFIG_COMMON_CLK_RK808=y CONFIG_COMMON_CLK_SCPI=y -# CONFIG_COMMON_CLK_SI5351 is not set -# CONFIG_COMMON_CLK_SI514 is not set -# CONFIG_COMMON_CLK_SI570 is not set -# CONFIG_COMMON_CLK_CDCE706 is not set -# CONFIG_COMMON_CLK_CDCE925 is not set CONFIG_COMMON_CLK_CS2000_CP=y CONFIG_COMMON_CLK_S2MPS11=y -CONFIG_CLK_QORIQ=y -CONFIG_COMMON_CLK_XGENE=y -# CONFIG_COMMON_CLK_NXP is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_XGENE is not set CONFIG_COMMON_CLK_PWM=y -# CONFIG_COMMON_CLK_PXA is not set -# CONFIG_COMMON_CLK_PIC32 is not set -# CONFIG_COMMON_CLK_VC5 is not set -CONFIG_COMMON_CLK_AMLOGIC=y -CONFIG_COMMON_CLK_GXBB=y CONFIG_HWSPINLOCK=y # # Clock Source drivers # -CONFIG_TIMER_OF=y -CONFIG_TIMER_ACPI=y -CONFIG_TIMER_PROBE=y CONFIG_CLKSRC_MMIO=y -CONFIG_ARM_ARCH_TIMER=y -CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y -CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y -CONFIG_FSL_ERRATUM_A008585=y -CONFIG_HISILICON_ERRATUM_161010101=y -CONFIG_ARM64_ERRATUM_858921=y +# CONFIG_HISILICON_ERRATUM_161010101 is not set CONFIG_ARM_TIMER_SP804=y -# CONFIG_ATMEL_PIT is not set -# CONFIG_SH_TIMER_CMT is not set -# CONFIG_SH_TIMER_MTU2 is not set -# CONFIG_SH_TIMER_TMU is not set -# CONFIG_EM_TIMER_STI is not set CONFIG_CLKSRC_VERSATILE=y CONFIG_MAILBOX=y CONFIG_ARM_MHU=y CONFIG_PLATFORM_MHU=y # CONFIG_PL320_MBOX is not set -# CONFIG_PCC is not set # CONFIG_ALTERA_MBOX is not set # CONFIG_MAILBOX_TEST is not set -# CONFIG_BCM_FLEXRM_MBOX is not set -CONFIG_IOMMU_API=y -CONFIG_IOMMU_SUPPORT=y # # Generic IOMMU Pagetable Support # -CONFIG_IOMMU_IO_PGTABLE=y -CONFIG_IOMMU_IO_PGTABLE_LPAE=y -# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set -# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set -CONFIG_IOMMU_IOVA=y -CONFIG_OF_IOMMU=y -CONFIG_IOMMU_DMA=y CONFIG_ARM_SMMU=y -# CONFIG_ARM_SMMU_V3 is not set +CONFIG_ARM_SMMU_V3=y # # Remoteproc drivers # -# CONFIG_REMOTEPROC is not set # # Rpmsg drivers @@ -3547,7 +2822,6 @@ CONFIG_ARM_SMMU=y # # Amlogic SoC drivers # -CONFIG_MESON_GX_SOCINFO=y # # Broadcom SoC drivers @@ -3562,113 +2836,48 @@ CONFIG_MESON_GX_SOCINFO=y # Qualcomm SoC drivers # # CONFIG_SUNXI_SRAM is not set -# CONFIG_SOC_TI is not set -# CONFIG_PM_DEVFREQ is not set -CONFIG_EXTCON=y + +# +# Xilinx SoC drivers +# +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +CONFIG_DEVFREQ_GOV_POWERSAVE=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +# CONFIG_DEVFREQ_GOV_PASSIVE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set # # Extcon Device Drivers # -# CONFIG_EXTCON_ADC_JACK is not set -# CONFIG_EXTCON_GPIO is not set -# CONFIG_EXTCON_MAX3355 is not set -# CONFIG_EXTCON_RT8973A is not set -# CONFIG_EXTCON_SM5502 is not set CONFIG_EXTCON_USB_GPIO=y -# CONFIG_MEMORY is not set CONFIG_IIO=y -# CONFIG_IIO_BUFFER is not set -# CONFIG_IIO_CONFIGFS is not set -# CONFIG_IIO_TRIGGER is not set -# CONFIG_IIO_SW_DEVICE is not set -# CONFIG_IIO_SW_TRIGGER is not set # # Accelerometers # -# CONFIG_ADXL345_I2C is not set -# CONFIG_ADXL345_SPI is not set -# CONFIG_BMA180 is not set -# CONFIG_BMA220 is not set -# CONFIG_BMC150_ACCEL is not set -# CONFIG_DA280 is not set -# CONFIG_DA311 is not set -# CONFIG_DMARD06 is not set -# CONFIG_DMARD09 is not set -# CONFIG_DMARD10 is not set -# CONFIG_IIO_ST_ACCEL_3AXIS is not set -# CONFIG_KXSD9 is not set -# CONFIG_KXCJK1013 is not set -# CONFIG_MC3230 is not set -# CONFIG_MMA7455_I2C is not set -# CONFIG_MMA7455_SPI is not set -# CONFIG_MMA7660 is not set -# CONFIG_MMA8452 is not set -# CONFIG_MMA9551 is not set -# CONFIG_MMA9553 is not set -# CONFIG_MXC4005 is not set -# CONFIG_MXC6255 is not set -# CONFIG_SCA3000 is not set -# CONFIG_STK8312 is not set -# CONFIG_STK8BA50 is not set # # Analog to digital converters # -# CONFIG_AD7266 is not set -# CONFIG_AD7291 is not set -# CONFIG_AD7298 is not set -# CONFIG_AD7476 is not set -# CONFIG_AD7766 is not set -# CONFIG_AD7791 is not set -# CONFIG_AD7793 is not set -# CONFIG_AD7887 is not set -# CONFIG_AD7923 is not set -# CONFIG_AD799X is not set # CONFIG_CC10001_ADC is not set -# CONFIG_ENVELOPE_DETECTOR is not set -# CONFIG_HI8435 is not set -# CONFIG_HX711 is not set -# CONFIG_INA2XX_ADC is not set -# CONFIG_LTC2471 is not set -# CONFIG_LTC2485 is not set -# CONFIG_LTC2497 is not set -# CONFIG_MAX1027 is not set -# CONFIG_MAX11100 is not set -# CONFIG_MAX1118 is not set -# CONFIG_MAX1363 is not set -# CONFIG_MAX9611 is not set -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set -CONFIG_MESON_SARADC=y -# CONFIG_NAU7802 is not set -# CONFIG_QCOM_SPMI_IADC is not set -# CONFIG_QCOM_SPMI_VADC is not set -# CONFIG_TI_ADC081C is not set -# CONFIG_TI_ADC0832 is not set -# CONFIG_TI_ADC084S021 is not set -# CONFIG_TI_ADC12138 is not set -# CONFIG_TI_ADC108S102 is not set -# CONFIG_TI_ADC128S052 is not set -# CONFIG_TI_ADC161S626 is not set -# CONFIG_TI_ADS1015 is not set -# CONFIG_TI_ADS7950 is not set -# CONFIG_TI_ADS8688 is not set -# CONFIG_TI_TLC4541 is not set -# CONFIG_VF610_ADC is not set # # Amplifiers # -# CONFIG_AD8366 is not set # # Chemical Sensors # -# CONFIG_ATLAS_PH_SENSOR is not set -# CONFIG_CCS811 is not set -# CONFIG_IAQCORE is not set -# CONFIG_VZ89X is not set # # Hid Sensor IIO Common @@ -3677,7 +2886,6 @@ CONFIG_MESON_SARADC=y # # SSP Sensor Common # -# CONFIG_IIO_SSP_SENSORHUB is not set # # Counters @@ -3686,31 +2894,6 @@ CONFIG_MESON_SARADC=y # # Digital to analog converters # -# CONFIG_AD5064 is not set -# CONFIG_AD5360 is not set -# CONFIG_AD5380 is not set -# CONFIG_AD5421 is not set -# CONFIG_AD5446 is not set -# CONFIG_AD5449 is not set -# CONFIG_AD5592R is not set -# CONFIG_AD5593R is not set -# CONFIG_AD5504 is not set -# CONFIG_AD5624R_SPI is not set -# CONFIG_LTC2632 is not set -# CONFIG_AD5686 is not set -# CONFIG_AD5755 is not set -# CONFIG_AD5761 is not set -# CONFIG_AD5764 is not set -# CONFIG_AD5791 is not set -# CONFIG_AD7303 is not set -# CONFIG_AD8801 is not set -# CONFIG_DPOT_DAC is not set -# CONFIG_M62332 is not set -# CONFIG_MAX517 is not set -# CONFIG_MAX5821 is not set -# CONFIG_MCP4725 is not set -# CONFIG_MCP4922 is not set -# CONFIG_VF610_DAC is not set # # IIO dummy driver @@ -3723,25 +2906,14 @@ CONFIG_MESON_SARADC=y # # Clock Generator/Distribution # -# CONFIG_AD9523 is not set # # Phase-Locked Loop (PLL) frequency synthesizers # -# CONFIG_ADF4350 is not set # # Digital gyroscope sensors # -# CONFIG_ADIS16080 is not set -# CONFIG_ADIS16130 is not set -# CONFIG_ADIS16136 is not set -# CONFIG_ADIS16260 is not set -# CONFIG_ADXRS450 is not set -# CONFIG_BMG160 is not set -# CONFIG_MPU3050_I2C is not set -# CONFIG_IIO_ST_GYRO_3AXIS is not set -# CONFIG_ITG3200 is not set # # Health Sensors @@ -3750,89 +2922,26 @@ CONFIG_MESON_SARADC=y # # Heart Rate Monitors # -# CONFIG_AFE4403 is not set -# CONFIG_AFE4404 is not set -# CONFIG_MAX30100 is not set -# CONFIG_MAX30102 is not set # # Humidity sensors # -# CONFIG_AM2315 is not set -# CONFIG_DHT11 is not set -# CONFIG_HDC100X is not set -# CONFIG_HTS221 is not set -# CONFIG_HTU21 is not set -# CONFIG_SI7005 is not set -# CONFIG_SI7020 is not set # # Inertial measurement units # -# CONFIG_ADIS16400 is not set -# CONFIG_ADIS16480 is not set -# CONFIG_BMI160_I2C is not set -# CONFIG_BMI160_SPI is not set -# CONFIG_KMX61 is not set -# CONFIG_INV_MPU6050_I2C is not set -# CONFIG_INV_MPU6050_SPI is not set -# CONFIG_IIO_ST_LSM6DSX is not set # # Light sensors # -# CONFIG_ACPI_ALS is not set -# CONFIG_ADJD_S311 is not set -# CONFIG_AL3320A is not set -# CONFIG_APDS9300 is not set -# CONFIG_APDS9960 is not set -# CONFIG_BH1750 is not set -# CONFIG_BH1780 is not set -# CONFIG_CM32181 is not set -# CONFIG_CM3232 is not set -# CONFIG_CM3323 is not set -# CONFIG_CM3605 is not set -# CONFIG_CM36651 is not set -# CONFIG_GP2AP020A00F is not set -# CONFIG_SENSORS_ISL29018 is not set -# CONFIG_SENSORS_ISL29028 is not set -# CONFIG_ISL29125 is not set -# CONFIG_JSA1212 is not set -# CONFIG_RPR0521 is not set -# CONFIG_LTR501 is not set -# CONFIG_MAX44000 is not set -# CONFIG_OPT3001 is not set -# CONFIG_PA12203001 is not set -# CONFIG_SI1145 is not set -# CONFIG_STK3310 is not set -# CONFIG_TCS3414 is not set -# CONFIG_TCS3472 is not set -# CONFIG_SENSORS_TSL2563 is not set -# CONFIG_TSL2583 is not set -# CONFIG_TSL4531 is not set -# CONFIG_US5182D is not set -# CONFIG_VCNL4000 is not set -# CONFIG_VEML6070 is not set -# CONFIG_VL6180 is not set # # Magnetometer sensors # -# CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set -# CONFIG_AK09911 is not set -# CONFIG_BMC150_MAGN_I2C is not set -# CONFIG_BMC150_MAGN_SPI is not set -# CONFIG_MAG3110 is not set -# CONFIG_MMC35240 is not set -# CONFIG_IIO_ST_MAGN_3AXIS is not set -# CONFIG_SENSORS_HMC5843_I2C is not set -# CONFIG_SENSORS_HMC5843_SPI is not set # # Multiplexers # -# CONFIG_IIO_MUX is not set # # Inclinometer sensors @@ -3841,333 +2950,212 @@ CONFIG_MESON_SARADC=y # # Digital potentiometers # -# CONFIG_DS1803 is not set -# CONFIG_MAX5481 is not set -# CONFIG_MAX5487 is not set -# CONFIG_MCP4131 is not set -# CONFIG_MCP4531 is not set -# CONFIG_TPL0102 is not set # # Digital potentiostats # -# CONFIG_LMP91000 is not set # # Pressure sensors # -# CONFIG_ABP060MG is not set -# CONFIG_BMP280 is not set -# CONFIG_HP03 is not set -# CONFIG_MPL115_I2C is not set -# CONFIG_MPL115_SPI is not set -# CONFIG_MPL3115 is not set -# CONFIG_MS5611 is not set -# CONFIG_MS5637 is not set -# CONFIG_IIO_ST_PRESS is not set -# CONFIG_T5403 is not set -# CONFIG_HP206C is not set -# CONFIG_ZPA2326 is not set # # Lightning sensors # -# CONFIG_AS3935 is not set # # Proximity and distance sensors # -# CONFIG_LIDAR_LITE_V2 is not set -# CONFIG_SRF04 is not set -# CONFIG_SX9500 is not set -# CONFIG_SRF08 is not set # # Temperature sensors # -# CONFIG_MAXIM_THERMOCOUPLE is not set -# CONFIG_MLX90614 is not set -# CONFIG_TMP006 is not set -# CONFIG_TMP007 is not set -# CONFIG_TSYS01 is not set -# CONFIG_TSYS02D is not set -# CONFIG_NTB is not set -# CONFIG_VME_BUS is not set CONFIG_PWM=y -CONFIG_PWM_SYSFS=y -# CONFIG_PWM_FSL_FTM is not set -CONFIG_PWM_MESON=m -# CONFIG_PWM_PCA9685 is not set -CONFIG_IRQCHIP=y -CONFIG_ARM_GIC=y -CONFIG_ARM_GIC_MAX_NR=1 -CONFIG_ARM_GIC_V2M=y -CONFIG_ARM_GIC_V3=y -CONFIG_ARM_GIC_V3_ITS=y -CONFIG_PARTITION_PERCPU=y -# CONFIG_IPACK_BUS is not set -CONFIG_RESET_CONTROLLER=y -# CONFIG_RESET_ATH79 is not set +CONFIG_PWM_CROS_EC=m +CONFIG_PWM_MESON=y + +# +# IRQ chip support +# # CONFIG_RESET_BERLIN is not set -# CONFIG_RESET_IMX7 is not set -# CONFIG_RESET_LANTIQ is not set -# CONFIG_RESET_LPC18XX is not set -CONFIG_RESET_MESON=y -# CONFIG_RESET_PISTACHIO is not set -# CONFIG_RESET_SOCFPGA is not set -# CONFIG_RESET_STM32 is not set +# CONFIG_RESET_SIMPLE is not set # CONFIG_RESET_SUNXI is not set -# CONFIG_RESET_TI_SYSCON is not set -# CONFIG_RESET_ZYNQ is not set # CONFIG_RESET_TEGRA_BPMP is not set -# CONFIG_FMC is not set # # PHY Subsystem # -CONFIG_GENERIC_PHY=y -CONFIG_PHY_XGENE=y -CONFIG_PHY_MESON8B_USB2=y -CONFIG_PHY_MESON_GXL_USB2=y -# CONFIG_BCM_KONA_USB2_PHY is not set -# CONFIG_PHY_PXA_28NM_HSIC is not set -# CONFIG_PHY_PXA_28NM_USB2 is not set -# CONFIG_PHY_CPCAP_USB is not set -CONFIG_PHY_SAMSUNG_USB2=y -# CONFIG_PHY_EXYNOS4210_USB2 is not set -# CONFIG_PHY_EXYNOS4X12_USB2 is not set -# CONFIG_PHY_EXYNOS5250_USB2 is not set -# CONFIG_POWERCAP is not set -# CONFIG_MCB is not set +# CONFIG_PHY_XGENE is not set +# CONFIG_PHY_QCOM_USB_HS is not set +# CONFIG_PHY_SAMSUNG_USB2 is not set # # Performance monitor support # -CONFIG_ARM_PMU=y -CONFIG_ARM_PMU_ACPI=y CONFIG_RAS=y # # Android # -# CONFIG_ANDROID is not set -# CONFIG_LIBNVDIMM is not set -# CONFIG_DAX is not set +CONFIG_DAX=m +# CONFIG_DEV_DAX is not set CONFIG_NVMEM=y -# CONFIG_MESON_EFUSE is not set -# CONFIG_STM is not set -# CONFIG_INTEL_TH is not set -# CONFIG_FPGA is not set +CONFIG_MESON_EFUSE=y +CONFIG_TEE=y # -# FSI support +# TEE drivers # -# CONFIG_FSI is not set -# CONFIG_TEE is not set +CONFIG_OPTEE=y # # Firmware Drivers # -CONFIG_ARM_PSCI_FW=y -# CONFIG_ARM_PSCI_CHECKER is not set CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_ARM_SCPI_POWER_DOMAIN=y -# CONFIG_FIRMWARE_MEMMAP is not set -CONFIG_DMIID=y -# CONFIG_DMI_SYSFS is not set -# CONFIG_FW_CFG_SYSFS is not set -CONFIG_HAVE_ARM_SMCCC=y -# CONFIG_GOOGLE_FIRMWARE is not set # # EFI (Extensible Firmware Interface) Support # -# CONFIG_EFI_VARS is not set -CONFIG_EFI_ESRT=y -CONFIG_EFI_PARAMS_FROM_FDT=y -CONFIG_EFI_RUNTIME_WRAPPERS=y -CONFIG_EFI_ARMSTUB=y -# CONFIG_EFI_CAPSULE_LOADER is not set -# CONFIG_EFI_TEST is not set -# CONFIG_RESET_ATTACK_MITIGATION is not set -# CONFIG_EFI_DEV_PATH_PARSER is not set -CONFIG_MESON_SM=y +CONFIG_EFI_CAPSULE_LOADER=y # # Tegra firmware driver # CONFIG_ACPI=y -CONFIG_ACPI_GENERIC_GSI=y -CONFIG_ACPI_CCA_REQUIRED=y -# CONFIG_ACPI_DEBUGGER is not set -CONFIG_ACPI_SPCR_TABLE=y -# CONFIG_ACPI_EC_DEBUGFS is not set -CONFIG_ACPI_BUTTON=y -CONFIG_ACPI_FAN=y -# CONFIG_ACPI_DOCK is not set -CONFIG_ACPI_PROCESSOR_IDLE=y -CONFIG_ACPI_MCFG=y -CONFIG_ACPI_PROCESSOR=y -CONFIG_ACPI_HOTPLUG_CPU=y -CONFIG_ACPI_THERMAL=y -# CONFIG_ACPI_CUSTOM_DSDT is not set -CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y -CONFIG_ACPI_TABLE_UPGRADE=y -# CONFIG_ACPI_DEBUG is not set -# CONFIG_ACPI_PCI_SLOT is not set -CONFIG_ACPI_CONTAINER=y -# CONFIG_ACPI_HED is not set -# CONFIG_ACPI_CUSTOM_METHOD is not set -# CONFIG_ACPI_BGRT is not set -CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y -CONFIG_HAVE_ACPI_APEI=y -# CONFIG_ACPI_APEI is not set -# CONFIG_PMIC_OPREGION is not set -# CONFIG_ACPI_CONFIGFS is not set -CONFIG_ACPI_IORT=y -CONFIG_ACPI_GTDT=y +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_EINJ=y # # File systems # -CONFIG_DCACHE_WORD_ACCESS=y -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set -CONFIG_EXT4_FS=y -CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_EXT2_FS=y +CONFIG_EXT3_FS=y CONFIG_EXT4_FS_POSIX_ACL=y -# CONFIG_EXT4_FS_SECURITY is not set -# CONFIG_EXT4_ENCRYPTION is not set -# CONFIG_EXT4_DEBUG is not set -CONFIG_JBD2=y -# CONFIG_JBD2_DEBUG is not set -CONFIG_FS_MBCACHE=y -# CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set -# CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_BTRFS_FS is not set -# CONFIG_NILFS2_FS is not set -# CONFIG_F2FS_FS is not set -# CONFIG_FS_DAX is not set -CONFIG_FS_POSIX_ACL=y -CONFIG_EXPORTFS=y -# CONFIG_EXPORTFS_BLOCK_OPS is not set -CONFIG_FILE_LOCKING=y -CONFIG_MANDATORY_FILE_LOCKING=y -# CONFIG_FS_ENCRYPTION is not set -CONFIG_FSNOTIFY=y -CONFIG_DNOTIFY=y -CONFIG_INOTIFY_USER=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_XFS_FS=m +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +# CONFIG_XFS_RT is not set +# CONFIG_XFS_ONLINE_SCRUB is not set +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG is not set +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_F2FS_FS=m +CONFIG_F2FS_STAT_FS=y +CONFIG_F2FS_FS_XATTR=y +# CONFIG_F2FS_FS_POSIX_ACL is not set +# CONFIG_F2FS_FS_SECURITY is not set +# CONFIG_F2FS_CHECK_FS is not set +# CONFIG_F2FS_FS_ENCRYPTION is not set +# CONFIG_F2FS_IO_TRACE is not set +# CONFIG_F2FS_FAULT_INJECTION is not set CONFIG_FANOTIFY=y CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y CONFIG_QUOTA=y -# CONFIG_QUOTA_NETLINK_INTERFACE is not set -# CONFIG_PRINT_QUOTA_WARNING is not set -# CONFIG_QUOTA_DEBUG is not set -# CONFIG_QFMT_V1 is not set -# CONFIG_QFMT_V2 is not set -CONFIG_QUOTACTL=y -# CONFIG_AUTOFS4_FS is not set -# CONFIG_FUSE_FS is not set -# CONFIG_OVERLAY_FS is not set +CONFIG_QUOTA_TREE=y +CONFIG_QFMT_V2=y +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +CONFIG_OVERLAY_FS=m # # Caches # -# CONFIG_FSCACHE is not set +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_STATS is not set +# CONFIG_FSCACHE_HISTOGRAM is not set +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_OBJECT_LIST is not set +# CONFIG_CACHEFILES is not set # # CD-ROM/DVD Filesystems # -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=y -# CONFIG_MSDOS_FS is not set +CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_FAT_DEFAULT_UTF8 is not set -# CONFIG_NTFS_FS is not set +CONFIG_NTFS_FS=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y # # Pseudo filesystems # -CONFIG_PROC_FS=y -# CONFIG_PROC_KCORE is not set -CONFIG_PROC_SYSCTL=y -CONFIG_PROC_PAGE_MONITOR=y -# CONFIG_PROC_CHILDREN is not set -CONFIG_KERNFS=y -CONFIG_SYSFS=y +CONFIG_PROC_KCORE=y CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -# CONFIG_TMPFS_XATTR is not set +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y CONFIG_HUGETLBFS=y -CONFIG_HUGETLB_PAGE=y -CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=y CONFIG_EFIVAR_FS=y -# CONFIG_MISC_FILESYSTEMS is not set -# CONFIG_NETWORK_FILESYSTEMS is not set -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_ECRYPT_FS=m +CONFIG_ECRYPT_FS_MESSAGING=y +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +# CONFIG_HFSPLUS_FS_POSIX_ACL is not set +CONFIG_CRAMFS=y +CONFIG_CRAMFS_BLOCKDEV=y +# CONFIG_CRAMFS_MTD is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_PSTORE_FTRACE is not set +CONFIG_NFS_FS=y +CONFIG_NFS_V4=y +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_PNFS_BLOCK=m +CONFIG_ROOT_NFS=y +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +# CONFIG_NFSD_BLOCKLAYOUT is not set +# CONFIG_NFSD_SCSILAYOUT is not set +# CONFIG_NFSD_FLEXFILELAYOUT is not set +# CONFIG_NFSD_V4_SECURITY_LABEL is not set +# CONFIG_NFSD_FAULT_INJECTION is not set +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_CIFS=m +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_UPCALL is not set +CONFIG_CIFS_XATTR=y +# CONFIG_CIFS_POSIX is not set +# CONFIG_CIFS_ACL is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set +CONFIG_CIFS_DFS_UPCALL=y +# CONFIG_CIFS_SMB311 is not set +# CONFIG_CIFS_FSCACHE is not set +CONFIG_9P_FS=y CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=y -# CONFIG_NLS_ISO8859_2 is not set -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -# CONFIG_NLS_ISO8859_15 is not set -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -# CONFIG_NLS_MAC_ROMAN is not set -# CONFIG_NLS_MAC_CELTIC is not set -# CONFIG_NLS_MAC_CENTEURO is not set -# CONFIG_NLS_MAC_CROATIAN is not set -# CONFIG_NLS_MAC_CYRILLIC is not set -# CONFIG_NLS_MAC_GAELIC is not set -# CONFIG_NLS_MAC_GREEK is not set -# CONFIG_NLS_MAC_ICELAND is not set -# CONFIG_NLS_MAC_INUIT is not set -# CONFIG_NLS_MAC_ROMANIAN is not set -# CONFIG_NLS_MAC_TURKISH is not set -# CONFIG_NLS_UTF8 is not set -# CONFIG_DLM is not set -# CONFIG_VIRTUALIZATION is not set +CONFIG_NLS_UTF8=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=y # # Kernel hacking @@ -4177,445 +3165,160 @@ CONFIG_NLS_ISO8859_1=y # printk and dmesg options # CONFIG_PRINTK_TIME=y -CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 -# CONFIG_BOOT_PRINTK_DELAY is not set -# CONFIG_DYNAMIC_DEBUG is not set # # Compile-time checks and compiler options # CONFIG_DEBUG_INFO=y -# CONFIG_DEBUG_INFO_REDUCED is not set -# CONFIG_DEBUG_INFO_SPLIT is not set -# CONFIG_DEBUG_INFO_DWARF4 is not set -# CONFIG_GDB_SCRIPTS is not set -CONFIG_ENABLE_WARN_DEPRECATED=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_FRAME_WARN=2048 -# CONFIG_STRIP_ASM_SYMS is not set -# CONFIG_READABLE_ASM is not set -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_PAGE_OWNER is not set CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_SECTION_MISMATCH_WARN_ONLY=y -CONFIG_ARCH_WANT_FRAME_POINTERS=y -CONFIG_FRAME_POINTER=y -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set CONFIG_MAGIC_SYSRQ=y -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 -CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_DEBUG_KERNEL=y # # Memory Debugging # -# CONFIG_PAGE_EXTENSION is not set -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_PAGE_POISONING is not set -# CONFIG_DEBUG_RODATA_TEST is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_VM is not set -CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y -# CONFIG_DEBUG_VIRTUAL is not set -CONFIG_DEBUG_MEMORY_INIT=y -# CONFIG_DEBUG_PER_CPU_MAPS is not set -CONFIG_HAVE_ARCH_KASAN=y -# CONFIG_KASAN is not set -CONFIG_ARCH_HAS_KCOV=y -# CONFIG_KCOV is not set -# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_DEBUG_PAGE_REF is not set # # Debug Lockups and Hangs # -# CONFIG_SOFTLOCKUP_DETECTOR is not set -CONFIG_DETECT_HUNG_TASK=y -CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 -# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 -# CONFIG_WQ_WATCHDOG is not set -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=0 # CONFIG_SCHED_DEBUG is not set -CONFIG_SCHED_INFO=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_SCHED_STACK_END_CHECK is not set -# CONFIG_DEBUG_TIMEKEEPING is not set +CONFIG_SCHEDSTATS=y # CONFIG_DEBUG_PREEMPT is not set # # Lock Debugging (spinlocks, mutexes, etc...) # -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_ATOMIC_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_LOCK_TORTURE_TEST is not set -# CONFIG_WW_MUTEX_SELFTEST is not set -# CONFIG_STACKTRACE is not set -# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set -# CONFIG_DEBUG_KOBJECT is not set -CONFIG_HAVE_DEBUG_BUGVERBOSE=y -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_PI_LIST is not set -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_NOTIFIERS is not set -# CONFIG_DEBUG_CREDENTIALS is not set +CONFIG_STACKTRACE=y # # RCU Debugging # -# CONFIG_PROVE_RCU is not set -# CONFIG_TORTURE_TEST is not set -# CONFIG_RCU_PERF_TEST is not set -# CONFIG_RCU_TORTURE_TEST is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=21 -# CONFIG_RCU_TRACE is not set -# CONFIG_RCU_EQS_DEBUG is not set -# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_FAULT_INJECTION is not set -# CONFIG_LATENCYTOP is not set -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_TRACING_SUPPORT=y -# CONFIG_FTRACE is not set -# CONFIG_DMA_API_DEBUG is not set - -# -# Runtime Testing -# -# CONFIG_LKDTM is not set -# CONFIG_TEST_LIST_SORT is not set -# CONFIG_TEST_SORT is not set -# CONFIG_BACKTRACE_SELF_TEST is not set -# CONFIG_RBTREE_TEST is not set -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_PERCPU_TEST is not set -# CONFIG_ATOMIC64_SELFTEST is not set -# CONFIG_TEST_HEXDUMP is not set -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_TEST_KSTRTOX is not set -# CONFIG_TEST_PRINTF is not set -# CONFIG_TEST_BITMAP is not set -# CONFIG_TEST_UUID is not set -# CONFIG_TEST_RHASHTABLE is not set -# CONFIG_TEST_HASH is not set -# CONFIG_TEST_LKM is not set -# CONFIG_TEST_USER_COPY is not set -# CONFIG_TEST_BPF is not set -# CONFIG_TEST_FIRMWARE is not set -# CONFIG_TEST_SYSCTL is not set -# CONFIG_TEST_UDELAY is not set -# CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_TEST_KMOD is not set +CONFIG_NOP_TRACER=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_PREEMPTIRQ_EVENTS is not set +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_HWLAT_TRACER is not set +CONFIG_FTRACE_SYSCALLS=y +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +CONFIG_STACK_TRACER=y +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_UPROBE_EVENTS=y +CONFIG_PROBE_EVENTS=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_HIST_TRIGGERS is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_EVAL_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y +# CONFIG_ASYNC_RAID6_TEST is not set CONFIG_MEMTEST=y -# CONFIG_BUG_ON_DATA_CORRUPTION is not set -# CONFIG_SAMPLES is not set -CONFIG_HAVE_ARCH_KGDB=y -# CONFIG_KGDB is not set -CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y -# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set -# CONFIG_UBSAN is not set -CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y -# CONFIG_STRICT_DEVMEM is not set -# CONFIG_ARM64_PTDUMP_CORE is not set -# CONFIG_ARM64_PTDUMP_DEBUGFS is not set -# CONFIG_PID_IN_CONTEXTIDR is not set -# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set -# CONFIG_DEBUG_WX is not set -# CONFIG_DEBUG_ALIGN_RODATA is not set -# CONFIG_DEBUG_EFI is not set -# CONFIG_ARM64_RELOC_TEST is not set -# CONFIG_CORESIGHT is not set +CONFIG_KGDB=y +CONFIG_KGDB_SERIAL_CONSOLE=y +CONFIG_KGDB_TESTS=y +# CONFIG_KGDB_TESTS_ON_BOOT is not set +# CONFIG_KGDB_KDB is not set # # Security options # -CONFIG_KEYS=y -CONFIG_KEYS_COMPAT=y -# CONFIG_PERSISTENT_KEYRINGS is not set # CONFIG_BIG_KEYS is not set -# CONFIG_ENCRYPTED_KEYS is not set -# CONFIG_KEY_DH_OPERATIONS is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set CONFIG_SECURITY=y -# CONFIG_SECURITY_WRITABLE_HOOKS is not set -# CONFIG_SECURITYFS is not set -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_PATH is not set -CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y -# CONFIG_HARDENED_USERCOPY is not set -# CONFIG_FORTIFY_SOURCE is not set -# CONFIG_STATIC_USERMODEHELPER is not set -# CONFIG_SECURITY_SMACK is not set -# CONFIG_SECURITY_TOMOYO is not set -# CONFIG_SECURITY_APPARMOR is not set -# CONFIG_SECURITY_LOADPIN is not set -# CONFIG_SECURITY_YAMA is not set -CONFIG_INTEGRITY=y -# CONFIG_INTEGRITY_SIGNATURE is not set -CONFIG_INTEGRITY_AUDIT=y -# CONFIG_IMA is not set -# CONFIG_EVM is not set -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_DEFAULT_SECURITY="" -CONFIG_CRYPTO=y +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_XOR=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m # # Crypto core or helper # -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_ALGAPI2=y -CONFIG_CRYPTO_AEAD=y -CONFIG_CRYPTO_AEAD2=y -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_BLKCIPHER2=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=y -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_RNG_DEFAULT=y -CONFIG_CRYPTO_AKCIPHER2=y -CONFIG_CRYPTO_KPP2=y -CONFIG_CRYPTO_ACOMP2=y -# CONFIG_CRYPTO_RSA is not set -# CONFIG_CRYPTO_DH is not set -CONFIG_CRYPTO_ECDH=m -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_MANAGER2=y -# CONFIG_CRYPTO_USER is not set -CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_GF128MUL=y -CONFIG_CRYPTO_NULL=y -CONFIG_CRYPTO_NULL2=y -# CONFIG_CRYPTO_PCRYPT is not set -CONFIG_CRYPTO_WORKQUEUE=y -CONFIG_CRYPTO_CRYPTD=y -# CONFIG_CRYPTO_MCRYPTD is not set -CONFIG_CRYPTO_AUTHENC=m -# CONFIG_CRYPTO_TEST is not set -CONFIG_CRYPTO_SIMD=y -CONFIG_CRYPTO_ENGINE=m +CONFIG_CRYPTO_AUTHENC=y # # Authenticated Encryption with Associated Data # -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m -# CONFIG_CRYPTO_CHACHA20POLY1305 is not set -CONFIG_CRYPTO_SEQIV=m CONFIG_CRYPTO_ECHAINIV=y # # Block modes # -# CONFIG_CRYPTO_CBC is not set -CONFIG_CRYPTO_CTR=m -# CONFIG_CRYPTO_CTS is not set -CONFIG_CRYPTO_ECB=m -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_PCBC is not set -# CONFIG_CRYPTO_XTS is not set -# CONFIG_CRYPTO_KEYWRAP is not set +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTS=m # # Hash modes # -CONFIG_CRYPTO_CMAC=m -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_VMAC is not set # # Digest # -CONFIG_CRYPTO_CRC32C=y -# CONFIG_CRYPTO_CRC32 is not set +CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_CRCT10DIF=y -CONFIG_CRYPTO_GHASH=m -# CONFIG_CRYPTO_POLY1305 is not set -# CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=m -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_RMD128 is not set -# CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_RMD256 is not set -# CONFIG_CRYPTO_RMD320 is not set -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA512=m -# CONFIG_CRYPTO_SHA3 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_WP512 is not set # # Ciphers # -CONFIG_CRYPTO_AES=y -# CONFIG_CRYPTO_AES_TI is not set -# CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_ARC4=m -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -CONFIG_CRYPTO_DES=m -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_SALSA20 is not set -# CONFIG_CRYPTO_CHACHA20 is not set -# CONFIG_CRYPTO_SEED is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_TWOFISH is not set +CONFIG_CRYPTO_DES=y # # Compression # -# CONFIG_CRYPTO_DEFLATE is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_842 is not set -# CONFIG_CRYPTO_LZ4 is not set -# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_DEFLATE=m # # Random Number Generation # CONFIG_CRYPTO_ANSI_CPRNG=y -CONFIG_CRYPTO_DRBG_MENU=y -CONFIG_CRYPTO_DRBG_HMAC=y -# CONFIG_CRYPTO_DRBG_HASH is not set -# CONFIG_CRYPTO_DRBG_CTR is not set -CONFIG_CRYPTO_DRBG=y -CONFIG_CRYPTO_JITTERENTROPY=y -# CONFIG_CRYPTO_USER_API_HASH is not set -# CONFIG_CRYPTO_USER_API_SKCIPHER is not set -# CONFIG_CRYPTO_USER_API_RNG is not set -# CONFIG_CRYPTO_USER_API_AEAD is not set -CONFIG_CRYPTO_HW=y -# CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC is not set -# CONFIG_CRYPTO_DEV_CCP is not set -# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set -# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set -CONFIG_CRYPTO_DEV_VIRTIO=m -# CONFIG_ASYMMETRIC_KEY_TYPE is not set # # Certificates for signature checking # -# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set CONFIG_ARM64_CRYPTO=y CONFIG_CRYPTO_SHA256_ARM64=y -# CONFIG_CRYPTO_SHA512_ARM64 is not set +CONFIG_CRYPTO_SHA512_ARM64=m CONFIG_CRYPTO_SHA1_ARM64_CE=y CONFIG_CRYPTO_SHA2_ARM64_CE=y CONFIG_CRYPTO_GHASH_ARM64_CE=y -# CONFIG_CRYPTO_CRCT10DIF_ARM64_CE is not set -# CONFIG_CRYPTO_CRC32_ARM64_CE is not set +CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m +CONFIG_CRYPTO_CRC32_ARM64_CE=m CONFIG_CRYPTO_AES_ARM64=y CONFIG_CRYPTO_AES_ARM64_CE=y CONFIG_CRYPTO_AES_ARM64_CE_CCM=y CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set -# CONFIG_CRYPTO_CHACHA20_NEON is not set -# CONFIG_CRYPTO_AES_ARM64_BS is not set -# CONFIG_BINARY_PRINTF is not set +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m +CONFIG_CRYPTO_CHACHA20_NEON=m +CONFIG_CRYPTO_AES_ARM64_BS=m +CONFIG_BINARY_PRINTF=y # # Library routines # -CONFIG_BITREVERSE=y -CONFIG_HAVE_ARCH_BITREVERSE=y -CONFIG_RATIONAL=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_NET_UTILS=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_IO=y -CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y -# CONFIG_CRC_CCITT is not set -CONFIG_CRC16=y +CONFIG_CRC_CCITT=m CONFIG_CRC_T10DIF=y CONFIG_CRC_ITU_T=y -CONFIG_CRC32=y -# CONFIG_CRC32_SELFTEST is not set -CONFIG_CRC32_SLICEBY8=y -# CONFIG_CRC32_SLICEBY4 is not set -# CONFIG_CRC32_SARWATE is not set -# CONFIG_CRC32_BIT is not set -# CONFIG_CRC4 is not set CONFIG_CRC7=y -CONFIG_LIBCRC32C=m -# CONFIG_CRC8 is not set -CONFIG_AUDIT_GENERIC=y -CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y -CONFIG_AUDIT_COMPAT_GENERIC=y -# CONFIG_RANDOM32_SELFTEST is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_LZ4_DECOMPRESS=y -CONFIG_XZ_DEC=y -CONFIG_XZ_DEC_X86=y -CONFIG_XZ_DEC_POWERPC=y -CONFIG_XZ_DEC_IA64=y -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_ARMTHUMB=y -CONFIG_XZ_DEC_SPARC=y -CONFIG_XZ_DEC_BCJ=y -# CONFIG_XZ_DEC_TEST is not set -CONFIG_DECOMPRESS_GZIP=y -CONFIG_DECOMPRESS_BZIP2=y -CONFIG_DECOMPRESS_LZMA=y -CONFIG_DECOMPRESS_XZ=y -CONFIG_DECOMPRESS_LZO=y -CONFIG_DECOMPRESS_LZ4=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_RADIX_TREE_MULTIORDER=y -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAS_DMA=y -# CONFIG_DMA_NOOP_OPS is not set -# CONFIG_DMA_VIRT_OPS is not set -CONFIG_CPU_RMAP=y -CONFIG_DQL=y -CONFIG_GLOB=y -# CONFIG_GLOB_SELFTEST is not set -CONFIG_NLATTR=y -# CONFIG_CORDIC is not set -# CONFIG_DDR is not set -# CONFIG_IRQ_POLL is not set -CONFIG_LIBFDT=y -CONFIG_UCS2_STRING=y -CONFIG_FONT_SUPPORT=y -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y -# CONFIG_SG_SPLIT is not set -CONFIG_SG_POOL=y -CONFIG_ARCH_HAS_SG_CHAIN=y -CONFIG_SBITMAP=y -# CONFIG_STRING_SELFTEST is not set +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/README b/buildroot-external/board/hardkernel/odroid-c2/patches/README index 2921b8a94..0eafac24c 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/README +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/README @@ -1,2 +1,2 @@ -kernel patches from -https://github.com/superna9999/meta-meson/tree/sumo/recipes-kernel/linux/linux-yocto-meson64-4.14 +kernel patches from scpcom +https://forum.odroid.com/viewtopic.php?f=135&t=22717&start=900#p233963 diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/000_arm64-set-default-target-to-Image.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/000_arm64-set-default-target-to-Image.patch new file mode 100644 index 000000000..51bf570c2 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/000_arm64-set-default-target-to-Image.patch @@ -0,0 +1,13 @@ +diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile +index f839ecd9..cd276162 100644 +--- a/arch/arm64/Makefile ++++ b/arch/arm64/Makefile +@@ -103,7 +103,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a + + # Default target when executing plain make + boot := arch/arm64/boot +-KBUILD_IMAGE := $(boot)/Image.gz ++KBUILD_IMAGE := $(boot)/Image + KBUILD_DTBS := dtbs + + all: Image.gz $(KBUILD_DTBS) diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/001_linux-4.18.y-v4l-0001-dt-bindings-soc-amlogic-add_meson-canvas_documentation.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/001_linux-4.18.y-v4l-0001-dt-bindings-soc-amlogic-add_meson-canvas_documentation.patch new file mode 100644 index 000000000..8e0675a2b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/001_linux-4.18.y-v4l-0001-dt-bindings-soc-amlogic-add_meson-canvas_documentation.patch @@ -0,0 +1,49 @@ +From 4796e434b5785e3d9f95e988363c407b1e09bb91 Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Sat, 28 Jul 2018 22:40:27 +0200 +Subject: [PATCH] dt-bindings: soc: amlogic: add meson-canvas documentation + +DT bindings doc for amlogic,meson-canvas + +Reviewed-by: Jerome Brunet +Signed-off-by: Maxime Jourdan +--- + .../bindings/soc/amlogic/amlogic,canvas.txt | 29 +++++++++++++++++++ + 1 file changed, 29 insertions(+) + create mode 100644 Documentation/devicetree/bindings/soc/amlogic/amlogic,canvas.txt + +diff --git a/Documentation/devicetree/bindings/soc/amlogic/amlogic,canvas.txt b/Documentation/devicetree/bindings/soc/amlogic/amlogic,canvas.txt +new file mode 100644 +index 0000000000000..436d2106e80da +--- /dev/null ++++ b/Documentation/devicetree/bindings/soc/amlogic/amlogic,canvas.txt +@@ -0,0 +1,29 @@ ++Amlogic Canvas ++================================ ++ ++A canvas is a collection of metadata that describes a pixel buffer. ++Those metadata include: width, height, phyaddr, wrapping, block mode ++and endianness. ++ ++Many IPs within Amlogic SoCs rely on canvas indexes to read/write pixel data ++rather than use the phy addresses directly. For instance, this is the case for ++the video decoders and the display. ++ ++Amlogic SoCs have 256 canvas. ++ ++Device Tree Bindings: ++--------------------- ++ ++Video Lookup Table ++-------------------------- ++ ++Required properties: ++- compatible: "amlogic,canvas" ++- reg: Base physical address and size of the canvas registers. ++ ++Example: ++ ++canvas: video-lut@48 { ++ compatible = "amlogic,canvas"; ++ reg = <0x0 0x48 0x0 0x14>; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/002_linux-4.18.y-v4l-0002-soc-amlogic-add_meson-canvas_driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/002_linux-4.18.y-v4l-0002-soc-amlogic-add_meson-canvas_driver.patch new file mode 100644 index 000000000..e09fd826d --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/002_linux-4.18.y-v4l-0002-soc-amlogic-add_meson-canvas_driver.patch @@ -0,0 +1,313 @@ +From 21c3e7d31208b0c4fb4a6c0a8c52e6820a40596a Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Fri, 20 Apr 2018 13:17:07 +0200 +Subject: [PATCH] soc: amlogic: add meson-canvas driver + +Amlogic SoCs have a repository of 256 canvas which they use to +describe pixel buffers. + +They contain metadata like width, height, block mode, endianness [..] + +Many IPs within those SoCs like vdec/vpu rely on those canvas to read/write +pixels. + +Reviewed-by: Jerome Brunet +Tested-by: Neil Armstrong +Signed-off-by: Maxime Jourdan +--- + drivers/soc/amlogic/Kconfig | 7 + + drivers/soc/amlogic/Makefile | 1 + + drivers/soc/amlogic/meson-canvas.c | 185 +++++++++++++++++++++++ + include/linux/soc/amlogic/meson-canvas.h | 65 ++++++++ + 4 files changed, 258 insertions(+) + create mode 100644 drivers/soc/amlogic/meson-canvas.c + create mode 100644 include/linux/soc/amlogic/meson-canvas.h + +diff --git a/drivers/soc/amlogic/Kconfig b/drivers/soc/amlogic/Kconfig +index b04f6e4aedbc1..2f282b4729120 100644 +--- a/drivers/soc/amlogic/Kconfig ++++ b/drivers/soc/amlogic/Kconfig +@@ -1,5 +1,12 @@ + menu "Amlogic SoC drivers" + ++config MESON_CANVAS ++ tristate "Amlogic Meson Canvas driver" ++ depends on ARCH_MESON || COMPILE_TEST ++ default n ++ help ++ Say yes to support the canvas IP for Amlogic SoCs. ++ + config MESON_GX_SOCINFO + bool "Amlogic Meson GX SoC Information driver" + depends on ARCH_MESON || COMPILE_TEST +diff --git a/drivers/soc/amlogic/Makefile b/drivers/soc/amlogic/Makefile +index 8fa321893928d..0ab16d35ac36d 100644 +--- a/drivers/soc/amlogic/Makefile ++++ b/drivers/soc/amlogic/Makefile +@@ -1,3 +1,4 @@ ++obj-$(CONFIG_MESON_CANVAS) += meson-canvas.o + obj-$(CONFIG_MESON_GX_SOCINFO) += meson-gx-socinfo.o + obj-$(CONFIG_MESON_GX_PM_DOMAINS) += meson-gx-pwrc-vpu.o + obj-$(CONFIG_MESON_MX_SOCINFO) += meson-mx-socinfo.o +diff --git a/drivers/soc/amlogic/meson-canvas.c b/drivers/soc/amlogic/meson-canvas.c +new file mode 100644 +index 0000000000000..fce33ca76bb62 +--- /dev/null ++++ b/drivers/soc/amlogic/meson-canvas.c +@@ -0,0 +1,185 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * Copyright (C) 2014 Endless Mobile ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define NUM_CANVAS 256 ++ ++/* DMC Registers */ ++#define DMC_CAV_LUT_DATAL 0x00 ++ #define CANVAS_WIDTH_LBIT 29 ++ #define CANVAS_WIDTH_LWID 3 ++#define DMC_CAV_LUT_DATAH 0x04 ++ #define CANVAS_WIDTH_HBIT 0 ++ #define CANVAS_HEIGHT_BIT 9 ++ #define CANVAS_WRAP_BIT 22 ++ #define CANVAS_BLKMODE_BIT 24 ++ #define CANVAS_ENDIAN_BIT 26 ++#define DMC_CAV_LUT_ADDR 0x08 ++ #define CANVAS_LUT_WR_EN BIT(9) ++ #define CANVAS_LUT_RD_EN BIT(8) ++ ++struct meson_canvas { ++ struct device *dev; ++ void __iomem *reg_base; ++ spinlock_t lock; /* canvas device lock */ ++ u8 used[NUM_CANVAS]; ++}; ++ ++static void canvas_write(struct meson_canvas *canvas, u32 reg, u32 val) ++{ ++ writel_relaxed(val, canvas->reg_base + reg); ++} ++ ++static u32 canvas_read(struct meson_canvas *canvas, u32 reg) ++{ ++ return readl_relaxed(canvas->reg_base + reg); ++} ++ ++struct meson_canvas *meson_canvas_get(struct device *dev) ++{ ++ struct device_node *canvas_node; ++ struct platform_device *canvas_pdev; ++ ++ canvas_node = of_parse_phandle(dev->of_node, "amlogic,canvas", 0); ++ if (!canvas_node) ++ return ERR_PTR(-ENODEV); ++ ++ canvas_pdev = of_find_device_by_node(canvas_node); ++ if (!canvas_pdev) ++ return ERR_PTR(-EPROBE_DEFER); ++ ++ return dev_get_drvdata(&canvas_pdev->dev); ++} ++EXPORT_SYMBOL_GPL(meson_canvas_get); ++ ++int meson_canvas_config(struct meson_canvas *canvas, u8 canvas_index, ++ u32 addr, u32 stride, u32 height, ++ unsigned int wrap, ++ unsigned int blkmode, ++ unsigned int endian) ++{ ++ unsigned long flags; ++ ++ spin_lock_irqsave(&canvas->lock, flags); ++ if (!canvas->used[canvas_index]) { ++ dev_err(canvas->dev, ++ "Trying to setup non allocated canvas %u\n", ++ canvas_index); ++ spin_unlock_irqrestore(&canvas->lock, flags); ++ return -EINVAL; ++ } ++ ++ canvas_write(canvas, DMC_CAV_LUT_DATAL, ++ ((addr + 7) >> 3) | ++ (((stride + 7) >> 3) << CANVAS_WIDTH_LBIT)); ++ ++ canvas_write(canvas, DMC_CAV_LUT_DATAH, ++ ((((stride + 7) >> 3) >> CANVAS_WIDTH_LWID) << ++ CANVAS_WIDTH_HBIT) | ++ (height << CANVAS_HEIGHT_BIT) | ++ (wrap << CANVAS_WRAP_BIT) | ++ (blkmode << CANVAS_BLKMODE_BIT) | ++ (endian << CANVAS_ENDIAN_BIT)); ++ ++ canvas_write(canvas, DMC_CAV_LUT_ADDR, ++ CANVAS_LUT_WR_EN | canvas_index); ++ ++ /* Force a read-back to make sure everything is flushed. */ ++ canvas_read(canvas, DMC_CAV_LUT_DATAH); ++ spin_unlock_irqrestore(&canvas->lock, flags); ++ ++ return 0; ++} ++EXPORT_SYMBOL_GPL(meson_canvas_config); ++ ++int meson_canvas_alloc(struct meson_canvas *canvas, u8 *canvas_index) ++{ ++ int i; ++ unsigned long flags; ++ ++ spin_lock_irqsave(&canvas->lock, flags); ++ for (i = 0; i < NUM_CANVAS; ++i) { ++ if (!canvas->used[i]) { ++ canvas->used[i] = 1; ++ spin_unlock_irqrestore(&canvas->lock, flags); ++ *canvas_index = i; ++ return 0; ++ } ++ } ++ spin_unlock_irqrestore(&canvas->lock, flags); ++ ++ dev_err(canvas->dev, "No more canvas available\n"); ++ return -ENODEV; ++} ++EXPORT_SYMBOL_GPL(meson_canvas_alloc); ++ ++int meson_canvas_free(struct meson_canvas *canvas, u8 canvas_index) ++{ ++ unsigned long flags; ++ ++ spin_lock_irqsave(&canvas->lock, flags); ++ if (!canvas->used[canvas_index]) { ++ dev_err(canvas->dev, ++ "Trying to free unused canvas %u\n", canvas_index); ++ spin_unlock_irqrestore(&canvas->lock, flags); ++ return -EINVAL; ++ } ++ canvas->used[canvas_index] = 0; ++ spin_unlock_irqrestore(&canvas->lock, flags); ++ ++ return 0; ++} ++EXPORT_SYMBOL_GPL(meson_canvas_free); ++ ++static int meson_canvas_probe(struct platform_device *pdev) ++{ ++ struct resource *res; ++ struct meson_canvas *canvas; ++ struct device *dev = &pdev->dev; ++ ++ canvas = devm_kzalloc(dev, sizeof(*canvas), GFP_KERNEL); ++ if (!canvas) ++ return -ENOMEM; ++ ++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ canvas->reg_base = devm_ioremap_resource(dev, res); ++ if (IS_ERR(canvas->reg_base)) ++ return PTR_ERR(canvas->reg_base); ++ ++ canvas->dev = dev; ++ spin_lock_init(&canvas->lock); ++ dev_set_drvdata(dev, canvas); ++ ++ return 0; ++} ++ ++static const struct of_device_id canvas_dt_match[] = { ++ { .compatible = "amlogic,canvas" }, ++ {} ++}; ++MODULE_DEVICE_TABLE(of, canvas_dt_match); ++ ++static struct platform_driver meson_canvas_driver = { ++ .probe = meson_canvas_probe, ++ .driver = { ++ .name = "amlogic-canvas", ++ .of_match_table = canvas_dt_match, ++ }, ++}; ++module_platform_driver(meson_canvas_driver); ++ ++MODULE_DESCRIPTION("Amlogic Canvas driver"); ++MODULE_AUTHOR("Maxime Jourdan "); ++MODULE_LICENSE("GPL"); +diff --git a/include/linux/soc/amlogic/meson-canvas.h b/include/linux/soc/amlogic/meson-canvas.h +new file mode 100644 +index 0000000000000..b4dde2fbeb3fb +--- /dev/null ++++ b/include/linux/soc/amlogic/meson-canvas.h +@@ -0,0 +1,65 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ */ ++#ifndef __SOC_MESON_CANVAS_H ++#define __SOC_MESON_CANVAS_H ++ ++#include ++ ++#define MESON_CANVAS_WRAP_NONE 0x00 ++#define MESON_CANVAS_WRAP_X 0x01 ++#define MESON_CANVAS_WRAP_Y 0x02 ++ ++#define MESON_CANVAS_BLKMODE_LINEAR 0x00 ++#define MESON_CANVAS_BLKMODE_32x32 0x01 ++#define MESON_CANVAS_BLKMODE_64x64 0x02 ++ ++#define MESON_CANVAS_ENDIAN_SWAP16 0x1 ++#define MESON_CANVAS_ENDIAN_SWAP32 0x3 ++#define MESON_CANVAS_ENDIAN_SWAP64 0x7 ++#define MESON_CANVAS_ENDIAN_SWAP128 0xf ++ ++struct meson_canvas; ++ ++/** ++ * meson_canvas_get() - get a canvas provider instance ++ * ++ * @dev: consumer device pointer ++ */ ++struct meson_canvas *meson_canvas_get(struct device *dev); ++ ++/** ++ * meson_canvas_alloc() - take ownership of a canvas ++ * ++ * @canvas: canvas provider instance retrieved from meson_canvas_get() ++ * @canvas_index: will be filled with the canvas ID ++ */ ++int meson_canvas_alloc(struct meson_canvas *canvas, u8 *canvas_index); ++ ++/** ++ * meson_canvas_free() - remove ownership from a canvas ++ * ++ * @canvas: canvas provider instance retrieved from meson_canvas_get() ++ * @canvas_index: canvas ID that was obtained via meson_canvas_alloc() ++ */ ++int meson_canvas_free(struct meson_canvas *canvas, u8 canvas_index); ++ ++/** ++ * meson_canvas_config() - configure a canvas ++ * ++ * @canvas: canvas provider instance retrieved from meson_canvas_get() ++ * @canvas_index: canvas ID that was obtained via meson_canvas_alloc() ++ * @addr: physical address to the pixel buffer ++ * @stride: width of the buffer ++ * @height: height of the buffer ++ * @wrap: undocumented ++ * @blkmode: block mode (linear, 32x32, 64x64) ++ * @endian: byte swapping (swap16, swap32, swap64, swap128) ++ */ ++int meson_canvas_config(struct meson_canvas *canvas, u8 canvas_index, ++ u32 addr, u32 stride, u32 height, ++ unsigned int wrap, unsigned int blkmode, ++ unsigned int endian); ++ ++#endif diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/003_linux-4.18.y-v4l-0003-arm64-dts-meson-gx-add_dmcbus_and_canvas_nodes..patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/003_linux-4.18.y-v4l-0003-arm64-dts-meson-gx-add_dmcbus_and_canvas_nodes..patch new file mode 100644 index 000000000..e148eb20f --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/003_linux-4.18.y-v4l-0003-arm64-dts-meson-gx-add_dmcbus_and_canvas_nodes..patch @@ -0,0 +1,38 @@ +From e4c19f493a541cd00df42c02ec8f544f9835cbe5 Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Fri, 20 Apr 2018 16:09:09 +0200 +Subject: [PATCH] ARM64: dts: meson-gx: add dmcbus and canvas nodes. + +DMC is a small memory region with various registers, +including the ones needed for the canvas module. + +Reviewed-by: Jerome Brunet +Signed-off-by: Maxime Jourdan +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index b8dc4dbb391b6..5dd63ecf8b05b 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -423,6 +423,19 @@ + }; + }; + ++ dmcbus: bus@c8838000 { ++ compatible = "simple-bus"; ++ reg = <0x0 0xc8838000 0x0 0x400>; ++ #address-cells = <2>; ++ #size-cells = <2>; ++ ranges = <0x0 0x0 0x0 0xc8838000 0x0 0x400>; ++ ++ canvas: video-lut@48 { ++ compatible = "amlogic,canvas"; ++ reg = <0x0 0x48 0x0 0x14>; ++ }; ++ }; ++ + hiubus: bus@c883c000 { + compatible = "simple-bus"; + reg = <0x0 0xc883c000 0x0 0x2000>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/004_linux-4.18.y-v4l-0004-drm_meson-convert_to_the_new_canvas_module.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/004_linux-4.18.y-v4l-0004-drm_meson-convert_to_the_new_canvas_module.patch new file mode 100644 index 000000000..d7a91b420 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/004_linux-4.18.y-v4l-0004-drm_meson-convert_to_the_new_canvas_module.patch @@ -0,0 +1,366 @@ +From 665dbad80386dcb9ac78ec6153d8d518da9bb50e Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Fri, 20 Apr 2018 16:22:17 +0200 +Subject: [PATCH] drm/meson: convert to the new canvas module + +This removes the meson_canvas files within the meson/drm layer +and makes use of the new canvas module that is referenced in the dts. + +Canvases can be used by different IPs and modules, and it is as such +preferable to rely on a module that can safely dispatch canvases on +demand. + +Signed-off-by: Maxime Jourdan +--- + .../bindings/display/amlogic,meson-vpu.txt | 9 +-- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 7 +- + drivers/gpu/drm/meson/Kconfig | 1 + + drivers/gpu/drm/meson/Makefile | 2 +- + drivers/gpu/drm/meson/meson_canvas.c | 70 ------------------- + drivers/gpu/drm/meson/meson_canvas.h | 42 ----------- + drivers/gpu/drm/meson/meson_crtc.c | 9 ++- + drivers/gpu/drm/meson/meson_drv.c | 22 ++---- + drivers/gpu/drm/meson/meson_drv.h | 5 +- + drivers/gpu/drm/meson/meson_plane.c | 3 +- + drivers/gpu/drm/meson/meson_viu.c | 1 - + 11 files changed, 26 insertions(+), 145 deletions(-) + delete mode 100644 drivers/gpu/drm/meson/meson_canvas.c + delete mode 100644 drivers/gpu/drm/meson/meson_canvas.h + +diff --git a/Documentation/devicetree/bindings/display/amlogic,meson-vpu.txt b/Documentation/devicetree/bindings/display/amlogic,meson-vpu.txt +index 057b81335775e..60b6e13986365 100644 +--- a/Documentation/devicetree/bindings/display/amlogic,meson-vpu.txt ++++ b/Documentation/devicetree/bindings/display/amlogic,meson-vpu.txt +@@ -60,9 +60,9 @@ Required properties: + - reg: base address and size of he following memory-mapped regions : + - vpu + - hhi +- - dmc + - reg-names: should contain the names of the previous memory regions + - interrupts: should contain the VENC Vsync interrupt number ++- amlogic,canvas: should point to a meson canvas provider node + + Optional properties: + - power-domains: Optional phandle to associated power domain as described in +@@ -98,13 +98,14 @@ tv-connector { + vpu: vpu@d0100000 { + compatible = "amlogic,meson-gxbb-vpu"; + reg = <0x0 0xd0100000 0x0 0x100000>, +- <0x0 0xc883c000 0x0 0x1000>, +- <0x0 0xc8838000 0x0 0x1000>; +- reg-names = "vpu", "hhi", "dmc"; ++ <0x0 0xc883c000 0x0 0x1000>; ++ reg-names = "vpu", "hhi"; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + ++ amlogic,canvas = <&canvas>; ++ + /* CVBS VDAC output port */ + port@0 { + reg = <0>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index 5dd63ecf8b05b..737b741df0355 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -499,13 +499,14 @@ + vpu: vpu@d0100000 { + compatible = "amlogic,meson-gx-vpu"; + reg = <0x0 0xd0100000 0x0 0x100000>, +- <0x0 0xc883c000 0x0 0x1000>, +- <0x0 0xc8838000 0x0 0x1000>; +- reg-names = "vpu", "hhi", "dmc"; ++ <0x0 0xc883c000 0x0 0x1000>; ++ reg-names = "vpu", "hhi"; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + ++ amlogic,canvas = <&canvas>; ++ + /* CVBS VDAC output port */ + cvbs_vdac_port: port@0 { + reg = <0>; +diff --git a/drivers/gpu/drm/meson/Kconfig b/drivers/gpu/drm/meson/Kconfig +index 3ce51d8dfe1c8..c28b69f485555 100644 +--- a/drivers/gpu/drm/meson/Kconfig ++++ b/drivers/gpu/drm/meson/Kconfig +@@ -7,6 +7,7 @@ config DRM_MESON + select DRM_GEM_CMA_HELPER + select VIDEOMODE_HELPERS + select REGMAP_MMIO ++ select MESON_CANVAS + + config DRM_MESON_DW_HDMI + tristate "HDMI Synopsys Controller support for Amlogic Meson Display" +diff --git a/drivers/gpu/drm/meson/Makefile b/drivers/gpu/drm/meson/Makefile +index c5c4cc362f024..bd67429185ff7 100644 +--- a/drivers/gpu/drm/meson/Makefile ++++ b/drivers/gpu/drm/meson/Makefile +@@ -1,5 +1,5 @@ + meson-drm-y := meson_drv.o meson_plane.o meson_crtc.o meson_venc_cvbs.o +-meson-drm-y += meson_viu.o meson_vpp.o meson_venc.o meson_vclk.o meson_canvas.o ++meson-drm-y += meson_viu.o meson_vpp.o meson_venc.o meson_vclk.o + + obj-$(CONFIG_DRM_MESON) += meson-drm.o + obj-$(CONFIG_DRM_MESON_DW_HDMI) += meson_dw_hdmi.o +diff --git a/drivers/gpu/drm/meson/meson_canvas.c b/drivers/gpu/drm/meson/meson_canvas.c +deleted file mode 100644 +index 08f6073d967e0..0000000000000 +--- a/drivers/gpu/drm/meson/meson_canvas.c ++++ /dev/null +@@ -1,70 +0,0 @@ +-/* +- * Copyright (C) 2016 BayLibre, SAS +- * Author: Neil Armstrong +- * Copyright (C) 2015 Amlogic, Inc. All rights reserved. +- * Copyright (C) 2014 Endless Mobile +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License as +- * published by the Free Software Foundation; either version 2 of the +- * License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, see . +- */ +- +-#include +-#include +-#include "meson_drv.h" +-#include "meson_canvas.h" +-#include "meson_registers.h" +- +-/** +- * DOC: Canvas +- * +- * CANVAS is a memory zone where physical memory frames information +- * are stored for the VIU to scanout. +- */ +- +-/* DMC Registers */ +-#define DMC_CAV_LUT_DATAL 0x48 /* 0x12 offset in data sheet */ +-#define CANVAS_WIDTH_LBIT 29 +-#define CANVAS_WIDTH_LWID 3 +-#define DMC_CAV_LUT_DATAH 0x4c /* 0x13 offset in data sheet */ +-#define CANVAS_WIDTH_HBIT 0 +-#define CANVAS_HEIGHT_BIT 9 +-#define CANVAS_BLKMODE_BIT 24 +-#define DMC_CAV_LUT_ADDR 0x50 /* 0x14 offset in data sheet */ +-#define CANVAS_LUT_WR_EN (0x2 << 8) +-#define CANVAS_LUT_RD_EN (0x1 << 8) +- +-void meson_canvas_setup(struct meson_drm *priv, +- uint32_t canvas_index, uint32_t addr, +- uint32_t stride, uint32_t height, +- unsigned int wrap, +- unsigned int blkmode) +-{ +- unsigned int val; +- +- regmap_write(priv->dmc, DMC_CAV_LUT_DATAL, +- (((addr + 7) >> 3)) | +- (((stride + 7) >> 3) << CANVAS_WIDTH_LBIT)); +- +- regmap_write(priv->dmc, DMC_CAV_LUT_DATAH, +- ((((stride + 7) >> 3) >> CANVAS_WIDTH_LWID) << +- CANVAS_WIDTH_HBIT) | +- (height << CANVAS_HEIGHT_BIT) | +- (wrap << 22) | +- (blkmode << CANVAS_BLKMODE_BIT)); +- +- regmap_write(priv->dmc, DMC_CAV_LUT_ADDR, +- CANVAS_LUT_WR_EN | canvas_index); +- +- /* Force a read-back to make sure everything is flushed. */ +- regmap_read(priv->dmc, DMC_CAV_LUT_DATAH, &val); +-} +diff --git a/drivers/gpu/drm/meson/meson_canvas.h b/drivers/gpu/drm/meson/meson_canvas.h +deleted file mode 100644 +index af1759da4b275..0000000000000 +--- a/drivers/gpu/drm/meson/meson_canvas.h ++++ /dev/null +@@ -1,42 +0,0 @@ +-/* +- * Copyright (C) 2016 BayLibre, SAS +- * Author: Neil Armstrong +- * Copyright (C) 2014 Endless Mobile +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License as +- * published by the Free Software Foundation; either version 2 of the +- * License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, see . +- */ +- +-/* Canvas LUT Memory */ +- +-#ifndef __MESON_CANVAS_H +-#define __MESON_CANVAS_H +- +-#define MESON_CANVAS_ID_OSD1 0x4e +- +-/* Canvas configuration. */ +-#define MESON_CANVAS_WRAP_NONE 0x00 +-#define MESON_CANVAS_WRAP_X 0x01 +-#define MESON_CANVAS_WRAP_Y 0x02 +- +-#define MESON_CANVAS_BLKMODE_LINEAR 0x00 +-#define MESON_CANVAS_BLKMODE_32x32 0x01 +-#define MESON_CANVAS_BLKMODE_64x64 0x02 +- +-void meson_canvas_setup(struct meson_drm *priv, +- uint32_t canvas_index, uint32_t addr, +- uint32_t stride, uint32_t height, +- unsigned int wrap, +- unsigned int blkmode); +- +-#endif /* __MESON_CANVAS_H */ +diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c +index 05520202c9677..1ca9c6c45f9b9 100644 +--- a/drivers/gpu/drm/meson/meson_crtc.c ++++ b/drivers/gpu/drm/meson/meson_crtc.c +@@ -36,7 +36,6 @@ + #include "meson_venc.h" + #include "meson_vpp.h" + #include "meson_viu.h" +-#include "meson_canvas.h" + #include "meson_registers.h" + + /* CRTC definition */ +@@ -193,10 +192,10 @@ void meson_crtc_irq(struct meson_drm *priv) + } else + meson_vpp_disable_interlace_vscaler_osd1(priv); + +- meson_canvas_setup(priv, MESON_CANVAS_ID_OSD1, +- priv->viu.osd1_addr, priv->viu.osd1_stride, +- priv->viu.osd1_height, MESON_CANVAS_WRAP_NONE, +- MESON_CANVAS_BLKMODE_LINEAR); ++ meson_canvas_config(priv->canvas, priv->canvas_id_osd1, ++ priv->viu.osd1_addr, priv->viu.osd1_stride, ++ priv->viu.osd1_height, MESON_CANVAS_WRAP_NONE, ++ MESON_CANVAS_BLKMODE_LINEAR, 0); + + /* Enable OSD1 */ + writel_bits_relaxed(VPP_OSD1_POSTBLEND, VPP_OSD1_POSTBLEND, +diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c +index d3443125e6616..fb5b0e3c5efce 100644 +--- a/drivers/gpu/drm/meson/meson_drv.c ++++ b/drivers/gpu/drm/meson/meson_drv.c +@@ -47,7 +47,6 @@ + #include "meson_vpp.h" + #include "meson_viu.h" + #include "meson_venc.h" +-#include "meson_canvas.h" + #include "meson_registers.h" + + #define DRIVER_NAME "meson" +@@ -216,25 +215,15 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) + goto free_drm; + } + +- res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dmc"); +- if (!res) { +- ret = -EINVAL; +- goto free_drm; +- } +- /* Simply ioremap since it may be a shared register zone */ +- regs = devm_ioremap(dev, res->start, resource_size(res)); +- if (!regs) { +- ret = -EADDRNOTAVAIL; ++ priv->canvas = meson_canvas_get(dev); ++ if (IS_ERR(priv->canvas)) { ++ ret = PTR_ERR(priv->canvas); + goto free_drm; + } + +- priv->dmc = devm_regmap_init_mmio(dev, regs, +- &meson_regmap_config); +- if (IS_ERR(priv->dmc)) { +- dev_err(&pdev->dev, "Couldn't create the DMC regmap\n"); +- ret = PTR_ERR(priv->dmc); ++ ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_osd1); ++ if (ret) + goto free_drm; +- } + + priv->vsync_irq = platform_get_irq(pdev, 0); + +@@ -315,6 +304,7 @@ static void meson_drv_unbind(struct device *dev) + struct drm_device *drm = dev_get_drvdata(dev); + struct meson_drm *priv = drm->dev_private; + ++ meson_canvas_free(priv->canvas, priv->canvas_id_osd1); + drm_dev_unregister(drm); + drm_kms_helper_poll_fini(drm); + drm_fbdev_cma_fini(priv->fbdev); +diff --git a/drivers/gpu/drm/meson/meson_drv.h b/drivers/gpu/drm/meson/meson_drv.h +index 8450d6ac8c9bc..9e902a6df7843 100644 +--- a/drivers/gpu/drm/meson/meson_drv.h ++++ b/drivers/gpu/drm/meson/meson_drv.h +@@ -22,15 +22,18 @@ + #include + #include + #include ++#include + #include + + struct meson_drm { + struct device *dev; + void __iomem *io_base; + struct regmap *hhi; +- struct regmap *dmc; + int vsync_irq; + ++ struct meson_canvas *canvas; ++ u8 canvas_id_osd1; ++ + struct drm_device *drm; + struct drm_crtc *crtc; + struct drm_fbdev_cma *fbdev; +diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c +index 12c80dfcff59b..8745f9209625b 100644 +--- a/drivers/gpu/drm/meson/meson_plane.c ++++ b/drivers/gpu/drm/meson/meson_plane.c +@@ -36,7 +36,6 @@ + #include "meson_plane.h" + #include "meson_vpp.h" + #include "meson_viu.h" +-#include "meson_canvas.h" + #include "meson_registers.h" + + struct meson_plane { +@@ -105,7 +104,7 @@ static void meson_plane_atomic_update(struct drm_plane *plane, + OSD_BLK0_ENABLE; + + /* Set up BLK0 to point to the right canvas */ +- priv->viu.osd1_blk0_cfg[0] = ((MESON_CANVAS_ID_OSD1 << OSD_CANVAS_SEL) | ++ priv->viu.osd1_blk0_cfg[0] = ((priv->canvas_id_osd1 << OSD_CANVAS_SEL) | + OSD_ENDIANNESS_LE); + + /* On GXBB, Use the old non-HDR RGB2YUV converter */ +diff --git a/drivers/gpu/drm/meson/meson_viu.c b/drivers/gpu/drm/meson/meson_viu.c +index 6bcfa527c1801..5b48c4c0985b5 100644 +--- a/drivers/gpu/drm/meson/meson_viu.c ++++ b/drivers/gpu/drm/meson/meson_viu.c +@@ -25,7 +25,6 @@ + #include "meson_viu.h" + #include "meson_vpp.h" + #include "meson_venc.h" +-#include "meson_canvas.h" + #include "meson_registers.h" + + /** diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/005_linux-4.18.y-v4l-0005-dt-bindings-media-add_amlogic_video_decoder_bindings.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/005_linux-4.18.y-v4l-0005-dt-bindings-media-add_amlogic_video_decoder_bindings.patch new file mode 100644 index 000000000..389e3486b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/005_linux-4.18.y-v4l-0005-dt-bindings-media-add_amlogic_video_decoder_bindings.patch @@ -0,0 +1,82 @@ +From 0ceff9fb866173338b3ca79657ce6bf9aa3b2a9a Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Wed, 29 Aug 2018 15:05:05 +0200 +Subject: [PATCH] dt-bindings: media: add Amlogic Video Decoder Bindings + +Add documentation for the meson vdec dts node. + +Signed-off-by: Maxime Jourdan +--- + .../bindings/media/amlogic,vdec.txt | 63 +++++++++++++++++++ + 1 file changed, 63 insertions(+) + create mode 100644 Documentation/devicetree/bindings/media/amlogic,vdec.txt + +diff --git a/Documentation/devicetree/bindings/media/amlogic,vdec.txt b/Documentation/devicetree/bindings/media/amlogic,vdec.txt +new file mode 100644 +index 0000000000000..c6450f2e7f28f +--- /dev/null ++++ b/Documentation/devicetree/bindings/media/amlogic,vdec.txt +@@ -0,0 +1,63 @@ ++Amlogic Video Decoder ++================================ ++ ++The VDEC IP is composed of the following blocks : ++ ++- ESPARSER is a bitstream parser that outputs to a VIFIFO. Further VDEC blocks ++then feed from this VIFIFO. ++- VDEC_1 can decode MPEG-1, MPEG-2, MPEG-4 part 2, H.263, H.264. ++- VDEC_2 is used as a helper for corner cases like H.264 4K on older SoCs. ++It is not handled by this driver. ++- VDEC_HCODEC is the H.264 encoding block. It is not handled by this driver. ++- VDEC_HEVC can decode HEVC and VP9. ++ ++Device Tree Bindings: ++--------------------- ++ ++VDEC: Video Decoder ++-------------------------- ++ ++Required properties: ++- compatible: value should be different for each SoC family as : ++ - GXBB (S905) : "amlogic,gxbb-vdec" ++ - GXL (S905X, S905D) : "amlogic,gxl-vdec" ++ - GXM (S912) : "amlogic,gxm-vdec" ++- reg: base address and size of he following memory-mapped regions : ++ - dos ++ - esparser ++- reg-names: should contain the names of the previous memory regions ++- interrupts: should contain the vdec and esparser IRQs. ++- amlogic,ao-sysctrl: should point to the AOBUS sysctrl node ++- amlogic,canvas: should point to a canvas provider node ++- clocks: should contain the following clocks : ++ - dos_parser ++ - dos ++ - vdec_1 ++ - vdec_hevc ++- clock-names: should contain the names of the previous clocks ++- resets: should contain the parser reset. ++- reset-names: should be "esparser". ++ ++Example: ++ ++vdec: video-decoder@c8820000 { ++ compatible = "amlogic,gxbb-vdec"; ++ reg = <0x0 0xc8820000 0x0 0x10000>, ++ <0x0 0xc110a580 0x0 0xe4>; ++ reg-names = "dos", "esparser"; ++ ++ interrupts = , ++ ; ++ ++ amlogic,ao-sysctrl = <&sysctrl_AO>; ++ amlogic,canvas = <&canvas>; ++ ++ clocks = <&clkc CLKID_DOS_PARSER>, ++ <&clkc CLKID_DOS>, ++ <&clkc CLKID_VDEC_1>, ++ <&clkc CLKID_VDEC_HEVC>; ++ clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc"; ++ ++ resets = <&reset RESET_PARSER>; ++ reset-names = "esparser"; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/006_linux-4.18.y-v4l-0006-media-meson-add_v4l2_m2m_video_decoder_driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/006_linux-4.18.y-v4l-0006-media-meson-add_v4l2_m2m_video_decoder_driver.patch new file mode 100644 index 000000000..3ef259e6a --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/006_linux-4.18.y-v4l-0006-media-meson-add_v4l2_m2m_video_decoder_driver.patch @@ -0,0 +1,2844 @@ +From c975acbed7ff7904523600a4fd5e4b45b4c41ec3 Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Wed, 29 Aug 2018 15:17:22 +0200 +Subject: [PATCH] media: meson: add v4l2 m2m video decoder driver + +Amlogic SoCs feature a powerful video decoder unit able to +decode many formats, with a performance of usually up to 4k60. + +This is a driver for this IP that is based around the v4l2 m2m framework. + +It features decoding for: +- MPEG 1 +- MPEG 2 + +Supported SoCs are: GXBB (S905), GXL (S905X/W/D), GXM (S912) + +There is also a hardware bitstream parser (ESPARSER) that is handled here. + +Signed-off-by: Maxime Jourdan +--- + drivers/media/platform/Kconfig | 10 + + drivers/media/platform/meson/Makefile | 1 + + drivers/media/platform/meson/vdec/Makefile | 8 + + .../media/platform/meson/vdec/codec_mpeg12.c | 170 +++ + .../media/platform/meson/vdec/codec_mpeg12.h | 14 + + drivers/media/platform/meson/vdec/dos_regs.h | 98 ++ + drivers/media/platform/meson/vdec/esparser.c | 368 +++++++ + drivers/media/platform/meson/vdec/esparser.h | 28 + + drivers/media/platform/meson/vdec/vdec.c | 988 ++++++++++++++++++ + drivers/media/platform/meson/vdec/vdec.h | 234 +++++ + drivers/media/platform/meson/vdec/vdec_1.c | 228 ++++ + drivers/media/platform/meson/vdec/vdec_1.h | 14 + + .../media/platform/meson/vdec/vdec_helpers.c | 354 +++++++ + .../media/platform/meson/vdec/vdec_helpers.h | 45 + + .../media/platform/meson/vdec/vdec_platform.c | 101 ++ + .../media/platform/meson/vdec/vdec_platform.h | 30 + + 16 files changed, 2691 insertions(+) + create mode 100644 drivers/media/platform/meson/vdec/Makefile + create mode 100644 drivers/media/platform/meson/vdec/codec_mpeg12.c + create mode 100644 drivers/media/platform/meson/vdec/codec_mpeg12.h + create mode 100644 drivers/media/platform/meson/vdec/dos_regs.h + create mode 100644 drivers/media/platform/meson/vdec/esparser.c + create mode 100644 drivers/media/platform/meson/vdec/esparser.h + create mode 100644 drivers/media/platform/meson/vdec/vdec.c + create mode 100644 drivers/media/platform/meson/vdec/vdec.h + create mode 100644 drivers/media/platform/meson/vdec/vdec_1.c + create mode 100644 drivers/media/platform/meson/vdec/vdec_1.h + create mode 100644 drivers/media/platform/meson/vdec/vdec_helpers.c + create mode 100644 drivers/media/platform/meson/vdec/vdec_helpers.h + create mode 100644 drivers/media/platform/meson/vdec/vdec_platform.c + create mode 100644 drivers/media/platform/meson/vdec/vdec_platform.h + +diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig +index 2728376b04b53..1c33d95dd92f9 100644 +--- a/drivers/media/platform/Kconfig ++++ b/drivers/media/platform/Kconfig +@@ -482,6 +482,16 @@ config VIDEO_QCOM_VENUS + on various Qualcomm SoCs. + To compile this driver as a module choose m here. + ++config VIDEO_MESON_VDEC ++ tristate "Amlogic video decoder driver" ++ depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA ++ depends on (ARCH_MESON) || COMPILE_TEST ++ select VIDEOBUF2_DMA_CONTIG ++ select V4L2_MEM2MEM_DEV ++ select MESON_CANVAS ++ help ++ Support for the video decoder found in gxbb/gxl/gxm chips. ++ + endif # V4L_MEM2MEM_DRIVERS + + # TI VIDEO PORT Helper Modules +diff --git a/drivers/media/platform/meson/Makefile b/drivers/media/platform/meson/Makefile +index 597beb8f34d15..f7c6e1031f25d 100644 +--- a/drivers/media/platform/meson/Makefile ++++ b/drivers/media/platform/meson/Makefile +@@ -1 +1,2 @@ + obj-$(CONFIG_VIDEO_MESON_AO_CEC) += ao-cec.o ++obj-$(CONFIG_VIDEO_MESON_VDEC) += vdec/ +diff --git a/drivers/media/platform/meson/vdec/Makefile b/drivers/media/platform/meson/vdec/Makefile +new file mode 100644 +index 0000000000000..6bea129084b76 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/Makefile +@@ -0,0 +1,8 @@ ++# SPDX-License-Identifier: GPL-2.0 ++# Makefile for Amlogic meson video decoder driver ++ ++meson-vdec-objs = esparser.o vdec.o vdec_helpers.o vdec_platform.o ++meson-vdec-objs += vdec_1.o ++meson-vdec-objs += codec_mpeg12.o ++ ++obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o +diff --git a/drivers/media/platform/meson/vdec/codec_mpeg12.c b/drivers/media/platform/meson/vdec/codec_mpeg12.c +new file mode 100644 +index 0000000000000..18709319cff7f +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/codec_mpeg12.c +@@ -0,0 +1,170 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#include ++#include ++ ++#include "vdec_helpers.h" ++#include "dos_regs.h" ++ ++#define SIZE_WORKSPACE SZ_128K ++/* Offset substracted by the firmware from the workspace paddr */ ++#define WORKSPACE_OFFSET (5 * SZ_1K) ++ ++/* map firmware registers to known MPEG1/2 functions */ ++#define MREG_SEQ_INFO AV_SCRATCH_4 ++#define MREG_PIC_INFO AV_SCRATCH_5 ++#define MREG_PIC_WIDTH AV_SCRATCH_6 ++#define MREG_PIC_HEIGHT AV_SCRATCH_7 ++#define MREG_BUFFERIN AV_SCRATCH_8 ++#define MREG_BUFFEROUT AV_SCRATCH_9 ++#define MREG_CMD AV_SCRATCH_A ++#define MREG_CO_MV_START AV_SCRATCH_B ++#define MREG_ERROR_COUNT AV_SCRATCH_C ++#define MREG_FRAME_OFFSET AV_SCRATCH_D ++#define MREG_WAIT_BUFFER AV_SCRATCH_E ++#define MREG_FATAL_ERROR AV_SCRATCH_F ++ ++#define PICINFO_PROG 0x00008000 ++#define PICINFO_TOP_FIRST 0x00002000 ++ ++struct codec_mpeg12 { ++ /* Buffer for the MPEG1/2 Workspace */ ++ void *workspace_vaddr; ++ dma_addr_t workspace_paddr; ++}; ++ ++static int codec_mpeg12_can_recycle(struct amvdec_core *core) ++{ ++ return !amvdec_read_dos(core, MREG_BUFFERIN); ++} ++ ++static void codec_mpeg12_recycle(struct amvdec_core *core, u32 buf_idx) ++{ ++ amvdec_write_dos(core, MREG_BUFFERIN, buf_idx + 1); ++} ++ ++static int codec_mpeg12_start(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_mpeg12 *mpeg12 = sess->priv; ++ int ret; ++ ++ mpeg12 = kzalloc(sizeof(*mpeg12), GFP_KERNEL); ++ if (!mpeg12) ++ return -ENOMEM; ++ ++ /* Allocate some memory for the MPEG1/2 decoder's state */ ++ mpeg12->workspace_vaddr = dma_alloc_coherent(core->dev, SIZE_WORKSPACE, ++ &mpeg12->workspace_paddr, ++ GFP_KERNEL); ++ if (!mpeg12->workspace_vaddr) { ++ dev_err(core->dev, "Failed to request MPEG 1/2 Workspace\n"); ++ ret = -ENOMEM; ++ goto free_mpeg12; ++ } ++ ++ ret = amvdec_set_canvases(sess, (u32[]){ AV_SCRATCH_0, 0 }, ++ (u32[]){ 8, 0 }); ++ if (ret) ++ goto free_workspace; ++ ++ amvdec_write_dos(core, POWER_CTL_VLD, BIT(4)); ++ amvdec_write_dos(core, MREG_CO_MV_START, ++ mpeg12->workspace_paddr + WORKSPACE_OFFSET); ++ ++ amvdec_write_dos(core, MPEG1_2_REG, 0); ++ amvdec_write_dos(core, PSCALE_CTRL, 0); ++ amvdec_write_dos(core, PIC_HEAD_INFO, 0x380); ++ amvdec_write_dos(core, M4_CONTROL_REG, 0); ++ amvdec_write_dos(core, MREG_BUFFERIN, 0); ++ amvdec_write_dos(core, MREG_BUFFEROUT, 0); ++ amvdec_write_dos(core, MREG_CMD, (sess->width << 16) | sess->height); ++ amvdec_write_dos(core, MREG_ERROR_COUNT, 0); ++ amvdec_write_dos(core, MREG_FATAL_ERROR, 0); ++ amvdec_write_dos(core, MREG_WAIT_BUFFER, 0); ++ ++ sess->keyframe_found = 1; ++ sess->priv = mpeg12; ++ ++ return 0; ++ ++free_workspace: ++ dma_free_coherent(core->dev, SIZE_WORKSPACE, mpeg12->workspace_vaddr, ++ mpeg12->workspace_paddr); ++free_mpeg12: ++ kfree(mpeg12); ++ ++ return ret; ++} ++ ++static int codec_mpeg12_stop(struct amvdec_session *sess) ++{ ++ struct codec_mpeg12 *mpeg12 = sess->priv; ++ struct amvdec_core *core = sess->core; ++ ++ if (mpeg12->workspace_vaddr) ++ dma_free_coherent(core->dev, SIZE_WORKSPACE, ++ mpeg12->workspace_vaddr, ++ mpeg12->workspace_paddr); ++ ++ return 0; ++} ++ ++static irqreturn_t codec_mpeg12_threaded_isr(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ u32 reg; ++ u32 pic_info; ++ u32 is_progressive; ++ u32 buffer_index; ++ u32 field = V4L2_FIELD_NONE; ++ ++ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1); ++ reg = amvdec_read_dos(core, MREG_FATAL_ERROR); ++ if (reg == 1) { ++ dev_err(core->dev, "MPEG1/2 fatal error\n"); ++ amvdec_abort(sess); ++ return IRQ_HANDLED; ++ } ++ ++ reg = amvdec_read_dos(core, MREG_BUFFEROUT); ++ if (!reg) ++ return IRQ_HANDLED; ++ ++ /* Unclear what this means */ ++ if ((reg & GENMASK(23, 17)) == GENMASK(23, 17)) ++ goto end; ++ ++ pic_info = amvdec_read_dos(core, MREG_PIC_INFO); ++ is_progressive = pic_info & PICINFO_PROG; ++ ++ if (!is_progressive) ++ field = (pic_info & PICINFO_TOP_FIRST) ? ++ V4L2_FIELD_INTERLACED_TB : ++ V4L2_FIELD_INTERLACED_BT; ++ ++ buffer_index = ((reg & 0xf) - 1) & 7; ++ amvdec_dst_buf_done_idx(sess, buffer_index, field); ++ ++end: ++ amvdec_write_dos(core, MREG_BUFFEROUT, 0); ++ return IRQ_HANDLED; ++} ++ ++static irqreturn_t codec_mpeg12_isr(struct amvdec_session *sess) ++{ ++ return IRQ_WAKE_THREAD; ++} ++ ++struct amvdec_codec_ops codec_mpeg12_ops = { ++ .start = codec_mpeg12_start, ++ .stop = codec_mpeg12_stop, ++ .isr = codec_mpeg12_isr, ++ .threaded_isr = codec_mpeg12_threaded_isr, ++ .can_recycle = codec_mpeg12_can_recycle, ++ .recycle = codec_mpeg12_recycle, ++}; +diff --git a/drivers/media/platform/meson/vdec/codec_mpeg12.h b/drivers/media/platform/meson/vdec/codec_mpeg12.h +new file mode 100644 +index 0000000000000..43cab5f39ca05 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/codec_mpeg12.h +@@ -0,0 +1,14 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_CODEC_MPEG12_H_ ++#define __MESON_VDEC_CODEC_MPEG12_H_ ++ ++#include "vdec.h" ++ ++extern struct amvdec_codec_ops codec_mpeg12_ops; ++ ++#endif +diff --git a/drivers/media/platform/meson/vdec/dos_regs.h b/drivers/media/platform/meson/vdec/dos_regs.h +new file mode 100644 +index 0000000000000..abd810542dbb5 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/dos_regs.h +@@ -0,0 +1,98 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_DOS_REGS_H_ ++#define __MESON_VDEC_DOS_REGS_H_ ++ ++/* DOS registers */ ++#define VDEC_ASSIST_AMR1_INT8 0x00b4 ++ ++#define ASSIST_MBOX1_CLR_REG 0x01d4 ++#define ASSIST_MBOX1_MASK 0x01d8 ++ ++#define MPSR 0x0c04 ++#define MCPU_INTR_MSK 0x0c10 ++#define CPSR 0x0c84 ++ ++#define IMEM_DMA_CTRL 0x0d00 ++#define IMEM_DMA_ADR 0x0d04 ++#define IMEM_DMA_COUNT 0x0d08 ++#define LMEM_DMA_CTRL 0x0d40 ++ ++#define MC_STATUS0 0x2424 ++#define MC_CTRL1 0x242c ++ ++#define PSCALE_RST 0x2440 ++#define PSCALE_CTRL 0x2444 ++#define PSCALE_BMEM_ADDR 0x247c ++#define PSCALE_BMEM_DAT 0x2480 ++ ++#define DBLK_CTRL 0x2544 ++#define DBLK_STATUS 0x254c ++ ++#define GCLK_EN 0x260c ++#define MDEC_PIC_DC_CTRL 0x2638 ++#define MDEC_PIC_DC_STATUS 0x263c ++#define ANC0_CANVAS_ADDR 0x2640 ++#define MDEC_PIC_DC_THRESH 0x26e0 ++ ++/* Firmware interface registers */ ++#define AV_SCRATCH_0 0x2700 ++#define AV_SCRATCH_1 0x2704 ++#define AV_SCRATCH_2 0x2708 ++#define AV_SCRATCH_3 0x270c ++#define AV_SCRATCH_4 0x2710 ++#define AV_SCRATCH_5 0x2714 ++#define AV_SCRATCH_6 0x2718 ++#define AV_SCRATCH_7 0x271c ++#define AV_SCRATCH_8 0x2720 ++#define AV_SCRATCH_9 0x2724 ++#define AV_SCRATCH_A 0x2728 ++#define AV_SCRATCH_B 0x272c ++#define AV_SCRATCH_C 0x2730 ++#define AV_SCRATCH_D 0x2734 ++#define AV_SCRATCH_E 0x2738 ++#define AV_SCRATCH_F 0x273c ++#define AV_SCRATCH_G 0x2740 ++#define AV_SCRATCH_H 0x2744 ++#define AV_SCRATCH_I 0x2748 ++#define AV_SCRATCH_J 0x274c ++#define AV_SCRATCH_K 0x2750 ++#define AV_SCRATCH_L 0x2754 ++ ++#define MPEG1_2_REG 0x3004 ++#define PIC_HEAD_INFO 0x300c ++#define POWER_CTL_VLD 0x3020 ++#define M4_CONTROL_REG 0x30a4 ++ ++/* Stream Buffer (stbuf) regs */ ++#define VLD_MEM_VIFIFO_START_PTR 0x3100 ++#define VLD_MEM_VIFIFO_CURR_PTR 0x3104 ++#define VLD_MEM_VIFIFO_END_PTR 0x3108 ++#define VLD_MEM_VIFIFO_CONTROL 0x3110 ++ #define MEM_FIFO_CNT_BIT 16 ++ #define MEM_FILL_ON_LEVEL BIT(10) ++ #define MEM_CTRL_EMPTY_EN BIT(2) ++ #define MEM_CTRL_FILL_EN BIT(1) ++#define VLD_MEM_VIFIFO_WP 0x3114 ++#define VLD_MEM_VIFIFO_RP 0x3118 ++#define VLD_MEM_VIFIFO_LEVEL 0x311c ++#define VLD_MEM_VIFIFO_BUF_CNTL 0x3120 ++ #define MEM_BUFCTRL_MANUAL BIT(1) ++#define VLD_MEM_VIFIFO_WRAP_COUNT 0x3144 ++ ++#define DCAC_DMA_CTRL 0x3848 ++ ++#define DOS_SW_RESET0 0xfc00 ++#define DOS_GCLK_EN0 0xfc04 ++#define DOS_GEN_CTRL0 0xfc08 ++#define DOS_MEM_PD_VDEC 0xfcc0 ++#define DOS_MEM_PD_HEVC 0xfccc ++#define DOS_SW_RESET3 0xfcd0 ++#define DOS_GCLK_EN3 0xfcd4 ++#define DOS_VDEC_MCRCC_STALL_CTRL 0xfd00 ++ ++#endif +diff --git a/drivers/media/platform/meson/vdec/esparser.c b/drivers/media/platform/meson/vdec/esparser.c +new file mode 100644 +index 0000000000000..098c7d76ad3fe +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/esparser.c +@@ -0,0 +1,368 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ * ++ * The Elementary Stream Parser is a HW bitstream parser. ++ * It reads bitstream buffers and feeds them to the VIFIFO ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "dos_regs.h" ++#include "esparser.h" ++#include "vdec_helpers.h" ++ ++/* PARSER REGS (CBUS) */ ++#define PARSER_CONTROL 0x00 ++ #define ES_PACK_SIZE_BIT 8 ++ #define ES_WRITE BIT(5) ++ #define ES_SEARCH BIT(1) ++ #define ES_PARSER_START BIT(0) ++#define PARSER_FETCH_ADDR 0x4 ++#define PARSER_FETCH_CMD 0x8 ++#define PARSER_CONFIG 0x14 ++ #define PS_CFG_MAX_FETCH_CYCLE_BIT 0 ++ #define PS_CFG_STARTCODE_WID_24_BIT 10 ++ #define PS_CFG_MAX_ES_WR_CYCLE_BIT 12 ++ #define PS_CFG_PFIFO_EMPTY_CNT_BIT 16 ++#define PFIFO_WR_PTR 0x18 ++#define PFIFO_RD_PTR 0x1c ++#define PARSER_SEARCH_PATTERN 0x24 ++ #define ES_START_CODE_PATTERN 0x00000100 ++#define PARSER_SEARCH_MASK 0x28 ++ #define ES_START_CODE_MASK 0xffffff00 ++ #define FETCH_ENDIAN_BIT 27 ++#define PARSER_INT_ENABLE 0x2c ++ #define PARSER_INT_HOST_EN_BIT 8 ++#define PARSER_INT_STATUS 0x30 ++ #define PARSER_INTSTAT_SC_FOUND 1 ++#define PARSER_ES_CONTROL 0x5c ++#define PARSER_VIDEO_START_PTR 0x80 ++#define PARSER_VIDEO_END_PTR 0x84 ++#define PARSER_VIDEO_HOLE 0x90 ++ ++#define SEARCH_PATTERN_LEN 512 ++#define MIN_PACKET_SIZE (4 * SZ_1K) ++ ++/* Buffer to send to the ESPARSER to signal End Of Stream. ++ * Credits to Endless Mobile. ++ */ ++#define EOS_TAIL_BUF_SIZE 1024 ++static const u8 eos_tail_data[EOS_TAIL_BUF_SIZE] = { ++ 0x00, 0x00, 0x00, 0x01, 0x06, 0x05, 0xff, 0xe4, 0xdc, 0x45, 0xe9, 0xbd, ++ 0xe6, 0xd9, 0x48, 0xb7, 0x96, 0x2c, 0xd8, 0x20, 0xd9, 0x23, 0xee, 0xef, ++ 0x78, 0x32, 0x36, 0x34, 0x20, 0x2d, 0x20, 0x63, 0x6f, 0x72, 0x65, 0x20, ++ 0x36, 0x37, 0x20, 0x72, 0x31, 0x31, 0x33, 0x30, 0x20, 0x38, 0x34, 0x37, ++ 0x35, 0x39, 0x37, 0x37, 0x20, 0x2d, 0x20, 0x48, 0x2e, 0x32, 0x36, 0x34, ++ 0x2f, 0x4d, 0x50, 0x45, 0x47, 0x2d, 0x34, 0x20, 0x41, 0x56, 0x43, 0x20, ++ 0x63, 0x6f, 0x64, 0x65, 0x63, 0x20, 0x2d, 0x20, 0x43, 0x6f, 0x70, 0x79, ++ 0x6c, 0x65, 0x66, 0x74, 0x20, 0x32, 0x30, 0x30, 0x33, 0x2d, 0x32, 0x30, ++ 0x30, 0x39, 0x20, 0x2d, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, ++ 0x77, 0x77, 0x77, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x6c, 0x61, 0x6e, ++ 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x78, 0x32, 0x36, 0x34, 0x2e, 0x68, 0x74, ++ 0x6d, 0x6c, 0x20, 0x2d, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, ++ 0x3a, 0x20, 0x63, 0x61, 0x62, 0x61, 0x63, 0x3d, 0x31, 0x20, 0x72, 0x65, ++ 0x66, 0x3d, 0x31, 0x20, 0x64, 0x65, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x3d, ++ 0x31, 0x3a, 0x30, 0x3a, 0x30, 0x20, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, ++ 0x65, 0x3d, 0x30, 0x78, 0x31, 0x3a, 0x30, 0x78, 0x31, 0x31, 0x31, 0x20, ++ 0x6d, 0x65, 0x3d, 0x68, 0x65, 0x78, 0x20, 0x73, 0x75, 0x62, 0x6d, 0x65, ++ 0x3d, 0x36, 0x20, 0x70, 0x73, 0x79, 0x5f, 0x72, 0x64, 0x3d, 0x31, 0x2e, ++ 0x30, 0x3a, 0x30, 0x2e, 0x30, 0x20, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, ++ 0x72, 0x65, 0x66, 0x3d, 0x30, 0x20, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, ++ 0x67, 0x65, 0x3d, 0x31, 0x36, 0x20, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x61, ++ 0x5f, 0x6d, 0x65, 0x3d, 0x31, 0x20, 0x74, 0x72, 0x65, 0x6c, 0x6c, 0x69, ++ 0x73, 0x3d, 0x30, 0x20, 0x38, 0x78, 0x38, 0x64, 0x63, 0x74, 0x3d, 0x30, ++ 0x20, 0x63, 0x71, 0x6d, 0x3d, 0x30, 0x20, 0x64, 0x65, 0x61, 0x64, 0x7a, ++ 0x6f, 0x6e, 0x65, 0x3d, 0x32, 0x31, 0x2c, 0x31, 0x31, 0x20, 0x63, 0x68, ++ 0x72, 0x6f, 0x6d, 0x61, 0x5f, 0x71, 0x70, 0x5f, 0x6f, 0x66, 0x66, 0x73, ++ 0x65, 0x74, 0x3d, 0x2d, 0x32, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, ++ 0x73, 0x3d, 0x31, 0x20, 0x6e, 0x72, 0x3d, 0x30, 0x20, 0x64, 0x65, 0x63, ++ 0x69, 0x6d, 0x61, 0x74, 0x65, 0x3d, 0x31, 0x20, 0x6d, 0x62, 0x61, 0x66, ++ 0x66, 0x3d, 0x30, 0x20, 0x62, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x3d, ++ 0x30, 0x20, 0x6b, 0x65, 0x79, 0x69, 0x6e, 0x74, 0x3d, 0x32, 0x35, 0x30, ++ 0x20, 0x6b, 0x65, 0x79, 0x69, 0x6e, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x3d, ++ 0x32, 0x35, 0x20, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x63, 0x75, 0x74, 0x3d, ++ 0x34, 0x30, 0x20, 0x72, 0x63, 0x3d, 0x61, 0x62, 0x72, 0x20, 0x62, 0x69, ++ 0x74, 0x72, 0x61, 0x74, 0x65, 0x3d, 0x31, 0x30, 0x20, 0x72, 0x61, 0x74, ++ 0x65, 0x74, 0x6f, 0x6c, 0x3d, 0x31, 0x2e, 0x30, 0x20, 0x71, 0x63, 0x6f, ++ 0x6d, 0x70, 0x3d, 0x30, 0x2e, 0x36, 0x30, 0x20, 0x71, 0x70, 0x6d, 0x69, ++ 0x6e, 0x3d, 0x31, 0x30, 0x20, 0x71, 0x70, 0x6d, 0x61, 0x78, 0x3d, 0x35, ++ 0x31, 0x20, 0x71, 0x70, 0x73, 0x74, 0x65, 0x70, 0x3d, 0x34, 0x20, 0x69, ++ 0x70, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x3d, 0x31, 0x2e, 0x34, 0x30, ++ 0x20, 0x61, 0x71, 0x3d, 0x31, 0x3a, 0x31, 0x2e, 0x30, 0x30, 0x00, 0x80, ++ 0x00, 0x00, 0x00, 0x01, 0x67, 0x4d, 0x40, 0x0a, 0x9a, 0x74, 0xf4, 0x20, ++ 0x00, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x06, 0x51, 0xe2, 0x44, 0xd4, ++ 0x00, 0x00, 0x00, 0x01, 0x68, 0xee, 0x32, 0xc8, 0x00, 0x00, 0x00, 0x01, ++ 0x65, 0x88, 0x80, 0x20, 0x00, 0x08, 0x7f, 0xea, 0x6a, 0xe2, 0x99, 0xb6, ++ 0x57, 0xae, 0x49, 0x30, 0xf5, 0xfe, 0x5e, 0x46, 0x0b, 0x72, 0x44, 0xc4, ++ 0xe1, 0xfc, 0x62, 0xda, 0xf1, 0xfb, 0xa2, 0xdb, 0xd6, 0xbe, 0x5c, 0xd7, ++ 0x24, 0xa3, 0xf5, 0xb9, 0x2f, 0x57, 0x16, 0x49, 0x75, 0x47, 0x77, 0x09, ++ 0x5c, 0xa1, 0xb4, 0xc3, 0x4f, 0x60, 0x2b, 0xb0, 0x0c, 0xc8, 0xd6, 0x66, ++ 0xba, 0x9b, 0x82, 0x29, 0x33, 0x92, 0x26, 0x99, 0x31, 0x1c, 0x7f, 0x9b ++}; ++ ++static DECLARE_WAIT_QUEUE_HEAD(wq); ++static int search_done; ++ ++static irqreturn_t esparser_isr(int irq, void *dev) ++{ ++ int int_status; ++ struct amvdec_core *core = dev; ++ ++ int_status = amvdec_read_parser(core, PARSER_INT_STATUS); ++ amvdec_write_parser(core, PARSER_INT_STATUS, int_status); ++ ++ if (int_status & PARSER_INTSTAT_SC_FOUND) { ++ amvdec_write_parser(core, PFIFO_RD_PTR, 0); ++ amvdec_write_parser(core, PFIFO_WR_PTR, 0); ++ search_done = 1; ++ wake_up_interruptible(&wq); ++ } ++ ++ return IRQ_HANDLED; ++} ++ ++/* Pad the packet to at least 4KiB bytes otherwise the VDEC unit won't trigger ++ * ISRs. ++ * Also append a start code 000001ff at the end to trigger ++ * the ESPARSER interrupt. ++ */ ++static u32 esparser_pad_start_code(struct vb2_buffer *vb) ++{ ++ u32 payload_size = vb2_get_plane_payload(vb, 0); ++ u32 pad_size = 0; ++ u8 *vaddr = vb2_plane_vaddr(vb, 0) + payload_size; ++ ++ if (payload_size < MIN_PACKET_SIZE) { ++ pad_size = MIN_PACKET_SIZE - payload_size; ++ memset(vaddr, 0, pad_size); ++ } ++ ++ memset(vaddr + pad_size, 0, SEARCH_PATTERN_LEN); ++ vaddr[pad_size] = 0x00; ++ vaddr[pad_size + 1] = 0x00; ++ vaddr[pad_size + 2] = 0x01; ++ vaddr[pad_size + 3] = 0xff; ++ ++ return pad_size; ++} ++ ++static int ++esparser_write_data(struct amvdec_core *core, dma_addr_t addr, u32 size) ++{ ++ amvdec_write_parser(core, PFIFO_RD_PTR, 0); ++ amvdec_write_parser(core, PFIFO_WR_PTR, 0); ++ amvdec_write_parser(core, PARSER_CONTROL, ++ ES_WRITE | ++ ES_PARSER_START | ++ ES_SEARCH | ++ (size << ES_PACK_SIZE_BIT)); ++ ++ amvdec_write_parser(core, PARSER_FETCH_ADDR, addr); ++ amvdec_write_parser(core, PARSER_FETCH_CMD, ++ (7 << FETCH_ENDIAN_BIT) | ++ (size + SEARCH_PATTERN_LEN)); ++ ++ search_done = 0; ++ return wait_event_interruptible_timeout(wq, search_done, (HZ / 5)); ++} ++ ++static u32 esparser_vififo_get_free_space(struct amvdec_session *sess) ++{ ++ u32 vififo_usage; ++ struct amvdec_ops *vdec_ops = sess->fmt_out->vdec_ops; ++ struct amvdec_core *core = sess->core; ++ ++ vififo_usage = vdec_ops->vififo_level(sess); ++ vififo_usage += amvdec_read_parser(core, PARSER_VIDEO_HOLE); ++ vififo_usage += (6 * SZ_1K); ++ ++ if (vififo_usage > sess->vififo_size) { ++ dev_warn(sess->core->dev, ++ "VIFIFO usage (%u) > VIFIFO size (%u)\n", ++ vififo_usage, sess->vififo_size); ++ return 0; ++ } ++ ++ return sess->vififo_size - vififo_usage; ++} ++ ++int esparser_queue_eos(struct amvdec_core *core) ++{ ++ struct device *dev = core->dev; ++ void *eos_vaddr; ++ dma_addr_t eos_paddr; ++ int ret; ++ ++ eos_vaddr = dma_alloc_coherent(dev, ++ EOS_TAIL_BUF_SIZE + SEARCH_PATTERN_LEN, ++ &eos_paddr, GFP_KERNEL); ++ if (!eos_vaddr) ++ return -ENOMEM; ++ ++ memset(eos_vaddr, 0, EOS_TAIL_BUF_SIZE + SEARCH_PATTERN_LEN); ++ memcpy(eos_vaddr, eos_tail_data, sizeof(eos_tail_data)); ++ ret = esparser_write_data(core, eos_paddr, EOS_TAIL_BUF_SIZE); ++ dma_free_coherent(dev, EOS_TAIL_BUF_SIZE + SEARCH_PATTERN_LEN, ++ eos_vaddr, eos_paddr); ++ ++ return ret; ++} ++ ++static int ++esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf) ++{ ++ int ret; ++ struct vb2_buffer *vb = &vbuf->vb2_buf; ++ struct amvdec_core *core = sess->core; ++ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops; ++ u32 num_dst_bufs = 0; ++ u32 payload_size = vb2_get_plane_payload(vb, 0); ++ dma_addr_t phy = vb2_dma_contig_plane_dma_addr(vb, 0); ++ u32 pad_size; ++ ++ if (!payload_size) { ++ esparser_queue_eos(core); ++ return 0; ++ } ++ ++ if (codec_ops->num_pending_bufs) ++ num_dst_bufs = codec_ops->num_pending_bufs(sess); ++ ++ num_dst_bufs += v4l2_m2m_num_dst_bufs_ready(sess->m2m_ctx); ++ ++ if (esparser_vififo_get_free_space(sess) < payload_size || ++ atomic_read(&sess->esparser_queued_bufs) >= num_dst_bufs) ++ return -EAGAIN; ++ ++ v4l2_m2m_src_buf_remove_by_buf(sess->m2m_ctx, vbuf); ++ amvdec_add_ts_reorder(sess, vb->timestamp); ++ dev_dbg(core->dev, "esparser: Queuing ts = %llu ; pld_size = %u\n", ++ vb->timestamp, payload_size); ++ ++ pad_size = esparser_pad_start_code(vb); ++ ret = esparser_write_data(core, phy, payload_size + pad_size); ++ ++ if (ret > 0) { ++ /* We need to wait until we parse/decode the first keyframe. ++ * All buffers prior to the first keyframe must be dropped. ++ */ ++ if (!sess->keyframe_found) ++ usleep_range(1000, 2000); ++ ++ if (sess->keyframe_found) ++ atomic_inc(&sess->esparser_queued_bufs); ++ else ++ amvdec_remove_ts(sess, vb->timestamp); ++ ++ vbuf->flags = 0; ++ vbuf->field = V4L2_FIELD_NONE; ++ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_DONE); ++ return 0; ++ } ++ ++ dev_warn(core->dev, "esparser: input parsing error\n"); ++ amvdec_remove_ts(sess, vb->timestamp); ++ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_ERROR); ++ amvdec_write_parser(core, PARSER_FETCH_CMD, 0); ++ ++ return 0; ++} ++ ++void esparser_queue_all_src(struct work_struct *work) ++{ ++ struct v4l2_m2m_buffer *buf, *n; ++ struct amvdec_session *sess = ++ container_of(work, struct amvdec_session, esparser_queue_work); ++ ++ mutex_lock(&sess->lock); ++ v4l2_m2m_for_each_src_buf_safe(sess->m2m_ctx, buf, n) { ++ if (esparser_queue(sess, &buf->vb) < 0) ++ break; ++ ++ /* Some codecs don't like having data queued in too fast */ ++ usleep_range(1000, 2000); ++ } ++ mutex_unlock(&sess->lock); ++} ++ ++int esparser_power_up(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct amvdec_ops *vdec_ops = sess->fmt_out->vdec_ops; ++ ++ reset_control_reset(core->esparser_reset); ++ amvdec_write_parser(core, PARSER_CONFIG, ++ (10 << PS_CFG_PFIFO_EMPTY_CNT_BIT) | ++ (1 << PS_CFG_MAX_ES_WR_CYCLE_BIT) | ++ (16 << PS_CFG_MAX_FETCH_CYCLE_BIT)); ++ ++ amvdec_write_parser(core, PFIFO_RD_PTR, 0); ++ amvdec_write_parser(core, PFIFO_WR_PTR, 0); ++ ++ amvdec_write_parser(core, PARSER_SEARCH_PATTERN, ++ ES_START_CODE_PATTERN); ++ amvdec_write_parser(core, PARSER_SEARCH_MASK, ES_START_CODE_MASK); ++ ++ amvdec_write_parser(core, PARSER_CONFIG, ++ (10 << PS_CFG_PFIFO_EMPTY_CNT_BIT) | ++ (1 << PS_CFG_MAX_ES_WR_CYCLE_BIT) | ++ (16 << PS_CFG_MAX_FETCH_CYCLE_BIT) | ++ (2 << PS_CFG_STARTCODE_WID_24_BIT)); ++ ++ amvdec_write_parser(core, PARSER_CONTROL, ++ (ES_SEARCH | ES_PARSER_START)); ++ ++ amvdec_write_parser(core, PARSER_VIDEO_START_PTR, sess->vififo_paddr); ++ amvdec_write_parser(core, PARSER_VIDEO_END_PTR, ++ sess->vififo_paddr + sess->vififo_size - 8); ++ amvdec_write_parser(core, PARSER_ES_CONTROL, ++ amvdec_read_parser(core, PARSER_ES_CONTROL) & ~1); ++ ++ if (vdec_ops->conf_esparser) ++ vdec_ops->conf_esparser(sess); ++ ++ amvdec_write_parser(core, PARSER_INT_STATUS, 0xffff); ++ amvdec_write_parser(core, PARSER_INT_ENABLE, ++ BIT(PARSER_INT_HOST_EN_BIT)); ++ ++ return 0; ++} ++ ++int esparser_init(struct platform_device *pdev, struct amvdec_core *core) ++{ ++ struct device *dev = &pdev->dev; ++ int ret; ++ int irq; ++ ++ irq = platform_get_irq(pdev, 1); ++ if (irq < 0) { ++ dev_err(dev, "Failed getting ESPARSER IRQ from dtb\n"); ++ return irq; ++ } ++ ++ ret = devm_request_irq(dev, irq, esparser_isr, IRQF_SHARED, ++ "esparserirq", core); ++ if (ret) { ++ dev_err(dev, "Failed requesting ESPARSER IRQ\n"); ++ return ret; ++ } ++ ++ core->esparser_reset = ++ devm_reset_control_get_exclusive(dev, "esparser"); ++ if (IS_ERR(core->esparser_reset)) { ++ dev_err(dev, "Failed to get esparser_reset\n"); ++ return PTR_ERR(core->esparser_reset); ++ } ++ ++ return 0; ++} +diff --git a/drivers/media/platform/meson/vdec/esparser.h b/drivers/media/platform/meson/vdec/esparser.h +new file mode 100644 +index 0000000000000..22c2ac5c6d35b +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/esparser.h +@@ -0,0 +1,28 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_ESPARSER_H_ ++#define __MESON_VDEC_ESPARSER_H_ ++ ++#include "vdec.h" ++ ++int esparser_init(struct platform_device *pdev, struct amvdec_core *core); ++int esparser_power_up(struct amvdec_session *sess); ++ ++/** ++ * esparser_queue_eos() - write End Of Stream sequence to the ESPARSER ++ * ++ * @core vdec core struct ++ */ ++int esparser_queue_eos(struct amvdec_core *core); ++ ++/** ++ * esparser_queue_all_src() - work handler that writes as many src buffers ++ * as possible to the ESPARSER ++ */ ++void esparser_queue_all_src(struct work_struct *work); ++ ++#endif +diff --git a/drivers/media/platform/meson/vdec/vdec.c b/drivers/media/platform/meson/vdec/vdec.c +new file mode 100644 +index 0000000000000..32e1e22282970 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/vdec.c +@@ -0,0 +1,988 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "vdec.h" ++#include "esparser.h" ++#include "vdec_helpers.h" ++ ++struct dummy_buf { ++ struct vb2_v4l2_buffer vb; ++ struct list_head list; ++}; ++ ++/* 16 MiB for parsed bitstream swap exchange */ ++#define SIZE_VIFIFO SZ_16M ++ ++static u32 get_output_size(u32 width, u32 height) ++{ ++ return ALIGN(width * height, SZ_64K); ++} ++ ++u32 amvdec_get_output_size(struct amvdec_session *sess) ++{ ++ return get_output_size(sess->width, sess->height); ++} ++EXPORT_SYMBOL_GPL(amvdec_get_output_size); ++ ++static int vdec_codec_needs_recycle(struct amvdec_session *sess) ++{ ++ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops; ++ ++ return codec_ops->can_recycle && codec_ops->recycle; ++} ++ ++static int vdec_recycle_thread(void *data) ++{ ++ struct amvdec_session *sess = data; ++ struct amvdec_core *core = sess->core; ++ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops; ++ struct amvdec_buffer *tmp, *n; ++ ++ while (!kthread_should_stop()) { ++ mutex_lock(&sess->bufs_recycle_lock); ++ list_for_each_entry_safe(tmp, n, &sess->bufs_recycle, list) { ++ if (!codec_ops->can_recycle(core)) ++ break; ++ ++ codec_ops->recycle(core, tmp->vb->index); ++ dev_dbg(core->dev, "Buffer %d recycled\n", ++ tmp->vb->index); ++ list_del(&tmp->list); ++ kfree(tmp); ++ } ++ mutex_unlock(&sess->bufs_recycle_lock); ++ ++ usleep_range(5000, 10000); ++ } ++ ++ return 0; ++} ++ ++static int vdec_poweron(struct amvdec_session *sess) ++{ ++ int ret; ++ struct amvdec_ops *vdec_ops = sess->fmt_out->vdec_ops; ++ ++ ret = clk_prepare_enable(sess->core->dos_parser_clk); ++ if (ret) ++ return ret; ++ ++ ret = clk_prepare_enable(sess->core->dos_clk); ++ if (ret) ++ goto disable_dos_parser; ++ ++ ret = vdec_ops->start(sess); ++ if (ret) ++ goto disable_dos; ++ ++ esparser_power_up(sess); ++ ++ return 0; ++ ++disable_dos: ++ clk_disable_unprepare(sess->core->dos_clk); ++disable_dos_parser: ++ clk_disable_unprepare(sess->core->dos_parser_clk); ++ ++ return ret; ++} ++ ++static void vdec_wait_inactive(struct amvdec_session *sess) ++{ ++ /* We consider 50ms with no IRQ to be inactive. */ ++ while (time_is_after_jiffies64(sess->last_irq_jiffies + ++ msecs_to_jiffies(50))) ++ msleep(25); ++} ++ ++static void vdec_poweroff(struct amvdec_session *sess) ++{ ++ struct amvdec_ops *vdec_ops = sess->fmt_out->vdec_ops; ++ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops; ++ ++ vdec_wait_inactive(sess); ++ if (codec_ops->drain) ++ codec_ops->drain(sess); ++ ++ vdec_ops->stop(sess); ++ clk_disable_unprepare(sess->core->dos_clk); ++ clk_disable_unprepare(sess->core->dos_parser_clk); ++} ++ ++static void ++vdec_queue_recycle(struct amvdec_session *sess, struct vb2_buffer *vb) ++{ ++ struct amvdec_buffer *new_buf; ++ ++ new_buf = kmalloc(sizeof(*new_buf), GFP_KERNEL); ++ new_buf->vb = vb; ++ ++ mutex_lock(&sess->bufs_recycle_lock); ++ list_add_tail(&new_buf->list, &sess->bufs_recycle); ++ mutex_unlock(&sess->bufs_recycle_lock); ++} ++ ++static void vdec_m2m_device_run(void *priv) ++{ ++ struct amvdec_session *sess = priv; ++ ++ schedule_work(&sess->esparser_queue_work); ++} ++ ++static void vdec_m2m_job_abort(void *priv) ++{ ++ struct amvdec_session *sess = priv; ++ ++ v4l2_m2m_job_finish(sess->m2m_dev, sess->m2m_ctx); ++} ++ ++static const struct v4l2_m2m_ops vdec_m2m_ops = { ++ .device_run = vdec_m2m_device_run, ++ .job_abort = vdec_m2m_job_abort, ++}; ++ ++static int vdec_queue_setup(struct vb2_queue *q, ++ unsigned int *num_buffers, unsigned int *num_planes, ++ unsigned int sizes[], struct device *alloc_devs[]) ++{ ++ struct amvdec_session *sess = vb2_get_drv_priv(q); ++ struct amvdec_core *core = sess->core; ++ const struct amvdec_format *fmt_out = sess->fmt_out; ++ u32 pixfmt_cap = sess->pixfmt_cap; ++ ++ switch (q->type) { ++ case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: ++ sizes[0] = amvdec_get_output_size(sess); ++ *num_planes = 1; ++ break; ++ case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE: ++ if (pixfmt_cap == V4L2_PIX_FMT_NV12M) { ++ sizes[0] = amvdec_get_output_size(sess); ++ sizes[1] = amvdec_get_output_size(sess) / 2; ++ *num_planes = 2; ++ } else if (pixfmt_cap == V4L2_PIX_FMT_YUV420M) { ++ sizes[0] = amvdec_get_output_size(sess); ++ sizes[1] = amvdec_get_output_size(sess) / 4; ++ sizes[2] = amvdec_get_output_size(sess) / 4; ++ *num_planes = 3; ++ } ++ *num_buffers = min(max(*num_buffers, fmt_out->min_buffers), ++ fmt_out->max_buffers); ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ mutex_lock(&core->lock); ++ if (core->cur_sess && core->cur_sess != sess) { ++ mutex_unlock(&core->lock); ++ return -EBUSY; ++ } ++ ++ core->cur_sess = sess; ++ mutex_unlock(&core->lock); ++ ++ return 0; ++} ++ ++static void vdec_vb2_buf_queue(struct vb2_buffer *vb) ++{ ++ struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb); ++ struct amvdec_session *sess = vb2_get_drv_priv(vb->vb2_queue); ++ struct v4l2_m2m_ctx *m2m_ctx = sess->m2m_ctx; ++ ++ mutex_lock(&sess->lock); ++ v4l2_m2m_buf_queue(m2m_ctx, vbuf); ++ ++ if (!sess->streamon_out || !sess->streamon_cap) ++ goto unlock; ++ ++ if (vb->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE && ++ vdec_codec_needs_recycle(sess)) ++ vdec_queue_recycle(sess, vb); ++ ++ schedule_work(&sess->esparser_queue_work); ++unlock: ++ mutex_unlock(&sess->lock); ++} ++ ++static int vdec_start_streaming(struct vb2_queue *q, unsigned int count) ++{ ++ struct amvdec_session *sess = vb2_get_drv_priv(q); ++ struct vb2_v4l2_buffer *buf; ++ int ret; ++ ++ mutex_lock(&sess->lock); ++ ++ if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) ++ sess->streamon_out = 1; ++ else ++ sess->streamon_cap = 1; ++ ++ if (!sess->streamon_out || !sess->streamon_cap) { ++ mutex_unlock(&sess->lock); ++ return 0; ++ } ++ ++ sess->vififo_size = SIZE_VIFIFO; ++ sess->vififo_vaddr = ++ dma_alloc_coherent(sess->core->dev, sess->vififo_size, ++ &sess->vififo_paddr, GFP_KERNEL); ++ if (!sess->vififo_vaddr) { ++ dev_err(sess->core->dev, "Failed to request VIFIFO buffer\n"); ++ ret = -ENOMEM; ++ goto bufs_done; ++ } ++ ++ sess->should_stop = 0; ++ sess->keyframe_found = 0; ++ atomic_set(&sess->esparser_queued_bufs, 0); ++ ret = vdec_poweron(sess); ++ if (ret) ++ goto vififo_free; ++ ++ sess->sequence_cap = 0; ++ if (vdec_codec_needs_recycle(sess)) ++ sess->recycle_thread = kthread_run(vdec_recycle_thread, sess, ++ "vdec_recycle"); ++ mutex_unlock(&sess->lock); ++ ++ return 0; ++ ++vififo_free: ++ dma_free_coherent(sess->core->dev, sess->vififo_size, ++ sess->vififo_vaddr, sess->vififo_paddr); ++bufs_done: ++ while ((buf = v4l2_m2m_src_buf_remove(sess->m2m_ctx))) ++ v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); ++ while ((buf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx))) ++ v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); ++ ++ if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) ++ sess->streamon_out = 0; ++ else ++ sess->streamon_cap = 0; ++ mutex_unlock(&sess->lock); ++ return ret; ++} ++ ++static void vdec_free_canvas(struct amvdec_session *sess) ++{ ++ int i; ++ ++ for (i = 0; i < sess->canvas_num; ++i) ++ meson_canvas_free(sess->core->canvas, sess->canvas_alloc[i]); ++ ++ sess->canvas_num = 0; ++} ++ ++static void vdec_reset_timestamps(struct amvdec_session *sess) ++{ ++ struct amvdec_timestamp *tmp, *n; ++ ++ list_for_each_entry_safe(tmp, n, &sess->timestamps, list) { ++ list_del(&tmp->list); ++ kfree(tmp); ++ } ++} ++ ++static void vdec_reset_bufs_recycle(struct amvdec_session *sess) ++{ ++ struct amvdec_buffer *tmp, *n; ++ ++ list_for_each_entry_safe(tmp, n, &sess->bufs_recycle, list) { ++ list_del(&tmp->list); ++ kfree(tmp); ++ } ++} ++ ++static void vdec_stop_streaming(struct vb2_queue *q) ++{ ++ struct amvdec_session *sess = vb2_get_drv_priv(q); ++ struct vb2_v4l2_buffer *buf; ++ ++ mutex_lock(&sess->lock); ++ ++ if (sess->streamon_out && sess->streamon_cap) { ++ if (vdec_codec_needs_recycle(sess)) ++ kthread_stop(sess->recycle_thread); ++ ++ vdec_poweroff(sess); ++ vdec_free_canvas(sess); ++ dma_free_coherent(sess->core->dev, sess->vififo_size, ++ sess->vififo_vaddr, sess->vififo_paddr); ++ vdec_reset_timestamps(sess); ++ vdec_reset_bufs_recycle(sess); ++ kfree(sess->priv); ++ sess->priv = NULL; ++ } ++ ++ if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { ++ while ((buf = v4l2_m2m_src_buf_remove(sess->m2m_ctx))) ++ v4l2_m2m_buf_done(buf, VB2_BUF_STATE_ERROR); ++ ++ sess->streamon_out = 0; ++ } else { ++ while ((buf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx))) ++ v4l2_m2m_buf_done(buf, VB2_BUF_STATE_ERROR); ++ ++ sess->streamon_cap = 0; ++ } ++ ++ mutex_unlock(&sess->lock); ++} ++ ++static const struct vb2_ops vdec_vb2_ops = { ++ .queue_setup = vdec_queue_setup, ++ .start_streaming = vdec_start_streaming, ++ .stop_streaming = vdec_stop_streaming, ++ .buf_queue = vdec_vb2_buf_queue, ++}; ++ ++static int ++vdec_querycap(struct file *file, void *fh, struct v4l2_capability *cap) ++{ ++ strlcpy(cap->driver, "meson-vdec", sizeof(cap->driver)); ++ strlcpy(cap->card, "Amlogic Video Decoder", sizeof(cap->card)); ++ strlcpy(cap->bus_info, "platform:meson-vdec", sizeof(cap->bus_info)); ++ ++ return 0; ++} ++ ++static const struct amvdec_format * ++find_format(const struct amvdec_format *fmts, u32 size, u32 pixfmt) ++{ ++ unsigned int i; ++ ++ for (i = 0; i < size; i++) { ++ if (fmts[i].pixfmt == pixfmt) ++ return &fmts[i]; ++ } ++ ++ return NULL; ++} ++ ++static unsigned int ++vdec_supports_pixfmt_cap(const struct amvdec_format *fmt_out, u32 pixfmt_cap) ++{ ++ int i; ++ ++ for (i = 0; fmt_out->pixfmts_cap[i]; i++) ++ if (fmt_out->pixfmts_cap[i] == pixfmt_cap) ++ return 1; ++ ++ return 0; ++} ++ ++static const struct amvdec_format * ++vdec_try_fmt_common(struct amvdec_session *sess, u32 size, ++ struct v4l2_format *f) ++{ ++ struct v4l2_pix_format_mplane *pixmp = &f->fmt.pix_mp; ++ struct v4l2_plane_pix_format *pfmt = pixmp->plane_fmt; ++ const struct amvdec_format *fmts = sess->core->platform->formats; ++ const struct amvdec_format *fmt_out; ++ ++ memset(pfmt[0].reserved, 0, sizeof(pfmt[0].reserved)); ++ memset(pixmp->reserved, 0, sizeof(pixmp->reserved)); ++ ++ if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { ++ fmt_out = find_format(fmts, size, pixmp->pixelformat); ++ if (!fmt_out) { ++ pixmp->pixelformat = V4L2_PIX_FMT_MPEG2; ++ fmt_out = find_format(fmts, size, pixmp->pixelformat); ++ pixmp->width = 1280; ++ pixmp->height = 720; ++ } ++ ++ pfmt[0].sizeimage = ++ get_output_size(pixmp->width, pixmp->height); ++ pfmt[0].bytesperline = 0; ++ pixmp->num_planes = 1; ++ } else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { ++ fmt_out = sess->fmt_out; ++ if (!vdec_supports_pixfmt_cap(fmt_out, pixmp->pixelformat)) ++ pixmp->pixelformat = fmt_out->pixfmts_cap[0]; ++ ++ memset(pfmt[1].reserved, 0, sizeof(pfmt[1].reserved)); ++ if (pixmp->pixelformat == V4L2_PIX_FMT_NV12M) { ++ pfmt[0].sizeimage = ++ get_output_size(pixmp->width, pixmp->height); ++ pfmt[0].bytesperline = ALIGN(pixmp->width, 64); ++ ++ pfmt[1].sizeimage = ++ get_output_size(pixmp->width, pixmp->height) / 2; ++ pfmt[1].bytesperline = ALIGN(pixmp->width, 64); ++ pixmp->num_planes = 2; ++ } else if (pixmp->pixelformat == V4L2_PIX_FMT_YUV420M) { ++ pfmt[0].sizeimage = ++ get_output_size(pixmp->width, pixmp->height); ++ pfmt[0].bytesperline = ALIGN(pixmp->width, 64); ++ ++ pfmt[1].sizeimage = ++ get_output_size(pixmp->width, pixmp->height) / 4; ++ pfmt[1].bytesperline = ALIGN(pixmp->width, 64) / 2; ++ ++ pfmt[2].sizeimage = ++ get_output_size(pixmp->width, pixmp->height) / 4; ++ pfmt[2].bytesperline = ALIGN(pixmp->width, 64) / 2; ++ pixmp->num_planes = 3; ++ } ++ } else { ++ return NULL; ++ } ++ ++ pixmp->width = clamp(pixmp->width, (u32)256, fmt_out->max_width); ++ pixmp->height = clamp(pixmp->height, (u32)144, fmt_out->max_height); ++ ++ if (pixmp->field == V4L2_FIELD_ANY) ++ pixmp->field = V4L2_FIELD_NONE; ++ ++ pixmp->flags = 0; ++ ++ return fmt_out; ++} ++ ++static int vdec_try_fmt(struct file *file, void *fh, struct v4l2_format *f) ++{ ++ struct amvdec_session *sess = ++ container_of(file->private_data, struct amvdec_session, fh); ++ ++ vdec_try_fmt_common(sess, sess->core->platform->num_formats, f); ++ ++ return 0; ++} ++ ++static int vdec_g_fmt(struct file *file, void *fh, struct v4l2_format *f) ++{ ++ struct amvdec_session *sess = ++ container_of(file->private_data, struct amvdec_session, fh); ++ struct v4l2_pix_format_mplane *pixmp = &f->fmt.pix_mp; ++ ++ if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) ++ pixmp->pixelformat = sess->pixfmt_cap; ++ else if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) ++ pixmp->pixelformat = sess->fmt_out->pixfmt; ++ ++ if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { ++ pixmp->width = sess->width; ++ pixmp->height = sess->height; ++ pixmp->colorspace = sess->colorspace; ++ pixmp->ycbcr_enc = sess->ycbcr_enc; ++ pixmp->quantization = sess->quantization; ++ pixmp->xfer_func = sess->xfer_func; ++ } else if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { ++ pixmp->width = sess->width; ++ pixmp->height = sess->height; ++ } ++ ++ vdec_try_fmt_common(sess, sess->core->platform->num_formats, f); ++ ++ return 0; ++} ++ ++static int vdec_s_fmt(struct file *file, void *fh, struct v4l2_format *f) ++{ ++ struct amvdec_session *sess = ++ container_of(file->private_data, struct amvdec_session, fh); ++ struct v4l2_pix_format_mplane *pixmp = &f->fmt.pix_mp; ++ u32 num_formats = sess->core->platform->num_formats; ++ const struct amvdec_format *fmt_out; ++ struct v4l2_pix_format_mplane orig_pixmp; ++ struct v4l2_format format; ++ u32 pixfmt_out = 0, pixfmt_cap = 0; ++ ++ orig_pixmp = *pixmp; ++ ++ fmt_out = vdec_try_fmt_common(sess, num_formats, f); ++ ++ if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { ++ pixfmt_out = pixmp->pixelformat; ++ pixfmt_cap = sess->pixfmt_cap; ++ } else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { ++ pixfmt_cap = pixmp->pixelformat; ++ pixfmt_out = sess->fmt_out->pixfmt; ++ } ++ ++ memset(&format, 0, sizeof(format)); ++ ++ format.type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE; ++ format.fmt.pix_mp.pixelformat = pixfmt_out; ++ format.fmt.pix_mp.width = orig_pixmp.width; ++ format.fmt.pix_mp.height = orig_pixmp.height; ++ vdec_try_fmt_common(sess, num_formats, &format); ++ ++ if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { ++ sess->width = format.fmt.pix_mp.width; ++ sess->height = format.fmt.pix_mp.height; ++ sess->colorspace = pixmp->colorspace; ++ sess->ycbcr_enc = pixmp->ycbcr_enc; ++ sess->quantization = pixmp->quantization; ++ sess->xfer_func = pixmp->xfer_func; ++ } ++ ++ memset(&format, 0, sizeof(format)); ++ ++ format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; ++ format.fmt.pix_mp.pixelformat = pixfmt_cap; ++ format.fmt.pix_mp.width = orig_pixmp.width; ++ format.fmt.pix_mp.height = orig_pixmp.height; ++ vdec_try_fmt_common(sess, num_formats, &format); ++ ++ sess->width = format.fmt.pix_mp.width; ++ sess->height = format.fmt.pix_mp.height; ++ ++ if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) ++ sess->fmt_out = fmt_out; ++ else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) ++ sess->pixfmt_cap = format.fmt.pix_mp.pixelformat; ++ ++ return 0; ++} ++ ++static int vdec_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc *f) ++{ ++ struct amvdec_session *sess = ++ container_of(file->private_data, struct amvdec_session, fh); ++ const struct vdec_platform *platform = sess->core->platform; ++ const struct amvdec_format *fmt_out; ++ ++ memset(f->reserved, 0, sizeof(f->reserved)); ++ ++ if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { ++ if (f->index >= platform->num_formats) ++ return -EINVAL; ++ ++ fmt_out = &platform->formats[f->index]; ++ f->pixelformat = fmt_out->pixfmt; ++ } else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { ++ fmt_out = sess->fmt_out; ++ if (f->index >= 4 || !fmt_out->pixfmts_cap[f->index]) ++ return -EINVAL; ++ ++ f->pixelformat = fmt_out->pixfmts_cap[f->index]; ++ } else { ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++static int vdec_enum_framesizes(struct file *file, void *fh, ++ struct v4l2_frmsizeenum *fsize) ++{ ++ struct amvdec_session *sess = ++ container_of(file->private_data, struct amvdec_session, fh); ++ const struct amvdec_format *formats = sess->core->platform->formats; ++ const struct amvdec_format *fmt; ++ u32 num_formats = sess->core->platform->num_formats; ++ ++ fmt = find_format(formats, num_formats, fsize->pixel_format); ++ if (!fmt || fsize->index) ++ return -EINVAL; ++ ++ fsize->type = V4L2_FRMSIZE_TYPE_STEPWISE; ++ ++ fsize->stepwise.min_width = 256; ++ fsize->stepwise.max_width = fmt->max_width; ++ fsize->stepwise.step_width = 1; ++ fsize->stepwise.min_height = 144; ++ fsize->stepwise.max_height = fmt->max_height; ++ fsize->stepwise.step_height = 1; ++ ++ return 0; ++} ++ ++static int ++vdec_try_decoder_cmd(struct file *file, void *fh, struct v4l2_decoder_cmd *cmd) ++{ ++ switch (cmd->cmd) { ++ case V4L2_DEC_CMD_STOP: ++ if (cmd->flags & V4L2_DEC_CMD_STOP_TO_BLACK) ++ return -EINVAL; ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++static int ++vdec_decoder_cmd(struct file *file, void *fh, struct v4l2_decoder_cmd *cmd) ++{ ++ struct amvdec_session *sess = ++ container_of(file->private_data, struct amvdec_session, fh); ++ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops; ++ int ret; ++ ++ ret = vdec_try_decoder_cmd(file, fh, cmd); ++ if (ret) ++ return ret; ++ ++ if (!(sess->streamon_out & sess->streamon_cap)) ++ goto unlock; ++ ++ dev_dbg(sess->core->dev, "Received V4L2_DEC_CMD_STOP\n"); ++ sess->should_stop = 1; ++ ++ vdec_wait_inactive(sess); ++ ++ mutex_lock(&sess->lock); ++ if (codec_ops->drain) ++ codec_ops->drain(sess); ++ else ++ esparser_queue_eos(sess->core); ++ ++unlock: ++ mutex_unlock(&sess->lock); ++ return ret; ++} ++ ++static int vdec_subscribe_event(struct v4l2_fh *fh, ++ const struct v4l2_event_subscription *sub) ++{ ++ switch (sub->type) { ++ case V4L2_EVENT_EOS: ++ return v4l2_event_subscribe(fh, sub, 2, NULL); ++ default: ++ return -EINVAL; ++ } ++} ++ ++static const struct v4l2_ioctl_ops vdec_ioctl_ops = { ++ .vidioc_querycap = vdec_querycap, ++ .vidioc_enum_fmt_vid_cap_mplane = vdec_enum_fmt, ++ .vidioc_enum_fmt_vid_out_mplane = vdec_enum_fmt, ++ .vidioc_s_fmt_vid_cap_mplane = vdec_s_fmt, ++ .vidioc_s_fmt_vid_out_mplane = vdec_s_fmt, ++ .vidioc_g_fmt_vid_cap_mplane = vdec_g_fmt, ++ .vidioc_g_fmt_vid_out_mplane = vdec_g_fmt, ++ .vidioc_try_fmt_vid_cap_mplane = vdec_try_fmt, ++ .vidioc_try_fmt_vid_out_mplane = vdec_try_fmt, ++ .vidioc_reqbufs = v4l2_m2m_ioctl_reqbufs, ++ .vidioc_querybuf = v4l2_m2m_ioctl_querybuf, ++ .vidioc_create_bufs = v4l2_m2m_ioctl_create_bufs, ++ .vidioc_prepare_buf = v4l2_m2m_ioctl_prepare_buf, ++ .vidioc_qbuf = v4l2_m2m_ioctl_qbuf, ++ .vidioc_expbuf = v4l2_m2m_ioctl_expbuf, ++ .vidioc_dqbuf = v4l2_m2m_ioctl_dqbuf, ++ .vidioc_streamon = v4l2_m2m_ioctl_streamon, ++ .vidioc_streamoff = v4l2_m2m_ioctl_streamoff, ++ .vidioc_enum_framesizes = vdec_enum_framesizes, ++ .vidioc_subscribe_event = vdec_subscribe_event, ++ .vidioc_unsubscribe_event = v4l2_event_unsubscribe, ++ .vidioc_try_decoder_cmd = vdec_try_decoder_cmd, ++ .vidioc_decoder_cmd = vdec_decoder_cmd, ++}; ++ ++static int m2m_queue_init(void *priv, struct vb2_queue *src_vq, ++ struct vb2_queue *dst_vq) ++{ ++ struct amvdec_session *sess = priv; ++ int ret; ++ ++ src_vq->type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE; ++ src_vq->io_modes = VB2_MMAP | VB2_DMABUF; ++ src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; ++ src_vq->ops = &vdec_vb2_ops; ++ src_vq->mem_ops = &vb2_dma_contig_memops; ++ src_vq->drv_priv = sess; ++ src_vq->buf_struct_size = sizeof(struct dummy_buf); ++ src_vq->allow_zero_bytesused = 1; ++ src_vq->min_buffers_needed = 1; ++ src_vq->dev = sess->core->dev; ++ ret = vb2_queue_init(src_vq); ++ if (ret) ++ return ret; ++ ++ dst_vq->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; ++ dst_vq->io_modes = VB2_MMAP | VB2_DMABUF; ++ dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; ++ dst_vq->ops = &vdec_vb2_ops; ++ dst_vq->mem_ops = &vb2_dma_contig_memops; ++ dst_vq->drv_priv = sess; ++ dst_vq->buf_struct_size = sizeof(struct dummy_buf); ++ dst_vq->allow_zero_bytesused = 1; ++ dst_vq->min_buffers_needed = 1; ++ dst_vq->dev = sess->core->dev; ++ ret = vb2_queue_init(dst_vq); ++ if (ret) { ++ vb2_queue_release(src_vq); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static int vdec_open(struct file *file) ++{ ++ struct amvdec_core *core = video_drvdata(file); ++ struct device *dev = core->dev; ++ const struct amvdec_format *formats = core->platform->formats; ++ struct amvdec_session *sess; ++ int ret; ++ ++ sess = kzalloc(sizeof(*sess), GFP_KERNEL); ++ if (!sess) { ++ mutex_unlock(&core->lock); ++ return -ENOMEM; ++ } ++ ++ sess->core = core; ++ ++ sess->m2m_dev = v4l2_m2m_init(&vdec_m2m_ops); ++ if (IS_ERR(sess->m2m_dev)) { ++ dev_err(dev, "Fail to v4l2_m2m_init\n"); ++ ret = PTR_ERR(sess->m2m_dev); ++ goto err_free_sess; ++ } ++ ++ sess->m2m_ctx = v4l2_m2m_ctx_init(sess->m2m_dev, sess, m2m_queue_init); ++ if (IS_ERR(sess->m2m_ctx)) { ++ dev_err(dev, "Fail to v4l2_m2m_ctx_init\n"); ++ ret = PTR_ERR(sess->m2m_ctx); ++ goto err_m2m_release; ++ } ++ ++ sess->pixfmt_cap = formats[0].pixfmts_cap[0]; ++ sess->fmt_out = &formats[0]; ++ sess->width = 1280; ++ sess->height = 720; ++ ++ INIT_LIST_HEAD(&sess->timestamps); ++ INIT_LIST_HEAD(&sess->bufs_recycle); ++ INIT_WORK(&sess->esparser_queue_work, esparser_queue_all_src); ++ mutex_init(&sess->lock); ++ mutex_init(&sess->bufs_recycle_lock); ++ spin_lock_init(&sess->ts_spinlock); ++ ++ v4l2_fh_init(&sess->fh, core->vdev_dec); ++ v4l2_fh_add(&sess->fh); ++ sess->fh.m2m_ctx = sess->m2m_ctx; ++ file->private_data = &sess->fh; ++ ++ return 0; ++ ++err_m2m_release: ++ v4l2_m2m_release(sess->m2m_dev); ++err_free_sess: ++ kfree(sess); ++ return ret; ++} ++ ++static int vdec_close(struct file *file) ++{ ++ struct amvdec_session *sess = ++ container_of(file->private_data, struct amvdec_session, fh); ++ struct amvdec_core *core = sess->core; ++ ++ v4l2_m2m_ctx_release(sess->m2m_ctx); ++ v4l2_m2m_release(sess->m2m_dev); ++ v4l2_fh_del(&sess->fh); ++ v4l2_fh_exit(&sess->fh); ++ ++ mutex_destroy(&sess->lock); ++ mutex_destroy(&sess->bufs_recycle_lock); ++ ++ kfree(sess); ++ ++ if (core->cur_sess == sess) ++ core->cur_sess = NULL; ++ ++ return 0; ++} ++ ++static const struct v4l2_file_operations vdec_fops = { ++ .owner = THIS_MODULE, ++ .open = vdec_open, ++ .release = vdec_close, ++ .unlocked_ioctl = video_ioctl2, ++ .poll = v4l2_m2m_fop_poll, ++ .mmap = v4l2_m2m_fop_mmap, ++#ifdef CONFIG_COMPAT ++ .compat_ioctl32 = v4l2_compat_ioctl32, ++#endif ++}; ++ ++static irqreturn_t vdec_isr(int irq, void *data) ++{ ++ struct amvdec_core *core = data; ++ struct amvdec_session *sess = core->cur_sess; ++ ++ sess->last_irq_jiffies = get_jiffies_64(); ++ ++ return sess->fmt_out->codec_ops->isr(sess); ++} ++ ++static irqreturn_t vdec_threaded_isr(int irq, void *data) ++{ ++ struct amvdec_core *core = data; ++ struct amvdec_session *sess = core->cur_sess; ++ ++ return sess->fmt_out->codec_ops->threaded_isr(sess); ++} ++ ++static const struct of_device_id vdec_dt_match[] = { ++ { .compatible = "amlogic,gxbb-vdec", ++ .data = &vdec_platform_gxbb }, ++ { .compatible = "amlogic,gxm-vdec", ++ .data = &vdec_platform_gxm }, ++ { .compatible = "amlogic,gxl-vdec", ++ .data = &vdec_platform_gxl }, ++ {} ++}; ++MODULE_DEVICE_TABLE(of, vdec_dt_match); ++ ++static int vdec_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct video_device *vdev; ++ struct amvdec_core *core; ++ struct resource *r; ++ const struct of_device_id *of_id; ++ int irq; ++ int ret; ++ ++ core = devm_kzalloc(dev, sizeof(*core), GFP_KERNEL); ++ if (!core) ++ return -ENOMEM; ++ ++ core->dev = dev; ++ platform_set_drvdata(pdev, core); ++ ++ r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dos"); ++ core->dos_base = devm_ioremap_resource(dev, r); ++ if (IS_ERR(core->dos_base)) { ++ dev_err(dev, "Couldn't remap DOS memory\n"); ++ return PTR_ERR(core->dos_base); ++ } ++ ++ r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "esparser"); ++ core->esparser_base = devm_ioremap_resource(dev, r); ++ if (IS_ERR(core->esparser_base)) { ++ dev_err(dev, "Couldn't remap ESPARSER memory\n"); ++ return PTR_ERR(core->esparser_base); ++ } ++ ++ core->regmap_ao = syscon_regmap_lookup_by_phandle(dev->of_node, ++ "amlogic,ao-sysctrl"); ++ if (IS_ERR(core->regmap_ao)) { ++ dev_err(dev, "Couldn't regmap AO sysctrl\n"); ++ return PTR_ERR(core->regmap_ao); ++ } ++ ++ core->canvas = meson_canvas_get(dev); ++ if (!core->canvas) ++ return PTR_ERR(core->canvas); ++ ++ core->dos_parser_clk = devm_clk_get(dev, "dos_parser"); ++ if (IS_ERR(core->dos_parser_clk)) ++ return -EPROBE_DEFER; ++ ++ core->dos_clk = devm_clk_get(dev, "dos"); ++ if (IS_ERR(core->dos_clk)) ++ return -EPROBE_DEFER; ++ ++ core->vdec_1_clk = devm_clk_get(dev, "vdec_1"); ++ if (IS_ERR(core->vdec_1_clk)) ++ return -EPROBE_DEFER; ++ ++ core->vdec_hevc_clk = devm_clk_get(dev, "vdec_hevc"); ++ if (IS_ERR(core->vdec_hevc_clk)) ++ return -EPROBE_DEFER; ++ ++ irq = platform_get_irq(pdev, 0); ++ if (irq < 0) ++ return irq; ++ ++ ret = devm_request_threaded_irq(core->dev, irq, vdec_isr, ++ vdec_threaded_isr, IRQF_ONESHOT, ++ "vdec", core); ++ if (ret) ++ return ret; ++ ++ ret = esparser_init(pdev, core); ++ if (ret) ++ return ret; ++ ++ ret = v4l2_device_register(dev, &core->v4l2_dev); ++ if (ret) { ++ dev_err(dev, "Couldn't register v4l2 device\n"); ++ return -ENOMEM; ++ } ++ ++ vdev = video_device_alloc(); ++ if (!vdev) { ++ ret = -ENOMEM; ++ goto err_vdev_release; ++ } ++ ++ strlcpy(vdev->name, "meson-video-decoder", sizeof(vdev->name)); ++ vdev->release = video_device_release; ++ vdev->fops = &vdec_fops; ++ vdev->ioctl_ops = &vdec_ioctl_ops; ++ vdev->vfl_dir = VFL_DIR_M2M; ++ vdev->v4l2_dev = &core->v4l2_dev; ++ vdev->device_caps = V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING; ++ ++ ret = video_register_device(vdev, VFL_TYPE_GRABBER, -1); ++ if (ret) { ++ dev_err(dev, "Failed registering video device\n"); ++ goto err_vdev_release; ++ } ++ ++ of_id = of_match_node(vdec_dt_match, dev->of_node); ++ core->platform = of_id->data; ++ core->vdev_dec = vdev; ++ core->dev_dec = dev; ++ mutex_init(&core->lock); ++ ++ video_set_drvdata(vdev, core); ++ ++ return 0; ++ ++err_vdev_release: ++ video_device_release(vdev); ++ return ret; ++} ++ ++static int vdec_remove(struct platform_device *pdev) ++{ ++ struct amvdec_core *core = platform_get_drvdata(pdev); ++ ++ video_unregister_device(core->vdev_dec); ++ ++ return 0; ++} ++ ++static struct platform_driver meson_vdec_driver = { ++ .probe = vdec_probe, ++ .remove = vdec_remove, ++ .driver = { ++ .name = "meson-vdec", ++ .of_match_table = vdec_dt_match, ++ }, ++}; ++module_platform_driver(meson_vdec_driver); ++ ++MODULE_DESCRIPTION("Meson video decoder driver for GXBB/GXL/GXM"); ++MODULE_AUTHOR("Maxime Jourdan "); ++MODULE_LICENSE("GPL"); +diff --git a/drivers/media/platform/meson/vdec/vdec.h b/drivers/media/platform/meson/vdec/vdec.h +new file mode 100644 +index 0000000000000..8250fb82dfabe +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/vdec.h +@@ -0,0 +1,234 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_CORE_H_ ++#define __MESON_VDEC_CORE_H_ ++ ++/* 32 buffers in 3-plane YUV420 */ ++#define MAX_CANVAS (32 * 3) ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "vdec_platform.h" ++ ++struct amvdec_buffer { ++ struct list_head list; ++ struct vb2_buffer *vb; ++}; ++ ++struct amvdec_timestamp { ++ struct list_head list; ++ u64 ts; ++}; ++ ++struct amvdec_session; ++ ++/** ++ * struct amvdec_core - device parameters, singleton ++ * ++ * @dos_base: DOS memory base address ++ * @esparser_base: PARSER memory base address ++ * @regmap_ao: regmap for the AO bus ++ * @dev: core device ++ * @dev_dec: decoder device ++ * @platform: platform-specific data ++ * @canvas: canvas provider reference ++ * @dos_parser_clk: DOS_PARSER clock ++ * @dos_clk: DOS clock ++ * @vdec_1_clk: VDEC_1 clock ++ * @vdec_hevc_clk: VDEC_HEVC clock ++ * @esparser_reset: RESET for the PARSER ++ * @vdec_dec: video device for the decoder ++ * @v4l2_dev: v4l2 device ++ * @cur_sess: current decoding session ++ * @lock: lock for this structure ++ */ ++struct amvdec_core { ++ void __iomem *dos_base; ++ void __iomem *esparser_base; ++ struct regmap *regmap_ao; ++ ++ struct device *dev; ++ struct device *dev_dec; ++ const struct vdec_platform *platform; ++ ++ struct meson_canvas *canvas; ++ ++ struct clk *dos_parser_clk; ++ struct clk *dos_clk; ++ struct clk *vdec_1_clk; ++ struct clk *vdec_hevc_clk; ++ ++ struct reset_control *esparser_reset; ++ ++ struct video_device *vdev_dec; ++ struct v4l2_device v4l2_dev; ++ ++ struct amvdec_session *cur_sess; ++ struct mutex lock; ++}; ++ ++/** ++ * struct amvdec_ops - vdec operations ++ * ++ * @start: mandatory call when the vdec needs to initialize ++ * @stop: mandatory call when the vdec needs to stop ++ * @conf_esparser: mandatory call to let the vdec configure the ESPARSER ++ * @vififo_level: mandatory call to get the current amount of data ++ * in the VIFIFO ++ */ ++struct amvdec_ops { ++ int (*start)(struct amvdec_session *sess); ++ int (*stop)(struct amvdec_session *sess); ++ void (*conf_esparser)(struct amvdec_session *sess); ++ u32 (*vififo_level)(struct amvdec_session *sess); ++}; ++ ++/** ++ * struct amvdec_codec_ops - codec operations ++ * ++ * @start: mandatory call when the codec needs to initialize ++ * @stop: mandatory call when the codec needs to stop ++ * @load_extended_firmware: optional call to load additional firmware bits ++ * @num_pending_bufs: optional call to get the number of dst buffers on hold ++ * @can_recycle: optional call to know if the codec is ready to recycle ++ * a dst buffer ++ * @recycle: optional call to tell the codec to recycle a dst buffer. Must go ++ * in pair with can_recycle ++ * @drain: optional call if the codec has a custom way of draining ++ * @isr: mandatory call when the ISR triggers ++ * @threaded_isr: mandatory call for the threaded ISR ++ */ ++struct amvdec_codec_ops { ++ int (*start)(struct amvdec_session *sess); ++ int (*stop)(struct amvdec_session *sess); ++ int (*load_extended_firmware)(struct amvdec_session *sess, ++ const u8 *data, u32 len); ++ u32 (*num_pending_bufs)(struct amvdec_session *sess); ++ int (*can_recycle)(struct amvdec_core *core); ++ void (*recycle)(struct amvdec_core *core, u32 buf_idx); ++ void (*drain)(struct amvdec_session *sess); ++ irqreturn_t (*isr)(struct amvdec_session *sess); ++ irqreturn_t (*threaded_isr)(struct amvdec_session *sess); ++}; ++ ++/** ++ * struct amvdec_format - describes one of the OUTPUT (src) format supported ++ * ++ * @pixfmt: V4L2 pixel format ++ * @min_buffers: minimum amount of CAPTURE (dst) buffers ++ * @max_buffers: maximum amount of CAPTURE (dst) buffers ++ * @max_width: maximum picture width supported ++ * @max_height: maximum picture height supported ++ * @vdec_ops: the VDEC operations that support this format ++ * @codec_ops: the codec operations that support this format ++ * @firmware_path: Path to the firmware that supports this format ++ * @pixfmts_cap: list of CAPTURE pixel formats available with pixfmt ++ */ ++struct amvdec_format { ++ u32 pixfmt; ++ u32 min_buffers; ++ u32 max_buffers; ++ u32 max_width; ++ u32 max_height; ++ ++ struct amvdec_ops *vdec_ops; ++ struct amvdec_codec_ops *codec_ops; ++ ++ char *firmware_path; ++ u32 pixfmts_cap[4]; ++}; ++ ++/** ++ * struct amvdec_session - decoding session parameters ++ * ++ * @core: reference to the vdec core struct ++ * @fh: v4l2 file handle ++ * @m2m_dev: v4l2 m2m device ++ * @m2m_ctx: v4l2 m2m context ++ * @lock: session lock ++ * @fmt_out: vdec pixel format for the OUTPUT queue ++ * @pixfmt_cap: V4L2 pixel format for the CAPTURE queue ++ * @width: current picture width ++ * @height: current picture height ++ * @colorspace: current colorspace ++ * @ycbcr_enc: current ycbcr_enc ++ * @quantization: current quantization ++ * @xfer_func: current transfer function ++ * @esparser_queued_bufs: number of buffers currently queued into ESPARSER ++ * @esparser_queue_work: work struct for the ESPARSER to process src buffers ++ * @streamon_cap: stream on flag for capture queue ++ * @streamon_out: stream on flag for output queue ++ * @sequence_cap: capture sequence counter ++ * @should_stop: flag set is userspacec signaled EOS via command ++ * or empty buffer ++ * @keyframe_found: flag set once a keyframe has been parsed ++ * @canvas_alloc: array of all the canvas IDs allocated ++ * @canvas_num: number of canvas IDs allocated ++ * @vififo_vaddr: virtual address for the VIFIFO ++ * @vififo_paddr: physical address for the VIFIFO ++ * @vififo_size: size of the VIFIFO dma alloc ++ * @bufs_recycle: list of buffers that need to be recycled ++ * @bufs_recycle_lock: lock for the bufs_recycle list ++ * @recycle_thread: task struct for the recycling thread ++ * @timestamps: chronological list of src timestamps ++ * @ts_spinlock: spinlock for the timestamps list ++ * @last_irq_jiffies: tracks last time the vdec triggered an IRQ ++ * @priv: codec private data ++ */ ++struct amvdec_session { ++ struct amvdec_core *core; ++ ++ struct v4l2_fh fh; ++ struct v4l2_m2m_dev *m2m_dev; ++ struct v4l2_m2m_ctx *m2m_ctx; ++ struct mutex lock; ++ ++ const struct amvdec_format *fmt_out; ++ u32 pixfmt_cap; ++ ++ u32 width; ++ u32 height; ++ u32 colorspace; ++ u8 ycbcr_enc; ++ u8 quantization; ++ u8 xfer_func; ++ ++ atomic_t esparser_queued_bufs; ++ struct work_struct esparser_queue_work; ++ ++ unsigned int streamon_cap, streamon_out; ++ unsigned int sequence_cap; ++ unsigned int should_stop; ++ unsigned int keyframe_found; ++ ++ u8 canvas_alloc[MAX_CANVAS]; ++ u32 canvas_num; ++ ++ void *vififo_vaddr; ++ dma_addr_t vififo_paddr; ++ u32 vififo_size; ++ ++ struct list_head bufs_recycle; ++ struct mutex bufs_recycle_lock; ++ struct task_struct *recycle_thread; ++ ++ struct list_head timestamps; ++ spinlock_t ts_spinlock; ++ ++ u64 last_irq_jiffies; ++ ++ void *priv; ++}; ++ ++u32 amvdec_get_output_size(struct amvdec_session *sess); ++ ++#endif +diff --git a/drivers/media/platform/meson/vdec/vdec_1.c b/drivers/media/platform/meson/vdec/vdec_1.c +new file mode 100644 +index 0000000000000..29f6305a6276b +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/vdec_1.c +@@ -0,0 +1,228 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ * ++ * VDEC_1 is a video decoding block that allows decoding of ++ * MPEG 1/2/4, H.263, H.264, MJPEG, VC1 ++ */ ++ ++#include ++#include ++ ++#include "vdec_1.h" ++#include "vdec_helpers.h" ++#include "dos_regs.h" ++ ++/* AO Registers */ ++#define AO_RTI_GEN_PWR_SLEEP0 0xe8 ++#define AO_RTI_GEN_PWR_ISO0 0xec ++ #define GEN_PWR_VDEC_1 (BIT(3) | BIT(2)) ++ ++#define MC_SIZE (4096 * 4) ++ ++static int ++vdec_1_load_firmware(struct amvdec_session *sess, const char *fwname) ++{ ++ const struct firmware *fw; ++ struct amvdec_core *core = sess->core; ++ struct device *dev = core->dev_dec; ++ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops; ++ static void *mc_addr; ++ static dma_addr_t mc_addr_map; ++ int ret; ++ u32 i = 1000; ++ ++ ret = request_firmware(&fw, fwname, dev); ++ if (ret < 0) ++ return -EINVAL; ++ ++ if (fw->size < MC_SIZE) { ++ dev_err(dev, "Firmware size %zu is too small. Expected %u.\n", ++ fw->size, MC_SIZE); ++ ret = -EINVAL; ++ goto release_firmware; ++ } ++ ++ mc_addr = dma_alloc_coherent(core->dev, MC_SIZE, ++ &mc_addr_map, GFP_KERNEL); ++ if (!mc_addr) { ++ dev_err(dev, ++ "Failed allocating memory for firmware loading\n"); ++ ret = -ENOMEM; ++ goto release_firmware; ++ } ++ ++ memcpy(mc_addr, fw->data, MC_SIZE); ++ ++ amvdec_write_dos(core, MPSR, 0); ++ amvdec_write_dos(core, CPSR, 0); ++ ++ amvdec_clear_dos_bits(core, MDEC_PIC_DC_CTRL, BIT(31)); ++ ++ amvdec_write_dos(core, IMEM_DMA_ADR, mc_addr_map); ++ amvdec_write_dos(core, IMEM_DMA_COUNT, MC_SIZE / 4); ++ amvdec_write_dos(core, IMEM_DMA_CTRL, (0x8000 | (7 << 16))); ++ ++ while (--i && amvdec_read_dos(core, IMEM_DMA_CTRL) & 0x8000) { } ++ ++ if (i == 0) { ++ dev_err(dev, "Firmware load fail (DMA hang?)\n"); ++ ret = -EINVAL; ++ goto free_mc; ++ } ++ ++ if (codec_ops->load_extended_firmware) ++ codec_ops->load_extended_firmware(sess, fw->data + MC_SIZE, ++ fw->size - MC_SIZE); ++ ++free_mc: ++ dma_free_coherent(core->dev, MC_SIZE, mc_addr, mc_addr_map); ++release_firmware: ++ release_firmware(fw); ++ return ret; ++} ++ ++int vdec_1_stbuf_power_up(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ ++ amvdec_write_dos(core, VLD_MEM_VIFIFO_CONTROL, 0); ++ amvdec_write_dos(core, VLD_MEM_VIFIFO_WRAP_COUNT, 0); ++ amvdec_write_dos(core, POWER_CTL_VLD, BIT(4)); ++ ++ amvdec_write_dos(core, VLD_MEM_VIFIFO_START_PTR, sess->vififo_paddr); ++ amvdec_write_dos(core, VLD_MEM_VIFIFO_CURR_PTR, sess->vififo_paddr); ++ amvdec_write_dos(core, VLD_MEM_VIFIFO_END_PTR, ++ sess->vififo_paddr + sess->vififo_size - 8); ++ ++ amvdec_write_dos_bits(core, VLD_MEM_VIFIFO_CONTROL, 1); ++ amvdec_clear_dos_bits(core, VLD_MEM_VIFIFO_CONTROL, 1); ++ ++ amvdec_write_dos(core, VLD_MEM_VIFIFO_BUF_CNTL, MEM_BUFCTRL_MANUAL); ++ amvdec_write_dos(core, VLD_MEM_VIFIFO_WP, sess->vififo_paddr); ++ ++ amvdec_write_dos_bits(core, VLD_MEM_VIFIFO_BUF_CNTL, 1); ++ amvdec_clear_dos_bits(core, VLD_MEM_VIFIFO_BUF_CNTL, 1); ++ ++ amvdec_write_dos_bits(core, VLD_MEM_VIFIFO_CONTROL, ++ (0x11 << MEM_FIFO_CNT_BIT) | MEM_FILL_ON_LEVEL | ++ MEM_CTRL_FILL_EN | MEM_CTRL_EMPTY_EN); ++ ++ return 0; ++} ++ ++static void vdec_1_conf_esparser(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ ++ /* VDEC_1 specific ESPARSER stuff */ ++ amvdec_write_dos(core, DOS_GEN_CTRL0, 0); ++ amvdec_write_dos(core, VLD_MEM_VIFIFO_BUF_CNTL, 1); ++ amvdec_clear_dos_bits(core, VLD_MEM_VIFIFO_BUF_CNTL, 1); ++} ++ ++static u32 vdec_1_vififo_level(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ ++ return amvdec_read_dos(core, VLD_MEM_VIFIFO_LEVEL); ++} ++ ++static int vdec_1_stop(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops; ++ ++ amvdec_write_dos(core, MPSR, 0); ++ amvdec_write_dos(core, CPSR, 0); ++ amvdec_write_dos(core, ASSIST_MBOX1_MASK, 0); ++ ++ amvdec_write_dos(core, DOS_SW_RESET0, BIT(12) | BIT(11)); ++ amvdec_write_dos(core, DOS_SW_RESET0, 0); ++ amvdec_read_dos(core, DOS_SW_RESET0); ++ ++ /* enable vdec1 isolation */ ++ regmap_write(core->regmap_ao, AO_RTI_GEN_PWR_ISO0, 0xc0); ++ /* power off vdec1 memories */ ++ amvdec_write_dos(core, DOS_MEM_PD_VDEC, 0xffffffff); ++ /* power off vdec1 */ ++ regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_SLEEP0, ++ GEN_PWR_VDEC_1, GEN_PWR_VDEC_1); ++ ++ clk_disable_unprepare(core->vdec_1_clk); ++ ++ if (sess->priv) ++ codec_ops->stop(sess); ++ ++ return 0; ++} ++ ++static int vdec_1_start(struct amvdec_session *sess) ++{ ++ int ret; ++ struct amvdec_core *core = sess->core; ++ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops; ++ ++ /* Configure the vdec clk to the maximum available */ ++ clk_set_rate(core->vdec_1_clk, 666666666); ++ ret = clk_prepare_enable(core->vdec_1_clk); ++ if (ret) ++ return ret; ++ ++ regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_SLEEP0, ++ GEN_PWR_VDEC_1, 0); ++ udelay(10); ++ ++ /* Reset VDEC1 */ ++ amvdec_write_dos(core, DOS_SW_RESET0, 0xfffffffc); ++ amvdec_write_dos(core, DOS_SW_RESET0, 0x00000000); ++ ++ amvdec_write_dos(core, DOS_GCLK_EN0, 0x3ff); ++ ++ /* enable VDEC Memories */ ++ amvdec_write_dos(core, DOS_MEM_PD_VDEC, 0); ++ /* Remove VDEC1 Isolation */ ++ regmap_write(core->regmap_ao, AO_RTI_GEN_PWR_ISO0, 0); ++ /* Reset DOS top registers */ ++ amvdec_write_dos(core, DOS_VDEC_MCRCC_STALL_CTRL, 0); ++ ++ amvdec_write_dos(core, GCLK_EN, 0x3ff); ++ amvdec_clear_dos_bits(core, MDEC_PIC_DC_CTRL, BIT(31)); ++ ++ vdec_1_stbuf_power_up(sess); ++ ++ ret = vdec_1_load_firmware(sess, sess->fmt_out->firmware_path); ++ if (ret) ++ goto stop; ++ ++ ret = codec_ops->start(sess); ++ if (ret) ++ goto stop; ++ ++ /* Enable IRQ */ ++ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1); ++ amvdec_write_dos(core, ASSIST_MBOX1_MASK, 1); ++ ++ /* Enable 2-plane output */ ++ if (sess->pixfmt_cap == V4L2_PIX_FMT_NV12M) ++ amvdec_write_dos_bits(core, MDEC_PIC_DC_CTRL, BIT(17)); ++ ++ /* Enable firmware processor */ ++ amvdec_write_dos(core, MPSR, 1); ++ /* Let the firmware settle */ ++ udelay(10); ++ ++ return 0; ++ ++stop: ++ vdec_1_stop(sess); ++ return ret; ++} ++ ++struct amvdec_ops vdec_1_ops = { ++ .start = vdec_1_start, ++ .stop = vdec_1_stop, ++ .conf_esparser = vdec_1_conf_esparser, ++ .vififo_level = vdec_1_vififo_level, ++}; +diff --git a/drivers/media/platform/meson/vdec/vdec_1.h b/drivers/media/platform/meson/vdec/vdec_1.h +new file mode 100644 +index 0000000000000..042d930c40d77 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/vdec_1.h +@@ -0,0 +1,14 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_VDEC_1_H_ ++#define __MESON_VDEC_VDEC_1_H_ ++ ++#include "vdec.h" ++ ++extern struct amvdec_ops vdec_1_ops; ++ ++#endif +diff --git a/drivers/media/platform/meson/vdec/vdec_helpers.c b/drivers/media/platform/meson/vdec/vdec_helpers.c +new file mode 100644 +index 0000000000000..6151076297655 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/vdec_helpers.c +@@ -0,0 +1,354 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#include ++#include ++#include ++ ++#include "vdec_helpers.h" ++ ++#define NUM_CANVAS_NV12 2 ++#define NUM_CANVAS_YUV420 3 ++ ++u32 amvdec_read_dos(struct amvdec_core *core, u32 reg) ++{ ++ return readl_relaxed(core->dos_base + reg); ++} ++EXPORT_SYMBOL_GPL(amvdec_read_dos); ++ ++void amvdec_write_dos(struct amvdec_core *core, u32 reg, u32 val) ++{ ++ writel_relaxed(val, core->dos_base + reg); ++} ++EXPORT_SYMBOL_GPL(amvdec_write_dos); ++ ++void amvdec_write_dos_bits(struct amvdec_core *core, u32 reg, u32 val) ++{ ++ amvdec_write_dos(core, reg, amvdec_read_dos(core, reg) | val); ++} ++EXPORT_SYMBOL_GPL(amvdec_write_dos_bits); ++ ++void amvdec_clear_dos_bits(struct amvdec_core *core, u32 reg, u32 val) ++{ ++ amvdec_write_dos(core, reg, amvdec_read_dos(core, reg) & ~val); ++} ++EXPORT_SYMBOL_GPL(amvdec_clear_dos_bits); ++ ++u32 amvdec_read_parser(struct amvdec_core *core, u32 reg) ++{ ++ return readl_relaxed(core->esparser_base + reg); ++} ++EXPORT_SYMBOL_GPL(amvdec_read_parser); ++ ++void amvdec_write_parser(struct amvdec_core *core, u32 reg, u32 val) ++{ ++ writel_relaxed(val, core->esparser_base + reg); ++} ++EXPORT_SYMBOL_GPL(amvdec_write_parser); ++ ++static int canvas_alloc(struct amvdec_session *sess, u8 *canvas_id) ++{ ++ int ret; ++ ++ if (sess->canvas_num >= MAX_CANVAS) { ++ dev_err(sess->core->dev, "Reached max number of canvas\n"); ++ return -ENOMEM; ++ } ++ ++ ret = meson_canvas_alloc(sess->core->canvas, canvas_id); ++ if (ret) ++ return ret; ++ ++ sess->canvas_alloc[sess->canvas_num++] = *canvas_id; ++ return 0; ++} ++ ++static int set_canvas_yuv420m(struct amvdec_session *sess, ++ struct vb2_buffer *vb, u32 width, ++ u32 height, u32 reg) ++{ ++ struct amvdec_core *core = sess->core; ++ u8 canvas_id[NUM_CANVAS_YUV420]; /* Y U V */ ++ dma_addr_t buf_paddr[NUM_CANVAS_YUV420]; /* Y U V */ ++ int ret, i; ++ ++ for (i = 0; i < NUM_CANVAS_YUV420; ++i) { ++ ret = canvas_alloc(sess, &canvas_id[i]); ++ if (ret) ++ return ret; ++ ++ buf_paddr[i] = ++ vb2_dma_contig_plane_dma_addr(vb, i); ++ } ++ ++ /* Y plane */ ++ meson_canvas_config(core->canvas, canvas_id[0], buf_paddr[0], ++ width, height, MESON_CANVAS_WRAP_NONE, ++ MESON_CANVAS_BLKMODE_LINEAR, ++ MESON_CANVAS_ENDIAN_SWAP64); ++ ++ /* U plane */ ++ meson_canvas_config(core->canvas, canvas_id[1], buf_paddr[1], ++ width / 2, height / 2, MESON_CANVAS_WRAP_NONE, ++ MESON_CANVAS_BLKMODE_LINEAR, ++ MESON_CANVAS_ENDIAN_SWAP64); ++ ++ /* V plane */ ++ meson_canvas_config(core->canvas, canvas_id[2], buf_paddr[2], ++ width / 2, height / 2, MESON_CANVAS_WRAP_NONE, ++ MESON_CANVAS_BLKMODE_LINEAR, ++ MESON_CANVAS_ENDIAN_SWAP64); ++ ++ amvdec_write_dos(core, reg, ++ ((canvas_id[2]) << 16) | ++ ((canvas_id[1]) << 8) | ++ (canvas_id[0])); ++ ++ return 0; ++} ++ ++static int set_canvas_nv12m(struct amvdec_session *sess, ++ struct vb2_buffer *vb, u32 width, ++ u32 height, u32 reg) ++{ ++ struct amvdec_core *core = sess->core; ++ u8 canvas_id[NUM_CANVAS_NV12]; /* Y U/V */ ++ dma_addr_t buf_paddr[NUM_CANVAS_NV12]; /* Y U/V */ ++ int ret, i; ++ ++ for (i = 0; i < NUM_CANVAS_NV12; ++i) { ++ ret = canvas_alloc(sess, &canvas_id[i]); ++ if (ret) ++ return ret; ++ ++ buf_paddr[i] = ++ vb2_dma_contig_plane_dma_addr(vb, i); ++ } ++ ++ /* Y plane */ ++ meson_canvas_config(core->canvas, canvas_id[0], buf_paddr[0], ++ width, height, MESON_CANVAS_WRAP_NONE, ++ MESON_CANVAS_BLKMODE_LINEAR, ++ MESON_CANVAS_ENDIAN_SWAP64); ++ ++ /* U/V plane */ ++ meson_canvas_config(core->canvas, canvas_id[1], buf_paddr[1], ++ width, height / 2, MESON_CANVAS_WRAP_NONE, ++ MESON_CANVAS_BLKMODE_LINEAR, ++ MESON_CANVAS_ENDIAN_SWAP64); ++ ++ amvdec_write_dos(core, reg, ++ ((canvas_id[1]) << 16) | ++ ((canvas_id[1]) << 8) | ++ (canvas_id[0])); ++ ++ return 0; ++} ++ ++int amvdec_set_canvases(struct amvdec_session *sess, ++ u32 reg_base[], u32 reg_num[]) ++{ ++ struct v4l2_m2m_buffer *buf; ++ u32 pixfmt = sess->pixfmt_cap; ++ u32 width = ALIGN(sess->width, 64); ++ u32 height = ALIGN(sess->height, 64); ++ u32 reg_cur = reg_base[0]; ++ u32 reg_num_cur = 0; ++ u32 reg_base_cur = 0; ++ int ret; ++ ++ v4l2_m2m_for_each_dst_buf(sess->m2m_ctx, buf) { ++ if (!reg_base[reg_base_cur]) ++ return -EINVAL; ++ ++ reg_cur = reg_base[reg_base_cur] + reg_num_cur * 4; ++ ++ switch (pixfmt) { ++ case V4L2_PIX_FMT_NV12M: ++ ret = set_canvas_nv12m(sess, &buf->vb.vb2_buf, width, ++ height, reg_cur); ++ if (ret) ++ return ret; ++ break; ++ case V4L2_PIX_FMT_YUV420M: ++ ret = set_canvas_yuv420m(sess, &buf->vb.vb2_buf, width, ++ height, reg_cur); ++ if (ret) ++ return ret; ++ break; ++ default: ++ dev_err(sess->core->dev, "Unsupported pixfmt %08X\n", ++ pixfmt); ++ return -EINVAL; ++ }; ++ ++ reg_num_cur++; ++ if (reg_num_cur >= reg_num[reg_base_cur]) { ++ reg_base_cur++; ++ reg_num_cur = 0; ++ } ++ } ++ ++ return 0; ++} ++EXPORT_SYMBOL_GPL(amvdec_set_canvases); ++ ++void amvdec_dst_buf_done(struct amvdec_session *sess, ++ struct vb2_v4l2_buffer *vbuf, u32 field) ++{ ++ struct device *dev = sess->core->dev_dec; ++ struct amvdec_timestamp *tmp; ++ struct list_head *timestamps = &sess->timestamps; ++ u32 output_size = amvdec_get_output_size(sess); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&sess->ts_spinlock, flags); ++ if (list_empty(timestamps)) { ++ dev_err(dev, "Buffer %u done but list is empty\n", ++ vbuf->vb2_buf.index); ++ ++ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_ERROR); ++ amvdec_abort(sess); ++ spin_unlock_irqrestore(&sess->ts_spinlock, flags); ++ goto end; ++ } ++ ++ tmp = list_first_entry(timestamps, struct amvdec_timestamp, list); ++ ++ switch (sess->pixfmt_cap) { ++ case V4L2_PIX_FMT_NV12M: ++ vbuf->vb2_buf.planes[0].bytesused = output_size; ++ vbuf->vb2_buf.planes[1].bytesused = output_size / 2; ++ break; ++ case V4L2_PIX_FMT_YUV420M: ++ vbuf->vb2_buf.planes[0].bytesused = output_size; ++ vbuf->vb2_buf.planes[1].bytesused = output_size / 4; ++ vbuf->vb2_buf.planes[2].bytesused = output_size / 4; ++ break; ++ } ++ vbuf->vb2_buf.timestamp = tmp->ts; ++ vbuf->sequence = sess->sequence_cap++; ++ ++ list_del(&tmp->list); ++ kfree(tmp); ++ spin_unlock_irqrestore(&sess->ts_spinlock, flags); ++ ++ atomic_dec(&sess->esparser_queued_bufs); ++ ++ if (sess->should_stop && list_empty(timestamps)) { ++ const struct v4l2_event ev = { .type = V4L2_EVENT_EOS }; ++ ++ dev_dbg(dev, "Signaling EOS\n"); ++ v4l2_event_queue_fh(&sess->fh, &ev); ++ vbuf->flags |= V4L2_BUF_FLAG_LAST; ++ } else if (sess->should_stop) ++ dev_dbg(dev, "should_stop, %u bufs remain\n", ++ atomic_read(&sess->esparser_queued_bufs)); ++ ++ vbuf->field = field; ++ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_DONE); ++ ++end: ++ /* Buffer done probably means the vififo got freed */ ++ schedule_work(&sess->esparser_queue_work); ++} ++EXPORT_SYMBOL_GPL(amvdec_dst_buf_done); ++ ++void ++amvdec_dst_buf_done_idx(struct amvdec_session *sess, u32 buf_idx, u32 field) ++{ ++ struct vb2_v4l2_buffer *vbuf; ++ struct device *dev = sess->core->dev_dec; ++ ++ vbuf = v4l2_m2m_dst_buf_remove_by_idx(sess->m2m_ctx, buf_idx); ++ if (!vbuf) { ++ dev_err(dev, ++ "Buffer %u done but it doesn't exist in m2m_ctx\n", ++ buf_idx); ++ amvdec_rm_first_ts(sess); ++ return; ++ } ++ ++ amvdec_dst_buf_done(sess, vbuf, field); ++} ++EXPORT_SYMBOL_GPL(amvdec_dst_buf_done_idx); ++ ++void amvdec_add_ts_reorder(struct amvdec_session *sess, u64 ts) ++{ ++ struct amvdec_timestamp *new_ts, *tmp; ++ unsigned long flags; ++ ++ new_ts = kmalloc(sizeof(*new_ts), GFP_KERNEL); ++ new_ts->ts = ts; ++ ++ spin_lock_irqsave(&sess->ts_spinlock, flags); ++ ++ if (list_empty(&sess->timestamps)) ++ goto add_tail; ++ ++ list_for_each_entry(tmp, &sess->timestamps, list) { ++ if (ts < tmp->ts) { ++ list_add_tail(&new_ts->list, &tmp->list); ++ goto unlock; ++ } ++ } ++ ++add_tail: ++ list_add_tail(&new_ts->list, &sess->timestamps); ++unlock: ++ spin_unlock_irqrestore(&sess->ts_spinlock, flags); ++} ++EXPORT_SYMBOL_GPL(amvdec_add_ts_reorder); ++ ++void amvdec_remove_ts(struct amvdec_session *sess, u64 ts) ++{ ++ struct amvdec_timestamp *tmp; ++ unsigned long flags; ++ ++ spin_lock_irqsave(&sess->ts_spinlock, flags); ++ list_for_each_entry(tmp, &sess->timestamps, list) { ++ if (tmp->ts == ts) { ++ list_del(&tmp->list); ++ kfree(tmp); ++ goto unlock; ++ } ++ } ++ dev_warn(sess->core->dev_dec, ++ "Couldn't remove buffer with timestamp %llu from list\n", ts); ++ ++unlock: ++ spin_unlock_irqrestore(&sess->ts_spinlock, flags); ++} ++EXPORT_SYMBOL_GPL(amvdec_remove_ts); ++ ++void amvdec_rm_first_ts(struct amvdec_session *sess) ++{ ++ unsigned long flags; ++ struct amvdec_buffer *tmp; ++ struct device *dev = sess->core->dev_dec; ++ ++ spin_lock_irqsave(&sess->ts_spinlock, flags); ++ if (list_empty(&sess->timestamps)) { ++ dev_err(dev, "Can't rm first timestamp: list empty\n"); ++ goto unlock; ++ } ++ ++ tmp = list_first_entry(&sess->timestamps, struct amvdec_buffer, list); ++ list_del(&tmp->list); ++ kfree(tmp); ++ atomic_dec(&sess->esparser_queued_bufs); ++ ++unlock: ++ spin_unlock_irqrestore(&sess->ts_spinlock, flags); ++} ++ ++void amvdec_abort(struct amvdec_session *sess) ++{ ++ dev_info(sess->core->dev, "Aborting decoding session!\n"); ++ vb2_queue_error(&sess->m2m_ctx->cap_q_ctx.q); ++ vb2_queue_error(&sess->m2m_ctx->out_q_ctx.q); ++} ++EXPORT_SYMBOL_GPL(amvdec_abort); +diff --git a/drivers/media/platform/meson/vdec/vdec_helpers.h b/drivers/media/platform/meson/vdec/vdec_helpers.h +new file mode 100644 +index 0000000000000..352c6b4c4b84c +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/vdec_helpers.h +@@ -0,0 +1,45 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_HELPERS_H_ ++#define __MESON_VDEC_HELPERS_H_ ++ ++#include "vdec.h" ++ ++/** ++ * amvdec_set_canvases() - Map VB2 buffers to canvases ++ * ++ * @sess: current session ++ * @reg_base: Registry bases of where to write the canvas indexes ++ * @reg_num: number of contiguous registers after each reg_base (including it) ++ */ ++int amvdec_set_canvases(struct amvdec_session *sess, ++ u32 reg_base[], u32 reg_num[]); ++ ++u32 amvdec_read_dos(struct amvdec_core *core, u32 reg); ++void amvdec_write_dos(struct amvdec_core *core, u32 reg, u32 val); ++void amvdec_write_dos_bits(struct amvdec_core *core, u32 reg, u32 val); ++void amvdec_clear_dos_bits(struct amvdec_core *core, u32 reg, u32 val); ++u32 amvdec_read_parser(struct amvdec_core *core, u32 reg); ++void amvdec_write_parser(struct amvdec_core *core, u32 reg, u32 val); ++ ++void amvdec_dst_buf_done_idx(struct amvdec_session *sess, u32 buf_idx, ++ u32 field); ++void amvdec_dst_buf_done(struct amvdec_session *sess, ++ struct vb2_v4l2_buffer *vbuf, u32 field); ++ ++/** ++ * amvdec_add_ts_reorder() - Add a timestamp to the list in chronological order ++ * ++ * @sess: current session ++ * @ts: timestamp to add ++ */ ++void amvdec_add_ts_reorder(struct amvdec_session *sess, u64 ts); ++void amvdec_remove_ts(struct amvdec_session *sess, u64 ts); ++void amvdec_rm_first_ts(struct amvdec_session *sess); ++ ++void amvdec_abort(struct amvdec_session *sess); ++#endif +diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c +new file mode 100644 +index 0000000000000..46eeb7426f547 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/vdec_platform.c +@@ -0,0 +1,101 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#include "vdec_platform.h" ++#include "vdec.h" ++ ++#include "vdec_1.h" ++#include "codec_mpeg12.h" ++ ++static const struct amvdec_format vdec_formats_gxbb[] = { ++ { ++ .pixfmt = V4L2_PIX_FMT_MPEG1, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg12_ops, ++ .firmware_path = "meson/gx/vmpeg12_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { ++ .pixfmt = V4L2_PIX_FMT_MPEG2, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg12_ops, ++ .firmware_path = "meson/gx/vmpeg12_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, ++}; ++ ++static const struct amvdec_format vdec_formats_gxl[] = { ++ { ++ .pixfmt = V4L2_PIX_FMT_MPEG1, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg12_ops, ++ .firmware_path = "meson/gx/vmpeg12_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { ++ .pixfmt = V4L2_PIX_FMT_MPEG2, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg12_ops, ++ .firmware_path = "meson/gx/vmpeg12_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, ++}; ++ ++static const struct amvdec_format vdec_formats_gxm[] = { ++ { ++ .pixfmt = V4L2_PIX_FMT_MPEG1, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg12_ops, ++ .firmware_path = "meson/gx/vmpeg12_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { ++ .pixfmt = V4L2_PIX_FMT_MPEG2, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg12_ops, ++ .firmware_path = "meson/gx/vmpeg12_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, ++}; ++ ++const struct vdec_platform vdec_platform_gxbb = { ++ .formats = vdec_formats_gxbb, ++ .num_formats = ARRAY_SIZE(vdec_formats_gxbb), ++ .revision = VDEC_REVISION_GXBB, ++}; ++ ++const struct vdec_platform vdec_platform_gxl = { ++ .formats = vdec_formats_gxl, ++ .num_formats = ARRAY_SIZE(vdec_formats_gxl), ++ .revision = VDEC_REVISION_GXL, ++}; ++ ++const struct vdec_platform vdec_platform_gxm = { ++ .formats = vdec_formats_gxm, ++ .num_formats = ARRAY_SIZE(vdec_formats_gxm), ++ .revision = VDEC_REVISION_GXM, ++}; +diff --git a/drivers/media/platform/meson/vdec/vdec_platform.h b/drivers/media/platform/meson/vdec/vdec_platform.h +new file mode 100644 +index 0000000000000..f6025326db1d6 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/vdec_platform.h +@@ -0,0 +1,30 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_PLATFORM_H_ ++#define __MESON_VDEC_PLATFORM_H_ ++ ++#include "vdec.h" ++ ++struct amvdec_format; ++ ++enum vdec_revision { ++ VDEC_REVISION_GXBB, ++ VDEC_REVISION_GXL, ++ VDEC_REVISION_GXM, ++}; ++ ++struct vdec_platform { ++ const struct amvdec_format *formats; ++ const u32 num_formats; ++ enum vdec_revision revision; ++}; ++ ++extern const struct vdec_platform vdec_platform_gxbb; ++extern const struct vdec_platform vdec_platform_gxm; ++extern const struct vdec_platform vdec_platform_gxl; ++ ++#endif diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/007_linux-4.18.y-v4l-0007-arm64-dts-meson-gx-add_vdec_entry.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/007_linux-4.18.y-v4l-0007-arm64-dts-meson-gx-add_vdec_entry.patch new file mode 100644 index 000000000..e5d678fb4 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/007_linux-4.18.y-v4l-0007-arm64-dts-meson-gx-add_vdec_entry.patch @@ -0,0 +1,36 @@ +From b73062fd0c0c9630ad00ec5c0e9880798a994875 Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Wed, 29 Aug 2018 15:24:02 +0200 +Subject: [PATCH] ARM64: dts: meson-gx: add vdec entry + +Add the video decoder dts entry + +Signed-off-by: Maxime Jourdan +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index 737b741df0355..d9e0fea71dbe3 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -410,6 +410,19 @@ + }; + }; + ++ vdec: video-decoder@c8820000 { ++ compatible = "amlogic,gx-vdec"; ++ reg = <0x0 0xc8820000 0x0 0x10000>, ++ <0x0 0xc110a580 0x0 0xe4>; ++ reg-names = "dos", "esparser"; ++ ++ interrupts = , ++ ; ++ ++ amlogic,ao-sysctrl = <&sysctrl_AO>; ++ amlogic,canvas = <&canvas>; ++ }; ++ + periphs: periphs@c8834000 { + compatible = "simple-bus"; + reg = <0x0 0xc8834000 0x0 0x2000>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/008_linux-4.18.y-v4l-0008-arm64-dts-meson-add_vdec_entries.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/008_linux-4.18.y-v4l-0008-arm64-dts-meson-add_vdec_entries.patch new file mode 100644 index 000000000..2fe470c4b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/008_linux-4.18.y-v4l-0008-arm64-dts-meson-add_vdec_entries.patch @@ -0,0 +1,64 @@ +From c7b0311f4676661ad445f9e36c669886f1bc7835 Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Wed, 29 Aug 2018 15:24:22 +0200 +Subject: [PATCH] ARM64: dts: meson: add vdec entries + +This enables the video decoder for gxbb, gxl and gxm chips + +Signed-off-by: Maxime Jourdan +--- + arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 11 +++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 11 +++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxm.dtsi | 4 ++++ + 3 files changed, 26 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +index 98cbba6809caa..daee53a755d75 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +@@ -774,3 +774,14 @@ + compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu"; + power-domains = <&pwrc_vpu>; + }; ++ ++&vdec { ++ compatible = "amlogic,gxbb-vdec"; ++ clocks = <&clkc CLKID_DOS_PARSER>, ++ <&clkc CLKID_DOS>, ++ <&clkc CLKID_VDEC_1>, ++ <&clkc CLKID_VDEC_HEVC>; ++ clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc"; ++ resets = <&reset RESET_PARSER>; ++ reset-names = "esparser"; ++}; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +index c87a80e9bcc6a..bfd65d1a89591 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +@@ -775,3 +775,14 @@ + compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; + power-domains = <&pwrc_vpu>; + }; ++ ++&vdec { ++ compatible = "amlogic,gxl-vdec"; ++ clocks = <&clkc CLKID_DOS_PARSER>, ++ <&clkc CLKID_DOS>, ++ <&clkc CLKID_VDEC_1>, ++ <&clkc CLKID_VDEC_HEVC>; ++ clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc"; ++ resets = <&reset RESET_PARSER>; ++ reset-names = "esparser"; ++}; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi +index 247888d68a3aa..2f356495be5ef 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi +@@ -117,3 +117,7 @@ + &dwc3 { + phys = <&usb3_phy>, <&usb2_phy0>, <&usb2_phy1>, <&usb2_phy2>; + }; ++ ++&vdec { ++ compatible = "amlogic,gxm-vdec"; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/009_linux-4.18.y-v4l-0009-media-meson-vdec-add_h.264_decoding_support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/009_linux-4.18.y-v4l-0009-media-meson-vdec-add_h.264_decoding_support.patch new file mode 100644 index 000000000..eeb39e22b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/009_linux-4.18.y-v4l-0009-media-meson-vdec-add_h.264_decoding_support.patch @@ -0,0 +1,466 @@ +From 9d2683700060a36200da3b296671485b7fec747f Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Wed, 29 Aug 2018 15:42:56 +0200 +Subject: [PATCH] media: meson: vdec: add H.264 decoding support + +Add support for V4L2_PIX_FMT_H264 +--- + drivers/media/platform/meson/vdec/Makefile | 2 +- + .../media/platform/meson/vdec/codec_h264.c | 354 ++++++++++++++++++ + .../media/platform/meson/vdec/codec_h264.h | 13 + + .../media/platform/meson/vdec/vdec_platform.c | 31 ++ + 4 files changed, 399 insertions(+), 1 deletion(-) + create mode 100644 drivers/media/platform/meson/vdec/codec_h264.c + create mode 100644 drivers/media/platform/meson/vdec/codec_h264.h + +diff --git a/drivers/media/platform/meson/vdec/Makefile b/drivers/media/platform/meson/vdec/Makefile +index 6bea129084b76..711d990c760e0 100644 +--- a/drivers/media/platform/meson/vdec/Makefile ++++ b/drivers/media/platform/meson/vdec/Makefile +@@ -3,6 +3,6 @@ + + meson-vdec-objs = esparser.o vdec.o vdec_helpers.o vdec_platform.o + meson-vdec-objs += vdec_1.o +-meson-vdec-objs += codec_mpeg12.o ++meson-vdec-objs += codec_mpeg12.o codec_h264.o + + obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o +diff --git a/drivers/media/platform/meson/vdec/codec_h264.c b/drivers/media/platform/meson/vdec/codec_h264.c +new file mode 100644 +index 0000000000000..7c47ec35efa54 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/codec_h264.c +@@ -0,0 +1,354 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 Maxime Jourdan ++ */ ++ ++#include ++#include ++ ++#include "vdec_helpers.h" ++#include "dos_regs.h" ++ ++#define SIZE_EXT_FW (20 * SZ_1K) ++#define SIZE_WORKSPACE 0x1ee000 ++#define SIZE_SEI (8 * SZ_1K) ++ ++/* Offset added by the firmware which must be substracted ++ * from the workspace phyaddr ++ */ ++#define WORKSPACE_BUF_OFFSET 0x1000000 ++ ++#define SEI_DATA_READY BIT(15) ++ ++/* ISR status */ ++#define CMD_SET_PARAM 1 ++#define CMD_FRAMES_READY 2 ++#define CMD_FATAL_ERROR 6 ++#define CMD_BAD_WIDTH 7 ++#define CMD_BAD_HEIGHT 8 ++ ++/* Picture type */ ++#define PIC_SINGLE_FRAME 0 ++#define PIC_TOP_BOT_TOP 1 ++#define PIC_BOT_TOP_BOT 2 ++#define PIC_DOUBLE_FRAME 3 ++#define PIC_TRIPLE_FRAME 4 ++#define PIC_TOP_BOT 5 ++#define PIC_BOT_TOP 6 ++#define PIC_INVALID 7 ++ ++/* Size of Motion Vector per macroblock */ ++#define MB_MV_SIZE 96 ++ ++struct codec_h264 { ++ /* H.264 decoder requires an extended firmware */ ++ void *ext_fw_vaddr; ++ dma_addr_t ext_fw_paddr; ++ ++ /* Buffer for the H.264 Workspace */ ++ void *workspace_vaddr; ++ dma_addr_t workspace_paddr; ++ ++ /* Buffer for the H.264 references MV */ ++ void *ref_vaddr; ++ dma_addr_t ref_paddr; ++ u32 ref_size; ++ ++ /* Buffer for parsed SEI data */ ++ void *sei_vaddr; ++ dma_addr_t sei_paddr; ++ ++ int received_0; ++}; ++ ++static int codec_h264_can_recycle(struct amvdec_core *core) ++{ ++ return !amvdec_read_dos(core, AV_SCRATCH_7) || ++ !amvdec_read_dos(core, AV_SCRATCH_8); ++} ++ ++static void codec_h264_recycle(struct amvdec_core *core, u32 buf_idx) ++{ ++ /* Tell the decoder he can recycle this buffer. ++ * AV_SCRATCH_8 serves the same purpose. ++ */ ++ if (!amvdec_read_dos(core, AV_SCRATCH_7)) ++ amvdec_write_dos(core, AV_SCRATCH_7, buf_idx + 1); ++ else ++ amvdec_write_dos(core, AV_SCRATCH_8, buf_idx + 1); ++} ++ ++static int codec_h264_start(struct amvdec_session *sess) { ++ u32 workspace_offset; ++ struct amvdec_core *core = sess->core; ++ struct codec_h264 *h264 = sess->priv; ++ ++ /* Allocate some memory for the H.264 decoder's state */ ++ h264->workspace_vaddr = ++ dma_alloc_coherent(core->dev, SIZE_WORKSPACE, &h264->workspace_paddr, GFP_KERNEL); ++ if (!h264->workspace_vaddr) { ++ dev_err(core->dev, "Failed to alloc H.264 Workspace\n"); ++ return -ENOMEM; ++ } ++ ++ /* Allocate some memory for the H.264 SEI dump */ ++ h264->sei_vaddr = ++ dma_alloc_coherent(core->dev, SIZE_SEI, &h264->sei_paddr, GFP_KERNEL); ++ if (!h264->sei_vaddr) { ++ dev_err(core->dev, "Failed to alloc H.264 SEI\n"); ++ return -ENOMEM; ++ } ++ ++ amvdec_write_dos_bits(core, POWER_CTL_VLD, BIT(9) | BIT(6)); ++ ++ amvdec_write_dos(core, PSCALE_CTRL, 0); ++ amvdec_write_dos(core, AV_SCRATCH_0, 0); ++ ++ workspace_offset = h264->workspace_paddr - WORKSPACE_BUF_OFFSET; ++ amvdec_write_dos(core, AV_SCRATCH_1, workspace_offset); ++ amvdec_write_dos(core, AV_SCRATCH_G, h264->ext_fw_paddr); ++ amvdec_write_dos(core, AV_SCRATCH_I, h264->sei_paddr - workspace_offset); ++ ++ amvdec_write_dos(core, AV_SCRATCH_7, 0); ++ amvdec_write_dos(core, AV_SCRATCH_8, 0); ++ amvdec_write_dos(core, AV_SCRATCH_9, 0); ++ ++ /* Enable "error correction" */ ++ amvdec_write_dos(core, AV_SCRATCH_F, (amvdec_read_dos(core, AV_SCRATCH_F) & 0xffffffc3) | BIT(4) | BIT(7)); ++ ++ amvdec_write_dos(core, MDEC_PIC_DC_THRESH, 0x404038aa); ++ ++ return 0; ++} ++ ++static int codec_h264_stop(struct amvdec_session *sess) ++{ ++ struct codec_h264 *h264 = sess->priv; ++ struct amvdec_core *core = sess->core; ++ ++ if (h264->ext_fw_vaddr) ++ dma_free_coherent(core->dev, SIZE_EXT_FW, ++ h264->ext_fw_vaddr, h264->ext_fw_paddr); ++ ++ if (h264->workspace_vaddr) ++ dma_free_coherent(core->dev, SIZE_WORKSPACE, ++ h264->workspace_vaddr, h264->workspace_paddr); ++ ++ if (h264->ref_vaddr) ++ dma_free_coherent(core->dev, h264->ref_size, ++ h264->ref_vaddr, h264->ref_paddr); ++ ++ if (h264->sei_vaddr) ++ dma_free_coherent(core->dev, SIZE_SEI, ++ h264->sei_vaddr, h264->sei_paddr); ++ ++ return 0; ++} ++ ++static int codec_h264_load_extended_firmware(struct amvdec_session *sess, const u8 *data, u32 len) ++{ ++ struct codec_h264 *h264; ++ struct amvdec_core *core = sess->core; ++ ++ h264 = kzalloc(sizeof(*h264), GFP_KERNEL); ++ if (!h264) ++ return -ENOMEM; ++ ++ sess->priv = h264; ++ ++ if (len < SIZE_EXT_FW) ++ return -EINVAL; ++ ++ h264->ext_fw_vaddr = dma_alloc_coherent(core->dev, SIZE_EXT_FW, ++ &h264->ext_fw_paddr, GFP_KERNEL); ++ if (!h264->ext_fw_vaddr) { ++ dev_err(core->dev, "Failed to alloc H.264 extended fw\n"); ++ return -ENOMEM; ++ } ++ ++ memcpy(h264->ext_fw_vaddr, data, SIZE_EXT_FW); ++ ++ return 0; ++} ++ ++/* Configure the H.264 decoder when the esparser finished parsing ++ * the first keyframe ++ */ ++static void codec_h264_set_param(struct amvdec_session *sess) { ++ struct amvdec_core *core = sess->core; ++ struct codec_h264 *h264 = sess->priv; ++ u32 max_reference_size; ++ u32 parsed_info, mb_width, mb_height, mb_total; ++ u32 actual_dpb_size = v4l2_m2m_num_dst_bufs_ready(sess->m2m_ctx); ++ u32 max_dpb_size = 4; ++ ++ sess->keyframe_found = 1; ++ ++ amvdec_write_dos(core, AV_SCRATCH_7, 0); ++ amvdec_write_dos(core, AV_SCRATCH_8, 0); ++ amvdec_write_dos(core, AV_SCRATCH_9, 0); ++ ++ parsed_info = amvdec_read_dos(core, AV_SCRATCH_1); ++ ++ /* Total number of 16x16 macroblocks */ ++ mb_total = (parsed_info >> 8) & 0xffff; ++ ++ /* Number of macroblocks per line */ ++ mb_width = parsed_info & 0xff; ++ ++ /* Number of macroblock lines */ ++ mb_height = mb_total / mb_width; ++ ++ max_reference_size = (parsed_info >> 24) & 0x7f; ++ ++ /* Align to a multiple of 4 macroblocks */ ++ mb_width = ALIGN(mb_width, 4); ++ mb_height = ALIGN(mb_height, 4); ++ mb_total = mb_width * mb_height; ++ ++ amvdec_set_canvases(sess, (u32[]){ ANC0_CANVAS_ADDR, 0 }, ++ (u32[]){ 24, 0 }); ++ ++ if (max_reference_size > max_dpb_size) ++ max_dpb_size = max_reference_size; ++ ++ max_reference_size++; ++ dev_dbg(core->dev, ++ "max_ref_size = %u; max_dpb_size = %u; actual_dpb_size = %u\n", ++ max_reference_size, max_dpb_size, actual_dpb_size); ++ ++ h264->ref_size = mb_total * MB_MV_SIZE * max_reference_size; ++ h264->ref_vaddr = dma_alloc_coherent(core->dev, h264->ref_size, ++ &h264->ref_paddr, GFP_KERNEL); ++ if (!h264->ref_vaddr) { ++ dev_err(core->dev, "Failed to alloc refs (%u)\n", ++ h264->ref_size); ++ amvdec_abort(sess); ++ return; ++ } ++ ++ /* Address to store the references' MVs */ ++ amvdec_write_dos(core, AV_SCRATCH_1, h264->ref_paddr); ++ /* End of ref MV */ ++ amvdec_write_dos(core, AV_SCRATCH_4, h264->ref_paddr + h264->ref_size); ++ ++ amvdec_write_dos(core, AV_SCRATCH_0, (max_reference_size << 24) | ++ (actual_dpb_size << 16) | ++ (max_dpb_size << 8)); ++} ++ ++static void codec_h264_frames_ready(struct amvdec_session *sess, u32 status) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_h264 *h264 = sess->priv; ++ int error_count; ++ int num_frames; ++ int i; ++ ++ error_count = amvdec_read_dos(core, AV_SCRATCH_D); ++ num_frames = (status >> 8) & 0xff; ++ if (error_count) { ++ dev_warn(core->dev, ++ "decoder error(s) happened, count %d\n", error_count); ++ amvdec_write_dos(core, AV_SCRATCH_D, 0); ++ } ++ ++ for (i = 0; i < num_frames; i++) { ++ u32 frame_status = amvdec_read_dos(core, AV_SCRATCH_1 + i * 4); ++ u32 buffer_index = frame_status & 0x1f; ++ u32 error = frame_status & 0x200; ++ u32 pic_struct = (frame_status >> 5) & 0x7; ++ u32 field = V4L2_FIELD_NONE; ++ ++ /* A buffer decode error means it was decoded, ++ * but part of the picture will have artifacts. ++ * Typical reason is a temporarily corrupted bitstream ++ */ ++ if (error) ++ dev_info(core->dev, "Buffer %d decode error\n", ++ buffer_index); ++ ++ if (pic_struct == PIC_TOP_BOT) ++ field = V4L2_FIELD_INTERLACED_TB; ++ else if (pic_struct == PIC_BOT_TOP) ++ field = V4L2_FIELD_INTERLACED_BT; ++ ++ amvdec_dst_buf_done_idx(sess, buffer_index, field); ++ ++ if (field != V4L2_FIELD_NONE && !h264->received_0) ++ amvdec_rm_first_ts(sess); ++ ++ h264->received_0 = 0; ++ } ++} ++ ++static irqreturn_t codec_h264_threaded_isr(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_h264 *h264 = sess->priv; ++ u32 status; ++ u32 size; ++ u8 cmd; ++ ++ status = amvdec_read_dos(core, AV_SCRATCH_0); ++ cmd = status & 0xff; ++ ++ switch (cmd) { ++ case CMD_SET_PARAM: ++ codec_h264_set_param(sess); ++ break; ++ case CMD_FRAMES_READY: ++ codec_h264_frames_ready(sess, status); ++ break; ++ case CMD_FATAL_ERROR: ++ dev_err(core->dev, "H.264 decoder fatal error\n"); ++ goto abort; ++ case CMD_BAD_WIDTH: ++ size = (amvdec_read_dos(core, AV_SCRATCH_1) + 1) * 16; ++ dev_err(core->dev, "Unsupported video width: %u\n", size); ++ goto abort; ++ case CMD_BAD_HEIGHT: ++ size = (amvdec_read_dos(core, AV_SCRATCH_1) + 1) * 16; ++ dev_err(core->dev, "Unsupported video height: %u\n", size); ++ goto abort; ++ case 0: ++ h264->received_0 = 1; ++ break; ++ case 9: /* Unused but not worth printing for */ ++ break; ++ default: ++ dev_info(core->dev, "Unexpected H264 ISR: %08X\n", cmd); ++ break; ++ } ++ ++ if (cmd && cmd != CMD_SET_PARAM) ++ amvdec_write_dos(core, AV_SCRATCH_0, 0); ++ ++ /* Decoder has some SEI data for us ; ignore */ ++ if (amvdec_read_dos(core, AV_SCRATCH_J) & SEI_DATA_READY) ++ amvdec_write_dos(core, AV_SCRATCH_J, 0); ++ ++ return IRQ_HANDLED; ++abort: ++ amvdec_abort(sess); ++ return IRQ_HANDLED; ++} ++ ++static irqreturn_t codec_h264_isr(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ ++ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1); ++ ++ return IRQ_WAKE_THREAD; ++} ++ ++struct amvdec_codec_ops codec_h264_ops = { ++ .start = codec_h264_start, ++ .stop = codec_h264_stop, ++ .load_extended_firmware = codec_h264_load_extended_firmware, ++ .isr = codec_h264_isr, ++ .threaded_isr = codec_h264_threaded_isr, ++ .can_recycle = codec_h264_can_recycle, ++ .recycle = codec_h264_recycle, ++}; +diff --git a/drivers/media/platform/meson/vdec/codec_h264.h b/drivers/media/platform/meson/vdec/codec_h264.h +new file mode 100644 +index 0000000000000..7a1597611faff +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/codec_h264.h +@@ -0,0 +1,13 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_CODEC_H264_H_ ++#define __MESON_VDEC_CODEC_H264_H_ ++ ++#include "vdec.h" ++ ++extern struct amvdec_codec_ops codec_h264_ops; ++ ++#endif +\ No newline at end of file +diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c +index 46eeb7426f547..9f7872feef74d 100644 +--- a/drivers/media/platform/meson/vdec/vdec_platform.c ++++ b/drivers/media/platform/meson/vdec/vdec_platform.c +@@ -9,9 +9,20 @@ + + #include "vdec_1.h" + #include "codec_mpeg12.h" ++#include "codec_h264.h" + + static const struct amvdec_format vdec_formats_gxbb[] = { + { ++ .pixfmt = V4L2_PIX_FMT_H264, ++ .min_buffers = 21, ++ .max_buffers = 24, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_h264_ops, ++ .firmware_path = "meson/gxbb/vh264_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_MPEG1, + .min_buffers = 8, + .max_buffers = 8, +@@ -36,6 +47,16 @@ static const struct amvdec_format vdec_formats_gxbb[] = { + + static const struct amvdec_format vdec_formats_gxl[] = { + { ++ .pixfmt = V4L2_PIX_FMT_H264, ++ .min_buffers = 21, ++ .max_buffers = 24, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_h264_ops, ++ .firmware_path = "meson/gxl/vh264_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_MPEG1, + .min_buffers = 8, + .max_buffers = 8, +@@ -60,6 +81,16 @@ static const struct amvdec_format vdec_formats_gxl[] = { + + static const struct amvdec_format vdec_formats_gxm[] = { + { ++ .pixfmt = V4L2_PIX_FMT_H264, ++ .min_buffers = 21, ++ .max_buffers = 24, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_h264_ops, ++ .firmware_path = "meson/gxm/vh264_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_MPEG1, + .min_buffers = 8, + .max_buffers = 8, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/010_linux-4.18.y-v4l-0010-media-meson-vdec-add_mpeg4_decoding_support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/010_linux-4.18.y-v4l-0010-media-meson-vdec-add_mpeg4_decoding_support.patch new file mode 100644 index 000000000..067f6d5ef --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/010_linux-4.18.y-v4l-0010-media-meson-vdec-add_mpeg4_decoding_support.patch @@ -0,0 +1,304 @@ +From 4e628eee07aed9d006a4c4b4a75d41f05924b4c8 Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Wed, 29 Aug 2018 16:01:55 +0200 +Subject: [PATCH] media: meson: vdec: add MPEG4 decoding support + +Add support for V4L2_PIX_FMT_MPEG4, V4L2_PIX_FMT_XVID and +V4L2_PIX_FMT_H.263 +--- + drivers/media/platform/meson/vdec/Makefile | 2 +- + .../media/platform/meson/vdec/codec_mpeg4.c | 131 ++++++++++++++++++ + .../media/platform/meson/vdec/codec_mpeg4.h | 13 ++ + .../media/platform/meson/vdec/vdec_platform.c | 91 ++++++++++++ + 4 files changed, 236 insertions(+), 1 deletion(-) + create mode 100644 drivers/media/platform/meson/vdec/codec_mpeg4.c + create mode 100644 drivers/media/platform/meson/vdec/codec_mpeg4.h + +diff --git a/drivers/media/platform/meson/vdec/Makefile b/drivers/media/platform/meson/vdec/Makefile +index 711d990c760e0..f167a61acb36d 100644 +--- a/drivers/media/platform/meson/vdec/Makefile ++++ b/drivers/media/platform/meson/vdec/Makefile +@@ -3,6 +3,6 @@ + + meson-vdec-objs = esparser.o vdec.o vdec_helpers.o vdec_platform.o + meson-vdec-objs += vdec_1.o +-meson-vdec-objs += codec_mpeg12.o codec_h264.o ++meson-vdec-objs += codec_mpeg12.o codec_h264.o codec_mpeg4.o + + obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o +diff --git a/drivers/media/platform/meson/vdec/codec_mpeg4.c b/drivers/media/platform/meson/vdec/codec_mpeg4.c +new file mode 100644 +index 0000000000000..c6db2640c91a7 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/codec_mpeg4.c +@@ -0,0 +1,131 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 Maxime Jourdan ++ */ ++ ++#include ++#include ++ ++#include "vdec_helpers.h" ++#include "dos_regs.h" ++ ++#define SIZE_WORKSPACE SZ_1M ++/* Offset added by firmware, to substract from workspace paddr */ ++#define DCAC_BUFF_START_IP 0x02b00000 ++ ++/* map FW registers to known MPEG4 functions */ ++#define MP4_PIC_RATIO AV_SCRATCH_5 ++#define MP4_ERR_COUNT AV_SCRATCH_6 ++#define MP4_PIC_WH AV_SCRATCH_7 ++#define MREG_BUFFERIN AV_SCRATCH_8 ++#define MREG_BUFFEROUT AV_SCRATCH_9 ++#define MP4_NOT_CODED_CNT AV_SCRATCH_A ++#define MP4_VOP_TIME_INC AV_SCRATCH_B ++#define MP4_OFFSET_REG AV_SCRATCH_C ++#define MP4_SYS_RATE AV_SCRATCH_E ++#define MEM_OFFSET_REG AV_SCRATCH_F ++#define MREG_FATAL_ERROR AV_SCRATCH_L ++ ++struct codec_mpeg4 { ++ /* Buffer for the MPEG4 Workspace */ ++ void *workspace_vaddr; ++ dma_addr_t workspace_paddr; ++}; ++ ++static int codec_mpeg4_can_recycle(struct amvdec_core *core) ++{ ++ return !amvdec_read_dos(core, MREG_BUFFERIN); ++} ++ ++static void codec_mpeg4_recycle(struct amvdec_core *core, u32 buf_idx) ++{ ++ amvdec_write_dos(core, MREG_BUFFERIN, ~(1 << buf_idx)); ++} ++ ++static int codec_mpeg4_start(struct amvdec_session *sess) { ++ struct amvdec_core *core = sess->core; ++ struct codec_mpeg4 *mpeg4 = sess->priv; ++ int ret; ++ ++ mpeg4 = kzalloc(sizeof(*mpeg4), GFP_KERNEL); ++ if (!mpeg4) ++ return -ENOMEM; ++ ++ sess->priv = mpeg4; ++ ++ /* Allocate some memory for the MPEG4 decoder's state */ ++ mpeg4->workspace_vaddr = dma_alloc_coherent(core->dev, SIZE_WORKSPACE, ++ &mpeg4->workspace_paddr, ++ GFP_KERNEL); ++ if (!mpeg4->workspace_vaddr) { ++ dev_err(core->dev, "Failed to request MPEG4 Workspace\n"); ++ ret = -ENOMEM; ++ goto free_mpeg4; ++ } ++ ++ amvdec_set_canvases(sess, (u32[]){ AV_SCRATCH_0, AV_SCRATCH_G, 0 }, ++ (u32[]){ 4, 4, 0 }); ++ ++ amvdec_write_dos(core, MEM_OFFSET_REG, ++ mpeg4->workspace_paddr - DCAC_BUFF_START_IP); ++ amvdec_write_dos(core, PSCALE_CTRL, 0); ++ amvdec_write_dos(core, MP4_NOT_CODED_CNT, 0); ++ amvdec_write_dos(core, MREG_BUFFERIN, 0); ++ amvdec_write_dos(core, MREG_BUFFEROUT, 0); ++ amvdec_write_dos(core, MREG_FATAL_ERROR, 0); ++ amvdec_write_dos(core, MDEC_PIC_DC_THRESH, 0x404038aa); ++ ++ return 0; ++ ++free_mpeg4: ++ kfree(mpeg4); ++ return ret; ++} ++ ++static int codec_mpeg4_stop(struct amvdec_session *sess) ++{ ++ struct codec_mpeg4 *mpeg4 = sess->priv; ++ struct amvdec_core *core = sess->core; ++ ++ if (mpeg4->workspace_vaddr) { ++ dma_free_coherent(core->dev, SIZE_WORKSPACE, ++ mpeg4->workspace_vaddr, ++ mpeg4->workspace_paddr); ++ mpeg4->workspace_vaddr = 0; ++ } ++ ++ return 0; ++} ++ ++static irqreturn_t codec_mpeg4_isr(struct amvdec_session *sess) ++{ ++ u32 reg; ++ u32 buffer_index; ++ struct amvdec_core *core = sess->core; ++ ++ reg = amvdec_read_dos(core, MREG_FATAL_ERROR); ++ if (reg == 1) ++ dev_err(core->dev, "mpeg4 fatal error\n"); ++ ++ reg = amvdec_read_dos(core, MREG_BUFFEROUT); ++ if (reg) { ++ sess->keyframe_found = 1; ++ amvdec_read_dos(core, MP4_NOT_CODED_CNT); ++ amvdec_read_dos(core, MP4_VOP_TIME_INC); ++ buffer_index = reg & 0x7; ++ amvdec_dst_buf_done_idx(sess, buffer_index, V4L2_FIELD_NONE); ++ amvdec_write_dos(core, MREG_BUFFEROUT, 0); ++ } ++ ++ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1); ++ ++ return IRQ_HANDLED; ++} ++ ++struct amvdec_codec_ops codec_mpeg4_ops = { ++ .start = codec_mpeg4_start, ++ .stop = codec_mpeg4_stop, ++ .isr = codec_mpeg4_isr, ++ .can_recycle = codec_mpeg4_can_recycle, ++ .recycle = codec_mpeg4_recycle, ++}; +diff --git a/drivers/media/platform/meson/vdec/codec_mpeg4.h b/drivers/media/platform/meson/vdec/codec_mpeg4.h +new file mode 100644 +index 0000000000000..b91b264131854 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/codec_mpeg4.h +@@ -0,0 +1,13 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_CODEC_MPEG4_H_ ++#define __MESON_VDEC_CODEC_MPEG4_H_ ++ ++#include "vdec.h" ++ ++extern struct amvdec_codec_ops codec_mpeg4_ops; ++ ++#endif +\ No newline at end of file +diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c +index 9f7872feef74d..135d7566d716a 100644 +--- a/drivers/media/platform/meson/vdec/vdec_platform.c ++++ b/drivers/media/platform/meson/vdec/vdec_platform.c +@@ -10,9 +10,40 @@ + #include "vdec_1.h" + #include "codec_mpeg12.h" + #include "codec_h264.h" ++#include "codec_mpeg4.h" + + static const struct amvdec_format vdec_formats_gxbb[] = { + { ++ .pixfmt = V4L2_PIX_FMT_MPEG4, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg4_ops, ++ .firmware_path = "meson/gx/vmpeg4_mc_5", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { ++ .pixfmt = V4L2_PIX_FMT_H263, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg4_ops, ++ .firmware_path = "meson/gx/h263_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { ++ .pixfmt = V4L2_PIX_FMT_XVID, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg4_ops, ++ .firmware_path = "meson/gx/vmpeg4_mc_5", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_H264, + .min_buffers = 21, + .max_buffers = 24, +@@ -47,6 +78,36 @@ static const struct amvdec_format vdec_formats_gxbb[] = { + + static const struct amvdec_format vdec_formats_gxl[] = { + { ++ .pixfmt = V4L2_PIX_FMT_MPEG4, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg4_ops, ++ .firmware_path = "meson/gx/vmpeg4_mc_5", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { ++ .pixfmt = V4L2_PIX_FMT_H263, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg4_ops, ++ .firmware_path = "meson/gx/h263_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { ++ .pixfmt = V4L2_PIX_FMT_XVID, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg4_ops, ++ .firmware_path = "meson/gx/vmpeg4_mc_5", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_H264, + .min_buffers = 21, + .max_buffers = 24, +@@ -81,6 +142,36 @@ static const struct amvdec_format vdec_formats_gxl[] = { + + static const struct amvdec_format vdec_formats_gxm[] = { + { ++ .pixfmt = V4L2_PIX_FMT_MPEG4, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg4_ops, ++ .firmware_path = "meson/gx/vmpeg4_mc_5", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { ++ .pixfmt = V4L2_PIX_FMT_H263, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg4_ops, ++ .firmware_path = "meson/gx/h263_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { ++ .pixfmt = V4L2_PIX_FMT_XVID, ++ .min_buffers = 8, ++ .max_buffers = 8, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mpeg4_ops, ++ .firmware_path = "meson/gx/vmpeg4_mc_5", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_H264, + .min_buffers = 21, + .max_buffers = 24, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/011_linux-4.18.y-v4l-0011-media-meson-vdec-add_mjpeg_decoding_support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/011_linux-4.18.y-v4l-0011-media-meson-vdec-add_mjpeg_decoding_support.patch new file mode 100644 index 000000000..64b92694e --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/011_linux-4.18.y-v4l-0011-media-meson-vdec-add_mjpeg_decoding_support.patch @@ -0,0 +1,249 @@ +From 920fefae2df25f616552de3c842965f671dd9bae Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Wed, 29 Aug 2018 16:05:28 +0200 +Subject: [PATCH] media: meson: vdec: add MJPEG decoding support + +Add support for V4L2_PIX_FMT_MJPEG +--- + drivers/media/platform/meson/vdec/Makefile | 2 +- + .../media/platform/meson/vdec/codec_mjpeg.c | 137 ++++++++++++++++++ + .../media/platform/meson/vdec/codec_mjpeg.h | 13 ++ + .../media/platform/meson/vdec/vdec_platform.c | 31 ++++ + 4 files changed, 182 insertions(+), 1 deletion(-) + create mode 100644 drivers/media/platform/meson/vdec/codec_mjpeg.c + create mode 100644 drivers/media/platform/meson/vdec/codec_mjpeg.h + +diff --git a/drivers/media/platform/meson/vdec/Makefile b/drivers/media/platform/meson/vdec/Makefile +index f167a61acb36d..20c23f9015ebd 100644 +--- a/drivers/media/platform/meson/vdec/Makefile ++++ b/drivers/media/platform/meson/vdec/Makefile +@@ -3,6 +3,6 @@ + + meson-vdec-objs = esparser.o vdec.o vdec_helpers.o vdec_platform.o + meson-vdec-objs += vdec_1.o +-meson-vdec-objs += codec_mpeg12.o codec_h264.o codec_mpeg4.o ++meson-vdec-objs += codec_mpeg12.o codec_h264.o codec_mpeg4.o codec_mjpeg.o + + obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o +diff --git a/drivers/media/platform/meson/vdec/codec_mjpeg.c b/drivers/media/platform/meson/vdec/codec_mjpeg.c +new file mode 100644 +index 0000000000000..f632c51c8fffe +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/codec_mjpeg.c +@@ -0,0 +1,137 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 Maxime Jourdan ++ */ ++ ++#include ++#include ++ ++#include "vdec_helpers.h" ++#include "dos_regs.h" ++ ++/* map FW registers to known MJPEG functions */ ++#define MREG_DECODE_PARAM AV_SCRATCH_2 ++#define MREG_TO_AMRISC AV_SCRATCH_8 ++#define MREG_FROM_AMRISC AV_SCRATCH_9 ++ ++static int codec_mjpeg_can_recycle(struct amvdec_core *core) ++{ ++ return !amvdec_read_dos(core, MREG_TO_AMRISC); ++} ++ ++static void codec_mjpeg_recycle(struct amvdec_core *core, u32 buf_idx) ++{ ++ amvdec_write_dos(core, MREG_TO_AMRISC, buf_idx + 1); ++} ++ ++/* 4 point triangle */ ++static const uint32_t filt_coef[] = { ++ 0x20402000, 0x20402000, 0x1f3f2101, 0x1f3f2101, ++ 0x1e3e2202, 0x1e3e2202, 0x1d3d2303, 0x1d3d2303, ++ 0x1c3c2404, 0x1c3c2404, 0x1b3b2505, 0x1b3b2505, ++ 0x1a3a2606, 0x1a3a2606, 0x19392707, 0x19392707, ++ 0x18382808, 0x18382808, 0x17372909, 0x17372909, ++ 0x16362a0a, 0x16362a0a, 0x15352b0b, 0x15352b0b, ++ 0x14342c0c, 0x14342c0c, 0x13332d0d, 0x13332d0d, ++ 0x12322e0e, 0x12322e0e, 0x11312f0f, 0x11312f0f, ++ 0x10303010 ++}; ++ ++static void codec_mjpeg_init_scaler(struct amvdec_core *core) ++{ ++ int i; ++ ++ /* PSCALE cbus bmem enable */ ++ amvdec_write_dos(core, PSCALE_CTRL, 0xc000); ++ ++ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 0); ++ for (i = 0; i < ARRAY_SIZE(filt_coef); ++i) { ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, filt_coef[i]); ++ } ++ ++ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 74); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x0008); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x60000000); ++ ++ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 82); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x0008); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x60000000); ++ ++ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 78); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x0008); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x60000000); ++ ++ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 86); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x0008); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x60000000); ++ ++ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 73); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x10000); ++ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 81); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x10000); ++ ++ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 77); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x10000); ++ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 85); ++ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x10000); ++ ++ amvdec_write_dos(core, PSCALE_RST, 0x7); ++ amvdec_write_dos(core, PSCALE_RST, 0); ++} ++ ++static int codec_mjpeg_start(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ ++ amvdec_write_dos(core, AV_SCRATCH_0, 12); ++ amvdec_write_dos(core, AV_SCRATCH_1, 0x031a); ++ ++ amvdec_set_canvases(sess, (u32[]){ AV_SCRATCH_4, 0 }, ++ (u32[]){ 4, 0 }); ++ codec_mjpeg_init_scaler(core); ++ ++ amvdec_write_dos(core, MREG_TO_AMRISC, 0); ++ amvdec_write_dos(core, MREG_FROM_AMRISC, 0); ++ amvdec_write_dos(core, MCPU_INTR_MSK, 0xffff); ++ amvdec_write_dos(core, MREG_DECODE_PARAM, ++ (sess->height << 4) | 0x8000); ++ amvdec_write_dos(core, VDEC_ASSIST_AMR1_INT8, 8); ++ ++ /* Intra-only codec */ ++ sess->keyframe_found = 1; ++ ++ return 0; ++} ++ ++static int codec_mjpeg_stop(struct amvdec_session *sess) ++{ ++ return 0; ++} ++ ++static irqreturn_t codec_mjpeg_isr(struct amvdec_session *sess) ++{ ++ u32 reg; ++ u32 buffer_index; ++ struct amvdec_core *core = sess->core; ++ ++ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1); ++ ++ reg = amvdec_read_dos(core, MREG_FROM_AMRISC); ++ if (!(reg & 0x7)) ++ return IRQ_HANDLED; ++ ++ buffer_index = ((reg & 0x7) - 1) & 3; ++ amvdec_dst_buf_done_idx(sess, buffer_index, V4L2_FIELD_NONE); ++ ++ amvdec_write_dos(core, MREG_FROM_AMRISC, 0); ++ return IRQ_HANDLED; ++} ++ ++struct amvdec_codec_ops codec_mjpeg_ops = { ++ .start = codec_mjpeg_start, ++ .stop = codec_mjpeg_stop, ++ .isr = codec_mjpeg_isr, ++ .can_recycle = codec_mjpeg_can_recycle, ++ .recycle = codec_mjpeg_recycle, ++}; +diff --git a/drivers/media/platform/meson/vdec/codec_mjpeg.h b/drivers/media/platform/meson/vdec/codec_mjpeg.h +new file mode 100644 +index 0000000000000..cc1cf731050d1 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/codec_mjpeg.h +@@ -0,0 +1,13 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_CODEC_MJPEG_H_ ++#define __MESON_VDEC_CODEC_MJPEG_H_ ++ ++#include "vdec.h" ++ ++extern struct amvdec_codec_ops codec_mjpeg_ops; ++ ++#endif +\ No newline at end of file +diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c +index 135d7566d716a..1181832b5fe1e 100644 +--- a/drivers/media/platform/meson/vdec/vdec_platform.c ++++ b/drivers/media/platform/meson/vdec/vdec_platform.c +@@ -11,9 +11,20 @@ + #include "codec_mpeg12.h" + #include "codec_h264.h" + #include "codec_mpeg4.h" ++#include "codec_mjpeg.h" + + static const struct amvdec_format vdec_formats_gxbb[] = { + { ++ .pixfmt = V4L2_PIX_FMT_MJPEG, ++ .min_buffers = 4, ++ .max_buffers = 4, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mjpeg_ops, ++ .firmware_path = "meson/gx/vmjpeg_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_MPEG4, + .min_buffers = 8, + .max_buffers = 8, +@@ -78,6 +89,16 @@ static const struct amvdec_format vdec_formats_gxbb[] = { + + static const struct amvdec_format vdec_formats_gxl[] = { + { ++ .pixfmt = V4L2_PIX_FMT_MJPEG, ++ .min_buffers = 4, ++ .max_buffers = 4, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mjpeg_ops, ++ .firmware_path = "meson/gx/vmjpeg_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_MPEG4, + .min_buffers = 8, + .max_buffers = 8, +@@ -142,6 +163,16 @@ static const struct amvdec_format vdec_formats_gxl[] = { + + static const struct amvdec_format vdec_formats_gxm[] = { + { ++ .pixfmt = V4L2_PIX_FMT_MJPEG, ++ .min_buffers = 4, ++ .max_buffers = 4, ++ .max_width = 1920, ++ .max_height = 1080, ++ .vdec_ops = &vdec_1_ops, ++ .codec_ops = &codec_mjpeg_ops, ++ .firmware_path = "meson/gx/vmjpeg_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_YUV420M, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_MPEG4, + .min_buffers = 8, + .max_buffers = 8, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/012_linux-4.18.y-v4l-0012-media-videodev2.h_add_amlogic_compressed_format.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/012_linux-4.18.y-v4l-0012-media-videodev2.h_add_amlogic_compressed_format.patch new file mode 100644 index 000000000..0ce67418c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/012_linux-4.18.y-v4l-0012-media-videodev2.h_add_amlogic_compressed_format.patch @@ -0,0 +1,26 @@ +From 4f40ed63fe484c78d02e3d0583a7f44f815980f3 Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Wed, 29 Aug 2018 18:36:09 +0200 +Subject: [PATCH] media: videodev2.h; Add Amlogic compressed format + +Add V4L2_PIX_FMT_AM21C which is a lossless, compressed framebuffer +format. + +It is used by the video decoding and the display IP on many Amlogic +SoCs. +--- + include/uapi/linux/videodev2.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h +index 600877be5c229..0568053e3aff9 100644 +--- a/include/uapi/linux/videodev2.h ++++ b/include/uapi/linux/videodev2.h +@@ -668,6 +668,7 @@ struct v4l2_pix_format { + #define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */ + #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */ + #define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */ ++#define V4L2_PIX_FMT_AM21C v4l2_fourcc('A', 'M', '2', '1') /* Amlogic compressed block mode */ + #define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */ + + /* 10bit raw bayer packed, 32 bytes for every 25 pixels, last LSB 6 bits unused */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/013_linux-4.18.y-v4l-0013-media-meson-vdec-add_v4l2_pix_fmt_am21c_support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/013_linux-4.18.y-v4l-0013-media-meson-vdec-add_v4l2_pix_fmt_am21c_support.patch new file mode 100644 index 000000000..bec43de46 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/013_linux-4.18.y-v4l-0013-media-meson-vdec-add_v4l2_pix_fmt_am21c_support.patch @@ -0,0 +1,103 @@ +From 88eb5d85f62d7a41559f3b9c15ec69b07c4ee005 Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Wed, 29 Aug 2018 18:46:31 +0200 +Subject: [PATCH] media: meson: vdec: add V4L2_PIX_FMT_AM21C support + +Support the lossless, framebuffer compression format from Amlogic. + +Signed-off-by: Maxime Jourdan +--- + drivers/media/platform/meson/vdec/vdec.c | 7 +++++ + .../media/platform/meson/vdec/vdec_helpers.c | 31 +++++++++++++++++++ + .../media/platform/meson/vdec/vdec_helpers.h | 4 +++ + 3 files changed, 42 insertions(+) + +diff --git a/drivers/media/platform/meson/vdec/vdec.c b/drivers/media/platform/meson/vdec/vdec.c +index 32e1e22282970..d5f8fed2886f5 100644 +--- a/drivers/media/platform/meson/vdec/vdec.c ++++ b/drivers/media/platform/meson/vdec/vdec.c +@@ -182,6 +182,9 @@ static int vdec_queue_setup(struct vb2_queue *q, + sizes[1] = amvdec_get_output_size(sess) / 4; + sizes[2] = amvdec_get_output_size(sess) / 4; + *num_planes = 3; ++ } else if (pixfmt_cap == V4L2_PIX_FMT_AM21C) { ++ sizes[0] = amvdec_am21c_size(sess->width, sess->height); ++ *num_planes = 1; + } + *num_buffers = min(max(*num_buffers, fmt_out->min_buffers), + fmt_out->max_buffers); +@@ -444,6 +447,10 @@ vdec_try_fmt_common(struct amvdec_session *sess, u32 size, + get_output_size(pixmp->width, pixmp->height) / 4; + pfmt[2].bytesperline = ALIGN(pixmp->width, 64) / 2; + pixmp->num_planes = 3; ++ } else if (pixmp->pixelformat == V4L2_PIX_FMT_AM21C) { ++ pfmt[0].sizeimage = ++ amvdec_am21c_size(pixmp->width, pixmp->height); ++ pfmt[0].bytesperline = 0; + } + } else { + return NULL; +diff --git a/drivers/media/platform/meson/vdec/vdec_helpers.c b/drivers/media/platform/meson/vdec/vdec_helpers.c +index 6151076297655..1c3a015eb3b33 100644 +--- a/drivers/media/platform/meson/vdec/vdec_helpers.c ++++ b/drivers/media/platform/meson/vdec/vdec_helpers.c +@@ -49,6 +49,33 @@ void amvdec_write_parser(struct amvdec_core *core, u32 reg, u32 val) + } + EXPORT_SYMBOL_GPL(amvdec_write_parser); + ++/* 4 KiB per 64x32 block */ ++u32 amvdec_am21c_body_size(u32 width, u32 height) ++{ ++ u32 width_64 = ALIGN(width, 64) / 64; ++ u32 height_32 = ALIGN(height, 32) / 32; ++ ++ return SZ_4K * width_64 * height_32; ++} ++EXPORT_SYMBOL_GPL(amvdec_am21c_body_size); ++ ++/* 32 bytes per 128x64 block */ ++u32 amvdec_am21c_head_size(u32 width, u32 height) ++{ ++ u32 width_128 = ALIGN(width, 128) / 128; ++ u32 height_64 = ALIGN(height, 64) / 64; ++ ++ return 32 * width_128 * height_64; ++} ++EXPORT_SYMBOL_GPL(amvdec_am21c_head_size); ++ ++u32 amvdec_am21c_size(u32 width, u32 height) ++{ ++ return ALIGN(amvdec_am21c_body_size(width, height) + ++ amvdec_am21c_head_size(width, height), SZ_64K); ++} ++EXPORT_SYMBOL_GPL(amvdec_am21c_size); ++ + static int canvas_alloc(struct amvdec_session *sess, u8 *canvas_id) + { + int ret; +@@ -228,6 +255,10 @@ void amvdec_dst_buf_done(struct amvdec_session *sess, + vbuf->vb2_buf.planes[1].bytesused = output_size / 4; + vbuf->vb2_buf.planes[2].bytesused = output_size / 4; + break; ++ case V4L2_PIX_FMT_AM21C: ++ vbuf->vb2_buf.planes[0].bytesused = ++ amvdec_am21c_size(sess->width, sess->height); ++ break; + } + vbuf->vb2_buf.timestamp = tmp->ts; + vbuf->sequence = sess->sequence_cap++; +diff --git a/drivers/media/platform/meson/vdec/vdec_helpers.h b/drivers/media/platform/meson/vdec/vdec_helpers.h +index 352c6b4c4b84c..d8a4a2c563af0 100644 +--- a/drivers/media/platform/meson/vdec/vdec_helpers.h ++++ b/drivers/media/platform/meson/vdec/vdec_helpers.h +@@ -26,6 +26,10 @@ void amvdec_clear_dos_bits(struct amvdec_core *core, u32 reg, u32 val); + u32 amvdec_read_parser(struct amvdec_core *core, u32 reg); + void amvdec_write_parser(struct amvdec_core *core, u32 reg, u32 val); + ++u32 amvdec_am21c_body_size(u32 width, u32 height); ++u32 amvdec_am21c_head_size(u32 width, u32 height); ++u32 amvdec_am21c_size(u32 width, u32 height); ++ + void amvdec_dst_buf_done_idx(struct amvdec_session *sess, u32 buf_idx, + u32 field); + void amvdec_dst_buf_done(struct amvdec_session *sess, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/014_linux-4.18.y-v4l-0014-media-meson-vdec-add_hevc_decoding_support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/014_linux-4.18.y-v4l-0014-media-meson-vdec-add_hevc_decoding_support.patch new file mode 100644 index 000000000..c178dad35 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/014_linux-4.18.y-v4l-0014-media-meson-vdec-add_hevc_decoding_support.patch @@ -0,0 +1,2617 @@ +From 3ff8b6ea023464f8de12835ed90211e3f66ed0f4 Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Wed, 29 Aug 2018 18:48:35 +0200 +Subject: [PATCH] media: meson: vdec: add HEVC decoding support + +Add support for V4L2_PIX_FMT_HEVC +--- + drivers/media/platform/meson/vdec/Makefile | 4 +- + .../media/platform/meson/vdec/codec_hevc.c | 1517 +++++++++++++++++ + .../media/platform/meson/vdec/codec_hevc.h | 13 + + drivers/media/platform/meson/vdec/hevc_regs.h | 742 ++++++++ + drivers/media/platform/meson/vdec/vdec_hevc.c | 191 +++ + drivers/media/platform/meson/vdec/vdec_hevc.h | 22 + + .../media/platform/meson/vdec/vdec_platform.c | 32 + + 7 files changed, 2519 insertions(+), 2 deletions(-) + create mode 100644 drivers/media/platform/meson/vdec/codec_hevc.c + create mode 100644 drivers/media/platform/meson/vdec/codec_hevc.h + create mode 100644 drivers/media/platform/meson/vdec/hevc_regs.h + create mode 100644 drivers/media/platform/meson/vdec/vdec_hevc.c + create mode 100644 drivers/media/platform/meson/vdec/vdec_hevc.h + +diff --git a/drivers/media/platform/meson/vdec/Makefile b/drivers/media/platform/meson/vdec/Makefile +index 20c23f9015ebd..f34b7a2961511 100644 +--- a/drivers/media/platform/meson/vdec/Makefile ++++ b/drivers/media/platform/meson/vdec/Makefile +@@ -2,7 +2,7 @@ + # Makefile for Amlogic meson video decoder driver + + meson-vdec-objs = esparser.o vdec.o vdec_helpers.o vdec_platform.o +-meson-vdec-objs += vdec_1.o +-meson-vdec-objs += codec_mpeg12.o codec_h264.o codec_mpeg4.o codec_mjpeg.o ++meson-vdec-objs += vdec_1.o vdec_hevc.o ++meson-vdec-objs += codec_mpeg12.o codec_h264.o codec_mpeg4.o codec_mjpeg.o codec_hevc.o + + obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o +diff --git a/drivers/media/platform/meson/vdec/codec_hevc.c b/drivers/media/platform/meson/vdec/codec_hevc.c +new file mode 100644 +index 0000000000000..5e69717ba0570 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/codec_hevc.c +@@ -0,0 +1,1517 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 Maxime Jourdan ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ */ ++ ++#include ++#include ++ ++#include "codec_hevc.h" ++#include "dos_regs.h" ++#include "hevc_regs.h" ++#include "vdec_helpers.h" ++ ++/* HEVC reg mapping */ ++#define HEVC_DEC_STATUS_REG HEVC_ASSIST_SCRATCH_0 ++ #define HEVC_ACTION_DONE 0xff ++#define HEVC_RPM_BUFFER HEVC_ASSIST_SCRATCH_1 ++#define HEVC_DECODE_INFO HEVC_ASSIST_SCRATCH_1 ++#define HEVC_SHORT_TERM_RPS HEVC_ASSIST_SCRATCH_2 ++#define HEVC_VPS_BUFFER HEVC_ASSIST_SCRATCH_3 ++#define HEVC_SPS_BUFFER HEVC_ASSIST_SCRATCH_4 ++#define HEVC_PPS_BUFFER HEVC_ASSIST_SCRATCH_5 ++#define HEVC_SAO_UP HEVC_ASSIST_SCRATCH_6 ++#define HEVC_STREAM_SWAP_BUFFER HEVC_ASSIST_SCRATCH_7 ++#define H265_MMU_MAP_BUFFER HEVC_ASSIST_SCRATCH_7 ++#define HEVC_STREAM_SWAP_BUFFER2 HEVC_ASSIST_SCRATCH_8 ++#define HEVC_sao_mem_unit HEVC_ASSIST_SCRATCH_9 ++#define HEVC_SAO_ABV HEVC_ASSIST_SCRATCH_A ++#define HEVC_sao_vb_size HEVC_ASSIST_SCRATCH_B ++#define HEVC_SAO_VB HEVC_ASSIST_SCRATCH_C ++#define HEVC_SCALELUT HEVC_ASSIST_SCRATCH_D ++#define HEVC_WAIT_FLAG HEVC_ASSIST_SCRATCH_E ++#define RPM_CMD_REG HEVC_ASSIST_SCRATCH_F ++#define LMEM_DUMP_ADR HEVC_ASSIST_SCRATCH_F ++#define DEBUG_REG1 HEVC_ASSIST_SCRATCH_G ++#define HEVC_DECODE_MODE2 HEVC_ASSIST_SCRATCH_H ++#define NAL_SEARCH_CTL HEVC_ASSIST_SCRATCH_I ++#define HEVC_DECODE_MODE HEVC_ASSIST_SCRATCH_J ++ #define DECODE_MODE_SINGLE 0 ++#define DECODE_STOP_POS HEVC_ASSIST_SCRATCH_K ++#define HEVC_AUX_ADR HEVC_ASSIST_SCRATCH_L ++#define HEVC_AUX_DATA_SIZE HEVC_ASSIST_SCRATCH_M ++#define HEVC_DECODE_SIZE HEVC_ASSIST_SCRATCH_N ++ ++#define HEVCD_MPP_ANC2AXI_TBL_DATA (0x3464 * 4) ++ ++#define HEVC_CM_BODY_START_ADDR (0x3626 * 4) ++#define HEVC_CM_BODY_LENGTH (0x3627 * 4) ++#define HEVC_CM_HEADER_LENGTH (0x3629 * 4) ++#define HEVC_CM_HEADER_OFFSET (0x362b * 4) ++ ++#define AMRISC_MAIN_REQ 0x04 ++ ++/* HEVC Constants */ ++#define MAX_REF_PIC_NUM 24 ++#define MAX_REF_ACTIVE 16 ++#define MPRED_MV_BUF_SIZE 0x120000 ++#define MAX_TILE_COL_NUM 10 ++#define MAX_TILE_ROW_NUM 20 ++#define MAX_SLICE_NUM 800 ++#define INVALID_POC 0x80000000 ++ ++/* HEVC Workspace layout */ ++#define IPP_OFFSET 0x00 ++#define SAO_ABV_OFFSET (IPP_OFFSET + 0x4000) ++#define SAO_VB_OFFSET (SAO_ABV_OFFSET + 0x30000) ++#define SH_TM_RPS_OFFSET (SAO_VB_OFFSET + 0x30000) ++#define VPS_OFFSET (SH_TM_RPS_OFFSET + 0x800) ++#define SPS_OFFSET (VPS_OFFSET + 0x800) ++#define PPS_OFFSET (SPS_OFFSET + 0x800) ++#define SAO_UP_OFFSET (PPS_OFFSET + 0x2000) ++#define SWAP_BUF_OFFSET (SAO_UP_OFFSET + 0x800) ++#define SWAP_BUF2_OFFSET (SWAP_BUF_OFFSET + 0x800) ++#define SCALELUT_OFFSET (SWAP_BUF2_OFFSET + 0x800) ++#define DBLK_PARA_OFFSET (SCALELUT_OFFSET + 0x8000) ++#define DBLK_DATA_OFFSET (DBLK_PARA_OFFSET + 0x20000) ++#define MMU_VBH_OFFSET (DBLK_DATA_OFFSET + 0x40000) ++#define MPRED_ABV_OFFSET (MMU_VBH_OFFSET + 0x5000) ++#define MPRED_MV_OFFSET (MPRED_ABV_OFFSET + 0x8000) ++#define RPM_OFFSET (MPRED_MV_OFFSET + MPRED_MV_BUF_SIZE * MAX_REF_PIC_NUM) ++#define LMEM_OFFSET (RPM_OFFSET + 0x100) ++ ++/* ISR decode status */ ++#define HEVC_DEC_IDLE 0x0 ++#define HEVC_NAL_UNIT_VPS 0x1 ++#define HEVC_NAL_UNIT_SPS 0x2 ++#define HEVC_NAL_UNIT_PPS 0x3 ++#define HEVC_NAL_UNIT_CODED_SLICE_SEGMENT 0x4 ++#define HEVC_CODED_SLICE_SEGMENT_DAT 0x5 ++#define HEVC_SLICE_DECODING 0x6 ++#define HEVC_NAL_UNIT_SEI 0x7 ++#define HEVC_SLICE_SEGMENT_DONE 0x8 ++#define HEVC_NAL_SEARCH_DONE 0x9 ++#define HEVC_DECPIC_DATA_DONE 0xa ++#define HEVC_DECPIC_DATA_ERROR 0xb ++#define HEVC_SEI_DAT 0xc ++#define HEVC_SEI_DAT_DONE 0xd ++ ++/* RPM misc_flag0 */ ++#define PCM_LOOP_FILTER_DISABLED_FLAG_BIT 0 ++#define PCM_ENABLE_FLAG_BIT 1 ++#define LOOP_FILER_ACROSS_TILES_ENABLED_FLAG_BIT 2 ++#define PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG_BIT 3 ++#define DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_BIT 4 ++#define PPS_DEBLOCKING_FILTER_DISABLED_FLAG_BIT 5 ++#define DEBLOCKING_FILTER_OVERRIDE_FLAG_BIT 6 ++#define SLICE_DEBLOCKING_FILTER_DISABLED_FLAG_BIT 7 ++#define SLICE_SAO_LUMA_FLAG_BIT 8 ++#define SLICE_SAO_CHROMA_FLAG_BIT 9 ++#define SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG_BIT 10 ++ ++/* Buffer sizes */ ++#define SIZE_WORKSPACE ALIGN(LMEM_OFFSET + 0xA00, 64 * SZ_1K) ++#define SIZE_AUX (SZ_1K * 16) ++#define SIZE_FRAME_MMU (0x1200 * 4) ++#define RPM_SIZE 0x80 ++#define RPS_USED_BIT 14 ++ ++#define PARSER_CMD_SKIP_CFG_0 0x0000090b ++#define PARSER_CMD_SKIP_CFG_1 0x1b14140f ++#define PARSER_CMD_SKIP_CFG_2 0x001b1910 ++static const u16 parser_cmd[] = { ++ 0x0401, 0x8401, 0x0800, 0x0402, ++ 0x9002, 0x1423, 0x8CC3, 0x1423, ++ 0x8804, 0x9825, 0x0800, 0x04FE, ++ 0x8406, 0x8411, 0x1800, 0x8408, ++ 0x8409, 0x8C2A, 0x9C2B, 0x1C00, ++ 0x840F, 0x8407, 0x8000, 0x8408, ++ 0x2000, 0xA800, 0x8410, 0x04DE, ++ 0x840C, 0x840D, 0xAC00, 0xA000, ++ 0x08C0, 0x08E0, 0xA40E, 0xFC00, ++ 0x7C00 ++}; ++ ++/* Data received from the HW in this form, do not rearrange */ ++union rpm_param { ++ struct { ++ u16 data[RPM_SIZE]; ++ } l; ++ struct { ++ u16 CUR_RPS[MAX_REF_ACTIVE]; ++ u16 num_ref_idx_l0_active; ++ u16 num_ref_idx_l1_active; ++ u16 slice_type; ++ u16 slice_temporal_mvp_enable_flag; ++ u16 dependent_slice_segment_flag; ++ u16 slice_segment_address; ++ u16 num_title_rows_minus1; ++ u16 pic_width_in_luma_samples; ++ u16 pic_height_in_luma_samples; ++ u16 log2_min_coding_block_size_minus3; ++ u16 log2_diff_max_min_coding_block_size; ++ u16 log2_max_pic_order_cnt_lsb_minus4; ++ u16 POClsb; ++ u16 collocated_from_l0_flag; ++ u16 collocated_ref_idx; ++ u16 log2_parallel_merge_level; ++ u16 five_minus_max_num_merge_cand; ++ u16 sps_num_reorder_pics_0; ++ u16 modification_flag; ++ u16 tiles_flags; ++ u16 num_tile_columns_minus1; ++ u16 num_tile_rows_minus1; ++ u16 tile_width[8]; ++ u16 tile_height[8]; ++ u16 misc_flag0; ++ u16 pps_beta_offset_div2; ++ u16 pps_tc_offset_div2; ++ u16 slice_beta_offset_div2; ++ u16 slice_tc_offset_div2; ++ u16 pps_cb_qp_offset; ++ u16 pps_cr_qp_offset; ++ u16 first_slice_segment_in_pic_flag; ++ u16 m_temporalId; ++ u16 m_nalUnitType; ++ u16 vui_num_units_in_tick_hi; ++ u16 vui_num_units_in_tick_lo; ++ u16 vui_time_scale_hi; ++ u16 vui_time_scale_lo; ++ u16 bit_depth; ++ u16 profile_etc; ++ u16 sei_frame_field_info; ++ u16 video_signal_type; ++ u16 modification_list[0x20]; ++ u16 conformance_window_flag; ++ u16 conf_win_left_offset; ++ u16 conf_win_right_offset; ++ u16 conf_win_top_offset; ++ u16 conf_win_bottom_offset; ++ u16 chroma_format_idc; ++ u16 color_description; ++ u16 aspect_ratio_idc; ++ u16 sar_width; ++ u16 sar_height; ++ } p; ++}; ++ ++enum nal_unit_type { ++ NAL_UNIT_CODED_SLICE_BLA = 16, ++ NAL_UNIT_CODED_SLICE_BLANT = 17, ++ NAL_UNIT_CODED_SLICE_BLA_N_LP = 18, ++ NAL_UNIT_CODED_SLICE_IDR = 19, ++ NAL_UNIT_CODED_SLICE_IDR_N_LP = 20, ++}; ++ ++enum slice_type { ++ B_SLICE = 0, ++ P_SLICE = 1, ++ I_SLICE = 2, ++}; ++ ++/* A frame being decoded */ ++struct hevc_frame { ++ struct list_head list; ++ struct vb2_v4l2_buffer *vbuf; ++ u32 poc; ++ ++ int referenced; ++ u32 num_reorder_pic; ++ ++ u32 cur_slice_idx; ++ u32 cur_slice_type; ++ ++ /* 2 lists (L0/L1) ; 800 slices ; 16 refs */ ++ u32 ref_poc_list[2][MAX_SLICE_NUM][MAX_REF_ACTIVE]; ++ u32 ref_num[2]; ++}; ++ ++struct hevc_tile { ++ int width; ++ int height; ++ int start_cu_x; ++ int start_cu_y; ++ ++ dma_addr_t sao_vb_start_addr; ++ dma_addr_t sao_abv_start_addr; ++}; ++ ++struct codec_hevc { ++ /* Current decoding status provided by the ISR */ ++ u32 dec_status; ++ ++ struct mutex lock; ++ ++ /* Buffer for the HEVC Workspace */ ++ void *workspace_vaddr; ++ dma_addr_t workspace_paddr; ++ ++ /* AUX buffer */ ++ void *aux_vaddr; ++ dma_addr_t aux_paddr; ++ ++ /* Frame MMU buffer (>= GXL) ; unused for now */ ++ void *frame_mmu_vaddr; ++ dma_addr_t frame_mmu_paddr; ++ ++ /* Contains many information parsed from the bitstream */ ++ union rpm_param rpm_param; ++ ++ /* Information computed from the RPM */ ++ u32 lcu_size; // Largest Coding Unit ++ u32 lcu_x_num; ++ u32 lcu_y_num; ++ u32 lcu_total; ++ ++ /* Current Frame being handled */ ++ struct hevc_frame *cur_frame; ++ u32 curr_poc; ++ /* Collocated Reference Picture */ ++ struct hevc_frame *col_frame; ++ u32 col_poc; ++ ++ /* All ref frames used by the HW at a given time */ ++ struct list_head ref_frames_list; ++ u32 frames_num; ++ ++ /* Resolution reported by the hardware */ ++ u32 width; ++ u32 height; ++ ++ u32 iPrevTid0POC; ++ u32 slice_segment_addr; ++ u32 slice_addr; ++ u32 ldc_flag; ++ ++ /* Tiles */ ++ u32 num_tile_col; ++ u32 num_tile_row; ++ struct hevc_tile m_tile[MAX_TILE_ROW_NUM][MAX_TILE_COL_NUM]; ++ u32 tile_start_lcu_x; ++ u32 tile_start_lcu_y; ++ u32 tile_width_lcu; ++ u32 tile_height_lcu; ++ ++ /* Whether we detected the bitstream as 10-bit */ ++ int is_10bit; ++ ++ /* Whether we already configured the buffer list in HW */ ++ int is_buflist_init; ++ ++ /* In case of downsampling (decoding with FBC but outputting in NV12M), ++ * we need to allocate additional buffers for FBC. ++ */ ++ void *fbc_buffer_vaddr[24]; ++ dma_addr_t fbc_buffer_paddr[24]; ++}; ++ ++/* Returns 1 if we must use framebuffer compression */ ++static int codec_hevc_use_fbc(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ return sess->pixfmt_cap == V4L2_PIX_FMT_AM21C || hevc->is_10bit; ++} ++ ++/* Returns 1 if we are decoding 10-bit but outputting 8-bit NV12 */ ++static int codec_hevc_use_downsample(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ return sess->pixfmt_cap == V4L2_PIX_FMT_NV12M && hevc->is_10bit; ++} ++ ++static u32 codec_hevc_num_pending_bufs(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc; ++ u32 ret; ++ ++ hevc = sess->priv; ++ if (!hevc) ++ return 0; ++ ++ mutex_lock(&hevc->lock); ++ ret = hevc->frames_num; ++ mutex_unlock(&hevc->lock); ++ ++ return ret; ++} ++ ++/* Update the L0 and L1 reference lists for a given frame */ ++static void codec_hevc_update_frame_refs(struct amvdec_session *sess, struct hevc_frame *frame) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ union rpm_param *params = &hevc->rpm_param; ++ int i; ++ int num_neg = 0; ++ int num_pos = 0; ++ int total_num; ++ int num_ref_idx_l0_active = ++ (params->p.num_ref_idx_l0_active > MAX_REF_ACTIVE) ? ++ MAX_REF_ACTIVE : params->p.num_ref_idx_l0_active; ++ int num_ref_idx_l1_active = ++ (params->p.num_ref_idx_l1_active > MAX_REF_ACTIVE) ? ++ MAX_REF_ACTIVE : params->p.num_ref_idx_l1_active; ++ int ref_picset0[MAX_REF_ACTIVE] = { 0 }; ++ int ref_picset1[MAX_REF_ACTIVE] = { 0 }; ++ ++ for (i = 0; i < MAX_REF_ACTIVE; i++) { ++ frame->ref_poc_list[0][frame->cur_slice_idx][i] = 0; ++ frame->ref_poc_list[1][frame->cur_slice_idx][i] = 0; ++ } ++ ++ for (i = 0; i < MAX_REF_ACTIVE; i++) { ++ u16 cur_rps = params->p.CUR_RPS[i]; ++ int delt = cur_rps & ((1 << (RPS_USED_BIT - 1)) - 1); ++ ++ if (cur_rps & 0x8000) ++ break; ++ ++ if (!((cur_rps >> RPS_USED_BIT) & 1)) ++ continue; ++ ++ if ((cur_rps >> (RPS_USED_BIT - 1)) & 1) { ++ ref_picset0[num_neg] = ++ frame->poc - ((1 << (RPS_USED_BIT - 1)) - delt); ++ num_neg++; ++ } else { ++ ref_picset1[num_pos] = frame->poc + delt; ++ num_pos++; ++ } ++ } ++ ++ total_num = num_neg + num_pos; ++ ++ if (total_num <= 0) ++ goto end; ++ ++ for (i = 0; i < num_ref_idx_l0_active; i++) { ++ int cidx; ++ if (params->p.modification_flag & 0x1) ++ cidx = params->p.modification_list[i]; ++ else ++ cidx = i % total_num; ++ ++ frame->ref_poc_list[0][frame->cur_slice_idx][i] = ++ cidx >= num_neg ? ref_picset1[cidx - num_neg] : ++ ref_picset0[cidx]; ++ } ++ ++ if (params->p.slice_type != B_SLICE) ++ goto end; ++ ++ if (params->p.modification_flag & 0x2) { ++ for (i = 0; i < num_ref_idx_l1_active; i++) { ++ int cidx; ++ if (params->p.modification_flag & 0x1) ++ cidx = ++ params->p.modification_list[num_ref_idx_l0_active + i]; ++ else ++ cidx = params->p.modification_list[i]; ++ ++ frame->ref_poc_list[1][frame->cur_slice_idx][i] = ++ (cidx >= num_pos) ? ref_picset0[cidx - num_pos] ++ : ref_picset1[cidx]; ++ } ++ } else { ++ for (i = 0; i < num_ref_idx_l1_active; i++) { ++ int cidx = i % total_num; ++ frame->ref_poc_list[1][frame->cur_slice_idx][i] = ++ cidx >= num_pos ? ref_picset0[cidx - num_pos] : ++ ref_picset1[cidx]; ++ } ++ } ++ ++end: ++ frame->ref_num[0] = num_ref_idx_l0_active; ++ frame->ref_num[1] = num_ref_idx_l1_active; ++ ++ dev_dbg(sess->core->dev, ++ "Frame %u; slice %u; slice_type %u; num_l0 %u; num_l1 %u\n", ++ frame->poc, frame->cur_slice_idx, params->p.slice_type, ++ frame->ref_num[0], frame->ref_num[1]); ++} ++ ++static void codec_hevc_update_ldc_flag(struct codec_hevc *hevc) ++{ ++ struct hevc_frame *frame = hevc->cur_frame; ++ u32 slice_type = frame->cur_slice_type; ++ int i; ++ ++ hevc->ldc_flag = 0; ++ ++ if (slice_type == I_SLICE) ++ return; ++ ++ hevc->ldc_flag = 1; ++ for (i = 0; (i < frame->ref_num[0]) && hevc->ldc_flag; i++) { ++ if (frame->ref_poc_list[0][frame->cur_slice_idx][i] > frame->poc) { ++ hevc->ldc_flag = 0; ++ break; ++ } ++ } ++ ++ if (slice_type == P_SLICE) ++ return; ++ ++ for (i = 0; (i < frame->ref_num[1]) && hevc->ldc_flag; i++) { ++ if (frame->ref_poc_list[1][frame->cur_slice_idx][i] > frame->poc) { ++ hevc->ldc_flag = 0; ++ break; ++ } ++ } ++} ++ ++/* Tag "old" frames that are no longer referenced */ ++static void codec_hevc_update_referenced(struct codec_hevc *hevc) ++{ ++ union rpm_param *param = &hevc->rpm_param; ++ struct hevc_frame *frame; ++ int i; ++ u32 curr_poc = hevc->curr_poc; ++ ++ list_for_each_entry(frame, &hevc->ref_frames_list, list) { ++ int is_referenced = 0; ++ u32 poc_tmp; ++ ++ if (!frame->referenced) ++ continue; ++ ++ for (i = 0; i < MAX_REF_ACTIVE; i++) { ++ int delt; ++ if (param->p.CUR_RPS[i] & 0x8000) ++ break; ++ ++ delt = param->p.CUR_RPS[i] & ((1 << (RPS_USED_BIT - 1)) - 1); ++ if (param->p.CUR_RPS[i] & (1 << (RPS_USED_BIT - 1))) { ++ poc_tmp = curr_poc - ((1 << (RPS_USED_BIT - 1)) - delt); ++ } else ++ poc_tmp = curr_poc + delt; ++ if (poc_tmp == frame->poc) { ++ is_referenced = 1; ++ break; ++ } ++ } ++ ++ frame->referenced = is_referenced; ++ } ++} ++ ++static struct hevc_frame *codec_hevc_get_lowest_poc_frame(struct codec_hevc *hevc) ++{ ++ struct hevc_frame *tmp, *ret = NULL; ++ u32 poc = INT_MAX; ++ ++ list_for_each_entry(tmp, &hevc->ref_frames_list, list) { ++ if (tmp->poc < poc) { ++ ret = tmp; ++ poc = tmp->poc; ++ } ++ } ++ ++ return ret; ++} ++ ++/* Try to output as many frames as possible */ ++static void codec_hevc_output_frames(struct amvdec_session *sess) ++{ ++ struct hevc_frame *tmp; ++ struct codec_hevc *hevc = sess->priv; ++ ++ while ((tmp = codec_hevc_get_lowest_poc_frame(hevc))) { ++ if (hevc->curr_poc && ++ (tmp->referenced || tmp->num_reorder_pic >= hevc->frames_num)) ++ break; ++ ++ dev_dbg(sess->core->dev, "DONE frame poc %u; vbuf %u\n", ++ tmp->poc, tmp->vbuf->vb2_buf.index); ++ amvdec_dst_buf_done(sess, tmp->vbuf, V4L2_FIELD_NONE); ++ list_del(&tmp->list); ++ kfree(tmp); ++ hevc->frames_num--; ++ } ++} ++ ++/* Configure frame buffer decompression */ ++static void codec_hevc_setup_decode_head(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ u32 body_size = amvdec_am21c_body_size(sess->width, sess->height); ++ u32 head_size = amvdec_am21c_head_size(sess->width, sess->height); ++ ++ if (!codec_hevc_use_fbc(sess)) { ++ /* Enable 2-plane reference read mode for MC */ ++ amvdec_write_dos(core, HEVCD_MPP_DECOMP_CTL1, BIT(31)); ++ return; ++ } ++ ++ amvdec_write_dos(core, HEVCD_MPP_DECOMP_CTL1, 0); ++ amvdec_write_dos(core, HEVCD_MPP_DECOMP_CTL2, body_size / 32); ++ amvdec_write_dos(core, HEVC_CM_BODY_LENGTH, body_size); ++ amvdec_write_dos(core, HEVC_CM_HEADER_OFFSET, body_size); ++ amvdec_write_dos(core, HEVC_CM_HEADER_LENGTH, head_size); ++} ++ ++static void codec_hevc_setup_buffers_gxbb(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_hevc *hevc = sess->priv; ++ struct v4l2_m2m_buffer *buf; ++ u32 buf_num = v4l2_m2m_num_dst_bufs_ready(sess->m2m_ctx); ++ dma_addr_t buf_y_paddr = 0; ++ dma_addr_t buf_uv_paddr = 0; ++ u32 idx = 0; ++ u32 val; ++ int i; ++ ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_CONF_ADDR, 0); ++ ++ v4l2_m2m_for_each_dst_buf(sess->m2m_ctx, buf) { ++ idx = buf->vb.vb2_buf.index; ++ ++ if (codec_hevc_use_downsample(sess)) ++ buf_y_paddr = hevc->fbc_buffer_paddr[idx]; ++ else ++ buf_y_paddr = vb2_dma_contig_plane_dma_addr(&buf->vb.vb2_buf, 0); ++ ++ if (codec_hevc_use_fbc(sess)) { ++ val = buf_y_paddr | (idx << 8) | 1; ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_CMD_ADDR, val); ++ } else if (sess->pixfmt_cap == V4L2_PIX_FMT_NV12M) { ++ buf_uv_paddr = vb2_dma_contig_plane_dma_addr(&buf->vb.vb2_buf, 1); ++ val = buf_y_paddr | ((idx * 2) << 8) | 1; ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_CMD_ADDR, val); ++ val = buf_uv_paddr | ((idx * 2 + 1) << 8) | 1; ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_CMD_ADDR, val); ++ } ++ } ++ ++ if (codec_hevc_use_fbc(sess)) ++ val = buf_y_paddr | (idx << 8) | 1; ++ else ++ val = buf_y_paddr | ((idx * 2) << 8) | 1; ++ ++ /* Fill the remaining unused slots with the last buffer's Y addr */ ++ for (i = buf_num; i < MAX_REF_PIC_NUM; ++i) ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_CMD_ADDR, val); ++ ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_CONF_ADDR, 1); ++ amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR, 1); ++ for (i = 0; i < 32; ++i) ++ amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_DATA_ADDR, 0); ++} ++ ++static void codec_hevc_setup_buffers_gxl(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_hevc *hevc = sess->priv; ++ struct v4l2_m2m_buffer *buf; ++ u32 buf_num = v4l2_m2m_num_dst_bufs_ready(sess->m2m_ctx); ++ dma_addr_t buf_y_paddr = 0; ++ dma_addr_t buf_uv_paddr = 0; ++ int i; ++ ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_CONF_ADDR, BIT(2) | BIT(1)); ++ ++ v4l2_m2m_for_each_dst_buf(sess->m2m_ctx, buf) { ++ u32 idx = buf->vb.vb2_buf.index; ++ ++ if (codec_hevc_use_downsample(sess)) ++ buf_y_paddr = hevc->fbc_buffer_paddr[idx]; ++ else ++ buf_y_paddr = vb2_dma_contig_plane_dma_addr(&buf->vb.vb2_buf, 0); ++ ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_DATA, buf_y_paddr >> 5); ++ if (!codec_hevc_use_fbc(sess)) { ++ buf_uv_paddr = vb2_dma_contig_plane_dma_addr(&buf->vb.vb2_buf, 1); ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_DATA, buf_uv_paddr >> 5); ++ } ++ } ++ ++ /* Fill the remaining unused slots with the last buffer's Y addr */ ++ for (i = buf_num; i < MAX_REF_PIC_NUM; ++i) { ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_DATA, buf_y_paddr >> 5); ++ if (!codec_hevc_use_fbc(sess)) ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_DATA, buf_uv_paddr >> 5); ++ } ++ ++ amvdec_write_dos(core, HEVCD_MPP_ANC2AXI_TBL_CONF_ADDR, 1); ++ amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR, 1); ++ for (i = 0; i < 32; ++i) ++ amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_DATA_ADDR, 0); ++} ++ ++static void codec_hevc_free_fbc_buffers(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ struct device *dev = sess->core->dev; ++ int i; ++ ++ for (i = 0; i < 24; ++i) ++ if (hevc->fbc_buffer_vaddr[i]) { ++ dma_free_coherent(dev, amvdec_am21c_size(sess->width, sess->height), hevc->fbc_buffer_vaddr[i], hevc->fbc_buffer_paddr[i]); ++ hevc->fbc_buffer_vaddr[i] = NULL; ++ } ++} ++ ++static int codec_hevc_alloc_fbc_buffers(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ struct device *dev = sess->core->dev; ++ struct v4l2_m2m_buffer *buf; ++ ++ v4l2_m2m_for_each_dst_buf(sess->m2m_ctx, buf) { ++ u32 idx = buf->vb.vb2_buf.index; ++ hevc->fbc_buffer_vaddr[idx] = dma_alloc_coherent(dev, amvdec_am21c_size(sess->width, sess->height), &hevc->fbc_buffer_paddr[idx], GFP_KERNEL); ++ if (!hevc->fbc_buffer_vaddr[idx]) { ++ dev_err(dev, "Couldn't allocate FBC buffer %u\n", idx); ++ codec_hevc_free_fbc_buffers(sess); ++ return -ENOMEM; ++ } ++ } ++ ++ return 0; ++} ++ ++static int codec_hevc_setup_buffers(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ int ret; ++ ++ if (codec_hevc_use_downsample(sess)) { ++ ret = codec_hevc_alloc_fbc_buffers(sess); ++ if (ret) ++ return ret; ++ } ++ ++ if (core->platform->revision == VDEC_REVISION_GXBB) ++ codec_hevc_setup_buffers_gxbb(sess); ++ else ++ codec_hevc_setup_buffers_gxl(sess); ++ ++ return 0; ++} ++ ++static int ++codec_hevc_setup_workspace(struct amvdec_core *core, struct codec_hevc *hevc) ++{ ++ dma_addr_t wkaddr; ++ ++ /* Allocate some memory for the HEVC decoder's state */ ++ hevc->workspace_vaddr = dma_alloc_coherent(core->dev, SIZE_WORKSPACE, &wkaddr, GFP_KERNEL); ++ if (!hevc->workspace_vaddr) { ++ dev_err(core->dev, "Failed to allocate HEVC Workspace\n"); ++ return -ENOMEM; ++ } ++ ++ hevc->workspace_paddr = wkaddr; ++ ++ amvdec_write_dos(core, HEVCD_IPP_LINEBUFF_BASE, wkaddr + IPP_OFFSET); ++ amvdec_write_dos(core, HEVC_RPM_BUFFER, wkaddr + RPM_OFFSET); ++ amvdec_write_dos(core, HEVC_SHORT_TERM_RPS, wkaddr + SH_TM_RPS_OFFSET); ++ amvdec_write_dos(core, HEVC_VPS_BUFFER, wkaddr + VPS_OFFSET); ++ amvdec_write_dos(core, HEVC_SPS_BUFFER, wkaddr + SPS_OFFSET); ++ amvdec_write_dos(core, HEVC_PPS_BUFFER, wkaddr + PPS_OFFSET); ++ amvdec_write_dos(core, HEVC_SAO_UP, wkaddr + SAO_UP_OFFSET); ++ ++ /* No MMU */ ++ amvdec_write_dos(core, HEVC_STREAM_SWAP_BUFFER, ++ wkaddr + SWAP_BUF_OFFSET); ++ amvdec_write_dos(core, HEVC_STREAM_SWAP_BUFFER2, ++ wkaddr + SWAP_BUF2_OFFSET); ++ amvdec_write_dos(core, HEVC_SCALELUT, wkaddr + SCALELUT_OFFSET); ++ amvdec_write_dos(core, HEVC_DBLK_CFG4, wkaddr + DBLK_PARA_OFFSET); ++ amvdec_write_dos(core, HEVC_DBLK_CFG5, wkaddr + DBLK_DATA_OFFSET); ++ ++ return 0; ++} ++ ++static int codec_hevc_start(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_hevc *hevc; ++ int ret; ++ int i; ++ ++ hevc = kzalloc(sizeof(*hevc), GFP_KERNEL); ++ if (!hevc) ++ return -ENOMEM; ++ ++ INIT_LIST_HEAD(&hevc->ref_frames_list); ++ hevc->curr_poc = INVALID_POC; ++ ++ ret = codec_hevc_setup_workspace(core, hevc); ++ if (ret) ++ goto free_hevc; ++ ++ amvdec_write_dos(core, HEVC_PARSER_VERSION, 0x5a5a55aa); ++ amvdec_write_dos(core, DOS_SW_RESET3, BIT(14)); ++ amvdec_write_dos(core, HEVC_CABAC_CONTROL, 0); ++ amvdec_write_dos(core, HEVC_PARSER_CORE_CONTROL, 0); ++ amvdec_write_dos(core, HEVC_STREAM_CONTROL, amvdec_read_dos(core, HEVC_STREAM_CONTROL) | 1); ++ amvdec_write_dos(core, HEVC_SHIFT_STARTCODE, 0x00000100); ++ amvdec_write_dos(core, HEVC_SHIFT_EMULATECODE, 0x00000300); ++ writel_relaxed((amvdec_read_dos(core, HEVC_PARSER_INT_CONTROL) & 0x03ffffff) | ++ (3 << 29) | (2 << 26) | BIT(24) | BIT(22) | BIT(7) | BIT(4) | 1, core->dos_base + HEVC_PARSER_INT_CONTROL); ++ amvdec_write_dos(core, HEVC_SHIFT_STATUS, amvdec_read_dos(core, HEVC_SHIFT_STATUS) | BIT(1) | 1); ++ amvdec_write_dos(core, HEVC_SHIFT_CONTROL, (3 << 6) | (2 << 4) | (2 << 1) | 1); ++ amvdec_write_dos(core, HEVC_CABAC_CONTROL, 1); ++ amvdec_write_dos(core, HEVC_PARSER_CORE_CONTROL, 1); ++ amvdec_write_dos(core, HEVC_DEC_STATUS_REG, 0); ++ ++ amvdec_write_dos(core, HEVC_IQIT_SCALELUT_WR_ADDR, 0); ++ for (i = 0; i < 1024; ++i) ++ amvdec_write_dos(core, HEVC_IQIT_SCALELUT_DATA, 0); ++ ++ amvdec_write_dos(core, HEVC_DECODE_SIZE, 0); ++ ++ amvdec_write_dos(core, HEVC_PARSER_CMD_WRITE, BIT(16)); ++ for (i = 0; i < ARRAY_SIZE(parser_cmd); ++i) ++ amvdec_write_dos(core, HEVC_PARSER_CMD_WRITE, parser_cmd[i]); ++ ++ amvdec_write_dos(core, HEVC_PARSER_CMD_SKIP_0, PARSER_CMD_SKIP_CFG_0); ++ amvdec_write_dos(core, HEVC_PARSER_CMD_SKIP_1, PARSER_CMD_SKIP_CFG_1); ++ amvdec_write_dos(core, HEVC_PARSER_CMD_SKIP_2, PARSER_CMD_SKIP_CFG_2); ++ amvdec_write_dos(core, HEVC_PARSER_IF_CONTROL, BIT(5) | BIT(2) | 1); ++ ++ amvdec_write_dos(core, HEVCD_IPP_TOP_CNTL, 1); ++ amvdec_write_dos(core, HEVCD_IPP_TOP_CNTL, BIT(1)); ++ ++ amvdec_write_dos(core, HEVC_WAIT_FLAG, 1); ++ ++ /* clear mailbox interrupt */ ++ amvdec_write_dos(core, HEVC_ASSIST_MBOX1_CLR_REG, 1); ++ /* enable mailbox interrupt */ ++ amvdec_write_dos(core, HEVC_ASSIST_MBOX1_MASK, 1); ++ /* disable PSCALE for hardware sharing */ ++ amvdec_write_dos(core, HEVC_PSCALE_CTRL, 0); ++ /* Let the uCode do all the parsing */ ++ amvdec_write_dos(core, NAL_SEARCH_CTL, 0xc); ++ ++ amvdec_write_dos(core, DECODE_STOP_POS, 0); ++ amvdec_write_dos(core, HEVC_DECODE_MODE, DECODE_MODE_SINGLE); ++ amvdec_write_dos(core, HEVC_DECODE_MODE2, 0); ++ ++ /* AUX buffers */ ++ hevc->aux_vaddr = dma_alloc_coherent(core->dev, SIZE_AUX, &hevc->aux_paddr, GFP_KERNEL); ++ if (!hevc->aux_vaddr) { ++ dev_err(core->dev, "Failed to request HEVC AUX\n"); ++ ret = -ENOMEM; ++ goto free_hevc; ++ } ++ ++ amvdec_write_dos(core, HEVC_AUX_ADR, hevc->aux_paddr); ++ amvdec_write_dos(core, HEVC_AUX_DATA_SIZE, (((SIZE_AUX) >> 4) << 16) | 0); ++ mutex_init(&hevc->lock); ++ sess->priv = hevc; ++ ++ return 0; ++ ++free_hevc: ++ kfree(hevc); ++ return ret; ++} ++ ++static void codec_hevc_flush_output(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ struct hevc_frame *tmp; ++ ++ while (!list_empty(&hevc->ref_frames_list)) { ++ tmp = codec_hevc_get_lowest_poc_frame(hevc); ++ amvdec_dst_buf_done(sess, tmp->vbuf, V4L2_FIELD_NONE); ++ list_del(&tmp->list); ++ kfree(tmp); ++ hevc->frames_num--; ++ } ++} ++ ++static int codec_hevc_stop(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ struct amvdec_core *core = sess->core; ++ ++ mutex_lock(&hevc->lock); ++ codec_hevc_flush_output(sess); ++ ++ if (hevc->workspace_vaddr) ++ dma_free_coherent(core->dev, SIZE_WORKSPACE, ++ hevc->workspace_vaddr, ++ hevc->workspace_paddr); ++ ++ if (hevc->frame_mmu_vaddr) ++ dma_free_coherent(core->dev, SIZE_FRAME_MMU, ++ hevc->frame_mmu_vaddr, ++ hevc->frame_mmu_paddr); ++ ++ if (hevc->aux_vaddr) ++ dma_free_coherent(core->dev, SIZE_AUX, ++ hevc->aux_vaddr, hevc->aux_paddr); ++ ++ codec_hevc_free_fbc_buffers(sess); ++ mutex_unlock(&hevc->lock); ++ mutex_destroy(&hevc->lock); ++ ++ return 0; ++} ++ ++static void codec_hevc_update_tiles(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ struct amvdec_core *core = sess->core; ++ u32 sao_mem_unit = (hevc->lcu_size == 16 ? 9 : hevc->lcu_size == 32 ? 14 : 24) << 4; ++ u32 pic_height_cu = (hevc->height + hevc->lcu_size - 1) / hevc->lcu_size; ++ u32 pic_width_cu = (hevc->width + hevc->lcu_size - 1) / hevc->lcu_size; ++ u32 sao_vb_size = (sao_mem_unit + (2 << 4)) * pic_height_cu; ++ u32 tiles_flags = hevc->rpm_param.p.tiles_flags; ++ ++ if (tiles_flags & 1) { ++ /* TODO; */ ++ dev_err(core->dev, "Bitstream uses tiles, NotImplemented!\n"); ++ return; ++ } ++ ++ hevc->num_tile_col = 1; ++ hevc->num_tile_row = 1; ++ hevc->m_tile[0][0].width = pic_width_cu; ++ hevc->m_tile[0][0].height = pic_height_cu; ++ hevc->m_tile[0][0].start_cu_x = 0; ++ hevc->m_tile[0][0].start_cu_y = 0; ++ hevc->m_tile[0][0].sao_vb_start_addr = hevc->workspace_paddr + SAO_VB_OFFSET; ++ hevc->m_tile[0][0].sao_abv_start_addr = hevc->workspace_paddr + SAO_ABV_OFFSET; ++ ++ hevc->tile_start_lcu_x = 0; ++ hevc->tile_start_lcu_y = 0; ++ hevc->tile_width_lcu = pic_width_cu; ++ hevc->tile_height_lcu = pic_height_cu; ++ ++ amvdec_write_dos(core, HEVC_sao_mem_unit, sao_mem_unit); ++ amvdec_write_dos(core, HEVC_SAO_ABV, hevc->workspace_paddr + SAO_ABV_OFFSET); ++ amvdec_write_dos(core, HEVC_sao_vb_size, sao_vb_size); ++ amvdec_write_dos(core, HEVC_SAO_VB, hevc->workspace_paddr + SAO_VB_OFFSET); ++} ++ ++static struct hevc_frame * codec_hevc_get_frame_by_poc(struct codec_hevc *hevc, u32 poc) ++{ ++ struct hevc_frame *tmp; ++ ++ list_for_each_entry(tmp, &hevc->ref_frames_list, list) { ++ if (tmp->poc == poc) ++ return tmp; ++ } ++ ++ return NULL; ++} ++ ++static struct hevc_frame * codec_hevc_prepare_new_frame(struct amvdec_session *sess) ++{ ++ struct vb2_v4l2_buffer *vbuf; ++ struct hevc_frame *new_frame = NULL; ++ struct codec_hevc *hevc = sess->priv; ++ union rpm_param *params = &hevc->rpm_param; ++ ++ new_frame = kzalloc(sizeof(*new_frame), GFP_KERNEL); ++ if (!new_frame) ++ return NULL; ++ ++ vbuf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx); ++ if (!vbuf) { ++ dev_err(sess->core->dev, "No dst buffer available\n"); ++ return NULL; ++ } ++ ++ new_frame->vbuf = vbuf; ++ new_frame->referenced = 1; ++ new_frame->poc = hevc->curr_poc; ++ new_frame->cur_slice_type = params->p.slice_type; ++ new_frame->num_reorder_pic = params->p.sps_num_reorder_pics_0; ++ ++ list_add_tail(&new_frame->list, &hevc->ref_frames_list); ++ hevc->frames_num++; ++ ++ return new_frame; ++} ++ ++static void codec_hevc_set_sao(struct amvdec_session *sess, struct hevc_frame *frame) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_hevc *hevc = sess->priv; ++ union rpm_param *param = &hevc->rpm_param; ++ dma_addr_t buf_y_paddr; ++ dma_addr_t buf_u_v_paddr; ++ u32 misc_flag0 = param->p.misc_flag0; ++ u32 slice_deblocking_filter_disabled_flag; ++ u32 val, val_2; ++ ++ val = (amvdec_read_dos(core, HEVC_SAO_CTRL0) & ~0xf) | ++ ilog2(hevc->lcu_size); ++ amvdec_write_dos(core, HEVC_SAO_CTRL0, val); ++ ++ amvdec_write_dos(core, HEVC_SAO_PIC_SIZE, ++ hevc->width | (hevc->height << 16)); ++ amvdec_write_dos(core, HEVC_SAO_PIC_SIZE_LCU, ++ (hevc->lcu_x_num - 1) | (hevc->lcu_y_num - 1) << 16); ++ ++ if (codec_hevc_use_downsample(sess)) ++ buf_y_paddr = ++ hevc->fbc_buffer_paddr[frame->vbuf->vb2_buf.index]; ++ else ++ buf_y_paddr = ++ vb2_dma_contig_plane_dma_addr(&frame->vbuf->vb2_buf, 0); ++ ++ if (codec_hevc_use_fbc(sess)) { ++ val = amvdec_read_dos(core, HEVC_SAO_CTRL5) & ~0xff0200; ++ amvdec_write_dos(core, HEVC_SAO_CTRL5, val); ++ amvdec_write_dos(core, HEVC_CM_BODY_START_ADDR, buf_y_paddr); ++ } ++ ++ if (sess->pixfmt_cap == V4L2_PIX_FMT_NV12M) { ++ buf_y_paddr = ++ vb2_dma_contig_plane_dma_addr(&frame->vbuf->vb2_buf, 0); ++ buf_u_v_paddr = ++ vb2_dma_contig_plane_dma_addr(&frame->vbuf->vb2_buf, 1); ++ amvdec_write_dos(core, HEVC_SAO_Y_START_ADDR, buf_y_paddr); ++ amvdec_write_dos(core, HEVC_SAO_C_START_ADDR, buf_u_v_paddr); ++ amvdec_write_dos(core, HEVC_SAO_Y_WPTR, buf_y_paddr); ++ amvdec_write_dos(core, HEVC_SAO_C_WPTR, buf_u_v_paddr); ++ } ++ ++ amvdec_write_dos(core, HEVC_SAO_Y_LENGTH, amvdec_get_output_size(sess)); ++ amvdec_write_dos(core, HEVC_SAO_C_LENGTH, ++ (amvdec_get_output_size(sess) / 2)); ++ ++ if (frame->cur_slice_idx == 0) { ++ amvdec_write_dos(core, HEVC_DBLK_CFG2, hevc->width | (hevc->height << 16)); ++ ++ val = 0; ++ if ((misc_flag0 >> PCM_ENABLE_FLAG_BIT) & 0x1) ++ val |= ((misc_flag0 >> PCM_LOOP_FILTER_DISABLED_FLAG_BIT) & 0x1) << 3; ++ ++ val |= (param->p.pps_cb_qp_offset & 0x1f) << 4; ++ val |= (param->p.pps_cr_qp_offset & 0x1f) << 9; ++ val |= (hevc->lcu_size == 64) ? 0 : ((hevc->lcu_size == 32) ? 1 : 2); ++ amvdec_write_dos(core, HEVC_DBLK_CFG1, val); ++ } ++ ++ val = amvdec_read_dos(core, HEVC_SAO_CTRL1) & ~0x3ff3; ++ val |= 0xff0; /* Set endianness for 2-bytes swaps (nv12) */ ++ if (!codec_hevc_use_fbc(sess)) ++ val |= BIT(0); /* disable cm compression */ ++ else if (sess->pixfmt_cap == V4L2_PIX_FMT_AM21C) ++ val |= BIT(1); /* Disable double write */ ++ ++ amvdec_write_dos(core, HEVC_SAO_CTRL1, val); ++ ++ if (!codec_hevc_use_fbc(sess)) { ++ /* no downscale for NV12 */ ++ val = amvdec_read_dos(core, HEVC_SAO_CTRL5) & ~0xff0000; ++ amvdec_write_dos(core, HEVC_SAO_CTRL5, val); ++ } ++ ++ val = amvdec_read_dos(core, HEVCD_IPP_AXIIF_CONFIG) & ~0x30; ++ val |= 0xf; ++ amvdec_write_dos(core, HEVCD_IPP_AXIIF_CONFIG, val); ++ ++ val = 0; ++ val_2 = amvdec_read_dos(core, HEVC_SAO_CTRL0); ++ val_2 &= (~0x300); ++ ++ /* TODO: handle tiles here if enabled */ ++ slice_deblocking_filter_disabled_flag = (misc_flag0 >> ++ SLICE_DEBLOCKING_FILTER_DISABLED_FLAG_BIT) & 0x1; ++ if ((misc_flag0 & (1 << DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_BIT)) ++ && (misc_flag0 & (1 << DEBLOCKING_FILTER_OVERRIDE_FLAG_BIT))) { ++ val |= slice_deblocking_filter_disabled_flag << 2; ++ ++ if (!slice_deblocking_filter_disabled_flag) { ++ val |= (param->p.slice_beta_offset_div2 & 0xf) << 3; ++ val |= (param->p.slice_tc_offset_div2 & 0xf) << 7; ++ } ++ } else { ++ val |= ++ ((misc_flag0 >> ++ PPS_DEBLOCKING_FILTER_DISABLED_FLAG_BIT) & 0x1) << 2; ++ ++ if (((misc_flag0 >> PPS_DEBLOCKING_FILTER_DISABLED_FLAG_BIT) & ++ 0x1) == 0) { ++ val |= (param->p.pps_beta_offset_div2 & 0xf) << 3; ++ val |= (param->p.pps_tc_offset_div2 & 0xf) << 7; ++ } ++ } ++ if ((misc_flag0 & (1 << PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG_BIT)) ++ && ((misc_flag0 & (1 << SLICE_SAO_LUMA_FLAG_BIT)) ++ || (misc_flag0 & (1 << SLICE_SAO_CHROMA_FLAG_BIT)) ++ || (!slice_deblocking_filter_disabled_flag))) { ++ val |= ++ ((misc_flag0 >> ++ SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG_BIT) ++ & 0x1) << 1; ++ val_2 |= ++ ((misc_flag0 >> ++ SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG_BIT) ++ & 0x1) << 9; ++ } else { ++ val |= ++ ((misc_flag0 >> ++ PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG_BIT) ++ & 0x1) << 1; ++ val_2 |= ++ ((misc_flag0 >> ++ PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG_BIT) ++ & 0x1) << 9; ++ } ++ ++ amvdec_write_dos(core, HEVC_DBLK_CFG9, val); ++ amvdec_write_dos(core, HEVC_SAO_CTRL0, val_2); ++} ++ ++static dma_addr_t codec_hevc_get_frame_mv_paddr(struct codec_hevc *hevc, struct hevc_frame *frame) ++{ ++ return hevc->workspace_paddr + MPRED_MV_OFFSET + ++ (frame->vbuf->vb2_buf.index * MPRED_MV_BUF_SIZE); ++} ++ ++/* Update the necessary information for motion prediction with the current slice */ ++static void codec_hevc_set_mpred(struct amvdec_session *sess, struct hevc_frame *frame, struct hevc_frame *col_frame) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_hevc *hevc = sess->priv; ++ union rpm_param *param = &hevc->rpm_param; ++ u32 *ref_num = frame->ref_num; ++ u32 *ref_poc_l0 = frame->ref_poc_list[0][frame->cur_slice_idx]; ++ u32 *ref_poc_l1 = frame->ref_poc_list[1][frame->cur_slice_idx]; ++ u32 lcu_size_log2 = ilog2(hevc->lcu_size); ++ u32 mv_mem_unit = lcu_size_log2 == 6 ? 0x200 : lcu_size_log2 == 5 ? 0x80 : 0x20; ++ u32 slice_segment_address = param->p.slice_segment_address; ++ u32 max_num_merge_cand = 5 - param->p.five_minus_max_num_merge_cand; ++ u32 plevel = param->p.log2_parallel_merge_level; ++ u32 col_from_l0_flag = param->p.collocated_from_l0_flag; ++ u32 tmvp_flag = param->p.slice_temporal_mvp_enable_flag; ++ u32 is_next_slice_segment = param->p.dependent_slice_segment_flag ? 1 : 0; ++ u32 slice_type = param->p.slice_type; ++ dma_addr_t col_mv_rd_start_addr, col_mv_rd_ptr, col_mv_rd_end_addr; ++ dma_addr_t mpred_mv_wr_ptr; ++ u32 mv_rd_en = 1; ++ u32 val; ++ int i; ++ ++ val = amvdec_read_dos(core, HEVC_MPRED_CURR_LCU); ++ ++ col_mv_rd_start_addr = codec_hevc_get_frame_mv_paddr(hevc, col_frame); ++ mpred_mv_wr_ptr = codec_hevc_get_frame_mv_paddr(hevc, frame) + (hevc->slice_addr * mv_mem_unit); ++ col_mv_rd_ptr = col_mv_rd_start_addr + (hevc->slice_addr * mv_mem_unit); ++ col_mv_rd_end_addr = col_mv_rd_start_addr + ((hevc->lcu_x_num * hevc->lcu_y_num) * mv_mem_unit); ++ ++ amvdec_write_dos(core, HEVC_MPRED_MV_WR_START_ADDR, codec_hevc_get_frame_mv_paddr(hevc, frame)); ++ amvdec_write_dos(core, HEVC_MPRED_MV_RD_START_ADDR, col_mv_rd_start_addr); ++ ++ val = ((hevc->lcu_x_num - hevc->tile_width_lcu) * mv_mem_unit); ++ amvdec_write_dos(core, HEVC_MPRED_MV_WR_ROW_JUMP, val); ++ amvdec_write_dos(core, HEVC_MPRED_MV_RD_ROW_JUMP, val); ++ ++ if (slice_type == I_SLICE) ++ mv_rd_en = 0; ++ ++ val = slice_type | ++ BIT(3) | /* new tile */ ++ is_next_slice_segment << 4 | ++ tmvp_flag << 5 | ++ hevc->ldc_flag << 6 | ++ col_from_l0_flag << 7 | ++ BIT(9) | ++ BIT(10) | ++ mv_rd_en << 11 | ++ BIT(13) | ++ lcu_size_log2 << 16 | ++ 3 << 20 | plevel << 24; ++ ++ if (slice_segment_address == 0) ++ val |= BIT(2); /* new frame */ ++ ++ amvdec_write_dos(core, HEVC_MPRED_CTRL0, val); ++ ++ val = max_num_merge_cand | 2 << 4 | 3 << 8 | 5 << 12 | 36 << 16; ++ amvdec_write_dos(core, HEVC_MPRED_CTRL1, val); ++ ++ amvdec_write_dos(core, HEVC_MPRED_PIC_SIZE, hevc->width | (hevc->height << 16)); ++ ++ val = ((hevc->lcu_x_num - 1) | (hevc->lcu_y_num - 1) << 16); ++ amvdec_write_dos(core, HEVC_MPRED_PIC_SIZE_LCU, val); ++ val = (hevc->tile_start_lcu_x | hevc->tile_start_lcu_y << 16); ++ amvdec_write_dos(core, HEVC_MPRED_TILE_START, val); ++ val = (hevc->tile_width_lcu | hevc->tile_height_lcu << 16); ++ amvdec_write_dos(core, HEVC_MPRED_TILE_SIZE_LCU, val); ++ ++ amvdec_write_dos(core, HEVC_MPRED_REF_NUM, (ref_num[1] << 8) | ref_num[0]); ++ amvdec_write_dos(core, HEVC_MPRED_REF_EN_L0, (1 << ref_num[0]) - 1); ++ amvdec_write_dos(core, HEVC_MPRED_REF_EN_L1, (1 << ref_num[1]) - 1); ++ ++ amvdec_write_dos(core, HEVC_MPRED_CUR_POC, hevc->curr_poc); ++ amvdec_write_dos(core, HEVC_MPRED_COL_POC, hevc->col_poc); ++ ++ for (i = 0; i < MAX_REF_ACTIVE; ++i) { ++ amvdec_write_dos(core, HEVC_MPRED_L0_REF00_POC + i * 4, ref_poc_l0[i]); ++ amvdec_write_dos(core, HEVC_MPRED_L1_REF00_POC + i * 4, ref_poc_l1[i]); ++ } ++ ++ if (slice_segment_address == 0) { ++ amvdec_write_dos(core, HEVC_MPRED_ABV_START_ADDR, ++ hevc->workspace_paddr + MPRED_ABV_OFFSET); ++ amvdec_write_dos(core, HEVC_MPRED_MV_WPTR, mpred_mv_wr_ptr); ++ amvdec_write_dos(core, HEVC_MPRED_MV_RPTR, col_mv_rd_start_addr); ++ } else { ++ amvdec_write_dos(core, HEVC_MPRED_MV_RPTR, col_mv_rd_ptr); ++ } ++ ++ amvdec_write_dos(core, HEVC_MPRED_MV_RD_END_ADDR, col_mv_rd_end_addr); ++} ++ ++/* motion compensation reference cache controller */ ++static void codec_hevc_set_mcrcc(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_hevc *hevc = sess->priv; ++ u32 val, val_2; ++ int l0_cnt = 0; ++ int l1_cnt = 0x7fff; ++ ++ if (!codec_hevc_use_fbc(sess)) { ++ l0_cnt = hevc->cur_frame->ref_num[0]; ++ l1_cnt = hevc->cur_frame->ref_num[1]; ++ } ++ ++ /* reset mcrcc */ ++ amvdec_write_dos(core, HEVCD_MCRCC_CTL1, 0x02); ++ ++ if (hevc->cur_frame->cur_slice_type == I_SLICE) { ++ /* remove reset -- disables clock */ ++ amvdec_write_dos(core, HEVCD_MCRCC_CTL1, 0); ++ return; ++ } ++ ++ if (hevc->cur_frame->cur_slice_type == P_SLICE) { ++ amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR, BIT(1)); ++ val = amvdec_read_dos(core, HEVCD_MPP_ANC_CANVAS_DATA_ADDR); ++ val &= 0xffff; ++ val |= (val << 16); ++ amvdec_write_dos(core, HEVCD_MCRCC_CTL2, val); ++ ++ if (l0_cnt == 1) { ++ amvdec_write_dos(core, HEVCD_MCRCC_CTL3, val); ++ } else { ++ val = amvdec_read_dos(core, HEVCD_MPP_ANC_CANVAS_DATA_ADDR); ++ val &= 0xffff; ++ val |= (val << 16); ++ amvdec_write_dos(core, HEVCD_MCRCC_CTL3, val); ++ } ++ } else { /* B_SLICE */ ++ amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR, 0); ++ val = amvdec_read_dos(core, HEVCD_MPP_ANC_CANVAS_DATA_ADDR); ++ val &= 0xffff; ++ val |= (val << 16); ++ amvdec_write_dos(core, HEVCD_MCRCC_CTL2, val); ++ ++ amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR, (16 << 8) | BIT(1)); ++ val_2 = amvdec_read_dos(core, HEVCD_MPP_ANC_CANVAS_DATA_ADDR); ++ val_2 &= 0xffff; ++ val_2 |= (val_2 << 16); ++ if (val == val_2 && l1_cnt > 1) { ++ val_2 = amvdec_read_dos(core, HEVCD_MPP_ANC_CANVAS_DATA_ADDR); ++ val_2 &= 0xffff; ++ val_2 |= (val_2 << 16); ++ } ++ amvdec_write_dos(core, HEVCD_MCRCC_CTL3, val); ++ } ++ ++ /* enable mcrcc progressive-mode */ ++ amvdec_write_dos(core, HEVCD_MCRCC_CTL1, 0xff0); ++} ++ ++static void codec_hevc_set_ref_list(struct amvdec_session *sess, ++ u32 ref_num, u32 *ref_poc_list) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ struct hevc_frame *ref_frame; ++ struct amvdec_core *core = sess->core; ++ int i; ++ u32 buf_id_y; ++ u32 buf_id_uv; ++ ++ for (i = 0; i < ref_num; i++) { ++ ref_frame = codec_hevc_get_frame_by_poc(hevc, ref_poc_list[i]); ++ ++ if (!ref_frame) { ++ dev_warn(core->dev, "Couldn't find ref. frame %u\n", ++ ref_poc_list[i]); ++ continue; ++ } ++ ++ if (codec_hevc_use_fbc(sess)) { ++ buf_id_y = buf_id_uv = ref_frame->vbuf->vb2_buf.index; ++ } else { ++ buf_id_y = ref_frame->vbuf->vb2_buf.index * 2; ++ buf_id_uv = buf_id_y + 1; ++ } ++ ++ writel_relaxed((buf_id_uv << 16) | ++ (buf_id_uv << 8) | ++ buf_id_y, ++ core->dos_base + HEVCD_MPP_ANC_CANVAS_DATA_ADDR); ++ } ++} ++ ++static void codec_hevc_set_mc(struct amvdec_session *sess, struct hevc_frame *frame) ++{ ++ struct amvdec_core *core = sess->core; ++ ++ if (frame->cur_slice_type == I_SLICE) ++ return; ++ ++ amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR, 1); ++ codec_hevc_set_ref_list(sess, frame->ref_num[0], ++ frame->ref_poc_list[0][frame->cur_slice_idx]); ++ ++ if (frame->cur_slice_type == P_SLICE) ++ return; ++ ++ amvdec_write_dos(core, HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR, (16 << 8) | 1); ++ codec_hevc_set_ref_list(sess, frame->ref_num[1], ++ frame->ref_poc_list[1][frame->cur_slice_idx]); ++} ++ ++static void codec_hevc_update_col_frame(struct codec_hevc *hevc) ++{ ++ struct hevc_frame *cur_frame = hevc->cur_frame; ++ union rpm_param *param = &hevc->rpm_param; ++ u32 list_no = 0; ++ u32 col_ref = param->p.collocated_ref_idx; ++ u32 col_from_l0 = param->p.collocated_from_l0_flag; ++ ++ if (cur_frame->cur_slice_type == B_SLICE) ++ list_no = 1 - col_from_l0; ++ ++ if (col_ref >= cur_frame->ref_num[list_no]) ++ hevc->col_poc = INVALID_POC; ++ else ++ hevc->col_poc = cur_frame->ref_poc_list[list_no][cur_frame->cur_slice_idx][col_ref]; ++ ++ if (cur_frame->cur_slice_type == I_SLICE) ++ goto end; ++ ++ if (hevc->col_poc != INVALID_POC) ++ hevc->col_frame = codec_hevc_get_frame_by_poc(hevc, hevc->col_poc); ++ else ++ hevc->col_frame = hevc->cur_frame; ++ ++end: ++ if (!hevc->col_frame) ++ hevc->col_frame = hevc->cur_frame; ++} ++ ++static void codec_hevc_update_pocs(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ union rpm_param *param = &hevc->rpm_param; ++ u32 nal_unit_type = param->p.m_nalUnitType; ++ u32 temporal_id = param->p.m_temporalId & 0x7; ++ int max_poc_lsb = 1 << (param->p.log2_max_pic_order_cnt_lsb_minus4 + 4); ++ int prev_poc_lsb; ++ int prev_poc_msb; ++ int poc_msb; ++ int poc_lsb = param->p.POClsb; ++ ++ if (nal_unit_type == NAL_UNIT_CODED_SLICE_IDR || ++ nal_unit_type == NAL_UNIT_CODED_SLICE_IDR_N_LP) { ++ hevc->curr_poc = 0; ++ if ((temporal_id - 1) == 0) ++ hevc->iPrevTid0POC = hevc->curr_poc; ++ ++ return; ++ } ++ ++ prev_poc_lsb = hevc->iPrevTid0POC % max_poc_lsb; ++ prev_poc_msb = hevc->iPrevTid0POC - prev_poc_lsb; ++ ++ if ((poc_lsb < prev_poc_lsb) && ((prev_poc_lsb - poc_lsb) >= (max_poc_lsb / 2))) ++ poc_msb = prev_poc_msb + max_poc_lsb; ++ else if ((poc_lsb > prev_poc_lsb) && ((poc_lsb - prev_poc_lsb) > (max_poc_lsb / 2))) ++ poc_msb = prev_poc_msb - max_poc_lsb; ++ else ++ poc_msb = prev_poc_msb; ++ ++ if (nal_unit_type == NAL_UNIT_CODED_SLICE_BLA || ++ nal_unit_type == NAL_UNIT_CODED_SLICE_BLANT || ++ nal_unit_type == NAL_UNIT_CODED_SLICE_BLA_N_LP) ++ poc_msb = 0; ++ ++ hevc->curr_poc = (poc_msb + poc_lsb); ++ if ((temporal_id - 1) == 0) ++ hevc->iPrevTid0POC = hevc->curr_poc; ++} ++ ++static void codec_hevc_process_segment_header(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ union rpm_param *param = &hevc->rpm_param; ++ ++ if (param->p.first_slice_segment_in_pic_flag == 0) { ++ hevc->slice_segment_addr = param->p.slice_segment_address; ++ if (!param->p.dependent_slice_segment_flag) ++ hevc->slice_addr = hevc->slice_segment_addr; ++ } else { ++ hevc->slice_segment_addr = 0; ++ hevc->slice_addr = 0; ++ } ++ ++ codec_hevc_update_pocs(sess); ++} ++ ++static int codec_hevc_process_segment(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ struct amvdec_core *core = sess->core; ++ union rpm_param *param = &hevc->rpm_param; ++ u32 slice_segment_address = param->p.slice_segment_address; ++ ++ /* First slice: new frame */ ++ if (slice_segment_address == 0) { ++ codec_hevc_update_referenced(hevc); ++ codec_hevc_output_frames(sess); ++ ++ hevc->cur_frame = codec_hevc_prepare_new_frame(sess); ++ if (!hevc->cur_frame) ++ return -1; ++ ++ codec_hevc_update_tiles(sess); ++ } else { ++ hevc->cur_frame->cur_slice_idx++; ++ } ++ ++ codec_hevc_update_frame_refs(sess, hevc->cur_frame); ++ codec_hevc_update_col_frame(hevc); ++ codec_hevc_update_ldc_flag(hevc); ++ codec_hevc_set_mc(sess, hevc->cur_frame); ++ codec_hevc_set_mcrcc(sess); ++ codec_hevc_set_mpred(sess, hevc->cur_frame, hevc->col_frame); ++ codec_hevc_set_sao(sess, hevc->cur_frame); ++ ++ amvdec_write_dos(core, HEVC_WAIT_FLAG, amvdec_read_dos(core, HEVC_WAIT_FLAG) | 2); ++ amvdec_write_dos(core, HEVC_DEC_STATUS_REG, HEVC_CODED_SLICE_SEGMENT_DAT); ++ ++ /* Interrupt the firmware's processor */ ++ amvdec_write_dos(core, HEVC_MCPU_INTR_REQ, AMRISC_MAIN_REQ); ++ ++ return 0; ++} ++ ++static int codec_hevc_process_rpm(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_hevc *hevc = sess->priv; ++ union rpm_param *rpm_param = &hevc->rpm_param; ++ u32 lcu_x_num_div, lcu_y_num_div; ++ ++ if (rpm_param->p.bit_depth) ++ hevc->is_10bit = 1; ++ ++ hevc->width = rpm_param->p.pic_width_in_luma_samples; ++ hevc->height = rpm_param->p.pic_height_in_luma_samples; ++ ++ /*if (hevc->width != sess->width || ++ hevc->height != sess->height) { ++ dev_err(sess->core->dev_dec, ++ "Size mismatch: bitstream %ux%u ; driver %ux%u\n", ++ hevc->width, hevc->height, ++ sess->width, sess->height); ++ return -EINVAL; ++ }*/ ++ ++ hevc->lcu_size = 1 << (rpm_param->p.log2_min_coding_block_size_minus3 + ++ 3 + rpm_param->p.log2_diff_max_min_coding_block_size); ++ ++ lcu_x_num_div = (hevc->width / hevc->lcu_size); ++ lcu_y_num_div = (hevc->height / hevc->lcu_size); ++ hevc->lcu_x_num = ((hevc->width % hevc->lcu_size) == 0) ? lcu_x_num_div : lcu_x_num_div + 1; ++ hevc->lcu_y_num = ((hevc->height % hevc->lcu_size) == 0) ? lcu_y_num_div : lcu_y_num_div + 1; ++ hevc->lcu_total = hevc->lcu_x_num * hevc->lcu_y_num; ++ ++ dev_dbg(core->dev, "lcu_size = %u ; lcu_x_num = %u; lcu_y_num = %u", ++ hevc->lcu_size, hevc->lcu_x_num, hevc->lcu_y_num); ++ ++ return 0; ++} ++ ++/* The RPM section within the workspace contains ++ * many information regarding the parsed bitstream ++ */ ++static void codec_hevc_fetch_rpm(struct amvdec_session *sess) ++{ ++ struct codec_hevc *hevc = sess->priv; ++ u16 *rpm_vaddr = hevc->workspace_vaddr + RPM_OFFSET; ++ int i, j; ++ ++ for (i = 0; i < RPM_SIZE; i += 4) ++ for (j = 0; j < 4; j++) ++ hevc->rpm_param.l.data[i + j] = rpm_vaddr[i + 3 - j]; ++} ++ ++static irqreturn_t codec_hevc_threaded_isr(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_hevc *hevc; ++ ++ hevc = sess->priv; ++ if (!hevc) ++ return IRQ_HANDLED; ++ ++ mutex_lock(&hevc->lock); ++ if (hevc->dec_status != HEVC_SLICE_SEGMENT_DONE) { ++ dev_err(core->dev_dec, "Unrecognized dec_status: %08X\n", ++ hevc->dec_status); ++ amvdec_abort(sess); ++ goto unlock; ++ } ++ ++ sess->keyframe_found = 1; ++ codec_hevc_fetch_rpm(sess); ++ if (codec_hevc_process_rpm(sess)) { ++ amvdec_abort(sess); ++ goto unlock; ++ } ++ ++ if (!hevc->is_buflist_init) { ++ if (codec_hevc_setup_buffers(sess)) { ++ amvdec_abort(sess); ++ goto unlock; ++ } ++ ++ codec_hevc_setup_decode_head(sess); ++ hevc->is_buflist_init = 1; ++ } ++ ++ codec_hevc_process_segment_header(sess); ++ if (codec_hevc_process_segment(sess)) ++ amvdec_abort(sess); ++ ++unlock: ++ mutex_unlock(&hevc->lock); ++ return IRQ_HANDLED; ++} ++ ++static irqreturn_t codec_hevc_isr(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct codec_hevc *hevc = sess->priv; ++ ++ hevc->dec_status = amvdec_read_dos(core, HEVC_DEC_STATUS_REG); ++ ++ return IRQ_WAKE_THREAD; ++} ++ ++struct amvdec_codec_ops codec_hevc_ops = { ++ .start = codec_hevc_start, ++ .stop = codec_hevc_stop, ++ .isr = codec_hevc_isr, ++ .threaded_isr = codec_hevc_threaded_isr, ++ .num_pending_bufs = codec_hevc_num_pending_bufs, ++ .drain = codec_hevc_flush_output, ++}; +diff --git a/drivers/media/platform/meson/vdec/codec_hevc.h b/drivers/media/platform/meson/vdec/codec_hevc.h +new file mode 100644 +index 0000000000000..5017e874e3ddc +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/codec_hevc.h +@@ -0,0 +1,13 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2018 Maxime Jourdan ++ */ ++ ++#ifndef __MESON_VDEC_CODEC_HEVC_H_ ++#define __MESON_VDEC_CODEC_HEVC_H_ ++ ++#include "vdec.h" ++ ++extern struct amvdec_codec_ops codec_hevc_ops; ++ ++#endif +\ No newline at end of file +diff --git a/drivers/media/platform/meson/vdec/hevc_regs.h b/drivers/media/platform/meson/vdec/hevc_regs.h +new file mode 100644 +index 0000000000000..ae9b38e463f7e +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/hevc_regs.h +@@ -0,0 +1,742 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ */ ++ ++#ifndef HEVC_REGS_HEADERS__ ++#define HEVC_REGS_HEADERS__ ++/*add from M8M2*/ ++#define HEVC_ASSIST_AFIFO_CTRL (0x3001 * 4) ++#define HEVC_ASSIST_AFIFO_CTRL1 (0x3002 * 4) ++#define HEVC_ASSIST_GCLK_EN (0x3003 * 4) ++#define HEVC_ASSIST_SW_RESET (0x3004 * 4) ++#define HEVC_ASSIST_AMR1_INT0 (0x3025 * 4) ++#define HEVC_ASSIST_AMR1_INT1 (0x3026 * 4) ++#define HEVC_ASSIST_AMR1_INT2 (0x3027 * 4) ++#define HEVC_ASSIST_AMR1_INT3 (0x3028 * 4) ++#define HEVC_ASSIST_AMR1_INT4 (0x3029 * 4) ++#define HEVC_ASSIST_AMR1_INT5 (0x302a * 4) ++#define HEVC_ASSIST_AMR1_INT6 (0x302b * 4) ++#define HEVC_ASSIST_AMR1_INT7 (0x302c * 4) ++#define HEVC_ASSIST_AMR1_INT8 (0x302d * 4) ++#define HEVC_ASSIST_AMR1_INT9 (0x302e * 4) ++#define HEVC_ASSIST_AMR1_INTA (0x302f * 4) ++#define HEVC_ASSIST_AMR1_INTB (0x3030 * 4) ++#define HEVC_ASSIST_AMR1_INTC (0x3031 * 4) ++#define HEVC_ASSIST_AMR1_INTD (0x3032 * 4) ++#define HEVC_ASSIST_AMR1_INTE (0x3033 * 4) ++#define HEVC_ASSIST_AMR1_INTF (0x3034 * 4) ++#define HEVC_ASSIST_AMR2_INT0 (0x3035 * 4) ++#define HEVC_ASSIST_AMR2_INT1 (0x3036 * 4) ++#define HEVC_ASSIST_AMR2_INT2 (0x3037 * 4) ++#define HEVC_ASSIST_AMR2_INT3 (0x3038 * 4) ++#define HEVC_ASSIST_AMR2_INT4 (0x3039 * 4) ++#define HEVC_ASSIST_AMR2_INT5 (0x303a * 4) ++#define HEVC_ASSIST_AMR2_INT6 (0x303b * 4) ++#define HEVC_ASSIST_AMR2_INT7 (0x303c * 4) ++#define HEVC_ASSIST_AMR2_INT8 (0x303d * 4) ++#define HEVC_ASSIST_AMR2_INT9 (0x303e * 4) ++#define HEVC_ASSIST_AMR2_INTA (0x303f * 4) ++#define HEVC_ASSIST_AMR2_INTB (0x3040 * 4) ++#define HEVC_ASSIST_AMR2_INTC (0x3041 * 4) ++#define HEVC_ASSIST_AMR2_INTD (0x3042 * 4) ++#define HEVC_ASSIST_AMR2_INTE (0x3043 * 4) ++#define HEVC_ASSIST_AMR2_INTF (0x3044 * 4) ++#define HEVC_ASSIST_MBX_SSEL (0x3045 * 4) ++#define HEVC_ASSIST_TIMER0_LO (0x3060 * 4) ++#define HEVC_ASSIST_TIMER0_HI (0x3061 * 4) ++#define HEVC_ASSIST_TIMER1_LO (0x3062 * 4) ++#define HEVC_ASSIST_TIMER1_HI (0x3063 * 4) ++#define HEVC_ASSIST_DMA_INT (0x3064 * 4) ++#define HEVC_ASSIST_DMA_INT_MSK (0x3065 * 4) ++#define HEVC_ASSIST_DMA_INT2 (0x3066 * 4) ++#define HEVC_ASSIST_DMA_INT_MSK2 (0x3067 * 4) ++#define HEVC_ASSIST_MBOX0_IRQ_REG (0x3070 * 4) ++#define HEVC_ASSIST_MBOX0_CLR_REG (0x3071 * 4) ++#define HEVC_ASSIST_MBOX0_MASK (0x3072 * 4) ++#define HEVC_ASSIST_MBOX0_FIQ_SEL (0x3073 * 4) ++#define HEVC_ASSIST_MBOX1_IRQ_REG (0x3074 * 4) ++#define HEVC_ASSIST_MBOX1_CLR_REG (0x3075 * 4) ++#define HEVC_ASSIST_MBOX1_MASK (0x3076 * 4) ++#define HEVC_ASSIST_MBOX1_FIQ_SEL (0x3077 * 4) ++#define HEVC_ASSIST_MBOX2_IRQ_REG (0x3078 * 4) ++#define HEVC_ASSIST_MBOX2_CLR_REG (0x3079 * 4) ++#define HEVC_ASSIST_MBOX2_MASK (0x307a * 4) ++#define HEVC_ASSIST_MBOX2_FIQ_SEL (0x307b * 4) ++#define HEVC_ASSIST_AXI_CTRL (0x307c * 4) ++#define HEVC_ASSIST_AXI_STATUS (0x307d * 4) ++#define HEVC_ASSIST_SCRATCH_0 (0x30c0 * 4) ++#define HEVC_ASSIST_SCRATCH_1 (0x30c1 * 4) ++#define HEVC_ASSIST_SCRATCH_2 (0x30c2 * 4) ++#define HEVC_ASSIST_SCRATCH_3 (0x30c3 * 4) ++#define HEVC_ASSIST_SCRATCH_4 (0x30c4 * 4) ++#define HEVC_ASSIST_SCRATCH_5 (0x30c5 * 4) ++#define HEVC_ASSIST_SCRATCH_6 (0x30c6 * 4) ++#define HEVC_ASSIST_SCRATCH_7 (0x30c7 * 4) ++#define HEVC_ASSIST_SCRATCH_8 (0x30c8 * 4) ++#define HEVC_ASSIST_SCRATCH_9 (0x30c9 * 4) ++#define HEVC_ASSIST_SCRATCH_A (0x30ca * 4) ++#define HEVC_ASSIST_SCRATCH_B (0x30cb * 4) ++#define HEVC_ASSIST_SCRATCH_C (0x30cc * 4) ++#define HEVC_ASSIST_SCRATCH_D (0x30cd * 4) ++#define HEVC_ASSIST_SCRATCH_E (0x30ce * 4) ++#define HEVC_ASSIST_SCRATCH_F (0x30cf * 4) ++#define HEVC_ASSIST_SCRATCH_G (0x30d0 * 4) ++#define HEVC_ASSIST_SCRATCH_H (0x30d1 * 4) ++#define HEVC_ASSIST_SCRATCH_I (0x30d2 * 4) ++#define HEVC_ASSIST_SCRATCH_J (0x30d3 * 4) ++#define HEVC_ASSIST_SCRATCH_K (0x30d4 * 4) ++#define HEVC_ASSIST_SCRATCH_L (0x30d5 * 4) ++#define HEVC_ASSIST_SCRATCH_M (0x30d6 * 4) ++#define HEVC_ASSIST_SCRATCH_N (0x30d7 * 4) ++#define HEVC_PARSER_VERSION (0x3100 * 4) ++#define HEVC_STREAM_CONTROL (0x3101 * 4) ++#define HEVC_STREAM_START_ADDR (0x3102 * 4) ++#define HEVC_STREAM_END_ADDR (0x3103 * 4) ++#define HEVC_STREAM_WR_PTR (0x3104 * 4) ++#define HEVC_STREAM_RD_PTR (0x3105 * 4) ++#define HEVC_STREAM_LEVEL (0x3106 * 4) ++#define HEVC_STREAM_FIFO_CTL (0x3107 * 4) ++#define HEVC_SHIFT_CONTROL (0x3108 * 4) ++#define HEVC_SHIFT_STARTCODE (0x3109 * 4) ++#define HEVC_SHIFT_EMULATECODE (0x310a * 4) ++#define HEVC_SHIFT_STATUS (0x310b * 4) ++#define HEVC_SHIFTED_DATA (0x310c * 4) ++#define HEVC_SHIFT_BYTE_COUNT (0x310d * 4) ++#define HEVC_SHIFT_COMMAND (0x310e * 4) ++#define HEVC_ELEMENT_RESULT (0x310f * 4) ++#define HEVC_CABAC_CONTROL (0x3110 * 4) ++#define HEVC_PARSER_SLICE_INFO (0x3111 * 4) ++#define HEVC_PARSER_CMD_WRITE (0x3112 * 4) ++#define HEVC_PARSER_CORE_CONTROL (0x3113 * 4) ++#define HEVC_PARSER_CMD_FETCH (0x3114 * 4) ++#define HEVC_PARSER_CMD_STATUS (0x3115 * 4) ++#define HEVC_PARSER_LCU_INFO (0x3116 * 4) ++#define HEVC_PARSER_HEADER_INFO (0x3117 * 4) ++#define HEVC_PARSER_RESULT_0 (0x3118 * 4) ++#define HEVC_PARSER_RESULT_1 (0x3119 * 4) ++#define HEVC_PARSER_RESULT_2 (0x311a * 4) ++#define HEVC_PARSER_RESULT_3 (0x311b * 4) ++#define HEVC_CABAC_TOP_INFO (0x311c * 4) ++#define HEVC_CABAC_TOP_INFO_2 (0x311d * 4) ++#define HEVC_CABAC_LEFT_INFO (0x311e * 4) ++#define HEVC_CABAC_LEFT_INFO_2 (0x311f * 4) ++#define HEVC_PARSER_INT_CONTROL (0x3120 * 4) ++#define HEVC_PARSER_INT_STATUS (0x3121 * 4) ++#define HEVC_PARSER_IF_CONTROL (0x3122 * 4) ++#define HEVC_PARSER_PICTURE_SIZE (0x3123 * 4) ++#define HEVC_PARSER_LCU_START (0x3124 * 4) ++#define HEVC_PARSER_HEADER_INFO2 (0x3125 * 4) ++#define HEVC_PARSER_QUANT_READ (0x3126 * 4) ++#define HEVC_PARSER_RESERVED_27 (0x3127 * 4) ++#define HEVC_PARSER_CMD_SKIP_0 (0x3128 * 4) ++#define HEVC_PARSER_CMD_SKIP_1 (0x3129 * 4) ++#define HEVC_PARSER_CMD_SKIP_2 (0x312a * 4) ++#define HEVC_PARSER_MANUAL_CMD (0x312b * 4) ++#define HEVC_PARSER_MEM_RD_ADDR (0x312c * 4) ++#define HEVC_PARSER_MEM_WR_ADDR (0x312d * 4) ++#define HEVC_PARSER_MEM_RW_DATA (0x312e * 4) ++#define HEVC_SAO_IF_STATUS (0x3130 * 4) ++#define HEVC_SAO_IF_DATA_Y (0x3131 * 4) ++#define HEVC_SAO_IF_DATA_U (0x3132 * 4) ++#define HEVC_SAO_IF_DATA_V (0x3133 * 4) ++#define HEVC_STREAM_SWAP_ADDR (0x3134 * 4) ++#define HEVC_STREAM_SWAP_CTRL (0x3135 * 4) ++#define HEVC_IQIT_IF_WAIT_CNT (0x3136 * 4) ++#define HEVC_MPRED_IF_WAIT_CNT (0x3137 * 4) ++#define HEVC_SAO_IF_WAIT_CNT (0x3138 * 4) ++#define HEVC_PARSER_DEBUG_IDX (0x313e * 4) ++#define HEVC_PARSER_DEBUG_DAT (0x313f * 4) ++#define HEVC_MPRED_VERSION (0x3200 * 4) ++#define HEVC_MPRED_CTRL0 (0x3201 * 4) ++#define HEVC_MPRED_CTRL1 (0x3202 * 4) ++#define HEVC_MPRED_INT_EN (0x3203 * 4) ++#define HEVC_MPRED_INT_STATUS (0x3204 * 4) ++#define HEVC_MPRED_PIC_SIZE (0x3205 * 4) ++#define HEVC_MPRED_PIC_SIZE_LCU (0x3206 * 4) ++#define HEVC_MPRED_TILE_START (0x3207 * 4) ++#define HEVC_MPRED_TILE_SIZE_LCU (0x3208 * 4) ++#define HEVC_MPRED_REF_NUM (0x3209 * 4) ++#define HEVC_MPRED_LT_REF (0x320a * 4) ++#define HEVC_MPRED_LT_COLREF (0x320b * 4) ++#define HEVC_MPRED_REF_EN_L0 (0x320c * 4) ++#define HEVC_MPRED_REF_EN_L1 (0x320d * 4) ++#define HEVC_MPRED_COLREF_EN_L0 (0x320e * 4) ++#define HEVC_MPRED_COLREF_EN_L1 (0x320f * 4) ++#define HEVC_MPRED_AXI_WCTRL (0x3210 * 4) ++#define HEVC_MPRED_AXI_RCTRL (0x3211 * 4) ++#define HEVC_MPRED_ABV_START_ADDR (0x3212 * 4) ++#define HEVC_MPRED_MV_WR_START_ADDR (0x3213 * 4) ++#define HEVC_MPRED_MV_RD_START_ADDR (0x3214 * 4) ++#define HEVC_MPRED_MV_WPTR (0x3215 * 4) ++#define HEVC_MPRED_MV_RPTR (0x3216 * 4) ++#define HEVC_MPRED_MV_WR_ROW_JUMP (0x3217 * 4) ++#define HEVC_MPRED_MV_RD_ROW_JUMP (0x3218 * 4) ++#define HEVC_MPRED_CURR_LCU (0x3219 * 4) ++#define HEVC_MPRED_ABV_WPTR (0x321a * 4) ++#define HEVC_MPRED_ABV_RPTR (0x321b * 4) ++#define HEVC_MPRED_CTRL2 (0x321c * 4) ++#define HEVC_MPRED_CTRL3 (0x321d * 4) ++#define HEVC_MPRED_MV_WLCUY (0x321e * 4) ++#define HEVC_MPRED_MV_RLCUY (0x321f * 4) ++#define HEVC_MPRED_L0_REF00_POC (0x3220 * 4) ++#define HEVC_MPRED_L0_REF01_POC (0x3221 * 4) ++#define HEVC_MPRED_L0_REF02_POC (0x3222 * 4) ++#define HEVC_MPRED_L0_REF03_POC (0x3223 * 4) ++#define HEVC_MPRED_L0_REF04_POC (0x3224 * 4) ++#define HEVC_MPRED_L0_REF05_POC (0x3225 * 4) ++#define HEVC_MPRED_L0_REF06_POC (0x3226 * 4) ++#define HEVC_MPRED_L0_REF07_POC (0x3227 * 4) ++#define HEVC_MPRED_L0_REF08_POC (0x3228 * 4) ++#define HEVC_MPRED_L0_REF09_POC (0x3229 * 4) ++#define HEVC_MPRED_L0_REF10_POC (0x322a * 4) ++#define HEVC_MPRED_L0_REF11_POC (0x322b * 4) ++#define HEVC_MPRED_L0_REF12_POC (0x322c * 4) ++#define HEVC_MPRED_L0_REF13_POC (0x322d * 4) ++#define HEVC_MPRED_L0_REF14_POC (0x322e * 4) ++#define HEVC_MPRED_L0_REF15_POC (0x322f * 4) ++#define HEVC_MPRED_L1_REF00_POC (0x3230 * 4) ++#define HEVC_MPRED_L1_REF01_POC (0x3231 * 4) ++#define HEVC_MPRED_L1_REF02_POC (0x3232 * 4) ++#define HEVC_MPRED_L1_REF03_POC (0x3233 * 4) ++#define HEVC_MPRED_L1_REF04_POC (0x3234 * 4) ++#define HEVC_MPRED_L1_REF05_POC (0x3235 * 4) ++#define HEVC_MPRED_L1_REF06_POC (0x3236 * 4) ++#define HEVC_MPRED_L1_REF07_POC (0x3237 * 4) ++#define HEVC_MPRED_L1_REF08_POC (0x3238 * 4) ++#define HEVC_MPRED_L1_REF09_POC (0x3239 * 4) ++#define HEVC_MPRED_L1_REF10_POC (0x323a * 4) ++#define HEVC_MPRED_L1_REF11_POC (0x323b * 4) ++#define HEVC_MPRED_L1_REF12_POC (0x323c * 4) ++#define HEVC_MPRED_L1_REF13_POC (0x323d * 4) ++#define HEVC_MPRED_L1_REF14_POC (0x323e * 4) ++#define HEVC_MPRED_L1_REF15_POC (0x323f * 4) ++#define HEVC_MPRED_PIC_SIZE_EXT (0x3240 * 4) ++#define HEVC_MPRED_DBG_MODE0 (0x3241 * 4) ++#define HEVC_MPRED_DBG_MODE1 (0x3242 * 4) ++#define HEVC_MPRED_DBG2_MODE (0x3243 * 4) ++#define HEVC_MPRED_IMP_CMD0 (0x3244 * 4) ++#define HEVC_MPRED_IMP_CMD1 (0x3245 * 4) ++#define HEVC_MPRED_IMP_CMD2 (0x3246 * 4) ++#define HEVC_MPRED_IMP_CMD3 (0x3247 * 4) ++#define HEVC_MPRED_DBG2_DATA_0 (0x3248 * 4) ++#define HEVC_MPRED_DBG2_DATA_1 (0x3249 * 4) ++#define HEVC_MPRED_DBG2_DATA_2 (0x324a * 4) ++#define HEVC_MPRED_DBG2_DATA_3 (0x324b * 4) ++#define HEVC_MPRED_DBG_DATA_0 (0x3250 * 4) ++#define HEVC_MPRED_DBG_DATA_1 (0x3251 * 4) ++#define HEVC_MPRED_DBG_DATA_2 (0x3252 * 4) ++#define HEVC_MPRED_DBG_DATA_3 (0x3253 * 4) ++#define HEVC_MPRED_DBG_DATA_4 (0x3254 * 4) ++#define HEVC_MPRED_DBG_DATA_5 (0x3255 * 4) ++#define HEVC_MPRED_DBG_DATA_6 (0x3256 * 4) ++#define HEVC_MPRED_DBG_DATA_7 (0x3257 * 4) ++#define HEVC_MPRED_CUR_POC (0x3260 * 4) ++#define HEVC_MPRED_COL_POC (0x3261 * 4) ++#define HEVC_MPRED_MV_RD_END_ADDR (0x3262 * 4) ++#define HEVCD_IPP_TOP_CNTL (0x3400 * 4) ++#define HEVCD_IPP_TOP_STATUS (0x3401 * 4) ++#define HEVCD_IPP_TOP_FRMCONFIG (0x3402 * 4) ++#define HEVCD_IPP_TOP_TILECONFIG1 (0x3403 * 4) ++#define HEVCD_IPP_TOP_TILECONFIG2 (0x3404 * 4) ++#define HEVCD_IPP_TOP_TILECONFIG3 (0x3405 * 4) ++#define HEVCD_IPP_TOP_LCUCONFIG (0x3406 * 4) ++#define HEVCD_IPP_TOP_FRMCTL (0x3407 * 4) ++#define HEVCD_IPP_CONFIG (0x3408 * 4) ++#define HEVCD_IPP_LINEBUFF_BASE (0x3409 * 4) ++#define HEVCD_IPP_INTR_MASK (0x340a * 4) ++#define HEVCD_IPP_AXIIF_CONFIG (0x340b * 4) ++#define HEVCD_IPP_BITDEPTH_CONFIG (0x340c * 4) ++#define HEVCD_IPP_SWMPREDIF_CONFIG (0x3410 * 4) ++#define HEVCD_IPP_SWMPREDIF_STATUS (0x3411 * 4) ++#define HEVCD_IPP_SWMPREDIF_CTBINFO (0x3412 * 4) ++#define HEVCD_IPP_SWMPREDIF_PUINFO0 (0x3413 * 4) ++#define HEVCD_IPP_SWMPREDIF_PUINFO1 (0x3414 * 4) ++#define HEVCD_IPP_SWMPREDIF_PUINFO2 (0x3415 * 4) ++#define HEVCD_IPP_SWMPREDIF_PUINFO3 (0x3416 * 4) ++#define HEVCD_IPP_DYNCLKGATE_CONFIG (0x3420 * 4) ++#define HEVCD_IPP_DYNCLKGATE_STATUS (0x3421 * 4) ++#define HEVCD_IPP_DBG_SEL (0x3430 * 4) ++#define HEVCD_IPP_DBG_DATA (0x3431 * 4) ++#define HEVCD_MPP_ANC2AXI_TBL_CONF_ADDR (0x3460 * 4) ++#define HEVCD_MPP_ANC2AXI_TBL_CMD_ADDR (0x3461 * 4) ++#define HEVCD_MPP_ANC2AXI_TBL_WDATA_ADDR (0x3462 * 4) ++#define HEVCD_MPP_ANC2AXI_TBL_RDATA_ADDR (0x3463 * 4) ++#define HEVCD_MPP_WEIGHTPRED_CNTL_ADDR (0x347b * 4) ++#define HEVCD_MPP_L0_WEIGHT_FLAG_ADDR (0x347c * 4) ++#define HEVCD_MPP_L1_WEIGHT_FLAG_ADDR (0x347d * 4) ++#define HEVCD_MPP_YLOG2WGHTDENOM_ADDR (0x347e * 4) ++#define HEVCD_MPP_DELTACLOG2WGHTDENOM_ADDR (0x347f * 4) ++#define HEVCD_MPP_WEIGHT_ADDR (0x3480 * 4) ++#define HEVCD_MPP_WEIGHT_DATA (0x3481 * 4) ++#define HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR (0x34c0 * 4) ++#define HEVCD_MPP_ANC_CANVAS_DATA_ADDR (0x34c1 * 4) ++#define HEVCD_MPP_DECOMP_CTL1 (0x34c2 * 4) ++#define HEVCD_MPP_DECOMP_CTL2 (0x34c3 * 4) ++#define HEVCD_MCRCC_CTL1 (0x34f0 * 4) ++#define HEVCD_MCRCC_CTL2 (0x34f1 * 4) ++#define HEVCD_MCRCC_CTL3 (0x34f2 * 4) ++#define HEVCD_MCRCC_PERFMON_CTL (0x34f3 * 4) ++#define HEVCD_MCRCC_PERFMON_DATA (0x34f4 * 4) ++#define HEVC_DBLK_CFG0 (0x3500 * 4) ++#define HEVC_DBLK_CFG1 (0x3501 * 4) ++#define HEVC_DBLK_CFG2 (0x3502 * 4) ++#define HEVC_DBLK_CFG3 (0x3503 * 4) ++#define HEVC_DBLK_CFG4 (0x3504 * 4) ++#define HEVC_DBLK_CFG5 (0x3505 * 4) ++#define HEVC_DBLK_CFG6 (0x3506 * 4) ++#define HEVC_DBLK_CFG7 (0x3507 * 4) ++#define HEVC_DBLK_CFG8 (0x3508 * 4) ++#define HEVC_DBLK_CFG9 (0x3509 * 4) ++#define HEVC_DBLK_CFGA (0x350a * 4) ++#define HEVC_DBLK_STS0 (0x350b * 4) ++#define HEVC_DBLK_STS1 (0x350c * 4) ++#define HEVC_SAO_VERSION (0x3600 * 4) ++#define HEVC_SAO_CTRL0 (0x3601 * 4) ++#define HEVC_SAO_CTRL1 (0x3602 * 4) ++#define HEVC_SAO_INT_EN (0x3603 * 4) ++#define HEVC_SAO_INT_STATUS (0x3604 * 4) ++#define HEVC_SAO_PIC_SIZE (0x3605 * 4) ++#define HEVC_SAO_PIC_SIZE_LCU (0x3606 * 4) ++#define HEVC_SAO_TILE_START (0x3607 * 4) ++#define HEVC_SAO_TILE_SIZE_LCU (0x3608 * 4) ++#define HEVC_SAO_AXI_WCTRL (0x3609 * 4) ++#define HEVC_SAO_AXI_RCTRL (0x360a * 4) ++#define HEVC_SAO_Y_START_ADDR (0x360b * 4) ++#define HEVC_SAO_Y_LENGTH (0x360c * 4) ++#define HEVC_SAO_C_START_ADDR (0x360d * 4) ++#define HEVC_SAO_C_LENGTH (0x360e * 4) ++#define HEVC_SAO_Y_WPTR (0x360f * 4) ++#define HEVC_SAO_C_WPTR (0x3610 * 4) ++#define HEVC_SAO_ABV_START_ADDR (0x3611 * 4) ++#define HEVC_SAO_VB_WR_START_ADDR (0x3612 * 4) ++#define HEVC_SAO_VB_RD_START_ADDR (0x3613 * 4) ++#define HEVC_SAO_ABV_WPTR (0x3614 * 4) ++#define HEVC_SAO_ABV_RPTR (0x3615 * 4) ++#define HEVC_SAO_VB_WPTR (0x3616 * 4) ++#define HEVC_SAO_VB_RPTR (0x3617 * 4) ++#define HEVC_SAO_DBG_MODE0 (0x361e * 4) ++#define HEVC_SAO_DBG_MODE1 (0x361f * 4) ++#define HEVC_SAO_CTRL2 (0x3620 * 4) ++#define HEVC_SAO_CTRL3 (0x3621 * 4) ++#define HEVC_SAO_CTRL4 (0x3622 * 4) ++#define HEVC_SAO_CTRL5 (0x3623 * 4) ++#define HEVC_SAO_CTRL6 (0x3624 * 4) ++#define HEVC_SAO_CTRL7 (0x3625 * 4) ++#define HEVC_SAO_DBG_DATA_0 (0x3630 * 4) ++#define HEVC_SAO_DBG_DATA_1 (0x3631 * 4) ++#define HEVC_SAO_DBG_DATA_2 (0x3632 * 4) ++#define HEVC_SAO_DBG_DATA_3 (0x3633 * 4) ++#define HEVC_SAO_DBG_DATA_4 (0x3634 * 4) ++#define HEVC_SAO_DBG_DATA_5 (0x3635 * 4) ++#define HEVC_SAO_DBG_DATA_6 (0x3636 * 4) ++#define HEVC_SAO_DBG_DATA_7 (0x3637 * 4) ++#define HEVC_IQIT_CLK_RST_CTRL (0x3700 * 4) ++#define HEVC_IQIT_DEQUANT_CTRL (0x3701 * 4) ++#define HEVC_IQIT_SCALELUT_WR_ADDR (0x3702 * 4) ++#define HEVC_IQIT_SCALELUT_RD_ADDR (0x3703 * 4) ++#define HEVC_IQIT_SCALELUT_DATA (0x3704 * 4) ++#define HEVC_IQIT_SCALELUT_IDX_4 (0x3705 * 4) ++#define HEVC_IQIT_SCALELUT_IDX_8 (0x3706 * 4) ++#define HEVC_IQIT_SCALELUT_IDX_16_32 (0x3707 * 4) ++#define HEVC_IQIT_STAT_GEN0 (0x3708 * 4) ++#define HEVC_QP_WRITE (0x3709 * 4) ++#define HEVC_IQIT_STAT_GEN1 (0x370a * 4) ++/**/ ++ ++/*add from M8M2*/ ++#define HEVC_MC_CTRL_REG (0x3900 * 4) ++#define HEVC_MC_MB_INFO (0x3901 * 4) ++#define HEVC_MC_PIC_INFO (0x3902 * 4) ++#define HEVC_MC_HALF_PEL_ONE (0x3903 * 4) ++#define HEVC_MC_HALF_PEL_TWO (0x3904 * 4) ++#define HEVC_POWER_CTL_MC (0x3905 * 4) ++#define HEVC_MC_CMD (0x3906 * 4) ++#define HEVC_MC_CTRL0 (0x3907 * 4) ++#define HEVC_MC_PIC_W_H (0x3908 * 4) ++#define HEVC_MC_STATUS0 (0x3909 * 4) ++#define HEVC_MC_STATUS1 (0x390a * 4) ++#define HEVC_MC_CTRL1 (0x390b * 4) ++#define HEVC_MC_MIX_RATIO0 (0x390c * 4) ++#define HEVC_MC_MIX_RATIO1 (0x390d * 4) ++#define HEVC_MC_DP_MB_XY (0x390e * 4) ++#define HEVC_MC_OM_MB_XY (0x390f * 4) ++#define HEVC_PSCALE_RST (0x3910 * 4) ++#define HEVC_PSCALE_CTRL (0x3911 * 4) ++#define HEVC_PSCALE_PICI_W (0x3912 * 4) ++#define HEVC_PSCALE_PICI_H (0x3913 * 4) ++#define HEVC_PSCALE_PICO_W (0x3914 * 4) ++#define HEVC_PSCALE_PICO_H (0x3915 * 4) ++#define HEVC_PSCALE_PICO_START_X (0x3916 * 4) ++#define HEVC_PSCALE_PICO_START_Y (0x3917 * 4) ++#define HEVC_PSCALE_DUMMY (0x3918 * 4) ++#define HEVC_PSCALE_FILT0_COEF0 (0x3919 * 4) ++#define HEVC_PSCALE_FILT0_COEF1 (0x391a * 4) ++#define HEVC_PSCALE_CMD_CTRL (0x391b * 4) ++#define HEVC_PSCALE_CMD_BLK_X (0x391c * 4) ++#define HEVC_PSCALE_CMD_BLK_Y (0x391d * 4) ++#define HEVC_PSCALE_STATUS (0x391e * 4) ++#define HEVC_PSCALE_BMEM_ADDR (0x391f * 4) ++#define HEVC_PSCALE_BMEM_DAT (0x3920 * 4) ++#define HEVC_PSCALE_DRAM_BUF_CTRL (0x3921 * 4) ++#define HEVC_PSCALE_MCMD_CTRL (0x3922 * 4) ++#define HEVC_PSCALE_MCMD_XSIZE (0x3923 * 4) ++#define HEVC_PSCALE_MCMD_YSIZE (0x3924 * 4) ++#define HEVC_PSCALE_RBUF_START_BLKX (0x3925 * 4) ++#define HEVC_PSCALE_RBUF_START_BLKY (0x3926 * 4) ++#define HEVC_PSCALE_PICO_SHIFT_XY (0x3928 * 4) ++#define HEVC_PSCALE_CTRL1 (0x3929 * 4) ++#define HEVC_PSCALE_SRCKEY_CTRL0 (0x392a * 4) ++#define HEVC_PSCALE_SRCKEY_CTRL1 (0x392b * 4) ++#define HEVC_PSCALE_CANVAS_RD_ADDR (0x392c * 4) ++#define HEVC_PSCALE_CANVAS_WR_ADDR (0x392d * 4) ++#define HEVC_PSCALE_CTRL2 (0x392e * 4) ++#define HEVC_HDEC_MC_OMEM_AUTO (0x3930 * 4) ++#define HEVC_HDEC_MC_MBRIGHT_IDX (0x3931 * 4) ++#define HEVC_HDEC_MC_MBRIGHT_RD (0x3932 * 4) ++#define HEVC_MC_MPORT_CTRL (0x3940 * 4) ++#define HEVC_MC_MPORT_DAT (0x3941 * 4) ++#define HEVC_MC_WT_PRED_CTRL (0x3942 * 4) ++#define HEVC_MC_MBBOT_ST_EVEN_ADDR (0x3944 * 4) ++#define HEVC_MC_MBBOT_ST_ODD_ADDR (0x3945 * 4) ++#define HEVC_MC_DPDN_MB_XY (0x3946 * 4) ++#define HEVC_MC_OMDN_MB_XY (0x3947 * 4) ++#define HEVC_MC_HCMDBUF_H (0x3948 * 4) ++#define HEVC_MC_HCMDBUF_L (0x3949 * 4) ++#define HEVC_MC_HCMD_H (0x394a * 4) ++#define HEVC_MC_HCMD_L (0x394b * 4) ++#define HEVC_MC_IDCT_DAT (0x394c * 4) ++#define HEVC_MC_CTRL_GCLK_CTRL (0x394d * 4) ++#define HEVC_MC_OTHER_GCLK_CTRL (0x394e * 4) ++#define HEVC_MC_CTRL2 (0x394f * 4) ++#define HEVC_MDEC_PIC_DC_CTRL (0x398e * 4) ++#define HEVC_MDEC_PIC_DC_STATUS (0x398f * 4) ++#define HEVC_ANC0_CANVAS_ADDR (0x3990 * 4) ++#define HEVC_ANC1_CANVAS_ADDR (0x3991 * 4) ++#define HEVC_ANC2_CANVAS_ADDR (0x3992 * 4) ++#define HEVC_ANC3_CANVAS_ADDR (0x3993 * 4) ++#define HEVC_ANC4_CANVAS_ADDR (0x3994 * 4) ++#define HEVC_ANC5_CANVAS_ADDR (0x3995 * 4) ++#define HEVC_ANC6_CANVAS_ADDR (0x3996 * 4) ++#define HEVC_ANC7_CANVAS_ADDR (0x3997 * 4) ++#define HEVC_ANC8_CANVAS_ADDR (0x3998 * 4) ++#define HEVC_ANC9_CANVAS_ADDR (0x3999 * 4) ++#define HEVC_ANC10_CANVAS_ADDR (0x399a * 4) ++#define HEVC_ANC11_CANVAS_ADDR (0x399b * 4) ++#define HEVC_ANC12_CANVAS_ADDR (0x399c * 4) ++#define HEVC_ANC13_CANVAS_ADDR (0x399d * 4) ++#define HEVC_ANC14_CANVAS_ADDR (0x399e * 4) ++#define HEVC_ANC15_CANVAS_ADDR (0x399f * 4) ++#define HEVC_ANC16_CANVAS_ADDR (0x39a0 * 4) ++#define HEVC_ANC17_CANVAS_ADDR (0x39a1 * 4) ++#define HEVC_ANC18_CANVAS_ADDR (0x39a2 * 4) ++#define HEVC_ANC19_CANVAS_ADDR (0x39a3 * 4) ++#define HEVC_ANC20_CANVAS_ADDR (0x39a4 * 4) ++#define HEVC_ANC21_CANVAS_ADDR (0x39a5 * 4) ++#define HEVC_ANC22_CANVAS_ADDR (0x39a6 * 4) ++#define HEVC_ANC23_CANVAS_ADDR (0x39a7 * 4) ++#define HEVC_ANC24_CANVAS_ADDR (0x39a8 * 4) ++#define HEVC_ANC25_CANVAS_ADDR (0x39a9 * 4) ++#define HEVC_ANC26_CANVAS_ADDR (0x39aa * 4) ++#define HEVC_ANC27_CANVAS_ADDR (0x39ab * 4) ++#define HEVC_ANC28_CANVAS_ADDR (0x39ac * 4) ++#define HEVC_ANC29_CANVAS_ADDR (0x39ad * 4) ++#define HEVC_ANC30_CANVAS_ADDR (0x39ae * 4) ++#define HEVC_ANC31_CANVAS_ADDR (0x39af * 4) ++#define HEVC_DBKR_CANVAS_ADDR (0x39b0 * 4) ++#define HEVC_DBKW_CANVAS_ADDR (0x39b1 * 4) ++#define HEVC_REC_CANVAS_ADDR (0x39b2 * 4) ++#define HEVC_CURR_CANVAS_CTRL (0x39b3 * 4) ++#define HEVC_MDEC_PIC_DC_THRESH (0x39b8 * 4) ++#define HEVC_MDEC_PICR_BUF_STATUS (0x39b9 * 4) ++#define HEVC_MDEC_PICW_BUF_STATUS (0x39ba * 4) ++#define HEVC_MCW_DBLK_WRRSP_CNT (0x39bb * 4) ++#define HEVC_MC_MBBOT_WRRSP_CNT (0x39bc * 4) ++#define HEVC_MDEC_PICW_BUF2_STATUS (0x39bd * 4) ++#define HEVC_WRRSP_FIFO_PICW_DBK (0x39be * 4) ++#define HEVC_WRRSP_FIFO_PICW_MC (0x39bf * 4) ++#define HEVC_AV_SCRATCH_0 (0x39c0 * 4) ++#define HEVC_AV_SCRATCH_1 (0x39c1 * 4) ++#define HEVC_AV_SCRATCH_2 (0x39c2 * 4) ++#define HEVC_AV_SCRATCH_3 (0x39c3 * 4) ++#define HEVC_AV_SCRATCH_4 (0x39c4 * 4) ++#define HEVC_AV_SCRATCH_5 (0x39c5 * 4) ++#define HEVC_AV_SCRATCH_6 (0x39c6 * 4) ++#define HEVC_AV_SCRATCH_7 (0x39c7 * 4) ++#define HEVC_AV_SCRATCH_8 (0x39c8 * 4) ++#define HEVC_AV_SCRATCH_9 (0x39c9 * 4) ++#define HEVC_AV_SCRATCH_A (0x39ca * 4) ++#define HEVC_AV_SCRATCH_B (0x39cb * 4) ++#define HEVC_AV_SCRATCH_C (0x39cc * 4) ++#define HEVC_AV_SCRATCH_D (0x39cd * 4) ++#define HEVC_AV_SCRATCH_E (0x39ce * 4) ++#define HEVC_AV_SCRATCH_F (0x39cf * 4) ++#define HEVC_AV_SCRATCH_G (0x39d0 * 4) ++#define HEVC_AV_SCRATCH_H (0x39d1 * 4) ++#define HEVC_AV_SCRATCH_I (0x39d2 * 4) ++#define HEVC_AV_SCRATCH_J (0x39d3 * 4) ++#define HEVC_AV_SCRATCH_K (0x39d4 * 4) ++#define HEVC_AV_SCRATCH_L (0x39d5 * 4) ++#define HEVC_AV_SCRATCH_M (0x39d6 * 4) ++#define HEVC_AV_SCRATCH_N (0x39d7 * 4) ++#define HEVC_WRRSP_CO_MB (0x39d8 * 4) ++#define HEVC_WRRSP_DCAC (0x39d9 * 4) ++#define HEVC_WRRSP_VLD (0x39da * 4) ++#define HEVC_MDEC_DOUBLEW_CFG0 (0x39db * 4) ++#define HEVC_MDEC_DOUBLEW_CFG1 (0x39dc * 4) ++#define HEVC_MDEC_DOUBLEW_CFG2 (0x39dd * 4) ++#define HEVC_MDEC_DOUBLEW_CFG3 (0x39de * 4) ++#define HEVC_MDEC_DOUBLEW_CFG4 (0x39df * 4) ++#define HEVC_MDEC_DOUBLEW_CFG5 (0x39e0 * 4) ++#define HEVC_MDEC_DOUBLEW_CFG6 (0x39e1 * 4) ++#define HEVC_MDEC_DOUBLEW_CFG7 (0x39e2 * 4) ++#define HEVC_MDEC_DOUBLEW_STATUS (0x39e3 * 4) ++#define HEVC_DBLK_RST (0x3950 * 4) ++#define HEVC_DBLK_CTRL (0x3951 * 4) ++#define HEVC_DBLK_MB_WID_HEIGHT (0x3952 * 4) ++#define HEVC_DBLK_STATUS (0x3953 * 4) ++#define HEVC_DBLK_CMD_CTRL (0x3954 * 4) ++#define HEVC_DBLK_MB_XY (0x3955 * 4) ++#define HEVC_DBLK_QP (0x3956 * 4) ++#define HEVC_DBLK_Y_BHFILT (0x3957 * 4) ++#define HEVC_DBLK_Y_BHFILT_HIGH (0x3958 * 4) ++#define HEVC_DBLK_Y_BVFILT (0x3959 * 4) ++#define HEVC_DBLK_CB_BFILT (0x395a * 4) ++#define HEVC_DBLK_CR_BFILT (0x395b * 4) ++#define HEVC_DBLK_Y_HFILT (0x395c * 4) ++#define HEVC_DBLK_Y_HFILT_HIGH (0x395d * 4) ++#define HEVC_DBLK_Y_VFILT (0x395e * 4) ++#define HEVC_DBLK_CB_FILT (0x395f * 4) ++#define HEVC_DBLK_CR_FILT (0x3960 * 4) ++#define HEVC_DBLK_BETAX_QP_SEL (0x3961 * 4) ++#define HEVC_DBLK_CLIP_CTRL0 (0x3962 * 4) ++#define HEVC_DBLK_CLIP_CTRL1 (0x3963 * 4) ++#define HEVC_DBLK_CLIP_CTRL2 (0x3964 * 4) ++#define HEVC_DBLK_CLIP_CTRL3 (0x3965 * 4) ++#define HEVC_DBLK_CLIP_CTRL4 (0x3966 * 4) ++#define HEVC_DBLK_CLIP_CTRL5 (0x3967 * 4) ++#define HEVC_DBLK_CLIP_CTRL6 (0x3968 * 4) ++#define HEVC_DBLK_CLIP_CTRL7 (0x3969 * 4) ++#define HEVC_DBLK_CLIP_CTRL8 (0x396a * 4) ++#define HEVC_DBLK_STATUS1 (0x396b * 4) ++#define HEVC_DBLK_GCLK_FREE (0x396c * 4) ++#define HEVC_DBLK_GCLK_OFF (0x396d * 4) ++#define HEVC_DBLK_AVSFLAGS (0x396e * 4) ++#define HEVC_DBLK_CBPY (0x3970 * 4) ++#define HEVC_DBLK_CBPY_ADJ (0x3971 * 4) ++#define HEVC_DBLK_CBPC (0x3972 * 4) ++#define HEVC_DBLK_CBPC_ADJ (0x3973 * 4) ++#define HEVC_DBLK_VHMVD (0x3974 * 4) ++#define HEVC_DBLK_STRONG (0x3975 * 4) ++#define HEVC_DBLK_RV8_QUANT (0x3976 * 4) ++#define HEVC_DBLK_CBUS_HCMD2 (0x3977 * 4) ++#define HEVC_DBLK_CBUS_HCMD1 (0x3978 * 4) ++#define HEVC_DBLK_CBUS_HCMD0 (0x3979 * 4) ++#define HEVC_DBLK_VLD_HCMD2 (0x397a * 4) ++#define HEVC_DBLK_VLD_HCMD1 (0x397b * 4) ++#define HEVC_DBLK_VLD_HCMD0 (0x397c * 4) ++#define HEVC_DBLK_OST_YBASE (0x397d * 4) ++#define HEVC_DBLK_OST_CBCRDIFF (0x397e * 4) ++#define HEVC_DBLK_CTRL1 (0x397f * 4) ++#define HEVC_MCRCC_CTL1 (0x3980 * 4) ++#define HEVC_MCRCC_CTL2 (0x3981 * 4) ++#define HEVC_MCRCC_CTL3 (0x3982 * 4) ++#define HEVC_GCLK_EN (0x3983 * 4) ++#define HEVC_MDEC_SW_RESET (0x3984 * 4) ++ ++/*add from M8M2*/ ++#define HEVC_VLD_STATUS_CTRL (0x3c00 * 4) ++#define HEVC_MPEG1_2_REG (0x3c01 * 4) ++#define HEVC_F_CODE_REG (0x3c02 * 4) ++#define HEVC_PIC_HEAD_INFO (0x3c03 * 4) ++#define HEVC_SLICE_VER_POS_PIC_TYPE (0x3c04 * 4) ++#define HEVC_QP_VALUE_REG (0x3c05 * 4) ++#define HEVC_MBA_INC (0x3c06 * 4) ++#define HEVC_MB_MOTION_MODE (0x3c07 * 4) ++#define HEVC_POWER_CTL_VLD (0x3c08 * 4) ++#define HEVC_MB_WIDTH (0x3c09 * 4) ++#define HEVC_SLICE_QP (0x3c0a * 4) ++#define HEVC_PRE_START_CODE (0x3c0b * 4) ++#define HEVC_SLICE_START_BYTE_01 (0x3c0c * 4) ++#define HEVC_SLICE_START_BYTE_23 (0x3c0d * 4) ++#define HEVC_RESYNC_MARKER_LENGTH (0x3c0e * 4) ++#define HEVC_DECODER_BUFFER_INFO (0x3c0f * 4) ++#define HEVC_FST_FOR_MV_X (0x3c10 * 4) ++#define HEVC_FST_FOR_MV_Y (0x3c11 * 4) ++#define HEVC_SCD_FOR_MV_X (0x3c12 * 4) ++#define HEVC_SCD_FOR_MV_Y (0x3c13 * 4) ++#define HEVC_FST_BAK_MV_X (0x3c14 * 4) ++#define HEVC_FST_BAK_MV_Y (0x3c15 * 4) ++#define HEVC_SCD_BAK_MV_X (0x3c16 * 4) ++#define HEVC_SCD_BAK_MV_Y (0x3c17 * 4) ++#define HEVC_VLD_DECODE_CONTROL (0x3c18 * 4) ++#define HEVC_VLD_REVERVED_19 (0x3c19 * 4) ++#define HEVC_VIFF_BIT_CNT (0x3c1a * 4) ++#define HEVC_BYTE_ALIGN_PEAK_HI (0x3c1b * 4) ++#define HEVC_BYTE_ALIGN_PEAK_LO (0x3c1c * 4) ++#define HEVC_NEXT_ALIGN_PEAK (0x3c1d * 4) ++#define HEVC_VC1_CONTROL_REG (0x3c1e * 4) ++#define HEVC_PMV1_X (0x3c20 * 4) ++#define HEVC_PMV1_Y (0x3c21 * 4) ++#define HEVC_PMV2_X (0x3c22 * 4) ++#define HEVC_PMV2_Y (0x3c23 * 4) ++#define HEVC_PMV3_X (0x3c24 * 4) ++#define HEVC_PMV3_Y (0x3c25 * 4) ++#define HEVC_PMV4_X (0x3c26 * 4) ++#define HEVC_PMV4_Y (0x3c27 * 4) ++#define HEVC_M4_TABLE_SELECT (0x3c28 * 4) ++#define HEVC_M4_CONTROL_REG (0x3c29 * 4) ++#define HEVC_BLOCK_NUM (0x3c2a * 4) ++#define HEVC_PATTERN_CODE (0x3c2b * 4) ++#define HEVC_MB_INFO (0x3c2c * 4) ++#define HEVC_VLD_DC_PRED (0x3c2d * 4) ++#define HEVC_VLD_ERROR_MASK (0x3c2e * 4) ++#define HEVC_VLD_DC_PRED_C (0x3c2f * 4) ++#define HEVC_LAST_SLICE_MV_ADDR (0x3c30 * 4) ++#define HEVC_LAST_MVX (0x3c31 * 4) ++#define HEVC_LAST_MVY (0x3c32 * 4) ++#define HEVC_VLD_C38 (0x3c38 * 4) ++#define HEVC_VLD_C39 (0x3c39 * 4) ++#define HEVC_VLD_STATUS (0x3c3a * 4) ++#define HEVC_VLD_SHIFT_STATUS (0x3c3b * 4) ++#define HEVC_VOFF_STATUS (0x3c3c * 4) ++#define HEVC_VLD_C3D (0x3c3d * 4) ++#define HEVC_VLD_DBG_INDEX (0x3c3e * 4) ++#define HEVC_VLD_DBG_DATA (0x3c3f * 4) ++#define HEVC_VLD_MEM_VIFIFO_START_PTR (0x3c40 * 4) ++#define HEVC_VLD_MEM_VIFIFO_CURR_PTR (0x3c41 * 4) ++#define HEVC_VLD_MEM_VIFIFO_END_PTR (0x3c42 * 4) ++#define HEVC_VLD_MEM_VIFIFO_BYTES_AVAIL (0x3c43 * 4) ++#define HEVC_VLD_MEM_VIFIFO_CONTROL (0x3c44 * 4) ++#define HEVC_VLD_MEM_VIFIFO_WP (0x3c45 * 4) ++#define HEVC_VLD_MEM_VIFIFO_RP (0x3c46 * 4) ++#define HEVC_VLD_MEM_VIFIFO_LEVEL (0x3c47 * 4) ++#define HEVC_VLD_MEM_VIFIFO_BUF_CNTL (0x3c48 * 4) ++#define HEVC_VLD_TIME_STAMP_CNTL (0x3c49 * 4) ++#define HEVC_VLD_TIME_STAMP_SYNC_0 (0x3c4a * 4) ++#define HEVC_VLD_TIME_STAMP_SYNC_1 (0x3c4b * 4) ++#define HEVC_VLD_TIME_STAMP_0 (0x3c4c * 4) ++#define HEVC_VLD_TIME_STAMP_1 (0x3c4d * 4) ++#define HEVC_VLD_TIME_STAMP_2 (0x3c4e * 4) ++#define HEVC_VLD_TIME_STAMP_3 (0x3c4f * 4) ++#define HEVC_VLD_TIME_STAMP_LENGTH (0x3c50 * 4) ++#define HEVC_VLD_MEM_VIFIFO_WRAP_COUNT (0x3c51 * 4) ++#define HEVC_VLD_MEM_VIFIFO_MEM_CTL (0x3c52 * 4) ++#define HEVC_VLD_MEM_VBUF_RD_PTR (0x3c53 * 4) ++#define HEVC_VLD_MEM_VBUF2_RD_PTR (0x3c54 * 4) ++#define HEVC_VLD_MEM_SWAP_ADDR (0x3c55 * 4) ++#define HEVC_VLD_MEM_SWAP_CTL (0x3c56 * 4) ++/**/ ++ ++/*add from M8M2*/ ++#define HEVC_VCOP_CTRL_REG (0x3e00 * 4) ++#define HEVC_QP_CTRL_REG (0x3e01 * 4) ++#define HEVC_INTRA_QUANT_MATRIX (0x3e02 * 4) ++#define HEVC_NON_I_QUANT_MATRIX (0x3e03 * 4) ++#define HEVC_DC_SCALER (0x3e04 * 4) ++#define HEVC_DC_AC_CTRL (0x3e05 * 4) ++#define HEVC_DC_AC_SCALE_MUL (0x3e06 * 4) ++#define HEVC_DC_AC_SCALE_DIV (0x3e07 * 4) ++#define HEVC_POWER_CTL_IQIDCT (0x3e08 * 4) ++#define HEVC_RV_AI_Y_X (0x3e09 * 4) ++#define HEVC_RV_AI_U_X (0x3e0a * 4) ++#define HEVC_RV_AI_V_X (0x3e0b * 4) ++#define HEVC_RV_AI_MB_COUNT (0x3e0c * 4) ++#define HEVC_NEXT_INTRA_DMA_ADDRESS (0x3e0d * 4) ++#define HEVC_IQIDCT_CONTROL (0x3e0e * 4) ++#define HEVC_IQIDCT_DEBUG_INFO_0 (0x3e0f * 4) ++#define HEVC_DEBLK_CMD (0x3e10 * 4) ++#define HEVC_IQIDCT_DEBUG_IDCT (0x3e11 * 4) ++#define HEVC_DCAC_DMA_CTRL (0x3e12 * 4) ++#define HEVC_DCAC_DMA_ADDRESS (0x3e13 * 4) ++#define HEVC_DCAC_CPU_ADDRESS (0x3e14 * 4) ++#define HEVC_DCAC_CPU_DATA (0x3e15 * 4) ++#define HEVC_DCAC_MB_COUNT (0x3e16 * 4) ++#define HEVC_IQ_QUANT (0x3e17 * 4) ++#define HEVC_VC1_BITPLANE_CTL (0x3e18 * 4) ++ ++ ++/*add from M8M2*/ ++#define HEVC_MSP (0x3300 * 4) ++#define HEVC_MPSR (0x3301 * 4) ++#define HEVC_MINT_VEC_BASE (0x3302 * 4) ++#define HEVC_MCPU_INTR_GRP (0x3303 * 4) ++#define HEVC_MCPU_INTR_MSK (0x3304 * 4) ++#define HEVC_MCPU_INTR_REQ (0x3305 * 4) ++#define HEVC_MPC_P (0x3306 * 4) ++#define HEVC_MPC_D (0x3307 * 4) ++#define HEVC_MPC_E (0x3308 * 4) ++#define HEVC_MPC_W (0x3309 * 4) ++#define HEVC_MINDEX0_REG (0x330a * 4) ++#define HEVC_MINDEX1_REG (0x330b * 4) ++#define HEVC_MINDEX2_REG (0x330c * 4) ++#define HEVC_MINDEX3_REG (0x330d * 4) ++#define HEVC_MINDEX4_REG (0x330e * 4) ++#define HEVC_MINDEX5_REG (0x330f * 4) ++#define HEVC_MINDEX6_REG (0x3310 * 4) ++#define HEVC_MINDEX7_REG (0x3311 * 4) ++#define HEVC_MMIN_REG (0x3312 * 4) ++#define HEVC_MMAX_REG (0x3313 * 4) ++#define HEVC_MBREAK0_REG (0x3314 * 4) ++#define HEVC_MBREAK1_REG (0x3315 * 4) ++#define HEVC_MBREAK2_REG (0x3316 * 4) ++#define HEVC_MBREAK3_REG (0x3317 * 4) ++#define HEVC_MBREAK_TYPE (0x3318 * 4) ++#define HEVC_MBREAK_CTRL (0x3319 * 4) ++#define HEVC_MBREAK_STAUTS (0x331a * 4) ++#define HEVC_MDB_ADDR_REG (0x331b * 4) ++#define HEVC_MDB_DATA_REG (0x331c * 4) ++#define HEVC_MDB_CTRL (0x331d * 4) ++#define HEVC_MSFTINT0 (0x331e * 4) ++#define HEVC_MSFTINT1 (0x331f * 4) ++#define HEVC_CSP (0x3320 * 4) ++#define HEVC_CPSR (0x3321 * 4) ++#define HEVC_CINT_VEC_BASE (0x3322 * 4) ++#define HEVC_CCPU_INTR_GRP (0x3323 * 4) ++#define HEVC_CCPU_INTR_MSK (0x3324 * 4) ++#define HEVC_CCPU_INTR_REQ (0x3325 * 4) ++#define HEVC_CPC_P (0x3326 * 4) ++#define HEVC_CPC_D (0x3327 * 4) ++#define HEVC_CPC_E (0x3328 * 4) ++#define HEVC_CPC_W (0x3329 * 4) ++#define HEVC_CINDEX0_REG (0x332a * 4) ++#define HEVC_CINDEX1_REG (0x332b * 4) ++#define HEVC_CINDEX2_REG (0x332c * 4) ++#define HEVC_CINDEX3_REG (0x332d * 4) ++#define HEVC_CINDEX4_REG (0x332e * 4) ++#define HEVC_CINDEX5_REG (0x332f * 4) ++#define HEVC_CINDEX6_REG (0x3330 * 4) ++#define HEVC_CINDEX7_REG (0x3331 * 4) ++#define HEVC_CMIN_REG (0x3332 * 4) ++#define HEVC_CMAX_REG (0x3333 * 4) ++#define HEVC_CBREAK0_REG (0x3334 * 4) ++#define HEVC_CBREAK1_REG (0x3335 * 4) ++#define HEVC_CBREAK2_REG (0x3336 * 4) ++#define HEVC_CBREAK3_REG (0x3337 * 4) ++#define HEVC_CBREAK_TYPE (0x3338 * 4) ++#define HEVC_CBREAK_CTRL (0x3339 * 4) ++#define HEVC_CBREAK_STAUTS (0x333a * 4) ++#define HEVC_CDB_ADDR_REG (0x333b * 4) ++#define HEVC_CDB_DATA_REG (0x333c * 4) ++#define HEVC_CDB_CTRL (0x333d * 4) ++#define HEVC_CSFTINT0 (0x333e * 4) ++#define HEVC_CSFTINT1 (0x333f * 4) ++#define HEVC_IMEM_DMA_CTRL (0x3340 * 4) ++#define HEVC_IMEM_DMA_ADR (0x3341 * 4) ++#define HEVC_IMEM_DMA_COUNT (0x3342 * 4) ++#define HEVC_WRRSP_IMEM (0x3343 * 4) ++#define HEVC_LMEM_DMA_CTRL (0x3350 * 4) ++#define HEVC_LMEM_DMA_ADR (0x3351 * 4) ++#define HEVC_LMEM_DMA_COUNT (0x3352 * 4) ++#define HEVC_WRRSP_LMEM (0x3353 * 4) ++#define HEVC_MAC_CTRL1 (0x3360 * 4) ++#define HEVC_ACC0REG1 (0x3361 * 4) ++#define HEVC_ACC1REG1 (0x3362 * 4) ++#define HEVC_MAC_CTRL2 (0x3370 * 4) ++#define HEVC_ACC0REG2 (0x3371 * 4) ++#define HEVC_ACC1REG2 (0x3372 * 4) ++#define HEVC_CPU_TRACE (0x3380 * 4) ++/**/ ++ ++#endif ++ +diff --git a/drivers/media/platform/meson/vdec/vdec_hevc.c b/drivers/media/platform/meson/vdec/vdec_hevc.c +new file mode 100644 +index 0000000000000..8872f58d39fea +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/vdec_hevc.c +@@ -0,0 +1,191 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 Maxime Jourdan ++ * ++ * VDEC_HEVC is a video decoding block that allows decoding of ++ * HEVC, VP9 ++ */ ++ ++#include ++#include ++ ++#include "vdec_1.h" ++#include "vdec_helpers.h" ++#include "hevc_regs.h" ++#include "dos_regs.h" ++ ++/* AO Registers */ ++#define AO_RTI_GEN_PWR_SLEEP0 0xe8 ++#define AO_RTI_GEN_PWR_ISO0 0xec ++ #define GEN_PWR_VDEC_HEVC (BIT(7) | BIT(6)) ++ ++#define MC_SIZE (4096 * 4) ++ ++static int vdec_hevc_load_firmware(struct amvdec_session *sess, const char* fwname) ++{ ++ struct amvdec_core *core = sess->core; ++ struct device *dev = core->dev_dec; ++ const struct firmware *fw; ++ static void *mc_addr; ++ static dma_addr_t mc_addr_map; ++ int ret; ++ u32 i = 100; ++ ++ ret = request_firmware(&fw, fwname, dev); ++ if (ret < 0) { ++ dev_err(dev, "Unable to request firmware %s\n", fwname); ++ return ret; ++ } ++ ++ if (fw->size < MC_SIZE) { ++ dev_err(dev, "Firmware size %zu is too small. Expected %u.\n", ++ fw->size, MC_SIZE); ++ ret = -EINVAL; ++ goto release_firmware; ++ } ++ ++ mc_addr = dma_alloc_coherent(core->dev, MC_SIZE, &mc_addr_map, GFP_KERNEL); ++ if (!mc_addr) { ++ dev_err(dev, "Failed allocating memory for firmware loading\n"); ++ ret = -ENOMEM; ++ goto release_firmware; ++ } ++ ++ memcpy(mc_addr, fw->data, MC_SIZE); ++ ++ amvdec_write_dos(core, HEVC_MPSR, 0); ++ amvdec_write_dos(core, HEVC_CPSR, 0); ++ ++ amvdec_write_dos(core, HEVC_IMEM_DMA_ADR, mc_addr_map); ++ amvdec_write_dos(core, HEVC_IMEM_DMA_COUNT, MC_SIZE / 4); ++ amvdec_write_dos(core, HEVC_IMEM_DMA_CTRL, (0x8000 | (7 << 16))); ++ ++ while (--i && readl(core->dos_base + HEVC_IMEM_DMA_CTRL) & 0x8000) { } ++ ++ if (i == 0) { ++ dev_err(dev, "Firmware load fail (DMA hang?)\n"); ++ ret = -ENODEV; ++ } ++ ++ dma_free_coherent(core->dev, MC_SIZE, mc_addr, mc_addr_map); ++release_firmware: ++ release_firmware(fw); ++ return ret; ++} ++ ++static void vdec_hevc_stbuf_init(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ ++ amvdec_write_dos(core, HEVC_STREAM_CONTROL, amvdec_read_dos(core, HEVC_STREAM_CONTROL) & ~1); ++ amvdec_write_dos(core, HEVC_STREAM_START_ADDR, sess->vififo_paddr); ++ amvdec_write_dos(core, HEVC_STREAM_END_ADDR, sess->vififo_paddr + sess->vififo_size); ++ amvdec_write_dos(core, HEVC_STREAM_RD_PTR, sess->vififo_paddr); ++ amvdec_write_dos(core, HEVC_STREAM_WR_PTR, sess->vififo_paddr); ++} ++ ++/* VDEC_HEVC specific ESPARSER configuration */ ++static void vdec_hevc_conf_esparser(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ ++ /* set vififo_vbuf_rp_sel=>vdec_hevc */ ++ amvdec_write_dos(core, DOS_GEN_CTRL0, 3 << 1); ++ amvdec_write_dos(core, HEVC_STREAM_CONTROL, amvdec_read_dos(core, HEVC_STREAM_CONTROL) | BIT(3)); ++ amvdec_write_dos(core, HEVC_STREAM_CONTROL, amvdec_read_dos(core, HEVC_STREAM_CONTROL) | 1); ++ amvdec_write_dos(core, HEVC_STREAM_FIFO_CTL, amvdec_read_dos(core, HEVC_STREAM_FIFO_CTL) | BIT(29)); ++} ++ ++static u32 vdec_hevc_vififo_level(struct amvdec_session *sess) ++{ ++ return readl_relaxed(sess->core->dos_base + HEVC_STREAM_LEVEL); ++} ++ ++static int vdec_hevc_stop(struct amvdec_session *sess) ++{ ++ struct amvdec_core *core = sess->core; ++ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops; ++ ++ /* Disable interrupt */ ++ amvdec_write_dos(core, HEVC_ASSIST_MBOX1_MASK, 0); ++ /* Disable firmware processor */ ++ amvdec_write_dos(core, HEVC_MPSR, 0); ++ ++ if (sess->priv) ++ codec_ops->stop(sess); ++ ++ /* Enable VDEC_HEVC Isolation */ ++ regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_ISO0, 0xc00, 0xc00); ++ ++ /* VDEC_HEVC Memories */ ++ amvdec_write_dos(core, DOS_MEM_PD_HEVC, 0xffffffffUL); ++ ++ regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_SLEEP0, ++ GEN_PWR_VDEC_HEVC, GEN_PWR_VDEC_HEVC); ++ ++ clk_disable_unprepare(core->vdec_hevc_clk); ++ ++ return 0; ++} ++ ++static int vdec_hevc_start(struct amvdec_session *sess) ++{ ++ int ret; ++ struct amvdec_core *core = sess->core; ++ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops; ++ ++ clk_set_rate(core->vdec_hevc_clk, 666666666); ++ ret = clk_prepare_enable(core->vdec_hevc_clk); ++ if (ret) ++ return ret; ++ ++ regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_SLEEP0, ++ GEN_PWR_VDEC_HEVC, 0); ++ udelay(10); ++ ++ /* Reset VDEC_HEVC*/ ++ amvdec_write_dos(core, DOS_SW_RESET3, 0xffffffff); ++ amvdec_write_dos(core, DOS_SW_RESET3, 0x00000000); ++ ++ amvdec_write_dos(core, DOS_GCLK_EN3, 0xffffffff); ++ ++ /* VDEC_HEVC Memories */ ++ amvdec_write_dos(core, DOS_MEM_PD_HEVC, 0x00000000); ++ ++ /* Remove VDEC_HEVC Isolation */ ++ regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_ISO0, 0xc00, 0); ++ ++ amvdec_write_dos(core, DOS_SW_RESET3, 0xffffffff); ++ amvdec_write_dos(core, DOS_SW_RESET3, 0x00000000); ++ ++ vdec_hevc_stbuf_init(sess); ++ ++ ret = vdec_hevc_load_firmware(sess, sess->fmt_out->firmware_path); ++ if (ret) ++ goto stop; ++ ++ ret = codec_ops->start(sess); ++ if (ret) ++ goto stop; ++ ++ amvdec_write_dos(core, DOS_SW_RESET3, BIT(12)|BIT(11)); ++ amvdec_write_dos(core, DOS_SW_RESET3, 0); ++ amvdec_read_dos(core, DOS_SW_RESET3); ++ ++ amvdec_write_dos(core, HEVC_MPSR, 1); ++ /* Let the firmware settle */ ++ udelay(10); ++ ++ return 0; ++ ++stop: ++ vdec_hevc_stop(sess); ++ return ret; ++} ++ ++struct amvdec_ops vdec_hevc_ops = { ++ .start = vdec_hevc_start, ++ .stop = vdec_hevc_stop, ++ .conf_esparser = vdec_hevc_conf_esparser, ++ .vififo_level = vdec_hevc_vififo_level, ++}; +\ No newline at end of file +diff --git a/drivers/media/platform/meson/vdec/vdec_hevc.h b/drivers/media/platform/meson/vdec/vdec_hevc.h +new file mode 100644 +index 0000000000000..f1ccad7d5f949 +--- /dev/null ++++ b/drivers/media/platform/meson/vdec/vdec_hevc.h +@@ -0,0 +1,22 @@ ++/* ++ * Copyright (C) 2018 Maxime Jourdan ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 and ++ * only version 2 as published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ */ ++ ++#ifndef __MESON_VDEC_VDEC_HEVC_H_ ++#define __MESON_VDEC_VDEC_HEVC_H_ ++ ++#include "vdec.h" ++ ++extern struct amvdec_ops vdec_hevc_ops; ++ ++#endif +\ No newline at end of file +diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c +index 1181832b5fe1e..a8d03426e53d0 100644 +--- a/drivers/media/platform/meson/vdec/vdec_platform.c ++++ b/drivers/media/platform/meson/vdec/vdec_platform.c +@@ -8,13 +8,25 @@ + #include "vdec.h" + + #include "vdec_1.h" ++#include "vdec_hevc.h" + #include "codec_mpeg12.h" + #include "codec_h264.h" + #include "codec_mpeg4.h" + #include "codec_mjpeg.h" ++#include "codec_hevc.h" + + static const struct amvdec_format vdec_formats_gxbb[] = { + { ++ .pixfmt = V4L2_PIX_FMT_HEVC, ++ .min_buffers = 16, ++ .max_buffers = 24, ++ .max_width = 3840, ++ .max_height = 2160, ++ .vdec_ops = &vdec_hevc_ops, ++ .codec_ops = &codec_hevc_ops, ++ .firmware_path = "meson/gx/vh265_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_AM21C, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_MJPEG, + .min_buffers = 4, + .max_buffers = 4, +@@ -89,6 +101,16 @@ static const struct amvdec_format vdec_formats_gxbb[] = { + + static const struct amvdec_format vdec_formats_gxl[] = { + { ++ .pixfmt = V4L2_PIX_FMT_HEVC, ++ .min_buffers = 16, ++ .max_buffers = 24, ++ .max_width = 3840, ++ .max_height = 2160, ++ .vdec_ops = &vdec_hevc_ops, ++ .codec_ops = &codec_hevc_ops, ++ .firmware_path = "meson/gx/vh265_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_AM21C, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_MJPEG, + .min_buffers = 4, + .max_buffers = 4, +@@ -163,6 +185,16 @@ static const struct amvdec_format vdec_formats_gxl[] = { + + static const struct amvdec_format vdec_formats_gxm[] = { + { ++ .pixfmt = V4L2_PIX_FMT_HEVC, ++ .min_buffers = 16, ++ .max_buffers = 24, ++ .max_width = 3840, ++ .max_height = 2160, ++ .vdec_ops = &vdec_hevc_ops, ++ .codec_ops = &codec_hevc_ops, ++ .firmware_path = "meson/gx/vh265_mc", ++ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_AM21C, 0 }, ++ }, { + .pixfmt = V4L2_PIX_FMT_MJPEG, + .min_buffers = 4, + .max_buffers = 4, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/015_linux-4.18.y-v4l-0015-mpeg4-fixes_and_cleanups.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/015_linux-4.18.y-v4l-0015-mpeg4-fixes_and_cleanups.patch new file mode 100644 index 000000000..5d3c4c4e7 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/015_linux-4.18.y-v4l-0015-mpeg4-fixes_and_cleanups.patch @@ -0,0 +1,127 @@ +From 36c532fff8000ef7a125b9260753a374ec746426 Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Fri, 31 Aug 2018 14:03:23 +0200 +Subject: [PATCH] mpeg4: fixes & cleanups + +* Remove unused registers +* Use constants for bits and masks +* abort on fatal error +* Don't set sess->priv until the end +--- + .../media/platform/meson/vdec/codec_mpeg4.c | 59 +++++++++++-------- + 1 file changed, 33 insertions(+), 26 deletions(-) + +diff --git a/drivers/media/platform/meson/vdec/codec_mpeg4.c b/drivers/media/platform/meson/vdec/codec_mpeg4.c +index c6db2640c91a7..b28e3d477df0d 100644 +--- a/drivers/media/platform/meson/vdec/codec_mpeg4.c ++++ b/drivers/media/platform/meson/vdec/codec_mpeg4.c +@@ -13,18 +13,16 @@ + /* Offset added by firmware, to substract from workspace paddr */ + #define DCAC_BUFF_START_IP 0x02b00000 + +-/* map FW registers to known MPEG4 functions */ +-#define MP4_PIC_RATIO AV_SCRATCH_5 +-#define MP4_ERR_COUNT AV_SCRATCH_6 +-#define MP4_PIC_WH AV_SCRATCH_7 +-#define MREG_BUFFERIN AV_SCRATCH_8 +-#define MREG_BUFFEROUT AV_SCRATCH_9 +-#define MP4_NOT_CODED_CNT AV_SCRATCH_A +-#define MP4_VOP_TIME_INC AV_SCRATCH_B +-#define MP4_OFFSET_REG AV_SCRATCH_C +-#define MP4_SYS_RATE AV_SCRATCH_E +-#define MEM_OFFSET_REG AV_SCRATCH_F +-#define MREG_FATAL_ERROR AV_SCRATCH_L ++/* map firmware registers to known MPEG4 functions */ ++#define MREG_BUFFERIN AV_SCRATCH_8 ++#define MREG_BUFFEROUT AV_SCRATCH_9 ++#define MP4_NOT_CODED_CNT AV_SCRATCH_A ++#define MEM_OFFSET_REG AV_SCRATCH_F ++#define MREG_FATAL_ERROR AV_SCRATCH_L ++ ++#define BUF_IDX_MASK GENMASK(2, 0) ++#define INTERLACE_FLAG BIT(7) ++#define TOP_FIELD_FIRST_FLAG BIT(6) + + struct codec_mpeg4 { + /* Buffer for the MPEG4 Workspace */ +@@ -39,7 +37,7 @@ static int codec_mpeg4_can_recycle(struct amvdec_core *core) + + static void codec_mpeg4_recycle(struct amvdec_core *core, u32 buf_idx) + { +- amvdec_write_dos(core, MREG_BUFFERIN, ~(1 << buf_idx)); ++ amvdec_write_dos(core, MREG_BUFFERIN, ~BIT(buf_idx)); + } + + static int codec_mpeg4_start(struct amvdec_session *sess) { +@@ -51,8 +49,6 @@ static int codec_mpeg4_start(struct amvdec_session *sess) { + if (!mpeg4) + return -ENOMEM; + +- sess->priv = mpeg4; +- + /* Allocate some memory for the MPEG4 decoder's state */ + mpeg4->workspace_vaddr = dma_alloc_coherent(core->dev, SIZE_WORKSPACE, + &mpeg4->workspace_paddr, +@@ -63,6 +59,7 @@ static int codec_mpeg4_start(struct amvdec_session *sess) { + goto free_mpeg4; + } + ++ /* Canvas regs: AV_SCRATCH_0-AV_SCRATCH_4;AV_SCRATCH_G-AV_SCRATCH_J */ + amvdec_set_canvases(sess, (u32[]){ AV_SCRATCH_0, AV_SCRATCH_G, 0 }, + (u32[]){ 4, 4, 0 }); + +@@ -75,6 +72,8 @@ static int codec_mpeg4_start(struct amvdec_session *sess) { + amvdec_write_dos(core, MREG_FATAL_ERROR, 0); + amvdec_write_dos(core, MDEC_PIC_DC_THRESH, 0x404038aa); + ++ sess->priv = mpeg4; ++ + return 0; + + free_mpeg4: +@@ -99,26 +98,34 @@ static int codec_mpeg4_stop(struct amvdec_session *sess) + + static irqreturn_t codec_mpeg4_isr(struct amvdec_session *sess) + { ++ struct amvdec_core *core = sess->core; + u32 reg; + u32 buffer_index; +- struct amvdec_core *core = sess->core; ++ u32 field = V4L2_FIELD_NONE; + + reg = amvdec_read_dos(core, MREG_FATAL_ERROR); +- if (reg == 1) ++ if (reg == 1) { + dev_err(core->dev, "mpeg4 fatal error\n"); ++ amvdec_abort(sess); ++ return IRQ_HANDLED; ++ } + + reg = amvdec_read_dos(core, MREG_BUFFEROUT); +- if (reg) { +- sess->keyframe_found = 1; +- amvdec_read_dos(core, MP4_NOT_CODED_CNT); +- amvdec_read_dos(core, MP4_VOP_TIME_INC); +- buffer_index = reg & 0x7; +- amvdec_dst_buf_done_idx(sess, buffer_index, V4L2_FIELD_NONE); +- amvdec_write_dos(core, MREG_BUFFEROUT, 0); +- } ++ if (!reg) ++ goto end; + +- amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1); ++ sess->keyframe_found = 1; ++ buffer_index = reg & BUF_IDX_MASK; ++ if (reg & INTERLACE_FLAG) ++ field = (reg & TOP_FIELD_FIRST_FLAG) ? ++ V4L2_FIELD_INTERLACED_TB : ++ V4L2_FIELD_INTERLACED_BT; + ++ amvdec_dst_buf_done_idx(sess, buffer_index, field); ++ amvdec_write_dos(core, MREG_BUFFEROUT, 0); ++ ++end: ++ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1); + return IRQ_HANDLED; + } + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/016_linux-4.18.y-v4l-0016-h.264-fixes_and_cleanups.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/016_linux-4.18.y-v4l-0016-h.264-fixes_and_cleanups.patch new file mode 100644 index 000000000..07985c9f4 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/016_linux-4.18.y-v4l-0016-h.264-fixes_and_cleanups.patch @@ -0,0 +1,117 @@ +From 89c2edfb991fb85fab722d087e98a40758f8ff8c Mon Sep 17 00:00:00 2001 +From: Maxime Jourdan +Date: Fri, 31 Aug 2018 14:04:10 +0200 +Subject: [PATCH] H.264: fixes & cleanups + +* fix GXL and GXM max width/height +* 80+ lines +* remove unused defines +--- + .../media/platform/meson/vdec/codec_h264.c | 24 +++++++++---------- + .../media/platform/meson/vdec/vdec_platform.c | 8 +++---- + 2 files changed, 15 insertions(+), 17 deletions(-) + +diff --git a/drivers/media/platform/meson/vdec/codec_h264.c b/drivers/media/platform/meson/vdec/codec_h264.c +index 7c47ec35efa54..decd3c601cde3 100644 +--- a/drivers/media/platform/meson/vdec/codec_h264.c ++++ b/drivers/media/platform/meson/vdec/codec_h264.c +@@ -28,14 +28,8 @@ + #define CMD_BAD_HEIGHT 8 + + /* Picture type */ +-#define PIC_SINGLE_FRAME 0 +-#define PIC_TOP_BOT_TOP 1 +-#define PIC_BOT_TOP_BOT 2 +-#define PIC_DOUBLE_FRAME 3 +-#define PIC_TRIPLE_FRAME 4 + #define PIC_TOP_BOT 5 + #define PIC_BOT_TOP 6 +-#define PIC_INVALID 7 + + /* Size of Motion Vector per macroblock */ + #define MB_MV_SIZE 96 +@@ -84,16 +78,16 @@ static int codec_h264_start(struct amvdec_session *sess) { + struct codec_h264 *h264 = sess->priv; + + /* Allocate some memory for the H.264 decoder's state */ +- h264->workspace_vaddr = +- dma_alloc_coherent(core->dev, SIZE_WORKSPACE, &h264->workspace_paddr, GFP_KERNEL); ++ h264->workspace_vaddr = dma_alloc_coherent(core->dev, SIZE_WORKSPACE, ++ &h264->workspace_paddr, GFP_KERNEL); + if (!h264->workspace_vaddr) { + dev_err(core->dev, "Failed to alloc H.264 Workspace\n"); + return -ENOMEM; + } + + /* Allocate some memory for the H.264 SEI dump */ +- h264->sei_vaddr = +- dma_alloc_coherent(core->dev, SIZE_SEI, &h264->sei_paddr, GFP_KERNEL); ++ h264->sei_vaddr = dma_alloc_coherent(core->dev, SIZE_SEI, ++ &h264->sei_paddr, GFP_KERNEL); + if (!h264->sei_vaddr) { + dev_err(core->dev, "Failed to alloc H.264 SEI\n"); + return -ENOMEM; +@@ -114,7 +108,9 @@ static int codec_h264_start(struct amvdec_session *sess) { + amvdec_write_dos(core, AV_SCRATCH_9, 0); + + /* Enable "error correction" */ +- amvdec_write_dos(core, AV_SCRATCH_F, (amvdec_read_dos(core, AV_SCRATCH_F) & 0xffffffc3) | BIT(4) | BIT(7)); ++ amvdec_write_dos(core, AV_SCRATCH_F, ++ (amvdec_read_dos(core, AV_SCRATCH_F) & 0xffffffc3) | ++ BIT(4) | BIT(7)); + + amvdec_write_dos(core, MDEC_PIC_DC_THRESH, 0x404038aa); + +@@ -145,7 +141,8 @@ static int codec_h264_stop(struct amvdec_session *sess) + return 0; + } + +-static int codec_h264_load_extended_firmware(struct amvdec_session *sess, const u8 *data, u32 len) ++static int codec_h264_load_extended_firmware(struct amvdec_session *sess, ++ const u8 *data, u32 len) + { + struct codec_h264 *h264; + struct amvdec_core *core = sess->core; +@@ -160,7 +157,7 @@ static int codec_h264_load_extended_firmware(struct amvdec_session *sess, const + return -EINVAL; + + h264->ext_fw_vaddr = dma_alloc_coherent(core->dev, SIZE_EXT_FW, +- &h264->ext_fw_paddr, GFP_KERNEL); ++ &h264->ext_fw_paddr, GFP_KERNEL); + if (!h264->ext_fw_vaddr) { + dev_err(core->dev, "Failed to alloc H.264 extended fw\n"); + return -ENOMEM; +@@ -275,6 +272,7 @@ static void codec_h264_frames_ready(struct amvdec_session *sess, u32 status) + + amvdec_dst_buf_done_idx(sess, buffer_index, field); + ++ /* 2 src packets per dst frame ; delete additional timestamp */ + if (field != V4L2_FIELD_NONE && !h264->received_0) + amvdec_rm_first_ts(sess); + +diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c +index a8d03426e53d0..99dd3ae9c463b 100644 +--- a/drivers/media/platform/meson/vdec/vdec_platform.c ++++ b/drivers/media/platform/meson/vdec/vdec_platform.c +@@ -154,8 +154,8 @@ static const struct amvdec_format vdec_formats_gxl[] = { + .pixfmt = V4L2_PIX_FMT_H264, + .min_buffers = 21, + .max_buffers = 24, +- .max_width = 1920, +- .max_height = 1080, ++ .max_width = 3840, ++ .max_height = 2160, + .vdec_ops = &vdec_1_ops, + .codec_ops = &codec_h264_ops, + .firmware_path = "meson/gxl/vh264_mc", +@@ -238,8 +238,8 @@ static const struct amvdec_format vdec_formats_gxm[] = { + .pixfmt = V4L2_PIX_FMT_H264, + .min_buffers = 21, + .max_buffers = 24, +- .max_width = 1920, +- .max_height = 1080, ++ .max_width = 3840, ++ .max_height = 2160, + .vdec_ops = &vdec_1_ops, + .codec_ops = &codec_h264_ops, + .firmware_path = "meson/gxm/vh264_mc", diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/017_linux-4.18.y-v4l-1001-WIP-drm-meson-support_overlay_plane_for_video_rendering.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/017_linux-4.18.y-v4l-1001-WIP-drm-meson-support_overlay_plane_for_video_rendering.patch new file mode 100644 index 000000000..f688e981c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/017_linux-4.18.y-v4l-1001-WIP-drm-meson-support_overlay_plane_for_video_rendering.patch @@ -0,0 +1,1146 @@ +From e7d20033306bbbb66fd83fb98795e573d70d8f7b Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Thu, 2 Aug 2018 10:00:01 +0200 +Subject: [PATCH] [WIP] drm/meson: Support Overlay plane for video rendering + +The Amlogic Meson GX SoCs support an Overlay plane behind the primary +plan for video rendering. +This Overlay plane support various YUV layouts and a non-alpha RGB32 +layout. +--- + drivers/gpu/drm/meson/Makefile | 2 +- + drivers/gpu/drm/meson/meson_crtc.c | 172 ++++++- + drivers/gpu/drm/meson/meson_drv.c | 14 + + drivers/gpu/drm/meson/meson_drv.h | 52 +++ + drivers/gpu/drm/meson/meson_overlay.c | 595 ++++++++++++++++++++++++ + drivers/gpu/drm/meson/meson_overlay.h | 14 + + drivers/gpu/drm/meson/meson_registers.h | 3 + + drivers/gpu/drm/meson/meson_viu.c | 15 + + drivers/gpu/drm/meson/meson_vpp.c | 44 +- + drivers/soc/amlogic/meson-gx-pwrc-vpu.c | 8 +- + 10 files changed, 912 insertions(+), 7 deletions(-) + create mode 100644 drivers/gpu/drm/meson/meson_overlay.c + create mode 100644 drivers/gpu/drm/meson/meson_overlay.h + +diff --git a/drivers/gpu/drm/meson/Makefile b/drivers/gpu/drm/meson/Makefile +index bd67429185ff7..d4ea82fc493b6 100644 +--- a/drivers/gpu/drm/meson/Makefile ++++ b/drivers/gpu/drm/meson/Makefile +@@ -1,5 +1,5 @@ + meson-drm-y := meson_drv.o meson_plane.o meson_crtc.o meson_venc_cvbs.o +-meson-drm-y += meson_viu.o meson_vpp.o meson_venc.o meson_vclk.o ++meson-drm-y += meson_viu.o meson_vpp.o meson_venc.o meson_vclk.o meson_overlay.o + + obj-$(CONFIG_DRM_MESON) += meson-drm.o + obj-$(CONFIG_DRM_MESON_DW_HDMI) += meson_dw_hdmi.o +diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c +index 1ca9c6c45f9b9..a4b9463f8125a 100644 +--- a/drivers/gpu/drm/meson/meson_crtc.c ++++ b/drivers/gpu/drm/meson/meson_crtc.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -97,6 +98,10 @@ static void meson_crtc_atomic_enable(struct drm_crtc *crtc, + writel(crtc_state->mode.hdisplay, + priv->io_base + _REG(VPP_POSTBLEND_H_SIZE)); + ++ /* VD1 Preblend vertical start/end */ ++ writel(FIELD_PREP(GENMASK(11, 0), 2303), ++ priv->io_base + _REG(VPP_PREBLEND_VD1_V_START_END)); ++ + writel_bits_relaxed(VPP_POSTBLEND_ENABLE, VPP_POSTBLEND_ENABLE, + priv->io_base + _REG(VPP_MISC)); + +@@ -109,11 +114,17 @@ static void meson_crtc_atomic_disable(struct drm_crtc *crtc, + struct meson_crtc *meson_crtc = to_meson_crtc(crtc); + struct meson_drm *priv = meson_crtc->priv; + ++ DRM_DEBUG_DRIVER("\n"); ++ + priv->viu.osd1_enabled = false; + priv->viu.osd1_commit = false; + ++ priv->viu.vd1_enabled = false; ++ priv->viu.vd1_commit = false; ++ + /* Disable VPP Postblend */ +- writel_bits_relaxed(VPP_POSTBLEND_ENABLE, 0, ++ writel_bits_relaxed(VPP_OSD1_POSTBLEND | VPP_VD1_POSTBLEND | ++ VPP_VD1_PREBLEND | VPP_POSTBLEND_ENABLE, 0, + priv->io_base + _REG(VPP_MISC)); + + if (crtc->state->event && !crtc->state->active) { +@@ -148,6 +159,7 @@ static void meson_crtc_atomic_flush(struct drm_crtc *crtc, + struct meson_drm *priv = meson_crtc->priv; + + priv->viu.osd1_commit = true; ++ priv->viu.vd1_commit = true; + } + + static const struct drm_crtc_helper_funcs meson_crtc_helper_funcs = { +@@ -204,6 +216,164 @@ void meson_crtc_irq(struct meson_drm *priv) + priv->viu.osd1_commit = false; + } + ++ /* Update the VD1 registers */ ++ if (priv->viu.vd1_enabled && priv->viu.vd1_commit) { ++ ++ switch (priv->viu.vd1_planes) { ++ case 3: ++ meson_canvas_config(priv->canvas, priv->canvas_id_vd1_2, ++ priv->viu.vd1_addr2, priv->viu.vd1_stride2, ++ priv->viu.vd1_height2, MESON_CANVAS_WRAP_NONE, ++ MESON_CANVAS_BLKMODE_LINEAR, MESON_CANVAS_ENDIAN_SWAP64); ++ case 2: ++ meson_canvas_config(priv->canvas, priv->canvas_id_vd1_1, ++ priv->viu.vd1_addr1, priv->viu.vd1_stride1, ++ priv->viu.vd1_height1, MESON_CANVAS_WRAP_NONE, ++ MESON_CANVAS_BLKMODE_LINEAR, MESON_CANVAS_ENDIAN_SWAP64); ++ case 1: ++ meson_canvas_config(priv->canvas, priv->canvas_id_vd1_0, ++ priv->viu.vd1_addr0, priv->viu.vd1_stride0, ++ priv->viu.vd1_height0, MESON_CANVAS_WRAP_NONE, ++ MESON_CANVAS_BLKMODE_LINEAR, MESON_CANVAS_ENDIAN_SWAP64); ++ }; ++ ++ writel_relaxed(priv->viu.vd1_if0_gen_reg, ++ priv->io_base + _REG(VD1_IF0_GEN_REG)); ++ writel_relaxed(priv->viu.vd1_if0_gen_reg, ++ priv->io_base + _REG(VD2_IF0_GEN_REG)); ++ writel_relaxed(priv->viu.vd1_if0_gen_reg2, ++ priv->io_base + _REG(VD1_IF0_GEN_REG2)); ++ writel_relaxed(priv->viu.viu_vd1_fmt_ctrl, ++ priv->io_base + _REG(VIU_VD1_FMT_CTRL)); ++ writel_relaxed(priv->viu.viu_vd1_fmt_ctrl, ++ priv->io_base + _REG(VIU_VD2_FMT_CTRL)); ++ writel_relaxed(priv->viu.viu_vd1_fmt_w, ++ priv->io_base + _REG(VIU_VD1_FMT_W)); ++ writel_relaxed(priv->viu.viu_vd1_fmt_w, ++ priv->io_base + _REG(VIU_VD2_FMT_W)); ++ writel_relaxed(priv->viu.vd1_if0_canvas0, ++ priv->io_base + _REG(VD1_IF0_CANVAS0)); ++ writel_relaxed(priv->viu.vd1_if0_canvas0, ++ priv->io_base + _REG(VD1_IF0_CANVAS1)); ++ writel_relaxed(priv->viu.vd1_if0_canvas0, ++ priv->io_base + _REG(VD2_IF0_CANVAS0)); ++ writel_relaxed(priv->viu.vd1_if0_canvas0, ++ priv->io_base + _REG(VD2_IF0_CANVAS1)); ++ writel_relaxed(priv->viu.vd1_if0_luma_x0, ++ priv->io_base + _REG(VD1_IF0_LUMA_X0)); ++ writel_relaxed(priv->viu.vd1_if0_luma_x0, ++ priv->io_base + _REG(VD1_IF0_LUMA_X1)); ++ writel_relaxed(priv->viu.vd1_if0_luma_x0, ++ priv->io_base + _REG(VD2_IF0_LUMA_X0)); ++ writel_relaxed(priv->viu.vd1_if0_luma_x0, ++ priv->io_base + _REG(VD2_IF0_LUMA_X1)); ++ writel_relaxed(priv->viu.vd1_if0_luma_y0, ++ priv->io_base + _REG(VD1_IF0_LUMA_Y0)); ++ writel_relaxed(priv->viu.vd1_if0_luma_y0, ++ priv->io_base + _REG(VD1_IF0_LUMA_Y1)); ++ writel_relaxed(priv->viu.vd1_if0_luma_y0, ++ priv->io_base + _REG(VD2_IF0_LUMA_Y0)); ++ writel_relaxed(priv->viu.vd1_if0_luma_y0, ++ priv->io_base + _REG(VD2_IF0_LUMA_Y1)); ++ writel_relaxed(priv->viu.vd1_if0_chroma_x0, ++ priv->io_base + _REG(VD1_IF0_CHROMA_X0)); ++ writel_relaxed(priv->viu.vd1_if0_chroma_x0, ++ priv->io_base + _REG(VD1_IF0_CHROMA_X1)); ++ writel_relaxed(priv->viu.vd1_if0_chroma_x0, ++ priv->io_base + _REG(VD2_IF0_CHROMA_X0)); ++ writel_relaxed(priv->viu.vd1_if0_chroma_x0, ++ priv->io_base + _REG(VD2_IF0_CHROMA_X1)); ++ writel_relaxed(priv->viu.vd1_if0_chroma_y0, ++ priv->io_base + _REG(VD1_IF0_CHROMA_Y0)); ++ writel_relaxed(priv->viu.vd1_if0_chroma_y0, ++ priv->io_base + _REG(VD1_IF0_CHROMA_Y1)); ++ writel_relaxed(priv->viu.vd1_if0_chroma_y0, ++ priv->io_base + _REG(VD2_IF0_CHROMA_Y0)); ++ writel_relaxed(priv->viu.vd1_if0_chroma_y0, ++ priv->io_base + _REG(VD2_IF0_CHROMA_Y1)); ++ writel_relaxed(priv->viu.vd1_if0_repeat_loop, ++ priv->io_base + _REG(VD1_IF0_RPT_LOOP)); ++ writel_relaxed(priv->viu.vd1_if0_repeat_loop, ++ priv->io_base + _REG(VD2_IF0_RPT_LOOP)); ++ writel_relaxed(priv->viu.vd1_if0_luma0_rpt_pat, ++ priv->io_base + _REG(VD1_IF0_LUMA0_RPT_PAT)); ++ writel_relaxed(priv->viu.vd1_if0_luma0_rpt_pat, ++ priv->io_base + _REG(VD2_IF0_LUMA0_RPT_PAT)); ++ writel_relaxed(priv->viu.vd1_if0_luma0_rpt_pat, ++ priv->io_base + _REG(VD1_IF0_LUMA1_RPT_PAT)); ++ writel_relaxed(priv->viu.vd1_if0_luma0_rpt_pat, ++ priv->io_base + _REG(VD2_IF0_LUMA1_RPT_PAT)); ++ writel_relaxed(priv->viu.vd1_if0_chroma0_rpt_pat, ++ priv->io_base + _REG(VD1_IF0_CHROMA0_RPT_PAT)); ++ writel_relaxed(priv->viu.vd1_if0_chroma0_rpt_pat, ++ priv->io_base + _REG(VD2_IF0_CHROMA0_RPT_PAT)); ++ writel_relaxed(priv->viu.vd1_if0_chroma0_rpt_pat, ++ priv->io_base + _REG(VD1_IF0_CHROMA1_RPT_PAT)); ++ writel_relaxed(priv->viu.vd1_if0_chroma0_rpt_pat, ++ priv->io_base + _REG(VD2_IF0_CHROMA1_RPT_PAT)); ++ writel_relaxed(0, priv->io_base + _REG(VD1_IF0_LUMA_PSEL)); ++ writel_relaxed(0, priv->io_base + _REG(VD1_IF0_CHROMA_PSEL)); ++ writel_relaxed(0, priv->io_base + _REG(VD2_IF0_LUMA_PSEL)); ++ writel_relaxed(0, priv->io_base + _REG(VD2_IF0_CHROMA_PSEL)); ++ writel_relaxed(priv->viu.vd1_range_map_y, ++ priv->io_base + _REG(VD1_IF0_RANGE_MAP_Y)); ++ writel_relaxed(priv->viu.vd1_range_map_cb, ++ priv->io_base + _REG(VD1_IF0_RANGE_MAP_CB)); ++ writel_relaxed(priv->viu.vd1_range_map_cr, ++ priv->io_base + _REG(VD1_IF0_RANGE_MAP_CR)); ++ writel_relaxed(0x78404, ++ priv->io_base + _REG(VPP_SC_MISC)); ++ writel_relaxed(priv->viu.vpp_pic_in_height, ++ priv->io_base + _REG(VPP_PIC_IN_HEIGHT)); ++ writel_relaxed(priv->viu.vpp_postblend_vd1_h_start_end, ++ priv->io_base + _REG(VPP_POSTBLEND_VD1_H_START_END)); ++ writel_relaxed(priv->viu.vpp_blend_vd2_h_start_end, ++ priv->io_base + _REG(VPP_BLEND_VD2_H_START_END)); ++ writel_relaxed(priv->viu.vpp_postblend_vd1_v_start_end, ++ priv->io_base + _REG(VPP_POSTBLEND_VD1_V_START_END)); ++ writel_relaxed(priv->viu.vpp_blend_vd2_v_start_end, ++ priv->io_base + _REG(VPP_BLEND_VD2_V_START_END)); ++ writel_relaxed(priv->viu.vpp_hsc_region12_startp, ++ priv->io_base + _REG(VPP_HSC_REGION12_STARTP)); ++ writel_relaxed(priv->viu.vpp_hsc_region34_startp, ++ priv->io_base + _REG(VPP_HSC_REGION34_STARTP)); ++ writel_relaxed(priv->viu.vpp_hsc_region4_endp, ++ priv->io_base + _REG(VPP_HSC_REGION4_ENDP)); ++ writel_relaxed(priv->viu.vpp_hsc_start_phase_step, ++ priv->io_base + _REG(VPP_HSC_START_PHASE_STEP)); ++ writel_relaxed(priv->viu.vpp_hsc_region1_phase_slope, ++ priv->io_base + _REG(VPP_HSC_REGION1_PHASE_SLOPE)); ++ writel_relaxed(priv->viu.vpp_hsc_region3_phase_slope, ++ priv->io_base + _REG(VPP_HSC_REGION3_PHASE_SLOPE)); ++ writel_relaxed(priv->viu.vpp_line_in_length, ++ priv->io_base + _REG(VPP_LINE_IN_LENGTH)); ++ writel_relaxed(priv->viu.vpp_preblend_h_size, ++ priv->io_base + _REG(VPP_PREBLEND_H_SIZE)); ++ writel_relaxed(priv->viu.vpp_vsc_region12_startp, ++ priv->io_base + _REG(VPP_VSC_REGION12_STARTP)); ++ writel_relaxed(priv->viu.vpp_vsc_region34_startp, ++ priv->io_base + _REG(VPP_VSC_REGION34_STARTP)); ++ writel_relaxed(priv->viu.vpp_vsc_region4_endp, ++ priv->io_base + _REG(VPP_VSC_REGION4_ENDP)); ++ writel_relaxed(priv->viu.vpp_vsc_start_phase_step, ++ priv->io_base + _REG(VPP_VSC_START_PHASE_STEP)); ++ writel_relaxed(priv->viu.vpp_vsc_ini_phase, ++ priv->io_base + _REG(VPP_VSC_INI_PHASE)); ++ writel_relaxed(priv->viu.vpp_vsc_phase_ctrl, ++ priv->io_base + _REG(VPP_VSC_PHASE_CTRL)); ++ writel_relaxed(priv->viu.vpp_hsc_phase_ctrl, ++ priv->io_base + _REG(VPP_HSC_PHASE_CTRL)); ++ writel_relaxed(0x00000042, ++ priv->io_base + _REG(VPP_SCALE_COEF_IDX)); ++ ++ /* Enable VD1 */ ++ writel_bits_relaxed(VPP_VD1_PREBLEND | VPP_VD1_POSTBLEND | VPP_COLOR_MNG_ENABLE, ++ VPP_VD1_PREBLEND | VPP_VD1_POSTBLEND | VPP_COLOR_MNG_ENABLE, ++ priv->io_base + _REG(VPP_MISC)); ++ ++ priv->viu.vd1_commit = false; ++ } ++ + drm_crtc_handle_vblank(priv->crtc); + + spin_lock_irqsave(&priv->drm->event_lock, flags); +diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c +index fb5b0e3c5efce..04b634eade20d 100644 +--- a/drivers/gpu/drm/meson/meson_drv.c ++++ b/drivers/gpu/drm/meson/meson_drv.c +@@ -41,6 +41,7 @@ + + #include "meson_drv.h" + #include "meson_plane.h" ++#include "meson_overlay.h" + #include "meson_crtc.h" + #include "meson_venc_cvbs.h" + +@@ -222,6 +223,15 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) + } + + ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_osd1); ++ if (ret) ++ goto free_drm; ++ ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_0); ++ if (ret) ++ goto free_drm; ++ ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_1); ++ if (ret) ++ goto free_drm; ++ ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_2); + if (ret) + goto free_drm; + +@@ -261,6 +271,10 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) + if (ret) + goto free_drm; + ++ ret = meson_overlay_create(priv); ++ if (ret) ++ goto free_drm; ++ + ret = meson_crtc_create(priv); + if (ret) + goto free_drm; +diff --git a/drivers/gpu/drm/meson/meson_drv.h b/drivers/gpu/drm/meson/meson_drv.h +index 9e902a6df7843..cc2288cc3858e 100644 +--- a/drivers/gpu/drm/meson/meson_drv.h ++++ b/drivers/gpu/drm/meson/meson_drv.h +@@ -33,11 +33,15 @@ struct meson_drm { + + struct meson_canvas *canvas; + u8 canvas_id_osd1; ++ u8 canvas_id_vd1_0; ++ u8 canvas_id_vd1_1; ++ u8 canvas_id_vd1_2; + + struct drm_device *drm; + struct drm_crtc *crtc; + struct drm_fbdev_cma *fbdev; + struct drm_plane *primary_plane; ++ struct drm_plane *overlay_plane; + + /* Components Data */ + struct { +@@ -49,6 +53,54 @@ struct meson_drm { + uint32_t osd1_addr; + uint32_t osd1_stride; + uint32_t osd1_height; ++ ++ bool vd1_enabled; ++ bool vd1_commit; ++ unsigned int vd1_planes; ++ uint32_t vd1_if0_gen_reg; ++ uint32_t vd1_if0_luma_x0; ++ uint32_t vd1_if0_luma_y0; ++ uint32_t vd1_if0_chroma_x0; ++ uint32_t vd1_if0_chroma_y0; ++ uint32_t vd1_if0_repeat_loop; ++ uint32_t vd1_if0_luma0_rpt_pat; ++ uint32_t vd1_if0_chroma0_rpt_pat; ++ uint32_t vd1_range_map_y; ++ uint32_t vd1_range_map_cb; ++ uint32_t vd1_range_map_cr; ++ uint32_t viu_vd1_fmt_w; ++ uint32_t vd1_if0_canvas0; ++ uint32_t vd1_if0_gen_reg2; ++ uint32_t viu_vd1_fmt_ctrl; ++ uint32_t vd1_addr0; ++ uint32_t vd1_addr1; ++ uint32_t vd1_addr2; ++ uint32_t vd1_stride0; ++ uint32_t vd1_stride1; ++ uint32_t vd1_stride2; ++ uint32_t vd1_height0; ++ uint32_t vd1_height1; ++ uint32_t vd1_height2; ++ uint32_t vpp_pic_in_height; ++ uint32_t vpp_postblend_vd1_h_start_end; ++ uint32_t vpp_postblend_vd1_v_start_end; ++ uint32_t vpp_hsc_region12_startp; ++ uint32_t vpp_hsc_region34_startp; ++ uint32_t vpp_hsc_region4_endp; ++ uint32_t vpp_hsc_start_phase_step; ++ uint32_t vpp_hsc_region1_phase_slope; ++ uint32_t vpp_hsc_region3_phase_slope; ++ uint32_t vpp_line_in_length; ++ uint32_t vpp_preblend_h_size; ++ uint32_t vpp_vsc_region12_startp; ++ uint32_t vpp_vsc_region34_startp; ++ uint32_t vpp_vsc_region4_endp; ++ uint32_t vpp_vsc_start_phase_step; ++ uint32_t vpp_vsc_ini_phase; ++ uint32_t vpp_vsc_phase_ctrl; ++ uint32_t vpp_hsc_phase_ctrl; ++ uint32_t vpp_blend_vd2_h_start_end; ++ uint32_t vpp_blend_vd2_v_start_end; + } viu; + + struct { +diff --git a/drivers/gpu/drm/meson/meson_overlay.c b/drivers/gpu/drm/meson/meson_overlay.c +new file mode 100644 +index 0000000000000..ea7261aa2bdd5 +--- /dev/null ++++ b/drivers/gpu/drm/meson/meson_overlay.c +@@ -0,0 +1,595 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Neil Armstrong ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "meson_overlay.h" ++#include "meson_vpp.h" ++#include "meson_viu.h" ++#include "meson_registers.h" ++ ++/* VD1_IF0_GEN_REG */ ++#define VD_URGENT_CHROMA BIT(28) ++#define VD_URGENT_LUMA BIT(27) ++#define VD_HOLD_LINES(lines) FIELD_PREP(GENMASK(24, 19), lines) ++#define VD_DEMUX_MODE_RGB BIT(16) ++#define VD_BYTES_PER_PIXEL(val) FIELD_PREP(GENMASK(15, 14), val) ++#define VD_CHRO_RPT_LASTL_CTRL BIT(6) ++#define VD_LITTLE_ENDIAN BIT(4) ++#define VD_SEPARATE_EN BIT(1) ++#define VD_ENABLE BIT(0) ++ ++/* VD1_IF0_CANVAS0 */ ++#define CANVAS_ADDR2(addr) FIELD_PREP(GENMASK(23, 16), addr) ++#define CANVAS_ADDR1(addr) FIELD_PREP(GENMASK(15, 8), addr) ++#define CANVAS_ADDR0(addr) FIELD_PREP(GENMASK(7, 0), addr) ++ ++/* VD1_IF0_LUMA_X0 VD1_IF0_CHROMA_X0 */ ++#define VD_X_START(value) FIELD_PREP(GENMASK(14, 0), value) ++#define VD_X_END(value) FIELD_PREP(GENMASK(30, 16), value) ++ ++/* VD1_IF0_LUMA_Y0 VD1_IF0_CHROMA_Y0 */ ++#define VD_Y_START(value) FIELD_PREP(GENMASK(12, 0), value) ++#define VD_Y_END(value) FIELD_PREP(GENMASK(28, 16), value) ++ ++/* VD1_IF0_GEN_REG2 */ ++#define VD_COLOR_MAP(value) FIELD_PREP(GENMASK(1, 0), value) ++ ++/* VIU_VD1_FMT_CTRL */ ++#define VD_HORZ_Y_C_RATIO(value) FIELD_PREP(GENMASK(22, 21), value) ++#define VD_HORZ_FMT_EN BIT(20) ++#define VD_VERT_RPT_LINE0 BIT(16) ++#define VD_VERT_INITIAL_PHASE(value) FIELD_PREP(GENMASK(11, 8), value) ++#define VD_VERT_PHASE_STEP(value) FIELD_PREP(GENMASK(7, 1), value) ++#define VD_VERT_FMT_EN BIT(0) ++ ++/* VPP_POSTBLEND_VD1_H_START_END */ ++#define VD_H_END(value) FIELD_PREP(GENMASK(11, 0), value) ++#define VD_H_START(value) FIELD_PREP(GENMASK(27, 16), value) ++ ++/* VPP_POSTBLEND_VD1_V_START_END */ ++#define VD_V_END(value) FIELD_PREP(GENMASK(11, 0), value) ++#define VD_V_START(value) FIELD_PREP(GENMASK(27, 16), value) ++ ++/* VPP_BLEND_VD2_V_START_END */ ++#define VD2_V_END(value) FIELD_PREP(GENMASK(11, 0), value) ++#define VD2_V_START(value) FIELD_PREP(GENMASK(27, 16), value) ++ ++/* VIU_VD1_FMT_W */ ++#define VD_V_WIDTH(value) FIELD_PREP(GENMASK(11, 0), value) ++#define VD_H_WIDTH(value) FIELD_PREP(GENMASK(27, 16), value) ++ ++/* VPP_HSC_REGION12_STARTP VPP_HSC_REGION34_STARTP */ ++#define VD_REGION24_START(value) FIELD_PREP(GENMASK(11, 0), value) ++#define VD_REGION13_END(value) FIELD_PREP(GENMASK(27, 16), value) ++ ++struct meson_overlay { ++ struct drm_plane base; ++ struct meson_drm *priv; ++}; ++#define to_meson_overlay(x) container_of(x, struct meson_overlay, base) ++ ++#define FRAC_16_16(mult, div) (((mult) << 16) / (div)) ++ ++static int meson_overlay_atomic_check(struct drm_plane *plane, ++ struct drm_plane_state *state) ++{ ++ struct drm_crtc_state *crtc_state; ++ ++ if (!state->crtc) ++ return 0; ++ ++ crtc_state = drm_atomic_get_crtc_state(state->state, state->crtc); ++ if (IS_ERR(crtc_state)) ++ return PTR_ERR(crtc_state); ++ ++ return drm_atomic_helper_check_plane_state(state, crtc_state, ++ FRAC_16_16(1, 5), ++ FRAC_16_16(5, 1), ++ true, true); ++} ++ ++/* Takes a fixed 16.16 number and converts it to integer. */ ++static inline int64_t fixed16_to_int(int64_t value) ++{ ++ return value >> 16; ++} ++ ++static const uint8_t skip_tab[6] = {0x24, 0x04, 0x68, 0x48, 0x28, 0x08}; ++ ++static void meson_overlay_get_vertical_phase(unsigned ratio_y, ++ int *phase, ++ int *repeat, ++ bool interlace) ++{ ++ int offset_in = 0; ++ int offset_out = 0; ++ int repeat_skip = 0; ++ ++ if (!interlace && ratio_y > (1 << 18)) { ++ offset_out = (1 * ratio_y) >> 10; ++ } ++ ++ while ((offset_in + (4 << 8)) <= offset_out) { ++ repeat_skip++; ++ offset_in += 4 << 8; ++ } ++ ++ *phase = (offset_out - offset_in) >> 2; ++ ++ if (*phase > 0x100) ++ repeat_skip++; ++ ++ *phase = *phase & 0xff; ++ ++ if (repeat_skip > 5) ++ repeat_skip = 5; ++ ++ *repeat = skip_tab[repeat_skip]; ++} ++ ++static void meson_overlay_setup_scaler_params(struct meson_drm *priv, ++ struct drm_plane *plane, ++ bool interlace_mode) ++{ ++ struct drm_plane_state *state = plane->state; ++ struct drm_crtc_state *crtc_state = priv->crtc->state; ++ int video_top, video_left, video_width, video_height; ++ unsigned int crop_top, crop_left; ++ unsigned int crtc_height, crtc_width; ++ unsigned int vd_start_lines, vd_end_lines; ++ unsigned int hd_start_lines, hd_end_lines; ++ unsigned int vsc_startp, vsc_endp; ++ unsigned int hsc_startp, hsc_endp; ++ unsigned int ratio_x, ratio_y; ++ unsigned int w_in, h_in; ++ int vphase, vphase_repeat_skip; ++ int temp_height, temp_width; ++ int temp, start, end; ++ ++ if (!crtc_state) { ++ DRM_ERROR("Invalid crtc_state\n"); ++ return; ++ } ++ ++ crtc_height = crtc_state->mode.vdisplay; ++ crtc_width = crtc_state->mode.hdisplay; ++ ++ w_in = fixed16_to_int(state->src_w); ++ h_in = fixed16_to_int(state->src_h); ++ crop_top = fixed16_to_int(state->src_x); ++ crop_left = fixed16_to_int(state->src_x); ++ ++ video_top = state->crtc_y; ++ video_left = state->crtc_x; ++ video_width = state->crtc_w; ++ video_height = state->crtc_h; ++ ++ DRM_DEBUG("crtc_width %d crtc_height %d interlace %d\n", ++ crtc_width, crtc_height, interlace_mode); ++ DRM_DEBUG("w_in %d h_in %d crop_top %d crop_left %d\n", ++ w_in, h_in, crop_top, crop_left); ++ DRM_DEBUG("video top %d left %d width %d height %d\n", ++ video_top, video_left, video_width, video_height); ++ ++ ratio_x = (w_in << 18) / video_width; ++ ratio_y = (h_in << 18) / video_height; ++ ++ /* TOFIX Interlace output */ ++ if (interlace_mode) ++ ratio_y <<= 1; ++ ++ if (ratio_x * video_width < (w_in << 18)) ++ ratio_x++; ++ ++ DRM_DEBUG("ratio x 0x%x y 0x%x\n", ratio_x, ratio_y); ++ ++ meson_overlay_get_vertical_phase(ratio_y, &vphase, &vphase_repeat_skip, ++ interlace_mode); ++ ++ DRM_DEBUG("vphase 0x%x skip %d\n", vphase, vphase_repeat_skip); ++ ++ /* Vertical */ ++ ++ start = video_top + video_height / 2 - ((h_in << 17) / ratio_x); ++ end = (h_in << 18) / ratio_y + start - 1; ++ ++ if (video_top < 0 && start < 0) ++ vd_start_lines = (-(start) * ratio_y) >> 18; ++ else if (start < video_top) ++ vd_start_lines = ((video_top - start) * ratio_y) >> 18; ++ else ++ vd_start_lines = 0; ++ ++ if (video_top < 0) ++ temp_height = min_t(unsigned int, (video_top + video_height - 1), ++ (crtc_height - 1)); ++ else ++ temp_height = min_t(unsigned int, (video_top + video_height - 1), ++ (crtc_height - 1)) - video_top + 1; ++ ++ temp = vd_start_lines + (temp_height * ratio_y >> 18); ++ vd_end_lines = (temp <= (h_in - 1)) ? temp : (h_in - 1); ++ ++ vd_start_lines += crop_left; ++ vd_end_lines += crop_left; ++ ++ if (interlace_mode) { ++ start >>= 1; ++ end >>= 1; ++ } ++ ++ vsc_startp = max_t(int, start, ++ max_t(int, 0, video_top)); ++ vsc_endp = min_t(int, end, ++ min_t(int, crtc_height - 1, ++ video_top + video_height - 1)); ++ ++ DRM_DEBUG("vsc startp %d endp %d start_lines %d end_lines %d\n", ++ vsc_startp, vsc_endp, vd_start_lines, vd_end_lines); ++ ++ /* Horizontal */ ++ ++ start = video_left + video_width / 2 - ((w_in << 17) / ratio_x); ++ end = (w_in << 18) / ratio_x + start - 1; ++ ++ if (video_left < 0 && start < 0) ++ hd_start_lines = (-(start) * ratio_x) >> 18; ++ else if (start < video_left) ++ hd_start_lines = ((video_left - start) * ratio_x) >> 18; ++ else ++ hd_start_lines = 0; ++ ++ if (video_left < 0) ++ temp_width = min_t(unsigned int, (video_left + video_width - 1), ++ (crtc_width - 1)); ++ else ++ temp_width = min_t(unsigned int, (video_left + video_width - 1), ++ (crtc_width - 1)) - video_left + 1; ++ ++ temp = hd_start_lines + (temp_width * ratio_x >> 18); ++ hd_end_lines = (temp <= (w_in - 1)) ? temp : (w_in - 1); ++ ++ priv->viu.vpp_line_in_length = hd_end_lines - hd_start_lines + 1; ++ hsc_startp = max_t(int, start, ++ max_t(int, 0, video_left)); ++ hsc_endp = min_t(int, end, ++ min_t(int, crtc_width - 1, ++ video_left + video_width - 1)); ++ ++ hd_start_lines += crop_top; ++ hd_end_lines += crop_top; ++ ++ DRM_DEBUG("hsc startp %d endp %d start_lines %d end_lines %d\n", ++ hsc_startp, hsc_endp, hd_start_lines, hd_end_lines); ++ ++ priv->viu.vpp_vsc_start_phase_step = ratio_y << 6; ++ ++ priv->viu.vpp_vsc_ini_phase = vphase << 8; ++ priv->viu.vpp_vsc_phase_ctrl = (1 << 13) | (4 << 8) | ++ vphase_repeat_skip; ++ ++ priv->viu.vd1_if0_luma_x0 = VD_X_START(hd_start_lines) | ++ VD_X_END(hd_end_lines); ++ priv->viu.vd1_if0_chroma_x0 = VD_X_START(hd_start_lines >> 1) | ++ VD_X_END(hd_end_lines >> 1); ++ ++ priv->viu.viu_vd1_fmt_w = VD_H_WIDTH(hd_end_lines - hd_start_lines + 1) | ++ VD_V_WIDTH(hd_end_lines/2 - hd_start_lines/2 + 1); ++ ++ priv->viu.vd1_if0_luma_y0 = VD_Y_START(vd_start_lines) | ++ VD_Y_END(vd_end_lines); ++ ++ priv->viu.vd1_if0_chroma_y0 = VD_Y_START(vd_start_lines >> 1) | ++ VD_Y_END(vd_end_lines >> 1); ++ ++ priv->viu.vpp_pic_in_height = h_in; ++ ++ priv->viu.vpp_postblend_vd1_h_start_end = VD_H_START(hsc_startp) | ++ VD_H_END(hsc_endp); ++ priv->viu.vpp_blend_vd2_h_start_end = VD_H_START(hd_start_lines) | ++ VD_H_END(hd_end_lines); ++ priv->viu.vpp_hsc_region12_startp = VD_REGION13_END(0) | ++ VD_REGION24_START(hsc_startp); ++ priv->viu.vpp_hsc_region34_startp = VD_REGION13_END(hsc_startp) | ++ VD_REGION24_START(hsc_endp - hsc_startp); ++ priv->viu.vpp_hsc_region4_endp = hsc_endp - hsc_startp; ++ priv->viu.vpp_hsc_start_phase_step = ratio_x << 6; ++ priv->viu.vpp_hsc_region1_phase_slope = 0; ++ priv->viu.vpp_hsc_region3_phase_slope = 0; ++ priv->viu.vpp_hsc_phase_ctrl = (1 << 21) | (4 << 16); ++ ++ priv->viu.vpp_line_in_length = hd_end_lines - hd_start_lines + 1; ++ priv->viu.vpp_preblend_h_size = hd_end_lines - hd_start_lines + 1; ++ ++ priv->viu.vpp_postblend_vd1_v_start_end = VD_V_START(vsc_startp) | ++ VD_V_END(vsc_endp); ++ priv->viu.vpp_blend_vd2_v_start_end = ++ VD2_V_START((vd_end_lines + 1) >> 1) | ++ VD2_V_END(vd_end_lines); ++ ++ priv->viu.vpp_vsc_region12_startp = 0; ++ priv->viu.vpp_vsc_region34_startp = ++ VD_REGION13_END(vsc_endp - vsc_startp) | ++ VD_REGION24_START(vsc_endp - vsc_startp); ++ priv->viu.vpp_vsc_region4_endp = vsc_endp - vsc_startp; ++ priv->viu.vpp_vsc_start_phase_step = ratio_y << 6; ++} ++ ++static void meson_overlay_atomic_update(struct drm_plane *plane, ++ struct drm_plane_state *old_state) ++{ ++ struct meson_overlay *meson_overlay = to_meson_overlay(plane); ++ struct drm_plane_state *state = plane->state; ++ struct drm_framebuffer *fb = state->fb; ++ struct meson_drm *priv = meson_overlay->priv; ++ struct drm_gem_cma_object *gem; ++ unsigned long flags; ++ bool interlace_mode; ++ ++ DRM_DEBUG_DRIVER("\n"); ++ ++ interlace_mode = state->crtc->mode.flags & DRM_MODE_FLAG_INTERLACE; ++ ++ /* ++ * Update Coordinates ++ * Update Formats ++ * Update Buffer ++ * Enable Plane ++ */ ++ spin_lock_irqsave(&priv->drm->event_lock, flags); ++ ++ priv->viu.vd1_if0_gen_reg = VD_URGENT_CHROMA | ++ VD_URGENT_LUMA | ++ VD_HOLD_LINES(9) | ++ VD_CHRO_RPT_LASTL_CTRL | ++ VD_ENABLE; ++ ++ /* Setup scaler params */ ++ meson_overlay_setup_scaler_params(priv, plane, interlace_mode); ++ ++ //VD1_IF0_CANVAS1=0 ++ //VD1_IF0_CHROMA_X1=0 ++ //VD1_IF0_CHROMA_Y1=0 ++ priv->viu.vd1_if0_repeat_loop = 0; ++ priv->viu.vd1_if0_luma0_rpt_pat = interlace_mode ? 8 : 0; ++ priv->viu.vd1_if0_chroma0_rpt_pat = interlace_mode ? 8 : 0; ++ //VD1_IF0_LUMA1_RPT_PAT=0 ++ //VD1_IF0_CHROMA1_RPT_PAT=0 ++ //VD1_IF0_LUMA_PSEL=0 ++ //VD1_IF0_CHROMA_PSEL=0 ++ //VD1_IF0_DUMMY_PIXEL=? ++ priv->viu.vd1_range_map_y = 0; ++ priv->viu.vd1_range_map_cb = 0; ++ priv->viu.vd1_range_map_cr = 0; ++ ++ /* Default values for RGB888/YUV444 */ ++ priv->viu.vd1_if0_gen_reg2 = 0; ++ priv->viu.viu_vd1_fmt_ctrl = 0; ++ ++ switch (fb->format->format) { ++ case DRM_FORMAT_RGB888: ++ /* TOFIX enable RGB2YUV somewhere ! */ ++ priv->viu.vd1_if0_gen_reg |= VD_DEMUX_MODE_RGB | ++ VD_BYTES_PER_PIXEL(2); ++ priv->viu.vd1_if0_canvas0 = ++ CANVAS_ADDR2(priv->canvas_id_vd1_0) | ++ CANVAS_ADDR1(priv->canvas_id_vd1_0) | ++ CANVAS_ADDR0(priv->canvas_id_vd1_0); ++ break; ++ case DRM_FORMAT_YUYV: ++ priv->viu.vd1_if0_gen_reg |= VD_BYTES_PER_PIXEL(1); ++ priv->viu.vd1_if0_canvas0 = ++ CANVAS_ADDR2(priv->canvas_id_vd1_0) | ++ CANVAS_ADDR1(priv->canvas_id_vd1_0) | ++ CANVAS_ADDR0(priv->canvas_id_vd1_0); ++ priv->viu.viu_vd1_fmt_ctrl = VD_HORZ_Y_C_RATIO(1) | /* /2 */ ++ VD_HORZ_FMT_EN | ++ VD_VERT_RPT_LINE0 | ++ VD_VERT_INITIAL_PHASE(12) | ++ VD_VERT_PHASE_STEP(16) | /* /2 */ ++ VD_VERT_FMT_EN; ++ break; ++ case DRM_FORMAT_NV12: ++ case DRM_FORMAT_NV21: ++ priv->viu.vd1_if0_gen_reg |= VD_SEPARATE_EN; ++ priv->viu.vd1_if0_canvas0 = ++ CANVAS_ADDR2(priv->canvas_id_vd1_1) | ++ CANVAS_ADDR1(priv->canvas_id_vd1_1) | ++ CANVAS_ADDR0(priv->canvas_id_vd1_0); ++ if (fb->format->format == DRM_FORMAT_NV12) ++ priv->viu.vd1_if0_gen_reg2 = VD_COLOR_MAP(1); ++ else ++ priv->viu.vd1_if0_gen_reg2 = VD_COLOR_MAP(2); ++ priv->viu.viu_vd1_fmt_ctrl = VD_HORZ_Y_C_RATIO(1) | /* /2 */ ++ VD_HORZ_FMT_EN | ++ VD_VERT_RPT_LINE0 | ++ VD_VERT_INITIAL_PHASE(12) | ++ VD_VERT_PHASE_STEP(8) | /* /4 */ ++ VD_VERT_FMT_EN; ++ break; ++ case DRM_FORMAT_YUV444: ++ case DRM_FORMAT_YUV422: ++ case DRM_FORMAT_YUV420: ++ case DRM_FORMAT_YUV411: ++ case DRM_FORMAT_YUV410: ++ priv->viu.vd1_if0_gen_reg |= VD_SEPARATE_EN; ++ priv->viu.vd1_if0_canvas0 = ++ CANVAS_ADDR2(priv->canvas_id_vd1_2) | ++ CANVAS_ADDR1(priv->canvas_id_vd1_1) | ++ CANVAS_ADDR0(priv->canvas_id_vd1_0); ++ switch (fb->format->format) { ++ case DRM_FORMAT_YUV422: ++ priv->viu.viu_vd1_fmt_ctrl = ++ VD_HORZ_Y_C_RATIO(1) | /* /2 */ ++ VD_HORZ_FMT_EN | ++ VD_VERT_RPT_LINE0 | ++ VD_VERT_INITIAL_PHASE(12) | ++ VD_VERT_PHASE_STEP(16) | /* /2 */ ++ VD_VERT_FMT_EN; ++ break; ++ case DRM_FORMAT_YUV420: ++ priv->viu.viu_vd1_fmt_ctrl = ++ VD_HORZ_Y_C_RATIO(1) | /* /2 */ ++ VD_HORZ_FMT_EN | ++ VD_VERT_RPT_LINE0 | ++ VD_VERT_INITIAL_PHASE(12) | ++ VD_VERT_PHASE_STEP(8) | /* /4 */ ++ VD_VERT_FMT_EN; ++ break; ++ case DRM_FORMAT_YUV411: ++ priv->viu.viu_vd1_fmt_ctrl = ++ VD_HORZ_Y_C_RATIO(2) | /* /4 */ ++ VD_HORZ_FMT_EN | ++ VD_VERT_RPT_LINE0 | ++ VD_VERT_INITIAL_PHASE(12) | ++ VD_VERT_PHASE_STEP(16) | /* /2 */ ++ VD_VERT_FMT_EN; ++ break; ++ case DRM_FORMAT_YUV410: ++ priv->viu.viu_vd1_fmt_ctrl = ++ VD_HORZ_Y_C_RATIO(2) | /* /4 */ ++ VD_HORZ_FMT_EN | ++ VD_VERT_RPT_LINE0 | ++ VD_VERT_INITIAL_PHASE(12) | ++ VD_VERT_PHASE_STEP(8) | /* /4 */ ++ VD_VERT_FMT_EN; ++ break; ++ } ++ break; ++ } ++ ++ /* Update Canvas with buffer address */ ++ priv->viu.vd1_planes = drm_format_num_planes(fb->format->format); ++ ++ switch (priv->viu.vd1_planes) { ++ case 3: ++ gem = drm_fb_cma_get_gem_obj(fb, 2); ++ priv->viu.vd1_addr2 = gem->paddr + fb->offsets[2]; ++ priv->viu.vd1_stride2 = fb->pitches[2]; ++ priv->viu.vd1_height2 = ++ drm_format_plane_height(fb->height, ++ fb->format->format, 2); ++ DRM_DEBUG("plane 2 addr 0x%x stride %d height %d\n", ++ priv->viu.vd1_addr2, ++ priv->viu.vd1_stride2, ++ priv->viu.vd1_height2); ++ case 2: ++ gem = drm_fb_cma_get_gem_obj(fb, 1); ++ priv->viu.vd1_addr1 = gem->paddr + fb->offsets[1]; ++ priv->viu.vd1_stride1 = fb->pitches[1]; ++ priv->viu.vd1_height1 = ++ drm_format_plane_height(fb->height, ++ fb->format->format, 1); ++ DRM_DEBUG("plane 1 addr 0x%x stride %d height %d\n", ++ priv->viu.vd1_addr1, ++ priv->viu.vd1_stride1, ++ priv->viu.vd1_height1); ++ case 1: ++ gem = drm_fb_cma_get_gem_obj(fb, 0); ++ priv->viu.vd1_addr0 = gem->paddr + fb->offsets[0]; ++ priv->viu.vd1_stride0 = fb->pitches[0]; ++ priv->viu.vd1_height0 = ++ drm_format_plane_height(fb->height, ++ fb->format->format, 0); ++ DRM_DEBUG("plane 0 addr 0x%x stride %d height %d\n", ++ priv->viu.vd1_addr0, ++ priv->viu.vd1_stride0, ++ priv->viu.vd1_height0); ++ } ++ ++ priv->viu.vd1_enabled = true; ++ ++ spin_unlock_irqrestore(&priv->drm->event_lock, flags); ++ ++ DRM_DEBUG_DRIVER("\n"); ++} ++ ++static void meson_overlay_atomic_disable(struct drm_plane *plane, ++ struct drm_plane_state *old_state) ++{ ++ struct meson_overlay *meson_overlay = to_meson_overlay(plane); ++ struct meson_drm *priv = meson_overlay->priv; ++ ++ DRM_DEBUG_DRIVER("\n"); ++ ++ priv->viu.vd1_enabled = false; ++ ++ /* Disable VD1 */ ++ writel_bits_relaxed(VPP_VD1_POSTBLEND | VPP_VD1_PREBLEND, 0, ++ priv->io_base + _REG(VPP_MISC)); ++ ++} ++ ++static const struct drm_plane_helper_funcs meson_overlay_helper_funcs = { ++ .atomic_check = meson_overlay_atomic_check, ++ .atomic_disable = meson_overlay_atomic_disable, ++ .atomic_update = meson_overlay_atomic_update, ++}; ++ ++static const struct drm_plane_funcs meson_overlay_funcs = { ++ .update_plane = drm_atomic_helper_update_plane, ++ .disable_plane = drm_atomic_helper_disable_plane, ++ .destroy = drm_plane_cleanup, ++ .reset = drm_atomic_helper_plane_reset, ++ .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, ++ .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, ++}; ++ ++static const uint32_t supported_drm_formats[] = { ++ DRM_FORMAT_RGB888, ++ DRM_FORMAT_YUYV, ++ DRM_FORMAT_NV12, ++ DRM_FORMAT_NV21, ++ DRM_FORMAT_YUV444, ++ DRM_FORMAT_YUV422, ++ DRM_FORMAT_YUV420, ++ DRM_FORMAT_YUV411, ++ DRM_FORMAT_YUV410, ++}; ++ ++int meson_overlay_create(struct meson_drm *priv) ++{ ++ struct meson_overlay *meson_overlay; ++ struct drm_plane *plane; ++ ++ DRM_DEBUG_DRIVER("\n"); ++ ++ meson_overlay = devm_kzalloc(priv->drm->dev, sizeof(*meson_overlay), ++ GFP_KERNEL); ++ if (!meson_overlay) ++ return -ENOMEM; ++ ++ meson_overlay->priv = priv; ++ plane = &meson_overlay->base; ++ ++ drm_universal_plane_init(priv->drm, plane, 0xFF, ++ &meson_overlay_funcs, ++ supported_drm_formats, ++ ARRAY_SIZE(supported_drm_formats), ++ NULL, ++ DRM_PLANE_TYPE_OVERLAY, "meson_overlay_plane"); ++ ++ drm_plane_helper_add(plane, &meson_overlay_helper_funcs); ++ ++ priv->overlay_plane = plane; ++ ++ DRM_DEBUG_DRIVER("\n"); ++ ++ return 0; ++} +diff --git a/drivers/gpu/drm/meson/meson_overlay.h b/drivers/gpu/drm/meson/meson_overlay.h +new file mode 100644 +index 0000000000000..0fd63dabcb964 +--- /dev/null ++++ b/drivers/gpu/drm/meson/meson_overlay.h +@@ -0,0 +1,14 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2018 BayLibre, SAS ++ * Author: Neil Armstrong ++ */ ++ ++#ifndef __MESON_OVERLAY_H ++#define __MESON_OVERLAY_H ++ ++#include "meson_drv.h" ++ ++int meson_overlay_create(struct meson_drm *priv); ++ ++#endif /* __MESON_OVERLAY_H */ +diff --git a/drivers/gpu/drm/meson/meson_registers.h b/drivers/gpu/drm/meson/meson_registers.h +index bca87143e5488..5c7e02c703bc7 100644 +--- a/drivers/gpu/drm/meson/meson_registers.h ++++ b/drivers/gpu/drm/meson/meson_registers.h +@@ -286,6 +286,7 @@ + #define VIU_OSD1_MATRIX_COEF22_30 0x1a9d + #define VIU_OSD1_MATRIX_COEF31_32 0x1a9e + #define VIU_OSD1_MATRIX_COEF40_41 0x1a9f ++#define VD1_IF0_GEN_REG3 0x1aa7 + #define VIU_OSD1_EOTF_CTL 0x1ad4 + #define VIU_OSD1_EOTF_COEF00_01 0x1ad5 + #define VIU_OSD1_EOTF_COEF02_10 0x1ad6 +@@ -297,6 +298,7 @@ + #define VIU_OSD1_OETF_CTL 0x1adc + #define VIU_OSD1_OETF_LUT_ADDR_PORT 0x1add + #define VIU_OSD1_OETF_LUT_DATA_PORT 0x1ade ++#define AFBC_ENABLE 0x1ae0 + + /* vpp */ + #define VPP_DUMMY_DATA 0x1d00 +@@ -349,6 +351,7 @@ + #define VPP_VD2_PREBLEND BIT(15) + #define VPP_OSD1_PREBLEND BIT(16) + #define VPP_OSD2_PREBLEND BIT(17) ++#define VPP_COLOR_MNG_ENABLE BIT(28) + #define VPP_OFIFO_SIZE 0x1d27 + #define VPP_FIFO_STATUS 0x1d28 + #define VPP_SMOKE_CTRL 0x1d29 +diff --git a/drivers/gpu/drm/meson/meson_viu.c b/drivers/gpu/drm/meson/meson_viu.c +index 5b48c4c0985b5..a423e7a61bf2c 100644 +--- a/drivers/gpu/drm/meson/meson_viu.c ++++ b/drivers/gpu/drm/meson/meson_viu.c +@@ -328,6 +328,21 @@ void meson_viu_init(struct meson_drm *priv) + 0xff << OSD_REPLACE_SHIFT, + priv->io_base + _REG(VIU_OSD2_CTRL_STAT2)); + ++ /* Disable VD1 AFBC */ ++ /* di_mif0_en=0 mif0_to_vpp_en=0 di_mad_en=0 */ ++ writel_bits_relaxed(0x7 << 16, 0, ++ priv->io_base + _REG(VIU_MISC_CTRL0)); ++ /* afbc vd1 set=0 */ ++ writel_bits_relaxed(BIT(20), 0, ++ priv->io_base + _REG(VIU_MISC_CTRL0)); ++ writel_relaxed(0, priv->io_base + _REG(AFBC_ENABLE)); ++ ++ writel_relaxed(0x00FF00C0, ++ priv->io_base + _REG(VD1_IF0_LUMA_FIFO_SIZE)); ++ writel_relaxed(0x00FF00C0, ++ priv->io_base + _REG(VD2_IF0_LUMA_FIFO_SIZE)); ++ ++ + priv->viu.osd1_enabled = false; + priv->viu.osd1_commit = false; + priv->viu.osd1_interlace = false; +diff --git a/drivers/gpu/drm/meson/meson_vpp.c b/drivers/gpu/drm/meson/meson_vpp.c +index 27356f81a0abe..5dc24a99e978b 100644 +--- a/drivers/gpu/drm/meson/meson_vpp.c ++++ b/drivers/gpu/drm/meson/meson_vpp.c +@@ -122,6 +122,31 @@ static void meson_vpp_write_scaling_filter_coefs(struct meson_drm *priv, + priv->io_base + _REG(VPP_OSD_SCALE_COEF)); + } + ++static const uint32_t vpp_filter_coefs_bicubic[] = { ++ 0x00800000, 0x007f0100, 0xff7f0200, 0xfe7f0300, ++ 0xfd7e0500, 0xfc7e0600, 0xfb7d0800, 0xfb7c0900, ++ 0xfa7b0b00, 0xfa7a0dff, 0xf9790fff, 0xf97711ff, ++ 0xf87613ff, 0xf87416fe, 0xf87218fe, 0xf8701afe, ++ 0xf76f1dfd, 0xf76d1ffd, 0xf76b21fd, 0xf76824fd, ++ 0xf76627fc, 0xf76429fc, 0xf7612cfc, 0xf75f2ffb, ++ 0xf75d31fb, 0xf75a34fb, 0xf75837fa, 0xf7553afa, ++ 0xf8523cfa, 0xf8503ff9, 0xf84d42f9, 0xf84a45f9, ++ 0xf84848f8 ++}; ++ ++static void meson_vpp_write_vd_scaling_filter_coefs(struct meson_drm *priv, ++ const unsigned int *coefs, ++ bool is_horizontal) ++{ ++ int i; ++ ++ writel_relaxed(is_horizontal ? BIT(8) : 0, ++ priv->io_base + _REG(VPP_SCALE_COEF_IDX)); ++ for (i = 0; i < 33; i++) ++ writel_relaxed(coefs[i], ++ priv->io_base + _REG(VPP_SCALE_COEF)); ++} ++ + void meson_vpp_init(struct meson_drm *priv) + { + /* set dummy data default YUV black */ +@@ -150,17 +175,34 @@ void meson_vpp_init(struct meson_drm *priv) + + /* Force all planes off */ + writel_bits_relaxed(VPP_OSD1_POSTBLEND | VPP_OSD2_POSTBLEND | +- VPP_VD1_POSTBLEND | VPP_VD2_POSTBLEND, 0, ++ VPP_VD1_POSTBLEND | VPP_VD2_POSTBLEND | ++ VPP_VD1_PREBLEND | VPP_VD2_PREBLEND, 0, + priv->io_base + _REG(VPP_MISC)); + ++ /* Setup default VD settings */ ++ writel_relaxed(4096, ++ priv->io_base + _REG(VPP_PREBLEND_VD1_H_START_END)); ++ writel_relaxed(4096, ++ priv->io_base + _REG(VPP_BLEND_VD2_H_START_END)); ++ + /* Disable Scalers */ + writel_relaxed(0, priv->io_base + _REG(VPP_OSD_SC_CTRL0)); + writel_relaxed(0, priv->io_base + _REG(VPP_OSD_VSC_CTRL0)); + writel_relaxed(0, priv->io_base + _REG(VPP_OSD_HSC_CTRL0)); ++ writel_relaxed(4 | (4 << 8) | BIT(15), ++ priv->io_base + _REG(VPP_SC_MISC)); ++ ++ writel_relaxed(1, priv->io_base + _REG(VPP_VADJ_CTRL)); + + /* Write in the proper filter coefficients. */ + meson_vpp_write_scaling_filter_coefs(priv, + vpp_filter_coefs_4point_bspline, false); + meson_vpp_write_scaling_filter_coefs(priv, + vpp_filter_coefs_4point_bspline, true); ++ ++ /* Write the VD proper filter coefficients. */ ++ meson_vpp_write_vd_scaling_filter_coefs(priv, vpp_filter_coefs_bicubic, ++ false); ++ meson_vpp_write_vd_scaling_filter_coefs(priv, vpp_filter_coefs_bicubic, ++ true); + } +diff --git a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c +index 6289965c42e98..05421d029dff9 100644 +--- a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c ++++ b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c +@@ -54,12 +54,12 @@ static int meson_gx_pwrc_vpu_power_off(struct generic_pm_domain *genpd) + /* Power Down Memories */ + for (i = 0; i < 32; i += 2) { + regmap_update_bits(pd->regmap_hhi, HHI_VPU_MEM_PD_REG0, +- 0x2 << i, 0x3 << i); ++ 0x3 << i, 0x3 << i); + udelay(5); + } + for (i = 0; i < 32; i += 2) { + regmap_update_bits(pd->regmap_hhi, HHI_VPU_MEM_PD_REG1, +- 0x2 << i, 0x3 << i); ++ 0x3 << i, 0x3 << i); + udelay(5); + } + for (i = 8; i < 16; i++) { +@@ -108,13 +108,13 @@ static int meson_gx_pwrc_vpu_power_on(struct generic_pm_domain *genpd) + /* Power Up Memories */ + for (i = 0; i < 32; i += 2) { + regmap_update_bits(pd->regmap_hhi, HHI_VPU_MEM_PD_REG0, +- 0x2 << i, 0); ++ 0x3 << i, 0); + udelay(5); + } + + for (i = 0; i < 32; i += 2) { + regmap_update_bits(pd->regmap_hhi, HHI_VPU_MEM_PD_REG1, +- 0x2 << i, 0); ++ 0x3 << i, 0); + udelay(5); + } + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/018_linux-4.18-yocto-meson64-0001-ARM64-dts-meson-gxbb-nanopi-k2-Add-HDMI-CEC-and-CVBS.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/018_linux-4.18-yocto-meson64-0001-ARM64-dts-meson-gxbb-nanopi-k2-Add-HDMI-CEC-and-CVBS.patch new file mode 100644 index 000000000..aad63ba8f --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/018_linux-4.18-yocto-meson64-0001-ARM64-dts-meson-gxbb-nanopi-k2-Add-HDMI-CEC-and-CVBS.patch @@ -0,0 +1,81 @@ +From 6c5aaf27886c9b308e9c4e4d613990e540f23ec8 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Tue, 26 Jun 2018 09:37:39 +0200 +Subject: [PATCH] ARM64: dts: meson-gxbb-nanopi-k2: Add HDMI, CEC and CVBS + nodes + +The Amlogic Meson GXBB based Nanopi-K2 board has an HDMI connector +with CEC and CVBS available on the 40pin header. +This patch adds the nodes to enable HDMI, CEC and CVBS functionnalities. + +Signed-off-by: Neil Armstrong +--- + .../boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 48 ++++++++++++++++++++++ + 1 file changed, 48 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +index 7d5709c..cbe99bd 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +@@ -106,6 +106,42 @@ + compatible = "mmc-pwrseq-emmc"; + reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; + }; ++ ++ /* CVBS is available on CON1 pin 36, disabled by default */ ++ cvbs-connector { ++ compatible = "composite-video-connector"; ++ status = "disabled"; ++ ++ port { ++ cvbs_connector_in: endpoint { ++ remote-endpoint = <&cvbs_vdac_out>; ++ }; ++ }; ++ }; ++ ++ hdmi-connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ++ port { ++ hdmi_connector_in: endpoint { ++ remote-endpoint = <&hdmi_tx_tmds_out>; ++ }; ++ }; ++ }; ++}; ++ ++&cec_AO { ++ status = "okay"; ++ pinctrl-0 = <&ao_cec_pins>; ++ pinctrl-names = "default"; ++ hdmi-phandle = <&hdmi_tx>; ++}; ++ ++&cvbs_vdac_port { ++ cvbs_vdac_out: endpoint { ++ remote-endpoint = <&cvbs_connector_in>; ++ }; + }; + + ðmac { +@@ -137,6 +173,18 @@ + }; + }; + ++&hdmi_tx { ++ status = "okay"; ++ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&hdmi_tx_tmds_port { ++ hdmi_tx_tmds_out: endpoint { ++ remote-endpoint = <&hdmi_connector_in>; ++ }; ++}; ++ + &ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/020_linux-4.18-yocto-meson64-0003-ARM64-defconfig-enable-CEC-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/020_linux-4.18-yocto-meson64-0003-ARM64-defconfig-enable-CEC-support.patch new file mode 100644 index 000000000..7c0471753 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/020_linux-4.18-yocto-meson64-0003-ARM64-defconfig-enable-CEC-support.patch @@ -0,0 +1,44 @@ +From e41c06328d1cd0989899d6a0897c6857d0cf9a4b Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Mon, 13 Nov 2017 12:09:40 +0100 +Subject: [PATCH] ARM64: defconfig: enable CEC support + +Turn on CONFIG_CEC_SUPPORT and CONFIG_CEC_PLATFORM_DRIVERS +Turn on CONFIG_VIDEO_MESON_AO_CEC as module +Turn on CONFIG_DRM_DW_HDMI_CEC as module + +Signed-off-by: Jerome Brunet +Signed-off-by: Neil Armstrong +--- + arch/arm64/configs/defconfig | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig +index f9a186f..2584605 100644 +--- a/arch/arm64/configs/defconfig ++++ b/arch/arm64/configs/defconfig +@@ -402,6 +402,7 @@ CONFIG_MEDIA_SUPPORT=m + CONFIG_MEDIA_CAMERA_SUPPORT=y + CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y ++CONFIG_MEDIA_CEC_SUPPORT=y + CONFIG_MEDIA_CONTROLLER=y + CONFIG_VIDEO_V4L2_SUBDEV_API=y + # CONFIG_DVB_NET is not set +@@ -411,6 +412,8 @@ CONFIG_VIDEO_SAMSUNG_S5P_MFC=m + CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m + CONFIG_VIDEO_RENESAS_FCP=m + CONFIG_VIDEO_RENESAS_VSP1=m ++CONFIG_CEC_PLATFORM_DRIVERS=y ++CONFIG_VIDEO_MESON_AO_CEC=m + CONFIG_DRM=m + CONFIG_DRM_NOUVEAU=m + CONFIG_DRM_EXYNOS=m +@@ -431,6 +434,7 @@ CONFIG_DRM_RCAR_LVDS=m + CONFIG_DRM_TEGRA=m + CONFIG_DRM_PANEL_SIMPLE=m + CONFIG_DRM_I2C_ADV7511=m ++CONFIG_DRM_DW_HDMI_CEC=m + CONFIG_DRM_VC4=m + CONFIG_DRM_HISI_HIBMC=m + CONFIG_DRM_HISI_KIRIN=m diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/021_linux-4.18-yocto-meson64-0004-clk-meson-switch-gxbb-cts-amclk-div-to-the-generic-d.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/021_linux-4.18-yocto-meson64-0004-clk-meson-switch-gxbb-cts-amclk-div-to-the-generic-d.patch new file mode 100644 index 000000000..e2b3860f5 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/021_linux-4.18-yocto-meson64-0004-clk-meson-switch-gxbb-cts-amclk-div-to-the-generic-d.patch @@ -0,0 +1,44 @@ +From 0cecf963b9d815699fe50b7a7ee4a93ece3ed834 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Tue, 19 Jun 2018 18:14:49 +0200 +Subject: [PATCH] clk: meson: switch gxbb cts-amclk div to the generic divider + +clk-audio-divider was a (poor) attempt to use CCF rate propagation +while making sure the PLL rate would be high enough to work with +audio use cases. The result is far from optimal. We can do better +by carefully choosing the PLL rates for the audio use cases. +Doing so, we don't need to use clk-audio-divider anymore. The +generic will do + +Signed-off-by: Jerome Brunet +--- + drivers/clk/meson/gxbb.c | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c +index 177fffb..69a58cb 100644 +--- a/drivers/clk/meson/gxbb.c ++++ b/drivers/clk/meson/gxbb.c +@@ -982,17 +982,15 @@ static struct clk_regmap gxbb_cts_amclk_sel = { + }; + + static struct clk_regmap gxbb_cts_amclk_div = { +- .data = &(struct meson_clk_audio_div_data){ +- .div = { +- .reg_off = HHI_AUD_CLK_CNTL, +- .shift = 0, +- .width = 8, +- }, ++ .data = &(struct clk_regmap_div_data) { ++ .offset = HHI_AUD_CLK_CNTL, ++ .shift = 0, ++ .width = 8, + .flags = CLK_DIVIDER_ROUND_CLOSEST, + }, + .hw.init = &(struct clk_init_data){ + .name = "cts_amclk_div", +- .ops = &meson_clk_audio_divider_ops, ++ .ops = &clk_regmap_divider_ops, + .parent_names = (const char *[]){ "cts_amclk_sel" }, + .num_parents = 1, + .flags = CLK_SET_RATE_PARENT, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/022_linux-4.18-yocto-meson64-0005-clk-meson-remove-unused-clk-audio-divider-driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/022_linux-4.18-yocto-meson64-0005-clk-meson-remove-unused-clk-audio-divider-driver.patch new file mode 100644 index 000000000..cd6da8cf5 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/022_linux-4.18-yocto-meson64-0005-clk-meson-remove-unused-clk-audio-divider-driver.patch @@ -0,0 +1,48 @@ +From e87dd7b11611e4ac5279ba4ad4f1fea4d0900273 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Tue, 19 Jun 2018 18:23:28 +0200 +Subject: [PATCH] clk: meson: remove unused clk-audio-divider driver + +Signed-off-by: Jerome Brunet +--- + drivers/clk/meson/Makefile | 2 +- + drivers/clk/meson/clkc.h | 7 ------- + 2 files changed, 1 insertion(+), 8 deletions(-) + +diff --git a/drivers/clk/meson/Makefile b/drivers/clk/meson/Makefile +index d0d13ae..e40fea9 100644 +--- a/drivers/clk/meson/Makefile ++++ b/drivers/clk/meson/Makefile +@@ -2,7 +2,7 @@ + # Makefile for Meson specific clk + # + +-obj-$(CONFIG_COMMON_CLK_AMLOGIC) += clk-pll.o clk-mpll.o clk-audio-divider.o ++obj-$(CONFIG_COMMON_CLK_AMLOGIC) += clk-pll.o clk-mpll.o + obj-$(CONFIG_COMMON_CLK_MESON_AO) += meson-aoclk.o + obj-$(CONFIG_COMMON_CLK_MESON8B) += meson8b.o + obj-$(CONFIG_COMMON_CLK_GXBB) += gxbb.o gxbb-aoclk.o gxbb-aoclk-32k.o +diff --git a/drivers/clk/meson/clkc.h b/drivers/clk/meson/clkc.h +index 2fb0843..48db024 100644 +--- a/drivers/clk/meson/clkc.h ++++ b/drivers/clk/meson/clkc.h +@@ -91,11 +91,6 @@ struct meson_clk_mpll_data { + + #define CLK_MESON_MPLL_ROUND_CLOSEST BIT(0) + +-struct meson_clk_audio_div_data { +- struct parm div; +- u8 flags; +-}; +- + #define MESON_GATE(_name, _reg, _bit) \ + struct clk_regmap _name = { \ + .data = &(struct clk_regmap_gate_data){ \ +@@ -117,7 +112,5 @@ extern const struct clk_ops meson_clk_pll_ops; + extern const struct clk_ops meson_clk_cpu_ops; + extern const struct clk_ops meson_clk_mpll_ro_ops; + extern const struct clk_ops meson_clk_mpll_ops; +-extern const struct clk_ops meson_clk_audio_divider_ro_ops; +-extern const struct clk_ops meson_clk_audio_divider_ops; + + #endif /* __CLKC_H */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/023_linux-4.18-yocto-meson64-0006-ASoC-meson-add-meson-audio-core-driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/023_linux-4.18-yocto-meson64-0006-ASoC-meson-add-meson-audio-core-driver.patch new file mode 100644 index 000000000..69c0ab299 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/023_linux-4.18-yocto-meson64-0006-ASoC-meson-add-meson-audio-core-driver.patch @@ -0,0 +1,308 @@ +From 878d41be386f0bcbe1475f65acd8b9fb304529a0 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 30 Mar 2017 11:49:55 +0200 +Subject: [PATCH] ASoC: meson: add meson audio core driver + +This patch adds support for the audio core driver for the Amlogic Meson SoC +family. The purpose of this driver is to properly reset the audio block and +provide register access for the different devices scattered in this address +space. This includes output and input DMAs, pcm, i2s and spdif dai, card +level routing, internal codec for the gxl variant + +For more information, please refer to the section 5 of the public datasheet +of the S905 (gxbb). This datasheet is available here: [0]. + +[0]: http://dn.odroid.com/S905/DataSheet/S905_Public_Datasheet_V1.1.4.pdf + +Signed-off-by: Jerome Brunet +--- + sound/soc/Kconfig | 1 + + sound/soc/Makefile | 1 + + sound/soc/meson/Kconfig | 9 ++ + sound/soc/meson/Makefile | 3 + + sound/soc/meson/audio-core.c | 190 +++++++++++++++++++++++++++++++++++++++++++ + sound/soc/meson/audio-core.h | 28 +++++++ + 6 files changed, 232 insertions(+) + create mode 100644 sound/soc/meson/Kconfig + create mode 100644 sound/soc/meson/Makefile + create mode 100644 sound/soc/meson/audio-core.c + create mode 100644 sound/soc/meson/audio-core.h + +diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig +index 41af6b9..1cf11cf 100644 +--- a/sound/soc/Kconfig ++++ b/sound/soc/Kconfig +@@ -57,6 +57,7 @@ source "sound/soc/kirkwood/Kconfig" + source "sound/soc/img/Kconfig" + source "sound/soc/intel/Kconfig" + source "sound/soc/mediatek/Kconfig" ++source "sound/soc/meson/Kconfig" + source "sound/soc/mxs/Kconfig" + source "sound/soc/pxa/Kconfig" + source "sound/soc/qcom/Kconfig" +diff --git a/sound/soc/Makefile b/sound/soc/Makefile +index 06389a5..62a5f87 100644 +--- a/sound/soc/Makefile ++++ b/sound/soc/Makefile +@@ -38,6 +38,7 @@ obj-$(CONFIG_SND_SOC) += jz4740/ + obj-$(CONFIG_SND_SOC) += img/ + obj-$(CONFIG_SND_SOC) += intel/ + obj-$(CONFIG_SND_SOC) += mediatek/ ++obj-$(CONFIG_SND_SOC) += meson/ + obj-$(CONFIG_SND_SOC) += mxs/ + obj-$(CONFIG_SND_SOC) += nuc900/ + obj-$(CONFIG_SND_SOC) += omap/ +diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig +new file mode 100644 +index 0000000..ca0e3e9 +--- /dev/null ++++ b/sound/soc/meson/Kconfig +@@ -0,0 +1,9 @@ ++menuconfig SND_SOC_MESON ++ tristate "ASoC support for Amlogic Meson SoCs" ++ depends on ARCH_MESON ++ select MFD_CORE ++ select REGMAP_MMIO ++ help ++ Say Y or M if you want to add support for codecs attached to ++ the Amlogic Meson SoCs Audio interfaces. You will also need to ++ select the audio interfaces to support below. +diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile +new file mode 100644 +index 0000000..22028ab +--- /dev/null ++++ b/sound/soc/meson/Makefile +@@ -0,0 +1,3 @@ ++snd-soc-meson-audio-core-objs := audio-core.o ++ ++obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o +diff --git a/sound/soc/meson/audio-core.c b/sound/soc/meson/audio-core.c +new file mode 100644 +index 0000000..99993ec +--- /dev/null ++++ b/sound/soc/meson/audio-core.c +@@ -0,0 +1,190 @@ ++/* ++ * Copyright (C) 2017 BayLibre, SAS ++ * Author: Jerome Brunet ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see . ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "audio-core.h" ++ ++#define DRV_NAME "meson-audio-core" ++ ++static const char * const acore_clock_names[] = { "aiu_top", ++ "aiu_glue", ++ "audin" }; ++ ++static int meson_acore_init_clocks(struct device *dev) ++{ ++ struct clk *clock; ++ int i, ret; ++ ++ for (i = 0; i < ARRAY_SIZE(acore_clock_names); i++) { ++ clock = devm_clk_get(dev, acore_clock_names[i]); ++ if (IS_ERR(clock)) { ++ if (PTR_ERR(clock) != -EPROBE_DEFER) ++ dev_err(dev, "Failed to get %s clock\n", ++ acore_clock_names[i]); ++ return PTR_ERR(clock); ++ } ++ ++ ret = clk_prepare_enable(clock); ++ if (ret) { ++ dev_err(dev, "Failed to enable %s clock\n", ++ acore_clock_names[i]); ++ return ret; ++ } ++ ++ ret = devm_add_action_or_reset(dev, ++ (void(*)(void *))clk_disable_unprepare, ++ clock); ++ if (ret) ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static const char * const acore_reset_names[] = { "aiu", ++ "audin" }; ++ ++static int meson_acore_init_resets(struct device *dev) ++{ ++ struct reset_control *reset; ++ int i, ret; ++ ++ for (i = 0; i < ARRAY_SIZE(acore_reset_names); i++) { ++ reset = devm_reset_control_get_exclusive(dev, ++ acore_reset_names[i]); ++ if (IS_ERR(reset)) { ++ if (PTR_ERR(reset) != -EPROBE_DEFER) ++ dev_err(dev, "Failed to get %s reset\n", ++ acore_reset_names[i]); ++ return PTR_ERR(reset); ++ } ++ ++ ret = reset_control_reset(reset); ++ if (ret) { ++ dev_err(dev, "Failed to pulse %s reset\n", ++ acore_reset_names[i]); ++ return ret; ++ } ++ } ++ ++ return 0; ++} ++ ++static const struct regmap_config meson_acore_regmap_config = { ++ .reg_bits = 32, ++ .val_bits = 32, ++ .reg_stride = 4, ++}; ++ ++static const struct mfd_cell meson_acore_devs[] = { ++ { ++ .name = "meson-i2s-dai", ++ .of_compatible = "amlogic,meson-i2s-dai", ++ }, ++ { ++ .name = "meson-spdif-dai", ++ .of_compatible = "amlogic,meson-spdif-dai", ++ }, ++ { ++ .name = "meson-aiu-i2s-dma", ++ .of_compatible = "amlogic,meson-aiu-i2s-dma", ++ }, ++ { ++ .name = "meson-aiu-spdif-dma", ++ .of_compatible = "amlogic,meson-aiu-spdif-dma", ++ }, ++}; ++ ++static int meson_acore_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct meson_audio_core_data *data; ++ struct resource *res; ++ void __iomem *regs; ++ int ret; ++ ++ data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); ++ if (!data) ++ return -ENOMEM; ++ platform_set_drvdata(pdev, data); ++ ++ ret = meson_acore_init_clocks(dev); ++ if (ret) ++ return ret; ++ ++ ret = meson_acore_init_resets(dev); ++ if (ret) ++ return ret; ++ ++ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "aiu"); ++ regs = devm_ioremap_resource(dev, res); ++ if (IS_ERR(regs)) ++ return PTR_ERR(regs); ++ ++ data->aiu = devm_regmap_init_mmio(dev, regs, ++ &meson_acore_regmap_config); ++ if (IS_ERR(data->aiu)) { ++ dev_err(dev, "Couldn't create the AIU regmap\n"); ++ return PTR_ERR(data->aiu); ++ } ++ ++ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "audin"); ++ regs = devm_ioremap_resource(dev, res); ++ if (IS_ERR(regs)) ++ return PTR_ERR(regs); ++ ++ data->audin = devm_regmap_init_mmio(dev, regs, ++ &meson_acore_regmap_config); ++ if (IS_ERR(data->audin)) { ++ dev_err(dev, "Couldn't create the AUDIN regmap\n"); ++ return PTR_ERR(data->audin); ++ } ++ ++ return devm_mfd_add_devices(dev, PLATFORM_DEVID_AUTO, meson_acore_devs, ++ ARRAY_SIZE(meson_acore_devs), NULL, 0, ++ NULL); ++} ++ ++static const struct of_device_id meson_acore_of_match[] = { ++ { .compatible = "amlogic,meson-audio-core", }, ++ { .compatible = "amlogic,meson-gxbb-audio-core", }, ++ { .compatible = "amlogic,meson-gxl-audio-core", }, ++ {} ++}; ++MODULE_DEVICE_TABLE(of, meson_acore_of_match); ++ ++static struct platform_driver meson_acore_pdrv = { ++ .probe = meson_acore_probe, ++ .driver = { ++ .name = DRV_NAME, ++ .of_match_table = meson_acore_of_match, ++ }, ++}; ++module_platform_driver(meson_acore_pdrv); ++ ++MODULE_DESCRIPTION("Meson Audio Core Driver"); ++MODULE_AUTHOR("Jerome Brunet "); ++MODULE_LICENSE("GPL v2"); +diff --git a/sound/soc/meson/audio-core.h b/sound/soc/meson/audio-core.h +new file mode 100644 +index 0000000..6e7a24c +--- /dev/null ++++ b/sound/soc/meson/audio-core.h +@@ -0,0 +1,28 @@ ++/* ++ * Copyright (C) 2017 BayLibre, SAS ++ * Author: Jerome Brunet ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see . ++ */ ++ ++#ifndef _MESON_AUDIO_CORE_H_ ++#define _MESON_AUDIO_CORE_H_ ++ ++struct meson_audio_core_data { ++ struct regmap *aiu; ++ struct regmap *audin; ++}; ++ ++#endif /* _MESON_AUDIO_CORE_H_ */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/024_linux-4.18-yocto-meson64-0007-ASoC-meson-add-register-definitions.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/024_linux-4.18-yocto-meson64-0007-ASoC-meson-add-register-definitions.patch new file mode 100644 index 000000000..0a13a427c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/024_linux-4.18-yocto-meson64-0007-ASoC-meson-add-register-definitions.patch @@ -0,0 +1,357 @@ +From f6c0ce626b08f5ba85bd9bfe000044c4f9e7da24 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 30 Mar 2017 12:00:10 +0200 +Subject: [PATCH] ASoC: meson: add register definitions + +Add the register definition for the AIU and AUDIN blocks + +Signed-off-by: Jerome Brunet +--- + sound/soc/meson/aiu-regs.h | 182 +++++++++++++++++++++++++++++++++++++++++++ + sound/soc/meson/audin-regs.h | 148 +++++++++++++++++++++++++++++++++++ + 2 files changed, 330 insertions(+) + create mode 100644 sound/soc/meson/aiu-regs.h + create mode 100644 sound/soc/meson/audin-regs.h + +diff --git a/sound/soc/meson/aiu-regs.h b/sound/soc/meson/aiu-regs.h +new file mode 100644 +index 0000000..67391e6 +--- /dev/null ++++ b/sound/soc/meson/aiu-regs.h +@@ -0,0 +1,182 @@ ++/* ++ * Copyright (C) 2017 BayLibre, SAS ++ * Author: Jerome Brunet ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see . ++ */ ++ ++#ifndef _AIU_REGS_H_ ++#define _AIU_REGS_H_ ++ ++#define AIU_958_BPF 0x000 ++#define AIU_958_BRST 0x004 ++#define AIU_958_LENGTH 0x008 ++#define AIU_958_PADDSIZE 0x00C ++#define AIU_958_MISC 0x010 ++#define AIU_958_FORCE_LEFT 0x014 /* Unknown */ ++#define AIU_958_DISCARD_NUM 0x018 ++#define AIU_958_DCU_FF_CTRL 0x01C ++#define AIU_958_CHSTAT_L0 0x020 ++#define AIU_958_CHSTAT_L1 0x024 ++#define AIU_958_CTRL 0x028 ++#define AIU_958_RPT 0x02C ++#define AIU_I2S_MUTE_SWAP 0x030 ++#define AIU_I2S_SOURCE_DESC 0x034 ++#define AIU_I2S_MED_CTRL 0x038 ++#define AIU_I2S_MED_THRESH 0x03C ++#define AIU_I2S_DAC_CFG 0x040 ++#define AIU_I2S_SYNC 0x044 /* Unknown */ ++#define AIU_I2S_MISC 0x048 ++#define AIU_I2S_OUT_CFG 0x04C ++#define AIU_I2S_FF_CTRL 0x050 /* Unknown */ ++#define AIU_RST_SOFT 0x054 ++#define AIU_CLK_CTRL 0x058 ++#define AIU_MIX_ADCCFG 0x05C ++#define AIU_MIX_CTRL 0x060 ++#define AIU_CLK_CTRL_MORE 0x064 ++#define AIU_958_POP 0x068 ++#define AIU_MIX_GAIN 0x06C ++#define AIU_958_SYNWORD1 0x070 ++#define AIU_958_SYNWORD2 0x074 ++#define AIU_958_SYNWORD3 0x078 ++#define AIU_958_SYNWORD1_MASK 0x07C ++#define AIU_958_SYNWORD2_MASK 0x080 ++#define AIU_958_SYNWORD3_MASK 0x084 ++#define AIU_958_FFRDOUT_THD 0x088 ++#define AIU_958_LENGTH_PER_PAUSE 0x08C ++#define AIU_958_PAUSE_NUM 0x090 ++#define AIU_958_PAUSE_PAYLOAD 0x094 ++#define AIU_958_AUTO_PAUSE 0x098 ++#define AIU_958_PAUSE_PD_LENGTH 0x09C ++#define AIU_CODEC_DAC_LRCLK_CTRL 0x0A0 ++#define AIU_CODEC_ADC_LRCLK_CTRL 0x0A4 ++#define AIU_HDMI_CLK_DATA_CTRL 0x0A8 ++#define AIU_CODEC_CLK_DATA_CTRL 0x0AC ++#define AIU_ACODEC_CTRL 0x0B0 ++#define AIU_958_CHSTAT_R0 0x0C0 ++#define AIU_958_CHSTAT_R1 0x0C4 ++#define AIU_958_VALID_CTRL 0x0C8 ++#define AIU_AUDIO_AMP_REG0 0x0F0 /* Unknown */ ++#define AIU_AUDIO_AMP_REG1 0x0F4 /* Unknown */ ++#define AIU_AUDIO_AMP_REG2 0x0F8 /* Unknown */ ++#define AIU_AUDIO_AMP_REG3 0x0FC /* Unknown */ ++#define AIU_AIFIFO2_CTRL 0x100 ++#define AIU_AIFIFO2_STATUS 0x104 ++#define AIU_AIFIFO2_GBIT 0x108 ++#define AIU_AIFIFO2_CLB 0x10C ++#define AIU_CRC_CTRL 0x110 ++#define AIU_CRC_STATUS 0x114 ++#define AIU_CRC_SHIFT_REG 0x118 ++#define AIU_CRC_IREG 0x11C ++#define AIU_CRC_CAL_REG1 0x120 ++#define AIU_CRC_CAL_REG0 0x124 ++#define AIU_CRC_POLY_COEF1 0x128 ++#define AIU_CRC_POLY_COEF0 0x12C ++#define AIU_CRC_BIT_SIZE1 0x130 ++#define AIU_CRC_BIT_SIZE0 0x134 ++#define AIU_CRC_BIT_CNT1 0x138 ++#define AIU_CRC_BIT_CNT0 0x13C ++#define AIU_AMCLK_GATE_HI 0x140 ++#define AIU_AMCLK_GATE_LO 0x144 ++#define AIU_AMCLK_MSR 0x148 ++#define AIU_AUDAC_CTRL0 0x14C /* Unknown */ ++#define AIU_DELTA_SIGMA0 0x154 /* Unknown */ ++#define AIU_DELTA_SIGMA1 0x158 /* Unknown */ ++#define AIU_DELTA_SIGMA2 0x15C /* Unknown */ ++#define AIU_DELTA_SIGMA3 0x160 /* Unknown */ ++#define AIU_DELTA_SIGMA4 0x164 /* Unknown */ ++#define AIU_DELTA_SIGMA5 0x168 /* Unknown */ ++#define AIU_DELTA_SIGMA6 0x16C /* Unknown */ ++#define AIU_DELTA_SIGMA7 0x170 /* Unknown */ ++#define AIU_DELTA_SIGMA_LCNTS 0x174 /* Unknown */ ++#define AIU_DELTA_SIGMA_RCNTS 0x178 /* Unknown */ ++#define AIU_MEM_I2S_START_PTR 0x180 ++#define AIU_MEM_I2S_RD_PTR 0x184 ++#define AIU_MEM_I2S_END_PTR 0x188 ++#define AIU_MEM_I2S_MASKS 0x18C ++#define AIU_MEM_I2S_CONTROL 0x190 ++#define AIU_MEM_IEC958_START_PTR 0x194 ++#define AIU_MEM_IEC958_RD_PTR 0x198 ++#define AIU_MEM_IEC958_END_PTR 0x19C ++#define AIU_MEM_IEC958_MASKS 0x1A0 ++#define AIU_MEM_IEC958_CONTROL 0x1A4 ++#define AIU_MEM_AIFIFO2_START_PTR 0x1A8 ++#define AIU_MEM_AIFIFO2_CURR_PTR 0x1AC ++#define AIU_MEM_AIFIFO2_END_PTR 0x1B0 ++#define AIU_MEM_AIFIFO2_BYTES_AVAIL 0x1B4 ++#define AIU_MEM_AIFIFO2_CONTROL 0x1B8 ++#define AIU_MEM_AIFIFO2_MAN_WP 0x1BC ++#define AIU_MEM_AIFIFO2_MAN_RP 0x1C0 ++#define AIU_MEM_AIFIFO2_LEVEL 0x1C4 ++#define AIU_MEM_AIFIFO2_BUF_CNTL 0x1C8 ++#define AIU_MEM_I2S_MAN_WP 0x1CC ++#define AIU_MEM_I2S_MAN_RP 0x1D0 ++#define AIU_MEM_I2S_LEVEL 0x1D4 ++#define AIU_MEM_I2S_BUF_CNTL 0x1D8 ++#define AIU_MEM_I2S_BUF_WRAP_COUNT 0x1DC ++#define AIU_MEM_I2S_MEM_CTL 0x1E0 ++#define AIU_MEM_IEC958_MEM_CTL 0x1E4 ++#define AIU_MEM_IEC958_WRAP_COUNT 0x1E8 ++#define AIU_MEM_IEC958_IRQ_LEVEL 0x1EC ++#define AIU_MEM_IEC958_MAN_WP 0x1F0 ++#define AIU_MEM_IEC958_MAN_RP 0x1F4 ++#define AIU_MEM_IEC958_LEVEL 0x1F8 ++#define AIU_MEM_IEC958_BUF_CNTL 0x1FC ++#define AIU_AIFIFO_CTRL 0x200 ++#define AIU_AIFIFO_STATUS 0x204 ++#define AIU_AIFIFO_GBIT 0x208 ++#define AIU_AIFIFO_CLB 0x20C ++#define AIU_MEM_AIFIFO_START_PTR 0x210 ++#define AIU_MEM_AIFIFO_CURR_PTR 0x214 ++#define AIU_MEM_AIFIFO_END_PTR 0x218 ++#define AIU_MEM_AIFIFO_BYTES_AVAIL 0x21C ++#define AIU_MEM_AIFIFO_CONTROL 0x220 ++#define AIU_MEM_AIFIFO_MAN_WP 0x224 ++#define AIU_MEM_AIFIFO_MAN_RP 0x228 ++#define AIU_MEM_AIFIFO_LEVEL 0x22C ++#define AIU_MEM_AIFIFO_BUF_CNTL 0x230 ++#define AIU_MEM_AIFIFO_BUF_WRAP_COUNT 0x234 ++#define AIU_MEM_AIFIFO2_BUF_WRAP_COUNT 0x238 ++#define AIU_MEM_AIFIFO_MEM_CTL 0x23C ++#define AIFIFO_TIME_STAMP_CNTL 0x240 ++#define AIFIFO_TIME_STAMP_SYNC_0 0x244 ++#define AIFIFO_TIME_STAMP_SYNC_1 0x248 ++#define AIFIFO_TIME_STAMP_0 0x24C ++#define AIFIFO_TIME_STAMP_1 0x250 ++#define AIFIFO_TIME_STAMP_2 0x254 ++#define AIFIFO_TIME_STAMP_3 0x258 ++#define AIFIFO_TIME_STAMP_LENGTH 0x25C ++#define AIFIFO2_TIME_STAMP_CNTL 0x260 ++#define AIFIFO2_TIME_STAMP_SYNC_0 0x264 ++#define AIFIFO2_TIME_STAMP_SYNC_1 0x268 ++#define AIFIFO2_TIME_STAMP_0 0x26C ++#define AIFIFO2_TIME_STAMP_1 0x270 ++#define AIFIFO2_TIME_STAMP_2 0x274 ++#define AIFIFO2_TIME_STAMP_3 0x278 ++#define AIFIFO2_TIME_STAMP_LENGTH 0x27C ++#define IEC958_TIME_STAMP_CNTL 0x280 ++#define IEC958_TIME_STAMP_SYNC_0 0x284 ++#define IEC958_TIME_STAMP_SYNC_1 0x288 ++#define IEC958_TIME_STAMP_0 0x28C ++#define IEC958_TIME_STAMP_1 0x290 ++#define IEC958_TIME_STAMP_2 0x294 ++#define IEC958_TIME_STAMP_3 0x298 ++#define IEC958_TIME_STAMP_LENGTH 0x29C ++#define AIU_MEM_AIFIFO2_MEM_CTL 0x2A0 ++#define AIU_I2S_CBUS_DDR_CNTL 0x2A4 ++#define AIU_I2S_CBUS_DDR_WDATA 0x2A8 ++#define AIU_I2S_CBUS_DDR_ADDR 0x2AC ++ ++#endif /* _AIU_REGS_H_ */ +diff --git a/sound/soc/meson/audin-regs.h b/sound/soc/meson/audin-regs.h +new file mode 100644 +index 0000000..f224610 +--- /dev/null ++++ b/sound/soc/meson/audin-regs.h +@@ -0,0 +1,148 @@ ++/* ++ * Copyright (C) 2017 BayLibre, SAS ++ * Author: Jerome Brunet ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see . ++ */ ++ ++#ifndef _AUDIN_REGS_H_ ++#define _AUDIN_REGS_H_ ++ ++/* ++ * Note : ++ * Datasheet issue page 196 ++ * AUDIN_MUTE_VAL 0x35 => impossible: Already assigned to AUDIN_FIFO1_PTR ++ * AUDIN_FIFO1_PTR is more likely to be correct here since surrounding registers ++ * also deal with AUDIN_FIFO1 ++ * ++ * Clarification needed from Amlogic ++ */ ++ ++#define AUDIN_SPDIF_MODE 0x000 ++#define AUDIN_SPDIF_FS_CLK_RLTN 0x004 ++#define AUDIN_SPDIF_CHNL_STS_A 0x008 ++#define AUDIN_SPDIF_CHNL_STS_B 0x00C ++#define AUDIN_SPDIF_MISC 0x010 ++#define AUDIN_SPDIF_NPCM_PCPD 0x014 ++#define AUDIN_SPDIF_END 0x03C /* Unknown */ ++#define AUDIN_I2SIN_CTRL 0x040 ++#define AUDIN_SOURCE_SEL 0x044 ++#define AUDIN_DECODE_FORMAT 0x048 ++#define AUDIN_DECODE_CONTROL_STATUS 0x04C ++#define AUDIN_DECODE_CHANNEL_STATUS_A_0 0x050 ++#define AUDIN_DECODE_CHANNEL_STATUS_A_1 0x054 ++#define AUDIN_DECODE_CHANNEL_STATUS_A_2 0x058 ++#define AUDIN_DECODE_CHANNEL_STATUS_A_3 0x05C ++#define AUDIN_DECODE_CHANNEL_STATUS_A_4 0x060 ++#define AUDIN_DECODE_CHANNEL_STATUS_A_5 0x064 ++#define AUDIN_FIFO0_START 0x080 ++#define AUDIN_FIFO0_END 0x084 ++#define AUDIN_FIFO0_PTR 0x088 ++#define AUDIN_FIFO0_INTR 0x08C ++#define AUDIN_FIFO0_RDPTR 0x090 ++#define AUDIN_FIFO0_CTRL 0x094 ++#define AUDIN_FIFO0_CTRL1 0x098 ++#define AUDIN_FIFO0_LVL0 0x09C ++#define AUDIN_FIFO0_LVL1 0x0A0 ++#define AUDIN_FIFO0_LVL2 0x0A4 ++#define AUDIN_FIFO0_REQID 0x0C0 ++#define AUDIN_FIFO0_WRAP 0x0C4 ++#define AUDIN_FIFO1_START 0x0CC ++#define AUDIN_FIFO1_END 0x0D0 ++#define AUDIN_FIFO1_PTR 0x0D4 ++#define AUDIN_FIFO1_INTR 0x0D8 ++#define AUDIN_FIFO1_RDPTR 0x0DC ++#define AUDIN_FIFO1_CTRL 0x0E0 ++#define AUDIN_FIFO1_CTRL1 0x0E4 ++#define AUDIN_FIFO1_LVL0 0x100 ++#define AUDIN_FIFO1_LVL1 0x104 ++#define AUDIN_FIFO1_LVL2 0x108 ++#define AUDIN_FIFO1_REQID 0x10C ++#define AUDIN_FIFO1_WRAP 0x110 ++#define AUDIN_FIFO2_START 0x114 ++#define AUDIN_FIFO2_END 0x118 ++#define AUDIN_FIFO2_PTR 0x11C ++#define AUDIN_FIFO2_INTR 0x120 ++#define AUDIN_FIFO2_RDPTR 0x124 ++#define AUDIN_FIFO2_CTRL 0x128 ++#define AUDIN_FIFO2_CTRL1 0x12C ++#define AUDIN_FIFO2_LVL0 0x130 ++#define AUDIN_FIFO2_LVL1 0x134 ++#define AUDIN_FIFO2_LVL2 0x138 ++#define AUDIN_FIFO2_REQID 0x13C ++#define AUDIN_FIFO2_WRAP 0x140 ++#define AUDIN_INT_CTRL 0x144 ++#define AUDIN_FIFO_INT 0x148 ++#define PCMIN_CTRL0 0x180 ++#define PCMIN_CTRL1 0x184 ++#define PCMIN1_CTRL0 0x188 ++#define PCMIN1_CTRL1 0x18C ++#define PCMOUT_CTRL0 0x1C0 ++#define PCMOUT_CTRL1 0x1C4 ++#define PCMOUT_CTRL2 0x1C8 ++#define PCMOUT_CTRL3 0x1CC ++#define PCMOUT1_CTRL0 0x1D0 ++#define PCMOUT1_CTRL1 0x1D4 ++#define PCMOUT1_CTRL2 0x1D8 ++#define PCMOUT1_CTRL3 0x1DC ++#define AUDOUT_CTRL 0x200 ++#define AUDOUT_CTRL1 0x204 ++#define AUDOUT_BUF0_STA 0x208 ++#define AUDOUT_BUF0_EDA 0x20C ++#define AUDOUT_BUF0_WPTR 0x210 ++#define AUDOUT_BUF1_STA 0x214 ++#define AUDOUT_BUF1_EDA 0x218 ++#define AUDOUT_BUF1_WPTR 0x21C ++#define AUDOUT_FIFO_RPTR 0x220 ++#define AUDOUT_INTR_PTR 0x224 ++#define AUDOUT_FIFO_STS 0x228 ++#define AUDOUT1_CTRL 0x240 ++#define AUDOUT1_CTRL1 0x244 ++#define AUDOUT1_BUF0_STA 0x248 ++#define AUDOUT1_BUF0_EDA 0x24C ++#define AUDOUT1_BUF0_WPTR 0x250 ++#define AUDOUT1_BUF1_STA 0x254 ++#define AUDOUT1_BUF1_EDA 0x258 ++#define AUDOUT1_BUF1_WPTR 0x25C ++#define AUDOUT1_FIFO_RPTR 0x260 ++#define AUDOUT1_INTR_PTR 0x264 ++#define AUDOUT1_FIFO_STS 0x268 ++#define AUDIN_HDMI_MEAS_CTRL 0x280 ++#define AUDIN_HDMI_MEAS_CYCLES_M1 0x284 ++#define AUDIN_HDMI_MEAS_INTR_MASKN 0x288 ++#define AUDIN_HDMI_MEAS_INTR_STAT 0x28C ++#define AUDIN_HDMI_REF_CYCLES_STAT_0 0x290 ++#define AUDIN_HDMI_REF_CYCLES_STAT_1 0x294 ++#define AUDIN_HDMIRX_AFIFO_STAT 0x298 ++#define AUDIN_FIFO0_PIO_STS 0x2C0 ++#define AUDIN_FIFO0_PIO_RDL 0x2C4 ++#define AUDIN_FIFO0_PIO_RDH 0x2C8 ++#define AUDIN_FIFO1_PIO_STS 0x2CC ++#define AUDIN_FIFO1_PIO_RDL 0x2D0 ++#define AUDIN_FIFO1_PIO_RDH 0x2D4 ++#define AUDIN_FIFO2_PIO_STS 0x2D8 ++#define AUDIN_FIFO2_PIO_RDL 0x2DC ++#define AUDIN_FIFO2_PIO_RDH 0x2E0 ++#define AUDOUT_FIFO_PIO_STS 0x2E4 ++#define AUDOUT_FIFO_PIO_WRL 0x2E8 ++#define AUDOUT_FIFO_PIO_WRH 0x2EC ++#define AUDOUT1_FIFO_PIO_STS 0x2F0 /* Unknown */ ++#define AUDOUT1_FIFO_PIO_WRL 0x2F4 /* Unknown */ ++#define AUDOUT1_FIFO_PIO_WRH 0x2F8 /* Unknown */ ++#define AUD_RESAMPLE_CTRL0 0x2FC ++#define AUD_RESAMPLE_CTRL1 0x300 ++#define AUD_RESAMPLE_STATUS 0x304 ++ ++#endif /* _AUDIN_REGS_H_ */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/025_linux-4.18-yocto-meson64-0008-ASoC-meson-add-aiu-i2s-dma-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/025_linux-4.18-yocto-meson64-0008-ASoC-meson-add-aiu-i2s-dma-support.patch new file mode 100644 index 000000000..1de0e444a --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/025_linux-4.18-yocto-meson64-0008-ASoC-meson-add-aiu-i2s-dma-support.patch @@ -0,0 +1,416 @@ +From bb5102086db1579c1289440fa8aa184a70cb7c64 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 30 Mar 2017 12:14:40 +0200 +Subject: [PATCH] ASoC: meson: add aiu i2s dma support + +Add support for the i2s output dma which is part of the AIU block + +Signed-off-by: Jerome Brunet +--- + sound/soc/meson/Kconfig | 7 + + sound/soc/meson/Makefile | 2 + + sound/soc/meson/aiu-i2s-dma.c | 370 ++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 379 insertions(+) + create mode 100644 sound/soc/meson/aiu-i2s-dma.c + +diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig +index ca0e3e9..88fbfc2 100644 +--- a/sound/soc/meson/Kconfig ++++ b/sound/soc/meson/Kconfig +@@ -7,3 +7,10 @@ menuconfig SND_SOC_MESON + Say Y or M if you want to add support for codecs attached to + the Amlogic Meson SoCs Audio interfaces. You will also need to + select the audio interfaces to support below. ++ ++config SND_SOC_MESON_I2S ++ tristate "Meson i2s interface" ++ depends on SND_SOC_MESON ++ help ++ Say Y or M if you want to add support for i2s dma driver for Amlogic ++ Meson SoCs. +diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile +index 22028ab..273f275 100644 +--- a/sound/soc/meson/Makefile ++++ b/sound/soc/meson/Makefile +@@ -1,3 +1,5 @@ + snd-soc-meson-audio-core-objs := audio-core.o ++snd-soc-meson-aiu-i2s-dma-objs := aiu-i2s-dma.o + + obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o ++obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-aiu-i2s-dma.o +diff --git a/sound/soc/meson/aiu-i2s-dma.c b/sound/soc/meson/aiu-i2s-dma.c +new file mode 100644 +index 0000000..2684bd0 +--- /dev/null ++++ b/sound/soc/meson/aiu-i2s-dma.c +@@ -0,0 +1,370 @@ ++/* ++ * Copyright (C) 2017 BayLibre, SAS ++ * Author: Jerome Brunet ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see . ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++#include "aiu-regs.h" ++#include "audio-core.h" ++ ++#define DRV_NAME "meson-aiu-i2s-dma" ++ ++struct aiu_i2s_dma { ++ struct meson_audio_core_data *core; ++ struct clk *fast; ++ int irq; ++}; ++ ++#define AIU_MEM_I2S_BUF_CNTL_INIT BIT(0) ++#define AIU_MEM_I2S_CONTROL_INIT BIT(0) ++#define AIU_MEM_I2S_CONTROL_FILL_EN BIT(1) ++#define AIU_MEM_I2S_CONTROL_EMPTY_EN BIT(2) ++#define AIU_MEM_I2S_CONTROL_MODE_16BIT BIT(6) ++#define AIU_MEM_I2S_CONTROL_BUSY BIT(7) ++#define AIU_MEM_I2S_CONTROL_DATA_READY BIT(8) ++#define AIU_MEM_I2S_CONTROL_LEVEL_CNTL BIT(9) ++#define AIU_MEM_I2S_MASKS_IRQ_BLOCK_MASK GENMASK(31, 16) ++#define AIU_MEM_I2S_MASKS_IRQ_BLOCK(n) ((n) << 16) ++#define AIU_MEM_I2S_MASKS_CH_MEM_MASK GENMASK(15, 8) ++#define AIU_MEM_I2S_MASKS_CH_MEM(ch) ((ch) << 8) ++#define AIU_MEM_I2S_MASKS_CH_RD_MASK GENMASK(7, 0) ++#define AIU_MEM_I2S_MASKS_CH_RD(ch) ((ch) << 0) ++#define AIU_RST_SOFT_I2S_FAST_DOMAIN BIT(0) ++#define AIU_RST_SOFT_I2S_SLOW_DOMAIN BIT(1) ++ ++/* ++ * The DMA works by i2s "blocks" (or DMA burst). The burst size and the memory ++ * layout expected depends on the mode of operation. ++ * ++ * - Normal mode: The channels are expected to be packed in 32 bytes groups ++ * interleaved the buffer. AIU_MEM_I2S_MASKS_CH_MEM is a bitfield representing ++ * the channels present in memory. AIU_MEM_I2S_MASKS_CH_MEM represents the ++ * channels read by the DMA. This is very flexible but the unsual memory layout ++ * makes it less easy to deal with. The burst size is 32 bytes times the number ++ * of channels read. ++ * ++ * - Split mode: ++ * Classical channel interleaved frame organisation. In this mode, ++ * AIU_MEM_I2S_MASKS_CH_MEM and AIU_MEM_I2S_MASKS_CH_MEM must be set to 0xff and ++ * the burst size is fixed to 256 bytes. The input can be either 2 or 8 ++ * channels. ++ * ++ * The following driver implements the split mode. ++ */ ++ ++#define AIU_I2S_DMA_BURST 256 ++ ++static struct snd_pcm_hardware aiu_i2s_dma_hw = { ++ .info = (SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_PAUSE), ++ ++ .formats = (SNDRV_PCM_FMTBIT_S16_LE | ++ SNDRV_PCM_FMTBIT_S24_LE | ++ SNDRV_PCM_FMTBIT_S32_LE), ++ ++ /* ++ * TODO: The DMA can change the endianness, the msb position ++ * and deal with unsigned - support this later on ++ */ ++ ++ .rate_min = 8000, ++ .rate_max = 192000, ++ .channels_min = 2, ++ .channels_max = 8, ++ .period_bytes_min = AIU_I2S_DMA_BURST, ++ .period_bytes_max = AIU_I2S_DMA_BURST * 65535, ++ .periods_min = 2, ++ .periods_max = UINT_MAX, ++ .buffer_bytes_max = 1 * 1024 * 1024, ++ .fifo_size = 0, ++}; ++ ++static struct aiu_i2s_dma *aiu_i2s_dma_priv(struct snd_pcm_substream *s) ++{ ++ struct snd_soc_pcm_runtime *rtd = s->private_data; ++ struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME); ++ ++ return snd_soc_component_get_drvdata(component); ++} ++ ++static snd_pcm_uframes_t ++aiu_i2s_dma_pointer(struct snd_pcm_substream *substream) ++{ ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream); ++ unsigned int addr; ++ int ret; ++ ++ ret = regmap_read(priv->core->aiu, AIU_MEM_I2S_RD_PTR, ++ &addr); ++ if (ret) ++ return 0; ++ ++ return bytes_to_frames(runtime, addr - (unsigned int)runtime->dma_addr); ++} ++ ++static void __dma_enable(struct aiu_i2s_dma *priv, bool enable) ++{ ++ unsigned int en_mask = (AIU_MEM_I2S_CONTROL_FILL_EN | ++ AIU_MEM_I2S_CONTROL_EMPTY_EN); ++ ++ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_CONTROL, en_mask, ++ enable ? en_mask : 0); ++ ++} ++ ++static int aiu_i2s_dma_trigger(struct snd_pcm_substream *substream, int cmd) ++{ ++ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream); ++ ++ switch (cmd) { ++ case SNDRV_PCM_TRIGGER_START: ++ case SNDRV_PCM_TRIGGER_RESUME: ++ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: ++ __dma_enable(priv, true); ++ break; ++ case SNDRV_PCM_TRIGGER_SUSPEND: ++ case SNDRV_PCM_TRIGGER_PAUSE_PUSH: ++ case SNDRV_PCM_TRIGGER_STOP: ++ __dma_enable(priv, false); ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++static void __dma_init_mem(struct aiu_i2s_dma *priv) ++{ ++ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_CONTROL, ++ AIU_MEM_I2S_CONTROL_INIT, ++ AIU_MEM_I2S_CONTROL_INIT); ++ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_BUF_CNTL, ++ AIU_MEM_I2S_BUF_CNTL_INIT, ++ AIU_MEM_I2S_BUF_CNTL_INIT); ++ ++ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_CONTROL, ++ AIU_MEM_I2S_CONTROL_INIT, ++ 0); ++ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_BUF_CNTL, ++ AIU_MEM_I2S_BUF_CNTL_INIT, ++ 0); ++} ++ ++static int aiu_i2s_dma_prepare(struct snd_pcm_substream *substream) ++{ ++ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream); ++ ++ __dma_init_mem(priv); ++ ++ return 0; ++} ++ ++static int aiu_i2s_dma_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream); ++ int ret; ++ u32 burst_num, mem_ctl; ++ dma_addr_t end_ptr; ++ ++ ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params)); ++ if (ret < 0) ++ return ret; ++ ++ /* Setup memory layout */ ++ if (params_physical_width(params) == 16) ++ mem_ctl = AIU_MEM_I2S_CONTROL_MODE_16BIT; ++ else ++ mem_ctl = 0; ++ ++ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_CONTROL, ++ AIU_MEM_I2S_CONTROL_MODE_16BIT, ++ mem_ctl); ++ ++ /* Initialize memory pointers */ ++ regmap_write(priv->core->aiu, AIU_MEM_I2S_START_PTR, runtime->dma_addr); ++ regmap_write(priv->core->aiu, AIU_MEM_I2S_RD_PTR, runtime->dma_addr); ++ ++ /* The end pointer is the address of the last valid block */ ++ end_ptr = runtime->dma_addr + runtime->dma_bytes - AIU_I2S_DMA_BURST; ++ regmap_write(priv->core->aiu, AIU_MEM_I2S_END_PTR, end_ptr); ++ ++ /* Memory masks */ ++ burst_num = params_period_bytes(params) / AIU_I2S_DMA_BURST; ++ regmap_write(priv->core->aiu, AIU_MEM_I2S_MASKS, ++ AIU_MEM_I2S_MASKS_CH_RD(0xff) | ++ AIU_MEM_I2S_MASKS_CH_MEM(0xff) | ++ AIU_MEM_I2S_MASKS_IRQ_BLOCK(burst_num)); ++ ++ return 0; ++} ++ ++static int aiu_i2s_dma_hw_free(struct snd_pcm_substream *substream) ++{ ++ return snd_pcm_lib_free_pages(substream); ++} ++ ++ ++static irqreturn_t aiu_i2s_dma_irq_block(int irq, void *dev_id) ++{ ++ struct snd_pcm_substream *playback = dev_id; ++ ++ snd_pcm_period_elapsed(playback); ++ ++ return IRQ_HANDLED; ++} ++ ++static int aiu_i2s_dma_open(struct snd_pcm_substream *substream) ++{ ++ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream); ++ int ret; ++ ++ snd_soc_set_runtime_hwparams(substream, &aiu_i2s_dma_hw); ++ ++ /* ++ * Make sure the buffer and period size are multiple of the DMA burst ++ * size ++ */ ++ ret = snd_pcm_hw_constraint_step(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_BUFFER_BYTES, ++ AIU_I2S_DMA_BURST); ++ if (ret) ++ return ret; ++ ++ ret = snd_pcm_hw_constraint_step(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_PERIOD_BYTES, ++ AIU_I2S_DMA_BURST); ++ if (ret) ++ return ret; ++ ++ /* Request the I2S DDR irq */ ++ ret = request_irq(priv->irq, aiu_i2s_dma_irq_block, 0, ++ DRV_NAME, substream); ++ if (ret) ++ return ret; ++ ++ /* Power up the i2s fast domain - can't write the registers w/o it */ ++ ret = clk_prepare_enable(priv->fast); ++ if (ret) ++ return ret; ++ ++ /* Make sure the dma is initially disabled */ ++ __dma_enable(priv, false); ++ ++ return 0; ++} ++ ++static int aiu_i2s_dma_close(struct snd_pcm_substream *substream) ++{ ++ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream); ++ ++ clk_disable_unprepare(priv->fast); ++ free_irq(priv->irq, substream); ++ ++ return 0; ++} ++ ++static const struct snd_pcm_ops aiu_i2s_dma_ops = { ++ .open = aiu_i2s_dma_open, ++ .close = aiu_i2s_dma_close, ++ .ioctl = snd_pcm_lib_ioctl, ++ .hw_params = aiu_i2s_dma_hw_params, ++ .hw_free = aiu_i2s_dma_hw_free, ++ .prepare = aiu_i2s_dma_prepare, ++ .pointer = aiu_i2s_dma_pointer, ++ .trigger = aiu_i2s_dma_trigger, ++}; ++ ++static int aiu_i2s_dma_new(struct snd_soc_pcm_runtime *rtd) ++{ ++ struct snd_card *card = rtd->card->snd_card; ++ size_t size = aiu_i2s_dma_hw.buffer_bytes_max; ++ ++ return snd_pcm_lib_preallocate_pages_for_all(rtd->pcm, ++ SNDRV_DMA_TYPE_DEV, ++ card->dev, size, size); ++} ++ ++static const struct snd_soc_component_driver aiu_i2s_platform = { ++ .ops = &aiu_i2s_dma_ops, ++ .pcm_new = aiu_i2s_dma_new, ++ .name = DRV_NAME, ++}; ++ ++static int aiu_i2s_dma_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct aiu_i2s_dma *priv; ++ ++ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); ++ if (!priv) ++ return -ENOMEM; ++ ++ platform_set_drvdata(pdev, priv); ++ priv->core = dev_get_drvdata(dev->parent); ++ ++ priv->fast = devm_clk_get(dev, "fast"); ++ if (IS_ERR(priv->fast)) { ++ if (PTR_ERR(priv->fast) != -EPROBE_DEFER) ++ dev_err(dev, "Can't get i2s fast domain clock\n"); ++ return PTR_ERR(priv->fast); ++ } ++ ++ priv->irq = platform_get_irq(pdev, 0); ++ if (priv->irq <= 0) { ++ dev_err(dev, "Can't get i2s ddr irq\n"); ++ return priv->irq; ++ } ++ ++ return devm_snd_soc_register_component(dev, &aiu_i2s_platform, ++ NULL, 0); ++} ++ ++static const struct of_device_id aiu_i2s_dma_of_match[] = { ++ { .compatible = "amlogic,meson-aiu-i2s-dma", }, ++ { .compatible = "amlogic,meson-gxbb-aiu-i2s-dma", }, ++ { .compatible = "amlogic,meson-gxl-aiu-i2s-dma", }, ++ {} ++}; ++MODULE_DEVICE_TABLE(of, aiu_i2s_dma_of_match); ++ ++static struct platform_driver aiu_i2s_dma_pdrv = { ++ .probe = aiu_i2s_dma_probe, ++ .driver = { ++ .name = DRV_NAME, ++ .of_match_table = aiu_i2s_dma_of_match, ++ }, ++}; ++module_platform_driver(aiu_i2s_dma_pdrv); ++ ++MODULE_DESCRIPTION("Meson AIU i2s DMA ASoC Driver"); ++MODULE_AUTHOR("Jerome Brunet "); ++MODULE_LICENSE("GPL v2"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/026_linux-4.18-yocto-meson64-0009-ASoC-meson-add-initial-i2s-dai-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/026_linux-4.18-yocto-meson64-0009-ASoC-meson-add-initial-i2s-dai-support.patch new file mode 100644 index 000000000..f3bac343f --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/026_linux-4.18-yocto-meson64-0009-ASoC-meson-add-initial-i2s-dai-support.patch @@ -0,0 +1,511 @@ +From 6a5036e9f7dbd99023c6f9482fed3a747868b1c2 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 30 Mar 2017 12:17:27 +0200 +Subject: [PATCH] ASoC: meson: add initial i2s dai support + +Add support for the i2s dai found on Amlogic Meson SoC family. +With this initial implementation, only playback is supported. +Capture will be part of furture work. + +Signed-off-by: Jerome Brunet +--- + sound/soc/meson/Kconfig | 2 +- + sound/soc/meson/Makefile | 2 + + sound/soc/meson/i2s-dai.c | 465 ++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 468 insertions(+), 1 deletion(-) + create mode 100644 sound/soc/meson/i2s-dai.c + +diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig +index 88fbfc2..478f29a 100644 +--- a/sound/soc/meson/Kconfig ++++ b/sound/soc/meson/Kconfig +@@ -12,5 +12,5 @@ config SND_SOC_MESON_I2S + tristate "Meson i2s interface" + depends on SND_SOC_MESON + help +- Say Y or M if you want to add support for i2s dma driver for Amlogic ++ Say Y or M if you want to add support for i2s driver for Amlogic + Meson SoCs. +diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile +index 273f275..ea06dde 100644 +--- a/sound/soc/meson/Makefile ++++ b/sound/soc/meson/Makefile +@@ -1,5 +1,7 @@ + snd-soc-meson-audio-core-objs := audio-core.o + snd-soc-meson-aiu-i2s-dma-objs := aiu-i2s-dma.o ++snd-soc-meson-i2s-dai-objs := i2s-dai.o + + obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o + obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-aiu-i2s-dma.o ++obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-i2s-dai.o +diff --git a/sound/soc/meson/i2s-dai.c b/sound/soc/meson/i2s-dai.c +new file mode 100644 +index 0000000..1008af8 +--- /dev/null ++++ b/sound/soc/meson/i2s-dai.c +@@ -0,0 +1,465 @@ ++/* ++ * Copyright (C) 2017 BayLibre, SAS ++ * Author: Jerome Brunet ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see . ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++#include "aiu-regs.h" ++#include "audio-core.h" ++ ++#define DRV_NAME "meson-i2s-dai" ++ ++struct meson_i2s_dai { ++ struct meson_audio_core_data *core; ++ struct clk *mclk; ++ struct clk *bclks; ++ struct clk *iface; ++ struct clk *fast; ++ bool bclks_idle; ++}; ++ ++#define AIU_CLK_CTRL_I2S_DIV_EN BIT(0) ++#define AIU_CLK_CTRL_I2S_DIV_MASK GENMASK(3, 2) ++#define AIU_CLK_CTRL_AOCLK_POLARITY_MASK BIT(6) ++#define AIU_CLK_CTRL_AOCLK_POLARITY_NORMAL (0 << 6) ++#define AIU_CLK_CTRL_AOCLK_POLARITY_INVERTED (1 << 6) ++#define AIU_CLK_CTRL_ALRCLK_POLARITY_MASK BIT(7) ++#define AIU_CLK_CTRL_ALRCLK_POLARITY_NORMAL (0 << 7) ++#define AIU_CLK_CTRL_ALRCLK_POLARITY_INVERTED (1 << 7) ++#define AIU_CLK_CTRL_ALRCLK_SKEW_MASK GENMASK(9, 8) ++#define AIU_CLK_CTRL_ALRCLK_LEFT_J (0 << 8) ++#define AIU_CLK_CTRL_ALRCLK_I2S (1 << 8) ++#define AIU_CLK_CTRL_ALRCLK_RIGHT_J (2 << 8) ++#define AIU_CLK_CTRL_MORE_I2S_DIV_MASK GENMASK(5, 0) ++#define AIU_CLK_CTRL_MORE_I2S_DIV(div) (((div) - 1) << 0) ++#define AIU_CODEC_DAC_LRCLK_CTRL_DIV_MASK GENMASK(11, 0) ++#define AIU_CODEC_DAC_LRCLK_CTRL_DIV(div) (((div) - 1) << 0) ++#define AIU_I2S_DAC_CFG_PAYLOAD_SIZE_MASK GENMASK(1, 0) ++#define AIU_I2S_DAC_CFG_AOCLK_32 (0 << 0) ++#define AIU_I2S_DAC_CFG_AOCLK_48 (2 << 0) ++#define AIU_I2S_DAC_CFG_AOCLK_64 (3 << 0) ++#define AIU_I2S_MISC_HOLD_EN BIT(2) ++#define AIU_I2S_SOURCE_DESC_MODE_8CH BIT(0) ++#define AIU_I2S_SOURCE_DESC_MODE_24BIT BIT(5) ++#define AIU_I2S_SOURCE_DESC_MODE_32BIT BIT(9) ++#define AIU_I2S_SOURCE_DESC_MODE_SPLIT BIT(11) ++ ++static void __hold(struct meson_i2s_dai *priv, bool enable) ++{ ++ regmap_update_bits(priv->core->aiu, AIU_I2S_MISC, ++ AIU_I2S_MISC_HOLD_EN, ++ enable ? AIU_I2S_MISC_HOLD_EN : 0); ++} ++ ++static void __divider_enable(struct meson_i2s_dai *priv, bool enable) ++{ ++ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL, ++ AIU_CLK_CTRL_I2S_DIV_EN, ++ enable ? AIU_CLK_CTRL_I2S_DIV_EN : 0); ++} ++ ++static void __playback_start(struct meson_i2s_dai *priv) ++{ ++ __divider_enable(priv, true); ++ __hold(priv, false); ++} ++ ++static void __playback_stop(struct meson_i2s_dai *priv, bool clk_force) ++{ ++ __hold(priv, true); ++ /* Disable the bit clks if necessary */ ++ if (clk_force || !priv->bclks_idle) ++ __divider_enable(priv, false); ++} ++ ++static int meson_i2s_dai_trigger(struct snd_pcm_substream *substream, int cmd, ++ struct snd_soc_dai *dai) ++{ ++ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai); ++ bool clk_force_stop = false; ++ ++ switch (cmd) { ++ case SNDRV_PCM_TRIGGER_START: ++ case SNDRV_PCM_TRIGGER_RESUME: ++ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: ++ __playback_start(priv); ++ return 0; ++ ++ case SNDRV_PCM_TRIGGER_STOP: ++ case SNDRV_PCM_TRIGGER_SUSPEND: ++ clk_force_stop = true; ++ case SNDRV_PCM_TRIGGER_PAUSE_PUSH: ++ __playback_stop(priv, clk_force_stop); ++ return 0; ++ ++ default: ++ return -EINVAL; ++ } ++} ++ ++static int __bclks_set_rate(struct meson_i2s_dai *priv, unsigned int srate, ++ unsigned int width) ++{ ++ unsigned int fs; ++ ++ /* Get the oversampling factor */ ++ fs = DIV_ROUND_CLOSEST(clk_get_rate(priv->mclk), srate); ++ ++ /* ++ * This DAI is usually connected to the dw-hdmi which does not support ++ * bclk being 32 * lrclk or 48 * lrclk ++ * Restrict to blck = 64 * lrclk ++ */ ++ if (fs % 64) ++ return -EINVAL; ++ ++ /* Set the divider between lrclk and bclk */ ++ regmap_update_bits(priv->core->aiu, AIU_I2S_DAC_CFG, ++ AIU_I2S_DAC_CFG_PAYLOAD_SIZE_MASK, ++ AIU_I2S_DAC_CFG_AOCLK_64); ++ ++ regmap_update_bits(priv->core->aiu, AIU_CODEC_DAC_LRCLK_CTRL, ++ AIU_CODEC_DAC_LRCLK_CTRL_DIV_MASK, ++ AIU_CODEC_DAC_LRCLK_CTRL_DIV(64)); ++ ++ /* Use CLK_MORE for the i2s divider */ ++ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL, ++ AIU_CLK_CTRL_I2S_DIV_MASK, ++ 0); ++ ++ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL_MORE, ++ AIU_CLK_CTRL_MORE_I2S_DIV_MASK, ++ AIU_CLK_CTRL_MORE_I2S_DIV(fs / 64)); ++ ++ return 0; ++} ++ ++static int __setup_desc(struct meson_i2s_dai *priv, unsigned int width, ++ unsigned int channels) ++{ ++ u32 desc = 0; ++ ++ switch (width) { ++ case 24: ++ /* ++ * For some reason, 24 bits wide audio don't play well ++ * if the 32 bits mode is not set ++ */ ++ desc |= (AIU_I2S_SOURCE_DESC_MODE_24BIT | ++ AIU_I2S_SOURCE_DESC_MODE_32BIT); ++ break; ++ case 16: ++ break; ++ ++ default: ++ return -EINVAL; ++ } ++ ++ switch (channels) { ++ case 2: /* Nothing to do */ ++ break; ++ case 8: ++ /* TODO: Still requires testing ... */ ++ desc |= AIU_I2S_SOURCE_DESC_MODE_8CH; ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ regmap_update_bits(priv->core->aiu, AIU_I2S_SOURCE_DESC, ++ AIU_I2S_SOURCE_DESC_MODE_8CH | ++ AIU_I2S_SOURCE_DESC_MODE_24BIT | ++ AIU_I2S_SOURCE_DESC_MODE_32BIT, ++ desc); ++ ++ return 0; ++} ++ ++static int meson_i2s_dai_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params, ++ struct snd_soc_dai *dai) ++{ ++ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai); ++ unsigned int width = params_width(params); ++ unsigned int channels = params_channels(params); ++ unsigned int rate = params_rate(params); ++ int ret; ++ ++ ret = __setup_desc(priv, width, channels); ++ if (ret) { ++ dev_err(dai->dev, "Unable set to set i2s description\n"); ++ return ret; ++ } ++ ++ ret = __bclks_set_rate(priv, rate, width); ++ if (ret) { ++ dev_err(dai->dev, "Unable set to the i2s clock rates\n"); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static int meson_i2s_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) ++{ ++ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai); ++ u32 val; ++ ++ if ((fmt & SND_SOC_DAIFMT_MASTER_MASK) != SND_SOC_DAIFMT_CBS_CFS) ++ return -EINVAL; ++ ++ /* DAI output mode */ ++ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { ++ case SND_SOC_DAIFMT_I2S: ++ val = AIU_CLK_CTRL_ALRCLK_I2S; ++ break; ++ case SND_SOC_DAIFMT_LEFT_J: ++ val = AIU_CLK_CTRL_ALRCLK_LEFT_J; ++ break; ++ case SND_SOC_DAIFMT_RIGHT_J: ++ val = AIU_CLK_CTRL_ALRCLK_RIGHT_J; ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL, ++ AIU_CLK_CTRL_ALRCLK_SKEW_MASK, ++ val); ++ ++ /* DAI clock polarity */ ++ switch (fmt & SND_SOC_DAIFMT_INV_MASK) { ++ case SND_SOC_DAIFMT_IB_IF: ++ /* Invert both clocks */ ++ val = AIU_CLK_CTRL_ALRCLK_POLARITY_INVERTED | ++ AIU_CLK_CTRL_AOCLK_POLARITY_INVERTED; ++ break; ++ case SND_SOC_DAIFMT_IB_NF: ++ /* Invert bit clock */ ++ val = AIU_CLK_CTRL_ALRCLK_POLARITY_NORMAL | ++ AIU_CLK_CTRL_AOCLK_POLARITY_INVERTED; ++ break; ++ case SND_SOC_DAIFMT_NB_IF: ++ /* Invert frame clock */ ++ val = AIU_CLK_CTRL_ALRCLK_POLARITY_INVERTED | ++ AIU_CLK_CTRL_AOCLK_POLARITY_NORMAL; ++ break; ++ case SND_SOC_DAIFMT_NB_NF: ++ /* Normal clocks */ ++ val = AIU_CLK_CTRL_ALRCLK_POLARITY_NORMAL | ++ AIU_CLK_CTRL_AOCLK_POLARITY_NORMAL; ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL, ++ AIU_CLK_CTRL_ALRCLK_POLARITY_MASK | ++ AIU_CLK_CTRL_AOCLK_POLARITY_MASK, ++ val); ++ ++ switch (fmt & SND_SOC_DAIFMT_CLOCK_MASK) { ++ case SND_SOC_DAIFMT_CONT: ++ priv->bclks_idle = true; ++ break; ++ case SND_SOC_DAIFMT_GATED: ++ priv->bclks_idle = false; ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++static int meson_i2s_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, ++ unsigned int freq, int dir) ++{ ++ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai); ++ int ret; ++ ++ if (WARN_ON(clk_id != 0)) ++ return -EINVAL; ++ ++ if (dir == SND_SOC_CLOCK_IN) ++ return 0; ++ ++ ret = clk_set_rate(priv->mclk, freq); ++ if (ret) { ++ dev_err(dai->dev, "Failed to set sysclk to %uHz", freq); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static int meson_i2s_dai_startup(struct snd_pcm_substream *substream, ++ struct snd_soc_dai *dai) ++{ ++ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai); ++ int ret; ++ ++ /* Power up the i2s fast domain - can't write the registers w/o it */ ++ ret = clk_prepare_enable(priv->fast); ++ if (ret) ++ goto out_clk_fast; ++ ++ /* Make sure nothing gets out of the DAI yet */ ++ __hold(priv, true); ++ ++ /* I2S encoder needs the mixer interface gate */ ++ ret = clk_prepare_enable(priv->iface); ++ if (ret) ++ goto out_clk_iface; ++ ++ /* Enable the i2s master clock */ ++ ret = clk_prepare_enable(priv->mclk); ++ if (ret) ++ goto out_mclk; ++ ++ /* Enable the bit clock gate */ ++ ret = clk_prepare_enable(priv->bclks); ++ if (ret) ++ goto out_bclks; ++ ++ /* Make sure the interface expect a memory layout we can work with */ ++ regmap_update_bits(priv->core->aiu, AIU_I2S_SOURCE_DESC, ++ AIU_I2S_SOURCE_DESC_MODE_SPLIT, ++ AIU_I2S_SOURCE_DESC_MODE_SPLIT); ++ ++ return 0; ++ ++out_bclks: ++ clk_disable_unprepare(priv->mclk); ++out_mclk: ++ clk_disable_unprepare(priv->iface); ++out_clk_iface: ++ clk_disable_unprepare(priv->fast); ++out_clk_fast: ++ return ret; ++} ++ ++static void meson_i2s_dai_shutdown(struct snd_pcm_substream *substream, ++ struct snd_soc_dai *dai) ++{ ++ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai); ++ ++ clk_disable_unprepare(priv->bclks); ++ clk_disable_unprepare(priv->mclk); ++ clk_disable_unprepare(priv->iface); ++ clk_disable_unprepare(priv->fast); ++} ++ ++static const struct snd_soc_dai_ops meson_i2s_dai_ops = { ++ .startup = meson_i2s_dai_startup, ++ .shutdown = meson_i2s_dai_shutdown, ++ .trigger = meson_i2s_dai_trigger, ++ .hw_params = meson_i2s_dai_hw_params, ++ .set_fmt = meson_i2s_dai_set_fmt, ++ .set_sysclk = meson_i2s_dai_set_sysclk, ++}; ++ ++static struct snd_soc_dai_driver meson_i2s_dai = { ++ .playback = { ++ .stream_name = "Playback", ++ .channels_min = 2, ++ .channels_max = 8, ++ .rates = SNDRV_PCM_RATE_8000_192000, ++ .formats = (SNDRV_PCM_FMTBIT_S16_LE | ++ SNDRV_PCM_FMTBIT_S24_LE) ++ }, ++ .ops = &meson_i2s_dai_ops, ++}; ++ ++static const struct snd_soc_component_driver meson_i2s_dai_component = { ++ .name = DRV_NAME, ++}; ++ ++static int meson_i2s_dai_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct meson_i2s_dai *priv; ++ ++ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); ++ if (!priv) ++ return -ENOMEM; ++ ++ platform_set_drvdata(pdev, priv); ++ priv->core = dev_get_drvdata(dev->parent); ++ ++ priv->fast = devm_clk_get(dev, "fast"); ++ if (IS_ERR(priv->fast)) { ++ if (PTR_ERR(priv->fast) != -EPROBE_DEFER) ++ dev_err(dev, "Can't get the i2s fast domain clock\n"); ++ return PTR_ERR(priv->fast); ++ } ++ ++ priv->iface = devm_clk_get(dev, "iface"); ++ if (IS_ERR(priv->iface)) { ++ if (PTR_ERR(priv->iface) != -EPROBE_DEFER) ++ dev_err(dev, "Can't get i2s dai clock gate\n"); ++ return PTR_ERR(priv->iface); ++ } ++ ++ priv->bclks = devm_clk_get(dev, "bclks"); ++ if (IS_ERR(priv->bclks)) { ++ if (PTR_ERR(priv->bclks) != -EPROBE_DEFER) ++ dev_err(dev, "Can't get bit clocks gate\n"); ++ return PTR_ERR(priv->bclks); ++ } ++ ++ priv->mclk = devm_clk_get(dev, "mclk"); ++ if (IS_ERR(priv->mclk)) { ++ if (PTR_ERR(priv->mclk) != -EPROBE_DEFER) ++ dev_err(dev, "failed to get the i2s master clock\n"); ++ return PTR_ERR(priv->mclk); ++ } ++ ++ return devm_snd_soc_register_component(dev, &meson_i2s_dai_component, ++ &meson_i2s_dai, 1); ++} ++ ++static const struct of_device_id meson_i2s_dai_of_match[] = { ++ { .compatible = "amlogic,meson-i2s-dai", }, ++ { .compatible = "amlogic,meson-gxbb-i2s-dai", }, ++ { .compatible = "amlogic,meson-gxl-i2s-dai", }, ++ {} ++}; ++MODULE_DEVICE_TABLE(of, meson_i2s_dai_of_match); ++ ++static struct platform_driver meson_i2s_dai_pdrv = { ++ .probe = meson_i2s_dai_probe, ++ .driver = { ++ .name = DRV_NAME, ++ .of_match_table = meson_i2s_dai_of_match, ++ }, ++}; ++module_platform_driver(meson_i2s_dai_pdrv); ++ ++MODULE_DESCRIPTION("Meson i2s DAI ASoC Driver"); ++MODULE_AUTHOR("Jerome Brunet "); ++MODULE_LICENSE("GPL v2"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/027_linux-4.18-yocto-meson64-0010-ASoC-meson-add-aiu-spdif-dma-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/027_linux-4.18-yocto-meson64-0010-ASoC-meson-add-aiu-spdif-dma-support.patch new file mode 100644 index 000000000..380f5d5b2 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/027_linux-4.18-yocto-meson64-0010-ASoC-meson-add-aiu-spdif-dma-support.patch @@ -0,0 +1,438 @@ +From 8dd5edaf984e4c8d6f7ca1e7709b3109cf7dd780 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 30 Mar 2017 13:43:52 +0200 +Subject: [PATCH] ASoC: meson: add aiu spdif dma support + +Add support for the spdif output dma which is part of the AIU block + +Signed-off-by: Jerome Brunet +--- + sound/soc/meson/Kconfig | 7 + + sound/soc/meson/Makefile | 2 + + sound/soc/meson/aiu-spdif-dma.c | 388 ++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 397 insertions(+) + create mode 100644 sound/soc/meson/aiu-spdif-dma.c + +diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig +index 478f29a..3fb93b9 100644 +--- a/sound/soc/meson/Kconfig ++++ b/sound/soc/meson/Kconfig +@@ -14,3 +14,10 @@ config SND_SOC_MESON_I2S + help + Say Y or M if you want to add support for i2s driver for Amlogic + Meson SoCs. ++ ++config SND_SOC_MESON_SPDIF ++ tristate "Meson spdif interface" ++ depends on SND_SOC_MESON ++ help ++ Say Y or M if you want to add support for spdif dma driver for Amlogic ++ Meson SoCs. +diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile +index ea06dde..cef9a9d 100644 +--- a/sound/soc/meson/Makefile ++++ b/sound/soc/meson/Makefile +@@ -1,7 +1,9 @@ + snd-soc-meson-audio-core-objs := audio-core.o + snd-soc-meson-aiu-i2s-dma-objs := aiu-i2s-dma.o ++snd-soc-meson-aiu-spdif-dma-objs := aiu-spdif-dma.o + snd-soc-meson-i2s-dai-objs := i2s-dai.o + + obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o + obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-aiu-i2s-dma.o + obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-i2s-dai.o ++obj-$(CONFIG_SND_SOC_MESON_SPDIF) += snd-soc-meson-aiu-spdif-dma.o +diff --git a/sound/soc/meson/aiu-spdif-dma.c b/sound/soc/meson/aiu-spdif-dma.c +new file mode 100644 +index 0000000..81c3b85 +--- /dev/null ++++ b/sound/soc/meson/aiu-spdif-dma.c +@@ -0,0 +1,388 @@ ++/* ++ * Copyright (C) 2017 BayLibre, SAS ++ * Author: Jerome Brunet ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see . ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++#include "aiu-regs.h" ++#include "audio-core.h" ++ ++#define DRV_NAME "meson-aiu-spdif-dma" ++ ++struct aiu_spdif_dma { ++ struct meson_audio_core_data *core; ++ struct clk *fast; ++ int irq; ++}; ++ ++#define AIU_958_DCU_FF_CTRL_EN BIT(0) ++#define AIU_958_DCU_FF_CTRL_AUTO_DISABLE BIT(1) ++#define AIU_958_DCU_FF_CTRL_IRQ_MODE_MASK GENMASK(3, 2) ++#define AIU_958_DCU_FF_CTRL_IRQ_OUT_THD BIT(2) ++#define AIU_958_DCU_FF_CTRL_IRQ_FRAME_READ BIT(3) ++#define AIU_958_DCU_FF_CTRL_SYNC_HEAD_EN BIT(4) ++#define AIU_958_DCU_FF_CTRL_BYTE_SEEK BIT(5) ++#define AIU_958_DCU_FF_CTRL_CONTINUE BIT(6) ++#define AIU_MEM_IEC958_BUF_CNTL_INIT BIT(0) ++#define AIU_MEM_IEC958_CONTROL_INIT BIT(0) ++#define AIU_MEM_IEC958_CONTROL_FILL_EN BIT(1) ++#define AIU_MEM_IEC958_CONTROL_EMPTY_EN BIT(2) ++#define AIU_MEM_IEC958_CONTROL_ENDIAN_MASK GENMASK(5, 3) ++#define AIU_MEM_IEC958_CONTROL_RD_DDR BIT(6) ++#define AIU_MEM_IEC958_CONTROL_MODE_16BIT BIT(7) ++#define AIU_MEM_IEC958_MASKS_CH_MEM_MASK GENMASK(15, 8) ++#define AIU_MEM_IEC958_MASKS_CH_MEM(ch) ((ch) << 8) ++#define AIU_MEM_IEC958_MASKS_CH_RD_MASK GENMASK(7, 0) ++#define AIU_MEM_IEC958_MASKS_CH_RD(ch) ((ch) << 0) ++ ++#define AIU_SPDIF_DMA_BURST 8 ++#define AIU_SPDIF_BPF_MAX USHRT_MAX ++ ++static struct snd_pcm_hardware aiu_spdif_dma_hw = { ++ .info = (SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_PAUSE), ++ ++ .formats = (SNDRV_PCM_FMTBIT_S16_LE | ++ SNDRV_PCM_FMTBIT_S24_LE | ++ SNDRV_PCM_FMTBIT_S32_LE), ++ ++ .rates = (SNDRV_PCM_RATE_32000 | ++ SNDRV_PCM_RATE_44100 | ++ SNDRV_PCM_RATE_48000 | ++ SNDRV_PCM_RATE_96000 | ++ SNDRV_PCM_RATE_192000), ++ /* ++ * TODO: The DMA can change the endianness, the msb position ++ * and deal with unsigned - support this later on ++ */ ++ ++ .channels_min = 2, ++ .channels_max = 2, ++ .period_bytes_min = AIU_SPDIF_DMA_BURST, ++ .period_bytes_max = AIU_SPDIF_BPF_MAX, ++ .periods_min = 2, ++ .periods_max = UINT_MAX, ++ .buffer_bytes_max = 1 * 1024 * 1024, ++ .fifo_size = 0, ++}; ++ ++static struct aiu_spdif_dma *aiu_spdif_dma_priv(struct snd_pcm_substream *s) ++{ ++ struct snd_soc_pcm_runtime *rtd = s->private_data; ++ struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME); ++ ++ return snd_soc_component_get_drvdata(component); ++} ++ ++static snd_pcm_uframes_t ++aiu_spdif_dma_pointer(struct snd_pcm_substream *substream) ++{ ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream); ++ unsigned int addr; ++ int ret; ++ ++ ret = regmap_read(priv->core->aiu, AIU_MEM_IEC958_RD_PTR, ++ &addr); ++ if (ret) ++ return 0; ++ ++ return bytes_to_frames(runtime, addr - (unsigned int)runtime->dma_addr); ++} ++ ++static void __dma_enable(struct aiu_spdif_dma *priv, bool enable) ++{ ++ unsigned int en_mask = (AIU_MEM_IEC958_CONTROL_FILL_EN | ++ AIU_MEM_IEC958_CONTROL_EMPTY_EN); ++ ++ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_CONTROL, en_mask, ++ enable ? en_mask : 0); ++} ++ ++static void __dcu_fifo_enable(struct aiu_spdif_dma *priv, bool enable) ++{ ++ regmap_update_bits(priv->core->aiu, AIU_958_DCU_FF_CTRL, ++ AIU_958_DCU_FF_CTRL_EN, ++ enable ? AIU_958_DCU_FF_CTRL_EN : 0); ++} ++ ++static int aiu_spdif_dma_trigger(struct snd_pcm_substream *substream, int cmd) ++{ ++ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream); ++ ++ switch (cmd) { ++ case SNDRV_PCM_TRIGGER_START: ++ case SNDRV_PCM_TRIGGER_RESUME: ++ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: ++ __dcu_fifo_enable(priv, true); ++ __dma_enable(priv, true); ++ break; ++ case SNDRV_PCM_TRIGGER_SUSPEND: ++ case SNDRV_PCM_TRIGGER_PAUSE_PUSH: ++ case SNDRV_PCM_TRIGGER_STOP: ++ __dma_enable(priv, false); ++ __dcu_fifo_enable(priv, false); ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++static void __dma_init_mem(struct aiu_spdif_dma *priv) ++{ ++ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_CONTROL, ++ AIU_MEM_IEC958_CONTROL_INIT, ++ AIU_MEM_IEC958_CONTROL_INIT); ++ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_BUF_CNTL, ++ AIU_MEM_IEC958_BUF_CNTL_INIT, ++ AIU_MEM_IEC958_BUF_CNTL_INIT); ++ ++ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_CONTROL, ++ AIU_MEM_IEC958_CONTROL_INIT, ++ 0); ++ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_BUF_CNTL, ++ AIU_MEM_IEC958_BUF_CNTL_INIT, ++ 0); ++} ++ ++static int aiu_spdif_dma_prepare(struct snd_pcm_substream *substream) ++{ ++ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream); ++ ++ __dma_init_mem(priv); ++ ++ return 0; ++} ++ ++static int __setup_memory_layout(struct aiu_spdif_dma *priv, ++ unsigned int width) ++{ ++ u32 mem_ctl = AIU_MEM_IEC958_CONTROL_RD_DDR; ++ ++ if (width == 16) ++ mem_ctl |= AIU_MEM_IEC958_CONTROL_MODE_16BIT; ++ ++ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_CONTROL, ++ AIU_MEM_IEC958_CONTROL_ENDIAN_MASK | ++ AIU_MEM_IEC958_CONTROL_MODE_16BIT | ++ AIU_MEM_IEC958_CONTROL_RD_DDR, ++ mem_ctl); ++ ++ return 0; ++} ++ ++static int aiu_spdif_dma_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream); ++ int ret; ++ dma_addr_t end_ptr; ++ ++ ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params)); ++ if (ret < 0) ++ return ret; ++ ++ ret = __setup_memory_layout(priv, params_physical_width(params)); ++ if (ret) ++ return ret; ++ ++ /* Initialize memory pointers */ ++ regmap_write(priv->core->aiu, ++ AIU_MEM_IEC958_START_PTR, runtime->dma_addr); ++ regmap_write(priv->core->aiu, ++ AIU_MEM_IEC958_RD_PTR, runtime->dma_addr); ++ ++ /* The end pointer is the address of the last valid block */ ++ end_ptr = runtime->dma_addr + runtime->dma_bytes - AIU_SPDIF_DMA_BURST; ++ regmap_write(priv->core->aiu, AIU_MEM_IEC958_END_PTR, end_ptr); ++ ++ /* Memory masks */ ++ regmap_write(priv->core->aiu, AIU_MEM_IEC958_MASKS, ++ AIU_MEM_IEC958_MASKS_CH_RD(0xff) | ++ AIU_MEM_IEC958_MASKS_CH_MEM(0xff)); ++ ++ /* Setup the number bytes read by the FIFO between each IRQ */ ++ regmap_write(priv->core->aiu, AIU_958_BPF, params_period_bytes(params)); ++ ++ /* ++ * AUTO_DISABLE and SYNC_HEAD are enabled by default but ++ * this should be disabled in PCM (uncompressed) mode ++ */ ++ regmap_update_bits(priv->core->aiu, AIU_958_DCU_FF_CTRL, ++ AIU_958_DCU_FF_CTRL_AUTO_DISABLE | ++ AIU_958_DCU_FF_CTRL_IRQ_MODE_MASK | ++ AIU_958_DCU_FF_CTRL_SYNC_HEAD_EN, ++ AIU_958_DCU_FF_CTRL_IRQ_FRAME_READ); ++ ++ return 0; ++} ++ ++static int aiu_spdif_dma_hw_free(struct snd_pcm_substream *substream) ++{ ++ return snd_pcm_lib_free_pages(substream); ++} ++ ++static irqreturn_t aiu_spdif_dma_irq(int irq, void *dev_id) ++{ ++ struct snd_pcm_substream *playback = dev_id; ++ ++ snd_pcm_period_elapsed(playback); ++ ++ return IRQ_HANDLED; ++} ++ ++static int aiu_spdif_dma_open(struct snd_pcm_substream *substream) ++{ ++ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream); ++ int ret; ++ ++ snd_soc_set_runtime_hwparams(substream, &aiu_spdif_dma_hw); ++ ++ /* ++ * Make sure the buffer and period size are multiple of the DMA burst ++ * size ++ */ ++ ret = snd_pcm_hw_constraint_step(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_BUFFER_BYTES, ++ AIU_SPDIF_DMA_BURST); ++ if (ret) ++ return ret; ++ ++ ret = snd_pcm_hw_constraint_step(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_PERIOD_BYTES, ++ AIU_SPDIF_DMA_BURST); ++ if (ret) ++ return ret; ++ ++ /* Request the SPDIF DDR irq */ ++ ret = request_irq(priv->irq, aiu_spdif_dma_irq, 0, ++ DRV_NAME, substream); ++ if (ret) ++ return ret; ++ ++ /* Power up the spdif fast domain - can't write the register w/o it */ ++ ret = clk_prepare_enable(priv->fast); ++ if (ret) ++ return ret; ++ ++ /* Make sure the dma is initially halted */ ++ __dma_enable(priv, false); ++ __dcu_fifo_enable(priv, false); ++ ++ return 0; ++} ++ ++static int aiu_spdif_dma_close(struct snd_pcm_substream *substream) ++{ ++ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream); ++ ++ clk_disable_unprepare(priv->fast); ++ free_irq(priv->irq, substream); ++ ++ return 0; ++} ++ ++static const struct snd_pcm_ops aiu_spdif_dma_ops = { ++ .open = aiu_spdif_dma_open, ++ .close = aiu_spdif_dma_close, ++ .ioctl = snd_pcm_lib_ioctl, ++ .hw_params = aiu_spdif_dma_hw_params, ++ .hw_free = aiu_spdif_dma_hw_free, ++ .prepare = aiu_spdif_dma_prepare, ++ .pointer = aiu_spdif_dma_pointer, ++ .trigger = aiu_spdif_dma_trigger, ++}; ++ ++static int aiu_spdif_dma_new(struct snd_soc_pcm_runtime *rtd) ++{ ++ struct snd_card *card = rtd->card->snd_card; ++ size_t size = aiu_spdif_dma_hw.buffer_bytes_max; ++ ++ return snd_pcm_lib_preallocate_pages_for_all(rtd->pcm, ++ SNDRV_DMA_TYPE_DEV, ++ card->dev, size, size); ++} ++ ++static const struct snd_soc_component_driver aiu_spdif_platform = { ++ .ops = &aiu_spdif_dma_ops, ++ .pcm_new = aiu_spdif_dma_new, ++ .name = DRV_NAME, ++}; ++ ++static int aiu_spdif_dma_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct aiu_spdif_dma *priv; ++ ++ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); ++ if (!priv) ++ return -ENOMEM; ++ ++ platform_set_drvdata(pdev, priv); ++ priv->core = dev_get_drvdata(dev->parent); ++ ++ priv->fast = devm_clk_get(dev, "fast"); ++ if (IS_ERR(priv->fast)) { ++ if (PTR_ERR(priv->fast) != -EPROBE_DEFER) ++ dev_err(dev, "Can't get spdif fast domain clock\n"); ++ return PTR_ERR(priv->fast); ++ } ++ ++ priv->irq = platform_get_irq(pdev, 0); ++ if (priv->irq <= 0) { ++ dev_err(dev, "Can't get spdif ddr irq\n"); ++ return priv->irq; ++ } ++ ++ return devm_snd_soc_register_component(dev, &aiu_spdif_platform, ++ NULL, 0); ++} ++ ++static const struct of_device_id aiu_spdif_dma_of_match[] = { ++ { .compatible = "amlogic,meson-aiu-spdif-dma", }, ++ { .compatible = "amlogic,meson-gxbb-aiu-spdif-dma", }, ++ { .compatible = "amlogic,meson-gxl-aiu-spdif-dma", }, ++ {} ++}; ++MODULE_DEVICE_TABLE(of, aiu_spdif_dma_of_match); ++ ++static struct platform_driver aiu_spdif_dma_pdrv = { ++ .probe = aiu_spdif_dma_probe, ++ .driver = { ++ .name = DRV_NAME, ++ .of_match_table = aiu_spdif_dma_of_match, ++ }, ++}; ++module_platform_driver(aiu_spdif_dma_pdrv); ++ ++MODULE_DESCRIPTION("Meson AIU spdif DMA ASoC Driver"); ++MODULE_AUTHOR("Jerome Brunet "); ++MODULE_LICENSE("GPL"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/028_linux-4.18-yocto-meson64-0011-ASoC-meson-add-initial-spdif-dai-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/028_linux-4.18-yocto-meson64-0011-ASoC-meson-add-initial-spdif-dai-support.patch new file mode 100644 index 000000000..3d36f4b06 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/028_linux-4.18-yocto-meson64-0011-ASoC-meson-add-initial-spdif-dai-support.patch @@ -0,0 +1,426 @@ +From e635299f76dc27b97a768f2a044d04c1917b9ad1 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 30 Mar 2017 13:46:03 +0200 +Subject: [PATCH] ASoC: meson: add initial spdif dai support + +Add support for the spdif dai found on Amlogic Meson SoC family. +With this initial implementation, only uncompressed pcm playback +from the spdif dma is supported. Future work will add compressed +support, pcm playback from i2s dma and capture. + +Signed-off-by: Jerome Brunet +--- + sound/soc/meson/Kconfig | 3 +- + sound/soc/meson/Makefile | 2 + + sound/soc/meson/spdif-dai.c | 374 ++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 378 insertions(+), 1 deletion(-) + create mode 100644 sound/soc/meson/spdif-dai.c + +diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig +index 3fb93b9..301d3a3 100644 +--- a/sound/soc/meson/Kconfig ++++ b/sound/soc/meson/Kconfig +@@ -18,6 +18,7 @@ config SND_SOC_MESON_I2S + config SND_SOC_MESON_SPDIF + tristate "Meson spdif interface" + depends on SND_SOC_MESON ++ select SND_PCM_IEC958 + help +- Say Y or M if you want to add support for spdif dma driver for Amlogic ++ Say Y or M if you want to add support for spdif driver for Amlogic + Meson SoCs. +diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile +index cef9a9d..bc4391c 100644 +--- a/sound/soc/meson/Makefile ++++ b/sound/soc/meson/Makefile +@@ -2,8 +2,10 @@ snd-soc-meson-audio-core-objs := audio-core.o + snd-soc-meson-aiu-i2s-dma-objs := aiu-i2s-dma.o + snd-soc-meson-aiu-spdif-dma-objs := aiu-spdif-dma.o + snd-soc-meson-i2s-dai-objs := i2s-dai.o ++snd-soc-meson-spdif-dai-objs := spdif-dai.o + + obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o + obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-aiu-i2s-dma.o + obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-i2s-dai.o + obj-$(CONFIG_SND_SOC_MESON_SPDIF) += snd-soc-meson-aiu-spdif-dma.o ++obj-$(CONFIG_SND_SOC_MESON_SPDIF) += snd-soc-meson-spdif-dai.o +diff --git a/sound/soc/meson/spdif-dai.c b/sound/soc/meson/spdif-dai.c +new file mode 100644 +index 0000000..e763000 +--- /dev/null ++++ b/sound/soc/meson/spdif-dai.c +@@ -0,0 +1,374 @@ ++/* ++ * Copyright (C) 2017 BayLibre, SAS ++ * Author: Jerome Brunet ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of the ++ * License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see . ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include "aiu-regs.h" ++#include "audio-core.h" ++ ++#define DRV_NAME "meson-spdif-dai" ++ ++struct meson_spdif_dai { ++ struct meson_audio_core_data *core; ++ struct clk *iface; ++ struct clk *fast; ++ struct clk *mclk_i958; ++ struct clk *mclk; ++}; ++ ++#define AIU_CLK_CTRL_958_DIV_EN BIT(1) ++#define AIU_CLK_CTRL_958_DIV_MASK GENMASK(5, 4) ++#define AIU_CLK_CTRL_958_DIV_MORE BIT(12) ++#define AIU_MEM_IEC958_CONTROL_MODE_LINEAR BIT(8) ++#define AIU_958_CTRL_HOLD_EN BIT(0) ++#define AIU_958_MISC_NON_PCM BIT(0) ++#define AIU_958_MISC_MODE_16BITS BIT(1) ++#define AIU_958_MISC_16BITS_ALIGN_MASK GENMASK(6, 5) ++#define AIU_958_MISC_16BITS_ALIGN(val) ((val) << 5) ++#define AIU_958_MISC_MODE_32BITS BIT(7) ++#define AIU_958_MISC_32BITS_SHIFT_MASK GENMASK(10, 8) ++#define AIU_958_MISC_32BITS_SHIFT(val) ((val) << 8) ++#define AIU_958_MISC_U_FROM_STREAM BIT(12) ++#define AIU_958_MISC_FORCE_LR BIT(13) ++ ++#define AIU_CS_WORD_LEN 4 ++ ++static void __hold(struct meson_spdif_dai *priv, bool enable) ++{ ++ regmap_update_bits(priv->core->aiu, AIU_958_CTRL, ++ AIU_958_CTRL_HOLD_EN, ++ enable ? AIU_958_CTRL_HOLD_EN : 0); ++} ++ ++static void __divider_enable(struct meson_spdif_dai *priv, bool enable) ++{ ++ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL, ++ AIU_CLK_CTRL_958_DIV_EN, ++ enable ? AIU_CLK_CTRL_958_DIV_EN : 0); ++} ++ ++static void __playback_start(struct meson_spdif_dai *priv) ++{ ++ __divider_enable(priv, true); ++ __hold(priv, false); ++} ++ ++static void __playback_stop(struct meson_spdif_dai *priv) ++{ ++ __hold(priv, true); ++ __divider_enable(priv, false); ++} ++ ++static int meson_spdif_dai_trigger(struct snd_pcm_substream *substream, int cmd, ++ struct snd_soc_dai *dai) ++{ ++ struct meson_spdif_dai *priv = snd_soc_dai_get_drvdata(dai); ++ ++ switch (cmd) { ++ case SNDRV_PCM_TRIGGER_START: ++ case SNDRV_PCM_TRIGGER_RESUME: ++ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: ++ __playback_start(priv); ++ return 0; ++ ++ case SNDRV_PCM_TRIGGER_STOP: ++ case SNDRV_PCM_TRIGGER_SUSPEND: ++ case SNDRV_PCM_TRIGGER_PAUSE_PUSH: ++ __playback_stop(priv); ++ return 0; ++ ++ default: ++ return -EINVAL; ++ } ++} ++ ++static int __setup_spdif_clk(struct meson_spdif_dai *priv, unsigned int rate) ++{ ++ unsigned int mrate; ++ ++ /* Leave the internal divisor alone */ ++ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL, ++ AIU_CLK_CTRL_958_DIV_MASK | ++ AIU_CLK_CTRL_958_DIV_MORE, ++ 0); ++ ++ /* 2 * 32bits per subframe * 2 channels = 128 */ ++ mrate = rate * 128; ++ return clk_set_rate(priv->mclk, mrate); ++} ++ ++static int __setup_cs_word(struct meson_spdif_dai *priv, ++ struct snd_pcm_hw_params *params) ++{ ++ u8 cs[AIU_CS_WORD_LEN]; ++ u32 val; ++ int ret; ++ ++ ret = snd_pcm_create_iec958_consumer_hw_params(params, cs, ++ AIU_CS_WORD_LEN); ++ if (ret < 0) ++ return -EINVAL; ++ ++ /* Write the 1st half word */ ++ val = cs[1] | cs[0] << 8; ++ regmap_write(priv->core->aiu, AIU_958_CHSTAT_L0, val); ++ regmap_write(priv->core->aiu, AIU_958_CHSTAT_R0, val); ++ ++ /* Write the 2nd half word */ ++ val = cs[3] | cs[2] << 8; ++ regmap_write(priv->core->aiu, AIU_958_CHSTAT_L1, val); ++ regmap_write(priv->core->aiu, AIU_958_CHSTAT_R1, val); ++ ++ return 0; ++} ++ ++static int __setup_pcm_fmt(struct meson_spdif_dai *priv, ++ unsigned int width) ++{ ++ u32 val = 0; ++ ++ switch (width) { ++ case 16: ++ val |= AIU_958_MISC_MODE_16BITS; ++ val |= AIU_958_MISC_16BITS_ALIGN(2); ++ break; ++ case 32: ++ case 24: ++ /* ++ * Looks like this should only be set for 32bits mode, but the ++ * vendor kernel sets it like this for 24bits as well, let's ++ * try and see ++ */ ++ val |= AIU_958_MISC_MODE_32BITS; ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ /* No idea what this actually does, copying the vendor kernel for now */ ++ val |= AIU_958_MISC_FORCE_LR; ++ val |= AIU_958_MISC_U_FROM_STREAM; ++ ++ regmap_update_bits(priv->core->aiu, AIU_958_MISC, ++ AIU_958_MISC_NON_PCM | ++ AIU_958_MISC_MODE_16BITS | ++ AIU_958_MISC_16BITS_ALIGN_MASK | ++ AIU_958_MISC_MODE_32BITS | ++ AIU_958_MISC_FORCE_LR, ++ val); ++ ++ return 0; ++} ++ ++static int meson_spdif_dai_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params, ++ struct snd_soc_dai *dai) ++{ ++ struct meson_spdif_dai *priv = snd_soc_dai_get_drvdata(dai); ++ int ret; ++ ++ ret = __setup_spdif_clk(priv, params_rate(params)); ++ if (ret) { ++ dev_err(dai->dev, "Unable to set the spdif clock\n"); ++ return ret; ++ } ++ ++ ret = __setup_cs_word(priv, params); ++ if (ret) { ++ dev_err(dai->dev, "Unable to set the channel status word\n"); ++ return ret; ++ } ++ ++ ret = __setup_pcm_fmt(priv, params_width(params)); ++ if (ret) { ++ dev_err(dai->dev, "Unable to set the pcm format\n"); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static int meson_spdif_dai_startup(struct snd_pcm_substream *substream, ++ struct snd_soc_dai *dai) ++{ ++ struct meson_spdif_dai *priv = snd_soc_dai_get_drvdata(dai); ++ int ret; ++ ++ /* Power up the spdif fast domain - can't write the registers w/o it */ ++ ret = clk_prepare_enable(priv->fast); ++ if (ret) ++ goto out_clk_fast; ++ ++ /* Make sure nothing gets out of the DAI yet*/ ++ __hold(priv, true); ++ ++ ret = clk_set_parent(priv->mclk, priv->mclk_i958); ++ if (ret) ++ return ret; ++ ++ /* Enable the clock gate */ ++ ret = clk_prepare_enable(priv->iface); ++ if (ret) ++ goto out_clk_iface; ++ ++ /* Enable the spdif clock */ ++ ret = clk_prepare_enable(priv->mclk); ++ if (ret) ++ goto out_mclk; ++ ++ /* ++ * Make sure the interface expect a memory layout we can work with ++ * MEM prefixed register usually belong to the DMA, but when the spdif ++ * DAI takes data from the i2s buffer, we need to make sure it works in ++ * split mode and not the "normal mode" (channel samples packed in ++ * 32 bytes groups) ++ */ ++ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_CONTROL, ++ AIU_MEM_IEC958_CONTROL_MODE_LINEAR, ++ AIU_MEM_IEC958_CONTROL_MODE_LINEAR); ++ ++ return 0; ++ ++out_mclk: ++ clk_disable_unprepare(priv->iface); ++out_clk_iface: ++ clk_disable_unprepare(priv->fast); ++out_clk_fast: ++ return ret; ++} ++ ++static void meson_spdif_dai_shutdown(struct snd_pcm_substream *substream, ++ struct snd_soc_dai *dai) ++{ ++ struct meson_spdif_dai *priv = snd_soc_dai_get_drvdata(dai); ++ ++ clk_disable_unprepare(priv->iface); ++ clk_disable_unprepare(priv->mclk); ++ clk_disable_unprepare(priv->fast); ++} ++ ++static const struct snd_soc_dai_ops meson_spdif_dai_ops = { ++ .startup = meson_spdif_dai_startup, ++ .shutdown = meson_spdif_dai_shutdown, ++ .trigger = meson_spdif_dai_trigger, ++ .hw_params = meson_spdif_dai_hw_params, ++}; ++ ++static struct snd_soc_dai_driver meson_spdif_dai = { ++ .playback = { ++ .stream_name = "Playback", ++ .channels_min = 2, ++ .channels_max = 2, ++ .rates = (SNDRV_PCM_RATE_32000 | ++ SNDRV_PCM_RATE_44100 | ++ SNDRV_PCM_RATE_48000 | ++ SNDRV_PCM_RATE_96000 | ++ SNDRV_PCM_RATE_192000), ++ .formats = (SNDRV_PCM_FMTBIT_S16_LE | ++ SNDRV_PCM_FMTBIT_S24_LE) ++ }, ++ .ops = &meson_spdif_dai_ops, ++}; ++ ++static const struct snd_soc_component_driver meson_spdif_dai_component = { ++ .name = DRV_NAME, ++}; ++ ++static int meson_spdif_dai_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct meson_spdif_dai *priv; ++ ++ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); ++ if (!priv) ++ return -ENOMEM; ++ ++ platform_set_drvdata(pdev, priv); ++ priv->core = dev_get_drvdata(dev->parent); ++ ++ priv->fast = devm_clk_get(dev, "fast"); ++ if (IS_ERR(priv->fast)) { ++ if (PTR_ERR(priv->fast) != -EPROBE_DEFER) ++ dev_err(dev, "Can't get spdif fast domain clockt\n"); ++ return PTR_ERR(priv->fast); ++ } ++ ++ priv->iface = devm_clk_get(dev, "iface"); ++ if (IS_ERR(priv->iface)) { ++ if (PTR_ERR(priv->iface) != -EPROBE_DEFER) ++ dev_err(dev, ++ "Can't get the dai clock gate\n"); ++ return PTR_ERR(priv->iface); ++ } ++ ++ priv->mclk_i958 = devm_clk_get(dev, "mclk_i958"); ++ if (IS_ERR(priv->mclk_i958)) { ++ if (PTR_ERR(priv->mclk_i958) != -EPROBE_DEFER) ++ dev_err(dev, "Can't get the spdif master clock\n"); ++ return PTR_ERR(priv->mclk_i958); ++ } ++ ++ /* ++ * TODO: the spdif dai can also get its data from the i2s fifo. ++ * For this use-case, the DAI driver will need to get the i2s master ++ * clock in order to reparent the spdif clock from cts_mclk_i958 to ++ * cts_amclk ++ */ ++ ++ priv->mclk = devm_clk_get(dev, "mclk"); ++ if (IS_ERR(priv->mclk)) { ++ if (PTR_ERR(priv->mclk) != -EPROBE_DEFER) ++ dev_err(dev, "Can't get the spdif input mux clock\n"); ++ return PTR_ERR(priv->mclk); ++ } ++ ++ return devm_snd_soc_register_component(dev, &meson_spdif_dai_component, ++ &meson_spdif_dai, 1); ++} ++ ++static const struct of_device_id meson_spdif_dai_of_match[] = { ++ { .compatible = "amlogic,meson-spdif-dai", }, ++ { .compatible = "amlogic,meson-gxbb-spdif-dai", }, ++ { .compatible = "amlogic,meson-gxl-spdif-dai", }, ++ {} ++}; ++MODULE_DEVICE_TABLE(of, meson_spdif_dai_of_match); ++ ++static struct platform_driver meson_spdif_dai_pdrv = { ++ .probe = meson_spdif_dai_probe, ++ .driver = { ++ .name = DRV_NAME, ++ .of_match_table = meson_spdif_dai_of_match, ++ }, ++}; ++module_platform_driver(meson_spdif_dai_pdrv); ++ ++MODULE_DESCRIPTION("Meson spdif DAI ASoC Driver"); ++MODULE_AUTHOR("Jerome Brunet "); ++MODULE_LICENSE("GPL v2"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/029_linux-4.18-yocto-meson64-0012-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/029_linux-4.18-yocto-meson64-0012-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch new file mode 100644 index 000000000..ff2035ecc --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/029_linux-4.18-yocto-meson64-0012-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch @@ -0,0 +1,29 @@ +From 5ddca63ac5c5d81c6d6a6745670a3f136970eaef Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Fri, 31 Mar 2017 15:55:03 +0200 +Subject: [PATCH] ARM64: defconfig: enable audio support for meson SoCs as + module + +Add audio support for meson SoCs. This includes the audio core +driver and the i2s and spdif output interfaces + +Signed-off-by: Jerome Brunet +--- + arch/arm64/configs/defconfig | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig +index 2584605..ae1f774 100644 +--- a/arch/arm64/configs/defconfig ++++ b/arch/arm64/configs/defconfig +@@ -451,6 +451,10 @@ CONFIG_SOUND=y + CONFIG_SND=y + CONFIG_SND_SOC=y + CONFIG_SND_BCM2835_SOC_I2S=m ++CONFIG_SND_SOC_MESON=m ++CONFIG_SND_SOC_MESON_I2S=m ++CONFIG_SND_SOC_MESON_SPDIF=m ++CONFIG_SND_SOC_RCAR=y + CONFIG_SND_SOC_SAMSUNG=y + CONFIG_SND_SOC_RCAR=m + CONFIG_SND_SOC_AK4613=m diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/030_linux-4.18-yocto-meson64-0013-ARM64-dts-meson-gx-add-audio-controller-nodes.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/030_linux-4.18-yocto-meson64-0013-ARM64-dts-meson-gx-add-audio-controller-nodes.patch new file mode 100644 index 000000000..f58d3ef3c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/030_linux-4.18-yocto-meson64-0013-ARM64-dts-meson-gx-add-audio-controller-nodes.patch @@ -0,0 +1,186 @@ +From f4d7ad156ad2253d5ec3e79ea36309e27b8fabc7 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 30 Mar 2017 15:19:04 +0200 +Subject: [PATCH] ARM64: dts: meson-gx: add audio controller nodes + +Add audio controller nodes for Amlogic meson gxbb and gxl. +This includes the audio-core node, the i2s and spdif DAIs, i2s and spdif +aiu DMAs. + +Audio on this SoC family is still a work in progress. More nodes are likely +to be added later on (pcm DAIs, input DMAs, etc ...) + +Signed-off-by: Jerome Brunet +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 35 ++++++++++++++++++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 39 +++++++++++++++++++++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 38 ++++++++++++++++++++++++++++ + 3 files changed, 112 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index b8dc4db..6b64b63 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -203,6 +203,41 @@ + #reset-cells = <1>; + }; + ++ audio: audio@5400 { ++ compatible = "amlogic,meson-audio-core"; ++ reg = <0x0 0x5400 0x0 0x2ac>, ++ <0x0 0xa000 0x0 0x304>; ++ reg-names = "aiu", "audin"; ++ status = "disabled"; ++ ++ aiu_i2s_dma: aiu_i2s_dma { ++ #sound-dai-cells = <0>; ++ compatible = "amlogic,meson-aiu-i2s-dma"; ++ interrupts = ; ++ status = "disabled"; ++ }; ++ ++ aiu_spdif_dma: aiu_spdif_dma { ++ #sound-dai-cells = <0>; ++ compatible = "amlogic,meson-aiu-spdif-dma"; ++ interrupts = ; ++ status = "disabled"; ++ }; ++ ++ i2s_dai: i2s_dai { ++ #sound-dai-cells = <0>; ++ compatible = "amlogic,meson-i2s-dai"; ++ status = "disabled"; ++ }; ++ ++ spdif_dai: spdif_dai { ++ #sound-dai-cells = <0>; ++ compatible = "amlogic,meson-spdif-dai"; ++ status = "disabled"; ++ }; ++ ++ }; ++ + uart_A: serial@84c0 { + compatible = "amlogic,meson-gx-uart"; + reg = <0x0 0x84c0 0x0 0x18>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +index 98cbba6..7913249 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +@@ -659,6 +659,35 @@ + }; + }; + ++&audio { ++ clocks = <&clkc CLKID_AIU>, ++ <&clkc CLKID_AIU_GLUE>, ++ <&clkc CLKID_I2S_SPDIF>; ++ clock-names = "aiu_top", "aiu_glue", "audin"; ++ resets = <&reset RESET_AIU>, ++ <&reset RESET_AUDIN>; ++ reset-names = "aiu", "audin"; ++}; ++ ++&aiu_i2s_dma { ++ clocks = <&clkc CLKID_I2S_OUT>; ++ clock-names = "fast"; ++}; ++ ++&aiu_spdif_dma { ++ clocks = <&clkc CLKID_IEC958>; ++ clock-names = "fast"; ++ ++}; ++ ++&i2s_dai { ++ clocks = <&clkc CLKID_I2S_OUT>, ++ <&clkc CLKID_MIXER_IFACE>, ++ <&clkc CLKID_AOCLK_GATE>, ++ <&clkc CLKID_CTS_AMCLK>; ++ clock-names = "fast", "iface", "bclks", "mclk"; ++}; ++ + &pwrc_vpu { + resets = <&reset RESET_VIU>, + <&reset RESET_VENC>, +@@ -741,6 +770,15 @@ + num-cs = <1>; + }; + ++&spdif_dai { ++ clocks = <&clkc CLKID_IEC958>, ++ <&clkc CLKID_IEC958_GATE>, ++ <&clkc CLKID_CTS_MCLK_I958>, ++ <&clkc CLKID_CTS_AMCLK>, ++ <&clkc CLKID_CTS_I958>; ++ clock-names = "fast", "iface", "mclk_i958", "mclk_i2s", "mclk"; ++}; ++ + &spifc { + clocks = <&clkc CLKID_SPI>; + }; +@@ -774,3 +812,4 @@ + compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu"; + power-domains = <&pwrc_vpu>; + }; ++ +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +index c87a80e..20922cd 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +@@ -660,6 +660,34 @@ + }; + }; + ++&audio { ++ clocks = <&clkc CLKID_AIU>, ++ <&clkc CLKID_AIU_GLUE>, ++ <&clkc CLKID_I2S_SPDIF>; ++ clock-names = "aiu_top", "aiu_glue", "audin"; ++ resets = <&reset RESET_AIU>, ++ <&reset RESET_AUDIN>; ++ reset-names = "aiu", "audin"; ++}; ++ ++&aiu_i2s_dma { ++ clocks = <&clkc CLKID_I2S_OUT>; ++ clock-names = "fast"; ++}; ++ ++&aiu_spdif_dma { ++ clocks = <&clkc CLKID_IEC958>; ++ clock-names = "fast"; ++}; ++ ++&i2s_dai { ++ clocks = <&clkc CLKID_I2S_OUT>, ++ <&clkc CLKID_MIXER_IFACE>, ++ <&clkc CLKID_AOCLK_GATE>, ++ <&clkc CLKID_CTS_AMCLK>; ++ clock-names = "fast", "iface", "bclks", "mclk"; ++}; ++ + &pwrc_vpu { + resets = <&reset RESET_VIU>, + <&reset RESET_VENC>, +@@ -742,6 +770,15 @@ + num-cs = <1>; + }; + ++&spdif_dai { ++ clocks = <&clkc CLKID_IEC958>, ++ <&clkc CLKID_IEC958_GATE>, ++ <&clkc CLKID_CTS_MCLK_I958>, ++ <&clkc CLKID_CTS_AMCLK>, ++ <&clkc CLKID_CTS_I958>; ++ clock-names = "fast", "iface", "mclk_i958", "mclk_i2s", "mclk"; ++}; ++ + &spifc { + clocks = <&clkc CLKID_SPI>; + }; +@@ -775,3 +812,4 @@ + compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; + power-domains = <&pwrc_vpu>; + }; ++ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/031_linux-4.18-yocto-meson64-0014-snd-meson-activate-HDMI-audio-path.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/031_linux-4.18-yocto-meson64-0014-snd-meson-activate-HDMI-audio-path.patch new file mode 100644 index 000000000..26dedf3d2 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/031_linux-4.18-yocto-meson64-0014-snd-meson-activate-HDMI-audio-path.patch @@ -0,0 +1,52 @@ +From 69d2f200d91fbd48e2388a8c5346f10d889a2928 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Fri, 7 Jul 2017 17:39:21 +0200 +Subject: [PATCH] snd: meson: activate HDMI audio path + +Signed-off-by: Neil Armstrong +--- + sound/soc/meson/i2s-dai.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/sound/soc/meson/i2s-dai.c b/sound/soc/meson/i2s-dai.c +index 1008af8..63fe098 100644 +--- a/sound/soc/meson/i2s-dai.c ++++ b/sound/soc/meson/i2s-dai.c +@@ -56,8 +56,19 @@ struct meson_i2s_dai { + #define AIU_CLK_CTRL_ALRCLK_RIGHT_J (2 << 8) + #define AIU_CLK_CTRL_MORE_I2S_DIV_MASK GENMASK(5, 0) + #define AIU_CLK_CTRL_MORE_I2S_DIV(div) (((div) - 1) << 0) ++#define AIU_CLK_CTRL_MORE_HDMI_TX_SEL_MASK BIT(6) ++#define AIU_CLK_CTRL_MORE_HDMI_TX_I958_CLK (0 << 6) ++#define AIU_CLK_CTRL_MORE_HDMI_TX_INT_CLK (1 << 6) + #define AIU_CODEC_DAC_LRCLK_CTRL_DIV_MASK GENMASK(11, 0) + #define AIU_CODEC_DAC_LRCLK_CTRL_DIV(div) (((div) - 1) << 0) ++#define AIU_HDMI_CLK_DATA_CTRL_CLK_SEL_MASK GENMASK(1, 0) ++#define AIU_HDMI_CLK_DATA_CTRL_CLK_DISABLE (0 << 0) ++#define AIU_HDMI_CLK_DATA_CTRL_CLK_PCM (1 << 0) ++#define AIU_HDMI_CLK_DATA_CTRL_CLK_I2S (2 << 0) ++#define AIU_HDMI_CLK_DATA_CTRL_DATA_SEL_MASK GENMASK(5, 4) ++#define AIU_HDMI_CLK_DATA_CTRL_DATA_MUTE (0 << 4) ++#define AIU_HDMI_CLK_DATA_CTRL_DATA_PCM (1 << 4) ++#define AIU_HDMI_CLK_DATA_CTRL_DATA_I2S (2 << 4) + #define AIU_I2S_DAC_CFG_PAYLOAD_SIZE_MASK GENMASK(1, 0) + #define AIU_I2S_DAC_CFG_AOCLK_32 (0 << 0) + #define AIU_I2S_DAC_CFG_AOCLK_48 (2 << 0) +@@ -221,6 +232,17 @@ static int meson_i2s_dai_hw_params(struct snd_pcm_substream *substream, + return ret; + } + ++ /* Quick and dirty hack for HDMI */ ++ regmap_update_bits(priv->core->aiu, AIU_HDMI_CLK_DATA_CTRL, ++ AIU_HDMI_CLK_DATA_CTRL_CLK_SEL_MASK | ++ AIU_HDMI_CLK_DATA_CTRL_DATA_SEL_MASK, ++ AIU_HDMI_CLK_DATA_CTRL_CLK_I2S | ++ AIU_HDMI_CLK_DATA_CTRL_DATA_I2S); ++ ++ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL_MORE, ++ AIU_CLK_CTRL_MORE_HDMI_TX_SEL_MASK, ++ AIU_CLK_CTRL_MORE_HDMI_TX_INT_CLK); ++ + return 0; + } + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/032_linux-4.18-yocto-meson64-0015-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/032_linux-4.18-yocto-meson64-0015-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch new file mode 100644 index 000000000..cb88ebaf1 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/032_linux-4.18-yocto-meson64-0015-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch @@ -0,0 +1,19 @@ +From 223d7ef1a49981c597094e8519e150108cba9ef9 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Tue, 14 Feb 2017 19:18:04 +0100 +Subject: [PATCH] drm/meson: select dw-hdmi i2s audio for meson hdmi + +Signed-off-by: Jerome Brunet +--- + drivers/gpu/drm/meson/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/gpu/drm/meson/Kconfig b/drivers/gpu/drm/meson/Kconfig +index 3ce51d8..02d400b 100644 +--- a/drivers/gpu/drm/meson/Kconfig ++++ b/drivers/gpu/drm/meson/Kconfig +@@ -13,3 +13,4 @@ config DRM_MESON_DW_HDMI + depends on DRM_MESON + default y if DRM_MESON + select DRM_DW_HDMI ++ select DRM_DW_HDMI_I2S_AUDIO diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/033_linux-4.18-yocto-meson64-0016-ARM64-dts-meson-gx-add-sound-dai-cells-to-HDMI-node.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/033_linux-4.18-yocto-meson64-0016-ARM64-dts-meson-gx-add-sound-dai-cells-to-HDMI-node.patch new file mode 100644 index 000000000..a5e4fab7a --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/033_linux-4.18-yocto-meson64-0016-ARM64-dts-meson-gx-add-sound-dai-cells-to-HDMI-node.patch @@ -0,0 +1,35 @@ +From 00ce6fbb804c6aaecd3bde8f2978d091fbc0546c Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Wed, 20 Sep 2017 18:01:26 +0200 +Subject: [PATCH] ARM64: dts: meson-gx: add sound-dai-cells to HDMI node + +Signed-off-by: Jerome Brunet +--- + arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 1 + + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +index 7913249..2a4d506 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +@@ -305,6 +305,7 @@ + <&clkc CLKID_CLK81>, + <&clkc CLKID_GCLK_VENCI_INT0>; + clock-names = "isfr", "iahb", "venci"; ++ #sound-dai-cells = <0>; + }; + + &sysctrl { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +index 20922cd..9f4b618 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +@@ -257,6 +257,7 @@ + <&clkc CLKID_CLK81>, + <&clkc CLKID_GCLK_VENCI_INT0>; + clock-names = "isfr", "iahb", "venci"; ++ #sound-dai-cells = <0>; + }; + + &sysctrl { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/034_linux-4.18-yocto-meson64-0017-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/034_linux-4.18-yocto-meson64-0017-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch new file mode 100644 index 000000000..e02abbfe2 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/034_linux-4.18-yocto-meson64-0017-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch @@ -0,0 +1,860 @@ +From 2df1a3a93bc1ce2d04fa0f0743c9c30195c7057a Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Wed, 20 Sep 2017 18:10:08 +0200 +Subject: [PATCH] ARM64: dts: meson: activate hdmi audio HDMI enabled boards + +This patch activate audio over HDMI on selected boards + +Please note that this audio support is based on WIP changes +This should be considered as preview and it does not reflect +the audio I expect to see merged + +Signed-off-by: Jerome Brunet +Signed-off-by: Neil Armstrong +--- + .../arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 45 ++++++++++++++++++++++ + .../boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 45 ++++++++++++++++++++++ + .../boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts | 45 ++++++++++++++++++++++ + .../arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 45 ++++++++++++++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi | 45 ++++++++++++++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi | 45 ++++++++++++++++++++++ + .../dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 45 ++++++++++++++++++++++ + .../dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 45 ++++++++++++++++++++++ + .../dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts | 45 ++++++++++++++++++++++ + .../boot/dts/amlogic/meson-gxl-s905x-p212.dts | 45 ++++++++++++++++++++++ + .../boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 45 ++++++++++++++++++++++ + .../arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts | 45 ++++++++++++++++++++++ + 12 files changed, 540 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +index 88e712e..319512e 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +@@ -95,6 +95,39 @@ + }; + }; + }; ++ ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; + }; + + &cec_AO { +@@ -104,6 +137,14 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + &cvbs_vdac_port { + cvbs_vdac_out: endpoint { + remote-endpoint = <&cvbs_connector_in>; +@@ -126,6 +167,10 @@ + }; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +index cbe99bd..5b10de9 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +@@ -88,6 +88,39 @@ + clock-names = "ext_clock"; + }; + ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; ++ + vcc1v8: regulator-vcc1v8 { + compatible = "regulator-fixed"; + regulator-name = "VCC1.8V"; +@@ -131,6 +164,14 @@ + }; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + &cec_AO { + status = "okay"; + pinctrl-0 = <&ao_cec_pins>; +@@ -185,6 +226,10 @@ + }; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +index 4cf7f6e..ff87bdc 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +@@ -119,6 +119,39 @@ + clock-names = "ext_clock"; + }; + ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; ++ + cvbs-connector { + compatible = "composite-video-connector"; + +@@ -154,6 +187,14 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + ðmac { + status = "okay"; + pinctrl-0 = <ð_rmii_pins>; +@@ -190,6 +231,10 @@ + }; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +index 54954b3..3da3309 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +@@ -110,6 +110,39 @@ + }; + }; + }; ++ ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; + }; + + &cec_AO { +@@ -119,6 +152,14 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + ðmac { + status = "okay"; + pinctrl-0 = <ð_rgmii_pins>; +@@ -181,6 +222,10 @@ + pinctrl-names = "default"; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi +index ce86226..84eb93b 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi +@@ -113,6 +113,39 @@ + }; + }; + }; ++ ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; + }; + + &cec_AO { +@@ -122,6 +155,14 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + &cvbs_vdac_port { + cvbs_vdac_out: endpoint { + remote-endpoint = <&cvbs_connector_in>; +@@ -140,6 +181,10 @@ + }; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi +index 70325b2..7d1f172 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi +@@ -105,6 +105,47 @@ + }; + }; + }; ++ ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; ++}; ++ ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; + }; + + &cec_AO { +@@ -159,6 +200,10 @@ + }; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +index d32cf38..f053595 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +@@ -65,6 +65,39 @@ + }; + }; + }; ++ ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; + }; + + &cec_AO { +@@ -74,6 +107,14 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + &hdmi_tx { + status = "okay"; + pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; +@@ -86,6 +127,10 @@ + }; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &i2c_A { + status = "okay"; + pinctrl-0 = <&i2c_a_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +index f63bceb..f56969e 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +@@ -84,6 +84,39 @@ + regulator-always-on; + }; + ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; ++ + vcc_3v3: regulator-vcc_3v3 { + compatible = "regulator-fixed"; + regulator-name = "VCC_3V3"; +@@ -130,6 +163,14 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + &cvbs_vdac_port { + cvbs_vdac_out: endpoint { + remote-endpoint = <&cvbs_connector_in>; +@@ -151,6 +192,10 @@ + pinctrl-names = "default"; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &hdmi_tx { + status = "okay"; + pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +index 6739697..e3e777f 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +@@ -102,6 +102,39 @@ + }; + }; + }; ++ ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; + }; + + &cec_AO { +@@ -111,6 +144,14 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + &cvbs_vdac_port { + cvbs_vdac_out: endpoint { + remote-endpoint = <&cvbs_connector_in>; +@@ -135,6 +176,10 @@ + }; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts +index 5896e8a..f8c66a7 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts +@@ -32,6 +32,39 @@ + }; + }; + }; ++ ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; + }; + + &cec_AO { +@@ -41,12 +74,24 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + &cvbs_vdac_port { + cvbs_vdac_out: endpoint { + remote-endpoint = <&cvbs_connector_in>; + }; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &hdmi_tx { + status = "okay"; + pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +index 0868da4..ea71261 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -85,6 +85,39 @@ + }; + }; + ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; ++ + pwmleds { + compatible = "pwm-leds"; + +@@ -205,6 +238,14 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + &cpu0 { + #cooling-cells = <2>; + }; +@@ -255,6 +296,10 @@ + }; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &i2c_A { + status = "okay"; + pinctrl-0 = <&i2c_a_pins>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +index f7a1cff..b9c5e64 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +@@ -75,6 +75,39 @@ + }; + }; + }; ++ ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-audio"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL2>, ++ <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-parents = <0>, <0>, <0>; ++ assigned-clock-rates = <294912000>, ++ <270950400>, ++ <393216000>; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; + }; + + &cec_AO { +@@ -84,6 +117,14 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ + &cvbs_vdac_port { + cvbs_vdac_out: endpoint { + remote-endpoint = <&cvbs_connector_in>; +@@ -129,6 +170,10 @@ + }; + }; + ++&i2s_dai { ++ status = "okay"; ++}; ++ + &ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/035_linux-4.18-yocto-meson64-0018-drm-bridge-dw-hdmi-Use-AUTO-CTS-setup-mode-when-non-.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/035_linux-4.18-yocto-meson64-0018-drm-bridge-dw-hdmi-Use-AUTO-CTS-setup-mode-when-non-.patch new file mode 100644 index 000000000..fbff6c8d8 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/035_linux-4.18-yocto-meson64-0018-drm-bridge-dw-hdmi-Use-AUTO-CTS-setup-mode-when-non-.patch @@ -0,0 +1,75 @@ +From e282ad866be628951a95d297207c9a5580f4101d Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Mon, 2 Jul 2018 12:21:55 +0200 +Subject: [PATCH] drm: bridge: dw-hdmi: Use AUTO CTS setup mode when non-AHB + audio + +Signed-off-by: Neil Armstrong +--- + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 41 ++++++++++++++++++++----------- + 1 file changed, 26 insertions(+), 15 deletions(-) + +diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +index 3c136f2b..a68ffbb 100644 +--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c ++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +@@ -430,8 +430,12 @@ static void hdmi_set_cts_n(struct dw_hdmi *hdmi, unsigned int cts, + /* nshift factor = 0 */ + hdmi_modb(hdmi, 0, HDMI_AUD_CTS3_N_SHIFT_MASK, HDMI_AUD_CTS3); + +- hdmi_writeb(hdmi, ((cts >> 16) & HDMI_AUD_CTS3_AUDCTS19_16_MASK) | +- HDMI_AUD_CTS3_CTS_MANUAL, HDMI_AUD_CTS3); ++ /* Use Auto CTS mode with CTS is unknown */ ++ if (cts) ++ hdmi_writeb(hdmi, ((cts >> 16) & HDMI_AUD_CTS3_AUDCTS19_16_MASK) | ++ HDMI_AUD_CTS3_CTS_MANUAL, HDMI_AUD_CTS3); ++ else ++ hdmi_writeb(hdmi, 0, HDMI_AUD_CTS3); + hdmi_writeb(hdmi, (cts >> 8) & 0xff, HDMI_AUD_CTS2); + hdmi_writeb(hdmi, cts & 0xff, HDMI_AUD_CTS1); + +@@ -501,24 +505,31 @@ static void hdmi_set_clk_regenerator(struct dw_hdmi *hdmi, + { + unsigned long ftdms = pixel_clk; + unsigned int n, cts; ++ u8 config3; + u64 tmp; + + n = hdmi_compute_n(sample_rate, pixel_clk); + +- /* +- * Compute the CTS value from the N value. Note that CTS and N +- * can be up to 20 bits in total, so we need 64-bit math. Also +- * note that our TDMS clock is not fully accurate; it is accurate +- * to kHz. This can introduce an unnecessary remainder in the +- * calculation below, so we don't try to warn about that. +- */ +- tmp = (u64)ftdms * n; +- do_div(tmp, 128 * sample_rate); +- cts = tmp; ++ config3 = hdmi_readb(hdmi, HDMI_CONFIG3_ID); + +- dev_dbg(hdmi->dev, "%s: fs=%uHz ftdms=%lu.%03luMHz N=%d cts=%d\n", +- __func__, sample_rate, ftdms / 1000000, (ftdms / 1000) % 1000, +- n, cts); ++ if (config3 & HDMI_CONFIG3_AHBAUDDMA) { ++ /* ++ * Compute the CTS value from the N value. Note that CTS and N ++ * can be up to 20 bits in total, so we need 64-bit math. Also ++ * note that our TDMS clock is not fully accurate; it is ++ * accurate to kHz. This can introduce an unnecessary remainder ++ * in the calculation below, so we don't try to warn about that. ++ */ ++ tmp = (u64)ftdms * n; ++ do_div(tmp, 128 * sample_rate); ++ cts = tmp; ++ ++ dev_dbg(hdmi->dev, "%s: fs=%uHz ftdms=%lu.%03luMHz N=%d cts=%d\n", ++ __func__, sample_rate, ++ ftdms / 1000000, (ftdms / 1000) % 1000, ++ n, cts); ++ } else ++ cts = 0; + + spin_lock_irq(&hdmi->audio_lock); + hdmi->audio_n = n; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/036_linux-4.18-yocto-meson64-0019-drm-meson-Call-drm_crtc_vblank_on-drm_crtc_vblank_of.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/036_linux-4.18-yocto-meson64-0019-drm-meson-Call-drm_crtc_vblank_on-drm_crtc_vblank_of.patch new file mode 100644 index 000000000..314ff482b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/036_linux-4.18-yocto-meson64-0019-drm-meson-Call-drm_crtc_vblank_on-drm_crtc_vblank_of.patch @@ -0,0 +1,36 @@ +From 4a3a6d04d4996ff0a0acc8405fdd0b0347a62138 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Wed, 28 Feb 2018 16:07:18 +0100 +Subject: [PATCH] drm/meson: Call drm_crtc_vblank_on / drm_crtc_vblank_off + +Make sure that the CRTC code will call the enable/disable_vblank hooks. + +Signed-off-by: Neil Armstrong +--- + drivers/gpu/drm/meson/meson_crtc.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c +index 0552020..4dd0df0 100644 +--- a/drivers/gpu/drm/meson/meson_crtc.c ++++ b/drivers/gpu/drm/meson/meson_crtc.c +@@ -102,6 +102,8 @@ static void meson_crtc_atomic_enable(struct drm_crtc *crtc, + priv->io_base + _REG(VPP_MISC)); + + priv->viu.osd1_enabled = true; ++ ++ drm_crtc_vblank_on(crtc); + } + + static void meson_crtc_atomic_disable(struct drm_crtc *crtc, +@@ -110,6 +112,10 @@ static void meson_crtc_atomic_disable(struct drm_crtc *crtc, + struct meson_crtc *meson_crtc = to_meson_crtc(crtc); + struct meson_drm *priv = meson_crtc->priv; + ++ DRM_DEBUG_DRIVER("\n"); ++ ++ drm_crtc_vblank_off(crtc); ++ + priv->viu.osd1_enabled = false; + priv->viu.osd1_commit = false; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/037_linux-4.18-yocto-meson64-0020-media-platform-meson-ao-cec-make-busy-TX-warning-sil.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/037_linux-4.18-yocto-meson64-0020-media-platform-meson-ao-cec-make-busy-TX-warning-sil.patch new file mode 100644 index 000000000..81569fc4d --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/037_linux-4.18-yocto-meson64-0020-media-platform-meson-ao-cec-make-busy-TX-warning-sil.patch @@ -0,0 +1,32 @@ +From 830bb1ab9ee8999566a4d98086590ac824cdeb4e Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Tue, 10 Jul 2018 15:00:45 +0200 +Subject: [PATCH] media: platform: meson-ao-cec: make busy TX warning silent + +Switch to dev_dbg for the busy TX message to avoid having a flood of: +[ 228.064570] meson-ao-cec c8100100.cec: meson_ao_cec_transmit: busy TX: aborting +[ 230.368489] meson-ao-cec c8100100.cec: meson_ao_cec_transmit: busy TX: aborting +[ 234.208655] meson-ao-cec c8100100.cec: meson_ao_cec_transmit: busy TX: aborting +[ 236.512558] meson-ao-cec c8100100.cec: meson_ao_cec_transmit: busy TX: aborting + +This message is only a debug hint and not an error. + +Fixes: 7ec2c0f72cb1 ("media: platform: Add Amlogic Meson AO CEC Controller driver") +Signed-off-by: Neil Armstrong +--- + drivers/media/platform/meson/ao-cec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/media/platform/meson/ao-cec.c b/drivers/media/platform/meson/ao-cec.c +index 8040a62..cd4be38 100644 +--- a/drivers/media/platform/meson/ao-cec.c ++++ b/drivers/media/platform/meson/ao-cec.c +@@ -524,7 +524,7 @@ static int meson_ao_cec_transmit(struct cec_adapter *adap, u8 attempts, + return ret; + + if (reg == TX_BUSY) { +- dev_err(&ao_cec->pdev->dev, "%s: busy TX: aborting\n", ++ dev_dbg(&ao_cec->pdev->dev, "%s: busy TX: aborting\n", + __func__); + meson_ao_cec_write(ao_cec, CEC_TX_MSG_CMD, TX_ABORT, &ret); + } diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/045_linux-4.18-yocto-meson64-0001-libretech-cc-disable-CVBS-connector.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/045_linux-4.18-yocto-meson64-0001-libretech-cc-disable-CVBS-connector.patch new file mode 100644 index 000000000..7f8298118 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/045_linux-4.18-yocto-meson64-0001-libretech-cc-disable-CVBS-connector.patch @@ -0,0 +1,24 @@ +From baa0a8ee8b8a0a14ddab6b14c37846dfed261007 Mon Sep 17 00:00:00 2001 +From: Koen Kooi +Date: Fri, 11 May 2018 13:51:20 +0200 +Subject: [PATCH] libretech-cc: disable CVBS connector + +Signed-off-by: Koen Kooi +--- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +index f56969e..ac3a150 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +@@ -24,7 +24,8 @@ + stdout-path = "serial0:115200n8"; + }; + +- cvbs-connector { ++ cvbs_connector: cvbs-connector { ++ status = "disabled"; + compatible = "composite-video-connector"; + + port { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/048_linux-4.18.y-jeromebrunet-0001-clk-qcom-drop_clk_set_rate_gate_from_sdc_clocks.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/048_linux-4.18.y-jeromebrunet-0001-clk-qcom-drop_clk_set_rate_gate_from_sdc_clocks.patch new file mode 100644 index 000000000..0cd5bcd06 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/048_linux-4.18.y-jeromebrunet-0001-clk-qcom-drop_clk_set_rate_gate_from_sdc_clocks.patch @@ -0,0 +1,161 @@ +From e18fe49cfa5a989d0e8aca1b95a989f71c1916e7 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Tue, 19 Jun 2018 11:03:03 +0200 +Subject: [PATCH] clk: qcom: drop CLK_SET_RATE_GATE from sdc clocks + +the mmci driver (drivers/mmc/host/mmci.c) does the following sequence: +* clk_prepare_enable() +* clk_set_rate() + +on SDCx_clk which is a children of SDCx_src. SDCx_src has +CLK_SET_RATE_GATE so this sequence should not be allowed but this was not +enforced. IOW, the flag is ignored. Dropping the flag won't change +anything to the current behaviour of the platform. + +CLK_SET_RATE_GATE is being fixed and enforced now. If the flag was kept, +the mmci driver would receive -EBUSY when calling clk_set_rate() + +Signed-off-by: Jerome Brunet +--- + drivers/clk/qcom/gcc-ipq806x.c | 3 --- + drivers/clk/qcom/gcc-mdm9615.c | 2 -- + drivers/clk/qcom/gcc-msm8660.c | 5 ----- + drivers/clk/qcom/gcc-msm8960.c | 5 ----- + 4 files changed, 15 deletions(-) + +diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c +index 28eb200d0f1ee..5f61225657abb 100644 +--- a/drivers/clk/qcom/gcc-ipq806x.c ++++ b/drivers/clk/qcom/gcc-ipq806x.c +@@ -1220,7 +1220,6 @@ static struct clk_rcg sdc1_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -1269,7 +1268,6 @@ static struct clk_rcg sdc3_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -1353,7 +1351,6 @@ static struct clk_rcg tsif_ref_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +diff --git a/drivers/clk/qcom/gcc-mdm9615.c b/drivers/clk/qcom/gcc-mdm9615.c +index b99dd406e9071..849046fbed6d4 100644 +--- a/drivers/clk/qcom/gcc-mdm9615.c ++++ b/drivers/clk/qcom/gcc-mdm9615.c +@@ -947,7 +947,6 @@ static struct clk_rcg sdc1_src = { + .parent_names = gcc_cxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -996,7 +995,6 @@ static struct clk_rcg sdc2_src = { + .parent_names = gcc_cxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +diff --git a/drivers/clk/qcom/gcc-msm8660.c b/drivers/clk/qcom/gcc-msm8660.c +index c347a0d44bc8b..7e930e25c79f1 100644 +--- a/drivers/clk/qcom/gcc-msm8660.c ++++ b/drivers/clk/qcom/gcc-msm8660.c +@@ -1558,7 +1558,6 @@ static struct clk_rcg sdc1_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -1607,7 +1606,6 @@ static struct clk_rcg sdc2_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -1656,7 +1654,6 @@ static struct clk_rcg sdc3_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -1705,7 +1702,6 @@ static struct clk_rcg sdc4_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -1754,7 +1750,6 @@ static struct clk_rcg sdc5_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +diff --git a/drivers/clk/qcom/gcc-msm8960.c b/drivers/clk/qcom/gcc-msm8960.c +index eb551c75fba6a..fd495e0471bb4 100644 +--- a/drivers/clk/qcom/gcc-msm8960.c ++++ b/drivers/clk/qcom/gcc-msm8960.c +@@ -1628,7 +1628,6 @@ static struct clk_rcg sdc1_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -1677,7 +1676,6 @@ static struct clk_rcg sdc2_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -1726,7 +1724,6 @@ static struct clk_rcg sdc3_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -1775,7 +1772,6 @@ static struct clk_rcg sdc4_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; +@@ -1824,7 +1820,6 @@ static struct clk_rcg sdc5_src = { + .parent_names = gcc_pxo_pll8, + .num_parents = 2, + .ops = &clk_rcg_ops, +- .flags = CLK_SET_RATE_GATE, + }, + } + }; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/049_linux-4.18.y-jeromebrunet-0002-clk-fix_clk_set_rate_gate_with_clock_rate_protection.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/049_linux-4.18.y-jeromebrunet-0002-clk-fix_clk_set_rate_gate_with_clock_rate_protection.patch new file mode 100644 index 000000000..daba9ee1b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/049_linux-4.18.y-jeromebrunet-0002-clk-fix_clk_set_rate_gate_with_clock_rate_protection.patch @@ -0,0 +1,70 @@ +From b2ae7fbfe34642d87aeac299d9cec8f1e01ed0b2 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Fri, 1 Dec 2017 22:51:58 +0100 +Subject: [PATCH] clk: fix CLK_SET_RATE_GATE with clock rate protection + +CLK_SET_RATE_GATE should prevent any operation which may result in a rate +change or glitch while the clock is prepared/enabled. + +IOW, the following sequence is not allowed anymore with CLK_SET_RATE_GATE: +* clk_get() +* clk_prepare_enable() +* clk_get_rate() +* clk_set_rate() + +At the moment this is enforced on the leaf clock of the operation, not +along the tree. This problematic because, if a PLL has the CLK_RATE_GATE, +it won't be enforced if the clk_set_rate() is called on its child clocks. + +Using clock rate protection, we can now enforce CLK_SET_RATE_GATE along the +clock tree + +Acked-by: Linus Walleij +Tested-by: Quentin Schulz +Tested-by: Maxime Ripard +Signed-off-by: Jerome Brunet +--- + drivers/clk/clk.c | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c +index 9760b526ca31d..97c09243fb21c 100644 +--- a/drivers/clk/clk.c ++++ b/drivers/clk/clk.c +@@ -691,6 +691,9 @@ static void clk_core_unprepare(struct clk_core *core) + "Unpreparing critical %s\n", core->name)) + return; + ++ if (core->flags & CLK_SET_RATE_GATE) ++ clk_core_rate_unprotect(core); ++ + if (--core->prepare_count > 0) + return; + +@@ -765,6 +768,16 @@ static int clk_core_prepare(struct clk_core *core) + + core->prepare_count++; + ++ /* ++ * CLK_SET_RATE_GATE is a special case of clock protection ++ * Instead of a consumer claiming exclusive rate control, it is ++ * actually the provider which prevents any consumer from making any ++ * operation which could result in a rate change or rate glitch while ++ * the clock is prepared. ++ */ ++ if (core->flags & CLK_SET_RATE_GATE) ++ clk_core_rate_protect(core); ++ + return 0; + unprepare: + clk_core_unprepare(core->parent); +@@ -1888,9 +1901,6 @@ static int clk_core_set_rate_nolock(struct clk_core *core, + if (clk_core_rate_is_protected(core)) + return -EBUSY; + +- if ((core->flags & CLK_SET_RATE_GATE) && core->prepare_count) +- return -EBUSY; +- + /* calculate new rates and get the topmost changed clock */ + top = clk_calc_new_rates(core, req_rate); + if (!top) diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/050_linux-4.18.y-jeromebrunet-0003-media-rc-meson-rc_rc0-two_consecutive_events_of_type.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/050_linux-4.18.y-jeromebrunet-0003-media-rc-meson-rc_rc0-two_consecutive_events_of_type.patch new file mode 100644 index 000000000..4cd4c3aa4 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/050_linux-4.18.y-jeromebrunet-0003-media-rc-meson-rc_rc0-two_consecutive_events_of_type.patch @@ -0,0 +1,29 @@ +From df17d1808dd4899a9469e4e7f2d9b1120b7fc208 Mon Sep 17 00:00:00 2001 +From: Sean Young +Date: Tue, 19 Jun 2018 13:50:36 +0100 +Subject: [PATCH] media: rc: meson: rc rc0: two consecutive events of type + space + +The meson generates one edge per interrupt. The duration is encoded in 12 +bits of 10 microseconds, so it can only encoding a maximum of 40 +milliseconds. As a result, it can produce multiple space events. + +Signed-off-by: Sean Young +--- + drivers/media/rc/meson-ir.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/media/rc/meson-ir.c b/drivers/media/rc/meson-ir.c +index f449b35d25e73..9747426719b29 100644 +--- a/drivers/media/rc/meson-ir.c ++++ b/drivers/media/rc/meson-ir.c +@@ -97,7 +97,8 @@ static irqreturn_t meson_ir_irq(int irqno, void *dev_id) + status = readl_relaxed(ir->reg + IR_DEC_STATUS); + rawir.pulse = !!(status & STATUS_IR_DEC_IN); + +- ir_raw_event_store_with_timeout(ir->rc, &rawir); ++ if (ir_raw_event_store_with_filter(ir->rc, &rawir)) ++ ir_raw_event_handle(ir->rc); + + spin_unlock(&ir->lock); + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/051_linux-4.18.y-jeromebrunet-0004-clk-add_duty_cycle_support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/051_linux-4.18.y-jeromebrunet-0004-clk-add_duty_cycle_support.patch new file mode 100644 index 000000000..9547c408c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/051_linux-4.18.y-jeromebrunet-0004-clk-add_duty_cycle_support.patch @@ -0,0 +1,461 @@ +From 28d675fabd5e66be0ccc3cba655de36c7625f4a5 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Fri, 20 Apr 2018 23:11:41 +0200 +Subject: [PATCH] clk: add duty cycle support + +Add the possibility to apply and query the clock signal duty cycle ratio. + +This is useful when the duty cycle of the clock signal depends on some +other parameters controlled by the clock framework. + +For example, the duty cycle of a divider may depends on the raw divider +setting (ratio = N / div) , which is controlled by the CCF. In such case, +going through the pwm framework to control the duty cycle ratio of this +clock would be a burden. + +A clock provider is not required to implement the operation to set and get +the duty cycle. If it does not implement .get_duty_cycle(), the ratio is +assumed to be 50%. + +This change also adds a new flag, CLK_DUTY_CYCLE_PARENT. This flag should +be used to indicate that a clock, such as gates and muxes, may inherit +the duty cycle ratio of its parent clock. If a clock does not provide a +get_duty_cycle() callback and has CLK_DUTY_CYCLE_PARENT, then the call +will be directly forwarded to its parent clock, if any. For +set_duty_cycle(), the clock should also have CLK_SET_RATE_PARENT for the +call to be forwarded + +Signed-off-by: Jerome Brunet +--- + drivers/clk/clk.c | 199 ++++++++++++++++++++++++++++++++++- + include/linux/clk-provider.h | 26 +++++ + include/linux/clk.h | 33 ++++++ + include/trace/events/clk.h | 36 +++++++ + 4 files changed, 289 insertions(+), 5 deletions(-) + +diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c +index 97c09243fb21c..e108f591d84a9 100644 +--- a/drivers/clk/clk.c ++++ b/drivers/clk/clk.c +@@ -68,6 +68,7 @@ struct clk_core { + unsigned long max_rate; + unsigned long accuracy; + int phase; ++ struct clk_duty duty; + struct hlist_head children; + struct hlist_node child_node; + struct hlist_head clks; +@@ -2412,6 +2413,172 @@ int clk_get_phase(struct clk *clk) + } + EXPORT_SYMBOL_GPL(clk_get_phase); + ++static void clk_core_reset_duty_cycle_nolock(struct clk_core *core) ++{ ++ /* Assume a default value of 50% */ ++ core->duty.num = 1; ++ core->duty.den = 2; ++} ++ ++static int clk_core_update_duty_cycle_parent_nolock(struct clk_core *core); ++ ++static int clk_core_update_duty_cycle_nolock(struct clk_core *core) ++{ ++ struct clk_duty *duty = &core->duty; ++ int ret = 0; ++ ++ if (!core->ops->get_duty_cycle) ++ return clk_core_update_duty_cycle_parent_nolock(core); ++ ++ ret = core->ops->get_duty_cycle(core->hw, duty); ++ if (ret) ++ goto reset; ++ ++ /* Don't trust the clock provider too much */ ++ if (duty->den == 0 || duty->num > duty->den) { ++ ret = -EINVAL; ++ goto reset; ++ } ++ ++ return 0; ++ ++reset: ++ clk_core_reset_duty_cycle_nolock(core); ++ return ret; ++} ++ ++static int clk_core_update_duty_cycle_parent_nolock(struct clk_core *core) ++{ ++ int ret = 0; ++ ++ if (core->parent && ++ core->flags & CLK_DUTY_CYCLE_PARENT) { ++ ret = clk_core_update_duty_cycle_nolock(core->parent); ++ memcpy(&core->duty, &core->parent->duty, sizeof(core->duty)); ++ } else { ++ clk_core_reset_duty_cycle_nolock(core); ++ } ++ ++ return ret; ++} ++ ++static int clk_core_set_duty_cycle_parent_nolock(struct clk_core *core, ++ struct clk_duty *duty); ++ ++static int clk_core_set_duty_cycle_nolock(struct clk_core *core, ++ struct clk_duty *duty) ++{ ++ int ret; ++ ++ lockdep_assert_held(&prepare_lock); ++ ++ if (clk_core_rate_is_protected(core)) ++ return -EBUSY; ++ ++ trace_clk_set_duty_cycle(core, duty); ++ ++ if (!core->ops->set_duty_cycle) ++ return clk_core_set_duty_cycle_parent_nolock(core, duty); ++ ++ ret = core->ops->set_duty_cycle(core->hw, duty); ++ if (!ret) ++ memcpy(&core->duty, duty, sizeof(*duty)); ++ ++ trace_clk_set_duty_cycle_complete(core, duty); ++ ++ return ret; ++} ++ ++static int clk_core_set_duty_cycle_parent_nolock(struct clk_core *core, ++ struct clk_duty *duty) ++{ ++ int ret = 0; ++ ++ if (core->parent && ++ core->flags & (CLK_DUTY_CYCLE_PARENT | CLK_SET_RATE_PARENT)) { ++ ret = clk_core_set_duty_cycle_nolock(core->parent, duty); ++ memcpy(&core->duty, &core->parent->duty, sizeof(core->duty)); ++ } ++ ++ return ret; ++} ++ ++/** ++ * clk_set_duty_cycle - adjust the duty cycle ratio of a clock signal ++ * @clk: clock signal source ++ * @num: numerator of the duty cycle ratio to be applied ++ * @den: denominator of the duty cycle ratio to be applied ++ * ++ * Apply the duty cycle ratio if the ratio is valid and the clock can ++ * perform this operation ++ * ++ * Returns (0) on success, a negative errno otherwise. ++ */ ++int clk_set_duty_cycle(struct clk *clk, unsigned int num, unsigned int den) ++{ ++ int ret; ++ struct clk_duty duty; ++ ++ if (!clk) ++ return 0; ++ ++ /* sanity check the ratio */ ++ if (den == 0 || num > den) ++ return -EINVAL; ++ ++ duty.num = num; ++ duty.den = den; ++ ++ clk_prepare_lock(); ++ ++ if (clk->exclusive_count) ++ clk_core_rate_unprotect(clk->core); ++ ++ ret = clk_core_set_duty_cycle_nolock(clk->core, &duty); ++ ++ if (clk->exclusive_count) ++ clk_core_rate_protect(clk->core); ++ ++ clk_prepare_unlock(); ++ ++ return ret; ++} ++EXPORT_SYMBOL_GPL(clk_set_duty_cycle); ++ ++static int clk_core_get_scaled_duty_cycle(struct clk_core *core, ++ unsigned int scale) ++{ ++ struct clk_duty *duty = &core->duty; ++ int ret; ++ ++ clk_prepare_lock(); ++ ++ ret = clk_core_update_duty_cycle_nolock(core); ++ if (!ret) ++ ret = mult_frac(scale, duty->num, duty->den); ++ ++ clk_prepare_unlock(); ++ ++ return ret; ++} ++ ++/** ++ * clk_get_scaled_duty_cycle - return the duty cycle ratio of a clock signal ++ * @clk: clock signal source ++ * @scale: scaling factor to be applied to represent the ratio as an integer ++ * ++ * Returns the duty cycle ratio of a clock node multiplied by the provided ++ * scaling factor, or negative errno on error. ++ */ ++int clk_get_scaled_duty_cycle(struct clk *clk, unsigned int scale) ++{ ++ if (!clk) ++ return 0; ++ ++ return clk_core_get_scaled_duty_cycle(clk->core, scale); ++} ++EXPORT_SYMBOL_GPL(clk_get_scaled_duty_cycle); ++ + /** + * clk_is_match - check if two clk's point to the same hardware clock + * @p: clk compared against q +@@ -2465,12 +2632,13 @@ static void clk_summary_show_one(struct seq_file *s, struct clk_core *c, + if (!c) + return; + +- seq_printf(s, "%*s%-*s %7d %8d %8d %11lu %10lu %-3d\n", ++ seq_printf(s, "%*s%-*s %7d %8d %8d %11lu %10lu %5d %6d\n", + level * 3 + 1, "", + 30 - level * 3, c->name, + c->enable_count, c->prepare_count, c->protect_count, + clk_core_get_rate(c), clk_core_get_accuracy(c), +- clk_core_get_phase(c)); ++ clk_core_get_phase(c), ++ clk_core_get_scaled_duty_cycle(c, 100000)); + } + + static void clk_summary_show_subtree(struct seq_file *s, struct clk_core *c, +@@ -2492,9 +2660,9 @@ static int clk_summary_show(struct seq_file *s, void *data) + struct clk_core *c; + struct hlist_head **lists = (struct hlist_head **)s->private; + +- seq_puts(s, " enable prepare protect \n"); +- seq_puts(s, " clock count count count rate accuracy phase\n"); +- seq_puts(s, "----------------------------------------------------------------------------------------\n"); ++ seq_puts(s, " enable prepare protect duty\n"); ++ seq_puts(s, " clock count count count rate accuracy phase cycle\n"); ++ seq_puts(s, "---------------------------------------------------------------------------------------------\n"); + + clk_prepare_lock(); + +@@ -2521,6 +2689,8 @@ static void clk_dump_one(struct seq_file *s, struct clk_core *c, int level) + seq_printf(s, "\"rate\": %lu,", clk_core_get_rate(c)); + seq_printf(s, "\"accuracy\": %lu,", clk_core_get_accuracy(c)); + seq_printf(s, "\"phase\": %d", clk_core_get_phase(c)); ++ seq_printf(s, "\"duty_cycle\": %u", ++ clk_core_get_scaled_duty_cycle(c, 100000)); + } + + static void clk_dump_subtree(struct seq_file *s, struct clk_core *c, int level) +@@ -2582,6 +2752,7 @@ static const struct { + ENTRY(CLK_SET_RATE_UNGATE), + ENTRY(CLK_IS_CRITICAL), + ENTRY(CLK_OPS_PARENT_ENABLE), ++ ENTRY(CLK_DUTY_CYCLE_PARENT), + #undef ENTRY + }; + +@@ -2620,6 +2791,17 @@ static int possible_parents_show(struct seq_file *s, void *data) + } + DEFINE_SHOW_ATTRIBUTE(possible_parents); + ++static int clk_duty_cycle_show(struct seq_file *s, void *data) ++{ ++ struct clk_core *core = s->private; ++ struct clk_duty *duty = &core->duty; ++ ++ seq_printf(s, "%u/%u\n", duty->num, duty->den); ++ ++ return 0; ++} ++DEFINE_SHOW_ATTRIBUTE(clk_duty_cycle); ++ + static void clk_debug_create_one(struct clk_core *core, struct dentry *pdentry) + { + struct dentry *root; +@@ -2638,6 +2820,8 @@ static void clk_debug_create_one(struct clk_core *core, struct dentry *pdentry) + debugfs_create_u32("clk_enable_count", 0444, root, &core->enable_count); + debugfs_create_u32("clk_protect_count", 0444, root, &core->protect_count); + debugfs_create_u32("clk_notifier_count", 0444, root, &core->notifier_count); ++ debugfs_create_file("clk_duty_cycle", 0444, root, core, ++ &clk_duty_cycle_fops); + + if (core->num_parents > 1) + debugfs_create_file("clk_possible_parents", 0444, root, core, +@@ -2855,6 +3039,11 @@ static int __clk_core_init(struct clk_core *core) + else + core->phase = 0; + ++ /* ++ * Set clk's duty cycle. ++ */ ++ clk_core_update_duty_cycle_nolock(core); ++ + /* + * Set clk's rate. The preferred method is to use .recalc_rate. For + * simple clocks and lazy developers the default fallback is to use the +diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h +index b7cfa037e593e..08b1aa70a38d3 100644 +--- a/include/linux/clk-provider.h ++++ b/include/linux/clk-provider.h +@@ -38,6 +38,8 @@ + #define CLK_IS_CRITICAL BIT(11) /* do not gate, ever */ + /* parents need enable during gate/ungate, set rate and re-parent */ + #define CLK_OPS_PARENT_ENABLE BIT(12) ++/* duty cycle call may be forwarded to the parent clock */ ++#define CLK_DUTY_CYCLE_PARENT BIT(13) + + struct clk; + struct clk_hw; +@@ -66,6 +68,17 @@ struct clk_rate_request { + struct clk_hw *best_parent_hw; + }; + ++/** ++ * struct clk_duty - Struture encoding the duty cycle ratio of a clock ++ * ++ * @num: Numerator of the duty cycle ratio ++ * @den: Denominator of the duty cycle ratio ++ */ ++struct clk_duty { ++ unsigned int num; ++ unsigned int den; ++}; ++ + /** + * struct clk_ops - Callback operations for hardware clocks; these are to + * be provided by the clock implementation, and will be called by drivers +@@ -169,6 +182,15 @@ struct clk_rate_request { + * by the second argument. Valid values for degrees are + * 0-359. Return 0 on success, otherwise -EERROR. + * ++ * @get_duty_cycle: Queries the hardware to get the current duty cycle ratio ++ * of a clock. Returned values denominator cannot be 0 and must be ++ * superior or equal to the numerator. ++ * ++ * @set_duty_cycle: Apply the duty cycle ratio to this clock signal specified by ++ * the numerator (2nd argurment) and denominator (3rd argument). ++ * Argument must be a valid ratio (denominator > 0 ++ * and >= numerator) Return 0 on success, otherwise -EERROR. ++ * + * @init: Perform platform-specific initialization magic. + * This is not not used by any of the basic clock types. + * Please consider other ways of solving initialization problems +@@ -218,6 +240,10 @@ struct clk_ops { + unsigned long parent_accuracy); + int (*get_phase)(struct clk_hw *hw); + int (*set_phase)(struct clk_hw *hw, int degrees); ++ int (*get_duty_cycle)(struct clk_hw *hw, ++ struct clk_duty *duty); ++ int (*set_duty_cycle)(struct clk_hw *hw, ++ struct clk_duty *duty); + void (*init)(struct clk_hw *hw); + void (*debug_init)(struct clk_hw *hw, struct dentry *dentry); + }; +diff --git a/include/linux/clk.h b/include/linux/clk.h +index 0dbd0885b2c23..4f750c481b82b 100644 +--- a/include/linux/clk.h ++++ b/include/linux/clk.h +@@ -141,6 +141,27 @@ int clk_set_phase(struct clk *clk, int degrees); + */ + int clk_get_phase(struct clk *clk); + ++/** ++ * clk_set_duty_cycle - adjust the duty cycle ratio of a clock signal ++ * @clk: clock signal source ++ * @num: numerator of the duty cycle ratio to be applied ++ * @den: denominator of the duty cycle ratio to be applied ++ * ++ * Adjust the duty cycle of a clock signal by the specified ratio. Returns 0 on ++ * success, -EERROR otherwise. ++ */ ++int clk_set_duty_cycle(struct clk *clk, unsigned int num, unsigned int den); ++ ++/** ++ * clk_get_duty_cycle - return the duty cycle ratio of a clock signal ++ * @clk: clock signal source ++ * @scale: scaling factor to be applied to represent the ratio as an integer ++ * ++ * Returns the duty cycle ratio multiplied by the scale provided, otherwise ++ * returns -EERROR. ++ */ ++int clk_get_scaled_duty_cycle(struct clk *clk, unsigned int scale); ++ + /** + * clk_is_match - check if two clk's point to the same hardware clock + * @p: clk compared against q +@@ -183,6 +204,18 @@ static inline long clk_get_phase(struct clk *clk) + return -ENOTSUPP; + } + ++static inline int clk_set_duty_cycle(struct clk *clk, unsigned int num, ++ unsigned int den) ++{ ++ return -ENOTSUPP; ++} ++ ++static inline unsigned int clk_get_scaled_duty_cycle(struct clk *clk, ++ unsigned int scale) ++{ ++ return 0; ++} ++ + static inline bool clk_is_match(const struct clk *p, const struct clk *q) + { + return p == q; +diff --git a/include/trace/events/clk.h b/include/trace/events/clk.h +index 2cd449328aee3..9004ffff7f326 100644 +--- a/include/trace/events/clk.h ++++ b/include/trace/events/clk.h +@@ -192,6 +192,42 @@ DEFINE_EVENT(clk_phase, clk_set_phase_complete, + TP_ARGS(core, phase) + ); + ++DECLARE_EVENT_CLASS(clk_duty_cycle, ++ ++ TP_PROTO(struct clk_core *core, struct clk_duty *duty), ++ ++ TP_ARGS(core, duty), ++ ++ TP_STRUCT__entry( ++ __string( name, core->name ) ++ __field( unsigned int, num ) ++ __field( unsigned int, den ) ++ ), ++ ++ TP_fast_assign( ++ __assign_str(name, core->name); ++ __entry->num = duty->num; ++ __entry->den = duty->den; ++ ), ++ ++ TP_printk("%s %u/%u", __get_str(name), (unsigned int)__entry->num, ++ (unsigned int)__entry->den) ++); ++ ++DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle, ++ ++ TP_PROTO(struct clk_core *core, struct clk_duty *duty), ++ ++ TP_ARGS(core, duty) ++); ++ ++DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle_complete, ++ ++ TP_PROTO(struct clk_core *core, struct clk_duty *duty), ++ ++ TP_ARGS(core, duty) ++); ++ + #endif /* _TRACE_CLK_H */ + + /* This part must be outside protection */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/053_linux-4.18.y-jeromebrunet-0006-clk-meson-remove_obsolete_register_access.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/053_linux-4.18.y-jeromebrunet-0006-clk-meson-remove_obsolete_register_access.patch new file mode 100644 index 000000000..0472a46df --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/053_linux-4.18.y-jeromebrunet-0006-clk-meson-remove_obsolete_register_access.patch @@ -0,0 +1,142 @@ +From c46829185836ce19b9b14ee301d891e3f67fbe3d Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Wed, 10 Jan 2018 17:05:57 +0100 +Subject: [PATCH] clk: meson: remove obsolete register access + +The legacy method to access the hhi register space is not longer used. +We can safely drop it now. + +Signed-off-by: Jerome Brunet +--- + drivers/clk/meson/axg.c | 37 ++----------------------------------- + drivers/clk/meson/gxbb.c | 36 ++---------------------------------- + 2 files changed, 4 insertions(+), 69 deletions(-) + +diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c +index bd4dbc696b88f..3fb884db1b10f 100644 +--- a/drivers/clk/meson/axg.c ++++ b/drivers/clk/meson/axg.c +@@ -12,7 +12,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -995,49 +994,17 @@ static const struct of_device_id clkc_match_table[] = { + {} + }; + +-static const struct regmap_config clkc_regmap_config = { +- .reg_bits = 32, +- .val_bits = 32, +- .reg_stride = 4, +-}; +- + static int axg_clkc_probe(struct platform_device *pdev) + { + struct device *dev = &pdev->dev; +- struct resource *res; +- void __iomem *clk_base = NULL; + struct regmap *map; + int ret, i; + + /* Get the hhi system controller node if available */ + map = syscon_node_to_regmap(of_get_parent(dev->of_node)); + if (IS_ERR(map)) { +- dev_err(dev, +- "failed to get HHI regmap - Trying obsolete regs\n"); +- +- /* +- * FIXME: HHI registers should be accessed through +- * the appropriate system controller. This is required because +- * there is more than just clocks in this register space +- * +- * This fallback method is only provided temporarily until +- * all the platform DTs are properly using the syscon node +- */ +- res = platform_get_resource(pdev, IORESOURCE_MEM, 0); +- if (!res) +- return -EINVAL; +- +- +- clk_base = devm_ioremap(dev, res->start, resource_size(res)); +- if (!clk_base) { +- dev_err(dev, "Unable to map clk base\n"); +- return -ENXIO; +- } +- +- map = devm_regmap_init_mmio(dev, clk_base, +- &clkc_regmap_config); +- if (IS_ERR(map)) +- return PTR_ERR(map); ++ dev_err(dev, "failed to get HHI regmap\n"); ++ return PTR_ERR(map); + } + + /* Populate regmap for the regmap backed clocks */ +diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c +index 177fffb9ebefe..297ebc3914750 100644 +--- a/drivers/clk/meson/gxbb.c ++++ b/drivers/clk/meson/gxbb.c +@@ -7,7 +7,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -2228,17 +2227,9 @@ static const struct of_device_id clkc_match_table[] = { + {}, + }; + +-static const struct regmap_config clkc_regmap_config = { +- .reg_bits = 32, +- .val_bits = 32, +- .reg_stride = 4, +-}; +- + static int gxbb_clkc_probe(struct platform_device *pdev) + { + const struct clkc_data *clkc_data; +- struct resource *res; +- void __iomem *clk_base; + struct regmap *map; + int ret, i; + struct device *dev = &pdev->dev; +@@ -2250,31 +2241,8 @@ static int gxbb_clkc_probe(struct platform_device *pdev) + /* Get the hhi system controller node if available */ + map = syscon_node_to_regmap(of_get_parent(dev->of_node)); + if (IS_ERR(map)) { +- dev_err(dev, +- "failed to get HHI regmap - Trying obsolete regs\n"); +- +- /* +- * FIXME: HHI registers should be accessed through +- * the appropriate system controller. This is required because +- * there is more than just clocks in this register space +- * +- * This fallback method is only provided temporarily until +- * all the platform DTs are properly using the syscon node +- */ +- res = platform_get_resource(pdev, IORESOURCE_MEM, 0); +- if (!res) +- return -EINVAL; +- +- clk_base = devm_ioremap(dev, res->start, resource_size(res)); +- if (!clk_base) { +- dev_err(dev, "Unable to map clk base\n"); +- return -ENXIO; +- } +- +- map = devm_regmap_init_mmio(dev, clk_base, +- &clkc_regmap_config); +- if (IS_ERR(map)) +- return PTR_ERR(map); ++ dev_err(dev, "failed to get HHI regmap\n"); ++ return PTR_ERR(map); + } + + /* Populate regmap for the common regmap backed clocks */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/054_linux-4.18.y-jeromebrunet-0007-clk-meson-stop_rate_propagation_for_audio_clocks.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/054_linux-4.18.y-jeromebrunet-0007-clk-meson-stop_rate_propagation_for_audio_clocks.patch new file mode 100644 index 000000000..45c1f85e8 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/054_linux-4.18.y-jeromebrunet-0007-clk-meson-stop_rate_propagation_for_audio_clocks.patch @@ -0,0 +1,51 @@ +From baa2bf58a7e8c243b89fe2de4a20784ddcbd6403 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Tue, 19 Jun 2018 18:06:30 +0200 +Subject: [PATCH] clk: meson: stop rate propagation for audio clocks + +It is actually a lot easier and precise to setup the PLL with +carefully chosen rates than relying on CCF clock propagation for +this use case. + +For this, we stop the rate propagation at the mux picking the +PLL and let it round to the closest matching PLL + +Signed-off-by: Jerome Brunet +--- + drivers/clk/meson/gxbb.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c +index 297ebc3914750..7d4a4e597385c 100644 +--- a/drivers/clk/meson/gxbb.c ++++ b/drivers/clk/meson/gxbb.c +@@ -970,13 +970,13 @@ static struct clk_regmap gxbb_cts_amclk_sel = { + .mask = 0x3, + .shift = 9, + .table = (u32[]){ 1, 2, 3 }, ++ .flags = CLK_MUX_ROUND_CLOSEST, + }, + .hw.init = &(struct clk_init_data){ + .name = "cts_amclk_sel", + .ops = &clk_regmap_mux_ops, + .parent_names = (const char *[]){ "mpll0", "mpll1", "mpll2" }, + .num_parents = 3, +- .flags = CLK_SET_RATE_PARENT, + }, + }; + +@@ -1018,13 +1018,13 @@ static struct clk_regmap gxbb_cts_mclk_i958_sel = { + .mask = 0x3, + .shift = 25, + .table = (u32[]){ 1, 2, 3 }, ++ .flags = CLK_MUX_ROUND_CLOSEST, + }, + .hw.init = &(struct clk_init_data) { + .name = "cts_mclk_i958_sel", + .ops = &clk_regmap_mux_ops, + .parent_names = (const char *[]){ "mpll0", "mpll1", "mpll2" }, + .num_parents = 3, +- .flags = CLK_SET_RATE_PARENT, + }, + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/055_linux-4.18.y-jeromebrunet-2008-asoc-codecs-force-enable-pcm5102a.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/055_linux-4.18.y-jeromebrunet-2008-asoc-codecs-force-enable-pcm5102a.patch new file mode 100644 index 000000000..8c47826ac --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/055_linux-4.18.y-jeromebrunet-2008-asoc-codecs-force-enable-pcm5102a.patch @@ -0,0 +1,13 @@ +--- a/sound/soc/codecs/Kconfig 2018-09-25 02:40:11.206734417 +0200 ++++ b/sound/soc/codecs/Kconfig 2018-09-25 03:32:51.395650591 +0200 +@@ -747,7 +747,9 @@ + select REGMAP_SPI + + config SND_SOC_PCM5102A +- tristate ++ tristate "PCM5102A Simple driver" ++ default m if SND_SOC_MESON=m ++ default y if SND_SOC_MESON=y + + config SND_SOC_PCM512x + tristate diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/056_linux-4.18.y-jeromebrunet-2009-arm64-dts-meson-gxbb-odroidc2-add-testing-i2s-entries.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/056_linux-4.18.y-jeromebrunet-2009-arm64-dts-meson-gxbb-odroidc2-add-testing-i2s-entries.patch new file mode 100644 index 000000000..72f6b624c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/056_linux-4.18.y-jeromebrunet-2009-arm64-dts-meson-gxbb-odroidc2-add-testing-i2s-entries.patch @@ -0,0 +1,68 @@ +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-09-25 02:40:03.744549370 +0200 ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-09-25 03:42:03.505596966 +0200 +@@ -147,10 +147,27 @@ + }; + }; + ++ i2s_codec: external-codec { ++ #sound-dai-cells = <0>; ++ compatible = "ti,pcm5102a"; ++ status = "okay"; ++ }; ++ + sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "meson-gx-audio"; + ++ simple-audio-card,widgets = ++ "Line", "Analog Left Output", ++ "Line", "Analog Right Output"; ++ simple-audio-card,routing = ++ "Analog Left Output", "OUTL", ++ "Analog Right Output", "OUTR", ++ "INL", "AOUTL", ++ "INR", "AOUTR"; ++ ++ status = "okay"; ++ + assigned-clocks = <&clkc CLKID_MPLL2>, + <&clkc CLKID_MPLL0>, + <&clkc CLKID_MPLL1>; +@@ -178,6 +195,27 @@ + sound-dai = <&hdmi_tx>; + }; + }; ++ ++ simple-audio-card,dai-link@1 { ++ /* I2C external codec Output */ ++ format = "i2s"; ++ bitclock-inversion; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&i2s_codec>; ++ }; ++ }; + }; + }; + +@@ -264,6 +302,9 @@ + + &i2s_dai { + status = "okay"; ++ pinctrl-0 = <&i2s_am_clk_pins>, <&i2s_out_ao_clk_pins>, ++ <&i2s_out_lr_clk_pins>, <&i2s_out_ch01_ao_pins>; ++ pinctrl-names = "default"; + }; + + &ir { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/058_linux-4.16-le-amlogic-gx-1001-usb-enable-otg-as-host.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/058_linux-4.16-le-amlogic-gx-1001-usb-enable-otg-as-host.patch new file mode 100644 index 000000000..8f9c1cd27 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/058_linux-4.16-le-amlogic-gx-1001-usb-enable-otg-as-host.patch @@ -0,0 +1,51 @@ + +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-04-28 19:24:56.090524456 +0200 ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-04-29 23:09:48.559371108 +0200 +@@ -409,6 +409,7 @@ + &usb0_phy { + status = "okay"; + phy-supply = <&usb_otg_pwr>; ++ dr_mode = "otg"; + }; + + &usb1_phy { +@@ -418,6 +419,7 @@ + + &usb0 { + status = "okay"; ++ dr_mode = "host"; + }; + + &usb1 { + +--- a/drivers/phy/amlogic/phy-meson8b-usb2.c 2018-04-28 19:22:57.420144229 +0200 ++++ b/drivers/phy/amlogic/phy-meson8b-usb2.c 2018-04-29 23:13:57.136515043 +0200 +@@ -113,6 +113,7 @@ + struct phy_meson8b_usb2_priv { + void __iomem *regs; + enum usb_dr_mode dr_mode; ++ enum usb_dr_mode phy_mode; + struct clk *clk_usb_general; + struct clk *clk_usb; + struct reset_control *reset; +@@ -181,7 +182,7 @@ + phy_meson8b_usb2_mask_bits(priv, REG_CTRL, REG_CTRL_SOF_TOGGLE_OUT, + REG_CTRL_SOF_TOGGLE_OUT); + +- if (priv->dr_mode == USB_DR_MODE_HOST) { ++ if (priv->phy_mode == USB_DR_MODE_HOST) { + phy_meson8b_usb2_mask_bits(priv, REG_ADP_BC, + REG_ADP_BC_ACA_ENABLE, + REG_ADP_BC_ACA_ENABLE); +@@ -251,6 +252,11 @@ + return -EINVAL; + } + ++ priv->phy_mode = usb_get_dr_mode(&pdev->dev); ++ if (priv->phy_mode == USB_DR_MODE_UNKNOWN) { ++ priv->phy_mode = priv->dr_mode; ++ } ++ + phy = devm_phy_create(&pdev->dev, NULL, &phy_meson8b_usb2_ops); + if (IS_ERR(phy)) { + dev_err(&pdev->dev, "failed to create PHY\n"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/064_linux-4.14.y-le-amlogic-gx-scpi-1004-mailbox-revert_switch_to_hrtimer_for_tx_complete_polling.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/064_linux-4.14.y-le-amlogic-gx-scpi-1004-mailbox-revert_switch_to_hrtimer_for_tx_complete_polling.patch new file mode 100644 index 000000000..2dd8b1c9c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/064_linux-4.14.y-le-amlogic-gx-scpi-1004-mailbox-revert_switch_to_hrtimer_for_tx_complete_polling.patch @@ -0,0 +1,103 @@ +diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c +index 674b35f40..3497cabda 100644 +--- a/drivers/mailbox/mailbox.c ++++ b/drivers/mailbox/mailbox.c +@@ -26,6 +26,8 @@ + static LIST_HEAD(mbox_cons); + static DEFINE_MUTEX(con_mutex); + ++static void poll_txdone(struct timer_list *t); ++ + static int add_to_rbuf(struct mbox_chan *chan, void *mssg) + { + int idx; +@@ -86,8 +88,7 @@ static void msg_submit(struct mbox_chan *chan) + spin_unlock_irqrestore(&chan->lock, flags); + + if (!err && (chan->txdone_method & TXDONE_BY_POLL)) +- /* kick start the timer immediately to avoid delays */ +- hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL); ++ poll_txdone(&chan->mbox->poll); + } + + static void tx_tick(struct mbox_chan *chan, int r) +@@ -114,10 +115,9 @@ static void tx_tick(struct mbox_chan *chan, int r) + complete(&chan->tx_complete); + } + +-static enum hrtimer_restart txdone_hrtimer(struct hrtimer *hrtimer) ++static void poll_txdone(struct timer_list *t) + { +- struct mbox_controller *mbox = +- container_of(hrtimer, struct mbox_controller, poll_hrt); ++ struct mbox_controller *mbox = from_timer(mbox, t, poll); + bool txdone, resched = false; + int i; + +@@ -133,11 +133,9 @@ static enum hrtimer_restart txdone_hrtimer(struct hrtimer *hrtimer) + } + } + +- if (resched) { +- hrtimer_forward_now(hrtimer, ms_to_ktime(mbox->txpoll_period)); +- return HRTIMER_RESTART; +- } +- return HRTIMER_NORESTART; ++ if (resched) ++ mod_timer(&mbox->poll, jiffies + ++ msecs_to_jiffies(mbox->txpoll_period)); + } + + /** +@@ -466,9 +464,7 @@ int mbox_controller_register(struct mbox_controller *mbox) + return -EINVAL; + } + +- hrtimer_init(&mbox->poll_hrt, CLOCK_MONOTONIC, +- HRTIMER_MODE_REL); +- mbox->poll_hrt.function = txdone_hrtimer; ++ timer_setup(&mbox->poll, &poll_txdone, 0); + } + + for (i = 0; i < mbox->num_chans; i++) { +@@ -510,7 +506,7 @@ void mbox_controller_unregister(struct mbox_controller *mbox) + mbox_free_channel(&mbox->chans[i]); + + if (mbox->txdone_poll) +- hrtimer_cancel(&mbox->poll_hrt); ++ del_timer_sync(&mbox->poll); + + mutex_unlock(&con_mutex); + } +diff --git a/include/linux/mailbox_controller.h b/include/linux/mailbox_controller.h +index 74deadb42..68c424544 100644 +--- a/include/linux/mailbox_controller.h ++++ b/include/linux/mailbox_controller.h +@@ -9,7 +9,7 @@ + + #include + #include +-#include ++#include + #include + #include + +@@ -67,8 +67,7 @@ struct mbox_chan_ops { + * @txpoll_period: If 'txdone_poll' is in effect, the API polls for + * last TX's status after these many millisecs + * @of_xlate: Controller driver specific mapping of channel via DT +- * @poll_hrt: API private. hrtimer used to poll for TXDONE on all +- * channels. ++ * @poll: API private. Used to poll for TXDONE on all channels. + * @node: API private. To hook into list of controllers. + */ + struct mbox_controller { +@@ -82,7 +81,7 @@ struct mbox_controller { + struct mbox_chan *(*of_xlate)(struct mbox_controller *mbox, + const struct of_phandle_args *sp); + /* Internal to API */ +- struct hrtimer poll_hrt; ++ struct timer_list poll; + struct list_head node; + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/068_linux-4.17-amlogic-dmt-extended-0001-make_dmt_timings_parameter_generic_and_add_more_frequencies.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/068_linux-4.17-amlogic-dmt-extended-0001-make_dmt_timings_parameter_generic_and_add_more_frequencies.patch new file mode 100644 index 000000000..c0859bcf3 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/068_linux-4.17-amlogic-dmt-extended-0001-make_dmt_timings_parameter_generic_and_add_more_frequencies.patch @@ -0,0 +1,714 @@ +From 2d49cff77c34c63ae5aa32537cc5fef1ea2e165d Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Fri, 27 Apr 2018 17:19:46 +0200 +Subject: [PATCH] drm/meson: Make DMT timings parameter generic and add more + frequencies + +Add more frequencies to support more timings with the generic timings +parameters calculation. + +Signed-off-by: Neil Armstrong +--- + drivers/gpu/drm/meson/meson_dw_hdmi.c | 10 +- + drivers/gpu/drm/meson/meson_vclk.c | 184 ++++++++++++++++++- + drivers/gpu/drm/meson/meson_venc.c | 330 +++++----------------------------- + drivers/gpu/drm/meson/meson_venc.h | 3 +- + 4 files changed, 231 insertions(+), 296 deletions(-) + +diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c +index a393095aac1a6..7ebfef86383fe 100644 +--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c ++++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c +@@ -546,6 +546,7 @@ dw_hdmi_mode_valid(struct drm_connector *connector, + unsigned int venc_freq; + unsigned int hdmi_freq; + int vic = drm_match_cea_mode(mode); ++ enum drm_mode_status status; + + DRM_DEBUG_DRIVER("Modeline %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x\n", + mode->base.id, mode->name, mode->vrefresh, mode->clock, +@@ -556,8 +557,9 @@ dw_hdmi_mode_valid(struct drm_connector *connector, + + /* Check against non-VIC supported modes */ + if (!vic) { +- if (!meson_venc_hdmi_supported_mode(mode)) +- return MODE_BAD; ++ status = meson_venc_hdmi_supported_mode(mode); ++ if (status != MODE_OK) ++ return status; + /* Check against supported VIC modes */ + } else if (!meson_venc_hdmi_supported_vic(vic)) + return MODE_BAD; +@@ -587,6 +589,10 @@ dw_hdmi_mode_valid(struct drm_connector *connector, + switch (vclk_freq) { + case 25175: + case 40000: ++ case 32000: ++ case 36000: ++ case 33750: ++ case 33900: + case 54000: + case 65000: + case 74250: +diff --git a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c +index f0511220317f9..86975f245c361 100644 +--- a/drivers/gpu/drm/meson/meson_vclk.c ++++ b/drivers/gpu/drm/meson/meson_vclk.c +@@ -330,22 +330,30 @@ static void meson_venci_cvbs_clock_config(struct meson_drm *priv) + #define MESON_VCLK_HDMI_DDR_148500 3 + /* 4028 /4 /4 /1 /5 /2 => /1 /1 */ + #define MESON_VCLK_HDMI_25175 4 ++/* 2560 /4 /2 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_32000 5 ++/* 2700 /4 /2 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_33750 6 ++/* 2712 /4 /2 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_33900 7 ++/* 2880 /4 /2 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_36000 8 + /* 3200 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_40000 5 ++#define MESON_VCLK_HDMI_40000 9 + /* 5200 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_65000 6 ++#define MESON_VCLK_HDMI_65000 10 + /* 2970 /2 /2 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_74250 7 ++#define MESON_VCLK_HDMI_74250 11 + /* 4320 /4 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_108000 8 ++#define MESON_VCLK_HDMI_108000 12 + /* 2970 /1 /2 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_148500 9 ++#define MESON_VCLK_HDMI_148500 13 + /* 3240 /2 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_162000 10 ++#define MESON_VCLK_HDMI_162000 14 + /* 2970 /1 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_297000 11 ++#define MESON_VCLK_HDMI_297000 15 + /* 5940 /1 /1 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_594000 12 ++#define MESON_VCLK_HDMI_594000 16 + + struct meson_vclk_params { + unsigned int pll_base_freq; +@@ -419,6 +427,38 @@ struct meson_vclk_params { + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 2, + }, ++ [MESON_VCLK_HDMI_32000] = { ++ .pll_base_freq = 2560000, ++ .pll_od1 = 4, ++ .pll_od2 = 2, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, ++ [MESON_VCLK_HDMI_33750] = { ++ .pll_base_freq = 2700000, ++ .pll_od1 = 4, ++ .pll_od2 = 2, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, ++ [MESON_VCLK_HDMI_33900] = { ++ .pll_base_freq = 2712000, ++ .pll_od1 = 4, ++ .pll_od2 = 2, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, ++ [MESON_VCLK_HDMI_36000] = { ++ .pll_base_freq = 2880000, ++ .pll_od1 = 4, ++ .pll_od2 = 2, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, + [MESON_VCLK_HDMI_40000] = { + .pll_base_freq = 3200000, + .pll_od1 = 4, +@@ -480,6 +520,86 @@ void meson_hdmi_pll_set(struct meson_drm *priv, + + if (meson_vpu_is_compatible(priv, "amlogic,meson-gxbb-vpu")) { + switch (base) { ++ case 2560000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000235); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* Enable and unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ 0x7 << 28, 0x4 << 28); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4555); ++ break; ++ ++ case 2700000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000238); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* Enable and unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ 0x7 << 28, 0x4 << 28); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4400); ++ break; ++ ++ case 2712000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000238); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* Enable and unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ 0x7 << 28, 0x4 << 28); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4800); ++ break; ++ ++ case 2880000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800023c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* Enable and unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ 0x7 << 28, 0x4 << 28); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ break; ++ + case 2970000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800023d); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); +@@ -640,6 +760,42 @@ void meson_hdmi_pll_set(struct meson_drm *priv, + } else if (meson_vpu_is_compatible(priv, "amlogic,meson-gxm-vpu") || + meson_vpu_is_compatible(priv, "amlogic,meson-gxl-vpu")) { + switch (base) { ++ case 2560000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x4000026a); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb2ab); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 2700000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000270); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb200); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 2712000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000271); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 2880000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000278); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ + case 2970000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x4000027b); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb300); +@@ -789,6 +945,18 @@ void meson_vclk_setup(struct meson_drm *priv, unsigned int target, + case 25175: + freq = MESON_VCLK_HDMI_25175; + break; ++ case 32000: ++ freq = MESON_VCLK_HDMI_32000; ++ break; ++ case 33750: ++ freq = MESON_VCLK_HDMI_33750; ++ break; ++ case 33900: ++ freq = MESON_VCLK_HDMI_33900; ++ break; ++ case 36000: ++ freq = MESON_VCLK_HDMI_36000; ++ break; + case 40000: + freq = MESON_VCLK_HDMI_40000; + break; +diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c +index 6e27013898013..ea178151399c5 100644 +--- a/drivers/gpu/drm/meson/meson_venc.c ++++ b/drivers/gpu/drm/meson/meson_venc.c +@@ -697,258 +697,6 @@ union meson_hdmi_venc_mode meson_hdmi_encp_mode_1080p60 = { + }, + }; + +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_640x480_60 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 0x31f, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 0x90, +- .havon_end = 0x30f, +- .vavon_bline = 0x23, +- .vavon_eline = 0x202, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 0x60, +- .vso_begin = 0x1e, +- .vso_end = 0x32, +- .vso_bline = 0, +- .vso_eline = 2, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 0x20c, +- }, +-}; +- +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_800x600_60 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 0x41f, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 0xD8, +- .havon_end = 0x3f7, +- .vavon_bline = 0x1b, +- .vavon_eline = 0x272, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 0x80, +- .vso_begin = 0x1e, +- .vso_end = 0x32, +- .vso_bline = 0, +- .vso_eline = 4, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 0x273, +- }, +-}; +- +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_1024x768_60 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 1343, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 296, +- .havon_end = 1319, +- .vavon_bline = 35, +- .vavon_eline = 802, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 136, +- .vso_begin = 30, +- .vso_end = 50, +- .vso_bline = 0, +- .vso_eline = 6, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 805, +- }, +-}; +- +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_1152x864_75 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 0x63f, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 0x180, +- .havon_end = 0x5ff, +- .vavon_bline = 0x23, +- .vavon_eline = 0x382, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 0x80, +- .vso_begin = 0x1e, +- .vso_end = 0x32, +- .vso_bline = 0, +- .vso_eline = 3, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 0x383, +- }, +-}; +- +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_1280x1024_60 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 0x697, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 0x168, +- .havon_end = 0x667, +- .vavon_bline = 0x29, +- .vavon_eline = 0x428, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 0x70, +- .vso_begin = 0x1e, +- .vso_end = 0x32, +- .vso_bline = 0, +- .vso_eline = 3, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 0x429, +- }, +-}; +- +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_1600x1200_60 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 0x86f, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 0x1f0, +- .havon_end = 0x82f, +- .vavon_bline = 0x31, +- .vavon_eline = 0x4e0, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 0xc0, +- .vso_begin = 0x1e, +- .vso_end = 0x32, +- .vso_bline = 0, +- .vso_eline = 3, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 0x4e1, +- }, +-}; +- + struct meson_hdmi_venc_dmt_mode { + struct drm_display_mode drm_mode; + union meson_hdmi_venc_mode *mode; +@@ -958,49 +706,42 @@ struct meson_hdmi_venc_dmt_mode { + { DRM_MODE("640x480", DRM_MODE_TYPE_DRIVER, 25175, 640, 656, + 752, 800, 0, 480, 490, 492, 525, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, +- &meson_hdmi_encp_mode_640x480_60, + }, + /* 800x600@60Hz */ + { + { DRM_MODE("800x600", DRM_MODE_TYPE_DRIVER, 40000, 800, 840, + 968, 1056, 0, 600, 601, 605, 628, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, +- &meson_hdmi_encp_mode_800x600_60, + }, + /* 1024x768@60Hz */ + { + { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 65000, 1024, + 1048, 1184, 1344, 0, 768, 771, 777, 806, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, +- &meson_hdmi_encp_mode_1024x768_60, + }, + /* 1152x864@75Hz */ + { + { DRM_MODE("1152x864", DRM_MODE_TYPE_DRIVER, 108000, 1152, + 1216, 1344, 1600, 0, 864, 865, 868, 900, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, +- &meson_hdmi_encp_mode_1152x864_75, + }, + /* 1280x1024@60Hz */ + { + { DRM_MODE("1280x1024", DRM_MODE_TYPE_DRIVER, 108000, 1280, + 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, +- &meson_hdmi_encp_mode_1280x1024_60, + }, + /* 1600x1200@60Hz */ + { + { DRM_MODE("1600x1200", DRM_MODE_TYPE_DRIVER, 162000, 1600, + 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, +- &meson_hdmi_encp_mode_1600x1200_60, + }, + /* 1920x1080@60Hz */ + { + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, + 2008, 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, +- &meson_hdmi_encp_mode_1080p60 + }, + { }, /* sentinel */ + }; +@@ -1044,17 +785,20 @@ static unsigned long modulo(unsigned long a, unsigned long b) + return a; + } + +-bool meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode) ++enum drm_mode_status ++meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode) + { +- struct meson_hdmi_venc_dmt_mode *vmode = meson_hdmi_venc_dmt_modes; ++ if (mode->flags & ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NHSYNC | ++ DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC)) ++ return MODE_BAD; + +- while (vmode->mode) { +- if (drm_mode_equal(&vmode->drm_mode, mode)) +- return true; +- vmode++; +- } ++ if (mode->hdisplay < 640 || mode->hdisplay > 1920) ++ return MODE_BAD_HVALUE; + +- return false; ++ if (mode->vdisplay < 480 || mode->vdisplay > 1200) ++ return MODE_BAD_VVALUE; ++ ++ return MODE_OK; + } + EXPORT_SYMBOL_GPL(meson_venc_hdmi_supported_mode); + +@@ -1072,18 +816,29 @@ bool meson_venc_hdmi_supported_vic(int vic) + } + EXPORT_SYMBOL_GPL(meson_venc_hdmi_supported_vic); + +-static union meson_hdmi_venc_mode +-*meson_venc_hdmi_get_dmt_vmode(const struct drm_display_mode *mode) ++void meson_venc_hdmi_get_dmt_vmode(const struct drm_display_mode *mode, ++ union meson_hdmi_venc_mode *dmt_mode) + { +- struct meson_hdmi_venc_dmt_mode *vmode = meson_hdmi_venc_dmt_modes; +- +- while (vmode->mode) { +- if (drm_mode_equal(&vmode->drm_mode, mode)) +- return vmode->mode; +- vmode++; +- } +- +- return NULL; ++ memset(dmt_mode, 0, sizeof(*dmt_mode)); ++ ++ dmt_mode->encp.dvi_settings = 0x21; ++ dmt_mode->encp.video_mode = 0x4040; ++ dmt_mode->encp.video_mode_adv = 0x18; ++ dmt_mode->encp.max_pxcnt = mode->htotal - 1; ++ dmt_mode->encp.havon_begin = mode->htotal - mode->hsync_start; ++ dmt_mode->encp.havon_end = dmt_mode->encp.havon_begin + ++ mode->hdisplay - 1; ++ dmt_mode->encp.vavon_bline = mode->vtotal - mode->vsync_start; ++ dmt_mode->encp.vavon_eline = dmt_mode->encp.vavon_bline + ++ mode->vdisplay - 1; ++ dmt_mode->encp.hso_begin = 0; ++ dmt_mode->encp.hso_end = mode->hsync_end - mode->hsync_start; ++ dmt_mode->encp.vso_begin = 30; ++ dmt_mode->encp.vso_end = 50; ++ dmt_mode->encp.vso_bline = 0; ++ dmt_mode->encp.vso_eline = mode->vsync_end - mode->vsync_start; ++ dmt_mode->encp.vso_eline_present = true; ++ dmt_mode->encp.max_lncnt = mode->vtotal - 1; + } + + static union meson_hdmi_venc_mode *meson_venc_hdmi_get_vic_vmode(int vic) +@@ -1120,6 +875,7 @@ void meson_venc_hdmi_mode_set(struct meson_drm *priv, int vic, + struct drm_display_mode *mode) + { + union meson_hdmi_venc_mode *vmode = NULL; ++ union meson_hdmi_venc_mode vmode_dmt; + bool use_enci = false; + bool venc_repeat = false; + bool hdmi_repeat = false; +@@ -1147,14 +903,18 @@ void meson_venc_hdmi_mode_set(struct meson_drm *priv, int vic, + unsigned int sof_lines; + unsigned int vsync_lines; + +- if (meson_venc_hdmi_supported_vic(vic)) ++ if (meson_venc_hdmi_supported_vic(vic)) { + vmode = meson_venc_hdmi_get_vic_vmode(vic); +- else +- vmode = meson_venc_hdmi_get_dmt_vmode(mode); +- if (!vmode) { +- dev_err(priv->dev, "%s: Fatal Error, unsupported mode " +- DRM_MODE_FMT "\n", __func__, DRM_MODE_ARG(mode)); +- return; ++ if (!vmode) { ++ dev_err(priv->dev, "%s: Fatal Error, unsupported mode " ++ DRM_MODE_FMT "\n", __func__, ++ DRM_MODE_ARG(mode)); ++ return; ++ } ++ } ++ else { ++ meson_venc_hdmi_get_dmt_vmode(mode, &vmode_dmt); ++ vmode = &vmode_dmt; + } + + /* Use VENCI for 480i and 576i and double HDMI pixels */ +diff --git a/drivers/gpu/drm/meson/meson_venc.h b/drivers/gpu/drm/meson/meson_venc.h +index 7c18a36a0dd0c..97eaebbfa0c4a 100644 +--- a/drivers/gpu/drm/meson/meson_venc.h ++++ b/drivers/gpu/drm/meson/meson_venc.h +@@ -58,7 +58,8 @@ struct meson_cvbs_enci_mode { + }; + + /* HDMI Clock parameters */ +-bool meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode); ++enum drm_mode_status ++meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode); + bool meson_venc_hdmi_supported_vic(int vic); + bool meson_venc_hdmi_venc_repeat(int vic); + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/069_linux-4.17-amlogic-dmt-extended-1001-fix-32000khz.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/069_linux-4.17-amlogic-dmt-extended-1001-fix-32000khz.patch new file mode 100644 index 000000000..a359376a7 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/069_linux-4.17-amlogic-dmt-extended-1001-fix-32000khz.patch @@ -0,0 +1,119 @@ +diff -ur a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c +--- a/drivers/gpu/drm/meson/meson_vclk.c 2018-06-02 20:21:48.000000000 +0200 ++++ b/drivers/gpu/drm/meson/meson_vclk.c 2018-06-02 20:16:44.008061996 +0200 +@@ -428,9 +428,9 @@ + .vclk_div = 2, + }, + [MESON_VCLK_HDMI_32000] = { +- .pll_base_freq = 2560000, ++ .pll_base_freq = 5120000, + .pll_od1 = 4, +- .pll_od2 = 2, ++ .pll_od2 = 4, + .pll_od3 = 1, + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 2, +@@ -520,27 +520,6 @@ + + if (meson_vpu_is_compatible(priv, "amlogic,meson-gxbb-vpu")) { + switch (base) { +- case 2560000: +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000235); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); +- +- /* Enable and unreset */ +- regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, +- 0x7 << 28, 0x4 << 28); +- +- /* Poll for lock bit */ +- regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, +- val, (val & HDMI_PLL_LOCK), 10, 0); +- +- /* div_frac */ +- regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, +- 0xFFFF, 0x4555); +- break; +- + case 2700000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000238); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); +@@ -722,6 +701,27 @@ + val, (val & HDMI_PLL_LOCK), 10, 0); + break; + ++ case 5120000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800026a); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x135c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ BIT(28), 0); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4aab); ++ break; ++ + case 5940000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800027b); + regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, +@@ -760,15 +760,6 @@ + } else if (meson_vpu_is_compatible(priv, "amlogic,meson-gxm-vpu") || + meson_vpu_is_compatible(priv, "amlogic,meson-gxl-vpu")) { + switch (base) { +- case 2560000: +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x4000026a); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb2ab); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); +- break; +- + case 2700000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000270); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb200); +@@ -847,6 +838,15 @@ + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 5120000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x400002d5); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb155); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); + break; + +diff -ur a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c +--- a/drivers/gpu/drm/meson/meson_venc.c 2018-06-02 16:39:27.777402009 +0200 ++++ b/drivers/gpu/drm/meson/meson_venc.c 2018-06-02 20:23:23.744646670 +0200 +@@ -713,6 +713,12 @@ + 968, 1056, 0, 600, 601, 605, 628, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + }, ++ /* 1024x600@43Hz */ ++ { ++ { DRM_MODE("1024x600", DRM_MODE_TYPE_DRIVER, 32000, 1024, ++ 1064, 1112, 1152, 0, 600, 613, 616, 645, 0, ++ DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, ++ }, + /* 1024x768@60Hz */ + { + { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 65000, 1024, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/070_linux-4.17-amlogic-dmt-extended-1002-custom-mode.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/070_linux-4.17-amlogic-dmt-extended-1002-custom-mode.patch new file mode 100644 index 000000000..97136bd0c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/070_linux-4.17-amlogic-dmt-extended-1002-custom-mode.patch @@ -0,0 +1,547 @@ +diff -ur a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c +--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c 2018-06-02 16:39:27.777402009 +0200 ++++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c 2018-06-02 17:25:33.803332054 +0200 +@@ -588,22 +588,28 @@ + /* Finally filter by configurable vclk frequencies */ + switch (vclk_freq) { + case 25175: +- case 40000: ++ case 29750: + case 32000: + case 36000: + case 33750: + case 33900: ++ case 40000: + case 54000: + case 65000: + case 74250: ++ case 106500: + case 108000: + case 148500: + case 162000: ++ case 193250: + case 297000: + case 594000: + return MODE_OK; + } + ++ if (meson_vclk_supported(vclk_freq)) ++ return MODE_OK; ++ + return MODE_CLOCK_RANGE; + } + +diff -ur a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c +--- a/drivers/gpu/drm/meson/meson_vclk.c 2018-06-02 20:16:44.008061996 +0200 ++++ b/drivers/gpu/drm/meson/meson_vclk.c 2018-06-04 03:26:22.092619417 +0200 +@@ -321,39 +321,49 @@ + } + + +-/* PLL O1 O2 O3 VP DV EN TX */ +-/* 4320 /4 /4 /1 /5 /1 => /2 /2 */ +-#define MESON_VCLK_HDMI_ENCI_54000 1 +-/* 4320 /4 /4 /1 /5 /1 => /1 /2 */ +-#define MESON_VCLK_HDMI_DDR_54000 2 +-/* 2970 /4 /1 /1 /5 /1 => /1 /2 */ +-#define MESON_VCLK_HDMI_DDR_148500 3 +-/* 4028 /4 /4 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_25175 4 +-/* 2560 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_32000 5 +-/* 2700 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_33750 6 +-/* 2712 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_33900 7 +-/* 2880 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_36000 8 +-/* 3200 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_40000 9 +-/* 5200 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_65000 10 +-/* 2970 /2 /2 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_74250 11 +-/* 4320 /4 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_108000 12 +-/* 2970 /1 /2 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_148500 13 +-/* 3240 /2 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_162000 14 +-/* 2970 /1 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_297000 15 +-/* 5940 /1 /1 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_594000 16 ++enum { ++ /* PLL O1 O2 O3 VP DV EN TX */ ++ /* 4320 /4 /4 /1 /5 /1 => /2 /2 */ ++ MESON_VCLK_HDMI_ENCI_54000 = 1, ++ /* 4320 /4 /4 /1 /5 /1 => /1 /2 */ ++ MESON_VCLK_HDMI_DDR_54000, ++ /* 2970 /4 /1 /1 /5 /1 => /1 /2 */ ++ MESON_VCLK_HDMI_DDR_148500, ++ /* 4028 /4 /4 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_25175, ++ /* 4760 /4 /4 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_29750, ++ /* 2560 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_32000, ++ /* 2700 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_33750, ++ /* 2712 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_33900, ++ /* 2880 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_36000, ++ /* 3200 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_40000, ++ /* 5200 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_65000, ++ /* 2970 /2 /2 /2 /5 /1 => /1 /1 */ ++ MESON_VCLK_HDMI_74250, ++ /* 4260 /4 /1 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_106500, ++ /* 4320 /4 /1 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_108000, ++ /* 2970 /1 /2 /2 /5 /1 => /1 /1 */ ++ MESON_VCLK_HDMI_148500, ++ /* 3240 /2 /1 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_162000, ++ /* 3865 /2 /1 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_193250, ++ /* 2970 /1 /1 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_297000, ++ /* 5940 /1 /1 /2 /5 /1 => /1 /1 */ ++ MESON_VCLK_HDMI_594000, ++ /* custom calculated mode */ ++ MESON_VCLK_HDMI_CUSTOM, ++}; + + struct meson_vclk_params { + unsigned int pll_base_freq; +@@ -427,6 +437,14 @@ + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 2, + }, ++ [MESON_VCLK_HDMI_29750] = { ++ .pll_base_freq = 4760000, ++ .pll_od1 = 4, ++ .pll_od2 = 4, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, + [MESON_VCLK_HDMI_32000] = { + .pll_base_freq = 5120000, + .pll_od1 = 4, +@@ -475,6 +493,14 @@ + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 2, + }, ++ [MESON_VCLK_HDMI_106500] = { ++ .pll_base_freq = 4260000, ++ .pll_od1 = 4, ++ .pll_od2 = 1, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, + [MESON_VCLK_HDMI_108000] = { + .pll_base_freq = 4320000, + .pll_od1 = 4, +@@ -491,6 +517,14 @@ + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 2, + }, ++ [MESON_VCLK_HDMI_193250] = { ++ .pll_base_freq = 3865000, ++ .pll_od1 = 2, ++ .pll_od2 = 1, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, + }; + + static inline unsigned int pll_od_to_reg(unsigned int od) +@@ -519,6 +553,18 @@ + unsigned int val; + + if (meson_vpu_is_compatible(priv, "amlogic,meson-gxbb-vpu")) { ++ unsigned int step = 48000; ++ unsigned int range = 0x1000; ++ unsigned int round = step / range / 2; ++ unsigned int frac = base % step; ++ unsigned int m = (base - frac) / step; ++ ++ frac = (frac + round) * range / step; ++ if (frac >= range) ++ frac = range-1; ++ ++ dev_info(priv->dev, "%s: base=%d, m=0x%.2x, frac=0x%.3x\n", __func__, base, m, frac); ++ + switch (base) { + case 2700000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000238); +@@ -755,10 +801,49 @@ + /* Poll for lock bit */ + regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, + val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4555); ++ break; ++ ++ default: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000200 | m); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x135c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ BIT(28), 0); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ if (frac) ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4000 | frac); + break; ++ + }; + } else if (meson_vpu_is_compatible(priv, "amlogic,meson-gxm-vpu") || + meson_vpu_is_compatible(priv, "amlogic,meson-gxl-vpu")) { ++ unsigned int step = 24000; ++ unsigned int range = 0x400; ++ unsigned int round = step / range / 2; ++ unsigned int frac = base % step; ++ unsigned int m = (base - frac) / step; ++ ++ frac = (frac + round) * range / step; ++ if (frac >= range) ++ frac = range-1; ++ ++ pr_info("%s: base=%d, m=0x%.2x, frac=0x%.3x", __func__, base, m, frac); ++ + switch (base) { + case 2700000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000270); +@@ -868,6 +953,14 @@ + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); + break; + ++ default: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000200 | m); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb000 | frac); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; + }; + + /* Reset PLL */ +@@ -906,6 +999,151 @@ + 3 << 19, pll_od_to_reg(od3) << 19); + } + ++unsigned int meson_vclk_freq_from_params(struct meson_vclk_params* vclk_params) ++{ ++ unsigned int vclk_freq = vclk_params->pll_base_freq / ++ vclk_params->pll_od1 / vclk_params->pll_od2 / ++ vclk_params->pll_od3 / vclk_params->vclk_div; ++ ++ switch (vclk_params->vid_pll_div) { ++ case VID_PLL_DIV_2: ++ vclk_freq /= 2; ++ break; ++ case VID_PLL_DIV_2p5: ++ vclk_freq *= 4; ++ vclk_freq /= 10; ++ break; ++ case VID_PLL_DIV_3: ++ vclk_freq /= 3; ++ break; ++ case VID_PLL_DIV_3p5: ++ vclk_freq *= 2; ++ vclk_freq /= 7; ++ break; ++ case VID_PLL_DIV_3p75: ++ vclk_freq *= 4; ++ vclk_freq /= 15; ++ break; ++ case VID_PLL_DIV_4: ++ vclk_freq /= 4; ++ break; ++ case VID_PLL_DIV_5: ++ vclk_freq /= 5; ++ break; ++ case VID_PLL_DIV_6: ++ vclk_freq /= 6; ++ break; ++ case VID_PLL_DIV_6p25: ++ vclk_freq *= 8; ++ vclk_freq /= 50; ++ break; ++ case VID_PLL_DIV_7: ++ vclk_freq /= 7; ++ break; ++ case VID_PLL_DIV_7p5: ++ vclk_freq *= 4; ++ vclk_freq /= 30; ++ break; ++ case VID_PLL_DIV_12: ++ vclk_freq /= 12; ++ break; ++ case VID_PLL_DIV_14: ++ vclk_freq /= 14; ++ break; ++ case VID_PLL_DIV_15: ++ vclk_freq /= 15; ++ break; ++ default: ++ return 0; ++ } ++ ++ return vclk_freq; ++} ++ ++static bool meson_get_vclk_params(unsigned int freq, ++ struct meson_vclk_params* vclk_params) ++{ ++ unsigned int vclk_freq = freq; ++ unsigned int base_freq, od1_od2, od3_vpll_vclk; ++ int p, jit; ++ bool found = false; ++ ++ if ((vclk_freq < 13500) || (vclk_freq > 594000)) ++ return false; ++ ++ if (vclk_freq % 25 > 12) ++ vclk_freq += 25; ++ vclk_freq -= vclk_freq % 25; ++ ++ for (p = 1; p < sizeof(params) / sizeof(struct meson_vclk_params); p++) { ++ if (params[p].vid_pll_div != VID_PLL_DIV_5) ++ continue; ++ ++ od1_od2 = params[p].pll_od1 * params[p].pll_od2; ++ od3_vpll_vclk = params[p].pll_od3 * 5 * params[p].vclk_div; ++ ++ if ((od3_vpll_vclk != 10) && (vclk_freq > 54000 + 175)) ++ continue; ++ ++ base_freq = vclk_freq * od1_od2 * od3_vpll_vclk; ++ ++ if ((base_freq < 2700000) || (base_freq > 5940000)) ++ continue; ++ ++ vclk_params->pll_base_freq = base_freq; ++ vclk_params->pll_od1 = params[p].pll_od1; ++ vclk_params->pll_od2 = params[p].pll_od2; ++ vclk_params->pll_od3 = params[p].pll_od3; ++ vclk_params->vid_pll_div = params[p].vid_pll_div; ++ vclk_params->vclk_div = params[p].vclk_div; ++ ++ found = true; ++ ++ if (params[p].pll_base_freq > vclk_params->pll_base_freq) ++ jit = params[p].pll_base_freq - vclk_params->pll_base_freq; ++ else ++ jit = vclk_params->pll_base_freq - params[p].pll_base_freq; ++ ++ if (jit < 175 * od1_od2 * od3_vpll_vclk) { ++ vclk_params->pll_base_freq = params[p].pll_base_freq; ++ vclk_freq = vclk_params->pll_base_freq / od1_od2 / od3_vpll_vclk; ++ } ++ ++ if (jit < 40000) ++ break; ++ } ++ ++ return found; ++} ++ ++static void meson_print_vclk_params(struct meson_drm *priv, unsigned int freq, ++ struct meson_vclk_params* vclk_params) ++{ ++ unsigned int vclk_freq = meson_vclk_freq_from_params(vclk_params); ++ ++ if (vclk_params->vid_pll_div != VID_PLL_DIV_5) ++ return; ++ ++ if (vclk_freq != freq) ++ dev_info(priv->dev, "adjusted %d -> %d", freq, vclk_freq); ++ ++ dev_info(priv->dev, "params %d / %d / %d / %d / %d / %d = %d\n", ++ vclk_params->pll_base_freq, ++ vclk_params->pll_od1, ++ vclk_params->pll_od2, ++ vclk_params->pll_od3, ++ 5, vclk_params->vclk_div, ++ vclk_freq); ++} ++ ++bool meson_vclk_supported(unsigned int vclk_freq) ++{ ++ struct meson_vclk_params custom_params; ++ ++ return (meson_get_vclk_params(vclk_freq, &custom_params)); ++} ++EXPORT_SYMBOL_GPL(meson_vclk_supported); ++ + void meson_vclk_setup(struct meson_drm *priv, unsigned int target, + unsigned int vclk_freq, unsigned int venc_freq, + unsigned int dac_freq, bool hdmi_use_enci) +@@ -913,6 +1151,8 @@ + unsigned int freq; + unsigned int hdmi_tx_div; + unsigned int venc_div; ++ struct meson_vclk_params custom_params; ++ struct meson_vclk_params* vclk_params; + + if (target == MESON_VCLK_TARGET_CVBS) { + meson_venci_cvbs_clock_config(priv); +@@ -945,6 +1185,9 @@ + case 25175: + freq = MESON_VCLK_HDMI_25175; + break; ++ case 29750: ++ freq = MESON_VCLK_HDMI_29750; ++ break; + case 32000: + freq = MESON_VCLK_HDMI_32000; + break; +@@ -966,6 +1209,9 @@ + case 74250: + freq = MESON_VCLK_HDMI_74250; + break; ++ case 106500: ++ freq = MESON_VCLK_HDMI_106500; ++ break; + case 108000: + freq = MESON_VCLK_HDMI_108000; + break; +@@ -978,6 +1224,9 @@ + case 162000: + freq = MESON_VCLK_HDMI_162000; + break; ++ case 193250: ++ freq = MESON_VCLK_HDMI_193250; ++ break; + case 297000: + freq = MESON_VCLK_HDMI_297000; + break; +@@ -985,9 +1234,8 @@ + freq = MESON_VCLK_HDMI_594000; + break; + default: +- pr_err("Fatal Error, invalid HDMI vclk freq %d\n", +- vclk_freq); +- return; ++ freq = MESON_VCLK_HDMI_CUSTOM; ++ break; + } + + /* Set HDMI-TX sys clock */ +@@ -998,20 +1246,35 @@ + regmap_update_bits(priv->hhi, HHI_HDMI_CLK_CNTL, + CTS_HDMI_SYS_EN, CTS_HDMI_SYS_EN); + ++ vclk_params = NULL; ++ ++ if (freq != MESON_VCLK_HDMI_CUSTOM) ++ vclk_params = ¶ms[freq]; ++ else if (meson_get_vclk_params(vclk_freq, &custom_params)) ++ vclk_params = &custom_params; ++ ++ if (!vclk_params) { ++ pr_err("Fatal Error, invalid HDMI vclk freq %d\n", ++ vclk_freq); ++ return; ++ } ++ ++ meson_print_vclk_params(priv, vclk_freq, vclk_params); ++ + /* Set HDMI PLL rate */ +- meson_hdmi_pll_set(priv, params[freq].pll_base_freq, +- params[freq].pll_od1, +- params[freq].pll_od2, +- params[freq].pll_od3); ++ meson_hdmi_pll_set(priv, vclk_params->pll_base_freq, ++ vclk_params->pll_od1, ++ vclk_params->pll_od2, ++ vclk_params->pll_od3); + + /* Setup vid_pll divider */ +- meson_vid_pll_set(priv, params[freq].vid_pll_div); ++ meson_vid_pll_set(priv, vclk_params->vid_pll_div); + + /* Set VCLK div */ + regmap_update_bits(priv->hhi, HHI_VID_CLK_CNTL, + VCLK_SEL_MASK, 0); + regmap_update_bits(priv->hhi, HHI_VID_CLK_DIV, +- VCLK_DIV_MASK, params[freq].vclk_div - 1); ++ VCLK_DIV_MASK, vclk_params->vclk_div - 1); + + /* Set HDMI-TX source */ + switch (hdmi_tx_div) { +diff -ur a/drivers/gpu/drm/meson/meson_vclk.h b/drivers/gpu/drm/meson/meson_vclk.h +--- a/drivers/gpu/drm/meson/meson_vclk.h 2018-05-26 22:29:37.112948771 +0200 ++++ b/drivers/gpu/drm/meson/meson_vclk.h 2018-05-31 05:15:53.342134304 +0200 +@@ -29,6 +29,8 @@ + /* 27MHz is the CVBS Pixel Clock */ + #define MESON_VCLK_CVBS 27000 + ++bool meson_vclk_supported(unsigned int vclk_freq); ++ + void meson_vclk_setup(struct meson_drm *priv, unsigned int target, + unsigned int vclk_freq, unsigned int venc_freq, + unsigned int dac_freq, bool hdmi_use_enci); +diff -ur a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c +--- a/drivers/gpu/drm/meson/meson_venc.c 2018-06-02 20:23:23.744646670 +0200 ++++ b/drivers/gpu/drm/meson/meson_venc.c 2018-06-02 17:25:33.807332121 +0200 +@@ -707,6 +707,12 @@ + 752, 800, 0, 480, 490, 492, 525, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, + }, ++ /* 800x480@60Hz */ ++ { ++ { DRM_MODE("800x480", DRM_MODE_TYPE_DRIVER, 29750, 800, 824, ++ 896, 992, 0, 480, 483, 490, 500, 0, ++ DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, ++ }, + /* 800x600@60Hz */ + { + { DRM_MODE("800x600", DRM_MODE_TYPE_DRIVER, 40000, 800, 840, +@@ -737,6 +743,12 @@ + 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + }, ++ /* 1440x900@60Hz */ ++ { ++ { DRM_MODE("1440x900", DRM_MODE_TYPE_DRIVER, 106500, 1440, ++ 1520, 1672, 1904, 0, 900, 903, 909, 934, 0, ++ DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, ++ }, + /* 1600x1200@60Hz */ + { + { DRM_MODE("1600x1200", DRM_MODE_TYPE_DRIVER, 162000, 1600, +@@ -749,6 +761,12 @@ + 2008, 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, + }, ++ /* 1920x1200@60Hz */ ++ { ++ { DRM_MODE("1920x1200", DRM_MODE_TYPE_DRIVER, 193250, 1920, ++ 2056, 2256, 2592, 0, 1200, 1203, 1209, 1245, 0, ++ DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, ++ }, + { }, /* sentinel */ + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/071_linux-4.17-amlogic-dmt-extended-1003-calculate-clock-dividers.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/071_linux-4.17-amlogic-dmt-extended-1003-calculate-clock-dividers.patch new file mode 100644 index 000000000..5dfcace64 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/071_linux-4.17-amlogic-dmt-extended-1003-calculate-clock-dividers.patch @@ -0,0 +1,115 @@ +diff -u a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c +--- a/drivers/gpu/drm/meson/meson_vclk.c 2018-06-10 06:10:59.071504595 +0200 ++++ b/drivers/gpu/drm/meson/meson_vclk.c 2018-06-10 05:33:51.347202114 +0200 +@@ -842,7 +842,7 @@ + if (frac >= range) + frac = range-1; + +- pr_info("%s: base=%d, m=0x%.2x, frac=0x%.3x", __func__, base, m, frac); ++ dev_info(priv->dev, "%s: base=%d, m=0x%.2x, frac=0x%.3x\n", __func__, base, m, frac); + + switch (base) { + case 2700000: +@@ -1065,25 +1065,36 @@ + { + unsigned int vclk_freq = freq; + unsigned int base_freq, od1_od2, od3_vpll_vclk; +- int p, jit; ++ int od1, od2, od3, p, jit; + bool found = false; + +- if ((vclk_freq < 13500) || (vclk_freq > 594000)) ++ if ((vclk_freq < 12000) || (vclk_freq > 594000)) + return false; + + if (vclk_freq % 25 > 12) + vclk_freq += 25; + vclk_freq -= vclk_freq % 25; + +- for (p = 1; p < sizeof(params) / sizeof(struct meson_vclk_params); p++) { +- if (params[p].vid_pll_div != VID_PLL_DIV_5) ++ for (p = 0; p < 6; p++) { ++ od1 = (1 << p); ++ od2 = 1; ++ od3 = 1; ++ ++ if ((vclk_freq > 18550) && (od1 > 16)) + continue; + +- od1_od2 = params[p].pll_od1 * params[p].pll_od2; +- od3_vpll_vclk = params[p].pll_od3 * 5 * params[p].vclk_div; ++ if (od1 > 16) { ++ od3 = od1 / 16; ++ od1 = 16; ++ } + +- if ((od3_vpll_vclk != 10) && (vclk_freq > 54000 + 175)) +- continue; ++ if (od1 > 4) { ++ od2 = od1 / 4; ++ od1 = 4; ++ } ++ ++ od1_od2 = od1 * od2; ++ od3_vpll_vclk = od3 * 5 * 2; + + base_freq = vclk_freq * od1_od2 * od3_vpll_vclk; + +@@ -1091,21 +1102,32 @@ + continue; + + vclk_params->pll_base_freq = base_freq; +- vclk_params->pll_od1 = params[p].pll_od1; +- vclk_params->pll_od2 = params[p].pll_od2; +- vclk_params->pll_od3 = params[p].pll_od3; +- vclk_params->vid_pll_div = params[p].vid_pll_div; +- vclk_params->vclk_div = params[p].vclk_div; ++ vclk_params->pll_od1 = od1; ++ vclk_params->pll_od2 = od2; ++ vclk_params->pll_od3 = od3; ++ vclk_params->vid_pll_div = VID_PLL_DIV_5; ++ vclk_params->vclk_div = 2; + + found = true; + +- if (params[p].pll_base_freq > vclk_params->pll_base_freq) +- jit = params[p].pll_base_freq - vclk_params->pll_base_freq; ++ jit = od1_od2 * od3_vpll_vclk * 125; ++ if (p < 3) ++ jit <<= (3-p); ++ ++ if ((base_freq % 24000) < (base_freq % jit)) ++ jit = 24000; ++ ++ if ((base_freq % jit) > (jit / 2)) ++ base_freq = base_freq+jit; ++ base_freq -= base_freq % jit; ++ ++ if (base_freq > vclk_params->pll_base_freq) ++ jit = base_freq - vclk_params->pll_base_freq; + else +- jit = vclk_params->pll_base_freq - params[p].pll_base_freq; ++ jit = vclk_params->pll_base_freq - base_freq; + + if (jit < 175 * od1_od2 * od3_vpll_vclk) { +- vclk_params->pll_base_freq = params[p].pll_base_freq; ++ vclk_params->pll_base_freq = base_freq; + vclk_freq = vclk_params->pll_base_freq / od1_od2 / od3_vpll_vclk; + } + +diff -u a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c +--- a/drivers/gpu/drm/meson/meson_venc.c 2018-06-10 06:10:59.071504595 +0200 ++++ b/drivers/gpu/drm/meson/meson_venc.c 2018-06-10 05:26:59.995203463 +0200 +@@ -816,10 +816,10 @@ + DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC)) + return MODE_BAD; + +- if (mode->hdisplay < 640 || mode->hdisplay > 1920) ++ if (mode->hdisplay < 416 || mode->hdisplay > 1920) + return MODE_BAD_HVALUE; + +- if (mode->vdisplay < 480 || mode->vdisplay > 1200) ++ if (mode->vdisplay < 360 || mode->vdisplay > 1200) + return MODE_BAD_VVALUE; + + return MODE_OK; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/072_linux-4.16.y-input_touchscreen-vu5-vu7plus.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/072_linux-4.16.y-input_touchscreen-vu5-vu7plus.patch new file mode 100644 index 000000000..3693d959d --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/072_linux-4.16.y-input_touchscreen-vu5-vu7plus.patch @@ -0,0 +1,1235 @@ +diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c +index e92b77fa5..53bdf9725 100644 +--- a/drivers/hid/hid-quirks.c ++++ b/drivers/hid/hid-quirks.c +@@ -869,6 +869,8 @@ static const struct hid_device_id hid_ignore_list[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_DPAD) }, + #endif + { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_ODROID, USB_DEVICE_ID_VU5) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_ODROID, USB_DEVICE_ID_VU7PLUS) }, + { } + }; + +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index ff539c0b4..b09d5ea03 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -1164,4 +1164,10 @@ + #define USB_VENDOR_ID_UGTIZER 0x2179 + #define USB_DEVICE_ID_UGTIZER_TABLET_GP0610 0x0053 + ++#define USB_DEVICE_ID_DWAV_MULTITOUCH 0x0005 ++ ++#define USB_VENDOR_ID_ODROID 0x16b4 ++#define USB_DEVICE_ID_VU5 0x0704 ++#define USB_DEVICE_ID_VU7PLUS 0x0705 ++ + #endif +diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig +index 64b30fe27..05e834eed 100644 +--- a/drivers/input/touchscreen/Kconfig ++++ b/drivers/input/touchscreen/Kconfig +@@ -1246,4 +1246,23 @@ config TOUCHSCREEN_ROHM_BU21023 + To compile this driver as a module, choose M here: the + module will be called bu21023_ts. + ++config TOUCHSCREEN_DWAV_USB_MT ++ tristate "D-WAV Scientific USB MultiTouch" ++ depends on USB_ARCH_HAS_HCD ++ select USB ++ help ++ Say Y here if you have a D-WAV Scientific USB(HID) based MultiTouch ++ controller. ++ ++ If unsure, say N. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called dwav-usb-mt. ++ ++config TOUCHSCREEN_SX865X ++ tristate "Semtech multitouch resistive touchscreen" ++ depends on I2C ++ help ++ This enables support for Semtech multitouch resistive touchscreen. ++ + endif +diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile +index 850c15625..bc3f0e1d5 100644 +--- a/drivers/input/touchscreen/Makefile ++++ b/drivers/input/touchscreen/Makefile +@@ -104,3 +104,5 @@ obj-$(CONFIG_TOUCHSCREEN_ZET6223) += zet6223.o + obj-$(CONFIG_TOUCHSCREEN_ZFORCE) += zforce_ts.o + obj-$(CONFIG_TOUCHSCREEN_COLIBRI_VF50) += colibri-vf50-ts.o + obj-$(CONFIG_TOUCHSCREEN_ROHM_BU21023) += rohm_bu21023.o ++obj-$(CONFIG_TOUCHSCREEN_DWAV_USB_MT) += dwav-usb-mt.o ++obj-$(CONFIG_TOUCHSCREEN_SX865X) += sx865x.o +diff -urN a/drivers/input/touchscreen/dwav-usb-mt.c b/drivers/input/touchscreen/dwav-usb-mt.c +--- a/drivers/input/touchscreen/dwav-usb-mt.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/input/touchscreen/dwav-usb-mt.c 2018-05-06 10:03:40.485939294 +0200 +@@ -0,0 +1,577 @@ ++/*------------------------------------------------------------------------- ++ ++ D-WAV Scientific USB(HID) MultiTouch Screen Driver(Based on usbtouchscreen.c) ++ Hardkernel : 2015/09/17 ++ ++-------------------------------------------------------------------------*/ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++/*-------------------------------------------------------------------------*/ ++#define USB_VENDOR_ID_DWAV 0x0eef /* 800 x 480, 7" DWAV touch */ ++#define USB_DEVICE_ID_VU7 0x0005 ++ ++#define USB_VENDOR_ID_ODROID 0x16b4 ++#define USB_DEVICE_ID_VU5 0x0704 ++#define USB_DEVICE_ID_VU7PLUS 0x0705 ++ ++enum { ++ ODROID_VU7 = 0, /* 800 x 480, 7" Touch */ ++ ODROID_VU5, /* 800 x 480, 5" Touch */ ++ ODROID_VU7PLUS, /* 1024 x 600, 7" Touch */ ++}; ++ ++/*-------------------------------------------------------------------------*/ ++struct usbtouch_device_info { ++ char name[64]; ++ int max_x; ++ int max_y; ++ int max_press; ++ int max_finger; ++}; ++ ++/*-------------------------------------------------------------------------*/ ++const struct usbtouch_device_info DEV_INFO[] = { ++ [ODROID_VU7] = { ++ .name = "ODROID VU7 MultiTouch(800x480)", ++ .max_x = 800, ++ .max_y = 480, ++ .max_press = 255, ++ .max_finger = 5, ++ }, ++ [ODROID_VU5] = { ++ .name = "ODROID VU5 MultiTouch(800x480)", ++ .max_x = 800, ++ .max_y = 480, ++ .max_press = 255, ++ .max_finger = 5, ++ }, ++ [ODROID_VU7PLUS] = { ++ .name = "ODROID VU7 Plus MultiTouch(1024x600)", ++ .max_x = 1024, ++ .max_y = 600, ++ .max_press = 255, ++ .max_finger = 5, ++ }, ++}; ++ ++/*-------------------------------------------------------------------------*/ ++static const struct usb_device_id dwav_usb_mt_devices[] = { ++ {USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_VU7), ++ .driver_info = ODROID_VU7}, ++ {USB_DEVICE(USB_VENDOR_ID_ODROID, USB_DEVICE_ID_VU5), ++ .driver_info = ODROID_VU5}, ++ {USB_DEVICE(USB_VENDOR_ID_ODROID, USB_DEVICE_ID_VU7PLUS), ++ .driver_info = ODROID_VU7PLUS}, ++ {} ++}; ++ ++/*-------------------------------------------------------------------------*/ ++struct dwav_raw { /* Total 25 bytes */ ++ unsigned char header; /* frame header 0xAA*/ ++ unsigned char press; ++ /* Touch flag (1:valid touch data, 0:touch finished) */ ++ unsigned short x1; /* 1st x */ ++ unsigned short y1; /* 1st y */ ++ unsigned char end; ++ /* 1st touch finish flags 0xBB, RPI only uses the first 7 bytes */ ++ unsigned char ids; /* touch ID(bit field) */ ++ unsigned short y2; ++ unsigned short x2; ++ unsigned short y3; ++ unsigned short x3; ++ unsigned short y4; ++ unsigned short x4; ++ unsigned short y5; ++ unsigned short x5; ++ unsigned char tail; /* frame end 0xCC */ ++}; ++ ++/*------------------------------------------------------------------------- ++ Touch Event type define ++-------------------------------------------------------------------------*/ ++#define TS_EVENT_UNKNOWN 0x00 ++#define TS_EVENT_PRESS 0x01 ++#define TS_EVENT_RELEASE 0x02 ++ ++struct finger_t { ++ unsigned int status; /* ts event type */ ++ unsigned int x; /* ts data x */ ++ unsigned int y; /* ts data y */ ++} __packed; ++ ++struct dwav_usb_mt { ++ char name[128], phys[64]; ++ ++ int dev_id; ++ /* for URB Data DMA */ ++ dma_addr_t data_dma; ++ unsigned char *data; ++ int data_size; ++ ++ struct urb *irq; ++ struct usb_interface *interface; ++ struct input_dev *input; ++ ++ struct finger_t *finger; ++}; ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_report(struct dwav_usb_mt *dwav_usb_mt) ++{ ++ int id, max_x, max_y, max_press, max_finger; ++ ++ max_x = DEV_INFO[dwav_usb_mt->dev_id].max_x; ++ max_y = DEV_INFO[dwav_usb_mt->dev_id].max_y; ++ max_press = DEV_INFO[dwav_usb_mt->dev_id].max_press; ++ max_finger = DEV_INFO[dwav_usb_mt->dev_id].max_finger; ++ ++ for (id = 0; id < max_finger; id++) { ++ ++ if (dwav_usb_mt->finger[id].status == TS_EVENT_UNKNOWN) ++ continue; ++ ++ if (dwav_usb_mt->finger[id].x >= max_x || ++ dwav_usb_mt->finger[id].y >= max_y) ++ continue; ++ ++ input_mt_slot(dwav_usb_mt->input, id); ++ ++ if (dwav_usb_mt->finger[id].status != TS_EVENT_RELEASE) { ++ input_mt_report_slot_state(dwav_usb_mt->input, ++ MT_TOOL_FINGER, true); ++ input_report_abs(dwav_usb_mt->input, ++ ABS_MT_POSITION_X, ++ dwav_usb_mt->finger[id].x); ++ input_report_abs(dwav_usb_mt->input, ++ ABS_MT_POSITION_Y, ++ dwav_usb_mt->finger[id].y); ++ input_report_abs(dwav_usb_mt->input, ++ ABS_MT_PRESSURE, ++ max_press); ++ } else { ++ input_mt_report_slot_state(dwav_usb_mt->input, ++ MT_TOOL_FINGER, false); ++ dwav_usb_mt->finger[id].status = TS_EVENT_UNKNOWN; ++ } ++ input_mt_report_pointer_emulation(dwav_usb_mt->input, true); ++ input_sync(dwav_usb_mt->input); ++ } ++} ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_process(struct dwav_usb_mt *dwav_usb_mt, ++ unsigned char *pkt, int len) ++{ ++ struct dwav_raw *dwav_raw = (struct dwav_raw *)pkt; ++ unsigned char bit_mask, cnt; ++ ++ for (cnt = 0, bit_mask = 0x01; ++ cnt < DEV_INFO[dwav_usb_mt->dev_id].max_finger; ++ cnt++, bit_mask <<= 1) { ++ if ((dwav_raw->ids & bit_mask) && dwav_raw->press) { ++ dwav_usb_mt->finger[cnt].status = TS_EVENT_PRESS; ++ switch (cnt) { ++ case 0: ++ dwav_usb_mt->finger[cnt].x ++ = cpu_to_be16(dwav_raw->x1); ++ dwav_usb_mt->finger[cnt].y ++ = cpu_to_be16(dwav_raw->y1); ++ break; ++ case 1: ++ dwav_usb_mt->finger[cnt].x ++ = cpu_to_be16(dwav_raw->x2); ++ dwav_usb_mt->finger[cnt].y ++ = cpu_to_be16(dwav_raw->y2); ++ break; ++ case 2: ++ dwav_usb_mt->finger[cnt].x ++ = cpu_to_be16(dwav_raw->x3); ++ dwav_usb_mt->finger[cnt].y ++ = cpu_to_be16(dwav_raw->y3); ++ break; ++ case 3: ++ dwav_usb_mt->finger[cnt].x ++ = cpu_to_be16(dwav_raw->x4); ++ dwav_usb_mt->finger[cnt].y ++ = cpu_to_be16(dwav_raw->y4); ++ break; ++ case 4: ++ dwav_usb_mt->finger[cnt].x ++ = cpu_to_be16(dwav_raw->x5); ++ dwav_usb_mt->finger[cnt].y ++ = cpu_to_be16(dwav_raw->y5); ++ break; ++ default: ++ break; ++ } ++ } else { ++ if (dwav_usb_mt->finger[cnt].status == TS_EVENT_PRESS) ++ dwav_usb_mt->finger[cnt].status ++ = TS_EVENT_RELEASE; ++ else ++ dwav_usb_mt->finger[cnt].status ++ = TS_EVENT_UNKNOWN; ++ } ++ } ++ dwav_usb_mt_report(dwav_usb_mt); ++} ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_irq(struct urb *urb) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = urb->context; ++ struct device *dev = &dwav_usb_mt->interface->dev; ++ int retval; ++ ++ switch (urb->status) { ++ case 0: ++ /* success */ ++ break; ++ case -ETIME: ++ /* this urb is timing out */ ++ dev_dbg(dev, "%s - urb timed out - was the device unplugged?\n", ++ __func__); ++ return; ++ case -ECONNRESET: ++ case -ENOENT: ++ case -ESHUTDOWN: ++ case -EPIPE: ++ /* this urb is terminated, clean up */ ++ dev_dbg(dev, "%s - urb shutting down with status: %d\n", ++ __func__, urb->status); ++ return; ++ default: ++ dev_dbg(dev, "%s - nonzero urb status received: %d\n", ++ __func__, urb->status); ++ goto exit; ++ } ++ ++ dwav_usb_mt_process(dwav_usb_mt, dwav_usb_mt->data, urb->actual_length); ++ ++exit: ++ usb_mark_last_busy(interface_to_usbdev(dwav_usb_mt->interface)); ++ retval = usb_submit_urb(urb, GFP_ATOMIC); ++ if (retval) { ++ dev_err(dev, "%s - usb_submit_urb failed with result: %d\n", ++ __func__, retval); ++ } ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_open(struct input_dev *input) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = input_get_drvdata(input); ++ int r; ++ ++ dwav_usb_mt->irq->dev = interface_to_usbdev(dwav_usb_mt->interface); ++ ++ r = usb_autopm_get_interface(dwav_usb_mt->interface) ? -EIO : 0; ++ if (r < 0) ++ goto out; ++ ++ if (usb_submit_urb(dwav_usb_mt->irq, GFP_KERNEL)) { ++ r = -EIO; ++ goto out_put; ++ } ++ ++ dwav_usb_mt->interface->needs_remote_wakeup = 1; ++out_put: ++ usb_autopm_put_interface(dwav_usb_mt->interface); ++out: ++ return r; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_close(struct input_dev *input) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = input_get_drvdata(input); ++ int r; ++ ++ usb_kill_urb(dwav_usb_mt->irq); ++ ++ r = usb_autopm_get_interface(dwav_usb_mt->interface); ++ ++ dwav_usb_mt->interface->needs_remote_wakeup = 0; ++ if (!r) ++ usb_autopm_put_interface(dwav_usb_mt->interface); ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_suspend(struct usb_interface *intf, pm_message_t message) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = usb_get_intfdata(intf); ++ ++ usb_kill_urb(dwav_usb_mt->irq); ++ ++ return 0; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_resume(struct usb_interface *intf) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = usb_get_intfdata(intf); ++ struct input_dev *input = dwav_usb_mt->input; ++ int result = 0; ++ ++ mutex_lock(&input->mutex); ++ if (input->users) ++ result = usb_submit_urb(dwav_usb_mt->irq, GFP_NOIO); ++ mutex_unlock(&input->mutex); ++ ++ return result; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_reset_resume(struct usb_interface *intf) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = usb_get_intfdata(intf); ++ struct input_dev *input = dwav_usb_mt->input; ++ int err = 0; ++ ++ /* restart IO if needed */ ++ mutex_lock(&input->mutex); ++ if (input->users) ++ err = usb_submit_urb(dwav_usb_mt->irq, GFP_NOIO); ++ mutex_unlock(&input->mutex); ++ ++ return err; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_free_buffers(struct usb_device *udev, ++ struct dwav_usb_mt *dwav_usb_mt) ++{ ++ usb_free_coherent(udev, dwav_usb_mt->data_size, ++ dwav_usb_mt->data, dwav_usb_mt->data_dma); ++} ++ ++/*-------------------------------------------------------------------------*/ ++static struct usb_endpoint_descriptor *dwav_usb_mt_get_input_endpoint( ++ struct usb_host_interface *interface) ++{ ++ int i; ++ ++ for (i = 0; i < interface->desc.bNumEndpoints; i++) { ++ if (usb_endpoint_dir_in(&interface->endpoint[i].desc)) ++ return &interface->endpoint[i].desc; ++ } ++ ++ return NULL; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_init(struct dwav_usb_mt *dwav_usb_mt, void *dev) ++{ ++ int err; ++ struct input_dev *input_dev = (struct input_dev *)dev; ++ ++ input_dev->name = dwav_usb_mt->name; ++ input_dev->phys = dwav_usb_mt->phys; ++ ++ input_set_drvdata(input_dev, dwav_usb_mt); ++ ++ input_dev->open = dwav_usb_mt_open; ++ input_dev->close = dwav_usb_mt_close; ++ ++ input_dev->id.bustype = BUS_USB; ++ ++ /* single touch */ ++ input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); ++ input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); ++ ++ input_set_abs_params(input_dev, ABS_X, 0, ++ DEV_INFO[dwav_usb_mt->dev_id].max_x, 0, 0); ++ input_set_abs_params(input_dev, ABS_Y, 0, ++ DEV_INFO[dwav_usb_mt->dev_id].max_y, 0, 0); ++ ++ /* multi touch */ ++ input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, ++ DEV_INFO[dwav_usb_mt->dev_id].max_x, 0, 0); ++ input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0, ++ DEV_INFO[dwav_usb_mt->dev_id].max_y, 0, 0); ++ input_mt_init_slots(input_dev, ++ DEV_INFO[dwav_usb_mt->dev_id].max_finger, 0); ++ ++ err = input_register_device(input_dev); ++ if (err) { ++ pr_err("%s - input_register_device failed, err: %d\n", ++ __func__, err); ++ return err; ++ } ++ ++ dwav_usb_mt->input = input_dev; ++ ++ return 0; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_probe(struct usb_interface *intf, ++ const struct usb_device_id *id) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = NULL; ++ struct input_dev *input_dev = NULL; ++ struct usb_endpoint_descriptor *endpoint; ++ struct usb_device *udev = interface_to_usbdev(intf); ++ ++ int err = 0; ++ ++ endpoint = dwav_usb_mt_get_input_endpoint(intf->cur_altsetting); ++ if (!endpoint) ++ return -ENXIO; ++ ++ dwav_usb_mt = kzalloc(sizeof(struct dwav_usb_mt), GFP_KERNEL); ++ if (!dwav_usb_mt) ++ return -ENOMEM; ++ ++ dwav_usb_mt->dev_id = id->driver_info; ++ ++ dwav_usb_mt->finger = kzalloc(sizeof(struct finger_t) * ++ DEV_INFO[dwav_usb_mt->dev_id].max_finger, ++ GFP_KERNEL); ++ ++ if (!dwav_usb_mt->finger) ++ goto err_free_mem; ++ ++ input_dev = input_allocate_device(); ++ if (!input_dev) ++ goto err_free_mem; ++ ++ dwav_usb_mt->data_size = sizeof(struct dwav_raw); ++ dwav_usb_mt->data = usb_alloc_coherent(udev, dwav_usb_mt->data_size, ++ GFP_KERNEL, &dwav_usb_mt->data_dma); ++ if (!dwav_usb_mt->data) ++ goto err_free_mem; ++ ++ dwav_usb_mt->irq = usb_alloc_urb(0, GFP_KERNEL); ++ if (!dwav_usb_mt->irq) { ++ dev_dbg(&intf->dev, ++ "%s - usb_alloc_urb failed: usbtouch->irq\n", ++ __func__); ++ goto err_free_buffers; ++ } ++ ++ if (usb_endpoint_type(endpoint) == USB_ENDPOINT_XFER_INT) { ++ usb_fill_int_urb(dwav_usb_mt->irq, udev, ++ usb_rcvintpipe(udev, endpoint->bEndpointAddress), ++ dwav_usb_mt->data, dwav_usb_mt->data_size, ++ dwav_usb_mt_irq, dwav_usb_mt, endpoint->bInterval); ++ } else { ++ usb_fill_bulk_urb(dwav_usb_mt->irq, udev, ++ usb_rcvbulkpipe(udev, endpoint->bEndpointAddress), ++ dwav_usb_mt->data, dwav_usb_mt->data_size, ++ dwav_usb_mt_irq, dwav_usb_mt); ++ } ++ ++ dwav_usb_mt->irq->dev = udev; ++ dwav_usb_mt->irq->transfer_dma = dwav_usb_mt->data_dma; ++ dwav_usb_mt->irq->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; ++ ++ dwav_usb_mt->interface = intf; ++ ++ if (udev->manufacturer) ++ strlcpy(dwav_usb_mt->name, ++ udev->manufacturer, sizeof(dwav_usb_mt->name)); ++ ++ if (udev->product) { ++ if (udev->manufacturer) ++ strlcat(dwav_usb_mt->name, ++ " ", sizeof(dwav_usb_mt->name)); ++ ++ strlcat(dwav_usb_mt->name, ++ udev->product, sizeof(dwav_usb_mt->name)); ++ } ++ ++ if (!strlen(dwav_usb_mt->name)) { ++ snprintf(dwav_usb_mt->name, sizeof(dwav_usb_mt->name), ++ "D-WAV Scientific MultiTouch %04x:%04x", ++ le16_to_cpu(udev->descriptor.idVendor), ++ le16_to_cpu(udev->descriptor.idProduct)); ++ } ++ ++ usb_make_path(udev, dwav_usb_mt->phys, sizeof(dwav_usb_mt->phys)); ++ strlcat(dwav_usb_mt->phys, "/input0", sizeof(dwav_usb_mt->phys)); ++ ++ usb_to_input_id(udev, &input_dev->id); ++ ++ input_dev->dev.parent = &intf->dev; ++ ++ err = dwav_usb_mt_init(dwav_usb_mt, (void *)input_dev); ++ if (err) ++ goto err_free_urb; ++ ++ usb_set_intfdata(intf, dwav_usb_mt); ++ ++ dev_info(&intf->dev, "%s\n", DEV_INFO[dwav_usb_mt->dev_id].name); ++ ++ return 0; ++ ++err_free_urb: ++ usb_free_urb(dwav_usb_mt->irq); ++ ++err_free_buffers: ++ dwav_usb_mt_free_buffers(udev, dwav_usb_mt); ++ ++err_free_mem: ++ if (input_dev) ++ input_free_device(input_dev); ++ kfree(dwav_usb_mt); ++ ++ return err; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_disconnect(struct usb_interface *intf) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = usb_get_intfdata(intf); ++ ++ if (!dwav_usb_mt) ++ return; ++ ++ dev_dbg(&intf->dev, ++ "%s - dwav_usb_mt is initialized, cleaning up\n", ++ __func__); ++ ++ usb_set_intfdata(intf, NULL); ++ ++ /* this will stop IO via close */ ++ input_unregister_device(dwav_usb_mt->input); ++ ++ usb_free_urb(dwav_usb_mt->irq); ++ ++ dwav_usb_mt_free_buffers(interface_to_usbdev(intf), dwav_usb_mt); ++ ++ kfree(dwav_usb_mt); ++} ++ ++/*-------------------------------------------------------------------------*/ ++MODULE_DEVICE_TABLE(usb, dwav_usb_mt_devices); ++ ++static struct usb_driver dwav_usb_mt_driver = { ++ .name = "dwav_usb_mt", ++ .probe = dwav_usb_mt_probe, ++ .disconnect = dwav_usb_mt_disconnect, ++ .suspend = dwav_usb_mt_suspend, ++ .resume = dwav_usb_mt_resume, ++ .reset_resume = dwav_usb_mt_reset_resume, ++ .id_table = dwav_usb_mt_devices, ++ .supports_autosuspend = 1, ++}; ++ ++module_usb_driver(dwav_usb_mt_driver); ++ ++/*-------------------------------------------------------------------------*/ ++MODULE_AUTHOR("Hardkernel Co.,Ltd"); ++MODULE_DESCRIPTION("D-WAV USB(HID) MultiTouch Driver"); ++MODULE_LICENSE("GPL"); ++ ++MODULE_ALIAS("dwav_usb_mt"); ++/*-------------------------------------------------------------------------*/ +diff -urN a/drivers/input/touchscreen/sx865x.c b/drivers/input/touchscreen/sx865x.c +--- a/drivers/input/touchscreen/sx865x.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/input/touchscreen/sx865x.c 2018-05-06 10:03:40.553940699 +0200 +@@ -0,0 +1,584 @@ ++/* ++ * drivers/input/touchscreen/sx865x.c ++ * ++ * Copyright (c) 2013 U-MoBo Srl ++ * Pierluigi Passaro ++ * ++ * Using code from: ++ * - sx8650.c ++ * Copyright (c) 2009 Wayne Roberts ++ * - tsc2007.c ++ * Copyright (c) 2008 Kwangwoo Lee ++ * - ads7846.c ++ * Copyright (c) 2005 David Brownell ++ * Copyright (c) 2006 Nokia Corporation ++ * - corgi_ts.c ++ * Copyright (C) 2004-2005 Richard Purdie ++ * - omap_ts.[hc], ads7846.h, ts_osk.c ++ * Copyright (C) 2002 MontaVista Software ++ * Copyright (C) 2004 Texas Instruments ++ * Copyright (C) 2005 Dirk Behme ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++ ++#include ++#include ++ ++#define AMLGPIO_IRQ_BASE 96 ++ ++#endif ++ ++/* timeout expires after pen is lifted, no more PENIRQs comming */ ++/* adjust with POWDLY setting */ ++#define TS_TIMEOUT (8 * 1000000) ++ ++/* analog channels */ ++#define CH_X 0 ++#define CH_Y 1 ++#define CH_Z1 2 ++#define CH_Z2 3 ++#define CH_AUX 4 ++#define CH_RX 5 ++#define CH_RY 6 ++#define CH_SEQ 7 ++ ++/* commands */ ++#define SX865X_WRITE_REGISTER 0x00 ++#define SX865X_READ_REGISTER 0x40 ++#define SX865X_SELECT_CH(ch) (0x80 | ch) ++#define SX865X_CONVERT_CH(ch) (0x90 | ch) ++#define SX865X_POWDWN 0xb0 /* power down, ignore pen */ ++#define SX865X_PENDET 0xc0 /* " " with pen sensitivity */ ++#define SX865X_PENTRG 0xe0 /* " " " " and sample channels */ ++ ++/* register addresses */ ++#define I2C_REG_CTRL0 0x00 ++#define I2C_REG_CTRL1 0x01 ++#define I2C_REG_CTRL2 0x02 ++#define I2C_REG_CTRL3 0x03 ++#define I2C_REG_CHANMASK 0x04 ++#define I2C_REG_STAT 0x05 ++#define I2C_REG_SOFTRESET 0x1f ++ ++#define I2C_EXTENDED_REG_STAT 0x24 ++#define I2C_EXTENDED_REG_SOFTRESET 0x3f ++ ++#define SOFTRESET_VALUE 0xde ++ ++/* bits for I2C_REG_STAT */ ++/* I2C_REG_STAT: end of conversion flag */ ++#define STATUS_CONVIRQ 0x80 ++/* I2C_REG_STAT: pen detected */ ++#define STATUS_PENIRQ 0x40 ++ ++/* bits for I2C_EXTENDED_REG_STAT */ ++/* I2C_EXTENDED_REG_STAT: end of conversion flag */ ++#define EXTENDED_STATUS_CONVIRQ 0x08 ++/* I2C_EXTENDED_REG_STAT: pen detected */ ++#define EXTENDED_STATUS_PENIRQ 0x04 ++ ++/* sx865x bits for RegCtrl1 */ ++#define CONDIRQ 0x20 ++/* no averaging */ ++#define FILT_NONE 0x00 ++/* 3 sample averaging */ ++#define FILT_3SA 0x01 ++/* 5 sample averaging */ ++#define FILT_5SA 0x02 ++/* 7 samples, sort, then average of 3 middle samples */ ++#define FILT_7SA 0x03 ++ ++/* bits for register 2, I2CRegChanMsk */ ++#define CONV_X 0x80 ++#define CONV_Y 0x40 ++#define CONV_Z1 0x20 ++#define CONV_Z2 0x10 ++#define CONV_AUX 0x08 ++#define CONV_RX 0x04 ++#define CONV_RY 0x02 ++ ++/* power delay: lower nibble of CTRL0 register */ ++#define POWDLY_IMMEDIATE 0x00 ++#define POWDLY_1_1US 0x01 ++#define POWDLY_2_2US 0x02 ++#define POWDLY_4_4US 0x03 ++#define POWDLY_8_9US 0x04 ++#define POWDLY_17_8US 0x05 ++#define POWDLY_35_5US 0x06 ++#define POWDLY_71US 0x07 ++#define POWDLY_140US 0x08 ++#define POWDLY_280US 0x09 ++#define POWDLY_570US 0x0a ++#define POWDLY_1_1MS 0x0b ++#define POWDLY_2_3MS 0x0c ++#define POWDLY_4_6MS 0x0d ++#define POWDLY_9MS 0x0e ++#define POWDLY_18MS 0x0f ++ ++#define MAX_12BIT ((1 << 12) - 1) ++ ++/* when changing the channel mask, also change the read length appropriately */ ++#define CHAN_MASK (CONV_X | CONV_Y | CONV_Z1 | CONV_RX | CONV_RY) ++#define NUM_CHANNELS_SEQ 5 ++#define CHAN_READ_LENGTH (NUM_CHANNELS_SEQ * 2) ++ ++#define SX_MULTITOUCH 0x01 ++#define SX_PROXIMITY_SENSING 0x02 ++#define SX_HAPTICS_GENERIC 0x04 ++#define SX_HAPTICS_IMMERSION 0x08 ++#define SX_EXTENDED_REGS (SX_PROXIMITY_SENSING | SX_HAPTICS_GENERIC | SX_HAPTICS_IMMERSION) ++ ++#define SX865X_UP_SCANTIME_MS (100) ++#define SX865X_DOWN_SCANTIME_MS (20) ++ ++struct ts_event { ++ u16 x, y; ++ u16 z1; ++ u16 rx, ry; ++}; ++ ++struct sx865x { ++ struct input_dev *input; ++ struct ts_event tc; ++ ++ struct i2c_client *client; ++ ++ u32 invert_x; ++ u32 invert_y; ++ u32 swap_xy; ++ u32 gpio_pendown; ++ u32 gpio_reset; ++ ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++ int irq_bank; ++#endif ++ unsigned pendown; ++ int irq; ++}; ++ ++static struct i2c_device_id sx865x_idtable[] = { ++ { "sx8650", 0 }, ++ { } ++}; ++ ++MODULE_DEVICE_TABLE(i2c, sx865x_idtable); ++ ++static const struct of_device_id sx865x_of_match[] = { ++ { .compatible = "semtech,sx8650", .data = (void *)0 }, ++ {} ++}; ++ ++MODULE_DEVICE_TABLE(of, sx865x_of_match); ++ ++static void sx865x_send_event(struct sx865x *ts) ++{ ++ u32 rt; ++ u16 x, y, z1; ++ ++ x = ts->tc.x; ++ y = ts->tc.y; ++ z1 = ts->tc.z1; ++ ++ /* range filtering */ ++ if (y == MAX_12BIT) ++ y = 0; ++ ++ /* compute touch pressure resistance */ ++ if (likely(y && z1)) ++ rt = z1; ++ else ++ rt = 0; ++ ++ /* Sample found inconsistent by debouncing or pressure is beyond ++ * the maximum. Don't report it to user space, repeat at least ++ * once more the measurement ++ */ ++ if (rt > MAX_12BIT) { ++ dev_dbg(&ts->client->dev, "ignored pressure %d\n", rt); ++ return; ++ } ++ ++ /* NOTE: We can't rely on the pressure to determine the pen down ++ * state, even this controller has a pressure sensor. The pressure ++ * value can fluctuate for quite a while after lifting the pen and ++ * in some cases may not even settle at the expected value. ++ * ++ * The only safe way to check for the pen up condition is in the ++ * timer by reading the pen signal state (it's a GPIO _and_ IRQ). ++ */ ++ if (rt) { ++ struct input_dev *input = ts->input; ++ ++ if (ts->invert_x) x = (~x) & MAX_12BIT; ++ ++ if (ts->invert_y) y = (~y) & MAX_12BIT; ++ ++ if (ts->swap_xy) swap(x, y); ++ ++ if (!ts->pendown) { ++ dev_dbg(&ts->client->dev, "DOWN\n"); ++ ts->pendown = 1; ++ input_report_key(input, BTN_TOUCH, 1); ++ } ++ ++ input_report_abs(input, ABS_X, x); ++ input_report_abs(input, ABS_Y, y); ++ input_report_abs(input, ABS_PRESSURE, rt); ++ input_sync(input); ++ ++ dev_dbg(&ts->client->dev, "point(%4d,%4d), pressure (%4u)\n", ++ x, y, rt); ++ } ++} ++ ++static int sx865x_read_values(struct sx865x *ts) ++{ ++ s32 data; ++ u16 vals[NUM_CHANNELS_SEQ+1]; /* +1 for last dummy read */ ++ int length; ++ int i; ++ ++ memset(&(ts->tc), 0, sizeof(ts->tc)); ++ /* The protocol and raw data format from i2c interface: ++ * S Addr R A [DataLow] A [DataHigh] A (repeat) NA P ++ * Where DataLow has (channel | [D11-D8]), DataHigh has [D7-D0]. ++ */ ++ length = i2c_master_recv(ts->client, (char *)vals, CHAN_READ_LENGTH); ++ ++ if (likely(length == CHAN_READ_LENGTH)) { ++ length >>= 1; ++ for (i = 0; i < length; i++) { ++ u16 ch; ++ data = swab16(vals[i]); ++ if (unlikely(data & 0x8000)) { ++ dev_dbg(&ts->client->dev, ++ "hibit @ %d [0x%04x]\n", i, data); ++ continue; ++ } ++ ch = data >> 12; ++ if (ch == CH_X) { ++ ts->tc.x = data & 0xfff; ++ } else if (ch == CH_Y) { ++ ts->tc.y = data & 0xfff; ++ } else if (ch == CH_Z1) { ++ ts->tc.z1 = data & 0xfff; ++ } else if (ch == CH_RX) { ++ ts->tc.rx = data & 0xfff; ++ } else if (ch == CH_RY) { ++ ts->tc.ry = data & 0xfff; ++ } else { ++ dev_err(&ts->client->dev, "? CH%d %x\n", ++ ch, data & 0xfff); ++ } ++ } ++ } else { ++ dev_err(&ts->client->dev, "%d = recv()\n", length); ++ } ++ ++ dev_dbg(&ts->client->dev, "X:%03x Y:%03x Z1:%03x RX:%03x RY:%03x\n", ++ ts->tc.x, ts->tc.y, ts->tc.z1, ts->tc.rx, ts->tc.ry); ++ ++ return !ts->tc.z1; /* return 0 only if pressure not 0 */ ++} ++ ++static void sx865x_pen_up(struct sx865x *ts) ++{ ++ struct input_dev *input = ts->input; ++ ++ /* This timer expires after PENIRQs havent been coming in for some time. ++ * It means that the pen is now UP. */ ++ input_report_key(input, BTN_TOUCH, 0); ++ input_report_abs(input, ABS_PRESSURE, 0); ++ input_sync(input); ++ ++ ts->pendown = 0; ++ dev_dbg(&ts->client->dev, "UP\n"); ++} ++ ++static int sx865x_data_available(struct sx865x *ts) ++{ ++ u8 status; ++ ++ status = i2c_smbus_read_byte_data(ts->client, ++ (SX865X_READ_REGISTER | I2C_REG_STAT)); ++ return status & STATUS_CONVIRQ; ++} ++ ++static int get_pendown_status(struct sx865x *ts) ++{ ++ return gpio_get_value(ts->gpio_pendown) ? 0 : 1; ++} ++ ++static irqreturn_t sx865x_hw_irq(int irq, void *handle) ++{ ++ struct sx865x *ts = handle; ++ ++ return get_pendown_status(ts) ? IRQ_WAKE_THREAD : IRQ_HANDLED; ++} ++ ++static irqreturn_t sx865x_irq(int irq, void *handle) ++{ ++ struct sx865x *ts = handle; ++ ++ while (sx865x_data_available(ts)) { ++ /* valid data was read in */ ++ if (likely(sx865x_read_values(ts) == 0)) ++ sx865x_send_event(ts); ++ else ++ dev_dbg(&ts->client->dev, "data error!\n"); ++ ++ msleep(SX865X_DOWN_SCANTIME_MS); ++ } ++ ++ if (ts->pendown) ++ sx865x_pen_up(ts); ++ ++ return IRQ_HANDLED; ++} ++ ++static void sx865x_hw_reset(struct sx865x *ts) ++{ ++ gpio_direction_output(ts->gpio_reset, 0); ++ udelay(1000); ++ gpio_direction_output(ts->gpio_reset, 1); ++ udelay(1000); ++} ++ ++static int sx865x_dt_probe(struct i2c_client *client, struct sx865x *ts) ++{ ++ struct device_node *node = client->dev.of_node; ++ const struct of_device_id *match; ++ ++ if (!node) { ++ dev_err(&client->dev, ++ "Device dost not have associated DT data\n"); ++ return -EINVAL; ++ } ++ ++ match = of_match_device(sx865x_of_match, &client->dev); ++ if (!match) { ++ dev_err(&client->dev, ++ "Unknown device model\n"); ++ return -EINVAL; ++ } ++ ++ of_property_read_u32(node, "swap-xy", &ts->swap_xy); ++ of_property_read_u32(node, "invert-x", &ts->invert_x); ++ of_property_read_u32(node, "invert-y", &ts->invert_y); ++ ++ ts->gpio_pendown = of_get_named_gpio(node, "gpio-pendown", 0); ++ ts->gpio_reset = of_get_named_gpio(node, "gpio-reset", 0); ++ ++ if (gpio_request(ts->gpio_pendown, "ts-pendown")) ++ dev_err(&client->dev, ++ "gpio request fail (%d)!\n", ts->gpio_pendown); ++ else ++ gpio_direction_input(ts->gpio_pendown); ++ ++ if (gpio_request(ts->gpio_reset, "ts-reset")) ++ dev_err(&client->dev, ++ "gpio request fail (%d)!\n", ts->gpio_reset); ++ else ++ sx865x_hw_reset(ts); ++ ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++ /* irq setup */ ++ ts->irq_bank = meson_fix_irqbank(ts->irq_bank); ++ if (ts->irq_bank < 0) { ++ dev_err(&client->dev, ++ "Could not find irq bank!\n"); ++ return -EINVAL; ++ } ++ ++ { ++ int ret; ++ /* AMLogic gpio irq setup */ ++ ret = gpio_for_irq(ts->gpio_pendown, ++ AML_GPIO_IRQ(ts->irq_bank, FILTER_NUM7, GPIO_IRQ_FALLING)); ++ ++ if (ret) { ++ dev_err(&client->dev, ++ "AML_GPIO_IRQ setup fail!\n"); ++ return -EINVAL; ++ } ++ /* Amlogic gpio based irq setup */ ++ ts->irq = AMLGPIO_IRQ_BASE + ts->irq_bank; ++ } ++#else ++ ts->irq = gpio_to_irq(ts->gpio_pendown); ++ if (ts->irq < 0) ++ return -EINVAL; ++#endif ++ ++ /* platform data info display */ ++ dev_info(&client->dev, "swap_xy (%d)\n", ts->swap_xy); ++ dev_info(&client->dev, "invert_x (%d)\n", ts->invert_x); ++ dev_info(&client->dev, "invert_y (%d)\n", ts->invert_y); ++ dev_info(&client->dev, "gpio pendown (%d)\n", ts->gpio_pendown); ++ dev_info(&client->dev, "gpio reset (%d)\n", ts->gpio_reset); ++ dev_info(&client->dev, "gpio irq (%d)\n", ts->irq); ++ ++ return 0; ++} ++ ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++static void sx865x_irq_free(struct i2c_client *client, struct sx865x *ts) ++{ ++ int irq_banks[2]; ++ ++ meson_free_irq(gpio_to_irq(ts->gpio_pendown), &irq_banks[0]); ++ ++ /* rising irq bank */ ++ if (irq_banks[0] != -1) ++ free_irq(irq_banks[0] + AMLGPIO_IRQ_BASE, ts); ++ ++ /* falling irq bank */ ++ if (irq_banks[1] != -1) ++ free_irq(irq_banks[1] + AMLGPIO_IRQ_BASE, ts); ++} ++#endif ++ ++static int sx865x_probe(struct i2c_client *client, ++ const struct i2c_device_id *id) ++{ ++ struct sx865x *ts; ++ struct input_dev *input_dev; ++ int err = 0; ++ ++ dev_info(&client->dev, "sx865x_probe()\n"); ++ ++ if (!i2c_check_functionality(client->adapter, ++ I2C_FUNC_SMBUS_READ_WORD_DATA)) ++ return -EIO; ++ ++ ts = devm_kzalloc(&client->dev, sizeof(struct sx865x), GFP_KERNEL); ++ input_dev = devm_input_allocate_device(&client->dev); ++ if (!ts || !input_dev) ++ return -ENOMEM; ++ ++ if (sx865x_dt_probe(client, ts) != 0) ++ return -EIO; ++ ++ i2c_set_clientdata(client, ts); ++ ++ input_dev->name = "SX865X Touchscreen"; ++ input_dev->id.bustype = BUS_I2C; ++ input_dev->dev.parent = &client->dev; ++ input_set_drvdata(input_dev, ts); ++ ++ input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); ++ input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); ++ ++ input_set_abs_params(input_dev, ABS_X, 0, MAX_12BIT, 0, 0); ++ input_set_abs_params(input_dev, ABS_Y, 0, MAX_12BIT, 0, 0); ++ input_set_abs_params(input_dev, ABS_PRESSURE, 0, MAX_12BIT, 0, 0); ++ ++ /* soft reset: SX8650 fails to nak at the end, ignore return value */ ++ i2c_smbus_write_byte_data(client, I2C_REG_SOFTRESET, SOFTRESET_VALUE); ++ ++ /* set mask to convert X, Y, Z1, RX, RY for CH_SEQ */ ++ err = i2c_smbus_write_byte_data(client, I2C_REG_CHANMASK, CHAN_MASK); ++ if (err != 0) return -EIO; ++ ++ err = i2c_smbus_write_byte_data(client, I2C_REG_CTRL1, ++ CONDIRQ | FILT_7SA); ++ if (err != 0) return -EIO; ++ ++ /* set POWDLY settling time -- adjust TS_TIMEOUT accordingly */ ++ err = i2c_smbus_write_byte_data(client, I2C_REG_CTRL0, POWDLY_1_1MS); ++ if (err != 0) return -EIO; ++ ++ /* enter pen-trigger mode */ ++ err = i2c_smbus_write_byte(client, SX865X_PENTRG); ++ if (err != 0) return -EIO; ++ ++ err = request_threaded_irq(ts->irq, sx865x_hw_irq, sx865x_irq, ++ IRQF_ONESHOT, ++ client->dev.driver->name, ts); ++ ++ if (err < 0) { ++ dev_err(&client->dev, "irq %d busy?\n", ts->irq); ++ return -EIO; ++ } ++ ++ err = input_register_device(input_dev); ++ if (err) ++ goto err_free_irq; ++ ++ ts->client = client; ++ ts->input = input_dev; ++ ++ dev_info(&client->dev, "probe ok! registered with irq (%d)\n", ts->irq); ++ ++ return 0; ++ ++err_free_irq: ++ if (ts->gpio_pendown) ++ gpio_free(ts->gpio_pendown); ++ if (ts->gpio_reset) ++ gpio_free(ts->gpio_reset); ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++ sx865x_irq_free(client, ts); ++#else ++ if (ts->irq) ++ free_irq(ts->irq, ts); ++#endif ++ return err; ++} ++ ++static int sx865x_remove(struct i2c_client *client) ++{ ++ struct sx865x *ts = i2c_get_clientdata(client); ++ struct sx865x_platform_data *pdata; ++ ++ pdata = client->dev.platform_data; ++ ++ if (ts->gpio_pendown) ++ gpio_free(ts->gpio_pendown); ++ if (ts->gpio_reset) ++ gpio_free(ts->gpio_reset); ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++ sx865x_irq_free(client, ts); ++#else ++ if (ts->irq) ++ free_irq(ts->irq, ts); ++#endif ++ input_unregister_device(ts->input); ++ ++ return 0; ++} ++ ++static struct i2c_driver sx865x_driver = { ++ .driver = { ++ .owner = THIS_MODULE, ++ .name = "sx865x", ++ .of_match_table = of_match_ptr(sx865x_of_match), ++ }, ++ .id_table = sx865x_idtable, ++ .probe = sx865x_probe, ++ .remove = sx865x_remove, ++}; ++ ++module_i2c_driver(sx865x_driver); ++ ++MODULE_AUTHOR("Pierluigi Passaro "); ++MODULE_DESCRIPTION("SX865X TouchScreen Driver"); ++MODULE_LICENSE("GPL"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/073_linux-4.18.y-drm-fb_helper-ump-ioctls.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/073_linux-4.18.y-drm-fb_helper-ump-ioctls.patch new file mode 100644 index 000000000..b4cd89375 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/073_linux-4.18.y-drm-fb_helper-ump-ioctls.patch @@ -0,0 +1,151 @@ +diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c +index cab14f25..cafc60ea 100644 +--- a/drivers/gpu/drm/drm_fb_helper.c ++++ b/drivers/gpu/drm/drm_fb_helper.c +@@ -1544,6 +1544,14 @@ int drm_fb_helper_ioctl(struct fb_info *info, unsigned int cmd, + + ret = 0; + goto unlock; ++#if defined(CONFIG_UMP) ++ case GET_UMP_SECURE_ID_BUF1: ++ ret = drm_get_ump_secure_id(info, fb_helper, arg, 0); ++ goto unlock; ++ case GET_UMP_SECURE_ID_BUF2: ++ ret = drm_get_ump_secure_id(info, fb_helper, arg, 1); ++ goto unlock; ++#endif + default: + ret = -ENOTTY; + } +diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile +index 69c13517..55673ac6 100644 +--- a/drivers/gpu/drm/Makefile ++++ b/drivers/gpu/drm/Makefile +@@ -44,6 +44,7 @@ drm_kms_helper-$(CONFIG_DRM_DP_AUX_CHARDEV) += drm_dp_aux_dev.o + + obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o + obj-$(CONFIG_DRM_DEBUG_SELFTEST) += selftests/ ++obj-$(CONFIG_UMP) += drm_fb_ump.o + + obj-$(CONFIG_DRM) += drm.o + obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o +diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h +index b069433e..95657b76 100644 +--- a/include/drm/drm_fb_helper.h ++++ b/include/drm/drm_fb_helper.h +@@ -36,6 +36,10 @@ struct drm_fb_helper; + #include + #include + ++#if defined(CONFIG_UMP) ++#include ++#endif ++ + enum mode_set_atomic { + LEAVE_ATOMIC_MODE_SET, + ENTER_ATOMIC_MODE_SET, +@@ -131,6 +135,8 @@ struct drm_fb_helper_connector { + struct drm_connector *connector; + }; + ++#define DRM_FB_UMP_COUNT 1 /* only enable one FB UMP layer */ ++ + /** + * struct drm_fb_helper - main structure to emulate fbdev on top of KMS + * @fb: Scanout framebuffer object +@@ -232,6 +238,9 @@ struct drm_fb_helper { + * See also: @deferred_setup + */ + int preferred_bpp; ++#if defined(CONFIG_UMP) ++ ump_dd_handle ump_wrapped_buffer[DRM_FB_UMP_COUNT][2]; ++#endif + }; + + /** +@@ -577,4 +586,11 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, + #endif + } + ++#if defined(CONFIG_UMP) ++extern int (*drm_get_ump_secure_id) (struct fb_info *info, ++ struct drm_fb_helper *g_fbi, unsigned long arg, int buf); ++#define GET_UMP_SECURE_ID_BUF1 _IOWR('m', 311, unsigned int) ++#define GET_UMP_SECURE_ID_BUF2 _IOWR('m', 312, unsigned int) ++#endif ++ + #endif +--- /dev/null 2018-07-12 16:39:19.544000000 +0200 ++++ b/drivers/gpu/drm/drm_fb_ump.c 2018-07-22 22:20:45.166145058 +0200 +@@ -0,0 +1,71 @@ ++/* ++ * Copyright (C) 2016 Hardkernel Co. Ltd. ++ * ++ * 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., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include ++ ++#include ++#include ++#include ++#include ++#include ++ ++int (*drm_get_ump_secure_id) (struct fb_info *info, ++ struct drm_fb_helper *g_fbi, unsigned long arg, int buf); ++EXPORT_SYMBOL(drm_get_ump_secure_id); ++ ++static int _drm_get_ump_secure_id(struct fb_info *info, ++ struct drm_fb_helper *g_fbi, unsigned long arg, int buf) ++{ ++ u32 __user *psecureid = (u32 __user *) arg; ++ ump_secure_id secure_id; ++ ++ if (!g_fbi->ump_wrapped_buffer[info->node][buf]) { ++ ump_dd_physical_block ump_memory_description; ++ printk("ump: create disp: %d\n", buf); ++ ++ ump_memory_description.addr = info->fix.smem_start; ++ ump_memory_description.size = info->fix.smem_len; ++ g_fbi->ump_wrapped_buffer[info->node][buf] = ++ ump_dd_handle_create_from_phys_blocks( ++ &ump_memory_description, 1); ++ } ++ secure_id = ump_dd_secure_id_get( ++ g_fbi->ump_wrapped_buffer[info->node][buf]); ++ ++ return put_user((unsigned int)secure_id, psecureid); ++} ++ ++static int __init drm_ump_module_init(void) ++{ ++ int ret = 0; ++ drm_get_ump_secure_id = _drm_get_ump_secure_id; ++ return ret; ++} ++ ++static void __exit drm_ump_module_exit(void) ++{ ++ drm_get_ump_secure_id = NULL; ++} ++ ++module_init(drm_ump_module_init); ++module_exit(drm_ump_module_exit); ++ ++MODULE_AUTHOR("Mauro Ribeiro "); ++MODULE_DESCRIPTION("UMP Glue for DRM Framebuffer"); ++MODULE_LICENSE("GPL"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/074_odroidc2-enable-scpi-dvfs.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/074_odroidc2-enable-scpi-dvfs.patch new file mode 100644 index 000000000..dbe1e637f --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/074_odroidc2-enable-scpi-dvfs.patch @@ -0,0 +1,14 @@ +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +index d147c853a..dbde670ba 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +@@ -246,7 +246,8 @@ + }; + + &scpi_clocks { +- status = "disabled"; ++ /* Works only with new blobs that have limited DVFS table */ ++ status = "okay"; + }; + + /* SD */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/075_odroidc2-enable-scpi-cpu-thermal.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/075_odroidc2-enable-scpi-cpu-thermal.patch new file mode 100644 index 000000000..e05b711aa --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/075_odroidc2-enable-scpi-cpu-thermal.patch @@ -0,0 +1,63 @@ +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-04-29 05:46:55.636313674 +0200 ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-04-29 00:07:14.412005049 +0200 +@@ -46,6 +46,7 @@ + + #include "meson-gxbb.dtsi" + #include ++#include + + / { + compatible = "hardkernel,odroid-c2", "amlogic,meson-gxbb"; +@@ -117,6 +118,41 @@ + 1800000 1>; + }; + ++ thermal-zones { ++ cpu-thermal { ++ polling-delay-passive = <250>; /* milliseconds */ ++ polling-delay = <1000>; /* milliseconds */ ++ ++ thermal-sensors = <&scpi_sensors 0>; ++ ++ trips { ++ cpu_alert0: cpu-alert0 { ++ temperature = <70000>; ++ hysteresis = <2000>; ++ type = "passive"; ++ }; ++ cpu_alert1: cpu-alert1 { ++ temperature = <85000>; ++ hysteresis = <2000>; ++ type = "passive"; ++ }; ++ cpu_crit: cpu_crit { ++ temperature = <95000>; ++ hysteresis = <2000>; ++ type = "critical"; ++ }; ++ }; ++ ++ cooling-maps { ++ map0 { ++ trip = <&cpu_alert1>; ++ cooling-device = ++ <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ }; ++ }; ++ }; ++ + vcc1v8: regulator-vcc1v8 { + compatible = "regulator-fixed"; + regulator-name = "VCC1V8"; +@@ -192,6 +228,10 @@ + status = "okay"; + }; + ++&cpu0 { ++ #cooling-cells = <2>; ++}; ++ + ðmac { + status = "okay"; + pinctrl-0 = <ð_rgmii_pins>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/000_linux-4.14.y-le-amlogic-gx-0000-net-before.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/000_linux-4.14.y-le-amlogic-gx-0000-net-before.patch new file mode 100644 index 000000000..5e07a33bc --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/000_linux-4.14.y-le-amlogic-gx-0000-net-before.patch @@ -0,0 +1,19 @@ + +--- b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 2018-04-12 01:40:29.029325568 +0200 ++++ a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 2018-04-14 01:12:07.301469106 +0200 +@@ -364,15 +364,9 @@ + bool stmmac_eee_init(struct stmmac_priv *priv) + { + struct net_device *ndev = priv->dev; +- int interface = priv->plat->interface; + unsigned long flags; + bool ret = false; + +- if ((interface != PHY_INTERFACE_MODE_MII) && +- (interface != PHY_INTERFACE_MODE_GMII) && +- !phy_interface_mode_is_rgmii(interface)) +- goto out; +- + /* Using PCS we cannot dial with the phy registers at this stage + * so we do not support extra feature like EEE. + */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0002-ARM64-dts-meson-gxbb-allow-child-devices-on-the-USB-.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/001_linux-4.14.y-le-amlogic-gx-0002-arm64-dts-meson-gxbb-allow_child_devices_on_the_usb.patch similarity index 87% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0002-ARM64-dts-meson-gxbb-allow-child-devices-on-the-USB-.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/001_linux-4.14.y-le-amlogic-gx-0002-arm64-dts-meson-gxbb-allow_child_devices_on_the_usb.patch index bbabdbcbd..d46bc071b 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0002-ARM64-dts-meson-gxbb-allow-child-devices-on-the-USB-.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/001_linux-4.14.y-le-amlogic-gx-0002-arm64-dts-meson-gxbb-allow_child_devices_on_the_usb.patch @@ -1,7 +1,7 @@ -From 841ec7b8484dee021a15fdc187cdadc1c89220f2 Mon Sep 17 00:00:00 2001 +From 9724ee442cf7bf4da885433b28029ac559f1f26a Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Thu, 12 Jan 2017 01:38:26 +0100 -Subject: [PATCH 02/39] ARM64: dts: meson-gxbb: allow child devices on the USB +Subject: [PATCH] ARM64: dts: meson-gxbb: allow child devices on the USB controller Add the size and adress cells to the USB controllers to allow specifying @@ -15,7 +15,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -index af834cd..7d38d55 100644 +index af834cdbba791..7d38d55869c94 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi @@ -73,6 +73,8 @@ @@ -36,6 +36,3 @@ index af834cd..7d38d55 100644 reg = <0x0 0xc9100000 0x0 0x40000>; interrupts = ; clocks = <&clkc CLKID_USB1_DDR_BRIDGE>; --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0003-ARM64-dts-meson-gxbb-odroidc2-take-USB-hub-out-of-re.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/002_linux-4.14.y-le-amlogic-gx-0003-arm64-dts-meson-gxbb-odroidc2-take_usb_hub_out_of_reset.patch similarity index 81% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0003-ARM64-dts-meson-gxbb-odroidc2-take-USB-hub-out-of-re.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/002_linux-4.14.y-le-amlogic-gx-0003-arm64-dts-meson-gxbb-odroidc2-take_usb_hub_out_of_reset.patch index c0b21cab9..233b4840f 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0003-ARM64-dts-meson-gxbb-odroidc2-take-USB-hub-out-of-re.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/002_linux-4.14.y-le-amlogic-gx-0003-arm64-dts-meson-gxbb-odroidc2-take_usb_hub_out_of_reset.patch @@ -1,8 +1,7 @@ -From 564bc89139a6bf0833cef64993dfe3fe2784c6a8 Mon Sep 17 00:00:00 2001 +From 53d19221222d8fe49aae75721a9547c7d104e9ed Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Thu, 12 Jan 2017 01:39:20 +0100 -Subject: [PATCH 03/39] ARM64: dts: meson-gxbb-odroidc2: take USB hub out of - reset +Subject: [PATCH] ARM64: dts: meson-gxbb-odroidc2: take USB hub out of reset This takes the USB hub out of reset, otherwise the hub is not working. @@ -14,10 +13,10 @@ Signed-off-by: Neil Armstrong 1 file changed, 7 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index 08b7bb7..c3a7b7f 100644 +index 1ffa1c238a725..b035c728a4821 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -@@ -310,4 +310,11 @@ +@@ -309,4 +309,11 @@ &usb1 { status = "okay"; @@ -29,6 +28,3 @@ index 08b7bb7..c3a7b7f 100644 + reset-duration-us = <3000>; + }; }; --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/003_linux-4.14.y-le-amlogic-gx-0004-phy-meson-add_usb3_phy_support_for_meson_gxl.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/003_linux-4.14.y-le-amlogic-gx-0004-phy-meson-add_usb3_phy_support_for_meson_gxl.patch new file mode 100644 index 000000000..5cbaa9478 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/003_linux-4.14.y-le-amlogic-gx-0004-phy-meson-add_usb3_phy_support_for_meson_gxl.patch @@ -0,0 +1,257 @@ +From 1b68976e2e05b3e10e4f3070ef5b9e08640ad7a0 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Sat, 26 Nov 2016 15:56:32 +0100 +Subject: [PATCH] phy: meson: add USB3 PHY support for Meson GXL + +This adds USB3 PHY driver found on Meson GXL and GXM SoCs. + +Unfortunately there are no datasheets available for any of these PHYs. +Both drivers were written by reading the reference drivers provided by +Amlogic and analyzing the registers on the kernel that was shipped with +my board. + +Signed-off-by: Martin Blumenstingl +Signed-off-by: Neil Armstrong +--- + drivers/phy/amlogic/Kconfig | 13 ++ + drivers/phy/amlogic/Makefile | 1 + + drivers/phy/amlogic/phy-meson-gxl-usb3.c | 198 +++++++++++++++++++++++++++++++ + 3 files changed, 212 insertions(+) + create mode 100644 drivers/phy/amlogic/phy-meson-gxl-usb3.c + +diff --git a/drivers/phy/amlogic/Kconfig b/drivers/phy/amlogic/Kconfig +index cb8f4501652b1..5d11a3e698d4a 100644 +--- a/drivers/phy/amlogic/Kconfig ++++ b/drivers/phy/amlogic/Kconfig +@@ -13,6 +13,19 @@ config PHY_MESON8B_USB2 + Meson8b and GXBB SoCs. + If unsure, say N. + ++config PHY_MESON_GXL_USB3 ++ tristate "Meson GXL and GXM USB3 PHY drivers" ++ default ARCH_MESON ++ depends on OF && (ARCH_MESON || COMPILE_TEST) ++ depends on USB_SUPPORT ++ select USB_COMMON ++ select GENERIC_PHY ++ select REGMAP_MMIO ++ help ++ Enable this to support the Meson USB3 PHY found in Meson ++ GXL and GXM SoCs. ++ If unsure, say N. ++ + config PHY_MESON_GXL_USB2 + tristate "Meson GXL and GXM USB2 PHY drivers" + default ARCH_MESON +diff --git a/drivers/phy/amlogic/Makefile b/drivers/phy/amlogic/Makefile +index cfdc98715c30a..4fd8848c194d6 100644 +--- a/drivers/phy/amlogic/Makefile ++++ b/drivers/phy/amlogic/Makefile +@@ -1,2 +1,3 @@ + obj-$(CONFIG_PHY_MESON8B_USB2) += phy-meson8b-usb2.o + obj-$(CONFIG_PHY_MESON_GXL_USB2) += phy-meson-gxl-usb2.o ++obj-$(CONFIG_PHY_MESON_GXL_USB3) += phy-meson-gxl-usb3.o +diff --git a/drivers/phy/amlogic/phy-meson-gxl-usb3.c b/drivers/phy/amlogic/phy-meson-gxl-usb3.c +new file mode 100644 +index 0000000000000..9af5222fe754f +--- /dev/null ++++ b/drivers/phy/amlogic/phy-meson-gxl-usb3.c +@@ -0,0 +1,198 @@ ++/* ++ * Meson GXL USB3 PHY driver ++ * ++ * Copyright (C) 2016 Martin Blumenstingl ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see . ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define USB_R0 0x00 ++ #define USB_R0_P30_FSEL_SHIFT 0 ++ #define USB_R0_P30_FSEL_MASK GENMASK(5, 0) ++ #define USB_R0_P30_PHY_RESET BIT(6) ++ #define USB_R0_P30_TEST_POWERDOWN_HSP BIT(7) ++ #define USB_R0_P30_TEST_POWERDOWN_SSP BIT(8) ++ #define USB_R0_P30_ACJT_LEVEL_SHIFT 9 ++ #define USB_R0_P30_ACJT_LEVEL_MASK GENMASK(13, 9) ++ #define USB_R0_P30_TX_BOOST_LEVEL_SHIFT 14 ++ #define USB_R0_P30_TX_BOOST_LEVEL_MASK GENMASK(16, 14) ++ #define USB_R0_P30_LANE0_TX2RX_LOOPBACK BIT(17) ++ #define USB_R0_P30_LANE0_EXT_PCLK_REQ BIT(18) ++ #define USB_R0_P30_PCS_RX_LOS_MASK_VAL_SHIFT 19 ++ #define USB_R0_P30_PCS_RX_LOS_MASK_VAL_MASK GENMASK(28, 19) ++ #define USB_R0_U2D_SS_SCALEDOWN_MODE_SHIFT 29 ++ #define USB_R0_U2D_SS_SCALEDOWN_MODE_MASK GENMASK(30, 29) ++ #define USB_R0_U2D_ACT BIT(31) ++ ++#define USB_R1 0x04 ++ #define USB_R1_U3H_BIGENDIAN_GS BIT(0) ++ #define USB_R1_U3H_PME_ENABLE BIT(1) ++ #define USB_R1_U3H_HUB_PORT_OVERCURRENT_SHIFT 2 ++ #define USB_R1_U3H_HUB_PORT_OVERCURRENT_MASK GENMASK(6, 2) ++ #define USB_R1_U3H_HUB_PORT_PERM_ATTACH_SHIFT 7 ++ #define USB_R1_U3H_HUB_PORT_PERM_ATTACH_MASK GENMASK(11, 7) ++ #define USB_R1_U3H_HOST_U2_PORT_DISABLE_SHIFT 12 ++ #define USB_R1_U3H_HOST_U2_PORT_DISABLE_MASK GENMASK(15, 12) ++ #define USB_R1_U3H_HOST_U3_PORT_DISABLE BIT(16) ++ #define USB_R1_U3H_HOST_PORT_POWER_CONTROL_PRESENT BIT(17) ++ #define USB_R1_U3H_HOST_MSI_ENABLE BIT(18) ++ #define USB_R1_U3H_FLADJ_30MHZ_REG_SHIFT 19 ++ #define USB_R1_U3H_FLADJ_30MHZ_REG_MASK GENMASK(24, 19) ++ #define USB_R1_P30_PCS_TX_SWING_FULL_SHIFT 25 ++ #define USB_R1_P30_PCS_TX_SWING_FULL_MASK GENMASK(31, 25) ++ ++#define USB_R2 0x08 ++ #define USB_R2_P30_CR_DATA_IN_SHIFT 0 ++ #define USB_R2_P30_CR_DATA_IN_MASK GENMASK(15, 0) ++ #define USB_R2_P30_CR_READ BIT(16) ++ #define USB_R2_P30_CR_WRITE BIT(17) ++ #define USB_R2_P30_CR_CAP_ADDR BIT(18) ++ #define USB_R2_P30_CR_CAP_DATA BIT(19) ++ #define USB_R2_P30_PCS_TX_DEEMPH_3P5DB_SHIFT 20 ++ #define USB_R2_P30_PCS_TX_DEEMPH_3P5DB_MASK GENMASK(25, 20) ++ #define USB_R2_P30_PCS_TX_DEEMPH_6DB_SHIFT 26 ++ #define USB_R2_P30_PCS_TX_DEEMPH_6DB_MASK GENMASK(31, 26) ++ ++#define USB_R3 0x0c ++ #define USB_R3_P30_SSC_ENABLE BIT(0) ++ #define USB_R3_P30_SSC_RANGE_SHIFT 1 ++ #define USB_R3_P30_SSC_RANGE_MASK GENMASK(3, 1) ++ #define USB_R3_P30_SSC_REF_CLK_SEL_SHIFT 4 ++ #define USB_R3_P30_SSC_REF_CLK_SEL_MASK GENMASK(12, 4) ++ #define USB_R3_P30_REF_SSP_EN BIT(13) ++ #define USB_R3_P30_LOS_BIAS_SHIFT 16 ++ #define USB_R3_P30_LOS_BIAS_MASK GENMASK(18, 16) ++ #define USB_R3_P30_LOS_LEVEL_SHIFT 19 ++ #define USB_R3_P30_LOS_LEVEL_MASK GENMASK(23, 19) ++ #define USB_R3_P30_MPLL_MULTIPLIER_SHIFT 24 ++ #define USB_R3_P30_MPLL_MULTIPLIER_MASK GENMASK(30, 24) ++ ++#define USB_R4 0x10 ++ #define USB_R4_P21_PORT_RESET_0 BIT(0) ++ #define USB_R4_P21_SLEEP_M0 BIT(1) ++ #define USB_R4_MEM_PD_SHIFT 2 ++ #define USB_R4_MEM_PD_MASK GENMASK(3, 2) ++ #define USB_R4_P21_ONLY BIT(4) ++ ++#define USB_R5 0x14 ++ #define USB_R5_ID_DIG_SYNC BIT(0) ++ #define USB_R5_ID_DIG_REG BIT(1) ++ #define USB_R5_ID_DIG_CFG_SHIFT 2 ++ #define USB_R5_ID_DIG_CFG_MASK GENMASK(3, 2) ++ #define USB_R5_ID_DIG_EN_0 BIT(4) ++ #define USB_R5_ID_DIG_EN_1 BIT(5) ++ #define USB_R5_ID_DIG_CURR BIT(6) ++ #define USB_R5_ID_DIG_IRQ BIT(7) ++ #define USB_R5_ID_DIG_TH_SHIFT 8 ++ #define USB_R5_ID_DIG_TH_MASK GENMASK(15, 8) ++ #define USB_R5_ID_DIG_CNT_SHIFT 16 ++ #define USB_R5_ID_DIG_CNT_MASK GENMASK(23, 16) ++ ++/* read-only register */ ++#define USB_R6 0x18 ++ #define USB_R6_P30_CR_DATA_OUT_SHIFT 0 ++ #define USB_R6_P30_CR_DATA_OUT_MASK GENMASK(15, 0) ++ #define USB_R6_P30_CR_ACK BIT(16) ++ ++#define RESET_COMPLETE_TIME 500 ++ ++struct phy_meson_gxl_usb3_priv { ++ struct regmap *regmap; ++ struct phy *this_phy; ++}; ++ ++static const struct regmap_config phy_meson_gxl_usb3_regmap_conf = { ++ .reg_bits = 32, ++ .val_bits = 32, ++ .reg_stride = 4, ++ .max_register = USB_R6, ++}; ++ ++static int phy_meson_gxl_usb3_power_on(struct phy *phy) ++{ ++ struct phy_meson_gxl_usb3_priv *priv = phy_get_drvdata(phy); ++ ++ regmap_update_bits(priv->regmap, USB_R1, ++ USB_R1_U3H_FLADJ_30MHZ_REG_MASK, ++ 0x20 << USB_R1_U3H_FLADJ_30MHZ_REG_SHIFT); ++ ++ return 0; ++} ++ ++static const struct phy_ops phy_meson_gxl_usb3_ops = { ++ .power_on = phy_meson_gxl_usb3_power_on, ++ .owner = THIS_MODULE, ++}; ++ ++static int phy_meson_gxl_usb3_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct device_node *np = dev->of_node; ++ struct phy_meson_gxl_usb3_priv *priv; ++ struct resource *res; ++ struct phy *phy; ++ struct phy_provider *phy_provider; ++ void __iomem *base; ++ ++ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); ++ if (!priv) ++ return -ENOMEM; ++ ++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ base = devm_ioremap_resource(dev, res); ++ if (IS_ERR(base)) ++ return PTR_ERR(base); ++ ++ priv->regmap = devm_regmap_init_mmio(dev, base, ++ &phy_meson_gxl_usb3_regmap_conf); ++ if (IS_ERR(priv->regmap)) ++ return PTR_ERR(priv->regmap); ++ ++ phy = devm_phy_create(dev, np, &phy_meson_gxl_usb3_ops); ++ if (IS_ERR(phy)) { ++ dev_err(dev, "failed to create PHY\n"); ++ return PTR_ERR(phy); ++ } ++ ++ phy_set_drvdata(phy, priv); ++ ++ phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); ++ ++ return PTR_ERR_OR_ZERO(phy_provider); ++} ++ ++static const struct of_device_id phy_meson_gxl_usb3_of_match[] = { ++ { .compatible = "amlogic,meson-gxl-usb3-phy", }, ++ { }, ++}; ++MODULE_DEVICE_TABLE(of, phy_meson_gxl_usb3_of_match); ++ ++static struct platform_driver phy_meson_gxl_usb3_driver = { ++ .probe = phy_meson_gxl_usb3_probe, ++ .driver = { ++ .name = "phy-meson-gxl-usb3", ++ .of_match_table = phy_meson_gxl_usb3_of_match, ++ }, ++}; ++module_platform_driver(phy_meson_gxl_usb3_driver); ++ ++MODULE_AUTHOR("Martin Blumenstingl "); ++MODULE_DESCRIPTION("Meson GXL USB3 PHY driver"); ++MODULE_LICENSE("GPL"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/004_linux-4.14.y-le-amlogic-gx-0005-usb-host-add_a_generic_platform_usb_roothub_driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/004_linux-4.14.y-le-amlogic-gx-0005-usb-host-add_a_generic_platform_usb_roothub_driver.patch new file mode 100644 index 000000000..812471960 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/004_linux-4.14.y-le-amlogic-gx-0005-usb-host-add_a_generic_platform_usb_roothub_driver.patch @@ -0,0 +1,290 @@ +From 0e1b7fc3afdff8b63a2ed34ae6222cc02b043d62 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Tue, 10 Jan 2017 18:59:43 +0100 +Subject: [PATCH] usb: host: add a generic platform USB roothub driver + +Many SoC platforms have separate devices for the USB PHY which are +registered through the generic PHY framework. These PHYs have to be +enabled to make the USB controller actually work. They also have to be +disabled again on shutdown/suspend. + +Currently (at least) the following HCI platform drivers are using custom +code to obtain all PHYs via devicetree for the roothub/controller and +disable/enable them when required: +- ehci-platform.c has ehci_platform_power_{on,off} +- xhci-mtk.c has xhci_mtk_phy_{init,exit,power_on,power_off} +- ohci-platform.c has ohci_platform_power_{on,off} + +These drivers are not using the generic devicetree USB device bindings +yet which were only introduced recently (documentation is available in +devicetree/bindings/usb/usb-device.txt). +With this new driver the usb2-phy and usb3-phy can be specified directly +in the child-node of the corresponding port of the roothub via +devicetree. This can be extended by not just parsing PHYs (some of the +other drivers listed above are for example also parsing a list of clocks +as well) when required. + +Signed-off-by: Martin Blumenstingl +Signed-off-by: Neil Armstrong +--- + .../devicetree/bindings/usb/usb-roothub.txt | 46 +++++++ + drivers/usb/host/Kconfig | 3 + + drivers/usb/host/Makefile | 2 + + drivers/usb/host/platform-roothub.c | 146 +++++++++++++++++++++ + drivers/usb/host/platform-roothub.h | 14 ++ + 5 files changed, 211 insertions(+) + create mode 100644 Documentation/devicetree/bindings/usb/usb-roothub.txt + create mode 100644 drivers/usb/host/platform-roothub.c + create mode 100644 drivers/usb/host/platform-roothub.h + +diff --git a/Documentation/devicetree/bindings/usb/usb-roothub.txt b/Documentation/devicetree/bindings/usb/usb-roothub.txt +new file mode 100644 +index 0000000000000..23b24b68d74df +--- /dev/null ++++ b/Documentation/devicetree/bindings/usb/usb-roothub.txt +@@ -0,0 +1,46 @@ ++Generic USB root-hub Properties ++ ++similar to the USB device bindings (documented in usb-device.txt from the ++current directory) this provides support for configuring the root-hub. ++ ++Required properties: ++- compatible: should be at least one of "usb1d6b,3", "usb1d6b,2" ++- reg: must be 0. ++- address-cells: must be 1 ++- size-cells: must be 0 ++ ++Required sub-nodes: ++a sub-node per actual USB port is required. each sub-node supports the ++following properties: ++ Required properties: ++ - reg: the port number on the root-hub (mandatory) ++ Optional properties: ++ - phys: optional, from the *Generic PHY* bindings (mandatory needed ++ when phy-names is given) ++ - phy-names: optional, from the *Generic PHY* bindings; supported names ++ are "usb2-phy" or "usb3-phy" ++ ++Example: ++ &usb1 { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ roothub@0 { ++ compatible = "usb1d6b,3", "usb1d6b,2"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ reg = <0>; ++ ++ port@1 { ++ reg = <1>; ++ usb-phy = <&usb2_phy1>, <&usb3_phy1>; ++ phy-names = "usb2-phy", "usb3-phy"; ++ }; ++ ++ port@2 { ++ reg = <2>; ++ usb-phy = <&usb2_phy2>, <&usb3_phy2>; ++ phy-names = "usb2-phy", "usb3-phy"; ++ }; ++ }; ++ } +diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig +index fa5692dec8320..b8b05c786b2a2 100644 +--- a/drivers/usb/host/Kconfig ++++ b/drivers/usb/host/Kconfig +@@ -805,6 +805,9 @@ config USB_HCD_SSB + + If unsure, say N. + ++config USB_PLATFORM_ROOTHUB ++ bool ++ + config USB_HCD_TEST_MODE + bool "HCD test mode support" + ---help--- +diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile +index 4ab2689c8952b..873ebd9250d3b 100644 +--- a/drivers/usb/host/Makefile ++++ b/drivers/usb/host/Makefile +@@ -30,6 +30,8 @@ obj-$(CONFIG_USB_WHCI_HCD) += whci/ + + obj-$(CONFIG_USB_PCI) += pci-quirks.o + ++obj-$(CONFIG_USB_PLATFORM_ROOTHUB) += platform-roothub.o ++ + obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o + obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o + obj-$(CONFIG_USB_EHCI_HCD_PLATFORM) += ehci-platform.o +diff --git a/drivers/usb/host/platform-roothub.c b/drivers/usb/host/platform-roothub.c +new file mode 100644 +index 0000000000000..84837e42b0063 +--- /dev/null ++++ b/drivers/usb/host/platform-roothub.c +@@ -0,0 +1,146 @@ ++/* ++ * platform roothub driver - a virtual PHY device which passes all phy_* ++ * function calls to multiple (actual) PHY devices. This is comes handy when ++ * initializing all PHYs on a root-hub (to keep them all in the same state). ++ * ++ * Copyright (C) 2017 Martin Blumenstingl ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see . ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include "platform-roothub.h" ++ ++#define ROOTHUB_PORTNUM 0 ++ ++struct platform_roothub { ++ struct phy *phy; ++ struct list_head list; ++}; ++ ++static struct platform_roothub *platform_roothub_alloc(struct device *dev) ++{ ++ struct platform_roothub *roothub_entry; ++ ++ roothub_entry = devm_kzalloc(dev, sizeof(*roothub_entry), GFP_KERNEL); ++ if (!roothub_entry) ++ return ERR_PTR(-ENOMEM); ++ ++ INIT_LIST_HEAD(&roothub_entry->list); ++ ++ return roothub_entry; ++} ++ ++static int platform_roothub_add_phy(struct device *dev, ++ struct device_node *port_np, ++ const char *con_id, struct list_head *list) ++{ ++ struct platform_roothub *roothub_entry; ++ struct phy *phy = devm_of_phy_get(dev, port_np, con_id); ++ ++ if (IS_ERR_OR_NULL(phy)) { ++ if (!phy || PTR_ERR(phy) == -ENODEV) ++ return 0; ++ else ++ return PTR_ERR(phy); ++ } ++ ++ roothub_entry = platform_roothub_alloc(dev); ++ if (IS_ERR(roothub_entry)) ++ return PTR_ERR(roothub_entry); ++ ++ roothub_entry->phy = phy; ++ ++ list_add_tail(&roothub_entry->list, list); ++ ++ return 0; ++} ++ ++struct platform_roothub *platform_roothub_init(struct device *dev) ++{ ++ struct device_node *roothub_np, *port_np; ++ struct platform_roothub *plat_roothub; ++ int err; ++ ++ roothub_np = usb_of_get_child_node(dev->of_node, ROOTHUB_PORTNUM); ++ if (!of_device_is_available(roothub_np)) ++ return NULL; ++ ++ plat_roothub = platform_roothub_alloc(dev); ++ if (IS_ERR(plat_roothub)) ++ return plat_roothub; ++ ++ for_each_available_child_of_node(roothub_np, port_np) { ++ err = platform_roothub_add_phy(dev, port_np, "usb2-phy", ++ &plat_roothub->list); ++ if (err) ++ return ERR_PTR(err); ++ ++ err = platform_roothub_add_phy(dev, port_np, "usb3-phy", ++ &plat_roothub->list); ++ if (err) ++ return ERR_PTR(err); ++ } ++ ++ return plat_roothub; ++} ++EXPORT_SYMBOL_GPL(platform_roothub_init); ++ ++int platform_roothub_power_on(struct platform_roothub *plat_roothub) ++{ ++ struct platform_roothub *roothub_entry; ++ struct list_head *head; ++ int err; ++ ++ if (!plat_roothub) ++ return 0; ++ ++ head = &plat_roothub->list; ++ ++ list_for_each_entry(roothub_entry, head, list) { ++ err = phy_init(roothub_entry->phy); ++ if (err) ++ goto err_out; ++ ++ err = phy_power_on(roothub_entry->phy); ++ if (err) { ++ phy_exit(roothub_entry->phy); ++ goto err_out; ++ } ++ } ++ ++ return 0; ++ ++err_out: ++ list_for_each_entry_continue_reverse(roothub_entry, head, list) { ++ phy_power_off(roothub_entry->phy); ++ phy_exit(roothub_entry->phy); ++ } ++ ++ return err; ++} ++EXPORT_SYMBOL_GPL(platform_roothub_power_on); ++ ++void platform_roothub_power_off(struct platform_roothub *plat_roothub) ++{ ++ struct platform_roothub *roothub_entry; ++ ++ if (!plat_roothub) ++ return; ++ ++ list_for_each_entry_reverse(roothub_entry, &plat_roothub->list, list) { ++ phy_power_off(roothub_entry->phy); ++ phy_exit(roothub_entry->phy); ++ } ++} ++EXPORT_SYMBOL_GPL(platform_roothub_power_off); +diff --git a/drivers/usb/host/platform-roothub.h b/drivers/usb/host/platform-roothub.h +new file mode 100644 +index 0000000000000..bde0bf299e3b5 +--- /dev/null ++++ b/drivers/usb/host/platform-roothub.h +@@ -0,0 +1,14 @@ ++#ifndef USB_HOST_PLATFORM_ROOTHUB_H ++#define USB_HOST_PLATFORM_ROOTHUB_H ++ ++struct phy; ++struct device_node; ++ ++struct platform_roothub; ++ ++struct platform_roothub *platform_roothub_init(struct device *dev); ++ ++int platform_roothub_power_on(struct platform_roothub *plat_roothub); ++void platform_roothub_power_off(struct platform_roothub *plat_roothub); ++ ++#endif /* USB_HOST_PLATFORM_ROOTHUB_H */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0014-clk-meson-gxbb-Add-VPU-and-VAPB-clockids.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/005_linux-4.14.y-le-amlogic-gx-0014-clk-meson-gxbb-add_vpu_and_vapb_clockids.patch similarity index 88% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0014-clk-meson-gxbb-Add-VPU-and-VAPB-clockids.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/005_linux-4.14.y-le-amlogic-gx-0014-clk-meson-gxbb-add_vpu_and_vapb_clockids.patch index 9d7354901..29648b755 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0014-clk-meson-gxbb-Add-VPU-and-VAPB-clockids.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/005_linux-4.14.y-le-amlogic-gx-0014-clk-meson-gxbb-add_vpu_and_vapb_clockids.patch @@ -1,7 +1,7 @@ -From 9bc414d9e18f8c9d39be44165b4926e2b2cdc1d9 Mon Sep 17 00:00:00 2001 +From 7a03fa7ed4d552f8e1397a18d9f0046f9c8a8076 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Mon, 16 Oct 2017 17:29:33 +0200 -Subject: [PATCH 14/39] clk: meson: gxbb: Add VPU and VAPB clockids +Subject: [PATCH] clk: meson: gxbb: Add VPU and VAPB clockids Add the clkids for the clocks feeding the Video Processing Unit. @@ -12,7 +12,7 @@ Signed-off-by: Neil Armstrong 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/clk/meson/gxbb.h b/drivers/clk/meson/gxbb.h -index 5b1d4b3..aee6fbb 100644 +index 5b1d4b374d1c2..aee6fbba20043 100644 --- a/drivers/clk/meson/gxbb.h +++ b/drivers/clk/meson/gxbb.h @@ -190,8 +190,12 @@ @@ -30,7 +30,7 @@ index 5b1d4b3..aee6fbb 100644 /* include the CLKIDs that have been made part of the DT binding */ #include diff --git a/include/dt-bindings/clock/gxbb-clkc.h b/include/dt-bindings/clock/gxbb-clkc.h -index 8c92528..8ba99a5 100644 +index 8c92528aa48ad..8ba99a5e3fd34 100644 --- a/include/dt-bindings/clock/gxbb-clkc.h +++ b/include/dt-bindings/clock/gxbb-clkc.h @@ -114,5 +114,16 @@ @@ -50,6 +50,3 @@ index 8c92528..8ba99a5 100644 +#define CLKID_VAPB 140 #endif /* __GXBB_CLKC_H */ --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0015-clk-meson-gxbb-Add-VPU-and-VAPB-clocks-data.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/006_linux-4.14.y-le-amlogic-gx-0015-clk-meson-gxbb-add_vpu_and_vapb_clocks_data.patch similarity index 98% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0015-clk-meson-gxbb-Add-VPU-and-VAPB-clocks-data.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/006_linux-4.14.y-le-amlogic-gx-0015-clk-meson-gxbb-add_vpu_and_vapb_clocks_data.patch index 778c6ab64..1154fee31 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0015-clk-meson-gxbb-Add-VPU-and-VAPB-clocks-data.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/006_linux-4.14.y-le-amlogic-gx-0015-clk-meson-gxbb-add_vpu_and_vapb_clocks_data.patch @@ -1,7 +1,7 @@ -From a3b8b7bfd775fa521425c72856b4394fb6fec518 Mon Sep 17 00:00:00 2001 +From 89e3cdb01f2bf01810474984fd2c676a88973ac5 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 13 Oct 2017 14:38:37 +0200 -Subject: [PATCH 15/39] clk: meson: gxbb: Add VPU and VAPB clocks data +Subject: [PATCH] clk: meson: gxbb: Add VPU and VAPB clocks data The Amlogic Meson GX SoCs needs these two clocks to power up the VPU power domain. @@ -15,7 +15,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 292 insertions(+) diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c -index 92168348..86cb5af 100644 +index b2d1e8ed7152b..a71374464c92d 100644 --- a/drivers/clk/meson/gxbb.c +++ b/drivers/clk/meson/gxbb.c @@ -1131,6 +1131,253 @@ static struct clk_gate gxbb_sd_emmc_c_clk0 = { @@ -352,6 +352,3 @@ index 92168348..86cb5af 100644 }; static struct meson_clk_audio_divider *const gxbb_audio_dividers[] = { --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0018-reset-meson-add-level-reset-support-for-GX-SoC-famil.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/007_linux-4.14.y-le-amlogic-gx-0018-reset-meson-add_level_reset_support_for_gx_soc_family.patch similarity index 95% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0018-reset-meson-add-level-reset-support-for-GX-SoC-famil.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/007_linux-4.14.y-le-amlogic-gx-0018-reset-meson-add_level_reset_support_for_gx_soc_family.patch index 3ad7ba4fa..84ef1fb45 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0018-reset-meson-add-level-reset-support-for-GX-SoC-famil.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/007_linux-4.14.y-le-amlogic-gx-0018-reset-meson-add_level_reset_support_for_gx_soc_family.patch @@ -1,7 +1,7 @@ -From 0689a4eaecae2831fe2cb614e102bb4ef43484a4 Mon Sep 17 00:00:00 2001 +From 434a32bab28ccf277229338b33849b24ace9cc35 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 13 Oct 2017 14:05:01 +0200 -Subject: [PATCH 18/39] reset: meson: add level reset support for GX SoC family +Subject: [PATCH] reset: meson: add level reset support for GX SoC family The Amlogic GX SoC family embeds alternate registers to drive the reset levels next to the pulse registers. @@ -16,7 +16,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/drivers/reset/reset-meson.c b/drivers/reset/reset-meson.c -index a8b915e..f3b9d69 100644 +index a8b915eb8b581..f3b9d6989267e 100644 --- a/drivers/reset/reset-meson.c +++ b/drivers/reset/reset-meson.c @@ -62,13 +62,16 @@ @@ -127,6 +127,3 @@ index a8b915e..f3b9d69 100644 data->rcdev.of_node = pdev->dev.of_node; return devm_reset_controller_register(&pdev->dev, &data->rcdev); --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0019-soc-amlogic-add-Meson-GX-VPU-Domains-driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/008_linux-4.14.y-le-amlogic-gx-0019-soc-amlogic-add_meson_gx_vpu_domains_driver.patch similarity index 96% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0019-soc-amlogic-add-Meson-GX-VPU-Domains-driver.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/008_linux-4.14.y-le-amlogic-gx-0019-soc-amlogic-add_meson_gx_vpu_domains_driver.patch index 99b3bea09..b0d638834 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0019-soc-amlogic-add-Meson-GX-VPU-Domains-driver.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/008_linux-4.14.y-le-amlogic-gx-0019-soc-amlogic-add_meson_gx_vpu_domains_driver.patch @@ -1,7 +1,7 @@ -From 58d5e73046ca5c28eb835c1a98f936193de5d4d0 Mon Sep 17 00:00:00 2001 +From 375dd688f29cc0e8da629b3896c86c7e263030ae Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 13 Oct 2017 17:05:00 +0200 -Subject: [PATCH 19/39] soc: amlogic: add Meson GX VPU Domains driver +Subject: [PATCH] soc: amlogic: add Meson GX VPU Domains driver The Video Processing Unit needs a specific Power Domain powering scheme this driver handles this as a PM Power Domain driver. @@ -15,7 +15,7 @@ Signed-off-by: Neil Armstrong create mode 100644 drivers/soc/amlogic/meson-gx-pwrc-vpu.c diff --git a/drivers/soc/amlogic/Kconfig b/drivers/soc/amlogic/Kconfig -index 22acf06..c2c0513 100644 +index 22acf064531ff..c2c0513b18ff5 100644 --- a/drivers/soc/amlogic/Kconfig +++ b/drivers/soc/amlogic/Kconfig @@ -8,5 +8,15 @@ config MESON_GX_SOCINFO @@ -35,7 +35,7 @@ index 22acf06..c2c0513 100644 endmenu diff --git a/drivers/soc/amlogic/Makefile b/drivers/soc/amlogic/Makefile -index 3e85fc4..3174e93 100644 +index 3e85fc462c213..3174e93e72e9c 100644 --- a/drivers/soc/amlogic/Makefile +++ b/drivers/soc/amlogic/Makefile @@ -1 +1,2 @@ @@ -43,7 +43,7 @@ index 3e85fc4..3174e93 100644 +obj-$(CONFIG_MESON_GX_PM_DOMAINS) += meson-gx-pwrc-vpu.o diff --git a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c new file mode 100644 -index 0000000..bf5190b +index 0000000000000..bf5190b65ad9b --- /dev/null +++ b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c @@ -0,0 +1,234 @@ @@ -281,6 +281,3 @@ index 0000000..bf5190b + }, +}; +builtin_platform_driver(meson_gx_pwrc_vpu_driver); --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0020-soc-amlogic-meson-gx-pwrc-vpu-fix-power-off-when-pow.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/009_linux-4.14.y-le-amlogic-gx-0020-soc-amlogic-meson-gx-pwrc-vpu-fix_power-off_when_powered.patch similarity index 94% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0020-soc-amlogic-meson-gx-pwrc-vpu-fix-power-off-when-pow.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/009_linux-4.14.y-le-amlogic-gx-0020-soc-amlogic-meson-gx-pwrc-vpu-fix_power-off_when_powered.patch index aa13051f8..ac73f19b5 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0020-soc-amlogic-meson-gx-pwrc-vpu-fix-power-off-when-pow.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/009_linux-4.14.y-le-amlogic-gx-0020-soc-amlogic-meson-gx-pwrc-vpu-fix_power-off_when_powered.patch @@ -1,8 +1,8 @@ -From a2ae223bac1ad40a5bd7ee124b3af735ff445eb9 Mon Sep 17 00:00:00 2001 +From 6747193c223e945901f42d7e7bc1d3ddea663585 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 3 Nov 2017 16:43:24 +0100 -Subject: [PATCH 20/39] soc: amlogic: meson-gx-pwrc-vpu: fix power-off when - powered by bootloader +Subject: [PATCH] soc: amlogic: meson-gx-pwrc-vpu: fix power-off when powered + by bootloader In the case the VPU power domain has been powered on by the bootloader and no driver are attached to this power domain, the genpd will power it @@ -19,7 +19,7 @@ Tested-by: Kevin Hilman 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c -index bf5190b..2bdeebc 100644 +index bf5190b65ad9b..2bdeebc48901d 100644 --- a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c +++ b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c @@ -34,7 +34,6 @@ struct meson_gx_pwrc_vpu { @@ -100,6 +100,3 @@ index bf5190b..2bdeebc 100644 } static const struct of_device_id meson_gx_pwrc_vpu_match_table[] = { --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/010_linux-4.14.y-le-amlogic-gx-0037-net-phy-meson-gxl-detect_lpa_corruption.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/010_linux-4.14.y-le-amlogic-gx-0037-net-phy-meson-gxl-detect_lpa_corruption.patch new file mode 100644 index 000000000..f98fdef58 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/010_linux-4.14.y-le-amlogic-gx-0037-net-phy-meson-gxl-detect_lpa_corruption.patch @@ -0,0 +1,128 @@ +From b940b2533f1bb3718ed50f4dc9091f8494e6f37a Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Fri, 8 Dec 2017 12:08:11 +0100 +Subject: [PATCH] net: phy: meson-gxl: detect LPA corruption + +The purpose of this change is to fix the incorrect detection of the link +partner (LP) advertised capabilities which sometimes happens with this PHY +(roughly 1 time in a dozen) + +This issue may cause the link to be negotiated at 10Mbps/Full or +10Mbps/Half when 100MBps/Full is actually possible. In some case, the link +is even completely broken and no communication is possible. + +To detect the corruption, we must look for a magic undocumented bit in the +WOL bank (hint given by the SoC vendor kernel) but this is not enough to +cover all cases. We also have to look at the LPA ack. If the LP supports +Aneg but did not ack our base code when aneg is completed, we assume +something went wrong. + +The detection of a corrupted LPA triggers a restart of the aneg process. +This solves the problem but may take up to 6 retries to complete. + +Fixes: 7334b3e47aee ("net: phy: Add Meson GXL Internal PHY driver") +Signed-off-by: Jerome Brunet +Signed-off-by: David S. Miller +--- + drivers/net/phy/meson-gxl.c | 74 ++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 73 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/phy/meson-gxl.c b/drivers/net/phy/meson-gxl.c +index 1ea69b7585d9b..700007dd4be56 100644 +--- a/drivers/net/phy/meson-gxl.c ++++ b/drivers/net/phy/meson-gxl.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + static int meson_gxl_config_init(struct phy_device *phydev) + { +@@ -50,6 +51,77 @@ static int meson_gxl_config_init(struct phy_device *phydev) + return 0; + } + ++/* This function is provided to cope with the possible failures of this phy ++ * during aneg process. When aneg fails, the PHY reports that aneg is done ++ * but the value found in MII_LPA is wrong: ++ * - Early failures: MII_LPA is just 0x0001. if MII_EXPANSION reports that ++ * the link partner (LP) supports aneg but the LP never acked our base ++ * code word, it is likely that we never sent it to begin with. ++ * - Late failures: MII_LPA is filled with a value which seems to make sense ++ * but it actually is not what the LP is advertising. It seems that we ++ * can detect this using a magic bit in the WOL bank (reg 12 - bit 12). ++ * If this particular bit is not set when aneg is reported being done, ++ * it means MII_LPA is likely to be wrong. ++ * ++ * In both case, forcing a restart of the aneg process solve the problem. ++ * When this failure happens, the first retry is usually successful but, ++ * in some cases, it may take up to 6 retries to get a decent result ++ */ ++int meson_gxl_read_status(struct phy_device *phydev) ++{ ++ int ret, wol, lpa, exp; ++ ++ if (phydev->autoneg == AUTONEG_ENABLE) { ++ ret = genphy_aneg_done(phydev); ++ if (ret < 0) ++ return ret; ++ else if (!ret) ++ goto read_status_continue; ++ ++ /* Need to access WOL bank, make sure the access is open */ ++ ret = phy_write(phydev, 0x14, 0x0000); ++ if (ret) ++ return ret; ++ ret = phy_write(phydev, 0x14, 0x0400); ++ if (ret) ++ return ret; ++ ret = phy_write(phydev, 0x14, 0x0000); ++ if (ret) ++ return ret; ++ ret = phy_write(phydev, 0x14, 0x0400); ++ if (ret) ++ return ret; ++ ++ /* Request LPI_STATUS WOL register */ ++ ret = phy_write(phydev, 0x14, 0x8D80); ++ if (ret) ++ return ret; ++ ++ /* Read LPI_STATUS value */ ++ wol = phy_read(phydev, 0x15); ++ if (wol < 0) ++ return wol; ++ ++ lpa = phy_read(phydev, MII_LPA); ++ if (lpa < 0) ++ return lpa; ++ ++ exp = phy_read(phydev, MII_EXPANSION); ++ if (exp < 0) ++ return exp; ++ ++ if (!(wol & BIT(12)) || ++ ((exp & EXPANSION_NWAY) && !(lpa & LPA_LPACK))) { ++ /* Looks like aneg failed after all */ ++ phydev_dbg(phydev, "LPA corruption - aneg restart\n"); ++ return genphy_restart_aneg(phydev); ++ } ++ } ++ ++read_status_continue: ++ return genphy_read_status(phydev); ++} ++ + static struct phy_driver meson_gxl_phy[] = { + { + .phy_id = 0x01814400, +@@ -60,7 +132,7 @@ static struct phy_driver meson_gxl_phy[] = { + .config_init = meson_gxl_config_init, + .config_aneg = genphy_config_aneg, + .aneg_done = genphy_aneg_done, +- .read_status = genphy_read_status, ++ .read_status = meson_gxl_read_status, + .suspend = genphy_suspend, + .resume = genphy_resume, + }, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/011_linux-4.14.y-le-amlogic-gx-0038-net-stmmac-enable_eee_in_mii,_gmii_or_rgmii_only.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/011_linux-4.14.y-le-amlogic-gx-0038-net-stmmac-enable_eee_in_mii,_gmii_or_rgmii_only.patch new file mode 100644 index 000000000..d68652014 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/011_linux-4.14.y-le-amlogic-gx-0038-net-stmmac-enable_eee_in_mii,_gmii_or_rgmii_only.patch @@ -0,0 +1,42 @@ +From 0b4f75b1bbf8c1bd22cf62b5100f930e75b9229e Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Wed, 3 Jan 2018 16:46:29 +0100 +Subject: [PATCH] net: stmmac: enable EEE in MII, GMII or RGMII only + +Note in the databook - Section 4.4 - EEE : +" The EEE feature is not supported when the MAC is configured to use the +TBI, RTBI, SMII, RMII or SGMII single PHY interface. Even if the MAC +supports multiple PHY interfaces, you should activate the EEE mode only +when the MAC is operating with GMII, MII, or RGMII interface." + +Applying this restriction solves a stability issue observed on Amlogic +gxl platforms operating with RMII interface and the internal PHY. + +Fixes: 83bf79b6bb64 ("stmmac: disable at run-time the EEE if not supported") +Signed-off-by: Jerome Brunet +Tested-by: Arnaud Patard +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +index 16bd509290844..294a19f0fc1be 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -364,9 +364,15 @@ static void stmmac_eee_ctrl_timer(unsigned long arg) + bool stmmac_eee_init(struct stmmac_priv *priv) + { + struct net_device *ndev = priv->dev; ++ int interface = priv->plat->interface; + unsigned long flags; + bool ret = false; + ++ if ((interface != PHY_INTERFACE_MODE_MII) && ++ (interface != PHY_INTERFACE_MODE_GMII) && ++ !phy_interface_mode_is_rgmii(interface)) ++ goto out; ++ + /* Using PCS we cannot dial with the phy registers at this stage + * so we do not support extra feature like EEE. + */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/020_linux-4.16.y-le-amlogic-gx-0037-media-rc-meson-ir-add_timeout_on_idle.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/020_linux-4.16.y-le-amlogic-gx-0037-media-rc-meson-ir-add_timeout_on_idle.patch new file mode 100644 index 000000000..e70ded913 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/020_linux-4.16.y-le-amlogic-gx-0037-media-rc-meson-ir-add_timeout_on_idle.patch @@ -0,0 +1,82 @@ +From 20705cd911573220254947a6338b0804d1382720 Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Tue, 23 Jan 2018 09:40:02 +0100 +Subject: [PATCH] media: rc: meson-ir: add timeout on idle + +Meson hardware doesn't generate timeout events, so install a +software timer to prevent "ghost keypresses". + +Signed-off-by: Matthias Reichl +--- + drivers/media/rc/meson-ir.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/drivers/media/rc/meson-ir.c b/drivers/media/rc/meson-ir.c +index f2204eb77e2ab..f34c5836412be 100644 +--- a/drivers/media/rc/meson-ir.c ++++ b/drivers/media/rc/meson-ir.c +@@ -69,6 +69,7 @@ struct meson_ir { + void __iomem *reg; + struct rc_dev *rc; + spinlock_t lock; ++ struct timer_list timeout_timer; + }; + + static void meson_ir_set_mask(struct meson_ir *ir, unsigned int reg, +@@ -98,6 +99,10 @@ static irqreturn_t meson_ir_irq(int irqno, void *dev_id) + rawir.pulse = !!(status & STATUS_IR_DEC_IN); + + ir_raw_event_store(ir->rc, &rawir); ++ ++ mod_timer(&ir->timeout_timer, ++ jiffies + nsecs_to_jiffies(ir->rc->timeout)); ++ + ir_raw_event_handle(ir->rc); + + spin_unlock(&ir->lock); +@@ -105,6 +110,17 @@ static irqreturn_t meson_ir_irq(int irqno, void *dev_id) + return IRQ_HANDLED; + } + ++static void meson_ir_timeout_timer(struct timer_list *t) ++{ ++ struct meson_ir *ir = from_timer(ir, t, timeout_timer); ++ DEFINE_IR_RAW_EVENT(rawir); ++ ++ rawir.timeout = true; ++ rawir.duration = ir->rc->timeout; ++ ir_raw_event_store(ir->rc, &rawir); ++ ir_raw_event_handle(ir->rc); ++} ++ + static int meson_ir_probe(struct platform_device *pdev) + { + struct device *dev = &pdev->dev; +@@ -145,7 +161,9 @@ static int meson_ir_probe(struct platform_device *pdev) + ir->rc->map_name = map_name ? map_name : RC_MAP_EMPTY; + ir->rc->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER; + ir->rc->rx_resolution = US_TO_NS(MESON_TRATE); ++ ir->rc->min_timeout = 1; + ir->rc->timeout = MS_TO_NS(200); ++ ir->rc->max_timeout = 10 * IR_DEFAULT_TIMEOUT; + ir->rc->driver_name = DRIVER_NAME; + + spin_lock_init(&ir->lock); +@@ -157,6 +175,8 @@ static int meson_ir_probe(struct platform_device *pdev) + return ret; + } + ++ timer_setup(&ir->timeout_timer, meson_ir_timeout_timer, 0); ++ + ret = devm_request_irq(dev, irq, meson_ir_irq, 0, NULL, ir); + if (ret) { + dev_err(dev, "failed to request irq\n"); +@@ -198,6 +218,8 @@ static int meson_ir_remove(struct platform_device *pdev) + meson_ir_set_mask(ir, IR_DEC_REG1, REG1_ENABLE, 0); + spin_unlock_irqrestore(&ir->lock, flags); + ++ del_timer_sync(&ir->timeout_timer); ++ + return 0; + } + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/021_linux-4.16-le-amlogic-gx-1001-usb-enable-otg-as-host.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/021_linux-4.16-le-amlogic-gx-1001-usb-enable-otg-as-host.patch new file mode 100644 index 000000000..8f9c1cd27 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/021_linux-4.16-le-amlogic-gx-1001-usb-enable-otg-as-host.patch @@ -0,0 +1,51 @@ + +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-04-28 19:24:56.090524456 +0200 ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-04-29 23:09:48.559371108 +0200 +@@ -409,6 +409,7 @@ + &usb0_phy { + status = "okay"; + phy-supply = <&usb_otg_pwr>; ++ dr_mode = "otg"; + }; + + &usb1_phy { +@@ -418,6 +419,7 @@ + + &usb0 { + status = "okay"; ++ dr_mode = "host"; + }; + + &usb1 { + +--- a/drivers/phy/amlogic/phy-meson8b-usb2.c 2018-04-28 19:22:57.420144229 +0200 ++++ b/drivers/phy/amlogic/phy-meson8b-usb2.c 2018-04-29 23:13:57.136515043 +0200 +@@ -113,6 +113,7 @@ + struct phy_meson8b_usb2_priv { + void __iomem *regs; + enum usb_dr_mode dr_mode; ++ enum usb_dr_mode phy_mode; + struct clk *clk_usb_general; + struct clk *clk_usb; + struct reset_control *reset; +@@ -181,7 +182,7 @@ + phy_meson8b_usb2_mask_bits(priv, REG_CTRL, REG_CTRL_SOF_TOGGLE_OUT, + REG_CTRL_SOF_TOGGLE_OUT); + +- if (priv->dr_mode == USB_DR_MODE_HOST) { ++ if (priv->phy_mode == USB_DR_MODE_HOST) { + phy_meson8b_usb2_mask_bits(priv, REG_ADP_BC, + REG_ADP_BC_ACA_ENABLE, + REG_ADP_BC_ACA_ENABLE); +@@ -251,6 +252,11 @@ + return -EINVAL; + } + ++ priv->phy_mode = usb_get_dr_mode(&pdev->dev); ++ if (priv->phy_mode == USB_DR_MODE_UNKNOWN) { ++ priv->phy_mode = priv->dr_mode; ++ } ++ + phy = devm_phy_create(&pdev->dev, NULL, &phy_meson8b_usb2_ops); + if (IS_ERR(phy)) { + dev_err(&pdev->dev, "failed to create PHY\n"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/022_linux-4.14.y-le-amlogic-gx-scpi-1004-mailbox-revert_switch_to_hrtimer_for_tx_complete_polling.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/022_linux-4.14.y-le-amlogic-gx-scpi-1004-mailbox-revert_switch_to_hrtimer_for_tx_complete_polling.patch new file mode 100644 index 000000000..2dd8b1c9c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/022_linux-4.14.y-le-amlogic-gx-scpi-1004-mailbox-revert_switch_to_hrtimer_for_tx_complete_polling.patch @@ -0,0 +1,103 @@ +diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c +index 674b35f40..3497cabda 100644 +--- a/drivers/mailbox/mailbox.c ++++ b/drivers/mailbox/mailbox.c +@@ -26,6 +26,8 @@ + static LIST_HEAD(mbox_cons); + static DEFINE_MUTEX(con_mutex); + ++static void poll_txdone(struct timer_list *t); ++ + static int add_to_rbuf(struct mbox_chan *chan, void *mssg) + { + int idx; +@@ -86,8 +88,7 @@ static void msg_submit(struct mbox_chan *chan) + spin_unlock_irqrestore(&chan->lock, flags); + + if (!err && (chan->txdone_method & TXDONE_BY_POLL)) +- /* kick start the timer immediately to avoid delays */ +- hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL); ++ poll_txdone(&chan->mbox->poll); + } + + static void tx_tick(struct mbox_chan *chan, int r) +@@ -114,10 +115,9 @@ static void tx_tick(struct mbox_chan *chan, int r) + complete(&chan->tx_complete); + } + +-static enum hrtimer_restart txdone_hrtimer(struct hrtimer *hrtimer) ++static void poll_txdone(struct timer_list *t) + { +- struct mbox_controller *mbox = +- container_of(hrtimer, struct mbox_controller, poll_hrt); ++ struct mbox_controller *mbox = from_timer(mbox, t, poll); + bool txdone, resched = false; + int i; + +@@ -133,11 +133,9 @@ static enum hrtimer_restart txdone_hrtimer(struct hrtimer *hrtimer) + } + } + +- if (resched) { +- hrtimer_forward_now(hrtimer, ms_to_ktime(mbox->txpoll_period)); +- return HRTIMER_RESTART; +- } +- return HRTIMER_NORESTART; ++ if (resched) ++ mod_timer(&mbox->poll, jiffies + ++ msecs_to_jiffies(mbox->txpoll_period)); + } + + /** +@@ -466,9 +464,7 @@ int mbox_controller_register(struct mbox_controller *mbox) + return -EINVAL; + } + +- hrtimer_init(&mbox->poll_hrt, CLOCK_MONOTONIC, +- HRTIMER_MODE_REL); +- mbox->poll_hrt.function = txdone_hrtimer; ++ timer_setup(&mbox->poll, &poll_txdone, 0); + } + + for (i = 0; i < mbox->num_chans; i++) { +@@ -510,7 +506,7 @@ void mbox_controller_unregister(struct mbox_controller *mbox) + mbox_free_channel(&mbox->chans[i]); + + if (mbox->txdone_poll) +- hrtimer_cancel(&mbox->poll_hrt); ++ del_timer_sync(&mbox->poll); + + mutex_unlock(&con_mutex); + } +diff --git a/include/linux/mailbox_controller.h b/include/linux/mailbox_controller.h +index 74deadb42..68c424544 100644 +--- a/include/linux/mailbox_controller.h ++++ b/include/linux/mailbox_controller.h +@@ -9,7 +9,7 @@ + + #include + #include +-#include ++#include + #include + #include + +@@ -67,8 +67,7 @@ struct mbox_chan_ops { + * @txpoll_period: If 'txdone_poll' is in effect, the API polls for + * last TX's status after these many millisecs + * @of_xlate: Controller driver specific mapping of channel via DT +- * @poll_hrt: API private. hrtimer used to poll for TXDONE on all +- * channels. ++ * @poll: API private. Used to poll for TXDONE on all channels. + * @node: API private. To hook into list of controllers. + */ + struct mbox_controller { +@@ -82,7 +81,7 @@ struct mbox_controller { + struct mbox_chan *(*of_xlate)(struct mbox_controller *mbox, + const struct of_phandle_args *sp); + /* Internal to API */ +- struct hrtimer poll_hrt; ++ struct timer_list poll; + struct list_head node; + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/023_linux-4.14.y-backport-net-0001-drivers-net-stmmac-use_setup_timer_helper..patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/023_linux-4.14.y-backport-net-0001-drivers-net-stmmac-use_setup_timer_helper..patch new file mode 100644 index 000000000..fe0312b0b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/023_linux-4.14.y-backport-net-0001-drivers-net-stmmac-use_setup_timer_helper..patch @@ -0,0 +1,30 @@ +From 997decfb6aeaa9be41ff557741845bb9fb4bf5bc Mon Sep 17 00:00:00 2001 +From: Allen Pais +Date: Thu, 21 Sep 2017 22:35:18 +0530 +Subject: [PATCH] drivers: net: stmmac: use setup_timer() helper. + +Use setup_timer function instead of initializing timer with the + function and data fields. + +Signed-off-by: Allen Pais +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +index 1763e48c84e20..f41661a04f237 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -2217,10 +2217,8 @@ static void stmmac_init_tx_coalesce(struct stmmac_priv *priv) + { + priv->tx_coal_frames = STMMAC_TX_FRAMES; + priv->tx_coal_timer = STMMAC_COAL_TX_TIMER; +- init_timer(&priv->txtimer); ++ setup_timer(&priv->txtimer, stmmac_tx_timer, (unsigned long)priv); + priv->txtimer.expires = STMMAC_COAL_TIMER(priv->tx_coal_timer); +- priv->txtimer.data = (unsigned long)priv; +- priv->txtimer.function = stmmac_tx_timer; + add_timer(&priv->txtimer); + } + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/024_linux-4.14.y-backport-net-0002-net-ethernet-stmmac-clean_up_dead_code.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/024_linux-4.14.y-backport-net-0002-net-ethernet-stmmac-clean_up_dead_code.patch new file mode 100644 index 000000000..ca015c02c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/024_linux-4.14.y-backport-net-0002-net-ethernet-stmmac-clean_up_dead_code.patch @@ -0,0 +1,70 @@ +From c778c32118167adcfe6b40063c49bfeac6bc1cf1 Mon Sep 17 00:00:00 2001 +From: Christos Gkekas +Date: Sun, 8 Oct 2017 20:13:49 +0100 +Subject: [PATCH] net: ethernet: stmmac: Clean up dead code + +Many macros in dwmac-ipq806x are unused and should be removed. +Moreover gmac->id is an unsigned variable and therefore checking +whether it is less than zero is redundant. + +Signed-off-by: Christos Gkekas +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c | 14 +------------- + 1 file changed, 1 insertion(+), 13 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c +index 866444b6c82fa..2c6d7c69c8f74 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c +@@ -51,15 +51,11 @@ + #define NSS_COMMON_CLK_SRC_CTRL_RGMII(x) 1 + #define NSS_COMMON_CLK_SRC_CTRL_SGMII(x) ((x >= 2) ? 1 : 0) + +-#define NSS_COMMON_MACSEC_CTL 0x28 +-#define NSS_COMMON_MACSEC_CTL_EXT_BYPASS_EN(x) (1 << x) +- + #define NSS_COMMON_GMAC_CTL(x) (0x30 + (x * 4)) + #define NSS_COMMON_GMAC_CTL_CSYS_REQ BIT(19) + #define NSS_COMMON_GMAC_CTL_PHY_IFACE_SEL BIT(16) + #define NSS_COMMON_GMAC_CTL_IFG_LIMIT_OFFSET 8 + #define NSS_COMMON_GMAC_CTL_IFG_OFFSET 0 +-#define NSS_COMMON_GMAC_CTL_IFG_MASK 0x3f + + #define NSS_COMMON_CLK_DIV_RGMII_1000 1 + #define NSS_COMMON_CLK_DIV_RGMII_100 9 +@@ -68,9 +64,6 @@ + #define NSS_COMMON_CLK_DIV_SGMII_100 4 + #define NSS_COMMON_CLK_DIV_SGMII_10 49 + +-#define QSGMII_PCS_MODE_CTL 0x68 +-#define QSGMII_PCS_MODE_CTL_AUTONEG_EN(x) BIT((x * 8) + 7) +- + #define QSGMII_PCS_CAL_LCKDT_CTL 0x120 + #define QSGMII_PCS_CAL_LCKDT_CTL_RST BIT(19) + +@@ -83,15 +76,10 @@ + #define QSGMII_PHY_TX_DRIVER_EN BIT(3) + #define QSGMII_PHY_QSGMII_EN BIT(7) + #define QSGMII_PHY_PHASE_LOOP_GAIN_OFFSET 12 +-#define QSGMII_PHY_PHASE_LOOP_GAIN_MASK 0x7 + #define QSGMII_PHY_RX_DC_BIAS_OFFSET 18 +-#define QSGMII_PHY_RX_DC_BIAS_MASK 0x3 + #define QSGMII_PHY_RX_INPUT_EQU_OFFSET 20 +-#define QSGMII_PHY_RX_INPUT_EQU_MASK 0x3 + #define QSGMII_PHY_CDR_PI_SLEW_OFFSET 22 +-#define QSGMII_PHY_CDR_PI_SLEW_MASK 0x3 + #define QSGMII_PHY_TX_DRV_AMP_OFFSET 28 +-#define QSGMII_PHY_TX_DRV_AMP_MASK 0xf + + struct ipq806x_gmac { + struct platform_device *pdev; +@@ -217,7 +205,7 @@ static int ipq806x_gmac_of_parse(struct ipq806x_gmac *gmac) + * code and keep it consistent with the Linux convention, we'll number + * them from 0 to 3 here. + */ +- if (gmac->id < 0 || gmac->id > 3) { ++ if (gmac->id > 3) { + dev_err(dev, "invalid gmac id\n"); + return -EINVAL; + } diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/025_linux-4.14.y-backport-net-0003-net-stmmac-use_correct_values_in_tqs-rqs_fields.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/025_linux-4.14.y-backport-net-0003-net-stmmac-use_correct_values_in_tqs-rqs_fields.patch new file mode 100644 index 000000000..0f7210435 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/025_linux-4.14.y-backport-net-0003-net-stmmac-use_correct_values_in_tqs-rqs_fields.patch @@ -0,0 +1,135 @@ +From 52a76235d0c4dd259cd0df503afed4757c04ba1d Mon Sep 17 00:00:00 2001 +From: Jose Abreu +Date: Fri, 13 Oct 2017 10:58:36 +0100 +Subject: [PATCH] net: stmmac: Use correct values in TQS/RQS fields + +Currently we are using all the available fifo size in RQS and +TQS fields. This will not work correctly in multi-queues IP's +because total fifo size must be splitted to the enabled queues. + +Correct this by computing the available fifo size per queue and +setting the right value in TQS and RQS fields. + +Signed-off-by: Jose Abreu +Cc: David S. Miller +Cc: Joao Pinto +Cc: Giuseppe Cavallaro +Cc: Alexandre Torgue +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/common.h | 3 ++- + drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c | 15 +++++++++------ + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 22 ++++++++++++++++++++-- + 3 files changed, 31 insertions(+), 9 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h +index e82b4b70b7be3..c26c8a7f957f5 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/common.h ++++ b/drivers/net/ethernet/stmicro/stmmac/common.h +@@ -443,7 +443,8 @@ struct stmmac_dma_ops { + int rxfifosz); + void (*dma_rx_mode)(void __iomem *ioaddr, int mode, u32 channel, + int fifosz); +- void (*dma_tx_mode)(void __iomem *ioaddr, int mode, u32 channel); ++ void (*dma_tx_mode)(void __iomem *ioaddr, int mode, u32 channel, ++ int fifosz); + /* To track extra statistic (if supported) */ + void (*dma_diagnostic_fr) (void *data, struct stmmac_extra_stats *x, + void __iomem *ioaddr); +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c +index e84831e1b63b3..898849bbc7d44 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c +@@ -271,9 +271,10 @@ static void dwmac4_dma_rx_chan_op_mode(void __iomem *ioaddr, int mode, + } + + static void dwmac4_dma_tx_chan_op_mode(void __iomem *ioaddr, int mode, +- u32 channel) ++ u32 channel, int fifosz) + { + u32 mtl_tx_op = readl(ioaddr + MTL_CHAN_TX_OP_MODE(channel)); ++ unsigned int tqs = fifosz / 256 - 1; + + if (mode == SF_DMA_MODE) { + pr_debug("GMAC: enable TX store and forward mode\n"); +@@ -306,12 +307,14 @@ static void dwmac4_dma_tx_chan_op_mode(void __iomem *ioaddr, int mode, + * For an IP with DWC_EQOS_NUM_TXQ > 1, the fields TXQEN and TQS are R/W + * with reset values: TXQEN off, TQS 256 bytes. + * +- * Write the bits in both cases, since it will have no effect when RO. +- * For DWC_EQOS_NUM_TXQ > 1, the top bits in MTL_OP_MODE_TQS_MASK might +- * be RO, however, writing the whole TQS field will result in a value +- * equal to DWC_EQOS_TXFIFO_SIZE, just like for DWC_EQOS_NUM_TXQ == 1. ++ * TXQEN must be written for multi-channel operation and TQS must ++ * reflect the available fifo size per queue (total fifo size / number ++ * of enabled queues). + */ +- mtl_tx_op |= MTL_OP_MODE_TXQEN | MTL_OP_MODE_TQS_MASK; ++ mtl_tx_op |= MTL_OP_MODE_TXQEN; ++ mtl_tx_op &= ~MTL_OP_MODE_TQS_MASK; ++ mtl_tx_op |= tqs << MTL_OP_MODE_TQS_SHIFT; ++ + writel(mtl_tx_op, ioaddr + MTL_CHAN_TX_OP_MODE(channel)); + } + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +index f41661a04f237..edf245b8bce32 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -1750,12 +1750,19 @@ static void stmmac_dma_operation_mode(struct stmmac_priv *priv) + u32 rx_channels_count = priv->plat->rx_queues_to_use; + u32 tx_channels_count = priv->plat->tx_queues_to_use; + int rxfifosz = priv->plat->rx_fifo_size; ++ int txfifosz = priv->plat->tx_fifo_size; + u32 txmode = 0; + u32 rxmode = 0; + u32 chan = 0; + + if (rxfifosz == 0) + rxfifosz = priv->dma_cap.rx_fifo_size; ++ if (txfifosz == 0) ++ txfifosz = priv->dma_cap.tx_fifo_size; ++ ++ /* Adjust for real per queue fifo size */ ++ rxfifosz /= rx_channels_count; ++ txfifosz /= tx_channels_count; + + if (priv->plat->force_thresh_dma_mode) { + txmode = tc; +@@ -1783,7 +1790,8 @@ static void stmmac_dma_operation_mode(struct stmmac_priv *priv) + rxfifosz); + + for (chan = 0; chan < tx_channels_count; chan++) +- priv->hw->dma->dma_tx_mode(priv->ioaddr, txmode, chan); ++ priv->hw->dma->dma_tx_mode(priv->ioaddr, txmode, chan, ++ txfifosz); + } else { + priv->hw->dma->dma_mode(priv->ioaddr, txmode, rxmode, + rxfifosz); +@@ -1946,15 +1954,25 @@ static void stmmac_tx_err(struct stmmac_priv *priv, u32 chan) + static void stmmac_set_dma_operation_mode(struct stmmac_priv *priv, u32 txmode, + u32 rxmode, u32 chan) + { ++ u32 rx_channels_count = priv->plat->rx_queues_to_use; ++ u32 tx_channels_count = priv->plat->tx_queues_to_use; + int rxfifosz = priv->plat->rx_fifo_size; ++ int txfifosz = priv->plat->tx_fifo_size; + + if (rxfifosz == 0) + rxfifosz = priv->dma_cap.rx_fifo_size; ++ if (txfifosz == 0) ++ txfifosz = priv->dma_cap.tx_fifo_size; ++ ++ /* Adjust for real per queue fifo size */ ++ rxfifosz /= rx_channels_count; ++ txfifosz /= tx_channels_count; + + if (priv->synopsys_id >= DWMAC_CORE_4_00) { + priv->hw->dma->dma_rx_mode(priv->ioaddr, rxmode, chan, + rxfifosz); +- priv->hw->dma->dma_tx_mode(priv->ioaddr, txmode, chan); ++ priv->hw->dma->dma_tx_mode(priv->ioaddr, txmode, chan, ++ txfifosz); + } else { + priv->hw->dma->dma_mode(priv->ioaddr, txmode, rxmode, + rxfifosz); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/026_linux-4.14.y-backport-net-0004-net-stmmac-disable_flow_ctrl_for_rx_avb_queues_and_really.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/026_linux-4.14.y-backport-net-0004-net-stmmac-disable_flow_ctrl_for_rx_avb_queues_and_really.patch new file mode 100644 index 000000000..d000df779 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/026_linux-4.14.y-backport-net-0004-net-stmmac-disable_flow_ctrl_for_rx_avb_queues_and_really.patch @@ -0,0 +1,160 @@ +From a0daae13776994cf90e9a7bc81cd8e4ad3959093 Mon Sep 17 00:00:00 2001 +From: Jose Abreu +Date: Fri, 13 Oct 2017 10:58:37 +0100 +Subject: [PATCH] net: stmmac: Disable flow ctrl for RX AVB queues and really + enable TX AVB queues + +Flow control must be disabled for AVB enabled queues and TX +AVB queues must be enabled by setting BIT(2) of TXQEN. + +Correct this by passing the queue mode to DMA callbacks +and by checking in these functions wether we are in AVB +performing the necessary adjustments. + +Signed-off-by: Jose Abreu +Cc: David S. Miller +Cc: Joao Pinto +Cc: Giuseppe Cavallaro +Cc: Alexandre Torgue +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/common.h | 4 ++-- + drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 2 ++ + drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c | 16 +++++++++++----- + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 21 +++++++++++++++------ + 4 files changed, 30 insertions(+), 13 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h +index c26c8a7f957f5..e1e5ac0537606 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/common.h ++++ b/drivers/net/ethernet/stmicro/stmmac/common.h +@@ -442,9 +442,9 @@ struct stmmac_dma_ops { + void (*dma_mode)(void __iomem *ioaddr, int txmode, int rxmode, + int rxfifosz); + void (*dma_rx_mode)(void __iomem *ioaddr, int mode, u32 channel, +- int fifosz); ++ int fifosz, u8 qmode); + void (*dma_tx_mode)(void __iomem *ioaddr, int mode, u32 channel, +- int fifosz); ++ int fifosz, u8 qmode); + /* To track extra statistic (if supported) */ + void (*dma_diagnostic_fr) (void *data, struct stmmac_extra_stats *x, + void __iomem *ioaddr); +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4.h b/drivers/net/ethernet/stmicro/stmmac/dwmac4.h +index d74cedf2a3975..aeda3ab2d761c 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4.h ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4.h +@@ -225,6 +225,8 @@ enum power_event { + #define MTL_CHAN_RX_DEBUG(x) (MTL_CHANX_BASE_ADDR(x) + 0x38) + + #define MTL_OP_MODE_RSF BIT(5) ++#define MTL_OP_MODE_TXQEN_MASK GENMASK(3, 2) ++#define MTL_OP_MODE_TXQEN_AV BIT(2) + #define MTL_OP_MODE_TXQEN BIT(3) + #define MTL_OP_MODE_TSF BIT(1) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c +index 898849bbc7d44..c110f6850ffa3 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c +@@ -191,7 +191,7 @@ static void dwmac4_rx_watchdog(void __iomem *ioaddr, u32 riwt, u32 number_chan) + } + + static void dwmac4_dma_rx_chan_op_mode(void __iomem *ioaddr, int mode, +- u32 channel, int fifosz) ++ u32 channel, int fifosz, u8 qmode) + { + unsigned int rqs = fifosz / 256 - 1; + u32 mtl_rx_op, mtl_rx_int; +@@ -218,8 +218,10 @@ static void dwmac4_dma_rx_chan_op_mode(void __iomem *ioaddr, int mode, + mtl_rx_op &= ~MTL_OP_MODE_RQS_MASK; + mtl_rx_op |= rqs << MTL_OP_MODE_RQS_SHIFT; + +- /* enable flow control only if each channel gets 4 KiB or more FIFO */ +- if (fifosz >= 4096) { ++ /* Enable flow control only if each channel gets 4 KiB or more FIFO and ++ * only if channel is not an AVB channel. ++ */ ++ if ((fifosz >= 4096) && (qmode != MTL_QUEUE_AVB)) { + unsigned int rfd, rfa; + + mtl_rx_op |= MTL_OP_MODE_EHFC; +@@ -271,7 +273,7 @@ static void dwmac4_dma_rx_chan_op_mode(void __iomem *ioaddr, int mode, + } + + static void dwmac4_dma_tx_chan_op_mode(void __iomem *ioaddr, int mode, +- u32 channel, int fifosz) ++ u32 channel, int fifosz, u8 qmode) + { + u32 mtl_tx_op = readl(ioaddr + MTL_CHAN_TX_OP_MODE(channel)); + unsigned int tqs = fifosz / 256 - 1; +@@ -311,7 +313,11 @@ static void dwmac4_dma_tx_chan_op_mode(void __iomem *ioaddr, int mode, + * reflect the available fifo size per queue (total fifo size / number + * of enabled queues). + */ +- mtl_tx_op |= MTL_OP_MODE_TXQEN; ++ mtl_tx_op &= ~MTL_OP_MODE_TXQEN_MASK; ++ if (qmode != MTL_QUEUE_AVB) ++ mtl_tx_op |= MTL_OP_MODE_TXQEN; ++ else ++ mtl_tx_op |= MTL_OP_MODE_TXQEN_AV; + mtl_tx_op &= ~MTL_OP_MODE_TQS_MASK; + mtl_tx_op |= tqs << MTL_OP_MODE_TQS_SHIFT; + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +index edf245b8bce32..0e1b0a3d7b766 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -1754,6 +1754,7 @@ static void stmmac_dma_operation_mode(struct stmmac_priv *priv) + u32 txmode = 0; + u32 rxmode = 0; + u32 chan = 0; ++ u8 qmode = 0; + + if (rxfifosz == 0) + rxfifosz = priv->dma_cap.rx_fifo_size; +@@ -1785,13 +1786,19 @@ static void stmmac_dma_operation_mode(struct stmmac_priv *priv) + + /* configure all channels */ + if (priv->synopsys_id >= DWMAC_CORE_4_00) { +- for (chan = 0; chan < rx_channels_count; chan++) ++ for (chan = 0; chan < rx_channels_count; chan++) { ++ qmode = priv->plat->rx_queues_cfg[chan].mode_to_use; ++ + priv->hw->dma->dma_rx_mode(priv->ioaddr, rxmode, chan, +- rxfifosz); ++ rxfifosz, qmode); ++ } ++ ++ for (chan = 0; chan < tx_channels_count; chan++) { ++ qmode = priv->plat->tx_queues_cfg[chan].mode_to_use; + +- for (chan = 0; chan < tx_channels_count; chan++) + priv->hw->dma->dma_tx_mode(priv->ioaddr, txmode, chan, +- txfifosz); ++ txfifosz, qmode); ++ } + } else { + priv->hw->dma->dma_mode(priv->ioaddr, txmode, rxmode, + rxfifosz); +@@ -1954,6 +1961,8 @@ static void stmmac_tx_err(struct stmmac_priv *priv, u32 chan) + static void stmmac_set_dma_operation_mode(struct stmmac_priv *priv, u32 txmode, + u32 rxmode, u32 chan) + { ++ u8 rxqmode = priv->plat->rx_queues_cfg[chan].mode_to_use; ++ u8 txqmode = priv->plat->tx_queues_cfg[chan].mode_to_use; + u32 rx_channels_count = priv->plat->rx_queues_to_use; + u32 tx_channels_count = priv->plat->tx_queues_to_use; + int rxfifosz = priv->plat->rx_fifo_size; +@@ -1970,9 +1979,9 @@ static void stmmac_set_dma_operation_mode(struct stmmac_priv *priv, u32 txmode, + + if (priv->synopsys_id >= DWMAC_CORE_4_00) { + priv->hw->dma->dma_rx_mode(priv->ioaddr, rxmode, chan, +- rxfifosz); ++ rxfifosz, rxqmode); + priv->hw->dma->dma_tx_mode(priv->ioaddr, txmode, chan, +- txfifosz); ++ txfifosz, txqmode); + } else { + priv->hw->dma->dma_mode(priv->ioaddr, txmode, rxmode, + rxfifosz); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/027_linux-4.14.y-backport-net-0005-net-ethernet-stmmac-convert_timers_to_use_timer_setup.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/027_linux-4.14.y-backport-net-0005-net-ethernet-stmmac-convert_timers_to_use_timer_setup.patch new file mode 100644 index 000000000..972bba081 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/027_linux-4.14.y-backport-net-0005-net-ethernet-stmmac-convert_timers_to_use_timer_setup.patch @@ -0,0 +1,90 @@ +From abec4be3ee68c8572adb39da68fbfd86e63daa84 Mon Sep 17 00:00:00 2001 +From: Kees Cook +Date: Mon, 16 Oct 2017 17:29:00 -0700 +Subject: [PATCH] net: ethernet: stmmac: Convert timers to use timer_setup() + +In preparation for unconditionally passing the struct timer_list pointer to +all timer callbacks, switch to using the new timer_setup() and from_timer() +to pass the timer pointer explicitly. + +Cc: Giuseppe Cavallaro +Cc: Alexandre Torgue +Cc: netdev@vger.kernel.org +Signed-off-by: Kees Cook +Acked-by: Giuseppe Cavallaro +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/altr_tse_pcs.c | 22 ++++++++++------------ + 1 file changed, 10 insertions(+), 12 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/altr_tse_pcs.c b/drivers/net/ethernet/stmicro/stmmac/altr_tse_pcs.c +index 6a9c954492f22..8b50afcdb52df 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/altr_tse_pcs.c ++++ b/drivers/net/ethernet/stmicro/stmmac/altr_tse_pcs.c +@@ -118,10 +118,9 @@ int tse_pcs_init(void __iomem *base, struct tse_pcs *pcs) + return ret; + } + +-static void pcs_link_timer_callback(unsigned long data) ++static void pcs_link_timer_callback(struct tse_pcs *pcs) + { + u16 val = 0; +- struct tse_pcs *pcs = (struct tse_pcs *)data; + void __iomem *tse_pcs_base = pcs->tse_pcs_base; + void __iomem *sgmii_adapter_base = pcs->sgmii_adapter_base; + +@@ -138,12 +137,11 @@ static void pcs_link_timer_callback(unsigned long data) + } + } + +-static void auto_nego_timer_callback(unsigned long data) ++static void auto_nego_timer_callback(struct tse_pcs *pcs) + { + u16 val = 0; + u16 speed = 0; + u16 duplex = 0; +- struct tse_pcs *pcs = (struct tse_pcs *)data; + void __iomem *tse_pcs_base = pcs->tse_pcs_base; + void __iomem *sgmii_adapter_base = pcs->sgmii_adapter_base; + +@@ -201,14 +199,14 @@ static void auto_nego_timer_callback(unsigned long data) + } + } + +-static void aneg_link_timer_callback(unsigned long data) ++static void aneg_link_timer_callback(struct timer_list *t) + { +- struct tse_pcs *pcs = (struct tse_pcs *)data; ++ struct tse_pcs *pcs = from_timer(pcs, t, aneg_link_timer); + + if (pcs->autoneg == AUTONEG_ENABLE) +- auto_nego_timer_callback(data); ++ auto_nego_timer_callback(pcs); + else if (pcs->autoneg == AUTONEG_DISABLE) +- pcs_link_timer_callback(data); ++ pcs_link_timer_callback(pcs); + } + + void tse_pcs_fix_mac_speed(struct tse_pcs *pcs, struct phy_device *phy_dev, +@@ -237,8 +235,8 @@ void tse_pcs_fix_mac_speed(struct tse_pcs *pcs, struct phy_device *phy_dev, + + tse_pcs_reset(tse_pcs_base, pcs); + +- setup_timer(&pcs->aneg_link_timer, +- aneg_link_timer_callback, (unsigned long)pcs); ++ timer_setup(&pcs->aneg_link_timer, aneg_link_timer_callback, ++ 0); + mod_timer(&pcs->aneg_link_timer, jiffies + + msecs_to_jiffies(AUTONEGO_LINK_TIMER)); + } else if (phy_dev->autoneg == AUTONEG_DISABLE) { +@@ -270,8 +268,8 @@ void tse_pcs_fix_mac_speed(struct tse_pcs *pcs, struct phy_device *phy_dev, + + tse_pcs_reset(tse_pcs_base, pcs); + +- setup_timer(&pcs->aneg_link_timer, +- aneg_link_timer_callback, (unsigned long)pcs); ++ timer_setup(&pcs->aneg_link_timer, aneg_link_timer_callback, ++ 0); + mod_timer(&pcs->aneg_link_timer, jiffies + + msecs_to_jiffies(AUTONEGO_LINK_TIMER)); + } diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/028_linux-4.14.y-backport-net-0006-net-stmmac-snps,_dwmac-mdio_mdios_are_automatically.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/028_linux-4.14.y-backport-net-0006-net-stmmac-snps,_dwmac-mdio_mdios_are_automatically.patch new file mode 100644 index 000000000..2719bfd29 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/028_linux-4.14.y-backport-net-0006-net-stmmac-snps,_dwmac-mdio_mdios_are_automatically.patch @@ -0,0 +1,35 @@ +From b5beecb580376cd8d959eb990abece6a748a3ce3 Mon Sep 17 00:00:00 2001 +From: Corentin Labbe +Date: Tue, 24 Oct 2017 19:57:12 +0200 +Subject: [PATCH] net: stmmac: snps, dwmac-mdio MDIOs are automatically + registered + +stmmac bindings docs said that its mdio node must have +compatible = "snps,dwmac-mdio"; +Since dwmac-sun8i does not have any good reasons to not doing it, all +their MDIO node must have it. + +Since these compatible is automatically registered, dwmac-sun8i compatible +does not need to be in need_mdio_ids. + +Signed-off-by: Corentin Labbe +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +index 8a280b48e3a9f..9e616da0745d6 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +@@ -311,10 +311,6 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, + bool mdio = true; + static const struct of_device_id need_mdio_ids[] = { + { .compatible = "snps,dwc-qos-ethernet-4.10" }, +- { .compatible = "allwinner,sun8i-a83t-emac" }, +- { .compatible = "allwinner,sun8i-h3-emac" }, +- { .compatible = "allwinner,sun8i-v3s-emac" }, +- { .compatible = "allwinner,sun50i-a64-emac" }, + {}, + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/029_linux-4.14.y-backport-net-0007-net-stmmac-dwmac-sun8i-handle_integrated-external_mdios.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/029_linux-4.14.y-backport-net-0007-net-stmmac-dwmac-sun8i-handle_integrated-external_mdios.patch new file mode 100644 index 000000000..841e83e8b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/029_linux-4.14.y-backport-net-0007-net-stmmac-dwmac-sun8i-handle_integrated-external_mdios.patch @@ -0,0 +1,510 @@ +From 634db83b82658f4641d8026e340c6027cf74a6bb Mon Sep 17 00:00:00 2001 +From: Corentin Labbe +Date: Tue, 24 Oct 2017 19:57:13 +0200 +Subject: [PATCH] net: stmmac: dwmac-sun8i: Handle integrated/external MDIOs + +The Allwinner H3 SoC have two distinct MDIO bus, only one could be +active at the same time. +The selection of the active MDIO bus are done via some bits in the EMAC +register of the system controller. + +This patch implement this MDIO switch via a custom MDIO-mux. + +Signed-off-by: Corentin Labbe +Reviewed-by: Andrew Lunn +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/Kconfig | 1 + + drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 353 ++++++++++++++-------- + 2 files changed, 224 insertions(+), 130 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig +index 97035766c291b..e28c0d2c58e91 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/Kconfig ++++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig +@@ -159,6 +159,7 @@ config DWMAC_SUN8I + tristate "Allwinner sun8i GMAC support" + default ARCH_SUNXI + depends on OF && (ARCH_SUNXI || COMPILE_TEST) ++ select MDIO_BUS_MUX + ---help--- + Support for Allwinner H3 A83T A64 EMAC ethernet controllers. + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +index 39c2122a4f269..b3eb344bb158d 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +@@ -17,6 +17,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -41,14 +42,14 @@ + * This value is used for disabling properly EMAC + * and used as a good starting value in case of the + * boot process(uboot) leave some stuff. +- * @internal_phy: Does the MAC embed an internal PHY ++ * @soc_has_internal_phy: Does the MAC embed an internal PHY + * @support_mii: Does the MAC handle MII + * @support_rmii: Does the MAC handle RMII + * @support_rgmii: Does the MAC handle RGMII + */ + struct emac_variant { + u32 default_syscon_value; +- int internal_phy; ++ bool soc_has_internal_phy; + bool support_mii; + bool support_rmii; + bool support_rgmii; +@@ -61,7 +62,8 @@ struct emac_variant { + * @rst_ephy: reference to the optional EPHY reset for the internal PHY + * @variant: reference to the current board variant + * @regmap: regmap for using the syscon +- * @use_internal_phy: Does the current PHY choice imply using the internal PHY ++ * @internal_phy_powered: Does the internal PHY is enabled ++ * @mux_handle: Internal pointer used by mdio-mux lib + */ + struct sunxi_priv_data { + struct clk *tx_clk; +@@ -70,12 +72,13 @@ struct sunxi_priv_data { + struct reset_control *rst_ephy; + const struct emac_variant *variant; + struct regmap *regmap; +- bool use_internal_phy; ++ bool internal_phy_powered; ++ void *mux_handle; + }; + + static const struct emac_variant emac_variant_h3 = { + .default_syscon_value = 0x58000, +- .internal_phy = PHY_INTERFACE_MODE_MII, ++ .soc_has_internal_phy = true, + .support_mii = true, + .support_rmii = true, + .support_rgmii = true +@@ -83,20 +86,20 @@ static const struct emac_variant emac_variant_h3 = { + + static const struct emac_variant emac_variant_v3s = { + .default_syscon_value = 0x38000, +- .internal_phy = PHY_INTERFACE_MODE_MII, ++ .soc_has_internal_phy = true, + .support_mii = true + }; + + static const struct emac_variant emac_variant_a83t = { + .default_syscon_value = 0, +- .internal_phy = 0, ++ .soc_has_internal_phy = false, + .support_mii = true, + .support_rgmii = true + }; + + static const struct emac_variant emac_variant_a64 = { + .default_syscon_value = 0, +- .internal_phy = 0, ++ .soc_has_internal_phy = false, + .support_mii = true, + .support_rmii = true, + .support_rgmii = true +@@ -195,6 +198,9 @@ static const struct emac_variant emac_variant_a64 = { + #define H3_EPHY_LED_POL BIT(17) /* 1: active low, 0: active high */ + #define H3_EPHY_SHUTDOWN BIT(16) /* 1: shutdown, 0: power up */ + #define H3_EPHY_SELECT BIT(15) /* 1: internal PHY, 0: external PHY */ ++#define H3_EPHY_MUX_MASK (H3_EPHY_SHUTDOWN | H3_EPHY_SELECT) ++#define DWMAC_SUN8I_MDIO_MUX_INTERNAL_ID 1 ++#define DWMAC_SUN8I_MDIO_MUX_EXTERNAL_ID 2 + + /* H3/A64 specific bits */ + #define SYSCON_RMII_EN BIT(13) /* 1: enable RMII (overrides EPIT) */ +@@ -634,6 +640,159 @@ static int sun8i_dwmac_reset(struct stmmac_priv *priv) + return 0; + } + ++/* Search in mdio-mux node for internal PHY node and get its clk/reset */ ++static int get_ephy_nodes(struct stmmac_priv *priv) ++{ ++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; ++ struct device_node *mdio_mux, *iphynode; ++ struct device_node *mdio_internal; ++ int ret; ++ ++ mdio_mux = of_get_child_by_name(priv->device->of_node, "mdio-mux"); ++ if (!mdio_mux) { ++ dev_err(priv->device, "Cannot get mdio-mux node\n"); ++ return -ENODEV; ++ } ++ ++ mdio_internal = of_find_compatible_node(mdio_mux, NULL, ++ "allwinner,sun8i-h3-mdio-internal"); ++ if (!mdio_internal) { ++ dev_err(priv->device, "Cannot get internal_mdio node\n"); ++ return -ENODEV; ++ } ++ ++ /* Seek for internal PHY */ ++ for_each_child_of_node(mdio_internal, iphynode) { ++ gmac->ephy_clk = of_clk_get(iphynode, 0); ++ if (IS_ERR(gmac->ephy_clk)) ++ continue; ++ gmac->rst_ephy = of_reset_control_get_exclusive(iphynode, NULL); ++ if (IS_ERR(gmac->rst_ephy)) { ++ ret = PTR_ERR(gmac->rst_ephy); ++ if (ret == -EPROBE_DEFER) ++ return ret; ++ continue; ++ } ++ dev_info(priv->device, "Found internal PHY node\n"); ++ return 0; ++ } ++ return -ENODEV; ++} ++ ++static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv) ++{ ++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; ++ int ret; ++ ++ if (gmac->internal_phy_powered) { ++ dev_warn(priv->device, "Internal PHY already powered\n"); ++ return 0; ++ } ++ ++ dev_info(priv->device, "Powering internal PHY\n"); ++ ret = clk_prepare_enable(gmac->ephy_clk); ++ if (ret) { ++ dev_err(priv->device, "Cannot enable internal PHY\n"); ++ return ret; ++ } ++ ++ /* Make sure the EPHY is properly reseted, as U-Boot may leave ++ * it at deasserted state, and thus it may fail to reset EMAC. ++ */ ++ reset_control_assert(gmac->rst_ephy); ++ ++ ret = reset_control_deassert(gmac->rst_ephy); ++ if (ret) { ++ dev_err(priv->device, "Cannot deassert internal phy\n"); ++ clk_disable_unprepare(gmac->ephy_clk); ++ return ret; ++ } ++ ++ gmac->internal_phy_powered = true; ++ ++ return 0; ++} ++ ++static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac) ++{ ++ if (!gmac->internal_phy_powered) ++ return 0; ++ ++ clk_disable_unprepare(gmac->ephy_clk); ++ reset_control_assert(gmac->rst_ephy); ++ gmac->internal_phy_powered = false; ++ return 0; ++} ++ ++/* MDIO multiplexing switch function ++ * This function is called by the mdio-mux layer when it thinks the mdio bus ++ * multiplexer needs to switch. ++ * 'current_child' is the current value of the mux register ++ * 'desired_child' is the value of the 'reg' property of the target child MDIO ++ * node. ++ * The first time this function is called, current_child == -1. ++ * If current_child == desired_child, then the mux is already set to the ++ * correct bus. ++ */ ++static int mdio_mux_syscon_switch_fn(int current_child, int desired_child, ++ void *data) ++{ ++ struct stmmac_priv *priv = data; ++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; ++ u32 reg, val; ++ int ret = 0; ++ bool need_power_ephy = false; ++ ++ if (current_child ^ desired_child) { ++ regmap_read(gmac->regmap, SYSCON_EMAC_REG, ®); ++ switch (desired_child) { ++ case DWMAC_SUN8I_MDIO_MUX_INTERNAL_ID: ++ dev_info(priv->device, "Switch mux to internal PHY"); ++ val = (reg & ~H3_EPHY_MUX_MASK) | H3_EPHY_SELECT; ++ ++ need_power_ephy = true; ++ break; ++ case DWMAC_SUN8I_MDIO_MUX_EXTERNAL_ID: ++ dev_info(priv->device, "Switch mux to external PHY"); ++ val = (reg & ~H3_EPHY_MUX_MASK) | H3_EPHY_SHUTDOWN; ++ need_power_ephy = false; ++ break; ++ default: ++ dev_err(priv->device, "Invalid child ID %x\n", ++ desired_child); ++ return -EINVAL; ++ } ++ regmap_write(gmac->regmap, SYSCON_EMAC_REG, val); ++ if (need_power_ephy) { ++ ret = sun8i_dwmac_power_internal_phy(priv); ++ if (ret) ++ return ret; ++ } else { ++ sun8i_dwmac_unpower_internal_phy(gmac); ++ } ++ /* After changing syscon value, the MAC need reset or it will ++ * use the last value (and so the last PHY set). ++ */ ++ ret = sun8i_dwmac_reset(priv); ++ } ++ return ret; ++} ++ ++static int sun8i_dwmac_register_mdio_mux(struct stmmac_priv *priv) ++{ ++ int ret; ++ struct device_node *mdio_mux; ++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; ++ ++ mdio_mux = of_get_child_by_name(priv->device->of_node, "mdio-mux"); ++ if (!mdio_mux) ++ return -ENODEV; ++ ++ ret = mdio_mux_init(priv->device, mdio_mux, mdio_mux_syscon_switch_fn, ++ &gmac->mux_handle, priv, priv->mii); ++ return ret; ++} ++ + static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) + { + struct sunxi_priv_data *gmac = priv->plat->bsp_priv; +@@ -648,35 +807,25 @@ static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) + "Current syscon value is not the default %x (expect %x)\n", + val, reg); + +- if (gmac->variant->internal_phy) { +- if (!gmac->use_internal_phy) { +- /* switch to external PHY interface */ +- reg &= ~H3_EPHY_SELECT; +- } else { +- reg |= H3_EPHY_SELECT; +- reg &= ~H3_EPHY_SHUTDOWN; +- dev_dbg(priv->device, "Select internal_phy %x\n", reg); +- +- if (of_property_read_bool(priv->plat->phy_node, +- "allwinner,leds-active-low")) +- reg |= H3_EPHY_LED_POL; +- else +- reg &= ~H3_EPHY_LED_POL; +- +- /* Force EPHY xtal frequency to 24MHz. */ +- reg |= H3_EPHY_CLK_SEL; +- +- ret = of_mdio_parse_addr(priv->device, +- priv->plat->phy_node); +- if (ret < 0) { +- dev_err(priv->device, "Could not parse MDIO addr\n"); +- return ret; +- } +- /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY +- * address. No need to mask it again. +- */ +- reg |= ret << H3_EPHY_ADDR_SHIFT; ++ if (gmac->variant->soc_has_internal_phy) { ++ if (of_property_read_bool(priv->plat->phy_node, ++ "allwinner,leds-active-low")) ++ reg |= H3_EPHY_LED_POL; ++ else ++ reg &= ~H3_EPHY_LED_POL; ++ ++ /* Force EPHY xtal frequency to 24MHz. */ ++ reg |= H3_EPHY_CLK_SEL; ++ ++ ret = of_mdio_parse_addr(priv->device, priv->plat->phy_node); ++ if (ret < 0) { ++ dev_err(priv->device, "Could not parse MDIO addr\n"); ++ return ret; + } ++ /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY ++ * address. No need to mask it again. ++ */ ++ reg |= 1 << H3_EPHY_ADDR_SHIFT; + } + + if (!of_property_read_u32(node, "allwinner,tx-delay-ps", &val)) { +@@ -746,81 +895,21 @@ static void sun8i_dwmac_unset_syscon(struct sunxi_priv_data *gmac) + regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg); + } + +-static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv) ++static void sun8i_dwmac_exit(struct platform_device *pdev, void *priv) + { +- struct sunxi_priv_data *gmac = priv->plat->bsp_priv; +- int ret; +- +- if (!gmac->use_internal_phy) +- return 0; +- +- ret = clk_prepare_enable(gmac->ephy_clk); +- if (ret) { +- dev_err(priv->device, "Cannot enable ephy\n"); +- return ret; +- } +- +- /* Make sure the EPHY is properly reseted, as U-Boot may leave +- * it at deasserted state, and thus it may fail to reset EMAC. +- */ +- reset_control_assert(gmac->rst_ephy); ++ struct sunxi_priv_data *gmac = priv; + +- ret = reset_control_deassert(gmac->rst_ephy); +- if (ret) { +- dev_err(priv->device, "Cannot deassert ephy\n"); +- clk_disable_unprepare(gmac->ephy_clk); +- return ret; ++ if (gmac->variant->soc_has_internal_phy) { ++ /* sun8i_dwmac_exit could be called with mdiomux uninit */ ++ if (gmac->mux_handle) ++ mdio_mux_uninit(gmac->mux_handle); ++ if (gmac->internal_phy_powered) ++ sun8i_dwmac_unpower_internal_phy(gmac); + } + +- return 0; +-} +- +-static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac) +-{ +- if (!gmac->use_internal_phy) +- return 0; +- +- clk_disable_unprepare(gmac->ephy_clk); +- reset_control_assert(gmac->rst_ephy); +- return 0; +-} +- +-/* sun8i_power_phy() - Activate the PHY: +- * In case of error, no need to call sun8i_unpower_phy(), +- * it will be called anyway by sun8i_dwmac_exit() +- */ +-static int sun8i_power_phy(struct stmmac_priv *priv) +-{ +- int ret; +- +- ret = sun8i_dwmac_power_internal_phy(priv); +- if (ret) +- return ret; +- +- ret = sun8i_dwmac_set_syscon(priv); +- if (ret) +- return ret; +- +- /* After changing syscon value, the MAC need reset or it will use +- * the last value (and so the last PHY set. +- */ +- ret = sun8i_dwmac_reset(priv); +- if (ret) +- return ret; +- return 0; +-} +- +-static void sun8i_unpower_phy(struct sunxi_priv_data *gmac) +-{ + sun8i_dwmac_unset_syscon(gmac); +- sun8i_dwmac_unpower_internal_phy(gmac); +-} +- +-static void sun8i_dwmac_exit(struct platform_device *pdev, void *priv) +-{ +- struct sunxi_priv_data *gmac = priv; + +- sun8i_unpower_phy(gmac); ++ reset_control_put(gmac->rst_ephy); + + clk_disable_unprepare(gmac->tx_clk); + +@@ -849,7 +938,7 @@ static struct mac_device_info *sun8i_dwmac_setup(void *ppriv) + if (!mac) + return NULL; + +- ret = sun8i_power_phy(priv); ++ ret = sun8i_dwmac_set_syscon(priv); + if (ret) + return NULL; + +@@ -889,6 +978,8 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) + struct sunxi_priv_data *gmac; + struct device *dev = &pdev->dev; + int ret; ++ struct stmmac_priv *priv; ++ struct net_device *ndev; + + ret = stmmac_get_platform_resources(pdev, &stmmac_res); + if (ret) +@@ -932,29 +1023,6 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) + } + + plat_dat->interface = of_get_phy_mode(dev->of_node); +- if (plat_dat->interface == gmac->variant->internal_phy) { +- dev_info(&pdev->dev, "Will use internal PHY\n"); +- gmac->use_internal_phy = true; +- gmac->ephy_clk = of_clk_get(plat_dat->phy_node, 0); +- if (IS_ERR(gmac->ephy_clk)) { +- ret = PTR_ERR(gmac->ephy_clk); +- dev_err(&pdev->dev, "Cannot get EPHY clock: %d\n", ret); +- return -EINVAL; +- } +- +- gmac->rst_ephy = of_reset_control_get(plat_dat->phy_node, NULL); +- if (IS_ERR(gmac->rst_ephy)) { +- ret = PTR_ERR(gmac->rst_ephy); +- if (ret == -EPROBE_DEFER) +- return ret; +- dev_err(&pdev->dev, "No EPHY reset control found %d\n", +- ret); +- return -EINVAL; +- } +- } else { +- dev_info(&pdev->dev, "Will use external PHY\n"); +- gmac->use_internal_phy = false; +- } + + /* platform data specifying hardware features and callbacks. + * hardware features were copied from Allwinner drivers. +@@ -973,9 +1041,34 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) + + ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); + if (ret) +- sun8i_dwmac_exit(pdev, plat_dat->bsp_priv); ++ goto dwmac_exit; ++ ++ ndev = dev_get_drvdata(&pdev->dev); ++ priv = netdev_priv(ndev); ++ /* The mux must be registered after parent MDIO ++ * so after stmmac_dvr_probe() ++ */ ++ if (gmac->variant->soc_has_internal_phy) { ++ ret = get_ephy_nodes(priv); ++ if (ret) ++ goto dwmac_exit; ++ ret = sun8i_dwmac_register_mdio_mux(priv); ++ if (ret) { ++ dev_err(&pdev->dev, "Failed to register mux\n"); ++ goto dwmac_mux; ++ } ++ } else { ++ ret = sun8i_dwmac_reset(priv); ++ if (ret) ++ goto dwmac_exit; ++ } + + return ret; ++dwmac_mux: ++ sun8i_dwmac_unset_syscon(gmac); ++dwmac_exit: ++ sun8i_dwmac_exit(pdev, plat_dat->bsp_priv); ++return ret; + } + + static const struct of_device_id sun8i_dwmac_match[] = { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/030_linux-4.14.y-backport-net-0008-net-stmmac-sun8i-restore_the_compatibles.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/030_linux-4.14.y-backport-net-0008-net-stmmac-sun8i-restore_the_compatibles.patch new file mode 100644 index 000000000..6cfb68188 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/030_linux-4.14.y-backport-net-0008-net-stmmac-sun8i-restore_the_compatibles.patch @@ -0,0 +1,37 @@ +From a8ff8ccb45d37efa64476958fc5e9a8d9716b23b Mon Sep 17 00:00:00 2001 +From: Corentin Labbe +Date: Tue, 24 Oct 2017 19:57:14 +0200 +Subject: [PATCH] net: stmmac: sun8i: Restore the compatibles + +The original dwmac-sun8i DT bindings have some issue on how to handle +integrated PHY and was reverted in last RC of 4.13. +But now we have a solution so we need to get back that was reverted. + +This patch restore compatibles about dwmac-sun8i +This reverts commit ad4540cc5aa3 ("net: stmmac: sun8i: Remove the compatibles") + +Signed-off-by: Corentin Labbe +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +index b3eb344bb158d..e5ff734d4f9b2 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +@@ -1072,6 +1072,14 @@ return ret; + } + + static const struct of_device_id sun8i_dwmac_match[] = { ++ { .compatible = "allwinner,sun8i-h3-emac", ++ .data = &emac_variant_h3 }, ++ { .compatible = "allwinner,sun8i-v3s-emac", ++ .data = &emac_variant_v3s }, ++ { .compatible = "allwinner,sun8i-a83t-emac", ++ .data = &emac_variant_a83t }, ++ { .compatible = "allwinner,sun50i-a64-emac", ++ .data = &emac_variant_a64 }, + { } + }; + MODULE_DEVICE_TABLE(of, sun8i_dwmac_match); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/031_linux-4.14.y-backport-net-0009-net-stmmac-fix_lpi_transitioning_for_dwmac4.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/031_linux-4.14.y-backport-net-0009-net-stmmac-fix_lpi_transitioning_for_dwmac4.patch new file mode 100644 index 000000000..b31f8dae4 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/031_linux-4.14.y-backport-net-0009-net-stmmac-fix_lpi_transitioning_for_dwmac4.patch @@ -0,0 +1,106 @@ +From 4497478c60c04d2bf37082e27fc98f4f835db96b Mon Sep 17 00:00:00 2001 +From: Niklas Cassel +Date: Tue, 14 Nov 2017 11:15:54 +0100 +Subject: [PATCH] net: stmmac: fix LPI transitioning for dwmac4 + +The LPI transitioning logic in stmmac_main uses +priv->tx_path_in_lpi_mode to enter/exit LPI. + +However, priv->tx_path_in_lpi_mode is assigned +using the return value from host_irq_status(). + +So for dwmac4, priv->tx_path_in_lpi_mode was always false, +so stmmac_tx_clean() would always try to put us in eee mode, +and stmmac_xmit() would never take us out of eee mode. + +To fix this, make host_irq_status() read and return the LPI +irq status also for dwmac4. + +This also increments the existing LPI counters, so that +ethtool --statistics shows LPI transitions also for dwmac4. + +For dwmac1000, irqs are enabled/disabled using the register +named "Interrupt Mask Register", and thus setting a bit disables +that specific irq. + +For dwmac4 the matching register is named "MAC_Interrupt_Enable", +and thus setting a bit enables that specific irq. + +Looking at dwmac1000_core.c, the irqs that are always enabled are: +LPI and PMT. + +Looking at dwmac4_core.c, the irqs that are always enabled are: +PMT. + +To be able to read the LPI irq status, we need to enable the LPI +irq also for dwmac4. + +Signed-off-by: Niklas Cassel +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 7 ++++++- + drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 19 +++++++++++++++++++ + 2 files changed, 25 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4.h b/drivers/net/ethernet/stmicro/stmmac/dwmac4.h +index aeda3ab2d761c..789dad8a07b5c 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4.h ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4.h +@@ -98,7 +98,7 @@ + #define GMAC_PCS_IRQ_DEFAULT (GMAC_INT_RGSMIIS | GMAC_INT_PCS_LINK | \ + GMAC_INT_PCS_ANE) + +-#define GMAC_INT_DEFAULT_MASK GMAC_INT_PMT_EN ++#define GMAC_INT_DEFAULT_MASK (GMAC_INT_PMT_EN | GMAC_INT_LPI_EN) + + enum dwmac4_irq_status { + time_stamp_irq = 0x00001000, +@@ -106,6 +106,7 @@ enum dwmac4_irq_status { + mmc_tx_irq = 0x00000400, + mmc_rx_irq = 0x00000200, + mmc_irq = 0x00000100, ++ lpi_irq = 0x00000020, + pmt_irq = 0x00000010, + }; + +@@ -132,6 +133,10 @@ enum power_event { + #define GMAC4_LPI_CTRL_STATUS_LPITXA BIT(19) /* Enable LPI TX Automate */ + #define GMAC4_LPI_CTRL_STATUS_PLS BIT(17) /* PHY Link Status */ + #define GMAC4_LPI_CTRL_STATUS_LPIEN BIT(16) /* LPI Enable */ ++#define GMAC4_LPI_CTRL_STATUS_RLPIEX BIT(3) /* Receive LPI Exit */ ++#define GMAC4_LPI_CTRL_STATUS_RLPIEN BIT(2) /* Receive LPI Entry */ ++#define GMAC4_LPI_CTRL_STATUS_TLPIEX BIT(1) /* Transmit LPI Exit */ ++#define GMAC4_LPI_CTRL_STATUS_TLPIEN BIT(0) /* Transmit LPI Entry */ + + /* MAC Debug bitmap */ + #define GMAC_DEBUG_TFCSTS_MASK GENMASK(18, 17) +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +index 2f7d7ec59962a..f3ed8f7853eb4 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +@@ -580,6 +580,25 @@ static int dwmac4_irq_status(struct mac_device_info *hw, + x->irq_receive_pmt_irq_n++; + } + ++ /* MAC tx/rx EEE LPI entry/exit interrupts */ ++ if (intr_status & lpi_irq) { ++ /* Clear LPI interrupt by reading MAC_LPI_Control_Status */ ++ u32 status = readl(ioaddr + GMAC4_LPI_CTRL_STATUS); ++ ++ if (status & GMAC4_LPI_CTRL_STATUS_TLPIEN) { ++ ret |= CORE_IRQ_TX_PATH_IN_LPI_MODE; ++ x->irq_tx_path_in_lpi_mode_n++; ++ } ++ if (status & GMAC4_LPI_CTRL_STATUS_TLPIEX) { ++ ret |= CORE_IRQ_TX_PATH_EXIT_LPI_MODE; ++ x->irq_tx_path_exit_lpi_mode_n++; ++ } ++ if (status & GMAC4_LPI_CTRL_STATUS_RLPIEN) ++ x->irq_rx_path_in_lpi_mode_n++; ++ if (status & GMAC4_LPI_CTRL_STATUS_RLPIEX) ++ x->irq_rx_path_exit_lpi_mode_n++; ++ } ++ + dwmac_pcs_isr(ioaddr, GMAC_PCS_BASE, intr_status, x); + if (intr_status & PCS_RGSMIIIS_IRQ) + dwmac4_phystatus(ioaddr, x); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/032_linux-4.14.y-backport-net-0010-net-stmmac-dwmac-sun8i-fix_allwinner,leds-active-low.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/032_linux-4.14.y-backport-net-0010-net-stmmac-dwmac-sun8i-fix_allwinner,leds-active-low.patch new file mode 100644 index 000000000..7435b7af2 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/032_linux-4.14.y-backport-net-0010-net-stmmac-dwmac-sun8i-fix_allwinner,leds-active-low.patch @@ -0,0 +1,32 @@ +From 1c08ac0c4bd8e9d66c4dde29bc496c3b430dd028 Mon Sep 17 00:00:00 2001 +From: Corentin Labbe +Date: Tue, 28 Nov 2017 17:48:22 +0100 +Subject: [PATCH] net: stmmac: dwmac-sun8i: fix allwinner,leds-active-low + handling + +The driver expect "allwinner,leds-active-low" to be in PHY node, but +the binding doc expect it to be in MAC node. + +Since all board DT use it also in MAC node, the driver need to search +allwinner,leds-active-low in MAC node. + +Signed-off-by: Corentin Labbe +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +index e5ff734d4f9b2..9eb7f65d8000d 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +@@ -808,8 +808,7 @@ static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) + val, reg); + + if (gmac->variant->soc_has_internal_phy) { +- if (of_property_read_bool(priv->plat->phy_node, +- "allwinner,leds-active-low")) ++ if (of_property_read_bool(node, "allwinner,leds-active-low")) + reg |= H3_EPHY_LED_POL; + else + reg &= ~H3_EPHY_LED_POL; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/033_linux-4.14.y-backport-net-0011-ethernet-dwmac-stm32-fix_copyright.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/033_linux-4.14.y-backport-net-0011-ethernet-dwmac-stm32-fix_copyright.patch new file mode 100644 index 000000000..ae376676a --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/033_linux-4.14.y-backport-net-0011-ethernet-dwmac-stm32-fix_copyright.patch @@ -0,0 +1,30 @@ +From f6454f80e8a965fca203dab28723f68ec78db608 Mon Sep 17 00:00:00 2001 +From: Benjamin Gaignard +Date: Wed, 29 Nov 2017 15:20:00 +0100 +Subject: [PATCH] ethernet: dwmac-stm32: Fix copyright + +Uniformize STMicroelectronics copyrights header + +Signed-off-by: Benjamin Gaignard +CC: Alexandre Torgue +Acked-by: Alexandre TORGUE +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c +index 61cb24810d101..9e6db16af663b 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c +@@ -1,8 +1,8 @@ + /* + * dwmac-stm32.c - DWMAC Specific Glue layer for STM32 MCU + * +- * Copyright (C) Alexandre Torgue 2015 +- * Author: Alexandre Torgue ++ * Copyright (C) STMicroelectronics SA 2017 ++ * Author: Alexandre Torgue for STMicroelectronics. + * License terms: GNU General Public License (GPL), version 2 + * + */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/034_linux-4.14.y-backport-net-0012-net-stmmac-fix_broken_dma_interrupt_handling_for.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/034_linux-4.14.y-backport-net-0012-net-stmmac-fix_broken_dma_interrupt_handling_for.patch new file mode 100644 index 000000000..cf763e6da --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/034_linux-4.14.y-backport-net-0012-net-stmmac-fix_broken_dma_interrupt_handling_for.patch @@ -0,0 +1,128 @@ +From 5a6a0445d1edb28fc89fd12b49cda2d5114e2665 Mon Sep 17 00:00:00 2001 +From: Niklas Cassel +Date: Thu, 7 Dec 2017 23:56:10 +0100 +Subject: [PATCH] net: stmmac: fix broken dma_interrupt handling for + multi-queues + +There is nothing that says that number of TX queues == number of RX +queues. E.g. the ARTPEC-6 SoC has 2 TX queues and 1 RX queue. + +This code is obviously wrong: +for (chan = 0; chan < tx_channel_count; chan++) { + struct stmmac_rx_queue *rx_q = &priv->rx_queue[chan]; + +priv->rx_queue has size MTL_MAX_RX_QUEUES, so this will send an +uninitialized napi_struct to __napi_schedule(), causing us to +crash in net_rx_action(), because napi_struct->poll is zero. + +[12846.759880] Unable to handle kernel NULL pointer dereference at virtual address 00000000 +[12846.768014] pgd = (ptrval) +[12846.770742] [00000000] *pgd=39ec7831, *pte=00000000, *ppte=00000000 +[12846.777023] Internal error: Oops: 80000007 [#1] PREEMPT SMP ARM +[12846.782942] Modules linked in: +[12846.785998] CPU: 0 PID: 161 Comm: dropbear Not tainted 4.15.0-rc2-00285-gf5fb5f2f39a7 #36 +[12846.794177] Hardware name: Axis ARTPEC-6 Platform +[12846.798879] task: (ptrval) task.stack: (ptrval) +[12846.803407] PC is at 0x0 +[12846.805942] LR is at net_rx_action+0x274/0x43c +[12846.810383] pc : [<00000000>] lr : [<80bff064>] psr: 200e0113 +[12846.816648] sp : b90d9ae8 ip : b90d9ae8 fp : b90d9b44 +[12846.821871] r10: 00000008 r9 : 0013250e r8 : 00000100 +[12846.827094] r7 : 0000012c r6 : 00000000 r5 : 00000001 r4 : bac84900 +[12846.833619] r3 : 00000000 r2 : b90d9b08 r1 : 00000000 r0 : bac84900 + +Since each DMA channel can be used for rx and tx simultaneously, +the current code should probably be rewritten so that napi_struct is +embedded in a new struct stmmac_channel. +That way, stmmac_poll() can call stmmac_tx_clean() on just the tx queue +where we got the IRQ, instead of looping through all tx queues. +This is also how the xgbe driver does it (another driver for this IP). + +Fixes: c22a3f48ef99 ("net: stmmac: adding multiple napi mechanism") +Signed-off-by: Niklas Cassel +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 54 +++++++++++++++++++---- + 1 file changed, 46 insertions(+), 8 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +index d7250539d0bd0..c52a9963c19d5 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -1997,22 +1997,60 @@ static void stmmac_set_dma_operation_mode(struct stmmac_priv *priv, u32 txmode, + static void stmmac_dma_interrupt(struct stmmac_priv *priv) + { + u32 tx_channel_count = priv->plat->tx_queues_to_use; +- int status; ++ u32 rx_channel_count = priv->plat->rx_queues_to_use; ++ u32 channels_to_check = tx_channel_count > rx_channel_count ? ++ tx_channel_count : rx_channel_count; + u32 chan; ++ bool poll_scheduled = false; ++ int status[channels_to_check]; ++ ++ /* Each DMA channel can be used for rx and tx simultaneously, yet ++ * napi_struct is embedded in struct stmmac_rx_queue rather than in a ++ * stmmac_channel struct. ++ * Because of this, stmmac_poll currently checks (and possibly wakes) ++ * all tx queues rather than just a single tx queue. ++ */ ++ for (chan = 0; chan < channels_to_check; chan++) ++ status[chan] = priv->hw->dma->dma_interrupt(priv->ioaddr, ++ &priv->xstats, ++ chan); + +- for (chan = 0; chan < tx_channel_count; chan++) { +- struct stmmac_rx_queue *rx_q = &priv->rx_queue[chan]; ++ for (chan = 0; chan < rx_channel_count; chan++) { ++ if (likely(status[chan] & handle_rx)) { ++ struct stmmac_rx_queue *rx_q = &priv->rx_queue[chan]; + +- status = priv->hw->dma->dma_interrupt(priv->ioaddr, +- &priv->xstats, chan); +- if (likely((status & handle_rx)) || (status & handle_tx)) { + if (likely(napi_schedule_prep(&rx_q->napi))) { + stmmac_disable_dma_irq(priv, chan); + __napi_schedule(&rx_q->napi); ++ poll_scheduled = true; ++ } ++ } ++ } ++ ++ /* If we scheduled poll, we already know that tx queues will be checked. ++ * If we didn't schedule poll, see if any DMA channel (used by tx) has a ++ * completed transmission, if so, call stmmac_poll (once). ++ */ ++ if (!poll_scheduled) { ++ for (chan = 0; chan < tx_channel_count; chan++) { ++ if (status[chan] & handle_tx) { ++ /* It doesn't matter what rx queue we choose ++ * here. We use 0 since it always exists. ++ */ ++ struct stmmac_rx_queue *rx_q = ++ &priv->rx_queue[0]; ++ ++ if (likely(napi_schedule_prep(&rx_q->napi))) { ++ stmmac_disable_dma_irq(priv, chan); ++ __napi_schedule(&rx_q->napi); ++ } ++ break; + } + } ++ } + +- if (unlikely(status & tx_hard_error_bump_tc)) { ++ for (chan = 0; chan < tx_channel_count; chan++) { ++ if (unlikely(status[chan] & tx_hard_error_bump_tc)) { + /* Try to bump up the dma threshold on this failure */ + if (unlikely(priv->xstats.threshold != SF_DMA_MODE) && + (tc <= 256)) { +@@ -2029,7 +2067,7 @@ static void stmmac_dma_interrupt(struct stmmac_priv *priv) + chan); + priv->xstats.threshold = tc; + } +- } else if (unlikely(status == tx_hard_error)) { ++ } else if (unlikely(status[chan] == tx_hard_error)) { + stmmac_tx_err(priv, chan); + } + } diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/035_linux-4.14.y-backport-net-0013-net-stmmac-pad_ring_number_with_zeroes_in_display_ring.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/035_linux-4.14.y-backport-net-0013-net-stmmac-pad_ring_number_with_zeroes_in_display_ring.patch new file mode 100644 index 000000000..d6a39b820 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/035_linux-4.14.y-backport-net-0013-net-stmmac-pad_ring_number_with_zeroes_in_display_ring.patch @@ -0,0 +1,56 @@ +From bdb421663d936eb9b29c743a668614276cf3b97d Mon Sep 17 00:00:00 2001 +From: Florian Fainelli +Date: Fri, 29 Dec 2017 19:56:32 -0800 +Subject: [PATCH] net: stmmac: Pad ring number with zeroes in display_ring() + +Make the printing of the ring number consistent and properly aligned by +padding the ring number with up to 3 zeroes, which covers the maximum +ring size. This makes it a lot easier to see outliers in debug prints. + +Signed-off-by: Florian Fainelli +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c | 2 +- + drivers/net/ethernet/stmicro/stmmac/enh_desc.c | 2 +- + drivers/net/ethernet/stmicro/stmmac/norm_desc.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c +index 7e089bf906b4f..2fd8456999f69 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c +@@ -406,7 +406,7 @@ static void dwmac4_display_ring(void *head, unsigned int size, bool rx) + pr_info("%s descriptor ring:\n", rx ? "RX" : "TX"); + + for (i = 0; i < size; i++) { +- pr_info("%d [0x%x]: 0x%x 0x%x 0x%x 0x%x\n", ++ pr_info("%03d [0x%x]: 0x%x 0x%x 0x%x 0x%x\n", + i, (unsigned int)virt_to_phys(p), + le32_to_cpu(p->des0), le32_to_cpu(p->des1), + le32_to_cpu(p->des2), le32_to_cpu(p->des3)); +diff --git a/drivers/net/ethernet/stmicro/stmmac/enh_desc.c b/drivers/net/ethernet/stmicro/stmmac/enh_desc.c +index 2a828a3128142..b47cb5c4da513 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/enh_desc.c ++++ b/drivers/net/ethernet/stmicro/stmmac/enh_desc.c +@@ -428,7 +428,7 @@ static void enh_desc_display_ring(void *head, unsigned int size, bool rx) + u64 x; + + x = *(u64 *)ep; +- pr_info("%d [0x%x]: 0x%x 0x%x 0x%x 0x%x\n", ++ pr_info("%03d [0x%x]: 0x%x 0x%x 0x%x 0x%x\n", + i, (unsigned int)virt_to_phys(ep), + (unsigned int)x, (unsigned int)(x >> 32), + ep->basic.des2, ep->basic.des3); +diff --git a/drivers/net/ethernet/stmicro/stmmac/norm_desc.c b/drivers/net/ethernet/stmicro/stmmac/norm_desc.c +index db4cee57bb246..ebd9e5e00f161 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/norm_desc.c ++++ b/drivers/net/ethernet/stmicro/stmmac/norm_desc.c +@@ -288,7 +288,7 @@ static void ndesc_display_ring(void *head, unsigned int size, bool rx) + u64 x; + + x = *(u64 *)p; +- pr_info("%d [0x%x]: 0x%x 0x%x 0x%x 0x%x", ++ pr_info("%03d [0x%x]: 0x%x 0x%x 0x%x 0x%x", + i, (unsigned int)virt_to_phys(p), + (unsigned int)x, (unsigned int)(x >> 32), + p->des2, p->des3); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/036_linux-4.14.y-backport-net-0014-net-stmmac-dwmac-meson8b-only_configure_the_clocks_in.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/036_linux-4.14.y-backport-net-0014-net-stmmac-dwmac-meson8b-only_configure_the_clocks_in.patch new file mode 100644 index 000000000..c68200318 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/036_linux-4.14.y-backport-net-0014-net-stmmac-dwmac-meson8b-only_configure_the_clocks_in.patch @@ -0,0 +1,133 @@ +From 37512b42f082d784a012c3734ef109f25d199786 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Mon, 15 Jan 2018 18:10:12 +0100 +Subject: [PATCH] net: stmmac: dwmac-meson8b: only configure the clocks in + RGMII mode + +Neither the m25_div_clk nor the m250_div_clk or m250_mux_clk are used in +RMII mode. The m25_div_clk output is routed to the RGMII PHY's "RGMII +clock". +This means that we don't need to configure the clocks in RMII mode. The +driver however did this - with no effect since the clocks are not routed +to the PHY in RMII mode. + +While here also rename meson8b_init_clk to meson8b_init_rgmii_tx_clk to +make it easier to understand the code. + +Fixes: 566e8251625304 ("net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC") +Signed-off-by: Martin Blumenstingl +Tested-by: Jerome Brunet +Signed-off-by: David S. Miller +--- + .../net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 46 ++++++++++------------ + 1 file changed, 21 insertions(+), 25 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c +index 4404650b32c5e..c6f87e9c4ccb3 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c +@@ -81,7 +81,7 @@ static void meson8b_dwmac_mask_bits(struct meson8b_dwmac *dwmac, u32 reg, + writel(data, dwmac->regs + reg); + } + +-static int meson8b_init_clk(struct meson8b_dwmac *dwmac) ++static int meson8b_init_rgmii_tx_clk(struct meson8b_dwmac *dwmac) + { + struct clk_init_data init; + int i, ret; +@@ -176,7 +176,6 @@ static int meson8b_init_clk(struct meson8b_dwmac *dwmac) + static int meson8b_init_prg_eth(struct meson8b_dwmac *dwmac) + { + int ret; +- unsigned long clk_rate; + u8 tx_dly_val = 0; + + switch (dwmac->phy_mode) { +@@ -191,9 +190,6 @@ static int meson8b_init_prg_eth(struct meson8b_dwmac *dwmac) + + case PHY_INTERFACE_MODE_RGMII_ID: + case PHY_INTERFACE_MODE_RGMII_TXID: +- /* Generate a 25MHz clock for the PHY */ +- clk_rate = 25 * 1000 * 1000; +- + /* enable RGMII mode */ + meson8b_dwmac_mask_bits(dwmac, PRG_ETH0, PRG_ETH0_RGMII_MODE, + PRG_ETH0_RGMII_MODE); +@@ -204,12 +200,24 @@ static int meson8b_init_prg_eth(struct meson8b_dwmac *dwmac) + + meson8b_dwmac_mask_bits(dwmac, PRG_ETH0, PRG_ETH0_TXDLY_MASK, + tx_dly_val << PRG_ETH0_TXDLY_SHIFT); ++ ++ ret = clk_prepare_enable(dwmac->m25_div_clk); ++ if (ret) { ++ dev_err(&dwmac->pdev->dev, "failed to enable the PHY clock\n"); ++ return ret; ++ } ++ ++ /* Generate the 25MHz RGMII clock for the PHY */ ++ ret = clk_set_rate(dwmac->m25_div_clk, 25 * 1000 * 1000); ++ if (ret) { ++ clk_disable_unprepare(dwmac->m25_div_clk); ++ ++ dev_err(&dwmac->pdev->dev, "failed to set PHY clock\n"); ++ return ret; ++ } + break; + + case PHY_INTERFACE_MODE_RMII: +- /* Use the rate of the mux clock for the internal RMII PHY */ +- clk_rate = clk_get_rate(dwmac->m250_mux_clk); +- + /* disable RGMII mode -> enables RMII mode */ + meson8b_dwmac_mask_bits(dwmac, PRG_ETH0, PRG_ETH0_RGMII_MODE, + 0); +@@ -231,20 +239,6 @@ static int meson8b_init_prg_eth(struct meson8b_dwmac *dwmac) + return -EINVAL; + } + +- ret = clk_prepare_enable(dwmac->m25_div_clk); +- if (ret) { +- dev_err(&dwmac->pdev->dev, "failed to enable the PHY clock\n"); +- return ret; +- } +- +- ret = clk_set_rate(dwmac->m25_div_clk, clk_rate); +- if (ret) { +- clk_disable_unprepare(dwmac->m25_div_clk); +- +- dev_err(&dwmac->pdev->dev, "failed to set PHY clock\n"); +- return ret; +- } +- + /* enable TX_CLK and PHY_REF_CLK generator */ + meson8b_dwmac_mask_bits(dwmac, PRG_ETH0, PRG_ETH0_TX_AND_PHY_REF_CLK, + PRG_ETH0_TX_AND_PHY_REF_CLK); +@@ -294,7 +288,7 @@ static int meson8b_dwmac_probe(struct platform_device *pdev) + &dwmac->tx_delay_ns)) + dwmac->tx_delay_ns = 2; + +- ret = meson8b_init_clk(dwmac); ++ ret = meson8b_init_rgmii_tx_clk(dwmac); + if (ret) + goto err_remove_config_dt; + +@@ -311,7 +305,8 @@ static int meson8b_dwmac_probe(struct platform_device *pdev) + return 0; + + err_clk_disable: +- clk_disable_unprepare(dwmac->m25_div_clk); ++ if (phy_interface_mode_is_rgmii(dwmac->phy_mode)) ++ clk_disable_unprepare(dwmac->m25_div_clk); + err_remove_config_dt: + stmmac_remove_config_dt(pdev, plat_dat); + +@@ -322,7 +317,8 @@ static int meson8b_dwmac_remove(struct platform_device *pdev) + { + struct meson8b_dwmac *dwmac = get_stmmac_bsp_priv(&pdev->dev); + +- clk_disable_unprepare(dwmac->m25_div_clk); ++ if (phy_interface_mode_is_rgmii(dwmac->phy_mode)) ++ clk_disable_unprepare(dwmac->m25_div_clk); + + return stmmac_pltfr_remove(pdev); + } diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/037_linux-4.14.y-backport-net-0015-net-stmmac-dwmac-meson8b-fix_internal_rgmii_clock.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/037_linux-4.14.y-backport-net-0015-net-stmmac-dwmac-meson8b-fix_internal_rgmii_clock.patch new file mode 100644 index 000000000..31786ee28 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/037_linux-4.14.y-backport-net-0015-net-stmmac-dwmac-meson8b-fix_internal_rgmii_clock.patch @@ -0,0 +1,215 @@ +From 4f6a71b84e1afdf13827741e7421a844203cf8d0 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Mon, 15 Jan 2018 18:10:13 +0100 +Subject: [PATCH] net: stmmac: dwmac-meson8b: fix internal RGMII clock + configuration +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Tests (using an oscilloscope and an Odroid-C1 board with a RTL8211F +RGMII PHY) have shown that the PRG_ETH0 register behaves as follows: +- bit 4 is a mux to choose between two parent clocks. according to the + public S805 datasheet the only supported parent clock is MPLL2 (this + was not verified using the oscilloscope). + The public S805/S905 datasheet claims that this bit is reserved. +- bits 9:7 control a one-based divider (register value 1 means "divide + by 1", etc.) for the input clock. we call this clock the "m250_div" + clock because it's value is always supposed to be (close to) 250MHz + (see below for an explanation). + The description in the public S805/S905 datasheet is a bit cryptic, + but it comes down to "input clock = 250MHz * value" (which could also + be expressed as "250MHz = input clock / value") +- there seems to be an internal fixed divide-by-2 clock which takes the + output from the m250_div and divides it by 2. This is not unusual on + Amlogic SoCs, since the SDIO (MMC) driver also uses an internal fixed + divide-by-2 clock. + This is not documented in the public S805/S905 datasheet +- bit 10 controls a gate clock which enables or disables the RGMII TX + clock (which is an output on the MAC/SoC and an input in the PHY). we + call this the "rgmii_tx_en" clock. if this bit is set to "0" the RGMII + TX clock output is close to 0 + The description for this bit in the public S805/S905 datasheet is + "Generate 25MHz clock for PHY". Based on these tests it's believed + that this is wrong, and should probably read "Generate the 125MHz + RGMII TX clock for the PHY" +- the RGMII TX clock has to be set to 125MHz - the IP block adjusts the + output (automatically) depending on the line speed (RGMII specifies + that Gbit connections use a 125MHz clock, 100Mbit/s connections use a + 25MHz clock and 10Mbit/s connections use a 2.5MHz clock. only Gbit and + 100Mbit/s were tested with an oscilloscope). Due to the requirement + that this clock always has to be set to 125MHz and due to the fixed + divide-by-2 parent clock this means that m250_div will always end up + with a rate of (close to) 250MHz. +- bits 6:5 are the TX delay, which is also named "clock phase" in some + of Amlogic's older GPL kernel sources. + +The PHY also has an XTAL_IN pin where a 25MHz clock has to be provided. +Tests with the oscilloscope have shown that this is routed to a crystal +right next to the RTL8211F PHY. The same seems to be true on the Khadas +VIM2 (which uses a GXM SoC) board - however the 25MHz crystal is on the +other side of the PCB there. + +This updates the clocks in the dwmac-meson8b driver by replacing the +"m25_div" with the "rgmii_tx_en" clock and additionally introducing a +fixed divide-by-2 clock between "m250_div" and "rgmii_tx_en". +Now we also need to set a frequency of 125MHz on the RGMII clock +(opposed to the 25MHz we set before, with that non-existing +divide-by-5-or-10 divider). + +Special thanks go to Linus Lüssing for testing the various bits and +checking the results with an oscilloscope on his Odroid-C1! + +Fixes: 566e8251625304 ("net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC") +Reported-by: Emiliano Ingrassia +Signed-off-by: Martin Blumenstingl +Acked-by: Jerome Brunet +Tested-by: Jerome Brunet +Signed-off-by: David S. Miller +--- + .../net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 79 +++++++++++++--------- + 1 file changed, 47 insertions(+), 32 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c +index c6f87e9c4ccb3..7930a152dd634 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c +@@ -40,9 +40,7 @@ + #define PRG_ETH0_CLK_M250_DIV_SHIFT 7 + #define PRG_ETH0_CLK_M250_DIV_WIDTH 3 + +-/* divides the result of m25_sel by either 5 (bit unset) or 10 (bit set) */ +-#define PRG_ETH0_CLK_M25_DIV_SHIFT 10 +-#define PRG_ETH0_CLK_M25_DIV_WIDTH 1 ++#define PRG_ETH0_RGMII_TX_CLK_EN 10 + + #define PRG_ETH0_INVERTED_RMII_CLK BIT(11) + #define PRG_ETH0_TX_AND_PHY_REF_CLK BIT(12) +@@ -63,8 +61,11 @@ struct meson8b_dwmac { + struct clk_divider m250_div; + struct clk *m250_div_clk; + +- struct clk_divider m25_div; +- struct clk *m25_div_clk; ++ struct clk_fixed_factor fixed_div2; ++ struct clk *fixed_div2_clk; ++ ++ struct clk_gate rgmii_tx_en; ++ struct clk *rgmii_tx_en_clk; + + u32 tx_delay_ns; + }; +@@ -89,11 +90,6 @@ static int meson8b_init_rgmii_tx_clk(struct meson8b_dwmac *dwmac) + char clk_name[32]; + const char *clk_div_parents[1]; + const char *mux_parent_names[MUX_CLK_NUM_PARENTS]; +- static const struct clk_div_table clk_25m_div_table[] = { +- { .val = 0, .div = 5 }, +- { .val = 1, .div = 10 }, +- { /* sentinel */ }, +- }; + + /* get the mux parents from DT */ + for (i = 0; i < MUX_CLK_NUM_PARENTS; i++) { +@@ -150,25 +146,40 @@ static int meson8b_init_rgmii_tx_clk(struct meson8b_dwmac *dwmac) + if (WARN_ON(IS_ERR(dwmac->m250_div_clk))) + return PTR_ERR(dwmac->m250_div_clk); + +- /* create the m25_div */ +- snprintf(clk_name, sizeof(clk_name), "%s#m25_div", dev_name(dev)); ++ /* create the fixed_div2 */ ++ snprintf(clk_name, sizeof(clk_name), "%s#fixed_div2", dev_name(dev)); + init.name = devm_kstrdup(dev, clk_name, GFP_KERNEL); +- init.ops = &clk_divider_ops; +- init.flags = CLK_IS_BASIC | CLK_SET_RATE_PARENT; ++ init.ops = &clk_fixed_factor_ops; ++ init.flags = CLK_SET_RATE_PARENT; + clk_div_parents[0] = __clk_get_name(dwmac->m250_div_clk); + init.parent_names = clk_div_parents; + init.num_parents = ARRAY_SIZE(clk_div_parents); + +- dwmac->m25_div.reg = dwmac->regs + PRG_ETH0; +- dwmac->m25_div.shift = PRG_ETH0_CLK_M25_DIV_SHIFT; +- dwmac->m25_div.width = PRG_ETH0_CLK_M25_DIV_WIDTH; +- dwmac->m25_div.table = clk_25m_div_table; +- dwmac->m25_div.hw.init = &init; +- dwmac->m25_div.flags = CLK_DIVIDER_ALLOW_ZERO; ++ dwmac->fixed_div2.mult = 1; ++ dwmac->fixed_div2.div = 2; ++ dwmac->fixed_div2.hw.init = &init; + +- dwmac->m25_div_clk = devm_clk_register(dev, &dwmac->m25_div.hw); +- if (WARN_ON(IS_ERR(dwmac->m25_div_clk))) +- return PTR_ERR(dwmac->m25_div_clk); ++ dwmac->fixed_div2_clk = devm_clk_register(dev, &dwmac->fixed_div2.hw); ++ if (WARN_ON(IS_ERR(dwmac->fixed_div2_clk))) ++ return PTR_ERR(dwmac->fixed_div2_clk); ++ ++ /* create the rgmii_tx_en */ ++ init.name = devm_kasprintf(dev, GFP_KERNEL, "%s#rgmii_tx_en", ++ dev_name(dev)); ++ init.ops = &clk_gate_ops; ++ init.flags = CLK_SET_RATE_PARENT; ++ clk_div_parents[0] = __clk_get_name(dwmac->fixed_div2_clk); ++ init.parent_names = clk_div_parents; ++ init.num_parents = ARRAY_SIZE(clk_div_parents); ++ ++ dwmac->rgmii_tx_en.reg = dwmac->regs + PRG_ETH0; ++ dwmac->rgmii_tx_en.bit_idx = PRG_ETH0_RGMII_TX_CLK_EN; ++ dwmac->rgmii_tx_en.hw.init = &init; ++ ++ dwmac->rgmii_tx_en_clk = devm_clk_register(dev, ++ &dwmac->rgmii_tx_en.hw); ++ if (WARN_ON(IS_ERR(dwmac->rgmii_tx_en_clk))) ++ return PTR_ERR(dwmac->rgmii_tx_en_clk); + + return 0; + } +@@ -201,18 +212,22 @@ static int meson8b_init_prg_eth(struct meson8b_dwmac *dwmac) + meson8b_dwmac_mask_bits(dwmac, PRG_ETH0, PRG_ETH0_TXDLY_MASK, + tx_dly_val << PRG_ETH0_TXDLY_SHIFT); + +- ret = clk_prepare_enable(dwmac->m25_div_clk); ++ /* Configure the 125MHz RGMII TX clock, the IP block changes ++ * the output automatically (= without us having to configure ++ * a register) based on the line-speed (125MHz for Gbit speeds, ++ * 25MHz for 100Mbit/s and 2.5MHz for 10Mbit/s). ++ */ ++ ret = clk_set_rate(dwmac->rgmii_tx_en_clk, 125 * 1000 * 1000); + if (ret) { +- dev_err(&dwmac->pdev->dev, "failed to enable the PHY clock\n"); ++ dev_err(&dwmac->pdev->dev, ++ "failed to set RGMII TX clock\n"); + return ret; + } + +- /* Generate the 25MHz RGMII clock for the PHY */ +- ret = clk_set_rate(dwmac->m25_div_clk, 25 * 1000 * 1000); ++ ret = clk_prepare_enable(dwmac->rgmii_tx_en_clk); + if (ret) { +- clk_disable_unprepare(dwmac->m25_div_clk); +- +- dev_err(&dwmac->pdev->dev, "failed to set PHY clock\n"); ++ dev_err(&dwmac->pdev->dev, ++ "failed to enable the RGMII TX clock\n"); + return ret; + } + break; +@@ -306,7 +321,7 @@ static int meson8b_dwmac_probe(struct platform_device *pdev) + + err_clk_disable: + if (phy_interface_mode_is_rgmii(dwmac->phy_mode)) +- clk_disable_unprepare(dwmac->m25_div_clk); ++ clk_disable_unprepare(dwmac->rgmii_tx_en_clk); + err_remove_config_dt: + stmmac_remove_config_dt(pdev, plat_dat); + +@@ -318,7 +333,7 @@ static int meson8b_dwmac_remove(struct platform_device *pdev) + struct meson8b_dwmac *dwmac = get_stmmac_bsp_priv(&pdev->dev); + + if (phy_interface_mode_is_rgmii(dwmac->phy_mode)) +- clk_disable_unprepare(dwmac->m25_div_clk); ++ clk_disable_unprepare(dwmac->rgmii_tx_en_clk); + + return stmmac_pltfr_remove(pdev); + } diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/038_linux-4.14.y-backport-net-0018-net-stmmac-fix_reception_of_broadcom_switches_tags.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/038_linux-4.14.y-backport-net-0018-net-stmmac-fix_reception_of_broadcom_switches_tags.patch new file mode 100644 index 000000000..292b5a417 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/038_linux-4.14.y-backport-net-0018-net-stmmac-fix_reception_of_broadcom_switches_tags.patch @@ -0,0 +1,168 @@ +From 8cad443eacf661796a740903a75cb8944c675b4e Mon Sep 17 00:00:00 2001 +From: Florian Fainelli +Date: Thu, 18 Jan 2018 15:12:21 -0800 +Subject: [PATCH] net: stmmac: Fix reception of Broadcom switches tags + +Broadcom tags inserted by Broadcom switches put a 4 byte header after +the MAC SA and before the EtherType, which may look like some sort of 0 +length LLC/SNAP packet (tcpdump and wireshark do think that way). With +ACS enabled in stmmac the packets were truncated to 8 bytes on +reception, whereas clearing this bit allowed normal reception to occur. + +In order to make that possible, we need to pass a net_device argument to +the different core_init() functions and we are dependent on the Broadcom +tagger padding packets correctly (which it now does). To be as little +invasive as possible, this is only done for gmac1000 when the network +device is DSA-enabled (netdev_uses_dsa() returns true). + +Signed-off-by: Florian Fainelli +Acked-by: Giuseppe Cavallaro +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/common.h | 2 +- + drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 3 ++- + drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c | 12 +++++++++++- + drivers/net/ethernet/stmicro/stmmac/dwmac100_core.c | 15 +++++++++++++-- + drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 12 +++++++++++- + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- + 6 files changed, 39 insertions(+), 7 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h +index ce2ea2d491aca..2ffe76c0ff742 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/common.h ++++ b/drivers/net/ethernet/stmicro/stmmac/common.h +@@ -474,7 +474,7 @@ struct mac_device_info; + /* Helpers to program the MAC core */ + struct stmmac_ops { + /* MAC core initialization */ +- void (*core_init)(struct mac_device_info *hw, int mtu); ++ void (*core_init)(struct mac_device_info *hw, struct net_device *dev); + /* Enable the MAC RX/TX */ + void (*set_mac)(void __iomem *ioaddr, bool enable); + /* Enable and verify that the IPC module is supported */ +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +index 9eb7f65d8000d..a3fa65b1ca8e5 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +@@ -483,7 +483,8 @@ static int sun8i_dwmac_init(struct platform_device *pdev, void *priv) + return 0; + } + +-static void sun8i_dwmac_core_init(struct mac_device_info *hw, int mtu) ++static void sun8i_dwmac_core_init(struct mac_device_info *hw, ++ struct net_device *dev) + { + void __iomem *ioaddr = hw->pcsr; + u32 v; +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c +index 8a86340ff2d34..540d21786a43b 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c +@@ -25,18 +25,28 @@ + #include + #include + #include ++#include + #include + #include "stmmac_pcs.h" + #include "dwmac1000.h" + +-static void dwmac1000_core_init(struct mac_device_info *hw, int mtu) ++static void dwmac1000_core_init(struct mac_device_info *hw, ++ struct net_device *dev) + { + void __iomem *ioaddr = hw->pcsr; + u32 value = readl(ioaddr + GMAC_CONTROL); ++ int mtu = dev->mtu; + + /* Configure GMAC core */ + value |= GMAC_CORE_INIT; + ++ /* Clear ACS bit because Ethernet switch tagging formats such as ++ * Broadcom tags can look like invalid LLC/SNAP packets and cause the ++ * hardware to truncate packets on reception. ++ */ ++ if (netdev_uses_dsa(dev)) ++ value &= ~GMAC_CONTROL_ACS; ++ + if (mtu > 1500) + value |= GMAC_CONTROL_2K; + if (mtu > 2000) +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac100_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac100_core.c +index 8ef5173563134..91b23f9db31ad 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac100_core.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac100_core.c +@@ -25,15 +25,26 @@ + *******************************************************************************/ + + #include ++#include + #include + #include "dwmac100.h" + +-static void dwmac100_core_init(struct mac_device_info *hw, int mtu) ++static void dwmac100_core_init(struct mac_device_info *hw, ++ struct net_device *dev) + { + void __iomem *ioaddr = hw->pcsr; + u32 value = readl(ioaddr + MAC_CONTROL); + +- writel((value | MAC_CORE_INIT), ioaddr + MAC_CONTROL); ++ value |= MAC_CORE_INIT; ++ ++ /* Clear ASTP bit because Ethernet switch tagging formats such as ++ * Broadcom tags can look like invalid LLC/SNAP packets and cause the ++ * hardware to truncate packets on reception. ++ */ ++ if (netdev_uses_dsa(dev)) ++ value &= ~MAC_CONTROL_ASTP; ++ ++ writel(value, ioaddr + MAC_CONTROL); + + #ifdef STMMAC_VLAN_TAG_USED + writel(ETH_P_8021Q, ioaddr + MAC_VLAN1); +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +index f3ed8f7853eb4..ed222b20fcf19 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +@@ -17,16 +17,26 @@ + #include + #include + #include ++#include + #include "stmmac_pcs.h" + #include "dwmac4.h" + +-static void dwmac4_core_init(struct mac_device_info *hw, int mtu) ++static void dwmac4_core_init(struct mac_device_info *hw, ++ struct net_device *dev) + { + void __iomem *ioaddr = hw->pcsr; + u32 value = readl(ioaddr + GMAC_CONFIG); ++ int mtu = dev->mtu; + + value |= GMAC_CORE_INIT; + ++ /* Clear ACS bit because Ethernet switch tagging formats such as ++ * Broadcom tags can look like invalid LLC/SNAP packets and cause the ++ * hardware to truncate packets on reception. ++ */ ++ if (netdev_uses_dsa(dev)) ++ value &= ~GMAC_CONFIG_ACS; ++ + if (mtu > 1500) + value |= GMAC_CONFIG_2K; + if (mtu > 2000) +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +index f99f14c35063d..7ad841434ec8d 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -2527,7 +2527,7 @@ static int stmmac_hw_setup(struct net_device *dev, bool init_ptp) + } + + /* Initialize the MAC Core */ +- priv->hw->mac->core_init(priv->hw, dev->mtu); ++ priv->hw->mac->core_init(priv->hw, dev); + + /* Initialize MTL*/ + if (priv->synopsys_id >= DWMAC_CORE_4_00) diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/039_linux-4.14.y-backport-net-0019-net-stmmac-do_not_use_a_bitwise_and_operator_with_a_bool.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/039_linux-4.14.y-backport-net-0019-net-stmmac-do_not_use_a_bitwise_and_operator_with_a_bool.patch new file mode 100644 index 000000000..7ae271b9a --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/039_linux-4.14.y-backport-net-0019-net-stmmac-do_not_use_a_bitwise_and_operator_with_a_bool.patch @@ -0,0 +1,59 @@ +From d8f8b9542a4d8d560c0292a492f4edd922dd4ece Mon Sep 17 00:00:00 2001 +From: Niklas Cassel +Date: Mon, 22 Jan 2018 16:59:50 +0100 +Subject: [PATCH] net: stmmac: do not use a bitwise AND operator with a bool + operand + +Doing a bitwise AND between a bool and an int is generally not a good idea. +The bool will be promoted to an int with value 0 or 1, +the int is generally regarded as true with a non-zero value, +thus ANDing them has the potential to yield an undesired result. + +This commit fixes the following smatch warnings: + +drivers/net/ethernet/stmicro/stmmac/enh_desc.c:344 enh_desc_prepare_tx_desc() warn: maybe use && instead of & +drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c:337 dwmac4_rd_prepare_tx_desc() warn: maybe use && instead of & +drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c:380 dwmac4_rd_prepare_tso_tx_desc() warn: maybe use && instead of & + +Signed-off-by: Niklas Cassel +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c | 4 ++-- + drivers/net/ethernet/stmicro/stmmac/enh_desc.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c +index 2fd8456999f69..c728ffa095de0 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c +@@ -334,7 +334,7 @@ static void dwmac4_rd_prepare_tx_desc(struct dma_desc *p, int is_fs, int len, + if (tx_own) + tdes3 |= TDES3_OWN; + +- if (is_fs & tx_own) ++ if (is_fs && tx_own) + /* When the own bit, for the first frame, has to be set, all + * descriptors for the same frame has to be set before, to + * avoid race condition. +@@ -377,7 +377,7 @@ static void dwmac4_rd_prepare_tso_tx_desc(struct dma_desc *p, int is_fs, + if (tx_own) + tdes3 |= TDES3_OWN; + +- if (is_fs & tx_own) ++ if (is_fs && tx_own) + /* When the own bit, for the first frame, has to be set, all + * descriptors for the same frame has to be set before, to + * avoid race condition. +diff --git a/drivers/net/ethernet/stmicro/stmmac/enh_desc.c b/drivers/net/ethernet/stmicro/stmmac/enh_desc.c +index b47cb5c4da513..6768a25b6aa09 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/enh_desc.c ++++ b/drivers/net/ethernet/stmicro/stmmac/enh_desc.c +@@ -341,7 +341,7 @@ static void enh_desc_prepare_tx_desc(struct dma_desc *p, int is_fs, int len, + if (tx_own) + tdes0 |= ETDES0_OWN; + +- if (is_fs & tx_own) ++ if (is_fs && tx_own) + /* When the own bit, for the first frame, has to be set, all + * descriptors for the same frame has to be set before, to + * avoid race condition. diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/040_linux-4.14.y-backport-net-0020-net-stmmac-rename_gmac_int_default_mask_for_dwmac4.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/040_linux-4.14.y-backport-net-0020-net-stmmac-rename_gmac_int_default_mask_for_dwmac4.patch new file mode 100644 index 000000000..6eddc7a3b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/040_linux-4.14.y-backport-net-0020-net-stmmac-rename_gmac_int_default_mask_for_dwmac4.patch @@ -0,0 +1,46 @@ +From e879b7ab3739d8f9990961fc7df2f63861bd780b Mon Sep 17 00:00:00 2001 +From: Niklas Cassel +Date: Fri, 9 Feb 2018 17:22:46 +0100 +Subject: [PATCH] net: stmmac: rename GMAC_INT_DEFAULT_MASK for dwmac4 + +GMAC_INT_DEFAULT_MASK is written to the interrupt enable register. +In previous versions of the IP (e.g. dwmac1000), this register was +instead an interrupt mask register. +To improve clarity and reflect reality, rename GMAC_INT_DEFAULT_MASK +to GMAC_INT_DEFAULT_ENABLE. + +Signed-off-by: Niklas Cassel +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 2 +- + drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4.h b/drivers/net/ethernet/stmicro/stmmac/dwmac4.h +index 789dad8a07b5c..7761a26ec9c56 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4.h ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4.h +@@ -98,7 +98,7 @@ + #define GMAC_PCS_IRQ_DEFAULT (GMAC_INT_RGSMIIS | GMAC_INT_PCS_LINK | \ + GMAC_INT_PCS_ANE) + +-#define GMAC_INT_DEFAULT_MASK (GMAC_INT_PMT_EN | GMAC_INT_LPI_EN) ++#define GMAC_INT_DEFAULT_ENABLE (GMAC_INT_PMT_EN | GMAC_INT_LPI_EN) + + enum dwmac4_irq_status { + time_stamp_irq = 0x00001000, +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +index 1e0a7668b7529..6badc63d8e6d3 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +@@ -61,8 +61,8 @@ static void dwmac4_core_init(struct mac_device_info *hw, + + writel(value, ioaddr + GMAC_CONFIG); + +- /* Mask GMAC interrupts */ +- value = GMAC_INT_DEFAULT_MASK; ++ /* Enable GMAC interrupts */ ++ value = GMAC_INT_DEFAULT_ENABLE; + if (hw->pmt) + value |= GMAC_INT_PMT_EN; + if (hw->pcs) diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/041_linux-4.14.y-backport-net-0021-net-stmmac-remove_redundant_enable_of_pmt_irq.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/041_linux-4.14.y-backport-net-0021-net-stmmac-remove_redundant_enable_of_pmt_irq.patch new file mode 100644 index 000000000..a50ae8011 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/041_linux-4.14.y-backport-net-0021-net-stmmac-remove_redundant_enable_of_pmt_irq.patch @@ -0,0 +1,49 @@ +From 1029117127540fef4edcf4f0887dc3e1f7d5adb2 Mon Sep 17 00:00:00 2001 +From: Niklas Cassel +Date: Fri, 9 Feb 2018 17:22:47 +0100 +Subject: [PATCH] net: stmmac: remove redundant enable of PMT irq + +For dwmac4, GMAC_INT_DEFAULT_ENABLE already includes +GMAC_INT_PMT_EN, so it is redundant to check if hw->pmt +is set, and if so, setting the bit again. + +For dwmac1000, GMAC_INT_DEFAULT_MASK does not include +GMAC_INT_DISABLE_PMT, so it is redundant to check if +hw->pmt is set, and if so, clearing an already cleared bit. + +Improve code readability by removing this redundant code. + +Signed-off-by: Niklas Cassel +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c | 2 -- + drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 3 +-- + 2 files changed, 1 insertion(+), 4 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c +index 540d21786a43b..ef10baf141862 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c +@@ -74,8 +74,6 @@ static void dwmac1000_core_init(struct mac_device_info *hw, + /* Mask GMAC interrupts */ + value = GMAC_INT_DEFAULT_MASK; + +- if (hw->pmt) +- value &= ~GMAC_INT_DISABLE_PMT; + if (hw->pcs) + value &= ~GMAC_INT_DISABLE_PCS; + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +index 6badc63d8e6d3..63795ecafc8dc 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +@@ -63,8 +63,7 @@ static void dwmac4_core_init(struct mac_device_info *hw, + + /* Enable GMAC interrupts */ + value = GMAC_INT_DEFAULT_ENABLE; +- if (hw->pmt) +- value |= GMAC_INT_PMT_EN; ++ + if (hw->pcs) + value |= GMAC_PCS_IRQ_DEFAULT; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/042_linux-4.14.y-backport-net-1000-net-stmmac-setup_timer_-_timer_setup.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/042_linux-4.14.y-backport-net-1000-net-stmmac-setup_timer_-_timer_setup.patch new file mode 100644 index 000000000..7bff6097d --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/042_linux-4.14.y-backport-net-1000-net-stmmac-setup_timer_-_timer_setup.patch @@ -0,0 +1,60 @@ +From e99e88a9d2b067465adaa9c111ada99a041bef9a Mon Sep 17 00:00:00 2001 +From: Kees Cook +Date: Mon, 16 Oct 2017 14:43:17 -0700 +Subject: [PATCH] net: stmmac: setup_timer() -> timer_setup() + +This converts all remaining cases of the old setup_timer() API into using +timer_setup(), where the callback argument is the structure already +holding the struct timer_list. These should have no behavioral changes, +since they just change which pointer is passed into the callback with +the same available pointers after conversion. + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +index ff4fb5eae1af3..f63c2ddced3c9 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -345,9 +345,9 @@ void stmmac_disable_eee_mode(struct stmmac_priv *priv) + * if there is no data transfer and if we are not in LPI state, + * then MAC Transmitter can be moved to LPI state. + */ +-static void stmmac_eee_ctrl_timer(unsigned long arg) ++static void stmmac_eee_ctrl_timer(struct timer_list *t) + { +- struct stmmac_priv *priv = (struct stmmac_priv *)arg; ++ struct stmmac_priv *priv = from_timer(priv, t, eee_ctrl_timer); + + stmmac_enable_eee_mode(priv); + mod_timer(&priv->eee_ctrl_timer, STMMAC_LPI_T(eee_timer)); +@@ -401,9 +401,8 @@ bool stmmac_eee_init(struct stmmac_priv *priv) + spin_lock_irqsave(&priv->lock, flags); + if (!priv->eee_active) { + priv->eee_active = 1; +- setup_timer(&priv->eee_ctrl_timer, +- stmmac_eee_ctrl_timer, +- (unsigned long)priv); ++ timer_setup(&priv->eee_ctrl_timer, ++ stmmac_eee_ctrl_timer, 0); + mod_timer(&priv->eee_ctrl_timer, + STMMAC_LPI_T(eee_timer)); + +@@ -2221,9 +2220,9 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv) + * Description: + * This is the timer handler to directly invoke the stmmac_tx_clean. + */ +-static void stmmac_tx_timer(unsigned long data) ++static void stmmac_tx_timer(struct timer_list *t) + { +- struct stmmac_priv *priv = (struct stmmac_priv *)data; ++ struct stmmac_priv *priv = from_timer(priv, t, txtimer); + u32 tx_queues_count = priv->plat->tx_queues_to_use; + u32 queue; + +@@ -2244,7 +2243,7 @@ static void stmmac_init_tx_coalesce(struct stmmac_priv *priv) + { + priv->tx_coal_frames = STMMAC_TX_FRAMES; + priv->tx_coal_timer = STMMAC_COAL_TX_TIMER; +- setup_timer(&priv->txtimer, stmmac_tx_timer, (unsigned long)priv); ++ timer_setup(&priv->txtimer, stmmac_tx_timer, 0); + priv->txtimer.expires = STMMAC_COAL_TIMER(priv->tx_coal_timer); + add_timer(&priv->txtimer); + } diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/043_linux-4.14.y-backport-net-1001-net-stmmac-replace_all_pr_xxx_by_their_netdev_xxx.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/043_linux-4.14.y-backport-net-1001-net-stmmac-replace_all_pr_xxx_by_their_netdev_xxx.patch new file mode 100644 index 000000000..af1431118 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/043_linux-4.14.y-backport-net-1001-net-stmmac-replace_all_pr_xxx_by_their_netdev_xxx.patch @@ -0,0 +1,15 @@ +diff -urN a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 2018-05-01 18:26:12.093131654 +0200 ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 2018-04-29 05:32:21.590669392 +0200 +@@ -3442,9 +3442,8 @@ + if (netif_msg_rx_status(priv)) { + netdev_dbg(priv->dev, "\tdesc: %p [entry %d] buff=0x%x\n", + p, entry, des); +- if (frame_len > ETH_FRAME_LEN) +- netdev_dbg(priv->dev, "frame size %d, COE: %d\n", +- frame_len, status); ++ netdev_dbg(priv->dev, "frame size %d, COE: %d\n", ++ frame_len, status); + } + + /* The zero-copy is always used for all the sizes diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/044_linux-4.14.y-bpo-dts-0001-arm64-dts-meson-gxl-libretech-cc-enable_saradc.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/044_linux-4.14.y-bpo-dts-0001-arm64-dts-meson-gxl-libretech-cc-enable_saradc.patch new file mode 100644 index 000000000..421ccc6ba --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/044_linux-4.14.y-bpo-dts-0001-arm64-dts-meson-gxl-libretech-cc-enable_saradc.patch @@ -0,0 +1,45 @@ +From dd47e4a36afd6c606f20e6d58e58f8e7e472c8fe Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Tue, 5 Sep 2017 19:09:55 +0200 +Subject: [PATCH] ARM64: dts: meson-gxl-libretech-cc: enable saradc + +Enable saradc and add the reference 1.8v regulator required. +The libretech-cc has saradc channel 0 and 2 available on the 2 first +pins of 2J3 header + +Signed-off-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +index 64c54c92e214d..a8aa9ce5f55e3 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +@@ -96,6 +96,13 @@ + regulator-settling-time-down-us = <50000>; + }; + ++ vddio_ao18: regulator-vddio_ao18 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_AO18"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ + vddio_boot: regulator-vddio_boot { + compatible = "regulator-fixed"; + regulator-name = "VDDIO_BOOT"; +@@ -196,6 +203,11 @@ + "7J1 Header Pin15"; + }; + ++&saradc { ++ status = "okay"; ++ vref-supply = <&vddio_ao18>; ++}; ++ + /* SD card */ + &sd_emmc_b { + status = "okay"; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/045_linux-4.14.y-bpo-dts-0002-arm64-dts-meson-gxl-libretech-cc-enable_internal_phy_leds.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/045_linux-4.14.y-bpo-dts-0002-arm64-dts-meson-gxl-libretech-cc-enable_internal_phy_leds.patch new file mode 100644 index 000000000..440f4c98f --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/045_linux-4.14.y-bpo-dts-0002-arm64-dts-meson-gxl-libretech-cc-enable_internal_phy_leds.patch @@ -0,0 +1,29 @@ +From dac161871fb592816826ef11b742554fb3dc2fe3 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Wed, 6 Sep 2017 14:25:47 +0200 +Subject: [PATCH] ARM64: dts: meson-gxl-libretech-cc: enable internal phy leds + +Enable the internal phy ACT and LINK leds pinmux + +Signed-off-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +index a8aa9ce5f55e3..6d023fa27067b 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +@@ -128,6 +128,11 @@ + status = "okay"; + }; + ++&internal_phy { ++ pinctrl-0 = <ð_link_led_pins>, <ð_act_led_pins>; ++ pinctrl-names = "default"; ++}; ++ + &ir { + status = "okay"; + pinctrl-0 = <&remote_input_ao_pins>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/046_linux-4.14.y-bpo-dts-0003-arm64-dts-meson-gxbb-adjust_nanopi-k2_gpio-line-names.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/046_linux-4.14.y-bpo-dts-0003-arm64-dts-meson-gxbb-adjust_nanopi-k2_gpio-line-names.patch new file mode 100644 index 000000000..acdff4b8e --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/046_linux-4.14.y-bpo-dts-0003-arm64-dts-meson-gxbb-adjust_nanopi-k2_gpio-line-names.patch @@ -0,0 +1,43 @@ +From 1ce2c00878dbd4f8adfd2f0d64f01855072340a5 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 21 Sep 2017 19:14:47 +0200 +Subject: [PATCH] ARM64: dts: meson-gxbb: adjust nanopi-k2 gpio-line-names + +GPIOX22 is now declared properly and TEST_N has been moved so +the gpio-line-names of the nanopi-k2 must be adjusted accordingly + +Signed-off-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +index 4b17a76959b2f..745d77f7cde13 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +@@ -183,7 +183,9 @@ + "VCCK En", "CON1 Header Pin31", + "I2S Header Pin6", "IR In", "I2S Header Pin7", + "I2S Header Pin3", "I2S Header Pin4", +- "I2S Header Pin5", "HDMI CEC", "SYS LED"; ++ "I2S Header Pin5", "HDMI CEC", "SYS LED", ++ /* GPIO_TEST_N */ ++ ""; + }; + + &pinctrl_periphs { +@@ -229,11 +231,9 @@ + "Bluetooth UART TX", "Bluetooth UART RX", + "Bluetooth UART CTS", "Bluetooth UART RTS", + "", "", "", "WIFI 32K", "Bluetooth Enable", +- "Bluetooth WAKE HOST", ++ "Bluetooth WAKE HOST", "", + /* Bank GPIOCLK */ +- "", "CON1 Header Pin35", "", "", +- /* GPIO_TEST_N */ +- ""; ++ "", "CON1 Header Pin35", "", ""; + }; + + &pwm_ef { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/047_linux-4.14.y-bpo-dts-0004-arm64-dts-meson-gxbb-adjust_odroid-c2_gpio-line-names.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/047_linux-4.14.y-bpo-dts-0004-arm64-dts-meson-gxbb-adjust_odroid-c2_gpio-line-names.patch new file mode 100644 index 000000000..aad3e9581 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/047_linux-4.14.y-bpo-dts-0004-arm64-dts-meson-gxbb-adjust_odroid-c2_gpio-line-names.patch @@ -0,0 +1,43 @@ +From e43f20e844290655eecdd8a5038bc80964837889 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 21 Sep 2017 19:14:48 +0200 +Subject: [PATCH] ARM64: dts: meson-gxbb: adjust odroid-c2 gpio-line-names + +GPIOX22 is now declared properly and TEST_N has been moved so +the gpio-line-names of the odroid-c2 must be adjusted accordingly + +Signed-off-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +index 1ffa1c238a725..a2f75194bc0cc 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +@@ -194,7 +194,9 @@ + "USB HUB nRESET", "USB OTG Power En", + "J7 Header Pin2", "IR In", "J7 Header Pin4", + "J7 Header Pin6", "J7 Header Pin5", "J7 Header Pin7", +- "HDMI CEC", "SYS LED"; ++ "HDMI CEC", "SYS LED", ++ /* GPIO_TEST_N */ ++ ""; + }; + + &pinctrl_periphs { +@@ -233,11 +235,9 @@ + "J2 Header Pin12", "J2 Header Pin13", + "J2 Header Pin8", "J2 Header Pin10", + "", "", "", "", "", +- "J2 Header Pin11", "", "J2 Header Pin7", ++ "J2 Header Pin11", "", "J2 Header Pin7", "", + /* Bank GPIOCLK */ +- "", "", "", "", +- /* GPIO_TEST_N */ +- ""; ++ "", "", "", ""; + }; + + &saradc { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/048_linux-4.14.y-bpo-dts-0005-arm64-dts-meson-gxl-adjust_kvim_gpio-line-names.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/048_linux-4.14.y-bpo-dts-0005-arm64-dts-meson-gxl-adjust_kvim_gpio-line-names.patch new file mode 100644 index 000000000..fc42dce94 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/048_linux-4.14.y-bpo-dts-0005-arm64-dts-meson-gxl-adjust_kvim_gpio-line-names.patch @@ -0,0 +1,40 @@ +From c6496b47aeaef38fcd5a4fa5a90c82caebde538f Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 21 Sep 2017 19:14:49 +0200 +Subject: [PATCH] ARM64: dts: meson-gxl: adjust kvim gpio-line-names + +TEST_N gpio has been moved so the gpio-line-names of the kvim +must be adjusted accordingly + +Signed-off-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +index edc512ad0bac3..71a6e1ce7ad58 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +@@ -122,7 +122,9 @@ + "J9 Header Pin33", + "IR In", + "HDMI CEC", +- "SYS LED"; ++ "SYS LED", ++ /* GPIO_TEST_N */ ++ ""; + }; + + &pinctrl_periphs { +@@ -163,9 +165,7 @@ + "WIFI 32K", "Bluetooth Enable", + "Bluetooth WAKE HOST", + /* Bank GPIOCLK */ +- "", "J9 Header Pin39", +- /* GPIO_TEST_N */ +- ""; ++ "", "J9 Header Pin39"; + }; + + &pwm_AO_ab { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/049_linux-4.14.y-bpo-dts-0006-arm64-dts-meson-gxl-adjust_libretech-cc_gpio-line-names.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/049_linux-4.14.y-bpo-dts-0006-arm64-dts-meson-gxl-adjust_libretech-cc_gpio-line-names.patch new file mode 100644 index 000000000..5702f0861 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/049_linux-4.14.y-bpo-dts-0006-arm64-dts-meson-gxl-adjust_libretech-cc_gpio-line-names.patch @@ -0,0 +1,40 @@ +From 1d70eaada70a355acd95a9022a84e476858ceba1 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 21 Sep 2017 19:16:04 +0200 +Subject: [PATCH] ARM64: dts: meson-gxl: adjust libretech-cc gpio-line-names + +TEST_N gpio has been moved so the gpio-line-names of the cc +must be adjusted accordingly + +Signed-off-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +index 6d023fa27067b..c862540749384 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +@@ -161,7 +161,9 @@ + "7J1 Header Pin12", + "IR In", + "9J3 Switch HDMI CEC/7J1 Header Pin11", +- "7J1 Header Pin13"; ++ "7J1 Header Pin13", ++ /* GPIO_TEST_N */ ++ "7J1 Header Pin15"; + }; + + &pinctrl_periphs { +@@ -203,9 +205,7 @@ + "7J1 Header Pin32", "7J1 Header Pin29", + "7J1 Header Pin31", + /* Bank GPIOCLK */ +- "7J1 Header Pin7", "", +- /* GPIO_TEST_N */ +- "7J1 Header Pin15"; ++ "7J1 Header Pin7", ""; + }; + + &saradc { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/050_linux-4.14.y-bpo-dts-0007-arm64-dts-meson-gxl-take_emmc_data_strobe_out_of_emmc_pins.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/050_linux-4.14.y-bpo-dts-0007-arm64-dts-meson-gxl-take_emmc_data_strobe_out_of_emmc_pins.patch new file mode 100644 index 000000000..60e4e1a32 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/050_linux-4.14.y-bpo-dts-0007-arm64-dts-meson-gxl-take_emmc_data_strobe_out_of_emmc_pins.patch @@ -0,0 +1,226 @@ +From ab36be660bad40133e1c6a028ba79e46c5d6f3c7 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Tue, 3 Oct 2017 17:24:42 +0200 +Subject: [PATCH] ARM64: dts: meson-gxl: Take eMMC data strobe out of eMMC pins + +Since the Data Strobe pin is optional, take it out of the default +eMMC pins and add a separate entry. + +Signed-off-by: Neil Armstrong +Tested-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 10 ++++++++-- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 10 ++++++++-- + arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts | 2 +- + arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts | 2 +- + 14 files changed, 28 insertions(+), 16 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +index 4157987f4a3d2..7d4b95e499935 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +@@ -213,7 +213,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +index 745d77f7cde13..2e853c082a654 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +@@ -302,7 +302,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "disabled"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +index 38dfdde5c1473..9a773239dcef9 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +@@ -272,7 +272,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +index a2f75194bc0cc..1deaa53c9fb56 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +@@ -271,7 +271,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi +index 23c08c3afd0ab..932158a778ef8 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi +@@ -242,7 +242,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi +index f2bc6dea1fc62..1fe8e24cf675c 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi +@@ -199,7 +199,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +index 99ec6216c84a2..3d41db9c9d226 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +@@ -386,8 +386,14 @@ + mux { + groups = "emmc_nand_d07", + "emmc_cmd", +- "emmc_clk", +- "emmc_ds"; ++ "emmc_clk"; ++ function = "emmc"; ++ }; ++ }; ++ ++ emmc_ds_pins: emmc-ds { ++ mux { ++ groups = "emmc_ds"; + function = "emmc"; + }; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts +index 977b4240f3c1b..e82582574160c 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts +@@ -141,7 +141,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +index c862540749384..dc9c3b8216c2b 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +@@ -238,7 +238,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +index 1b8f32867aa10..271f142791808 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +@@ -229,7 +229,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +index 129af9068814d..ff09df1fd5a32 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +@@ -135,7 +135,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +index e7cfe87be3b44..19c001abb0c51 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +@@ -275,8 +275,14 @@ + mux { + groups = "emmc_nand_d07", + "emmc_cmd", +- "emmc_clk", +- "emmc_ds"; ++ "emmc_clk"; ++ function = "emmc"; ++ }; ++ }; ++ ++ emmc_ds_pins: emmc-ds { ++ mux { ++ groups = "emmc_ds"; + function = "emmc"; + }; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +index 22c697732f668..e7a228f6cc7e7 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +@@ -193,7 +193,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts +index 470f72bb863c5..a5e9b955d5ed3 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts +@@ -216,7 +216,7 @@ + /* eMMC */ + &sd_emmc_c { + status = "okay"; +- pinctrl-0 = <&emmc_pins>; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-names = "default"; + + bus-width = <8>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/051_linux-4.14.y-bpo-dts-0008-arm64-dts-meson-gxm-add_support_for_khadas_vim2.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/051_linux-4.14.y-bpo-dts-0008-arm64-dts-meson-gxm-add_support_for_khadas_vim2.patch new file mode 100644 index 000000000..ffb48af7c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/051_linux-4.14.y-bpo-dts-0008-arm64-dts-meson-gxm-add_support_for_khadas_vim2.patch @@ -0,0 +1,454 @@ +From b8b74dda3908660f49a5d5cec28725e3950e00d5 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Tue, 3 Oct 2017 17:24:43 +0200 +Subject: [PATCH] ARM64: dts: meson-gxm: Add support for Khadas VIM2 + +The Khadas VIM2 is a Single Board Computer, respin of the origin +Khadas VIM board, using an Amlogic S912 SoC and more server oriented. + +It provides the same external connectors and header pinout, plus a SPI +NOR Flash, a reprogrammable STM8S003 MCU, FPC Connector, Cooling FAN header +and Pogo Pads Arrays. + +Cc: Gouwa +Acked-by: Martin Blumenstingl +Acked-by: Rob Herring +Signed-off-by: Neil Armstrong +Tested-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + Documentation/devicetree/bindings/arm/amlogic.txt | 1 + + arch/arm64/boot/dts/amlogic/Makefile | 1 + + .../boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 399 +++++++++++++++++++++ + 3 files changed, 401 insertions(+) + create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts + +diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt +index 4e4bc0bae597a..a44599739746b 100644 +--- a/Documentation/devicetree/bindings/arm/amlogic.txt ++++ b/Documentation/devicetree/bindings/arm/amlogic.txt +@@ -71,6 +71,7 @@ Board compatible values (alphabetically, grouped by SoC): + + - "amlogic,q200" (Meson gxm s912) + - "amlogic,q201" (Meson gxm s912) ++ - "khadas,vim2" (Meson gxm s912) + - "kingnovel,r-box-pro" (Meson gxm S912) + - "nexbox,a1" (Meson gxm s912) + +diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile +index 7a9f48c27b1f5..70246e3ecd5c6 100644 +--- a/arch/arm64/boot/dts/amlogic/Makefile ++++ b/arch/arm64/boot/dts/amlogic/Makefile +@@ -15,6 +15,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb ++dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxm-nexbox-a1.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb + dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q201.dtb +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +new file mode 100644 +index 0000000000000..32c138ec0e587 +--- /dev/null ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -0,0 +1,399 @@ ++/* ++ * Copyright (c) 2017 Martin Blumenstingl . ++ * Copyright (c) 2017 BayLibre, SAS ++ * Author: Neil Armstrong ++ * ++ * SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++ */ ++ ++/dts-v1/; ++ ++#include ++#include ++ ++#include "meson-gxm.dtsi" ++ ++/ { ++ compatible = "khadas,vim2", "amlogic,s912", "amlogic,meson-gxm"; ++ model = "Khadas VIM2"; ++ ++ aliases { ++ serial0 = &uart_AO; ++ serial1 = &uart_A; ++ serial2 = &uart_AO_B; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ memory@0 { ++ device_type = "memory"; ++ reg = <0x0 0x0 0x0 0x80000000>; ++ }; ++ ++ adc-keys { ++ compatible = "adc-keys"; ++ io-channels = <&saradc 0>; ++ io-channel-names = "buttons"; ++ keyup-threshold-microvolt = <1710000>; ++ ++ button-function { ++ label = "Function"; ++ linux,code = ; ++ press-threshold-microvolt = <10000>; ++ }; ++ }; ++ ++ emmc_pwrseq: emmc-pwrseq { ++ compatible = "mmc-pwrseq-emmc"; ++ reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; ++ }; ++ ++ gpio_fan: gpio-fan { ++ compatible = "gpio-fan"; ++ gpios = <&gpio GPIODV_14 GPIO_ACTIVE_HIGH ++ &gpio GPIODV_15 GPIO_ACTIVE_HIGH>; ++ /* Dummy RPM values since fan is optional */ ++ gpio-fan,speed-map = <0 0 ++ 1 1 ++ 2 2 ++ 3 3>; ++ cooling-min-level = <0>; ++ cooling-max-level = <3>; ++ #cooling-cells = <2>; ++ }; ++ ++ gpio-keys-polled { ++ compatible = "gpio-keys-polled"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ poll-interval = <100>; ++ ++ button@0 { ++ label = "power"; ++ linux,code = ; ++ gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++ ++ hdmi-connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ++ port { ++ hdmi_connector_in: endpoint { ++ remote-endpoint = <&hdmi_tx_tmds_out>; ++ }; ++ }; ++ }; ++ ++ pwmleds { ++ compatible = "pwm-leds"; ++ ++ power { ++ label = "vim:red:power"; ++ pwms = <&pwm_AO_ab 1 7812500 0>; ++ max-brightness = <255>; ++ linux,default-trigger = "default-on"; ++ }; ++ }; ++ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; ++ clocks = <&wifi32k>; ++ clock-names = "ext_clock"; ++ }; ++ ++ thermal-zones { ++ cpu-thermal { ++ polling-delay-passive = <250>; /* milliseconds */ ++ polling-delay = <1000>; /* milliseconds */ ++ ++ thermal-sensors = <&scpi_sensors 0>; ++ ++ trips { ++ cpu_alert0: cpu-alert0 { ++ temperature = <70000>; /* millicelsius */ ++ hysteresis = <2000>; /* millicelsius */ ++ type = "active"; ++ }; ++ ++ cpu_alert1: cpu-alert1 { ++ temperature = <80000>; /* millicelsius */ ++ hysteresis = <2000>; /* millicelsius */ ++ type = "passive"; ++ }; ++ }; ++ ++ cooling-maps { ++ map0 { ++ trip = <&cpu_alert0>; ++ cooling-device = <&gpio_fan THERMAL_NO_LIMIT 1>; ++ }; ++ ++ map1 { ++ trip = <&cpu_alert1>; ++ cooling-device = <&gpio_fan 2 THERMAL_NO_LIMIT>; ++ }; ++ ++ map2 { ++ trip = <&cpu_alert1>; ++ cooling-device = ++ <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ ++ map3 { ++ trip = <&cpu_alert1>; ++ cooling-device = ++ <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ }; ++ }; ++ }; ++ ++ vcc_3v3: regulator-vcc_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VCC_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++ ++ vddio_ao18: regulator-vddio_ao18 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_AO18"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ ++ vddio_boot: regulator-vddio_boot { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_BOOT"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ ++ vddao_3v3: regulator-vddao_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDAO_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++ ++ wifi32k: wifi32k { ++ compatible = "pwm-clock"; ++ #clock-cells = <0>; ++ clock-frequency = <32768>; ++ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ ++ }; ++}; ++ ++&cec_AO { ++ status = "okay"; ++ pinctrl-0 = <&ao_cec_pins>; ++ pinctrl-names = "default"; ++ hdmi-phandle = <&hdmi_tx>; ++}; ++ ++&cpu0 { ++ cooling-min-level = <0>; ++ cooling-max-level = <6>; ++ #cooling-cells = <2>; ++}; ++ ++&cpu4 { ++ cooling-min-level = <0>; ++ cooling-max-level = <4>; ++ #cooling-cells = <2>; ++}; ++ ++ðmac { ++ pinctrl-0 = <ð_pins>; ++ pinctrl-names = "default"; ++ ++ /* Select external PHY by default */ ++ phy-handle = <&external_phy>; ++ ++ amlogic,tx-delay-ns = <2>; ++ ++ /* External PHY reset is shared with internal PHY Led signals */ ++ snps,reset-gpio = <&gpio GPIOZ_14 0>; ++ snps,reset-delays-us = <0 10000 1000000>; ++ snps,reset-active-low; ++ ++ /* External PHY is in RGMII */ ++ phy-mode = "rgmii"; ++ ++ status = "okay"; ++}; ++ ++&external_mdio { ++ external_phy: ethernet-phy@0 { ++ /* Realtek RTL8211F (0x001cc916) */ ++ reg = <0>; ++ }; ++}; ++ ++&hdmi_tx { ++ status = "okay"; ++ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&hdmi_tx_tmds_port { ++ hdmi_tx_tmds_out: endpoint { ++ remote-endpoint = <&hdmi_connector_in>; ++ }; ++}; ++ ++&i2c_A { ++ status = "okay"; ++ pinctrl-0 = <&i2c_a_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&i2c_B { ++ status = "okay"; ++ pinctrl-0 = <&i2c_b_pins>; ++ pinctrl-names = "default"; ++ ++ rtc: rtc@51 { ++ /* has to be enabled manually when a battery is connected: */ ++ status = "disabled"; ++ compatible = "haoyu,hym8563"; ++ reg = <0x51>; ++ #clock-cells = <0>; ++ clock-frequency = <32768>; ++ clock-output-names = "xin32k"; ++ }; ++}; ++ ++&ir { ++ status = "okay"; ++ pinctrl-0 = <&remote_input_ao_pins>; ++ pinctrl-names = "default"; ++ linux,rc-map-name = "rc-geekbox"; ++}; ++ ++&pwm_AO_ab { ++ status = "okay"; ++ pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>; ++ pinctrl-names = "default"; ++ clocks = <&clkc CLKID_FCLK_DIV4>; ++ clock-names = "clkin0"; ++}; ++ ++&pwm_ef { ++ status = "okay"; ++ pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>; ++ pinctrl-names = "default"; ++ clocks = <&clkc CLKID_FCLK_DIV4>; ++ clock-names = "clkin0"; ++}; ++ ++&sd_emmc_a { ++ status = "okay"; ++ pinctrl-0 = <&sdio_pins>; ++ pinctrl-names = "default"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ bus-width = <4>; ++ max-frequency = <100000000>; ++ ++ non-removable; ++ disable-wp; ++ ++ mmc-pwrseq = <&sdio_pwrseq>; ++ ++ vmmc-supply = <&vddao_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++ ++ brcmf: wifi@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ }; ++}; ++ ++/* SD card */ ++&sd_emmc_b { ++ status = "okay"; ++ pinctrl-0 = <&sdcard_pins>; ++ pinctrl-names = "default"; ++ ++ bus-width = <4>; ++ cap-sd-highspeed; ++ max-frequency = <100000000>; ++ disable-wp; ++ ++ cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; ++ cd-inverted; ++ ++ vmmc-supply = <&vddao_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++}; ++ ++/* eMMC */ ++&sd_emmc_c { ++ status = "okay"; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; ++ pinctrl-names = "default"; ++ ++ bus-width = <8>; ++ cap-sd-highspeed; ++ cap-mmc-highspeed; ++ max-frequency = <200000000>; ++ non-removable; ++ disable-wp; ++ mmc-ddr-1_8v; ++ mmc-hs200-1_8v; ++ ++ mmc-pwrseq = <&emmc_pwrseq>; ++ vmmc-supply = <&vcc_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++}; ++ ++/* ++ * EMMC_DS pin is shared between SPI NOR CS and eMMC Data Strobe ++ * Remove emmc_ds_pins from sd_emmc_c pinctrl-0 then spifc can be enabled ++ */ ++&spifc { ++ status = "disabled"; ++ pinctrl-0 = <&nor_pins>; ++ pinctrl-names = "default"; ++ ++ w25q32: spi-flash@0 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "winbond,w25q16", "jedec,spi-nor"; ++ reg = <0>; ++ spi-max-frequency = <3000000>; ++ }; ++}; ++ ++/* This one is connected to the Bluetooth module */ ++&uart_A { ++ status = "okay"; ++ pinctrl-0 = <&uart_a_pins>; ++ pinctrl-names = "default"; ++}; ++ ++/* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */ ++&uart_AO { ++ status = "okay"; ++ pinctrl-0 = <&uart_ao_a_pins>; ++ pinctrl-names = "default"; ++}; ++ ++/* This is brought out on the UART_RX_AO_B (15) and UART_TX_AO_B (16) pins: */ ++&uart_AO_B { ++ status = "okay"; ++ pinctrl-0 = <&uart_ao_b_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&saradc { ++ status = "okay"; ++ vref-supply = <&vddio_ao18>; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/052_linux-4.14.y-bpo-dts-0009-arm64-dts-meson-gxbb-nexbox-a95x-enable_usb_nodes.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/052_linux-4.14.y-bpo-dts-0009-arm64-dts-meson-gxbb-nexbox-a95x-enable_usb_nodes.patch new file mode 100644 index 000000000..9ec860c2f --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/052_linux-4.14.y-bpo-dts-0009-arm64-dts-meson-gxbb-nexbox-a95x-enable_usb_nodes.patch @@ -0,0 +1,59 @@ +From e2f4d749e73a468902f2d2453b1575602427c069 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Thu, 5 Oct 2017 15:21:18 +0200 +Subject: [PATCH] ARM64: dts: meson-gxbb-nexbox-a95x: Enable USB Nodes + +Enable both gxbb USB controllers and add a 5V regulator for the OTG port +VBUS, similar to p20x. + +Signed-off-by: Peter Korsgaard +Acked-by: Neil Armstrong +Signed-off-by: Kevin Hilman +--- + .../boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts | 29 ++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +index 9a773239dcef9..818954b1d57f8 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +@@ -88,6 +88,18 @@ + }; + }; + ++ usb_pwr: regulator-usb-pwrs { ++ compatible = "regulator-fixed"; ++ ++ regulator-name = "USB_PWR"; ++ ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ ++ gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; ++ + vddio_card: gpio-regulator { + compatible = "regulator-gpio"; + +@@ -294,3 +306,20 @@ + pinctrl-0 = <&uart_ao_a_pins>; + pinctrl-names = "default"; + }; ++ ++&usb0_phy { ++ status = "okay"; ++ phy-supply = <&usb_pwr>; ++}; ++ ++&usb1_phy { ++ status = "okay"; ++}; ++ ++&usb0 { ++ status = "okay"; ++}; ++ ++&usb1 { ++ status = "okay"; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/053_linux-4.14.y-bpo-dts-0010-arm64-dts-meson-gxm-enable_hs400_on_the_vim2.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/053_linux-4.14.y-bpo-dts-0010-arm64-dts-meson-gxm-enable_hs400_on_the_vim2.patch new file mode 100644 index 000000000..0ce3c8a49 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/053_linux-4.14.y-bpo-dts-0010-arm64-dts-meson-gxm-enable_hs400_on_the_vim2.patch @@ -0,0 +1,25 @@ +From a1d759cf528064e73c06d318cd03213c4eafbc35 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Tue, 10 Oct 2017 16:18:22 +0200 +Subject: [PATCH] ARM64: dts: meson-gxm: enable HS400 on the vim2 + +Enable HS400 high speed eMMC mode on the khadas vim2 + +Signed-off-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +index 32c138ec0e587..34a41b26a4ed2 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -348,6 +348,7 @@ + disable-wp; + mmc-ddr-1_8v; + mmc-hs200-1_8v; ++ mmc-hs400-1_8v; + + mmc-pwrseq = <&emmc_pwrseq>; + vmmc-supply = <&vcc_3v3>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/054_linux-4.14.y-bpo-dts-0011-arm64-dts-meson-gx-remove_unnecessary_clocks_properties.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/054_linux-4.14.y-bpo-dts-0011-arm64-dts-meson-gx-remove_unnecessary_clocks_properties.patch new file mode 100644 index 000000000..265485c24 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/054_linux-4.14.y-bpo-dts-0011-arm64-dts-meson-gx-remove_unnecessary_clocks_properties.patch @@ -0,0 +1,44 @@ +From ab29891e953fd7c3410f3edeb50457812f7694d8 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Wed, 11 Oct 2017 17:39:39 +0200 +Subject: [PATCH] ARM64: dts: meson-gx: remove unnecessary clocks properties + +Since the switch to documented uart bindings, the clocks are +redefined in the SoC family dtsi file. + +This patch removes these unneeded properties. + +Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index f175db8462861..2be981a547dfc 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -228,7 +228,6 @@ + compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; + reg = <0x0 0x84c0 0x0 0x14>; + interrupts = ; +- clocks = <&xtal>; + status = "disabled"; + }; + +@@ -236,7 +235,6 @@ + compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; + reg = <0x0 0x84dc 0x0 0x14>; + interrupts = ; +- clocks = <&xtal>; + status = "disabled"; + }; + +@@ -282,7 +280,6 @@ + compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; + reg = <0x0 0x8700 0x0 0x14>; + interrupts = ; +- clocks = <&xtal>; + status = "disabled"; + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/055_linux-4.14.y-bpo-dts-0012-arm64-dts-meson-gx-remove_unnecessary_uart_compatible.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/055_linux-4.14.y-bpo-dts-0012-arm64-dts-meson-gx-remove_unnecessary_uart_compatible.patch new file mode 100644 index 000000000..10514abf9 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/055_linux-4.14.y-bpo-dts-0012-arm64-dts-meson-gx-remove_unnecessary_uart_compatible.patch @@ -0,0 +1,63 @@ +From a87f854ddcf7ff7e044d72db0aa6da82f26d69a6 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Wed, 11 Oct 2017 17:39:40 +0200 +Subject: [PATCH] ARM64: dts: meson-gx: remove unnecessary uart compatible + +Since the switch to documented uart bindings, the old undocumented +compatible binding was left for simplicity. + +This patch removes these unneeded compatible strings. + +Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index 2be981a547dfc..b7723436a04b2 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -225,14 +225,14 @@ + }; + + uart_A: serial@84c0 { +- compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; ++ compatible = "amlogic,meson-gx-uart"; + reg = <0x0 0x84c0 0x0 0x14>; + interrupts = ; + status = "disabled"; + }; + + uart_B: serial@84dc { +- compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; ++ compatible = "amlogic,meson-gx-uart"; + reg = <0x0 0x84dc 0x0 0x14>; + interrupts = ; + status = "disabled"; +@@ -277,7 +277,7 @@ + }; + + uart_C: serial@8700 { +- compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; ++ compatible = "amlogic,meson-gx-uart"; + reg = <0x0 0x8700 0x0 0x14>; + interrupts = ; + status = "disabled"; +@@ -388,14 +388,14 @@ + }; + + uart_AO: serial@4c0 { +- compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart", "amlogic,meson-uart"; ++ compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; + reg = <0x0 0x004c0 0x0 0x14>; + interrupts = ; + status = "disabled"; + }; + + uart_AO_B: serial@4e0 { +- compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart", "amlogic,meson-uart"; ++ compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; + reg = <0x0 0x004e0 0x0 0x14>; + interrupts = ; + status = "disabled"; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/056_linux-4.14.y-bpo-dts-0013-arm64-dts-meson-gx-add_gpio_interrupt_controller.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/056_linux-4.14.y-bpo-dts-0013-arm64-dts-meson-gx-add_gpio_interrupt_controller.patch new file mode 100644 index 000000000..5850e71ae --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/056_linux-4.14.y-bpo-dts-0013-arm64-dts-meson-gx-add_gpio_interrupt_controller.patch @@ -0,0 +1,70 @@ +From 9dbb56ea0917a036dc966663a09baf3d5a471f54 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 19 Oct 2017 14:01:42 +0200 +Subject: [PATCH] ARM64: dts: meson-gx: add gpio interrupt controller + +Add gpio interrupt controller to Amlogic GX family SoCs + +Signed-off-by: Jerome Brunet +Reviewed-by: Neil Armstrong +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 9 +++++++++ + arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 6 ++++++ + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 6 ++++++ + 3 files changed, 21 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index b7723436a04b2..ab7ce1644cdc5 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -218,6 +218,15 @@ + #size-cells = <2>; + ranges = <0x0 0x0 0x0 0xc1100000 0x0 0x100000>; + ++ gpio_intc: interrupt-controller@9880 { ++ compatible = "amlogic,meson-gpio-intc"; ++ reg = <0x0 0x9880 0x0 0x10>; ++ interrupt-controller; ++ #interrupt-cells = <2>; ++ amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>; ++ status = "disabled"; ++ }; ++ + reset: reset-controller@4404 { + compatible = "amlogic,meson-gx-reset", "amlogic,meson-gxbb-reset"; + reg = <0x0 0x04404 0x0 0x20>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +index 3d41db9c9d226..ead895a4e9a5c 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +@@ -323,6 +323,12 @@ + clock-names = "stmmaceth", "clkin0", "clkin1"; + }; + ++&gpio_intc { ++ compatible = "amlogic,meson-gpio-intc", ++ "amlogic,meson-gxbb-gpio-intc"; ++ status = "okay"; ++}; ++ + &hdmi_tx { + compatible = "amlogic,meson-gxbb-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; + resets = <&reset RESET_HDMITX_CAPB3>, +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +index d3a51031a7111..0aa71a35ce64c 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +@@ -225,6 +225,12 @@ + compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc"; + }; + ++&gpio_intc { ++ compatible = "amlogic,meson-gpio-intc", ++ "amlogic,meson-gxl-gpio-intc"; ++ status = "okay"; ++}; ++ + &hdmi_tx { + compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; + resets = <&reset RESET_HDMITX_CAPB3>, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/057_linux-4.14.y-bpo-dts-0014-arm64-dts-meson-gx-add_external_phy_interrupt_on_some.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/057_linux-4.14.y-bpo-dts-0014-arm64-dts-meson-gx-add_external_phy_interrupt_on_some.patch new file mode 100644 index 000000000..ecbeff4d5 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/057_linux-4.14.y-bpo-dts-0014-arm64-dts-meson-gx-add_external_phy_interrupt_on_some.patch @@ -0,0 +1,85 @@ +From b94d22d94ad226eeea3b6ec4579fb4bf8a199e5c Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Thu, 19 Oct 2017 14:01:43 +0200 +Subject: [PATCH] ARM64: dts: meson-gx: add external PHY interrupt on some + platforms + +Add the external PHY interrupt on the nanopi-k2, odroid-c2, p200, p230 +and q200 + +Signed-off-by: Jerome Brunet +Reviewed-by: Neil Armstrong +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 2 ++ + arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 2 ++ + arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts | 2 ++ + arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts | 2 ++ + arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts | 2 ++ + 5 files changed, 10 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +index 2e853c082a654..4a4251001bfd5 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +@@ -168,6 +168,8 @@ + eth_phy0: ethernet-phy@0 { + /* Realtek RTL8211F (0x001cc916) */ + reg = <0>; ++ interrupt-parent = <&gpio_intc>; ++ interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + }; + }; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +index 2e5ed59e697ed..f8d221463c60a 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +@@ -157,6 +157,8 @@ + + eth_phy0: ethernet-phy@0 { + reg = <0>; ++ interrupt-parent = <&gpio_intc>; ++ interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + eee-broken-1000t; + }; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts +index 2054a474e0a91..9bf16bb7c491b 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts +@@ -117,6 +117,8 @@ + eth_phy0: ethernet-phy@3 { + /* Micrel KSZ9031 (0x00221620) */ + reg = <3>; ++ interrupt-parent = <&gpio_intc>; ++ interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + }; + }; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts +index 6827f235d7cfe..4f3f03fc31b0d 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts +@@ -128,6 +128,8 @@ + compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22"; + reg = <0>; + max-speed = <1000>; ++ interrupt-parent = <&gpio_intc>; ++ interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + }; + }; + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts +index b65776b019118..66c6da7e112cf 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts +@@ -110,6 +110,8 @@ + compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22"; + reg = <0>; + max-speed = <1000>; ++ interrupt-parent = <&gpio_intc>; ++ interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + }; + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0031-ARM64-dts-meson-gx-add-VPU-power-domain.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/058_linux-4.14.y-bpo-dts-0015-arm64-dts-meson-gx-add_vpu_power_domain.patch similarity index 91% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0031-ARM64-dts-meson-gx-add-VPU-power-domain.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/058_linux-4.14.y-bpo-dts-0015-arm64-dts-meson-gx-add_vpu_power_domain.patch index 57f3cb118..b02d6c2b3 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0031-ARM64-dts-meson-gx-add-VPU-power-domain.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/058_linux-4.14.y-bpo-dts-0015-arm64-dts-meson-gx-add_vpu_power_domain.patch @@ -1,12 +1,13 @@ -From 107e323a199087cfb84c22b31d769f0b2e623e4a Mon Sep 17 00:00:00 2001 +From 74d1c6e9af69dc6aec07a1dd5c628ae184b15e41 Mon Sep 17 00:00:00 2001 From: Neil Armstrong -Date: Fri, 13 Oct 2017 14:47:23 +0200 -Subject: [PATCH 31/39] ARM64: dts: meson-gx: add VPU power domain +Date: Mon, 20 Nov 2017 15:19:54 +0100 +Subject: [PATCH] ARM64: dts: meson-gx: add VPU power domain This patch adds support for the VPU Power Domain nodes, and attaches the VPU power domain to the VPU node. Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman --- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 11 ++++++++ arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 43 +++++++++++++++++++++++++++++ @@ -14,10 +15,10 @@ Signed-off-by: Neil Armstrong 3 files changed, 97 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -index ff27ce0..ace0e4b 100644 +index ab7ce1644cdc5..668d891b23a0f 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -@@ -393,6 +393,12 @@ +@@ -377,6 +377,12 @@ compatible = "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd"; reg = <0x0 0x0 0x0 0x100>; @@ -30,7 +31,7 @@ index ff27ce0..ace0e4b 100644 clkc_AO: clock-controller { compatible = "amlogic,meson-gx-aoclkc"; #clock-cells = <1>; -@@ -470,6 +476,11 @@ +@@ -454,6 +460,11 @@ #size-cells = <2>; ranges = <0x0 0x0 0x0 0xc883c000 0x0 0x2000>; @@ -43,10 +44,10 @@ index ff27ce0..ace0e4b 100644 compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu"; reg = <0 0x404 0 0x4c>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -index ef12d67..b5b6b33 100644 +index ead895a4e9a5c..6904872f08af5 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -@@ -692,6 +692,48 @@ +@@ -694,6 +694,48 @@ }; }; @@ -95,18 +96,18 @@ index ef12d67..b5b6b33 100644 &saradc { compatible = "amlogic,meson-gxbb-saradc", "amlogic,meson-saradc"; clocks = <&xtal>, -@@ -761,4 +803,5 @@ +@@ -763,4 +805,5 @@ &vpu { compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu"; + power-domains = <&pwrc_vpu>; }; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi -index 02b52b6..d5c8952 100644 +index 8ed981f59e5ae..49b8ec159603c 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi -@@ -721,6 +721,48 @@ - clock-names = "fast", "iface", "bclks", "mclk"; +@@ -644,6 +644,48 @@ + }; }; +&pwrc_vpu { @@ -154,12 +155,9 @@ index 02b52b6..d5c8952 100644 &saradc { compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; clocks = <&xtal>, -@@ -790,4 +832,5 @@ +@@ -713,4 +755,5 @@ &vpu { compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; + power-domains = <&pwrc_vpu>; }; --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/059_linux-4.14.y-bpo-dts-0016-arm64-dts-meson-drop_sana_clock_from_sar_adc.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/059_linux-4.14.y-bpo-dts-0016-arm64-dts-meson-drop_sana_clock_from_sar_adc.patch new file mode 100644 index 000000000..3823adf4a --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/059_linux-4.14.y-bpo-dts-0016-arm64-dts-meson-drop_sana_clock_from_sar_adc.patch @@ -0,0 +1,48 @@ +From e102da498ec3001009433d8d2d160eebbe6d1d69 Mon Sep 17 00:00:00 2001 +From: Xingyu Chen +Date: Thu, 16 Nov 2017 17:01:14 +0800 +Subject: [PATCH] ARM64: dts: meson: drop "sana" clock from SAR ADC + +The SAR ADC modules doesn't require The "sana" clock. + +Acked-by: Martin Blumenstingl +Singed-off-by: Xingyu Chen +Signed-off-by: Yixun Lan +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 3 +-- + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +index 6904872f08af5..eeaf10c7ba74d 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +@@ -740,10 +740,9 @@ + compatible = "amlogic,meson-gxbb-saradc", "amlogic,meson-saradc"; + clocks = <&xtal>, + <&clkc CLKID_SAR_ADC>, +- <&clkc CLKID_SANA>, + <&clkc CLKID_SAR_ADC_CLK>, + <&clkc CLKID_SAR_ADC_SEL>; +- clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel"; ++ clock-names = "clkin", "core", "adc_clk", "adc_sel"; + }; + + &sd_emmc_a { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +index 49b8ec159603c..4a316a11a00e8 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +@@ -690,10 +690,9 @@ + compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; + clocks = <&xtal>, + <&clkc CLKID_SAR_ADC>, +- <&clkc CLKID_SANA>, + <&clkc CLKID_SAR_ADC_CLK>, + <&clkc CLKID_SAR_ADC_SEL>; +- clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel"; ++ clock-names = "clkin", "core", "adc_clk", "adc_sel"; + }; + + &sd_emmc_a { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/060_linux-4.14.y-bpo-dts-0017-arm64-dts-meson-gx-add_hdmi_5v_regulator_on_selected.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/060_linux-4.14.y-bpo-dts-0017-arm64-dts-meson-gx-add_hdmi_5v_regulator_on_selected.patch new file mode 100644 index 000000000..ca1bb4dbe --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/060_linux-4.14.y-bpo-dts-0017-arm64-dts-meson-gx-add_hdmi_5v_regulator_on_selected.patch @@ -0,0 +1,111 @@ +From b409f625a6d55e0f0ebc570d1350c1813e65400a Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Mon, 20 Nov 2017 15:19:55 +0100 +Subject: [PATCH] ARM64: dts: meson-gx: Add HDMI_5V regulator on selected + boards + +On reference boards and derivatives, the HDMI Logic is powered by an external +5V regulator. +This regulator was set by the Vendor U-Boot, add the regulator and set it always-on for now. + +Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 12 ++++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 12 ++++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi | 12 ++++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 12 ++++++++++++ + 4 files changed, 48 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +index 7d4b95e499935..aeb6d21a3beca 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +@@ -59,6 +59,18 @@ + reg = <0x0 0x0 0x0 0x80000000>; + }; + ++ hdmi_5v: regulator-hdmi-5v { ++ compatible = "regulator-fixed"; ++ ++ regulator-name = "HDMI_5V"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ ++ gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ regulator-always-on; ++ }; ++ + vddio_boot: regulator-vddio_boot { + compatible = "regulator-fixed"; + regulator-name = "VDDIO_BOOT"; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +index dc9c3b8216c2b..9671f1e3c74a9 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +@@ -72,6 +72,18 @@ + reg = <0x0 0x0 0x0 0x80000000>; + }; + ++ hdmi_5v: regulator-hdmi-5v { ++ compatible = "regulator-fixed"; ++ ++ regulator-name = "HDMI_5V"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ ++ gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ regulator-always-on; ++ }; ++ + vcc_3v3: regulator-vcc_3v3 { + compatible = "regulator-fixed"; + regulator-name = "VCC_3V3"; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +index ff09df1fd5a32..7005068346a09 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +@@ -28,6 +28,18 @@ + reg = <0x0 0x0 0x0 0x80000000>; + }; + ++ hdmi_5v: regulator-hdmi-5v { ++ compatible = "regulator-fixed"; ++ ++ regulator-name = "HDMI_5V"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ ++ gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ regulator-always-on; ++ }; ++ + vddio_boot: regulator-vddio_boot { + compatible = "regulator-fixed"; + regulator-name = "VDDIO_BOOT"; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +index 34a41b26a4ed2..d2595c08ebe7d 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -153,6 +153,18 @@ + }; + }; + ++ hdmi_5v: regulator-hdmi-5v { ++ compatible = "regulator-fixed"; ++ ++ regulator-name = "HDMI_5V"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ ++ gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ regulator-always-on; ++ }; ++ + vcc_3v3: regulator-vcc_3v3 { + compatible = "regulator-fixed"; + regulator-name = "VCC_3V3"; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0033-ARM64-dts-meson-gx-grow-reset-controller-memory-zone.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/061_linux-4.14.y-bpo-dts-0018-arm64-dts-meson-gx-grow_reset_controller_memory_zone.patch similarity index 72% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0033-ARM64-dts-meson-gx-grow-reset-controller-memory-zone.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/061_linux-4.14.y-bpo-dts-0018-arm64-dts-meson-gx-grow_reset_controller_memory_zone.patch index 9efc6c15f..07a02d6f9 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0033-ARM64-dts-meson-gx-grow-reset-controller-memory-zone.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/061_linux-4.14.y-bpo-dts-0018-arm64-dts-meson-gx-grow_reset_controller_memory_zone.patch @@ -1,21 +1,22 @@ -From 7c3d7dee433538e1450564582da535cac44a2361 Mon Sep 17 00:00:00 2001 +From 1eb0919836c76ed844d604f1d4a600bbfa9c9a02 Mon Sep 17 00:00:00 2001 From: Neil Armstrong -Date: Mon, 16 Oct 2017 17:00:59 +0200 -Subject: [PATCH 33/39] ARM64: dts: meson-gx: grow reset controller memory zone +Date: Mon, 20 Nov 2017 15:19:56 +0100 +Subject: [PATCH] ARM64: dts: meson-gx: grow reset controller memory zone Now the Amlogic Meson GX SoCs datasheet documents all the Reset registers, grow the memory in the node to allow usage of the level registers. Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman --- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -index ace0e4b..2e0ee17 100644 +index 668d891b23a0f..7cdbf58a062f4 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -@@ -220,7 +220,7 @@ +@@ -229,7 +229,7 @@ reset: reset-controller@4404 { compatible = "amlogic,meson-gx-reset", "amlogic,meson-gxbb-reset"; @@ -24,6 +25,3 @@ index ace0e4b..2e0ee17 100644 #reset-cells = <1>; }; --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0034-ARM64-dts-odroid-c2-Add-HDMI-and-CEC-Nodes.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/062_linux-4.14.y-bpo-dts-0019-arm64-dts-odroid-c2-add_hdmi_and_cec_nodes.patch similarity index 82% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0034-ARM64-dts-odroid-c2-Add-HDMI-and-CEC-Nodes.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/062_linux-4.14.y-bpo-dts-0019-arm64-dts-odroid-c2-add_hdmi_and_cec_nodes.patch index d3bccda9e..738d115ba 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0034-ARM64-dts-odroid-c2-Add-HDMI-and-CEC-Nodes.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/062_linux-4.14.y-bpo-dts-0019-arm64-dts-odroid-c2-add_hdmi_and_cec_nodes.patch @@ -1,18 +1,19 @@ -From a0cd1597b6b505c8d72406d31cf408933b2993e9 Mon Sep 17 00:00:00 2001 +From fc19afa1b4aad3bcbf29bda4a52dcec10879ce15 Mon Sep 17 00:00:00 2001 From: Neil Armstrong -Date: Mon, 16 Oct 2017 17:00:26 +0200 -Subject: [PATCH 34/39] ARM64: dts: odroid-c2: Add HDMI and CEC Nodes +Date: Mon, 20 Nov 2017 15:19:57 +0100 +Subject: [PATCH] ARM64: dts: odroid-c2: Add HDMI and CEC Nodes Now the VPU Power Domain has been fixed while boothing from Mainline U-Boot, VPU and HDMI nodes can finally be added to the Odroid-C2 DTS. Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman --- .../arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index 4221e1f..dc3d1ba 100644 +index f8d221463c60a..d6d3af5eaf553 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts @@ -135,6 +135,24 @@ @@ -40,7 +41,7 @@ index 4221e1f..dc3d1ba 100644 }; ðmac { -@@ -177,6 +195,18 @@ +@@ -179,6 +197,18 @@ }; }; @@ -59,6 +60,3 @@ index 4221e1f..dc3d1ba 100644 &i2c_A { status = "okay"; pinctrl-0 = <&i2c_a_pins>; --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/063_linux-4.14.y-bpo-dts-0020-arm64-dts-meson-add_comments_with_the_gpio_for_the_phy.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/063_linux-4.14.y-bpo-dts-0020-arm64-dts-meson-add_comments_with_the_gpio_for_the_phy.patch new file mode 100644 index 000000000..4f898717b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/063_linux-4.14.y-bpo-dts-0020-arm64-dts-meson-add_comments_with_the_gpio_for_the_phy.patch @@ -0,0 +1,75 @@ +From 50290cfe50bd94deb221731a25347d0ac12d9f40 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Sat, 2 Dec 2017 22:40:36 +0100 +Subject: [PATCH] ARM64: dts: meson: add comments with the GPIO for the PHY + interrupts + +Currently one has to look/calculate the GPIO for the PHY interrupts +manually. Add a comment for the existing PHY interrupt lines to make it +easier to find out which GPIO is used. +This is done using the following calculation: +- number of GPIO AO pins (14 on GXBB: GPIOAO_0..13) +- add the offset of the pin which is used for the interrupt (for example + GPIOZ_15 = 15 on Odroid-C2) + +Signed-off-by: Martin Blumenstingl +Reviewed-By: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 1 + + arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 2 ++ + arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts | 1 + + arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts | 1 + + 4 files changed, 5 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +index 4a4251001bfd5..011e8e08e429b 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +@@ -169,6 +169,7 @@ + /* Realtek RTL8211F (0x001cc916) */ + reg = <0>; + interrupt-parent = <&gpio_intc>; ++ /* MAC_INTR on GPIOZ_15 */ + interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + }; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +index d6d3af5eaf553..ee4ada61c59cf 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +@@ -174,8 +174,10 @@ + #size-cells = <0>; + + eth_phy0: ethernet-phy@0 { ++ /* Realtek RTL8211F (0x001cc916) */ + reg = <0>; + interrupt-parent = <&gpio_intc>; ++ /* MAC_INTR on GPIOZ_15 */ + interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + eee-broken-1000t; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts +index 9bf16bb7c491b..09f34f7ef0845 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts +@@ -118,6 +118,7 @@ + /* Micrel KSZ9031 (0x00221620) */ + reg = <3>; + interrupt-parent = <&gpio_intc>; ++ /* MAC_INTR on GPIOZ_15 */ + interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + }; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts +index 66c6da7e112cf..9847fce443a85 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts +@@ -111,6 +111,7 @@ + reg = <0>; + max-speed = <1000>; + interrupt-parent = <&gpio_intc>; ++ /* MAC_INTR on GPIOH_3 */ + interrupts = <29 IRQ_TYPE_LEVEL_LOW>; + }; + }; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/064_linux-4.14.y-bpo-dts-0021-arm64-dts-meson-gxm-add_the_phy_interrupt_line_on_khadas.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/064_linux-4.14.y-bpo-dts-0021-arm64-dts-meson-gxm-add_the_phy_interrupt_line_on_khadas.patch new file mode 100644 index 000000000..4ad7d2467 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/064_linux-4.14.y-bpo-dts-0021-arm64-dts-meson-gxm-add_the_phy_interrupt_line_on_khadas.patch @@ -0,0 +1,32 @@ +From 45293920c62cc391ce0b601646d90b33e379ee96 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Sat, 2 Dec 2017 22:40:37 +0100 +Subject: [PATCH] ARM64: dts: meson-gxm: add the PHY interrupt line on Khadas + VIM2 + +The INTB/PMEB pin of the RTL8211F PHY on the Khadas VIM2 is routed to +GPIOZ_15. Add the corresponding interrupt using the GPIO interrupt +controller so the PHY framework doesn't have to poll the PHY for it's +status. + +Signed-off-by: Martin Blumenstingl +Reviewed-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +index d2595c08ebe7d..1448c3dba08e8 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -244,6 +244,9 @@ + external_phy: ethernet-phy@0 { + /* Realtek RTL8211F (0x001cc916) */ + reg = <0>; ++ interrupt-parent = <&gpio_intc>; ++ /* MAC_INTR on GPIOZ_15 */ ++ interrupts = <25 IRQ_TYPE_LEVEL_LOW>; + }; + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/065_linux-4.14.y-bpo-dts-0022-arm64-dts-meson-gx-fix_uart_pclk_clock_name.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/065_linux-4.14.y-bpo-dts-0022-arm64-dts-meson-gx-fix_uart_pclk_clock_name.patch new file mode 100644 index 000000000..4e2f0a492 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/065_linux-4.14.y-bpo-dts-0022-arm64-dts-meson-gx-fix_uart_pclk_clock_name.patch @@ -0,0 +1,68 @@ +From 39005e562a88c61fa77acef1d2c0cb81ee6b0423 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Mon, 4 Dec 2017 10:04:53 +0100 +Subject: [PATCH] ARM64: dts: meson-gx: fix UART pclk clock name +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The clock-names for pclk was wrongly set to "core", but the bindings +specifies "pclk". +This was not cathed until the legacy non-documented bindings were removed. + +Reported-by: Andreas Färber +Fixes: f72d6f6037b7 ("ARM64: dts: meson-gx: use stable UART bindings with correct gate clock") +Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 4 ++-- + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 6 +++--- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +index ead895a4e9a5c..1fb8b9d6cb4ea 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +@@ -753,12 +753,12 @@ + + &uart_B { + clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; +- clock-names = "xtal", "core", "baud"; ++ clock-names = "xtal", "pclk", "baud"; + }; + + &uart_C { + clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; +- clock-names = "xtal", "core", "baud"; ++ clock-names = "xtal", "pclk", "baud"; + }; + + &vpu { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +index 8ed981f59e5ae..6524b89e7115b 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +@@ -688,7 +688,7 @@ + + &uart_A { + clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; +- clock-names = "xtal", "core", "baud"; ++ clock-names = "xtal", "pclk", "baud"; + }; + + &uart_AO { +@@ -703,12 +703,12 @@ + + &uart_B { + clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; +- clock-names = "xtal", "core", "baud"; ++ clock-names = "xtal", "pclk", "baud"; + }; + + &uart_C { + clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; +- clock-names = "xtal", "core", "baud"; ++ clock-names = "xtal", "pclk", "baud"; + }; + + &vpu { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/066_linux-4.14.y-bpo-dts-0023-arm64-dts-meson-gxm-fix_q200_interrupt_number.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/066_linux-4.14.y-bpo-dts-0023-arm64-dts-meson-gxm-fix_q200_interrupt_number.patch new file mode 100644 index 000000000..c74b65300 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/066_linux-4.14.y-bpo-dts-0023-arm64-dts-meson-gxm-fix_q200_interrupt_number.patch @@ -0,0 +1,30 @@ +From 3106507e1004dd398ef75d0caf048f97ba2dfd0b Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Mon, 4 Dec 2017 11:05:04 +0100 +Subject: [PATCH] ARM64: dts: meson-gxm: fix q200 interrupt number + +Correct the interrupt number assigned to the Realtek PHY in the q200 + +Fixes: b94d22d94ad2 ("ARM64: dts: meson-gx: add external PHY interrupt on some platforms") +Reported-by: Martin Blumenstingl +Signed-off-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts +index 9847fce443a85..388fac4f2d977 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts +@@ -111,8 +111,8 @@ + reg = <0>; + max-speed = <1000>; + interrupt-parent = <&gpio_intc>; +- /* MAC_INTR on GPIOH_3 */ +- interrupts = <29 IRQ_TYPE_LEVEL_LOW>; ++ /* MAC_INTR on GPIOZ_15 */ ++ interrupts = <25 IRQ_TYPE_LEVEL_LOW>; + }; + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/067_linux-4.14.y-bpo-dts-0024-arm64-dts-amlogic-use_generic_bus_node_names.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/067_linux-4.14.y-bpo-dts-0024-arm64-dts-amlogic-use_generic_bus_node_names.patch new file mode 100644 index 000000000..d9e377d2e --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/067_linux-4.14.y-bpo-dts-0024-arm64-dts-amlogic-use_generic_bus_node_names.patch @@ -0,0 +1,47 @@ +From 0cb6c604232ccb6bbbd148c7451f99f9101b46d7 Mon Sep 17 00:00:00 2001 +From: Kevin Hilman +Date: Wed, 6 Dec 2017 11:30:05 -0800 +Subject: [PATCH] ARM64: dts: amlogic: use generic bus node names + +The DT spec recommends that node-names have generic names like "bus". +Fix that in the Amlogic DTs, while leaving the label names to have more +SoC-specific names that match with the HW documentation. + +Suggested-by: Stephen Boyd +Reviewed-by: Neil Armstrong +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index 7cdbf58a062f4..6cb3c2a52bafe 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -211,7 +211,7 @@ + #size-cells = <2>; + ranges; + +- cbus: cbus@c1100000 { ++ cbus: bus@c1100000 { + compatible = "simple-bus"; + reg = <0x0 0xc1100000 0x0 0x100000>; + #address-cells = <2>; +@@ -366,7 +366,7 @@ + }; + }; + +- aobus: aobus@c8100000 { ++ aobus: bus@c8100000 { + compatible = "simple-bus"; + reg = <0x0 0xc8100000 0x0 0x100000>; + #address-cells = <2>; +@@ -453,7 +453,7 @@ + }; + }; + +- hiubus: hiubus@c883c000 { ++ hiubus: bus@c883c000 { + compatible = "simple-bus"; + reg = <0x0 0xc883c000 0x0 0x2000>; + #address-cells = <2>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/068_linux-4.14.y-bpo-dts-0025-arm64-dts-meson-uart-fix_address_space_range.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/068_linux-4.14.y-bpo-dts-0025-arm64-dts-meson-uart-fix_address_space_range.patch new file mode 100644 index 000000000..7505ed2d9 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/068_linux-4.14.y-bpo-dts-0025-arm64-dts-meson-uart-fix_address_space_range.patch @@ -0,0 +1,61 @@ +From 77f5cdbd78ec5e17022725a5da476f4ca08b1dfa Mon Sep 17 00:00:00 2001 +From: Yixun Lan +Date: Thu, 11 Jan 2018 10:33:57 +0800 +Subject: [PATCH] ARM64: dts: meson: uart: fix address space range + +The address space range is actually 0x18, fixed here. + +Reviewed-by: Jerome Brunet +Signed-off-by: Yixun Lan +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index 6cb3c2a52bafe..4ee2e7951482f 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -235,14 +235,14 @@ + + uart_A: serial@84c0 { + compatible = "amlogic,meson-gx-uart"; +- reg = <0x0 0x84c0 0x0 0x14>; ++ reg = <0x0 0x84c0 0x0 0x18>; + interrupts = ; + status = "disabled"; + }; + + uart_B: serial@84dc { + compatible = "amlogic,meson-gx-uart"; +- reg = <0x0 0x84dc 0x0 0x14>; ++ reg = <0x0 0x84dc 0x0 0x18>; + interrupts = ; + status = "disabled"; + }; +@@ -287,7 +287,7 @@ + + uart_C: serial@8700 { + compatible = "amlogic,meson-gx-uart"; +- reg = <0x0 0x8700 0x0 0x14>; ++ reg = <0x0 0x8700 0x0 0x18>; + interrupts = ; + status = "disabled"; + }; +@@ -404,14 +404,14 @@ + + uart_AO: serial@4c0 { + compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; +- reg = <0x0 0x004c0 0x0 0x14>; ++ reg = <0x0 0x004c0 0x0 0x18>; + interrupts = ; + status = "disabled"; + }; + + uart_AO_B: serial@4e0 { + compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; +- reg = <0x0 0x004e0 0x0 0x14>; ++ reg = <0x0 0x004e0 0x0 0x18>; + interrupts = ; + status = "disabled"; + }; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/069_linux-4.14.y-bpo-dts-0026-arm64-dts-meson_s905x-accept_mac_addr_from_u-boot.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/069_linux-4.14.y-bpo-dts-0026-arm64-dts-meson_s905x-accept_mac_addr_from_u-boot.patch new file mode 100644 index 000000000..beae5faba --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/069_linux-4.14.y-bpo-dts-0026-arm64-dts-meson_s905x-accept_mac_addr_from_u-boot.patch @@ -0,0 +1,32 @@ +From f7c36209c46c4d162202b65eed2e66962ad8c3c1 Mon Sep 17 00:00:00 2001 +From: Jorge Ramirez-Ortiz +Date: Wed, 17 Jan 2018 11:55:43 +0100 +Subject: [PATCH] ARM64: dts: meson s905x: accept MAC addr from u-boot + environment + +With the adequate configuration settings, u-boot will loop through the +list of aliases looking for "ethernetX". + +By adding an ethernet alias, u-boot can fixup the local-mac-address +property in the kernel's device tree using a value held in its +environment variable ethaddr. + +Tested-by: Jorge Ramirez-Ortiz +Signed-off-by: Jorge Ramirez-Ortiz +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +index 9671f1e3c74a9..a011d51fec244 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +@@ -18,6 +18,7 @@ + + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/070_linux-4.14.y-bpo-dts-0027-arm64-dts-meson-accept_mac_addr_from_u-boot_environment.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/070_linux-4.14.y-bpo-dts-0027-arm64-dts-meson-accept_mac_addr_from_u-boot_environment.patch new file mode 100644 index 000000000..cfc1aa40b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/070_linux-4.14.y-bpo-dts-0027-arm64-dts-meson-accept_mac_addr_from_u-boot_environment.patch @@ -0,0 +1,171 @@ +From 059a58fcd53a78b898f26c26a1c37816ba306933 Mon Sep 17 00:00:00 2001 +From: Jorge Ramirez-Ortiz +Date: Wed, 17 Jan 2018 11:56:27 +0100 +Subject: [PATCH] ARM64: dts: meson: accept MAC addr from u-boot environment + +Extend configuring the MAC address from u-boot to all meson boards. + +I didn't test this changeset but having checked libretech's u-boot +tree I believe it should just work. + +Signed-off-by: Jorge Ramirez-Ortiz +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 1 + + arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 1 + + arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts | 1 + + arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 1 + + arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi | 1 + + arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 1 + + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts | 1 + + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 1 + + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts | 1 + + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi | 1 + + arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts | 1 + + arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts | 1 + + 12 files changed, 12 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +index aeb6d21a3beca..4b28a6e31175b 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +@@ -48,6 +48,7 @@ + / { + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +index 011e8e08e429b..2ce7258a147bb 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +@@ -52,6 +52,7 @@ + + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +index 818954b1d57f8..855dd9ae07160 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +@@ -54,6 +54,7 @@ + + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +index ee4ada61c59cf..73a030a5ecf33 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +@@ -53,6 +53,7 @@ + + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi +index 932158a778ef8..c6f7b51e2ec8f 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi +@@ -47,6 +47,7 @@ + / { + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi +index 1fe8e24cf675c..383f9de734c10 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi +@@ -47,6 +47,7 @@ + + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts +index e82582574160c..386fab4d1c8f3 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts +@@ -16,6 +16,7 @@ + + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +index 71a6e1ce7ad58..94cddf59646ae 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +@@ -29,6 +29,7 @@ + + aliases { + serial2 = &uart_AO_B; ++ ethernet0 = ðmac; + }; + + gpio-keys-polled { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +index 271f142791808..6b05c0e577248 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +@@ -52,6 +52,7 @@ + + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +index 7005068346a09..9cde3d2eef972 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +@@ -17,6 +17,7 @@ + aliases { + serial0 = &uart_AO; + serial1 = &uart_A; ++ ethernet0 = ðmac; + }; + + chosen { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +index e7a228f6cc7e7..15cdd938f6a21 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +@@ -54,6 +54,7 @@ + + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts +index a5e9b955d5ed3..67fadea68e075 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts +@@ -58,6 +58,7 @@ + + aliases { + serial0 = &uart_AO; ++ ethernet0 = ðmac; + }; + + chosen { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/071_linux-4.14.y-bpo-dts-0028-arm64-dts-meson-remove_cooling-min_max-level_for_cpu.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/071_linux-4.14.y-bpo-dts-0028-arm64-dts-meson-remove_cooling-min_max-level_for_cpu.patch new file mode 100644 index 000000000..f55196cdf --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/071_linux-4.14.y-bpo-dts-0028-arm64-dts-meson-remove_cooling-min_max-level_for_cpu.patch @@ -0,0 +1,38 @@ +From f65f2df29d7b4e77318635ec33e95d801a9e40dd Mon Sep 17 00:00:00 2001 +From: Viresh Kumar +Date: Fri, 9 Feb 2018 14:28:06 +0530 +Subject: [PATCH] ARM64: dts: meson: Remove "cooling-{min|max}-level" for CPU + nodes + +The "cooling-min-level" and "cooling-max-level" properties are not +parsed by any part of the kernel currently and the max cooling state of +a CPU cooling device is found by referring to the cpufreq table instead. + +Remove the unused properties from the CPU nodes. + +Signed-off-by: Viresh Kumar +Acked-by: Neil Armstrong +Signed-off-by: Arnd Bergmann +--- + arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +index 447b9e22cf8e3..f9a50f861cd38 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -208,14 +208,10 @@ + }; + + &cpu0 { +- cooling-min-level = <0>; +- cooling-max-level = <6>; + #cooling-cells = <2>; + }; + + &cpu4 { +- cooling-min-level = <0>; +- cooling-max-level = <4>; + #cooling-cells = <2>; + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/072_linux-4.14.y-bpo-dts-0029-arm64-dts-meson-remove_cooling-min_max-level_for.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/072_linux-4.14.y-bpo-dts-0029-arm64-dts-meson-remove_cooling-min_max-level_for.patch new file mode 100644 index 000000000..d22f34de0 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/072_linux-4.14.y-bpo-dts-0029-arm64-dts-meson-remove_cooling-min_max-level_for.patch @@ -0,0 +1,33 @@ +From b6f67b039c64572adced5d5c0f01dc944e251bc2 Mon Sep 17 00:00:00 2001 +From: Viresh Kumar +Date: Fri, 9 Feb 2018 14:28:08 +0530 +Subject: [PATCH] ARM64: dts: meson: Remove "cooling-{min|max}-level" for + gpio-fan node + +The "cooling-min-level" and "cooling-max-level" properties are not +parsed by any part of the kernel currently and the max cooling state of +gpio-fan cooling device is found by referring to the +"gpio-fan,speed-map" instead. + +Remove the unused properties from the gpio-fan node. + +Signed-off-by: Viresh Kumar +Acked-by: Neil Armstrong +Signed-off-by: Arnd Bergmann +--- + arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +index f9a50f861cd38..4fd46c1546a7e 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -58,8 +58,6 @@ + 1 1 + 2 2 + 3 3>; +- cooling-min-level = <0>; +- cooling-max-level = <3>; + #cooling-cells = <2>; + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/073_linux-4.14.y-bpo-dts-0030-arm64-dts-meson-gxbb-wetek-add_a_wetek_specific_dtsi_to.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/073_linux-4.14.y-bpo-dts-0030-arm64-dts-meson-gxbb-wetek-add_a_wetek_specific_dtsi_to.patch new file mode 100644 index 000000000..d20967415 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/073_linux-4.14.y-bpo-dts-0030-arm64-dts-meson-gxbb-wetek-add_a_wetek_specific_dtsi_to.patch @@ -0,0 +1,454 @@ +From fb72c03e0e32068a0a2ff66c2787814142d9a211 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Tue, 6 Mar 2018 17:19:33 +0100 +Subject: [PATCH] ARM64: dts: meson-gxbb-wetek: add a wetek specific dtsi to + cleanup hub and play2 + +This patch adds a specific wetek dtsi to handle the specific Hub and Play2 +boards by no more depending on the p20x dtsi. +This simplifies the hub and play2 dts and will avoid breaking these +boards when adding p200 and p201 specific changes. + +Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman +--- + .../boot/dts/amlogic/meson-gxbb-wetek-hub.dts | 43 +--- + .../boot/dts/amlogic/meson-gxbb-wetek-play2.dts | 83 +------ + arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi | 256 +++++++++++++++++++++ + 3 files changed, 262 insertions(+), 120 deletions(-) + create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts +index ce80d5d0982c0..2bfe69902552e 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts +@@ -6,50 +6,9 @@ + + /dts-v1/; + +-#include "meson-gxbb-p20x.dtsi" ++#include "meson-gxbb-wetek.dtsi" + + / { + compatible = "wetek,hub", "amlogic,meson-gxbb"; + model = "WeTek Hub"; +- +- leds { +- compatible = "gpio-leds"; +- +- system { +- label = "wetek-play:system-status"; +- gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; +- default-state = "on"; +- panic-indicator; +- }; +- }; +-}; +- +-&cvbs_connector { +- status = "disabled"; +-}; +- +-ðmac { +- status = "okay"; +- pinctrl-0 = <ð_rgmii_pins>; +- pinctrl-names = "default"; +- +- phy-handle = <ð_phy0>; +- phy-mode = "rgmii"; +- +- amlogic,tx-delay-ns = <2>; +- +- snps,reset-gpio = <&gpio GPIOZ_14 0>; +- snps,reset-delays-us = <0 10000 1000000>; +- snps,reset-active-low; +- +- mdio { +- compatible = "snps,dwmac-mdio"; +- #address-cells = <1>; +- #size-cells = <0>; +- +- eth_phy0: ethernet-phy@0 { +- /* Realtek RTL8211F (0x001cc916) */ +- reg = <0>; +- }; +- }; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts +index 0d1f080cbb3e6..0038522315de7 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts +@@ -6,7 +6,7 @@ + + /dts-v1/; + +-#include "meson-gxbb-p20x.dtsi" ++#include "meson-gxbb-wetek.dtsi" + #include + + / { +@@ -14,15 +14,6 @@ + model = "WeTek Play 2"; + + leds { +- compatible = "gpio-leds"; +- +- system { +- label = "wetek-play:system-status"; +- gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; +- default-state = "on"; +- panic-indicator; +- }; +- + wifi { + label = "wetek-play:wifi-status"; + gpios = <&gpio GPIODV_26 GPIO_ACTIVE_HIGH>; +@@ -48,82 +39,18 @@ + gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>; + }; + }; +- +- cvbs-connector { +- compatible = "composite-video-connector"; +- +- port { +- cvbs_connector_in: endpoint { +- remote-endpoint = <&cvbs_vdac_out>; +- }; +- }; +- }; +- +- hdmi-connector { +- compatible = "hdmi-connector"; +- type = "a"; +- +- port { +- hdmi_connector_in: endpoint { +- remote-endpoint = <&hdmi_tx_tmds_out>; +- }; +- }; +- }; +-}; +- +-&cec_AO { +- status = "okay"; +- pinctrl-0 = <&ao_cec_pins>; +- pinctrl-names = "default"; +- hdmi-phandle = <&hdmi_tx>; +-}; +- +-&cvbs_vdac_port { +- cvbs_vdac_out: endpoint { +- remote-endpoint = <&cvbs_connector_in>; +- }; + }; + +-ðmac { ++&i2c_A { + status = "okay"; +- pinctrl-0 = <ð_rgmii_pins>; ++ pinctrl-0 = <&i2c_a_pins>; + pinctrl-names = "default"; +- +- phy-handle = <ð_phy0>; +- phy-mode = "rgmii"; +- +- amlogic,tx-delay-ns = <2>; +- +- snps,reset-gpio = <&gpio GPIOZ_14 0>; +- snps,reset-delays-us = <0 10000 1000000>; +- snps,reset-active-low; +- +- mdio { +- compatible = "snps,dwmac-mdio"; +- #address-cells = <1>; +- #size-cells = <0>; +- +- eth_phy0: ethernet-phy@0 { +- /* Realtek RTL8211F (0x001cc916) */ +- reg = <0>; +- }; +- }; + }; + +-&hdmi_tx { ++&usb1_phy { + status = "okay"; +- pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; +- pinctrl-names = "default"; + }; + +-&hdmi_tx_tmds_port { +- hdmi_tx_tmds_out: endpoint { +- remote-endpoint = <&hdmi_connector_in>; +- }; +-}; +- +-&i2c_A { ++&usb1 { + status = "okay"; +- pinctrl-0 = <&i2c_a_pins>; +- pinctrl-names = "default"; + }; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi +new file mode 100644 +index 0000000000000..70325b273bd2b +--- /dev/null ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi +@@ -0,0 +1,256 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2016 Andreas Färber ++ * Copyright (c) 2016 BayLibre, Inc. ++ * Author: Kevin Hilman ++ */ ++ ++#include "meson-gxbb.dtsi" ++ ++/ { ++ aliases { ++ serial0 = &uart_AO; ++ ethernet0 = ðmac; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ memory@0 { ++ device_type = "memory"; ++ reg = <0x0 0x0 0x0 0x40000000>; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ system { ++ label = "wetek-play:system-status"; ++ gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; ++ default-state = "on"; ++ panic-indicator; ++ }; ++ }; ++ ++ usb_pwr: regulator-usb-pwrs { ++ compatible = "regulator-fixed"; ++ ++ regulator-name = "USB_PWR"; ++ ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ ++ gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; ++ ++ vddio_boot: regulator-vddio_boot { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_BOOT"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ ++ vddao_3v3: regulator-vddao_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDAO_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++ ++ vcc_3v3: regulator-vcc_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VCC_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++ ++ emmc_pwrseq: emmc-pwrseq { ++ compatible = "mmc-pwrseq-emmc"; ++ reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; ++ }; ++ ++ wifi32k: wifi32k { ++ compatible = "pwm-clock"; ++ #clock-cells = <0>; ++ clock-frequency = <32768>; ++ pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ ++ }; ++ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; ++ clocks = <&wifi32k>; ++ clock-names = "ext_clock"; ++ }; ++ ++ cvbs-connector { ++ compatible = "composite-video-connector"; ++ ++ port { ++ cvbs_connector_in: endpoint { ++ remote-endpoint = <&cvbs_vdac_out>; ++ }; ++ }; ++ }; ++ ++ hdmi-connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ++ port { ++ hdmi_connector_in: endpoint { ++ remote-endpoint = <&hdmi_tx_tmds_out>; ++ }; ++ }; ++ }; ++}; ++ ++&cec_AO { ++ status = "okay"; ++ pinctrl-0 = <&ao_cec_pins>; ++ pinctrl-names = "default"; ++ hdmi-phandle = <&hdmi_tx>; ++}; ++ ++&cvbs_vdac_port { ++ cvbs_vdac_out: endpoint { ++ remote-endpoint = <&cvbs_connector_in>; ++ }; ++}; ++ ++ðmac { ++ status = "okay"; ++ pinctrl-0 = <ð_rgmii_pins>; ++ pinctrl-names = "default"; ++ ++ phy-handle = <ð_phy0>; ++ phy-mode = "rgmii"; ++ ++ amlogic,tx-delay-ns = <2>; ++ ++ snps,reset-gpio = <&gpio GPIOZ_14 0>; ++ snps,reset-delays-us = <0 10000 1000000>; ++ snps,reset-active-low; ++ ++ mdio { ++ compatible = "snps,dwmac-mdio"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ eth_phy0: ethernet-phy@0 { ++ /* Realtek RTL8211F (0x001cc916) */ ++ reg = <0>; ++ eee-broken-1000t; ++ }; ++ }; ++}; ++ ++&hdmi_tx { ++ status = "okay"; ++ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&hdmi_tx_tmds_port { ++ hdmi_tx_tmds_out: endpoint { ++ remote-endpoint = <&hdmi_connector_in>; ++ }; ++}; ++ ++&ir { ++ status = "okay"; ++ pinctrl-0 = <&remote_input_ao_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&pwm_ef { ++ status = "okay"; ++ pinctrl-0 = <&pwm_e_pins>; ++ pinctrl-names = "default"; ++ clocks = <&clkc CLKID_FCLK_DIV4>; ++ clock-names = "clkin0"; ++}; ++ ++/* Wireless SDIO Module */ ++&sd_emmc_a { ++ status = "okay"; ++ pinctrl-0 = <&sdio_pins>; ++ pinctrl-1 = <&sdio_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ bus-width = <4>; ++ cap-sd-highspeed; ++ max-frequency = <100000000>; ++ ++ non-removable; ++ disable-wp; ++ ++ mmc-pwrseq = <&sdio_pwrseq>; ++ ++ vmmc-supply = <&vddao_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++ ++ brcmf: wifi@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ }; ++}; ++ ++/* SD card */ ++&sd_emmc_b { ++ status = "okay"; ++ pinctrl-0 = <&sdcard_pins>; ++ pinctrl-1 = <&sdcard_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ ++ bus-width = <4>; ++ cap-sd-highspeed; ++ max-frequency = <100000000>; ++ disable-wp; ++ ++ cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; ++ cd-inverted; ++ ++ vmmc-supply = <&vddao_3v3>; ++ vqmmc-supply = <&vcc_3v3>; ++}; ++ ++/* eMMC */ ++&sd_emmc_c { ++ status = "okay"; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; ++ pinctrl-1 = <&emmc_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ ++ bus-width = <8>; ++ cap-mmc-highspeed; ++ max-frequency = <200000000>; ++ non-removable; ++ disable-wp; ++ mmc-ddr-1_8v; ++ mmc-hs200-1_8v; ++ ++ mmc-pwrseq = <&emmc_pwrseq>; ++ vmmc-supply = <&vcc_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++}; ++ ++/* This UART is brought out to the DB9 connector */ ++&uart_AO { ++ status = "okay"; ++ pinctrl-0 = <&uart_ao_a_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&usb0_phy { ++ status = "okay"; ++ phy-supply = <&usb_pwr>; ++}; ++ ++&usb0 { ++ status = "okay"; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-ARM64-dts-meson-bump-mali450-clk-to-744MHz.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/074_linux-4.14.y-bpo-dts-0031-arm64-dts-meson-bump_mali450_clk_to_744mhz.patch similarity index 82% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-ARM64-dts-meson-bump-mali450-clk-to-744MHz.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/074_linux-4.14.y-bpo-dts-0031-arm64-dts-meson-bump_mali450_clk_to_744mhz.patch index ac9930839..ebdb54757 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0038-ARM64-dts-meson-bump-mali450-clk-to-744MHz.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/074_linux-4.14.y-bpo-dts-0031-arm64-dts-meson-bump_mali450_clk_to_744mhz.patch @@ -1,19 +1,24 @@ -From 63ffa5db0046106f6c3b8687e200e17599e14b9f Mon Sep 17 00:00:00 2001 +From 97ac00930970bc9e3982182891e350ae1764fbb5 Mon Sep 17 00:00:00 2001 From: Neil Armstrong -Date: Fri, 23 Feb 2018 11:18:11 +0100 -Subject: [PATCH 38/39] ARM64: dts: meson: bump mali450 clk to 744MHz +Date: Mon, 12 Mar 2018 12:10:21 +0100 +Subject: [PATCH] ARM64: dts: meson: bump mali450 clk to 744MHz +The Mali-450 IP can run up to 744MHz, bump the frequency using +the GP0 PLL clock. + +Cc: Michal Lazo Signed-off-by: Neil Armstrong +Signed-off-by: Kevin Hilman --- arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 11 +++++++---- arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -index b5b6b33..d00a9f2 100644 +index cac72acb85b1a..562c26a0ba333 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi -@@ -288,14 +288,17 @@ +@@ -247,14 +247,17 @@ * MALI_0 and MALI_1 muxed to a single clock by a glitch * free mux to safely change frequency while running. */ @@ -36,10 +41,10 @@ index b5b6b33..d00a9f2 100644 }; }; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi -index f06cc234..972df67 100644 +index f825506cdf64f..eb327664a4d8c 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi -@@ -30,14 +30,17 @@ +@@ -29,14 +29,17 @@ * MALI_0 and MALI_1 muxed to a single clock by a glitch * free mux to safely change frequency while running. */ @@ -61,6 +66,3 @@ index f06cc234..972df67 100644 <0>; /* Do Nothing */ }; }; --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/075_linux-4.14.y-bpo-dts-0032-arm64-dts-meson-gx-make_efuse_read-only.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/075_linux-4.14.y-bpo-dts-0032-arm64-dts-meson-gx-make_efuse_read-only.patch new file mode 100644 index 000000000..aa603bf8c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/075_linux-4.14.y-bpo-dts-0032-arm64-dts-meson-gx-make_efuse_read-only.patch @@ -0,0 +1,27 @@ +From c339f0e29ce9f9cd1cd2b6759a29a298bce1e948 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Fri, 16 Mar 2018 15:50:21 +0100 +Subject: [PATCH] ARM64: dts: meson-gx: make efuse read-only + +efuse is one time programmable, so it is safer to deny write request +to this memory, unless the user is savvy enough to remove the read-only +flag from DTB + +Signed-off-by: Jerome Brunet +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +index 2d51ccd60628e..3c31e21cbed7f 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +@@ -132,6 +132,7 @@ + compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse"; + #address-cells = <1>; + #size-cells = <1>; ++ read-only; + + sn: sn@14 { + reg = <0x14 0x10>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/076_linux-4.14.y-bpo-dts-0033-arm64-dts-meson-gxl-s905x-p212-enable_the_usb_controller.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/076_linux-4.14.y-bpo-dts-0033-arm64-dts-meson-gxl-s905x-p212-enable_the_usb_controller.patch new file mode 100644 index 000000000..49cc0e2ae --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/076_linux-4.14.y-bpo-dts-0033-arm64-dts-meson-gxl-s905x-p212-enable_the_usb_controller.patch @@ -0,0 +1,30 @@ +From b9f07cb4f41fccbe7616482015d28e6e26aec3a3 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Mon, 26 Mar 2018 23:17:44 +0200 +Subject: [PATCH] ARM64: dts: meson-gxl-s905x-p212: enable the USB controller + +All boards based on the P212 reference design (the P212 reference board +itself and the Khadas VIM) have USB connectors (in case of the Khadas +VIM the first port is exposed through the USB Type-C connector, the +second port is connected to a 4-port USB hub). +This enables the USB controller on these boards to make the USB ports +actually usable. + +Signed-off-by: Martin Blumenstingl +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +index 0a0953fbc7d42..0cfd701809dec 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi +@@ -185,3 +185,7 @@ + pinctrl-0 = <&uart_ao_a_pins>; + pinctrl-names = "default"; + }; ++ ++&usb0 { ++ status = "okay"; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/077_linux-4.14.y-bpo-dts-0034-arm64-dts-meson-gxl-s905x-libretech-cc-enable_the_usb.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/077_linux-4.14.y-bpo-dts-0034-arm64-dts-meson-gxl-s905x-libretech-cc-enable_the_usb.patch new file mode 100644 index 000000000..d89de01fc --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/077_linux-4.14.y-bpo-dts-0034-arm64-dts-meson-gxl-s905x-libretech-cc-enable_the_usb.patch @@ -0,0 +1,39 @@ +From b83687f359d9b4128073f06ab7a06489eb04aa7c Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Mon, 26 Mar 2018 23:17:46 +0200 +Subject: [PATCH] ARM64: dts: meson-gxl-s905x-libretech-cc: enable the USB + controller + +The LibreTech CC ("Le Potato") board provides four USB connectors. +These are provided by a hub which is connected to the SoC's USB +controller. +Enable the SoC's USB controller to make the USB ports usable. Also turn +on the HDMI_5V regulator when powering on the PHY because (even though +it's not shown in the schematics) HDMI_5V also supplies the USB VBUS. + +Signed-off-by: Martin Blumenstingl +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +index 22bf37404ff1b..3e3eb31748a35 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +@@ -271,3 +271,15 @@ + pinctrl-0 = <&uart_ao_a_pins>; + pinctrl-names = "default"; + }; ++ ++&usb0 { ++ status = "okay"; ++}; ++ ++&usb2_phy0 { ++ /* ++ * even though the schematics don't show it: ++ * HDMI_5V is also used as supply for the USB VBUS. ++ */ ++ phy-supply = <&hdmi_5v>; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/078_linux-4.14.y-bpo-dts-0035-arm64-dts-meson-gxl-add_usb_host_support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/078_linux-4.14.y-bpo-dts-0035-arm64-dts-meson-gxl-add_usb_host_support.patch new file mode 100644 index 000000000..e3e606887 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/078_linux-4.14.y-bpo-dts-0035-arm64-dts-meson-gxl-add_usb_host_support.patch @@ -0,0 +1,105 @@ +From 8aec5fc1d4d881fe446addb94309efb39d4e5b23 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Mon, 26 Mar 2018 23:17:42 +0200 +Subject: [PATCH] ARM64: dts: meson-gxl: add USB host support + +This adds USB host support to the Meson GXL SoC. A dwc3 controller is +used for host-mode, while a dwc2 controller (not added in this patch +because I could not get it working) is used for device-mode only. + +The dwc3 controller's internal roothub has two USB2 ports enabled but no +USB3 port. Each of the ports is supplied by a separate PHY. The USB pins +are connected to the SoC's USBHOST_A and USBOTG_B pins. +Due to the way the roothub works internally the USB PHYs are left +enabled. When the dwc3 controller is disabled the PHY is never powered on +so it does not draw any extra power. However, when the dwc3 host +controller is enabled then all PHYs also have to be enabled, otherwise +USB devices will not be detected (regardless of whether they are plugged +into an enabled port or not). This means that only the dwc3 controller +has to be enabled on boards with USB support (instead of requiring all +boards to enable the PHYs additionally with the chance of forgetting to +enable one and breaking all other ports with that as well). + +This also adds the USB3 PHY which currently only does some basic +initialization. That however is required because without it high-speed +devices (like USB thumb drives) do not work on some devices (probably +because the bootloader does not configure the USB3 PHY registers). + +Signed-off-by: Martin Blumenstingl +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 61 ++++++++++++++++++++++++++++++ + 1 file changed, 61 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +index e1a39cbed8c9c..dba365ed4bd5f 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +@@ -20,6 +20,67 @@ + no-map; + }; + }; ++ ++ soc { ++ usb0: usb@c9000000 { ++ status = "disabled"; ++ compatible = "amlogic,meson-gxl-dwc3"; ++ #address-cells = <2>; ++ #size-cells = <2>; ++ ranges; ++ ++ clocks = <&clkc CLKID_USB>; ++ clock-names = "usb_general"; ++ resets = <&reset RESET_USB_OTG>; ++ reset-names = "usb_otg"; ++ ++ dwc3: dwc3@c9000000 { ++ compatible = "snps,dwc3"; ++ reg = <0x0 0xc9000000 0x0 0x100000>; ++ interrupts = ; ++ dr_mode = "host"; ++ maximum-speed = "high-speed"; ++ snps,dis_u2_susphy_quirk; ++ phys = <&usb3_phy>, <&usb2_phy0>, <&usb2_phy1>; ++ }; ++ }; ++ }; ++}; ++ ++&apb { ++ usb2_phy0: phy@78000 { ++ compatible = "amlogic,meson-gxl-usb2-phy"; ++ #phy-cells = <0>; ++ reg = <0x0 0x78000 0x0 0x20>; ++ clocks = <&clkc CLKID_USB>; ++ clock-names = "phy"; ++ resets = <&reset RESET_USB_OTG>; ++ reset-names = "phy"; ++ status = "okay"; ++ }; ++ ++ usb2_phy1: phy@78020 { ++ compatible = "amlogic,meson-gxl-usb2-phy"; ++ #phy-cells = <0>; ++ reg = <0x0 0x78020 0x0 0x20>; ++ clocks = <&clkc CLKID_USB>; ++ clock-names = "phy"; ++ resets = <&reset RESET_USB_OTG>; ++ reset-names = "phy"; ++ status = "okay"; ++ }; ++ ++ usb3_phy: phy@78080 { ++ compatible = "amlogic,meson-gxl-usb3-phy"; ++ #phy-cells = <0>; ++ reg = <0x0 0x78080 0x0 0x20>; ++ interrupts = ; ++ clocks = <&clkc CLKID_USB>, <&clkc_AO CLKID_AO_CEC_32K>; ++ clock-names = "phy", "peripheral"; ++ resets = <&reset RESET_USB_OTG>, <&reset RESET_USB_OTG>; ++ reset-names = "phy", "peripheral"; ++ status = "okay"; ++ }; + }; + + ðmac { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/079_linux-4.14.y-bpo-dts-0036-arm64-dts-meson-gxm-add_gxm_specific_usb_host.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/079_linux-4.14.y-bpo-dts-0036-arm64-dts-meson-gxm-add_gxm_specific_usb_host.patch new file mode 100644 index 000000000..4820d9853 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/079_linux-4.14.y-bpo-dts-0036-arm64-dts-meson-gxm-add_gxm_specific_usb_host.patch @@ -0,0 +1,53 @@ +From 458baa95c86406c81c6ebac0a98d1689075a3ec4 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Mon, 26 Mar 2018 23:17:43 +0200 +Subject: [PATCH] ARM64: dts: meson-gxm: add GXM specific USB host + configuration + +The USB configuration on GXM is slightly different than on GXL. The dwc3 +controller's internal hub has three USB2 ports (instead of 2 on GXL) +along with a dedicated USB2 PHY for this port. However, it seems that +there are no pins on GXM which would allow connecting the third port to +a physical USB port. +Passing the third PHY is required though, because without it none of the +other USB ports is working (this seems to be a limitation of how the +internal USB hub works, if one PHY is disabled then no USB port works). + +Signed-off-by: Martin Blumenstingl +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxm.dtsi | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi +index d076a7c425ddd..247888d68a3aa 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi +@@ -80,6 +80,19 @@ + }; + }; + ++&apb { ++ usb2_phy2: phy@78040 { ++ compatible = "amlogic,meson-gxl-usb2-phy"; ++ #phy-cells = <0>; ++ reg = <0x0 0x78040 0x0 0x20>; ++ clocks = <&clkc CLKID_USB>; ++ clock-names = "phy"; ++ resets = <&reset RESET_USB_OTG>; ++ reset-names = "phy"; ++ status = "okay"; ++ }; ++}; ++ + &clkc_AO { + compatible = "amlogic,meson-gxm-aoclkc", "amlogic,meson-gx-aoclkc"; + }; +@@ -100,3 +113,7 @@ + &hdmi_tx { + compatible = "amlogic,meson-gxm-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; + }; ++ ++&dwc3 { ++ phys = <&usb3_phy>, <&usb2_phy0>, <&usb2_phy1>, <&usb2_phy2>; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/080_linux-4.14.y-bpo-dts-0037-arm64-dts-meson-gx-p23x-q20x-enable_the_usb_controller.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/080_linux-4.14.y-bpo-dts-0037-arm64-dts-meson-gx-p23x-q20x-enable_the_usb_controller.patch new file mode 100644 index 000000000..aefbc6704 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/080_linux-4.14.y-bpo-dts-0037-arm64-dts-meson-gx-p23x-q20x-enable_the_usb_controller.patch @@ -0,0 +1,28 @@ +From 972cd12a027256061c19c164021f2a771e860438 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Mon, 26 Mar 2018 23:17:45 +0200 +Subject: [PATCH] ARM64: dts: meson-gx-p23x-q20x: enable the USB controller + +All S905D (GXL) and S912 (GXM) reference boards (namely these are +P230, P231, Q200 and Q201) provide USB connectors. +This enables the USB controller on these boards to make the USB ports +actually usable. + +Signed-off-by: Martin Blumenstingl +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +index 4eef36b225386..88e712ea757a2 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +@@ -212,3 +212,7 @@ + pinctrl-0 = <&uart_ao_a_pins>; + pinctrl-names = "default"; + }; ++ ++&usb0 { ++ status = "okay"; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/081_linux-4.14.y-bpo-dts-0038-arm64-dts-meson-gxl-nexbox-a95x-enable_the_usb_controller.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/081_linux-4.14.y-bpo-dts-0038-arm64-dts-meson-gxl-nexbox-a95x-enable_the_usb_controller.patch new file mode 100644 index 000000000..9109f75e8 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/081_linux-4.14.y-bpo-dts-0038-arm64-dts-meson-gxl-nexbox-a95x-enable_the_usb_controller.patch @@ -0,0 +1,26 @@ +From 55ef32249bb647c6b64adcf943918d302a0020a7 Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Mon, 26 Mar 2018 23:17:47 +0200 +Subject: [PATCH] ARM64: dts: meson-gxl-nexbox-a95x: enable the USB controller + +The Nexbox A95X provides two USB ports. Enable the SoC's USB controller +on this board to make these USB ports usable. + +Signed-off-by: Martin Blumenstingl +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +index 69c721a70e44b..6739697be1def 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +@@ -215,3 +215,7 @@ + pinctrl-0 = <&uart_ao_a_pins>; + pinctrl-names = "default"; + }; ++ ++&usb0 { ++ status = "okay"; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/082_linux-4.14.y-bpo-dts-0039-arm64-dts-meson-gxm-khadas-vim2-enable_the_usb_controller.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/082_linux-4.14.y-bpo-dts-0039-arm64-dts-meson-gxm-khadas-vim2-enable_the_usb_controller.patch new file mode 100644 index 000000000..2d930e1b6 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/082_linux-4.14.y-bpo-dts-0039-arm64-dts-meson-gxm-khadas-vim2-enable_the_usb_controller.patch @@ -0,0 +1,28 @@ +From 4b7b0d7b25538d2ad421a1041267d5208d3425bc Mon Sep 17 00:00:00 2001 +From: Martin Blumenstingl +Date: Mon, 26 Mar 2018 23:17:48 +0200 +Subject: [PATCH] ARM64: dts: meson-gxm-khadas-vim2: enable the USB controller + +The Khadas VIM2 board connects the dwc3 controller to an internal 4-port +USB hub which. Two of these ports are accessible directly soldered to +the board, while the other two are accessible through the 40-pin "GPIO" +header. + +Signed-off-by: Martin Blumenstingl +Signed-off-by: Kevin Hilman +--- + arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +index 4fd46c1546a7e..0868da476e41f 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -406,3 +406,7 @@ + status = "okay"; + vref-supply = <&vddio_ao18>; + }; ++ ++&usb0 { ++ status = "okay"; ++}; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/083_linux-4.14.y-bpo-drm-0131-drm-bridge-synopsys-dw-hdmi-revert_fix_overflow_workaround_for_amlogic.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/083_linux-4.14.y-bpo-drm-0131-drm-bridge-synopsys-dw-hdmi-revert_fix_overflow_workaround_for_amlogic.patch new file mode 100644 index 000000000..bf1023a1c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/083_linux-4.14.y-bpo-drm-0131-drm-bridge-synopsys-dw-hdmi-revert_fix_overflow_workaround_for_amlogic.patch @@ -0,0 +1,21 @@ +diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +index 4db31b895..bf14214fa 100644 +--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c ++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +@@ -1634,8 +1634,6 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) + * (and possibly on the platform). So far only i.MX6Q (v1.30a) and + * i.MX6DL (v1.31a) have been identified as needing the workaround, with + * 4 and 1 iterations respectively. +- * The Amlogic Meson GX SoCs (v2.01a) have been identified as needing +- * the workaround with a single iteration. + */ + + switch (hdmi->version) { +@@ -1643,7 +1641,6 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) + count = 4; + break; + case 0x131a: +- case 0x201a: + count = 1; + break; + default: diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/084_linux-4.14.y-bpo-drm-0132-drm-bridge-synopsys-dw-hdmi-enable_cec_clock.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/084_linux-4.14.y-bpo-drm-0132-drm-bridge-synopsys-dw-hdmi-enable_cec_clock.patch new file mode 100644 index 000000000..07b93d4b4 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/084_linux-4.14.y-bpo-drm-0132-drm-bridge-synopsys-dw-hdmi-enable_cec_clock.patch @@ -0,0 +1,87 @@ +From ebe32c3e282a62974b190b9d514864fc0d56716e Mon Sep 17 00:00:00 2001 +From: Pierre-Hugues Husson +Date: Sat, 25 Nov 2017 21:18:44 +0100 +Subject: [PATCH] drm/bridge: synopsys/dw-hdmi: Enable cec clock + +Support the "cec" optional clock. The documentation already mentions "cec" +optional clock and it is used by several boards, but currently the driver +doesn't enable it, thus preventing cec from working on those boards. + +And even worse: a /dev/cecX device will appear for those boards, but it +won't be functioning without configuring this clock. + +Changes: +v4: +- Change commit message to stress the importance of this patch + +v3: +- Drop useless braces + +v2: +- Separate ENOENT errors from others +- Propagate other errors (especially -EPROBE_DEFER) + +Signed-off-by: Pierre-Hugues Husson +Signed-off-by: Archit Taneja +Link: https://patchwork.freedesktop.org/patch/msgid/20171125201844.11353-1-phh@phh.me +--- + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +index bf14214fa4640..b72259bf6e2fb 100644 +--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c ++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +@@ -138,6 +138,7 @@ struct dw_hdmi { + struct device *dev; + struct clk *isfr_clk; + struct clk *iahb_clk; ++ struct clk *cec_clk; + struct dw_hdmi_i2c *i2c; + + struct hdmi_data_info hdmi_data; +@@ -2382,6 +2383,26 @@ __dw_hdmi_probe(struct platform_device *pdev, + goto err_isfr; + } + ++ hdmi->cec_clk = devm_clk_get(hdmi->dev, "cec"); ++ if (PTR_ERR(hdmi->cec_clk) == -ENOENT) { ++ hdmi->cec_clk = NULL; ++ } else if (IS_ERR(hdmi->cec_clk)) { ++ ret = PTR_ERR(hdmi->cec_clk); ++ if (ret != -EPROBE_DEFER) ++ dev_err(hdmi->dev, "Cannot get HDMI cec clock: %d\n", ++ ret); ++ ++ hdmi->cec_clk = NULL; ++ goto err_iahb; ++ } else { ++ ret = clk_prepare_enable(hdmi->cec_clk); ++ if (ret) { ++ dev_err(hdmi->dev, "Cannot enable HDMI cec clock: %d\n", ++ ret); ++ goto err_iahb; ++ } ++ } ++ + /* Product and revision IDs */ + hdmi->version = (hdmi_readb(hdmi, HDMI_DESIGN_ID) << 8) + | (hdmi_readb(hdmi, HDMI_REVISION_ID) << 0); +@@ -2518,6 +2539,8 @@ __dw_hdmi_probe(struct platform_device *pdev, + cec_notifier_put(hdmi->cec_notifier); + + clk_disable_unprepare(hdmi->iahb_clk); ++ if (hdmi->cec_clk) ++ clk_disable_unprepare(hdmi->cec_clk); + err_isfr: + clk_disable_unprepare(hdmi->isfr_clk); + err_res: +@@ -2541,6 +2564,8 @@ static void __dw_hdmi_remove(struct dw_hdmi *hdmi) + + clk_disable_unprepare(hdmi->iahb_clk); + clk_disable_unprepare(hdmi->isfr_clk); ++ if (hdmi->cec_clk) ++ clk_disable_unprepare(hdmi->cec_clk); + + if (hdmi->i2c) + i2c_del_adapter(&hdmi->i2c->adap); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/085_linux-4.14.y-bpo-drm-0133-drm-bridge-synopsys-dw-hdmi-enable_workaround_for_v1.32a.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/085_linux-4.14.y-bpo-drm-0133-drm-bridge-synopsys-dw-hdmi-enable_workaround_for_v1.32a.patch new file mode 100644 index 000000000..abf433bf3 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/085_linux-4.14.y-bpo-drm-0133-drm-bridge-synopsys-dw-hdmi-enable_workaround_for_v1.32a.patch @@ -0,0 +1,45 @@ +From 46d1b42bfac6ea085169a23b266178719b19a778 Mon Sep 17 00:00:00 2001 +From: Jernej Skrabec +Date: Wed, 14 Feb 2018 21:08:57 +0100 +Subject: [PATCH] drm/bridge/synopsys: dw-hdmi: Enable workaround for v1.32a + +Allwinner SoCs have dw hdmi controller v1.32a which exhibits same +magenta line issue as i.MX6Q and i.MX6DL. Enable workaround for it. + +Tests show that one iteration is enough. + +Acked-by: Laurent Pinchart +Reviewed-by: Archit Taneja +Signed-off-by: Jernej Skrabec +Signed-off-by: Maxime Ripard +Link: https://patchwork.freedesktop.org/patch/msgid/20180214200906.31509-4-jernej.skrabec@siol.net +--- + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +index a38db40ce990d..7ca14d7325b51 100644 +--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c ++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +@@ -1634,9 +1634,10 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) + * then write one of the FC registers several times. + * + * The number of iterations matters and depends on the HDMI TX revision +- * (and possibly on the platform). So far only i.MX6Q (v1.30a) and +- * i.MX6DL (v1.31a) have been identified as needing the workaround, with +- * 4 and 1 iterations respectively. ++ * (and possibly on the platform). So far i.MX6Q (v1.30a), i.MX6DL ++ * (v1.31a) and multiple Allwinner SoCs (v1.32a) have been identified ++ * as needing the workaround, with 4 iterations for v1.30a and 1 ++ * iteration for others. + */ + + switch (hdmi->version) { +@@ -1644,6 +1645,7 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) + count = 4; + break; + case 0x131a: ++ case 0x132a: + count = 1; + break; + default: diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/086_linux-4.14.y-bpo-drm-0134-drm-bridge-dw-hdmi-fix_overflow_workaround_for_amlogic.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/086_linux-4.14.y-bpo-drm-0134-drm-bridge-dw-hdmi-fix_overflow_workaround_for_amlogic.patch new file mode 100644 index 000000000..76e33dd49 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/086_linux-4.14.y-bpo-drm-0134-drm-bridge-dw-hdmi-fix_overflow_workaround_for_amlogic.patch @@ -0,0 +1,41 @@ +From 9c305eb442f3b371fc722ade827bbf673514123e Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Fri, 23 Feb 2018 12:44:37 +0100 +Subject: [PATCH] drm: bridge: dw-hdmi: Fix overflow workaround for Amlogic + Meson GX SoCs + +The Amlogic Meson GX SoCs, embedded the v2.01a controller, has been also +identified needing this workaround. +This patch adds the corresponding version to enable a single iteration for +this specific version. + +Fixes: be41fc55f1aa ("drm: bridge: dw-hdmi: Handle overflow workaround based on device version") +Acked-by: Archit Taneja +[narmstrong: s/identifies/identified and rebased against Jernej's change] +Signed-off-by: Neil Armstrong +Link: https://patchwork.freedesktop.org/patch/msgid/1519386277-25902-1-git-send-email-narmstrong@baylibre.com +--- + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +index f9802399cc0de..53ebbe2904b66 100644 +--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c ++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +@@ -1654,6 +1654,8 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) + * (v1.31a) and multiple Allwinner SoCs (v1.32a) have been identified + * as needing the workaround, with 4 iterations for v1.30a and 1 + * iteration for others. ++ * The Amlogic Meson GX SoCs (v2.01a) have been identified as needing ++ * the workaround with a single iteration. + */ + + switch (hdmi->version) { +@@ -1662,6 +1664,7 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) + break; + case 0x131a: + case 0x132a: ++ case 0x201a: + count = 1; + break; + default: diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/087_linux-4.14.y-bpo-drm-0135-drm-bridge-synopsys-dw-hdmi-export_some_phy_related.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/087_linux-4.14.y-bpo-drm-0135-drm-bridge-synopsys-dw-hdmi-export_some_phy_related.patch new file mode 100644 index 000000000..d3b3332cb --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/087_linux-4.14.y-bpo-drm-0135-drm-bridge-synopsys-dw-hdmi-export_some_phy_related.patch @@ -0,0 +1,187 @@ +From 5765916afa4e859b92457a4a14f82ef2a9876758 Mon Sep 17 00:00:00 2001 +From: Jernej Skrabec +Date: Wed, 14 Feb 2018 21:08:58 +0100 +Subject: [PATCH] drm/bridge/synopsys: dw-hdmi: Export some PHY related + functions + +Parts of PHY code could be useful also for custom PHYs. For example, +Allwinner A83T has custom PHY which is probably Synopsys gen2 PHY +with few additional memory mapped registers, so most of the Synopsys PHY +related code could be reused. + +Functions exported here are actually not specific to Synopsys PHYs but +to DWC HDMI controller PHY interface. This means that even if the PHY is +completely custom, i.e. not designed by Synopsys, exported functions can +be useful. + +Reviewed-by: Archit Taneja +Reviewed-by: Neil Armstrong +Reviewed-by: Laurent Pinchart +Signed-off-by: Jernej Skrabec +Signed-off-by: Maxime Ripard +Link: https://patchwork.freedesktop.org/patch/msgid/20180214200906.31509-5-jernej.skrabec@siol.net +--- + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 44 +++++++++++++++++++++---------- + drivers/gpu/drm/meson/meson_dw_hdmi.c | 8 +++--- + include/drm/bridge/dw_hdmi.h | 11 ++++++++ + 3 files changed, 45 insertions(+), 18 deletions(-) + +diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +index 7ca14d7325b51..7d80f4b566831 100644 +--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c ++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +@@ -1037,19 +1037,21 @@ static void dw_hdmi_phy_enable_svsret(struct dw_hdmi *hdmi, u8 enable) + HDMI_PHY_CONF0_SVSRET_MASK); + } + +-static void dw_hdmi_phy_gen2_pddq(struct dw_hdmi *hdmi, u8 enable) ++void dw_hdmi_phy_gen2_pddq(struct dw_hdmi *hdmi, u8 enable) + { + hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0, + HDMI_PHY_CONF0_GEN2_PDDQ_OFFSET, + HDMI_PHY_CONF0_GEN2_PDDQ_MASK); + } ++EXPORT_SYMBOL_GPL(dw_hdmi_phy_gen2_pddq); + +-static void dw_hdmi_phy_gen2_txpwron(struct dw_hdmi *hdmi, u8 enable) ++void dw_hdmi_phy_gen2_txpwron(struct dw_hdmi *hdmi, u8 enable) + { + hdmi_mask_writeb(hdmi, enable, HDMI_PHY_CONF0, + HDMI_PHY_CONF0_GEN2_TXPWRON_OFFSET, + HDMI_PHY_CONF0_GEN2_TXPWRON_MASK); + } ++EXPORT_SYMBOL_GPL(dw_hdmi_phy_gen2_txpwron); + + static void dw_hdmi_phy_sel_data_en_pol(struct dw_hdmi *hdmi, u8 enable) + { +@@ -1065,6 +1067,22 @@ static void dw_hdmi_phy_sel_interface_control(struct dw_hdmi *hdmi, u8 enable) + HDMI_PHY_CONF0_SELDIPIF_MASK); + } + ++void dw_hdmi_phy_reset(struct dw_hdmi *hdmi) ++{ ++ /* PHY reset. The reset signal is active high on Gen2 PHYs. */ ++ hdmi_writeb(hdmi, HDMI_MC_PHYRSTZ_PHYRSTZ, HDMI_MC_PHYRSTZ); ++ hdmi_writeb(hdmi, 0, HDMI_MC_PHYRSTZ); ++} ++EXPORT_SYMBOL_GPL(dw_hdmi_phy_reset); ++ ++void dw_hdmi_phy_i2c_set_addr(struct dw_hdmi *hdmi, u8 address) ++{ ++ hdmi_phy_test_clear(hdmi, 1); ++ hdmi_writeb(hdmi, address, HDMI_PHY_I2CM_SLAVE_ADDR); ++ hdmi_phy_test_clear(hdmi, 0); ++} ++EXPORT_SYMBOL_GPL(dw_hdmi_phy_i2c_set_addr); ++ + static void dw_hdmi_phy_power_off(struct dw_hdmi *hdmi) + { + const struct dw_hdmi_phy_data *phy = hdmi->phy.data; +@@ -1203,16 +1221,11 @@ static int hdmi_phy_configure(struct dw_hdmi *hdmi) + if (phy->has_svsret) + dw_hdmi_phy_enable_svsret(hdmi, 1); + +- /* PHY reset. The reset signal is active high on Gen2 PHYs. */ +- hdmi_writeb(hdmi, HDMI_MC_PHYRSTZ_PHYRSTZ, HDMI_MC_PHYRSTZ); +- hdmi_writeb(hdmi, 0, HDMI_MC_PHYRSTZ); ++ dw_hdmi_phy_reset(hdmi); + + hdmi_writeb(hdmi, HDMI_MC_HEACPHY_RST_ASSERT, HDMI_MC_HEACPHY_RST); + +- hdmi_phy_test_clear(hdmi, 1); +- hdmi_writeb(hdmi, HDMI_PHY_I2CM_SLAVE_ADDR_PHY_GEN2, +- HDMI_PHY_I2CM_SLAVE_ADDR); +- hdmi_phy_test_clear(hdmi, 0); ++ dw_hdmi_phy_i2c_set_addr(hdmi, HDMI_PHY_I2CM_SLAVE_ADDR_PHY_GEN2); + + /* Write to the PHY as configured by the platform */ + if (pdata->configure_phy) +@@ -1251,15 +1264,16 @@ static void dw_hdmi_phy_disable(struct dw_hdmi *hdmi, void *data) + dw_hdmi_phy_power_off(hdmi); + } + +-static enum drm_connector_status dw_hdmi_phy_read_hpd(struct dw_hdmi *hdmi, +- void *data) ++enum drm_connector_status dw_hdmi_phy_read_hpd(struct dw_hdmi *hdmi, ++ void *data) + { + return hdmi_readb(hdmi, HDMI_PHY_STAT0) & HDMI_PHY_HPD ? + connector_status_connected : connector_status_disconnected; + } ++EXPORT_SYMBOL_GPL(dw_hdmi_phy_read_hpd); + +-static void dw_hdmi_phy_update_hpd(struct dw_hdmi *hdmi, void *data, +- bool force, bool disabled, bool rxsense) ++void dw_hdmi_phy_update_hpd(struct dw_hdmi *hdmi, void *data, ++ bool force, bool disabled, bool rxsense) + { + u8 old_mask = hdmi->phy_mask; + +@@ -1271,8 +1285,9 @@ static void dw_hdmi_phy_update_hpd(struct dw_hdmi *hdmi, void *data, + if (old_mask != hdmi->phy_mask) + hdmi_writeb(hdmi, hdmi->phy_mask, HDMI_PHY_MASK0); + } ++EXPORT_SYMBOL_GPL(dw_hdmi_phy_update_hpd); + +-static void dw_hdmi_phy_setup_hpd(struct dw_hdmi *hdmi, void *data) ++void dw_hdmi_phy_setup_hpd(struct dw_hdmi *hdmi, void *data) + { + /* + * Configure the PHY RX SENSE and HPD interrupts polarities and clear +@@ -1291,6 +1306,7 @@ static void dw_hdmi_phy_setup_hpd(struct dw_hdmi *hdmi, void *data) + hdmi_writeb(hdmi, ~(HDMI_IH_PHY_STAT0_HPD | HDMI_IH_PHY_STAT0_RX_SENSE), + HDMI_IH_MUTE_PHY_STAT0); + } ++EXPORT_SYMBOL_GPL(dw_hdmi_phy_setup_hpd); + + static const struct dw_hdmi_phy_ops dw_hdmi_synopsys_phy_ops = { + .init = dw_hdmi_phy_init, +diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c +index 17de3afd98f6a..e8c3ef8a94ce3 100644 +--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c ++++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c +@@ -302,7 +302,7 @@ static void meson_hdmi_phy_setup_mode(struct meson_dw_hdmi *dw_hdmi, + } + } + +-static inline void dw_hdmi_phy_reset(struct meson_dw_hdmi *dw_hdmi) ++static inline void meson_dw_hdmi_phy_reset(struct meson_dw_hdmi *dw_hdmi) + { + struct meson_drm *priv = dw_hdmi->priv; + +@@ -409,9 +409,9 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi, void *data, + msleep(100); + + /* Reset PHY 3 times in a row */ +- dw_hdmi_phy_reset(dw_hdmi); +- dw_hdmi_phy_reset(dw_hdmi); +- dw_hdmi_phy_reset(dw_hdmi); ++ meson_dw_hdmi_phy_reset(dw_hdmi); ++ meson_dw_hdmi_phy_reset(dw_hdmi); ++ meson_dw_hdmi_phy_reset(dw_hdmi); + + /* Temporary Disable VENC video stream */ + if (priv->venc.hdmi_use_enci) +diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h +index 182f83283e247..f3f3f0e1b2d3a 100644 +--- a/include/drm/bridge/dw_hdmi.h ++++ b/include/drm/bridge/dw_hdmi.h +@@ -157,7 +157,18 @@ void dw_hdmi_audio_enable(struct dw_hdmi *hdmi); + void dw_hdmi_audio_disable(struct dw_hdmi *hdmi); + + /* PHY configuration */ ++void dw_hdmi_phy_i2c_set_addr(struct dw_hdmi *hdmi, u8 address); + void dw_hdmi_phy_i2c_write(struct dw_hdmi *hdmi, unsigned short data, + unsigned char addr); + ++void dw_hdmi_phy_gen2_pddq(struct dw_hdmi *hdmi, u8 enable); ++void dw_hdmi_phy_gen2_txpwron(struct dw_hdmi *hdmi, u8 enable); ++void dw_hdmi_phy_reset(struct dw_hdmi *hdmi); ++ ++enum drm_connector_status dw_hdmi_phy_read_hpd(struct dw_hdmi *hdmi, ++ void *data); ++void dw_hdmi_phy_update_hpd(struct dw_hdmi *hdmi, void *data, ++ bool force, bool disabled, bool rxsense); ++void dw_hdmi_phy_setup_hpd(struct dw_hdmi *hdmi, void *data); ++ + #endif /* __IMX_HDMI_H__ */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/088_linux-4.14.y-bpo-drm-0136-drm-bridge-synopsys-dw-hdmi-dont_clobber_drvdata.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/088_linux-4.14.y-bpo-drm-0136-drm-bridge-synopsys-dw-hdmi-dont_clobber_drvdata.patch new file mode 100644 index 000000000..d3b30c4c7 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/088_linux-4.14.y-bpo-drm-0136-drm-bridge-synopsys-dw-hdmi-dont_clobber_drvdata.patch @@ -0,0 +1,294 @@ +From eea034af90c64802fd747a9dc534c26a7ebe7754 Mon Sep 17 00:00:00 2001 +From: Jernej Skrabec +Date: Wed, 14 Feb 2018 21:08:59 +0100 +Subject: [PATCH] drm/bridge/synopsys: dw-hdmi: don't clobber drvdata + +dw_hdmi shouldn't set drvdata since some drivers might need to store +it's own data there. Rework dw_hdmi in a way to return struct dw_hdmi +instead to store it in drvdata. This way drivers are responsible to +store and pass structure when needed. + +Idea was taken from the following commit: +8242ecbd597d ("drm/bridge/synopsys: stop clobbering drvdata") + +Cc: p.zabel@pengutronix.de +Cc: Laurent.pinchart@ideasonboard.com +Cc: hjc@rock-chips.com +Acked-by: Heiko Stuebner +Acked-by: Neil Armstrong +Reviewed-by: Archit Taneja +Tested-by: Heiko Stuebner +Signed-off-by: Jernej Skrabec +Signed-off-by: Maxime Ripard +Link: https://patchwork.freedesktop.org/patch/msgid/20180214200906.31509-6-jernej.skrabec@siol.net +--- + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 31 ++++++++++++----------------- + drivers/gpu/drm/imx/dw_hdmi-imx.c | 13 +++++++++--- + drivers/gpu/drm/meson/meson_dw_hdmi.c | 14 +++++++++---- + drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c | 12 +++++++++-- + drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 13 +++++++++--- + include/drm/bridge/dw_hdmi.h | 13 ++++++------ + 6 files changed, 60 insertions(+), 36 deletions(-) + +diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +index 7d80f4b566831..f9802399cc0de 100644 +--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c ++++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +@@ -2543,8 +2543,6 @@ __dw_hdmi_probe(struct platform_device *pdev, + if (hdmi->i2c) + dw_hdmi_i2c_init(hdmi); + +- platform_set_drvdata(pdev, hdmi); +- + return hdmi; + + err_iahb: +@@ -2594,25 +2592,23 @@ static void __dw_hdmi_remove(struct dw_hdmi *hdmi) + /* ----------------------------------------------------------------------------- + * Probe/remove API, used from platforms based on the DRM bridge API. + */ +-int dw_hdmi_probe(struct platform_device *pdev, +- const struct dw_hdmi_plat_data *plat_data) ++struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, ++ const struct dw_hdmi_plat_data *plat_data) + { + struct dw_hdmi *hdmi; + + hdmi = __dw_hdmi_probe(pdev, plat_data); + if (IS_ERR(hdmi)) +- return PTR_ERR(hdmi); ++ return hdmi; + + drm_bridge_add(&hdmi->bridge); + +- return 0; ++ return hdmi; + } + EXPORT_SYMBOL_GPL(dw_hdmi_probe); + +-void dw_hdmi_remove(struct platform_device *pdev) ++void dw_hdmi_remove(struct dw_hdmi *hdmi) + { +- struct dw_hdmi *hdmi = platform_get_drvdata(pdev); +- + drm_bridge_remove(&hdmi->bridge); + + __dw_hdmi_remove(hdmi); +@@ -2622,31 +2618,30 @@ EXPORT_SYMBOL_GPL(dw_hdmi_remove); + /* ----------------------------------------------------------------------------- + * Bind/unbind API, used from platforms based on the component framework. + */ +-int dw_hdmi_bind(struct platform_device *pdev, struct drm_encoder *encoder, +- const struct dw_hdmi_plat_data *plat_data) ++struct dw_hdmi *dw_hdmi_bind(struct platform_device *pdev, ++ struct drm_encoder *encoder, ++ const struct dw_hdmi_plat_data *plat_data) + { + struct dw_hdmi *hdmi; + int ret; + + hdmi = __dw_hdmi_probe(pdev, plat_data); + if (IS_ERR(hdmi)) +- return PTR_ERR(hdmi); ++ return hdmi; + + ret = drm_bridge_attach(encoder, &hdmi->bridge, NULL); + if (ret) { +- dw_hdmi_remove(pdev); ++ dw_hdmi_remove(hdmi); + DRM_ERROR("Failed to initialize bridge with drm\n"); +- return ret; ++ return ERR_PTR(ret); + } + +- return 0; ++ return hdmi; + } + EXPORT_SYMBOL_GPL(dw_hdmi_bind); + +-void dw_hdmi_unbind(struct device *dev) ++void dw_hdmi_unbind(struct dw_hdmi *hdmi) + { +- struct dw_hdmi *hdmi = dev_get_drvdata(dev); +- + __dw_hdmi_remove(hdmi); + } + EXPORT_SYMBOL_GPL(dw_hdmi_unbind); +diff --git a/drivers/gpu/drm/imx/dw_hdmi-imx.c b/drivers/gpu/drm/imx/dw_hdmi-imx.c +index b62763aa87069..fe6becdcc29ed 100644 +--- a/drivers/gpu/drm/imx/dw_hdmi-imx.c ++++ b/drivers/gpu/drm/imx/dw_hdmi-imx.c +@@ -25,6 +25,7 @@ + struct imx_hdmi { + struct device *dev; + struct drm_encoder encoder; ++ struct dw_hdmi *hdmi; + struct regmap *regmap; + }; + +@@ -239,14 +240,18 @@ static int dw_hdmi_imx_bind(struct device *dev, struct device *master, + drm_encoder_init(drm, encoder, &dw_hdmi_imx_encoder_funcs, + DRM_MODE_ENCODER_TMDS, NULL); + +- ret = dw_hdmi_bind(pdev, encoder, plat_data); ++ platform_set_drvdata(pdev, hdmi); ++ ++ hdmi->hdmi = dw_hdmi_bind(pdev, encoder, plat_data); + + /* + * If dw_hdmi_bind() fails we'll never call dw_hdmi_unbind(), + * which would have called the encoder cleanup. Do it manually. + */ +- if (ret) ++ if (IS_ERR(hdmi->hdmi)) { ++ ret = PTR_ERR(hdmi->hdmi); + drm_encoder_cleanup(encoder); ++ } + + return ret; + } +@@ -254,7 +259,9 @@ static int dw_hdmi_imx_bind(struct device *dev, struct device *master, + static void dw_hdmi_imx_unbind(struct device *dev, struct device *master, + void *data) + { +- return dw_hdmi_unbind(dev); ++ struct imx_hdmi *hdmi = dev_get_drvdata(dev); ++ ++ dw_hdmi_unbind(hdmi->hdmi); + } + + static const struct component_ops dw_hdmi_imx_ops = { +diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c +index e8c3ef8a94ce3..d49af17310c99 100644 +--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c ++++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c +@@ -140,6 +140,7 @@ struct meson_dw_hdmi { + struct clk *venci_clk; + struct regulator *hdmi_supply; + u32 irq_stat; ++ struct dw_hdmi *hdmi; + }; + #define encoder_to_meson_dw_hdmi(x) \ + container_of(x, struct meson_dw_hdmi, encoder) +@@ -878,9 +879,12 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master, + dw_plat_data->input_bus_format = MEDIA_BUS_FMT_YUV8_1X24; + dw_plat_data->input_bus_encoding = V4L2_YCBCR_ENC_709; + +- ret = dw_hdmi_bind(pdev, encoder, &meson_dw_hdmi->dw_plat_data); +- if (ret) +- return ret; ++ platform_set_drvdata(pdev, meson_dw_hdmi); ++ ++ meson_dw_hdmi->hdmi = dw_hdmi_bind(pdev, encoder, ++ &meson_dw_hdmi->dw_plat_data); ++ if (IS_ERR(meson_dw_hdmi->hdmi)) ++ return PTR_ERR(meson_dw_hdmi->hdmi); + + DRM_DEBUG_DRIVER("HDMI controller initialized\n"); + +@@ -890,7 +894,9 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master, + static void meson_dw_hdmi_unbind(struct device *dev, struct device *master, + void *data) + { +- dw_hdmi_unbind(dev); ++ struct meson_dw_hdmi *meson_dw_hdmi = dev_get_drvdata(dev); ++ ++ dw_hdmi_unbind(meson_dw_hdmi->hdmi); + } + + static const struct component_ops meson_dw_hdmi_ops = { +diff --git a/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c b/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c +index dc85b53d58ef2..3bebc6821e9cc 100644 +--- a/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c ++++ b/drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c +@@ -68,12 +68,20 @@ static const struct dw_hdmi_plat_data rcar_dw_hdmi_plat_data = { + + static int rcar_dw_hdmi_probe(struct platform_device *pdev) + { +- return dw_hdmi_probe(pdev, &rcar_dw_hdmi_plat_data); ++ struct dw_hdmi *hdmi; ++ ++ hdmi = dw_hdmi_probe(pdev, &rcar_dw_hdmi_plat_data); ++ if (IS_ERR(hdmi)) ++ return PTR_ERR(hdmi); ++ ++ platform_set_drvdata(pdev, hdmi); + } + + static int rcar_dw_hdmi_remove(struct platform_device *pdev) + { +- dw_hdmi_remove(pdev); ++ struct dw_hdmi *hdmi = platform_get_drvdata(dev); ++ ++ dw_hdmi_remove(hdmi); + + return 0; + } +diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +index 1eb02a82fd918..3574b0ae2ad19 100644 +--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c ++++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +@@ -48,6 +48,7 @@ struct rockchip_hdmi { + const struct rockchip_hdmi_chip_data *chip_data; + struct clk *vpll_clk; + struct clk *grf_clk; ++ struct dw_hdmi *hdmi; + }; + + #define to_rockchip_hdmi(x) container_of(x, struct rockchip_hdmi, x) +@@ -377,14 +378,18 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master, + drm_encoder_init(drm, encoder, &dw_hdmi_rockchip_encoder_funcs, + DRM_MODE_ENCODER_TMDS, NULL); + +- ret = dw_hdmi_bind(pdev, encoder, plat_data); ++ platform_set_drvdata(pdev, hdmi); ++ ++ hdmi->hdmi = dw_hdmi_bind(pdev, encoder, plat_data); + + /* + * If dw_hdmi_bind() fails we'll never call dw_hdmi_unbind(), + * which would have called the encoder cleanup. Do it manually. + */ +- if (ret) ++ if (IS_ERR(hdmi->hdmi)) { ++ ret = PTR_ERR(hdmi->hdmi); + drm_encoder_cleanup(encoder); ++ } + + return ret; + } +@@ -392,7 +397,9 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master, + static void dw_hdmi_rockchip_unbind(struct device *dev, struct device *master, + void *data) + { +- return dw_hdmi_unbind(dev); ++ struct rockchip_hdmi *hdmi = dev_get_drvdata(dev); ++ ++ dw_hdmi_unbind(hdmi->hdmi); + } + + static const struct component_ops dw_hdmi_rockchip_ops = { +diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h +index f3f3f0e1b2d3a..dd2a8cf7d20b8 100644 +--- a/include/drm/bridge/dw_hdmi.h ++++ b/include/drm/bridge/dw_hdmi.h +@@ -143,12 +143,13 @@ struct dw_hdmi_plat_data { + unsigned long mpixelclock); + }; + +-int dw_hdmi_probe(struct platform_device *pdev, +- const struct dw_hdmi_plat_data *plat_data); +-void dw_hdmi_remove(struct platform_device *pdev); +-void dw_hdmi_unbind(struct device *dev); +-int dw_hdmi_bind(struct platform_device *pdev, struct drm_encoder *encoder, +- const struct dw_hdmi_plat_data *plat_data); ++struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, ++ const struct dw_hdmi_plat_data *plat_data); ++void dw_hdmi_remove(struct dw_hdmi *hdmi); ++void dw_hdmi_unbind(struct dw_hdmi *hdmi); ++struct dw_hdmi *dw_hdmi_bind(struct platform_device *pdev, ++ struct drm_encoder *encoder, ++ const struct dw_hdmi_plat_data *plat_data); + + void dw_hdmi_setup_rx_sense(struct device *dev, bool hpd, bool rx_sense); + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0026-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/089_linux-4.17-yocto-meson64-0002-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch similarity index 82% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0026-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/089_linux-4.17-yocto-meson64-0002-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch index 3aa2e2f74..6f1d3e25d 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0026-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/089_linux-4.17-yocto-meson64-0002-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch @@ -1,7 +1,7 @@ -From e5509c367852ca7a7b52c30fda3dfd2a763ee8f3 Mon Sep 17 00:00:00 2001 +From 13253828e625fad26802c497672d1ebc2588a61e Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Tue, 14 Feb 2017 19:18:04 +0100 -Subject: [PATCH 26/39] drm/meson: select dw-hdmi i2s audio for meson hdmi +Subject: [PATCH 02/14] drm/meson: select dw-hdmi i2s audio for meson hdmi Signed-off-by: Jerome Brunet Signed-off-by: Neil Armstrong diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0021-ASoC-meson-add-meson-audio-core-driver.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/090_linux-4.17-yocto-meson64-0003-ASoC-meson-add-meson-audio-core-driver.patch similarity index 96% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0021-ASoC-meson-add-meson-audio-core-driver.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/090_linux-4.17-yocto-meson64-0003-ASoC-meson-add-meson-audio-core-driver.patch index ff9a55e19..b7efebb87 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0021-ASoC-meson-add-meson-audio-core-driver.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/090_linux-4.17-yocto-meson64-0003-ASoC-meson-add-meson-audio-core-driver.patch @@ -1,7 +1,7 @@ -From f9b447452943415a12055c0fca279281cd28d923 Mon Sep 17 00:00:00 2001 +From 0d24a1c3cd2bc015eb3c22e7b1322ab39a5f8dda Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Thu, 30 Mar 2017 11:49:55 +0200 -Subject: [PATCH 21/39] ASoC: meson: add meson audio core driver +Subject: [PATCH 03/14] ASoC: meson: add meson audio core driver This patch adds support for the audio core driver for the Amlogic Meson SoC family. The purpose of this driver is to properly reset the audio block and @@ -30,10 +30,10 @@ Signed-off-by: Neil Armstrong create mode 100644 sound/soc/meson/audio-core.h diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig -index c0abad2..7db316f 100644 +index 41af6b9..1cf11cf 100644 --- a/sound/soc/Kconfig +++ b/sound/soc/Kconfig -@@ -55,6 +55,7 @@ source "sound/soc/kirkwood/Kconfig" +@@ -57,6 +57,7 @@ source "sound/soc/kirkwood/Kconfig" source "sound/soc/img/Kconfig" source "sound/soc/intel/Kconfig" source "sound/soc/mediatek/Kconfig" @@ -42,10 +42,10 @@ index c0abad2..7db316f 100644 source "sound/soc/pxa/Kconfig" source "sound/soc/qcom/Kconfig" diff --git a/sound/soc/Makefile b/sound/soc/Makefile -index bf8c1e2..d4c0a51 100644 +index 8d92492..4d642ea 100644 --- a/sound/soc/Makefile +++ b/sound/soc/Makefile -@@ -33,6 +33,7 @@ obj-$(CONFIG_SND_SOC) += jz4740/ +@@ -38,6 +38,7 @@ obj-$(CONFIG_SND_SOC) += jz4740/ obj-$(CONFIG_SND_SOC) += img/ obj-$(CONFIG_SND_SOC) += intel/ obj-$(CONFIG_SND_SOC) += mediatek/ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0022-ASoC-meson-add-register-definitions.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/091_linux-4.17-yocto-meson64-0004-ASoC-meson-add-register-definitions.patch similarity index 99% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0022-ASoC-meson-add-register-definitions.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/091_linux-4.17-yocto-meson64-0004-ASoC-meson-add-register-definitions.patch index c040e9f9c..742e8b3df 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0022-ASoC-meson-add-register-definitions.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/091_linux-4.17-yocto-meson64-0004-ASoC-meson-add-register-definitions.patch @@ -1,7 +1,7 @@ -From 71e89b9513f114d45fd43233039a73f678702815 Mon Sep 17 00:00:00 2001 +From 04b110f288ec7436b0d714b090498562ab93c04b Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Thu, 30 Mar 2017 12:00:10 +0200 -Subject: [PATCH 22/39] ASoC: meson: add register definitions +Subject: [PATCH 04/14] ASoC: meson: add register definitions Add the register definition for the AIU and AUDIN blocks diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0023-ASoC-meson-add-aiu-i2s-dma-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/092_linux-4.17-yocto-meson64-0005-ASoC-meson-add-aiu-i2s-dma-support.patch similarity index 99% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0023-ASoC-meson-add-aiu-i2s-dma-support.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/092_linux-4.17-yocto-meson64-0005-ASoC-meson-add-aiu-i2s-dma-support.patch index edb19292b..fec22f4d9 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0023-ASoC-meson-add-aiu-i2s-dma-support.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/092_linux-4.17-yocto-meson64-0005-ASoC-meson-add-aiu-i2s-dma-support.patch @@ -1,7 +1,7 @@ -From 03285555d8cbb3eb1f4991b758e5804a3c19b4ce Mon Sep 17 00:00:00 2001 +From 298241f7155bfeed607b68840950c4d193cbaf55 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Thu, 30 Mar 2017 12:14:40 +0200 -Subject: [PATCH 23/39] ASoC: meson: add aiu i2s dma support +Subject: [PATCH 05/14] ASoC: meson: add aiu i2s dma support Add support for the i2s output dma which is part of the AIU block diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0024-ASoC-meson-add-initial-i2s-dai-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/093_linux-4.17-yocto-meson64-0006-ASoC-meson-add-initial-i2s-dai-support.patch similarity index 99% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0024-ASoC-meson-add-initial-i2s-dai-support.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/093_linux-4.17-yocto-meson64-0006-ASoC-meson-add-initial-i2s-dai-support.patch index cfd5f78bd..c3cd903ee 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0024-ASoC-meson-add-initial-i2s-dai-support.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/093_linux-4.17-yocto-meson64-0006-ASoC-meson-add-initial-i2s-dai-support.patch @@ -1,7 +1,7 @@ -From e273b0687bfb891ca4962dfe96e174371853ae89 Mon Sep 17 00:00:00 2001 +From 583f1a4a1120f751a26f7c78218e54e449930308 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Thu, 30 Mar 2017 12:17:27 +0200 -Subject: [PATCH 24/39] ASoC: meson: add initial i2s dai support +Subject: [PATCH 06/14] ASoC: meson: add initial i2s dai support Add support for the i2s dai found on Amlogic Meson SoC family. With this initial implementation, only playback is supported. diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0025-snd-meson-activate-HDMI-audio-path.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/094_linux-4.17-yocto-meson64-0007-snd-meson-activate-HDMI-audio-path.patch similarity index 94% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0025-snd-meson-activate-HDMI-audio-path.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/094_linux-4.17-yocto-meson64-0007-snd-meson-activate-HDMI-audio-path.patch index c3fadbccd..6ade016d4 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0025-snd-meson-activate-HDMI-audio-path.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/094_linux-4.17-yocto-meson64-0007-snd-meson-activate-HDMI-audio-path.patch @@ -1,7 +1,7 @@ -From f40a0d725ebdad433383010d1c5ef92eb99e41a7 Mon Sep 17 00:00:00 2001 +From 7833a66101aabad7f882fdf6dee62c7de9c3c71b Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Fri, 7 Jul 2017 17:39:21 +0200 -Subject: [PATCH 25/39] snd: meson: activate HDMI audio path +Subject: [PATCH 07/14] snd: meson: activate HDMI audio path Signed-off-by: Neil Armstrong --- diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0027-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/095_linux-4.17-yocto-meson64-0010-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch similarity index 79% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0027-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/095_linux-4.17-yocto-meson64-0010-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch index 6adccf110..7fd89f084 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0027-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/095_linux-4.17-yocto-meson64-0010-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch @@ -1,7 +1,7 @@ -From d74574d0836155eadde90e9ba12b8c4d18202d8e Mon Sep 17 00:00:00 2001 +From e3fec781d3684fa264dfd68877b59b70a30f8929 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Fri, 31 Mar 2017 15:55:03 +0200 -Subject: [PATCH 27/39] ARM64: defconfig: enable audio support for meson SoCs +Subject: [PATCH 10/14] ARM64: defconfig: enable audio support for meson SoCs as module Add audio support for meson SoCs. This includes the audio core @@ -14,10 +14,10 @@ Signed-off-by: Neil Armstrong 1 file changed, 2 insertions(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index dcf1090..beb5774 100644 +index 43716e1..639cb12 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig -@@ -405,6 +405,8 @@ CONFIG_SOUND=y +@@ -440,6 +440,8 @@ CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_SOC=y CONFIG_SND_BCM2835_SOC_I2S=m diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0028-ARM64-dts-meson-gx-add-audio-controller-nodes.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/096_linux-4.17-yocto-meson64-0011-ARM64-dts-meson-gx-add-audio-controller-nodes.patch similarity index 57% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0028-ARM64-dts-meson-gx-add-audio-controller-nodes.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/096_linux-4.17-yocto-meson64-0011-ARM64-dts-meson-gx-add-audio-controller-nodes.patch index 772a14095..c2fb3c5d8 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0028-ARM64-dts-meson-gx-add-audio-controller-nodes.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/096_linux-4.17-yocto-meson64-0011-ARM64-dts-meson-gx-add-audio-controller-nodes.patch @@ -1,7 +1,7 @@ -From 7bd8dcbb1f840fe6d4ae6a1f5f2d3708f09110f9 Mon Sep 17 00:00:00 2001 +From c9a242f21d67baf22cb113ba37e9f77b96ba1027 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Wed, 20 Sep 2017 17:22:47 +0200 -Subject: [PATCH 28/39] ARM64: dts: meson-gx: add audio controller nodes +Subject: [PATCH] ARM64: dts: meson-gx: add audio controller nodes Add audio controller nodes for Amlogic meson gxl. This includes the audio-core node, the i2s DAI and i2s @@ -13,15 +13,16 @@ to be added later on (pcm DAIs, input DMAs, SPDIF etc ...) Signed-off-by: Jerome Brunet Signed-off-by: Neil Armstrong --- - arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 22 ++++++++++++++++++++++ - arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 23 +++++++++++++++++++++++ - 2 files changed, 45 insertions(+) + arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 22 ++++++++++++++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 23 +++++++++++++++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 23 +++++++++++++++++++++++ + 3 files changed, 68 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -index f175db8..ff27ce0 100644 +index 3c31e21cbed7f..e4ebc8751fd27 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi -@@ -224,6 +224,28 @@ +@@ -197,6 +197,28 @@ #reset-cells = <1>; }; @@ -48,14 +49,48 @@ index f175db8..ff27ce0 100644 + }; + uart_A: serial@84c0 { - compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; - reg = <0x0 0x84c0 0x0 0x14>; + compatible = "amlogic,meson-gx-uart"; + reg = <0x0 0x84c0 0x0 0x18>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +index 562c26a0ba333..67d794bee9034 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +@@ -702,6 +702,29 @@ + <0>; /* Do Nothing */ + }; + ++&audio { ++ clocks = <&clkc CLKID_AIU>, ++ <&clkc CLKID_AIU_GLUE>, ++ <&clkc CLKID_I2S_SPDIF>; ++ clock-names = "aiu_top", "aiu_glue", "audin"; ++ resets = <&reset RESET_AIU>, ++ <&reset RESET_AUDIN>; ++ reset-names = "aiu", "audin"; ++}; ++ ++&aiu_i2s_dma { ++ clocks = <&clkc CLKID_I2S_OUT>; ++ clock-names = "fast"; ++}; ++ ++&i2s_dai { ++ clocks = <&clkc CLKID_I2S_OUT>, ++ <&clkc CLKID_MIXER_IFACE>, ++ <&clkc CLKID_AOCLK_GATE>, ++ <&clkc CLKID_CTS_AMCLK>; ++ clock-names = "fast", "iface", "bclks", "mclk"; ++}; ++ + &saradc { + compatible = "amlogic,meson-gxbb-saradc", "amlogic,meson-saradc"; + clocks = <&xtal>, diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi -index 68ea67a..9d2fb46 100644 +index dba365ed4bd5f..0a41e2ed490bc 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi -@@ -691,6 +691,29 @@ - }; +@@ -711,6 +711,29 @@ + <0>; /* Do Nothing */ }; +&audio { @@ -84,6 +119,3 @@ index 68ea67a..9d2fb46 100644 &saradc { compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; clocks = <&xtal>, --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/097_linux-4.17-yocto-meson64-0012-ARM64-dts-meson-gxl-add-sound-dai-cells-to-HDMI-node.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/097_linux-4.17-yocto-meson64-0012-ARM64-dts-meson-gxl-add-sound-dai-cells-to-HDMI-node.patch new file mode 100644 index 000000000..466ed5a62 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/097_linux-4.17-yocto-meson64-0012-ARM64-dts-meson-gxl-add-sound-dai-cells-to-HDMI-node.patch @@ -0,0 +1,23 @@ +From fb45bc4b076c17a3f9c1dab64e652dce752371c2 Mon Sep 17 00:00:00 2001 +From: Jerome Brunet +Date: Wed, 20 Sep 2017 18:01:26 +0200 +Subject: [PATCH] ARM64: dts: meson-gxl: add sound-dai-cells to HDMI node + +Signed-off-by: Jerome Brunet +Signed-off-by: Neil Armstrong +--- + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +index 0a41e2ed490bc..a11ac158df7a1 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +@@ -265,6 +265,7 @@ + <&clkc CLKID_CLK81>, + <&clkc CLKID_GCLK_VENCI_INT0>; + clock-names = "isfr", "iahb", "venci"; ++ #sound-dai-cells = <0>; + }; + + &hiubus { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0035-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/098_linux-4.17-yocto-meson64-0013-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch similarity index 83% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0035-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/098_linux-4.17-yocto-meson64-0013-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch index f06348b40..5cac91968 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0035-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/098_linux-4.17-yocto-meson64-0013-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch @@ -1,8 +1,7 @@ -From bc1416cbeb6fb588e8573c9904b691259d173093 Mon Sep 17 00:00:00 2001 +From e6794244bc4c59ffcf1ed4cbb452836dca10ad55 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Wed, 20 Sep 2017 18:10:08 +0200 -Subject: [PATCH 35/39] ARM64: dts: meson: activate hdmi audio HDMI enabled - boards +Subject: [PATCH] ARM64: dts: meson: activate hdmi audio HDMI enabled boards This patch activate audio over HDMI on selected boards @@ -17,7 +16,7 @@ Signed-off-by: Neil Armstrong .../boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts | 38 ++++++++++++++++++++++ .../arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 37 +++++++++++++++++++++ arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi | 37 +++++++++++++++++++++ - .../boot/dts/amlogic/meson-gxbb-wetek-play2.dts | 37 +++++++++++++++++++++ + arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi | 37 +++++++++++++++++++++ .../dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 37 +++++++++++++++++++++ .../dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 37 +++++++++++++++++++++ .../dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts | 37 +++++++++++++++++++++ @@ -27,10 +26,10 @@ Signed-off-by: Neil Armstrong 11 files changed, 408 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -index 979abaf..91b7ac8 100644 +index 88e712ea757a2..7256912413e1a 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi -@@ -130,6 +130,31 @@ +@@ -95,6 +95,31 @@ }; }; }; @@ -62,7 +61,7 @@ index 979abaf..91b7ac8 100644 }; &cec_AO { -@@ -139,6 +164,18 @@ +@@ -104,6 +129,18 @@ hdmi-phandle = <&hdmi_tx>; }; @@ -82,10 +81,10 @@ index 979abaf..91b7ac8 100644 cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts -index 9a77323..2357a38 100644 +index 4cf7f6e80c6a0..43586e9099616 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts -@@ -143,6 +143,31 @@ +@@ -119,6 +119,31 @@ clock-names = "ext_clock"; }; @@ -117,7 +116,7 @@ index 9a77323..2357a38 100644 cvbs-connector { compatible = "composite-video-connector"; -@@ -178,6 +203,19 @@ +@@ -154,6 +179,19 @@ hdmi-phandle = <&hdmi_tx>; }; @@ -138,10 +137,10 @@ index 9a77323..2357a38 100644 status = "okay"; pinctrl-0 = <ð_rmii_pins>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -index dc3d1ba..4e0b3c7 100644 +index 54954b314a452..b24d2f79ccc34 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts -@@ -146,6 +146,31 @@ +@@ -110,6 +110,31 @@ }; }; }; @@ -173,7 +172,7 @@ index dc3d1ba..4e0b3c7 100644 }; &cec_AO { -@@ -155,6 +180,18 @@ +@@ -119,6 +144,18 @@ hdmi-phandle = <&hdmi_tx>; }; @@ -193,10 +192,10 @@ index dc3d1ba..4e0b3c7 100644 status = "okay"; pinctrl-0 = <ð_rgmii_pins>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi -index 932158a..c9d4870 100644 +index ce862266b9aac..f89a094daf98d 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi -@@ -149,6 +149,31 @@ +@@ -113,6 +113,31 @@ }; }; }; @@ -228,7 +227,7 @@ index 932158a..c9d4870 100644 }; &cec_AO { -@@ -158,6 +183,18 @@ +@@ -122,6 +147,18 @@ hdmi-phandle = <&hdmi_tx>; }; @@ -247,11 +246,11 @@ index 932158a..c9d4870 100644 &cvbs_vdac_port { cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; -diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts -index f7144fd..58a0f51 100644 ---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts -+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts -@@ -106,6 +106,31 @@ +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi +index 70325b273bd2b..b3b6ce7e665b9 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi +@@ -105,6 +105,43 @@ }; }; }; @@ -280,13 +279,8 @@ index f7144fd..58a0f51 100644 + }; + }; + }; - }; - - &cec_AO { -@@ -115,6 +140,18 @@ - hdmi-phandle = <&hdmi_tx>; - }; - ++}; ++ +&audio { + status = "okay"; +}; @@ -297,13 +291,11 @@ index f7144fd..58a0f51 100644 + +&i2s_dai { + status = "okay"; -+}; -+ - &cvbs_vdac_port { - cvbs_vdac_out: endpoint { - remote-endpoint = <&cvbs_connector_in>; + }; + + &cec_AO { diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts -index f7b37de..ce92ca5 100644 +index d32cf38463702..1b2171d76a7bb 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts @@ -65,6 +65,31 @@ @@ -358,11 +350,11 @@ index f7b37de..ce92ca5 100644 status = "okay"; pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts -index 0c4ed4e..29d8e01 100644 +index 3e3eb31748a35..9717c831a54f0 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts -@@ -83,6 +83,31 @@ - enable-active-high; +@@ -84,6 +84,31 @@ + regulator-always-on; }; + sound { @@ -393,7 +385,7 @@ index 0c4ed4e..29d8e01 100644 vcc_3v3: regulator-vcc_3v3 { compatible = "regulator-fixed"; regulator-name = "VCC_3V3"; -@@ -122,6 +147,18 @@ +@@ -130,6 +155,18 @@ hdmi-phandle = <&hdmi_tx>; }; @@ -413,10 +405,10 @@ index 0c4ed4e..29d8e01 100644 cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts -index 0fdebcc..dcb571a 100644 +index 6739697be1def..1c2f62984c8ad 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts -@@ -138,6 +138,31 @@ +@@ -102,6 +102,31 @@ }; }; }; @@ -448,7 +440,7 @@ index 0fdebcc..dcb571a 100644 }; &cec_AO { -@@ -147,6 +172,18 @@ +@@ -111,6 +136,18 @@ hdmi-phandle = <&hdmi_tx>; }; @@ -468,10 +460,10 @@ index 0fdebcc..dcb571a 100644 cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts -index 4f6b1c9..f23f148 100644 +index 5896e8a5d86bc..02582371fa4e8 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts -@@ -69,6 +69,31 @@ +@@ -32,6 +32,31 @@ }; }; }; @@ -503,7 +495,7 @@ index 4f6b1c9..f23f148 100644 }; &cec_AO { -@@ -78,6 +103,18 @@ +@@ -41,6 +66,18 @@ hdmi-phandle = <&hdmi_tx>; }; @@ -522,11 +514,66 @@ index 4f6b1c9..f23f148 100644 &cvbs_vdac_port { cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +index 0868da476e41f..22707afa0b6d8 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +@@ -85,6 +85,31 @@ + }; + }; + ++ sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "meson-gx-preview"; ++ status = "okay"; ++ ++ simple-audio-card,dai-link@0 { ++ /* HDMI Output */ ++ format = "i2s"; ++ mclk-fs = <256>; ++ bitclock-master = <&i2s_dai>; ++ frame-master = <&i2s_dai>; ++ plat { ++ sound-dai = <&aiu_i2s_dma>; ++ }; ++ ++ cpu { ++ sound-dai = <&i2s_dai>; ++ }; ++ ++ codec { ++ sound-dai = <&hdmi_tx>; ++ }; ++ }; ++ }; ++ + pwmleds { + compatible = "pwm-leds"; + +@@ -205,6 +230,18 @@ + hdmi-phandle = <&hdmi_tx>; + }; + ++&audio { ++ status = "okay"; ++}; ++ ++&aiu_i2s_dma { ++ status = "okay"; ++}; ++ ++&i2s_dai { ++ status = "okay"; ++}; ++ + &cpu0 { + #cooling-cells = <2>; + }; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts -index e70b5e2..8444f79 100644 +index f7a1cffab4a88..1af4891bdb06b 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts -@@ -111,6 +111,31 @@ +@@ -75,6 +75,31 @@ }; }; }; @@ -558,7 +605,7 @@ index e70b5e2..8444f79 100644 }; &cec_AO { -@@ -120,6 +145,18 @@ +@@ -84,6 +109,18 @@ hdmi-phandle = <&hdmi_tx>; }; @@ -577,6 +624,3 @@ index e70b5e2..8444f79 100644 &cvbs_vdac_port { cvbs_vdac_out: endpoint { remote-endpoint = <&cvbs_connector_in>; --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0010-ARM64-defconfig-add-CONFIG_MESON_EFUSE.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/099_linux-4.14.y-le-amlogic-gx-0010-arm64-defconfig-add_config_meson_efuse.patch similarity index 72% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0010-ARM64-defconfig-add-CONFIG_MESON_EFUSE.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/099_linux-4.14.y-le-amlogic-gx-0010-arm64-defconfig-add_config_meson_efuse.patch index f80c0765b..02f2d5fae 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0010-ARM64-defconfig-add-CONFIG_MESON_EFUSE.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/099_linux-4.14.y-le-amlogic-gx-0010-arm64-defconfig-add_config_meson_efuse.patch @@ -1,18 +1,17 @@ -From eb29dbaf90e217978d8abfab1912b11020825e28 Mon Sep 17 00:00:00 2001 +From f1aaa72f808ab876ffe8c16820b5a4726b711933 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Mon, 13 Nov 2017 12:02:59 +0100 -Subject: [PATCH 10/39] ARM64: defconfig: add CONFIG_MESON_EFUSE +Subject: [PATCH] ARM64: defconfig: add CONFIG_MESON_EFUSE Turn on CONFIG_MESON_EFUSE as module Signed-off-by: Jerome Brunet -Signed-off-by: Neil Armstrong --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index 34480e9..3cdfc74 100644 +index 34480e9af2e71..3cdfc7490707b 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -541,6 +541,7 @@ CONFIG_PHY_XGENE=y @@ -23,6 +22,3 @@ index 34480e9..3cdfc74 100644 CONFIG_TEE=y CONFIG_OPTEE=y CONFIG_ARM_SCPI_PROTOCOL=y --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0011-ARM64-defconfig-enable-CEC-support.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/100_linux-4.14.y-le-amlogic-gx-0011-arm64-defconfig-enable_cec_support.patch similarity index 80% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0011-ARM64-defconfig-enable-CEC-support.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/100_linux-4.14.y-le-amlogic-gx-0011-arm64-defconfig-enable_cec_support.patch index 54b58d493..143ac0634 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0011-ARM64-defconfig-enable-CEC-support.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/100_linux-4.14.y-le-amlogic-gx-0011-arm64-defconfig-enable_cec_support.patch @@ -1,18 +1,17 @@ -From 175366cb9e77fe54e6949f6599c0900cf0980b26 Mon Sep 17 00:00:00 2001 +From 6ea4d5e0afcdb84fc76cd5bfbc9b7d8f7009c512 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Mon, 13 Nov 2017 12:09:40 +0100 -Subject: [PATCH 11/39] ARM64: defconfig: enable CEC support +Subject: [PATCH] ARM64: defconfig: enable CEC support Turn on CONFIG_CEC_SUPPORT and CONFIG_CEC_PLATFORM_DRIVERS Signed-off-by: Jerome Brunet -Signed-off-by: Neil Armstrong --- arch/arm64/configs/defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index 3cdfc74..944b93b 100644 +index 3cdfc7490707b..944b93b1c0268 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -350,6 +350,7 @@ CONFIG_MEDIA_SUPPORT=m @@ -31,6 +30,3 @@ index 3cdfc74..944b93b 100644 CONFIG_DRM=m CONFIG_DRM_NOUVEAU=m CONFIG_DRM_EXYNOS=m --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0012-ARM64-defconfig-enable-CONFIG_VIDEO_MESON_AO_CEC.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/101_linux-4.14.y-le-amlogic-gx-0012-arm64-defconfig-enable_config_video_meson_ao_cec.patch similarity index 72% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0012-ARM64-defconfig-enable-CONFIG_VIDEO_MESON_AO_CEC.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/101_linux-4.14.y-le-amlogic-gx-0012-arm64-defconfig-enable_config_video_meson_ao_cec.patch index eb8910de8..a83f80069 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0012-ARM64-defconfig-enable-CONFIG_VIDEO_MESON_AO_CEC.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/101_linux-4.14.y-le-amlogic-gx-0012-arm64-defconfig-enable_config_video_meson_ao_cec.patch @@ -1,18 +1,17 @@ -From c71be51a7778a6aa6b784dd0edc57951acf63ef2 Mon Sep 17 00:00:00 2001 +From 0682a78ae935a272c73a281d6c320a6cd017ce28 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Mon, 13 Nov 2017 12:11:41 +0100 -Subject: [PATCH 12/39] ARM64: defconfig: enable CONFIG_VIDEO_MESON_AO_CEC +Subject: [PATCH] ARM64: defconfig: enable CONFIG_VIDEO_MESON_AO_CEC Turn on CONFIG_VIDEO_MESON_AO_CEC as module Signed-off-by: Jerome Brunet -Signed-off-by: Neil Armstrong --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index 944b93b..fdf94cb 100644 +index 944b93b1c0268..fdf94cbd56a28 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -366,6 +366,7 @@ CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m @@ -23,6 +22,3 @@ index 944b93b..fdf94cb 100644 CONFIG_DRM=m CONFIG_DRM_NOUVEAU=m CONFIG_DRM_EXYNOS=m --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0013-ARM64-defconfig-enable-CONFIG_DRM_DW_HDMI_CEC.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/102_linux-4.14.y-le-amlogic-gx-0013-arm64-defconfig-enable_config_drm_dw_hdmi_cec.patch similarity index 72% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0013-ARM64-defconfig-enable-CONFIG_DRM_DW_HDMI_CEC.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/102_linux-4.14.y-le-amlogic-gx-0013-arm64-defconfig-enable_config_drm_dw_hdmi_cec.patch index 8fda9646d..5e3622af2 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0013-ARM64-defconfig-enable-CONFIG_DRM_DW_HDMI_CEC.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/102_linux-4.14.y-le-amlogic-gx-0013-arm64-defconfig-enable_config_drm_dw_hdmi_cec.patch @@ -1,18 +1,17 @@ -From 94fb1910e76e39cc910fb5b5a528712f4135891e Mon Sep 17 00:00:00 2001 +From d537685003beb9f008c50075e66cb245e265dea2 Mon Sep 17 00:00:00 2001 From: Jerome Brunet Date: Mon, 13 Nov 2017 12:15:18 +0100 -Subject: [PATCH 13/39] ARM64: defconfig: enable CONFIG_DRM_DW_HDMI_CEC +Subject: [PATCH] ARM64: defconfig: enable CONFIG_DRM_DW_HDMI_CEC Turn on CONFIG_DRM_DW_HDMI_CEC as module Signed-off-by: Jerome Brunet -Signed-off-by: Neil Armstrong --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index fdf94cb..dcf1090 100644 +index fdf94cbd56a28..dcf10903f6340 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -388,6 +388,7 @@ CONFIG_DRM_RCAR_VSP=y @@ -23,6 +22,3 @@ index fdf94cb..dcf1090 100644 CONFIG_DRM_VC4=m CONFIG_DRM_HISI_KIRIN=m CONFIG_DRM_MESON=m --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/103_linux-4.14.y-le-amlogic-gx-1001-dts-meson-gxbb-add_sound-dai-cells_to_hdmi_node.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/103_linux-4.14.y-le-amlogic-gx-1001-dts-meson-gxbb-add_sound-dai-cells_to_hdmi_node.patch new file mode 100644 index 000000000..e2ea19c1a --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/103_linux-4.14.y-le-amlogic-gx-1001-dts-meson-gxbb-add_sound-dai-cells_to_hdmi_node.patch @@ -0,0 +1,10 @@ +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi 2018-04-14 00:32:29.116806877 +0200 ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi 2018-04-13 18:58:49.474094592 +0200 +@@ -343,6 +343,7 @@ + <&clkc CLKID_CLK81>, + <&clkc CLKID_GCLK_VENCI_INT0>; + clock-names = "isfr", "iahb", "venci"; ++ #sound-dai-cells = <0>; + }; + + &hiubus { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/104_linux-4.14.y-le-amlogic-gx-1002-dts-meson-gxbb-rename_audio_card.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/104_linux-4.14.y-le-amlogic-gx-1002-dts-meson-gxbb-rename_audio_card.patch new file mode 100644 index 000000000..9480f4c72 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/104_linux-4.14.y-le-amlogic-gx-1002-dts-meson-gxbb-rename_audio_card.patch @@ -0,0 +1,11 @@ +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-05-01 01:15:01.378785083 +0200 ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-05-02 00:16:22.834304176 +0200 +@@ -185,7 +185,7 @@ + + sound { + compatible = "simple-audio-card"; +- simple-audio-card,name = "meson-gx-preview"; ++ simple-audio-card,name = "meson-gxbb-audio"; + status = "okay"; + + simple-audio-card,dai-link@0 { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/105_linux-4.17.y-amlogic-drm-0001-drm-meson-use_drm_gem_fb_create.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/105_linux-4.17.y-amlogic-drm-0001-drm-meson-use_drm_gem_fb_create.patch new file mode 100644 index 000000000..b59baebbd --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/105_linux-4.17.y-amlogic-drm-0001-drm-meson-use_drm_gem_fb_create.patch @@ -0,0 +1,40 @@ +From 24ef8157fcc092b5bd87cd1eb4dc0f540601d533 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Sun, 24 Sep 2017 14:26:19 +0200 +Subject: [PATCH] drm/meson: Use drm_gem_fb_create() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +drm_fb_cma_create() is just a wrapper around drm_gem_fb_create() now, +so use the function directly. + +Cc: Neil Armstrong +Signed-off-by: Noralf Trønnes +Reviewed-by: Eric Anholt +Link: https://patchwork.freedesktop.org/patch/msgid/1506255985-61113-5-git-send-email-noralf@tronnes.org +--- + drivers/gpu/drm/meson/meson_drv.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c +index 7742c7d81ed8f..3b804fdaf7a05 100644 +--- a/drivers/gpu/drm/meson/meson_drv.c ++++ b/drivers/gpu/drm/meson/meson_drv.c +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -78,7 +79,7 @@ static const struct drm_mode_config_funcs meson_mode_config_funcs = { + .output_poll_changed = meson_fb_output_poll_changed, + .atomic_check = drm_atomic_helper_check, + .atomic_commit = drm_atomic_helper_commit, +- .fb_create = drm_fb_cma_create, ++ .fb_create = drm_gem_fb_create, + }; + + static irqreturn_t meson_irq(int irq, void *arg) diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0016-drm-meson-dw_hdmi-Add-support-for-an-optional-extern.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/106_linux-4.17.y-amlogic-drm-0004-drm-meson-dw_hdmi-add_support_for_an_optional_external_5v.patch similarity index 78% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0016-drm-meson-dw_hdmi-Add-support-for-an-optional-extern.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/106_linux-4.17.y-amlogic-drm-0004-drm-meson-dw_hdmi-add_support_for_an_optional_external_5v.patch index d23cd3f02..88e5f15c6 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0016-drm-meson-dw_hdmi-Add-support-for-an-optional-extern.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/106_linux-4.17.y-amlogic-drm-0004-drm-meson-dw_hdmi-add_support_for_an_optional_external_5v.patch @@ -1,20 +1,23 @@ -From fc742b3d9f1b79f9e3e695f0e4bfc6a35c7ed7e3 Mon Sep 17 00:00:00 2001 +From 161a803fe32d2b8c7a54d9819e3f2dc222f42e22 Mon Sep 17 00:00:00 2001 From: Neil Armstrong -Date: Mon, 16 Oct 2017 15:35:00 +0200 -Subject: [PATCH 16/39] drm/meson: dw_hdmi: Add support for an optional - external 5V regulator +Date: Wed, 6 Dec 2017 12:54:27 +0100 +Subject: [PATCH] drm/meson: dw_hdmi: Add support for an optional external 5V + regulator On reference boards and derivatives, the HDMI Logic is powered by an external 5V regulator. This regulator was set by the Vendor U-Boot, add optional support for it. Signed-off-by: Neil Armstrong +Tested-by: Jerome Brunet +Reviewed-by: Jerome Brunet +Link: https://patchwork.freedesktop.org/patch/msgid/1512561268-29806-4-git-send-email-narmstrong@baylibre.com --- drivers/gpu/drm/meson/meson_dw_hdmi.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c -index cef4144..17de3af 100644 +index cef414466f9fe..17de3afd98f6a 100644 --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c @@ -23,6 +23,7 @@ @@ -51,6 +54,3 @@ index cef4144..17de3af 100644 meson_dw_hdmi->hdmitx_apb = devm_reset_control_get_exclusive(dev, "hdmitx_apb"); if (IS_ERR(meson_dw_hdmi->hdmitx_apb)) { --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0017-drm-meson-Add-missing-VPU-init.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/107_linux-4.17.y-amlogic-drm-0005-drm-meson-add_missing_vpu_init.patch similarity index 72% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0017-drm-meson-Add-missing-VPU-init.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/107_linux-4.17.y-amlogic-drm-0005-drm-meson-add_missing_vpu_init.patch index f3ab93118..ef68fc02c 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0017-drm-meson-Add-missing-VPU-init.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/107_linux-4.17.y-amlogic-drm-0005-drm-meson-add_missing_vpu_init.patch @@ -1,21 +1,25 @@ -From 253dbcb48f94e172873878262d19338bcc9aa108 Mon Sep 17 00:00:00 2001 +From 09762525d6eafb394a637e9ef8b602d3cd227939 Mon Sep 17 00:00:00 2001 From: Neil Armstrong -Date: Mon, 16 Oct 2017 15:34:21 +0200 -Subject: [PATCH 17/39] drm/meson: Add missing VPU init +Date: Wed, 6 Dec 2017 12:54:28 +0100 +Subject: [PATCH] drm/meson: Add missing VPU init The VPU init misses these configurations values. Signed-off-by: Neil Armstrong +Acked-by: Chris Wilson +Tested-by: Jerome Brunet +Reviewed-by: Jerome Brunet +Link: https://patchwork.freedesktop.org/patch/msgid/1512561268-29806-5-git-send-email-narmstrong@baylibre.com --- drivers/gpu/drm/meson/meson_drv.c | 9 +++++++++ drivers/gpu/drm/meson/meson_registers.h | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c -index 7742c7d..19a0d8d 100644 +index 3b804fdaf7a05..f9ad0e960263f 100644 --- a/drivers/gpu/drm/meson/meson_drv.c +++ b/drivers/gpu/drm/meson/meson_drv.c -@@ -150,6 +150,14 @@ static struct regmap_config meson_regmap_config = { +@@ -151,6 +151,14 @@ static struct regmap_config meson_regmap_config = { .max_register = 0x1000, }; @@ -30,7 +34,7 @@ index 7742c7d..19a0d8d 100644 static int meson_drv_bind_master(struct device *dev, bool has_components) { struct platform_device *pdev = to_platform_device(dev); -@@ -221,6 +229,7 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) +@@ -222,6 +230,7 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) /* Hardware Initialization */ @@ -39,7 +43,7 @@ index 7742c7d..19a0d8d 100644 meson_vpp_init(priv); meson_viu_init(priv); diff --git a/drivers/gpu/drm/meson/meson_registers.h b/drivers/gpu/drm/meson/meson_registers.h -index 2847381..bca8714 100644 +index 284738196af9c..bca87143e5488 100644 --- a/drivers/gpu/drm/meson/meson_registers.h +++ b/drivers/gpu/drm/meson/meson_registers.h @@ -1363,6 +1363,10 @@ @@ -53,6 +57,3 @@ index 2847381..bca8714 100644 /* osd super scale */ #define OSDSR_HV_SIZEIN 0x3130 --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/108_linux-4.17.y-amlogic-drm-0006-drm-meson-use_drm_mode_get_hv_timing_to_populate_plane.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/108_linux-4.17.y-amlogic-drm-0006-drm-meson-use_drm_mode_get_hv_timing_to_populate_plane.patch new file mode 100644 index 000000000..d619a85e4 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/108_linux-4.17.y-amlogic-drm-0006-drm-meson-use_drm_mode_get_hv_timing_to_populate_plane.patch @@ -0,0 +1,44 @@ +From 13eff9ae5210b3858e462cc73c3133b41ac261dc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= +Date: Thu, 23 Nov 2017 21:04:55 +0200 +Subject: [PATCH] drm/meson: Use drm_mode_get_hv_timing() to populate plane + clip rectangle +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use drm_mode_get_hv_timing() to fill out the plane clip rectangle. + +No functional changes as the code already uses crtc_state->mode +to populate the clip, which is also what drm_mode_get_hv_timing() +uses. + +Once everyone agrees on this we can move the clip handling into +drm_atomic_helper_check_plane_state(). + +Cc: Laurent Pinchart +Cc: Neil Armstrong +Cc: linux-amlogic@lists.infradead.org +Signed-off-by: Ville Syrjälä +Link: https://patchwork.freedesktop.org/patch/msgid/20171123190502.28449-9-ville.syrjala@linux.intel.com +Reviewed-by: Thierry Reding +--- + drivers/gpu/drm/meson/meson_plane.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c +index d0a6ac8390f39..3801bee1f9e62 100644 +--- a/drivers/gpu/drm/meson/meson_plane.c ++++ b/drivers/gpu/drm/meson/meson_plane.c +@@ -58,8 +58,9 @@ static int meson_plane_atomic_check(struct drm_plane *plane, + if (IS_ERR(crtc_state)) + return PTR_ERR(crtc_state); + +- clip.x2 = crtc_state->mode.hdisplay; +- clip.y2 = crtc_state->mode.vdisplay; ++ if (crtc_state->enable) ++ drm_mode_get_hv_timing(&crtc_state->mode, ++ &clip.x2, &clip.y2); + + return drm_atomic_helper_check_plane_state(state, crtc_state, &clip, + DRM_PLANE_HELPER_NO_SCALING, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-drm-meson-Add-support-for-DMT-modes-on-HDMI.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/109_linux-4.17.y-amlogic-drm-0014-drm-meson-add_support_for_dmt_modes_on_hdmi.patch similarity index 95% rename from buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-drm-meson-Add-support-for-DMT-modes-on-HDMI.patch rename to buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/109_linux-4.17.y-amlogic-drm-0014-drm-meson-add_support_for_dmt_modes_on_hdmi.patch index 9cd2dbd1b..16b03f3f4 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/0039-drm-meson-Add-support-for-DMT-modes-on-HDMI.patch +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/109_linux-4.17.y-amlogic-drm-0014-drm-meson-add_support_for_dmt_modes_on_hdmi.patch @@ -1,7 +1,7 @@ -From 8da289631087c90a3b644cbdd124bee7f7b348f3 Mon Sep 17 00:00:00 2001 +From 9c936b12f15019b38edb5f8bae77bb5b0046d1b7 Mon Sep 17 00:00:00 2001 From: Neil Armstrong -Date: Thu, 8 Mar 2018 16:35:34 +0100 -Subject: [PATCH 39/39] drm/meson: Add support for DMT modes on HDMI +Date: Tue, 13 Mar 2018 11:07:50 +0100 +Subject: [PATCH] drm/meson: Add support for DMT modes on HDMI This patch adds support for DMT display modes over HDMI. The modes timings configurations are from the Amlogic Vendor linux tree @@ -19,7 +19,9 @@ Only these following modes are supported with these changes: The associated code to handle the clock rates is also added. +Acked-by: Jerome Brunet Signed-off-by: Neil Armstrong +Link: https://patchwork.freedesktop.org/patch/msgid/1520935670-14187-1-git-send-email-narmstrong@baylibre.com --- drivers/gpu/drm/meson/meson_dw_hdmi.c | 22 +-- drivers/gpu/drm/meson/meson_vclk.c | 219 ++++++++++++++++++++- @@ -28,10 +30,10 @@ Signed-off-by: Neil Armstrong 4 files changed, 570 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c -index 17de3af..9d70ed6 100644 +index d49af17310c99..a393095aac1a6 100644 --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c -@@ -537,7 +537,6 @@ static irqreturn_t dw_hdmi_top_thread_irq(int irq, void *dev_id) +@@ -538,7 +538,6 @@ static irqreturn_t dw_hdmi_top_thread_irq(int irq, void *dev_id) return IRQ_HANDLED; } @@ -39,7 +41,7 @@ index 17de3af..9d70ed6 100644 static enum drm_mode_status dw_hdmi_mode_valid(struct drm_connector *connector, const struct drm_display_mode *mode) -@@ -554,12 +553,12 @@ dw_hdmi_mode_valid(struct drm_connector *connector, +@@ -555,12 +554,12 @@ dw_hdmi_mode_valid(struct drm_connector *connector, mode->vdisplay, mode->vsync_start, mode->vsync_end, mode->vtotal, mode->type, mode->flags); @@ -58,7 +60,7 @@ index 17de3af..9d70ed6 100644 return MODE_BAD; vclk_freq = mode->clock; -@@ -585,9 +584,14 @@ dw_hdmi_mode_valid(struct drm_connector *connector, +@@ -586,9 +585,14 @@ dw_hdmi_mode_valid(struct drm_connector *connector, /* Finally filter by configurable vclk frequencies */ switch (vclk_freq) { @@ -73,7 +75,7 @@ index 17de3af..9d70ed6 100644 case 297000: case 594000: return MODE_OK; -@@ -652,10 +656,6 @@ static void meson_venc_hdmi_encoder_mode_set(struct drm_encoder *encoder, +@@ -653,10 +657,6 @@ static void meson_venc_hdmi_encoder_mode_set(struct drm_encoder *encoder, DRM_DEBUG_DRIVER("%d:\"%s\" vic %d\n", mode->base.id, mode->name, vic); @@ -85,7 +87,7 @@ index 17de3af..9d70ed6 100644 meson_venc_hdmi_mode_set(priv, vic, mode); diff --git a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c -index 4767704..f051122 100644 +index 47677047e42dd..f0511220317f9 100644 --- a/drivers/gpu/drm/meson/meson_vclk.c +++ b/drivers/gpu/drm/meson/meson_vclk.c @@ -328,14 +328,24 @@ static void meson_venci_cvbs_clock_config(struct meson_drm *priv) @@ -255,10 +257,18 @@ index 4767704..f051122 100644 case 4320000: regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800025a); regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); -@@ -485,6 +619,23 @@ void meson_hdmi_pll_set(struct meson_drm *priv, - regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, - val, (val & HDMI_PLL_LOCK), 10, 0); - break; +@@ -477,6 +611,23 @@ void meson_hdmi_pll_set(struct meson_drm *priv, + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); + ++ /* unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ BIT(28), 0); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ break; + + case 5200000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800026c); @@ -268,17 +278,9 @@ index 4767704..f051122 100644 + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); + -+ /* unreset */ -+ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, -+ BIT(28), 0); -+ -+ /* Poll for lock bit */ -+ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, -+ val, (val & HDMI_PLL_LOCK), 10, 0); -+ break; - }; - } else if (meson_vpu_is_compatible(priv, "amlogic,meson-gxm-vpu") || - meson_vpu_is_compatible(priv, "amlogic,meson-gxl-vpu")) { + /* unreset */ + regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, + BIT(28), 0); @@ -498,6 +649,42 @@ void meson_hdmi_pll_set(struct meson_drm *priv, regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); break; @@ -370,7 +372,7 @@ index 4767704..f051122 100644 freq = MESON_VCLK_HDMI_297000; break; diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c -index 9509017..6e27013 100644 +index 9509017dbded1..6e27013898013 100644 --- a/drivers/gpu/drm/meson/meson_venc.c +++ b/drivers/gpu/drm/meson/meson_venc.c @@ -697,6 +697,314 @@ union meson_hdmi_venc_mode meson_hdmi_encp_mode_1080p60 = { @@ -757,7 +759,7 @@ index 9509017..6e27013 100644 writel_relaxed(0, priv->io_base + _REG(ENCI_VIDEO_EN)); diff --git a/drivers/gpu/drm/meson/meson_venc.h b/drivers/gpu/drm/meson/meson_venc.h -index a1b96e8..7c18a36 100644 +index a1b96e898c14e..7c18a36a0dd0c 100644 --- a/drivers/gpu/drm/meson/meson_venc.h +++ b/drivers/gpu/drm/meson/meson_venc.h @@ -58,6 +58,7 @@ struct meson_cvbs_enci_mode { @@ -768,6 +770,3 @@ index a1b96e8..7c18a36 100644 bool meson_venc_hdmi_supported_vic(int vic); bool meson_venc_hdmi_venc_repeat(int vic); --- -2.7.4 - diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/110_linux-4.17.y-amlogic-drm-0015-drm-meson-fix_potential_null_dereference_in.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/110_linux-4.17.y-amlogic-drm-0015-drm-meson-fix_potential_null_dereference_in.patch new file mode 100644 index 000000000..cdff10fe5 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/110_linux-4.17.y-amlogic-drm-0015-drm-meson-fix_potential_null_dereference_in.patch @@ -0,0 +1,52 @@ +From acaa3f13b8dd77da3c6c0fe18cb1159eef7ea286 Mon Sep 17 00:00:00 2001 +From: Wei Yongjun +Date: Tue, 20 Mar 2018 14:20:30 +0000 +Subject: [PATCH] drm/meson: Fix potential NULL dereference in + meson_drv_bind_master() + +platform_get_resource_byname() may fail and return NULL, so we should +better check it's return value to avoid a NULL pointer dereference +a bit later in the code. + +This is detected by Coccinelle semantic patch. + +@@ +expression pdev, res, n, t, e, e1, e2; +@@ + +res = platform_get_resource_byname(pdev, t, n); ++ if (!res) ++ return -EINVAL; +... when != res == NULL +e = devm_ioremap(e1, res->start, e2); + +Signed-off-by: Wei Yongjun +Signed-off-by: Neil Armstrong +Acked-by: Neil Armstrong +Link: https://patchwork.freedesktop.org/patch/msgid/1521555630-29284-1-git-send-email-weiyongjun1@huawei.com +--- + drivers/gpu/drm/meson/meson_drv.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c +index 3baceb744beb8..32b1a6cdecfc0 100644 +--- a/drivers/gpu/drm/meson/meson_drv.c ++++ b/drivers/gpu/drm/meson/meson_drv.c +@@ -197,6 +197,8 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) + priv->io_base = regs; + + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hhi"); ++ if (!res) ++ return -EINVAL; + /* Simply ioremap since it may be a shared register zone */ + regs = devm_ioremap(dev, res->start, resource_size(res)); + if (!regs) { +@@ -213,6 +215,8 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) + } + + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dmc"); ++ if (!res) ++ return -EINVAL; + /* Simply ioremap since it may be a shared register zone */ + regs = devm_ioremap(dev, res->start, resource_size(res)); + if (!regs) { diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/111_linux-4.17-amlogic-dmt-extended-0001-make_dmt_timings_parameter_generic_and_add_more_frequencies.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/111_linux-4.17-amlogic-dmt-extended-0001-make_dmt_timings_parameter_generic_and_add_more_frequencies.patch new file mode 100644 index 000000000..c0859bcf3 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/111_linux-4.17-amlogic-dmt-extended-0001-make_dmt_timings_parameter_generic_and_add_more_frequencies.patch @@ -0,0 +1,714 @@ +From 2d49cff77c34c63ae5aa32537cc5fef1ea2e165d Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Fri, 27 Apr 2018 17:19:46 +0200 +Subject: [PATCH] drm/meson: Make DMT timings parameter generic and add more + frequencies + +Add more frequencies to support more timings with the generic timings +parameters calculation. + +Signed-off-by: Neil Armstrong +--- + drivers/gpu/drm/meson/meson_dw_hdmi.c | 10 +- + drivers/gpu/drm/meson/meson_vclk.c | 184 ++++++++++++++++++- + drivers/gpu/drm/meson/meson_venc.c | 330 +++++----------------------------- + drivers/gpu/drm/meson/meson_venc.h | 3 +- + 4 files changed, 231 insertions(+), 296 deletions(-) + +diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c +index a393095aac1a6..7ebfef86383fe 100644 +--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c ++++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c +@@ -546,6 +546,7 @@ dw_hdmi_mode_valid(struct drm_connector *connector, + unsigned int venc_freq; + unsigned int hdmi_freq; + int vic = drm_match_cea_mode(mode); ++ enum drm_mode_status status; + + DRM_DEBUG_DRIVER("Modeline %d:\"%s\" %d %d %d %d %d %d %d %d %d %d 0x%x 0x%x\n", + mode->base.id, mode->name, mode->vrefresh, mode->clock, +@@ -556,8 +557,9 @@ dw_hdmi_mode_valid(struct drm_connector *connector, + + /* Check against non-VIC supported modes */ + if (!vic) { +- if (!meson_venc_hdmi_supported_mode(mode)) +- return MODE_BAD; ++ status = meson_venc_hdmi_supported_mode(mode); ++ if (status != MODE_OK) ++ return status; + /* Check against supported VIC modes */ + } else if (!meson_venc_hdmi_supported_vic(vic)) + return MODE_BAD; +@@ -587,6 +589,10 @@ dw_hdmi_mode_valid(struct drm_connector *connector, + switch (vclk_freq) { + case 25175: + case 40000: ++ case 32000: ++ case 36000: ++ case 33750: ++ case 33900: + case 54000: + case 65000: + case 74250: +diff --git a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c +index f0511220317f9..86975f245c361 100644 +--- a/drivers/gpu/drm/meson/meson_vclk.c ++++ b/drivers/gpu/drm/meson/meson_vclk.c +@@ -330,22 +330,30 @@ static void meson_venci_cvbs_clock_config(struct meson_drm *priv) + #define MESON_VCLK_HDMI_DDR_148500 3 + /* 4028 /4 /4 /1 /5 /2 => /1 /1 */ + #define MESON_VCLK_HDMI_25175 4 ++/* 2560 /4 /2 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_32000 5 ++/* 2700 /4 /2 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_33750 6 ++/* 2712 /4 /2 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_33900 7 ++/* 2880 /4 /2 /1 /5 /2 => /1 /1 */ ++#define MESON_VCLK_HDMI_36000 8 + /* 3200 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_40000 5 ++#define MESON_VCLK_HDMI_40000 9 + /* 5200 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_65000 6 ++#define MESON_VCLK_HDMI_65000 10 + /* 2970 /2 /2 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_74250 7 ++#define MESON_VCLK_HDMI_74250 11 + /* 4320 /4 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_108000 8 ++#define MESON_VCLK_HDMI_108000 12 + /* 2970 /1 /2 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_148500 9 ++#define MESON_VCLK_HDMI_148500 13 + /* 3240 /2 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_162000 10 ++#define MESON_VCLK_HDMI_162000 14 + /* 2970 /1 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_297000 11 ++#define MESON_VCLK_HDMI_297000 15 + /* 5940 /1 /1 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_594000 12 ++#define MESON_VCLK_HDMI_594000 16 + + struct meson_vclk_params { + unsigned int pll_base_freq; +@@ -419,6 +427,38 @@ struct meson_vclk_params { + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 2, + }, ++ [MESON_VCLK_HDMI_32000] = { ++ .pll_base_freq = 2560000, ++ .pll_od1 = 4, ++ .pll_od2 = 2, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, ++ [MESON_VCLK_HDMI_33750] = { ++ .pll_base_freq = 2700000, ++ .pll_od1 = 4, ++ .pll_od2 = 2, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, ++ [MESON_VCLK_HDMI_33900] = { ++ .pll_base_freq = 2712000, ++ .pll_od1 = 4, ++ .pll_od2 = 2, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, ++ [MESON_VCLK_HDMI_36000] = { ++ .pll_base_freq = 2880000, ++ .pll_od1 = 4, ++ .pll_od2 = 2, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, + [MESON_VCLK_HDMI_40000] = { + .pll_base_freq = 3200000, + .pll_od1 = 4, +@@ -480,6 +520,86 @@ void meson_hdmi_pll_set(struct meson_drm *priv, + + if (meson_vpu_is_compatible(priv, "amlogic,meson-gxbb-vpu")) { + switch (base) { ++ case 2560000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000235); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* Enable and unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ 0x7 << 28, 0x4 << 28); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4555); ++ break; ++ ++ case 2700000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000238); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* Enable and unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ 0x7 << 28, 0x4 << 28); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4400); ++ break; ++ ++ case 2712000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000238); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* Enable and unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ 0x7 << 28, 0x4 << 28); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4800); ++ break; ++ ++ case 2880000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800023c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* Enable and unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ 0x7 << 28, 0x4 << 28); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ break; ++ + case 2970000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800023d); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); +@@ -640,6 +760,42 @@ void meson_hdmi_pll_set(struct meson_drm *priv, + } else if (meson_vpu_is_compatible(priv, "amlogic,meson-gxm-vpu") || + meson_vpu_is_compatible(priv, "amlogic,meson-gxl-vpu")) { + switch (base) { ++ case 2560000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x4000026a); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb2ab); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 2700000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000270); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb200); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 2712000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000271); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 2880000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000278); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ + case 2970000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x4000027b); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb300); +@@ -789,6 +945,18 @@ void meson_vclk_setup(struct meson_drm *priv, unsigned int target, + case 25175: + freq = MESON_VCLK_HDMI_25175; + break; ++ case 32000: ++ freq = MESON_VCLK_HDMI_32000; ++ break; ++ case 33750: ++ freq = MESON_VCLK_HDMI_33750; ++ break; ++ case 33900: ++ freq = MESON_VCLK_HDMI_33900; ++ break; ++ case 36000: ++ freq = MESON_VCLK_HDMI_36000; ++ break; + case 40000: + freq = MESON_VCLK_HDMI_40000; + break; +diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c +index 6e27013898013..ea178151399c5 100644 +--- a/drivers/gpu/drm/meson/meson_venc.c ++++ b/drivers/gpu/drm/meson/meson_venc.c +@@ -697,258 +697,6 @@ union meson_hdmi_venc_mode meson_hdmi_encp_mode_1080p60 = { + }, + }; + +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_640x480_60 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 0x31f, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 0x90, +- .havon_end = 0x30f, +- .vavon_bline = 0x23, +- .vavon_eline = 0x202, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 0x60, +- .vso_begin = 0x1e, +- .vso_end = 0x32, +- .vso_bline = 0, +- .vso_eline = 2, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 0x20c, +- }, +-}; +- +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_800x600_60 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 0x41f, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 0xD8, +- .havon_end = 0x3f7, +- .vavon_bline = 0x1b, +- .vavon_eline = 0x272, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 0x80, +- .vso_begin = 0x1e, +- .vso_end = 0x32, +- .vso_bline = 0, +- .vso_eline = 4, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 0x273, +- }, +-}; +- +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_1024x768_60 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 1343, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 296, +- .havon_end = 1319, +- .vavon_bline = 35, +- .vavon_eline = 802, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 136, +- .vso_begin = 30, +- .vso_end = 50, +- .vso_bline = 0, +- .vso_eline = 6, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 805, +- }, +-}; +- +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_1152x864_75 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 0x63f, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 0x180, +- .havon_end = 0x5ff, +- .vavon_bline = 0x23, +- .vavon_eline = 0x382, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 0x80, +- .vso_begin = 0x1e, +- .vso_end = 0x32, +- .vso_bline = 0, +- .vso_eline = 3, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 0x383, +- }, +-}; +- +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_1280x1024_60 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 0x697, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 0x168, +- .havon_end = 0x667, +- .vavon_bline = 0x29, +- .vavon_eline = 0x428, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 0x70, +- .vso_begin = 0x1e, +- .vso_end = 0x32, +- .vso_bline = 0, +- .vso_eline = 3, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 0x429, +- }, +-}; +- +-union meson_hdmi_venc_mode meson_hdmi_encp_mode_1600x1200_60 = { +- .encp = { +- .dvi_settings = 0x21, +- .video_mode = 0x4040, +- .video_mode_adv = 0x18, +- /* video_prog_mode */ +- /* video_sync_mode */ +- /* video_yc_dly */ +- /* video_rgb_ctrl */ +- /* video_filt_ctrl */ +- /* video_ofld_voav_ofst */ +- /* yfp1_htime */ +- /* yfp2_htime */ +- .max_pxcnt = 0x86f, +- /* hspuls_begin */ +- /* hspuls_end */ +- /* hspuls_switch */ +- /* vspuls_begin */ +- /* vspuls_end */ +- /* vspuls_bline */ +- /* vspuls_eline */ +- .havon_begin = 0x1f0, +- .havon_end = 0x82f, +- .vavon_bline = 0x31, +- .vavon_eline = 0x4e0, +- /* eqpuls_begin */ +- /* eqpuls_end */ +- /* eqpuls_bline */ +- /* eqpuls_eline */ +- .hso_begin = 0, +- .hso_end = 0xc0, +- .vso_begin = 0x1e, +- .vso_end = 0x32, +- .vso_bline = 0, +- .vso_eline = 3, +- .vso_eline_present = true, +- /* sy_val */ +- /* sy2_val */ +- .max_lncnt = 0x4e1, +- }, +-}; +- + struct meson_hdmi_venc_dmt_mode { + struct drm_display_mode drm_mode; + union meson_hdmi_venc_mode *mode; +@@ -958,49 +706,42 @@ struct meson_hdmi_venc_dmt_mode { + { DRM_MODE("640x480", DRM_MODE_TYPE_DRIVER, 25175, 640, 656, + 752, 800, 0, 480, 490, 492, 525, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, +- &meson_hdmi_encp_mode_640x480_60, + }, + /* 800x600@60Hz */ + { + { DRM_MODE("800x600", DRM_MODE_TYPE_DRIVER, 40000, 800, 840, + 968, 1056, 0, 600, 601, 605, 628, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, +- &meson_hdmi_encp_mode_800x600_60, + }, + /* 1024x768@60Hz */ + { + { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 65000, 1024, + 1048, 1184, 1344, 0, 768, 771, 777, 806, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, +- &meson_hdmi_encp_mode_1024x768_60, + }, + /* 1152x864@75Hz */ + { + { DRM_MODE("1152x864", DRM_MODE_TYPE_DRIVER, 108000, 1152, + 1216, 1344, 1600, 0, 864, 865, 868, 900, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, +- &meson_hdmi_encp_mode_1152x864_75, + }, + /* 1280x1024@60Hz */ + { + { DRM_MODE("1280x1024", DRM_MODE_TYPE_DRIVER, 108000, 1280, + 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, +- &meson_hdmi_encp_mode_1280x1024_60, + }, + /* 1600x1200@60Hz */ + { + { DRM_MODE("1600x1200", DRM_MODE_TYPE_DRIVER, 162000, 1600, + 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, +- &meson_hdmi_encp_mode_1600x1200_60, + }, + /* 1920x1080@60Hz */ + { + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, + 2008, 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, +- &meson_hdmi_encp_mode_1080p60 + }, + { }, /* sentinel */ + }; +@@ -1044,17 +785,20 @@ static unsigned long modulo(unsigned long a, unsigned long b) + return a; + } + +-bool meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode) ++enum drm_mode_status ++meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode) + { +- struct meson_hdmi_venc_dmt_mode *vmode = meson_hdmi_venc_dmt_modes; ++ if (mode->flags & ~(DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NHSYNC | ++ DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC)) ++ return MODE_BAD; + +- while (vmode->mode) { +- if (drm_mode_equal(&vmode->drm_mode, mode)) +- return true; +- vmode++; +- } ++ if (mode->hdisplay < 640 || mode->hdisplay > 1920) ++ return MODE_BAD_HVALUE; + +- return false; ++ if (mode->vdisplay < 480 || mode->vdisplay > 1200) ++ return MODE_BAD_VVALUE; ++ ++ return MODE_OK; + } + EXPORT_SYMBOL_GPL(meson_venc_hdmi_supported_mode); + +@@ -1072,18 +816,29 @@ bool meson_venc_hdmi_supported_vic(int vic) + } + EXPORT_SYMBOL_GPL(meson_venc_hdmi_supported_vic); + +-static union meson_hdmi_venc_mode +-*meson_venc_hdmi_get_dmt_vmode(const struct drm_display_mode *mode) ++void meson_venc_hdmi_get_dmt_vmode(const struct drm_display_mode *mode, ++ union meson_hdmi_venc_mode *dmt_mode) + { +- struct meson_hdmi_venc_dmt_mode *vmode = meson_hdmi_venc_dmt_modes; +- +- while (vmode->mode) { +- if (drm_mode_equal(&vmode->drm_mode, mode)) +- return vmode->mode; +- vmode++; +- } +- +- return NULL; ++ memset(dmt_mode, 0, sizeof(*dmt_mode)); ++ ++ dmt_mode->encp.dvi_settings = 0x21; ++ dmt_mode->encp.video_mode = 0x4040; ++ dmt_mode->encp.video_mode_adv = 0x18; ++ dmt_mode->encp.max_pxcnt = mode->htotal - 1; ++ dmt_mode->encp.havon_begin = mode->htotal - mode->hsync_start; ++ dmt_mode->encp.havon_end = dmt_mode->encp.havon_begin + ++ mode->hdisplay - 1; ++ dmt_mode->encp.vavon_bline = mode->vtotal - mode->vsync_start; ++ dmt_mode->encp.vavon_eline = dmt_mode->encp.vavon_bline + ++ mode->vdisplay - 1; ++ dmt_mode->encp.hso_begin = 0; ++ dmt_mode->encp.hso_end = mode->hsync_end - mode->hsync_start; ++ dmt_mode->encp.vso_begin = 30; ++ dmt_mode->encp.vso_end = 50; ++ dmt_mode->encp.vso_bline = 0; ++ dmt_mode->encp.vso_eline = mode->vsync_end - mode->vsync_start; ++ dmt_mode->encp.vso_eline_present = true; ++ dmt_mode->encp.max_lncnt = mode->vtotal - 1; + } + + static union meson_hdmi_venc_mode *meson_venc_hdmi_get_vic_vmode(int vic) +@@ -1120,6 +875,7 @@ void meson_venc_hdmi_mode_set(struct meson_drm *priv, int vic, + struct drm_display_mode *mode) + { + union meson_hdmi_venc_mode *vmode = NULL; ++ union meson_hdmi_venc_mode vmode_dmt; + bool use_enci = false; + bool venc_repeat = false; + bool hdmi_repeat = false; +@@ -1147,14 +903,18 @@ void meson_venc_hdmi_mode_set(struct meson_drm *priv, int vic, + unsigned int sof_lines; + unsigned int vsync_lines; + +- if (meson_venc_hdmi_supported_vic(vic)) ++ if (meson_venc_hdmi_supported_vic(vic)) { + vmode = meson_venc_hdmi_get_vic_vmode(vic); +- else +- vmode = meson_venc_hdmi_get_dmt_vmode(mode); +- if (!vmode) { +- dev_err(priv->dev, "%s: Fatal Error, unsupported mode " +- DRM_MODE_FMT "\n", __func__, DRM_MODE_ARG(mode)); +- return; ++ if (!vmode) { ++ dev_err(priv->dev, "%s: Fatal Error, unsupported mode " ++ DRM_MODE_FMT "\n", __func__, ++ DRM_MODE_ARG(mode)); ++ return; ++ } ++ } ++ else { ++ meson_venc_hdmi_get_dmt_vmode(mode, &vmode_dmt); ++ vmode = &vmode_dmt; + } + + /* Use VENCI for 480i and 576i and double HDMI pixels */ +diff --git a/drivers/gpu/drm/meson/meson_venc.h b/drivers/gpu/drm/meson/meson_venc.h +index 7c18a36a0dd0c..97eaebbfa0c4a 100644 +--- a/drivers/gpu/drm/meson/meson_venc.h ++++ b/drivers/gpu/drm/meson/meson_venc.h +@@ -58,7 +58,8 @@ struct meson_cvbs_enci_mode { + }; + + /* HDMI Clock parameters */ +-bool meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode); ++enum drm_mode_status ++meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode); + bool meson_venc_hdmi_supported_vic(int vic); + bool meson_venc_hdmi_venc_repeat(int vic); + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/112_linux-4.17-amlogic-dmt-extended-1001-fix-32000khz.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/112_linux-4.17-amlogic-dmt-extended-1001-fix-32000khz.patch new file mode 100644 index 000000000..a359376a7 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/112_linux-4.17-amlogic-dmt-extended-1001-fix-32000khz.patch @@ -0,0 +1,119 @@ +diff -ur a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c +--- a/drivers/gpu/drm/meson/meson_vclk.c 2018-06-02 20:21:48.000000000 +0200 ++++ b/drivers/gpu/drm/meson/meson_vclk.c 2018-06-02 20:16:44.008061996 +0200 +@@ -428,9 +428,9 @@ + .vclk_div = 2, + }, + [MESON_VCLK_HDMI_32000] = { +- .pll_base_freq = 2560000, ++ .pll_base_freq = 5120000, + .pll_od1 = 4, +- .pll_od2 = 2, ++ .pll_od2 = 4, + .pll_od3 = 1, + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 2, +@@ -520,27 +520,6 @@ + + if (meson_vpu_is_compatible(priv, "amlogic,meson-gxbb-vpu")) { + switch (base) { +- case 2560000: +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000235); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x0d5c5091); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); +- +- /* Enable and unreset */ +- regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, +- 0x7 << 28, 0x4 << 28); +- +- /* Poll for lock bit */ +- regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, +- val, (val & HDMI_PLL_LOCK), 10, 0); +- +- /* div_frac */ +- regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, +- 0xFFFF, 0x4555); +- break; +- + case 2700000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000238); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); +@@ -722,6 +701,27 @@ + val, (val & HDMI_PLL_LOCK), 10, 0); + break; + ++ case 5120000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800026a); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x135c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ BIT(28), 0); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4aab); ++ break; ++ + case 5940000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x5800027b); + regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, +@@ -760,15 +760,6 @@ + } else if (meson_vpu_is_compatible(priv, "amlogic,meson-gxm-vpu") || + meson_vpu_is_compatible(priv, "amlogic,meson-gxl-vpu")) { + switch (base) { +- case 2560000: +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x4000026a); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb2ab); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); +- regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); +- break; +- + case 2700000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000270); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb200); +@@ -847,6 +838,15 @@ + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; ++ ++ case 5120000: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x400002d5); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb155); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); + break; + +diff -ur a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c +--- a/drivers/gpu/drm/meson/meson_venc.c 2018-06-02 16:39:27.777402009 +0200 ++++ b/drivers/gpu/drm/meson/meson_venc.c 2018-06-02 20:23:23.744646670 +0200 +@@ -713,6 +713,12 @@ + 968, 1056, 0, 600, 601, 605, 628, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + }, ++ /* 1024x600@43Hz */ ++ { ++ { DRM_MODE("1024x600", DRM_MODE_TYPE_DRIVER, 32000, 1024, ++ 1064, 1112, 1152, 0, 600, 613, 616, 645, 0, ++ DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, ++ }, + /* 1024x768@60Hz */ + { + { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 65000, 1024, diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/113_linux-4.17-amlogic-dmt-extended-1002-custom-mode.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/113_linux-4.17-amlogic-dmt-extended-1002-custom-mode.patch new file mode 100644 index 000000000..97136bd0c --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/113_linux-4.17-amlogic-dmt-extended-1002-custom-mode.patch @@ -0,0 +1,547 @@ +diff -ur a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c +--- a/drivers/gpu/drm/meson/meson_dw_hdmi.c 2018-06-02 16:39:27.777402009 +0200 ++++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c 2018-06-02 17:25:33.803332054 +0200 +@@ -588,22 +588,28 @@ + /* Finally filter by configurable vclk frequencies */ + switch (vclk_freq) { + case 25175: +- case 40000: ++ case 29750: + case 32000: + case 36000: + case 33750: + case 33900: ++ case 40000: + case 54000: + case 65000: + case 74250: ++ case 106500: + case 108000: + case 148500: + case 162000: ++ case 193250: + case 297000: + case 594000: + return MODE_OK; + } + ++ if (meson_vclk_supported(vclk_freq)) ++ return MODE_OK; ++ + return MODE_CLOCK_RANGE; + } + +diff -ur a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c +--- a/drivers/gpu/drm/meson/meson_vclk.c 2018-06-02 20:16:44.008061996 +0200 ++++ b/drivers/gpu/drm/meson/meson_vclk.c 2018-06-04 03:26:22.092619417 +0200 +@@ -321,39 +321,49 @@ + } + + +-/* PLL O1 O2 O3 VP DV EN TX */ +-/* 4320 /4 /4 /1 /5 /1 => /2 /2 */ +-#define MESON_VCLK_HDMI_ENCI_54000 1 +-/* 4320 /4 /4 /1 /5 /1 => /1 /2 */ +-#define MESON_VCLK_HDMI_DDR_54000 2 +-/* 2970 /4 /1 /1 /5 /1 => /1 /2 */ +-#define MESON_VCLK_HDMI_DDR_148500 3 +-/* 4028 /4 /4 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_25175 4 +-/* 2560 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_32000 5 +-/* 2700 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_33750 6 +-/* 2712 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_33900 7 +-/* 2880 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_36000 8 +-/* 3200 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_40000 9 +-/* 5200 /4 /2 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_65000 10 +-/* 2970 /2 /2 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_74250 11 +-/* 4320 /4 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_108000 12 +-/* 2970 /1 /2 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_148500 13 +-/* 3240 /2 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_162000 14 +-/* 2970 /1 /1 /1 /5 /2 => /1 /1 */ +-#define MESON_VCLK_HDMI_297000 15 +-/* 5940 /1 /1 /2 /5 /1 => /1 /1 */ +-#define MESON_VCLK_HDMI_594000 16 ++enum { ++ /* PLL O1 O2 O3 VP DV EN TX */ ++ /* 4320 /4 /4 /1 /5 /1 => /2 /2 */ ++ MESON_VCLK_HDMI_ENCI_54000 = 1, ++ /* 4320 /4 /4 /1 /5 /1 => /1 /2 */ ++ MESON_VCLK_HDMI_DDR_54000, ++ /* 2970 /4 /1 /1 /5 /1 => /1 /2 */ ++ MESON_VCLK_HDMI_DDR_148500, ++ /* 4028 /4 /4 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_25175, ++ /* 4760 /4 /4 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_29750, ++ /* 2560 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_32000, ++ /* 2700 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_33750, ++ /* 2712 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_33900, ++ /* 2880 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_36000, ++ /* 3200 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_40000, ++ /* 5200 /4 /2 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_65000, ++ /* 2970 /2 /2 /2 /5 /1 => /1 /1 */ ++ MESON_VCLK_HDMI_74250, ++ /* 4260 /4 /1 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_106500, ++ /* 4320 /4 /1 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_108000, ++ /* 2970 /1 /2 /2 /5 /1 => /1 /1 */ ++ MESON_VCLK_HDMI_148500, ++ /* 3240 /2 /1 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_162000, ++ /* 3865 /2 /1 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_193250, ++ /* 2970 /1 /1 /1 /5 /2 => /1 /1 */ ++ MESON_VCLK_HDMI_297000, ++ /* 5940 /1 /1 /2 /5 /1 => /1 /1 */ ++ MESON_VCLK_HDMI_594000, ++ /* custom calculated mode */ ++ MESON_VCLK_HDMI_CUSTOM, ++}; + + struct meson_vclk_params { + unsigned int pll_base_freq; +@@ -427,6 +437,14 @@ + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 2, + }, ++ [MESON_VCLK_HDMI_29750] = { ++ .pll_base_freq = 4760000, ++ .pll_od1 = 4, ++ .pll_od2 = 4, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, + [MESON_VCLK_HDMI_32000] = { + .pll_base_freq = 5120000, + .pll_od1 = 4, +@@ -475,6 +493,14 @@ + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 2, + }, ++ [MESON_VCLK_HDMI_106500] = { ++ .pll_base_freq = 4260000, ++ .pll_od1 = 4, ++ .pll_od2 = 1, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, + [MESON_VCLK_HDMI_108000] = { + .pll_base_freq = 4320000, + .pll_od1 = 4, +@@ -491,6 +517,14 @@ + .vid_pll_div = VID_PLL_DIV_5, + .vclk_div = 2, + }, ++ [MESON_VCLK_HDMI_193250] = { ++ .pll_base_freq = 3865000, ++ .pll_od1 = 2, ++ .pll_od2 = 1, ++ .pll_od3 = 1, ++ .vid_pll_div = VID_PLL_DIV_5, ++ .vclk_div = 2, ++ }, + }; + + static inline unsigned int pll_od_to_reg(unsigned int od) +@@ -519,6 +553,18 @@ + unsigned int val; + + if (meson_vpu_is_compatible(priv, "amlogic,meson-gxbb-vpu")) { ++ unsigned int step = 48000; ++ unsigned int range = 0x1000; ++ unsigned int round = step / range / 2; ++ unsigned int frac = base % step; ++ unsigned int m = (base - frac) / step; ++ ++ frac = (frac + round) * range / step; ++ if (frac >= range) ++ frac = range-1; ++ ++ dev_info(priv->dev, "%s: base=%d, m=0x%.2x, frac=0x%.3x\n", __func__, base, m, frac); ++ + switch (base) { + case 2700000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000238); +@@ -755,10 +801,49 @@ + /* Poll for lock bit */ + regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, + val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4555); ++ break; ++ ++ default: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x58000200 | m); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x00000000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x135c5091); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x801da72c); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x71486980); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x00000e55); ++ ++ /* unreset */ ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL, ++ BIT(28), 0); ++ ++ /* Poll for lock bit */ ++ regmap_read_poll_timeout(priv->hhi, HHI_HDMI_PLL_CNTL, ++ val, (val & HDMI_PLL_LOCK), 10, 0); ++ ++ /* div_frac */ ++ if (frac) ++ regmap_update_bits(priv->hhi, HHI_HDMI_PLL_CNTL2, ++ 0xFFFF, 0x4000 | frac); + break; ++ + }; + } else if (meson_vpu_is_compatible(priv, "amlogic,meson-gxm-vpu") || + meson_vpu_is_compatible(priv, "amlogic,meson-gxl-vpu")) { ++ unsigned int step = 24000; ++ unsigned int range = 0x400; ++ unsigned int round = step / range / 2; ++ unsigned int frac = base % step; ++ unsigned int m = (base - frac) / step; ++ ++ frac = (frac + round) * range / step; ++ if (frac >= range) ++ frac = range-1; ++ ++ pr_info("%s: base=%d, m=0x%.2x, frac=0x%.3x", __func__, base, m, frac); ++ + switch (base) { + case 2700000: + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000270); +@@ -868,6 +953,14 @@ + regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); + break; + ++ default: ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL, 0x40000200 | m); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL2, 0x800cb000 | frac); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL3, 0x860f30c4); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL4, 0x0c8e0000); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL5, 0x001fa729); ++ regmap_write(priv->hhi, HHI_HDMI_PLL_CNTL6, 0x01a31500); ++ break; + }; + + /* Reset PLL */ +@@ -906,6 +999,151 @@ + 3 << 19, pll_od_to_reg(od3) << 19); + } + ++unsigned int meson_vclk_freq_from_params(struct meson_vclk_params* vclk_params) ++{ ++ unsigned int vclk_freq = vclk_params->pll_base_freq / ++ vclk_params->pll_od1 / vclk_params->pll_od2 / ++ vclk_params->pll_od3 / vclk_params->vclk_div; ++ ++ switch (vclk_params->vid_pll_div) { ++ case VID_PLL_DIV_2: ++ vclk_freq /= 2; ++ break; ++ case VID_PLL_DIV_2p5: ++ vclk_freq *= 4; ++ vclk_freq /= 10; ++ break; ++ case VID_PLL_DIV_3: ++ vclk_freq /= 3; ++ break; ++ case VID_PLL_DIV_3p5: ++ vclk_freq *= 2; ++ vclk_freq /= 7; ++ break; ++ case VID_PLL_DIV_3p75: ++ vclk_freq *= 4; ++ vclk_freq /= 15; ++ break; ++ case VID_PLL_DIV_4: ++ vclk_freq /= 4; ++ break; ++ case VID_PLL_DIV_5: ++ vclk_freq /= 5; ++ break; ++ case VID_PLL_DIV_6: ++ vclk_freq /= 6; ++ break; ++ case VID_PLL_DIV_6p25: ++ vclk_freq *= 8; ++ vclk_freq /= 50; ++ break; ++ case VID_PLL_DIV_7: ++ vclk_freq /= 7; ++ break; ++ case VID_PLL_DIV_7p5: ++ vclk_freq *= 4; ++ vclk_freq /= 30; ++ break; ++ case VID_PLL_DIV_12: ++ vclk_freq /= 12; ++ break; ++ case VID_PLL_DIV_14: ++ vclk_freq /= 14; ++ break; ++ case VID_PLL_DIV_15: ++ vclk_freq /= 15; ++ break; ++ default: ++ return 0; ++ } ++ ++ return vclk_freq; ++} ++ ++static bool meson_get_vclk_params(unsigned int freq, ++ struct meson_vclk_params* vclk_params) ++{ ++ unsigned int vclk_freq = freq; ++ unsigned int base_freq, od1_od2, od3_vpll_vclk; ++ int p, jit; ++ bool found = false; ++ ++ if ((vclk_freq < 13500) || (vclk_freq > 594000)) ++ return false; ++ ++ if (vclk_freq % 25 > 12) ++ vclk_freq += 25; ++ vclk_freq -= vclk_freq % 25; ++ ++ for (p = 1; p < sizeof(params) / sizeof(struct meson_vclk_params); p++) { ++ if (params[p].vid_pll_div != VID_PLL_DIV_5) ++ continue; ++ ++ od1_od2 = params[p].pll_od1 * params[p].pll_od2; ++ od3_vpll_vclk = params[p].pll_od3 * 5 * params[p].vclk_div; ++ ++ if ((od3_vpll_vclk != 10) && (vclk_freq > 54000 + 175)) ++ continue; ++ ++ base_freq = vclk_freq * od1_od2 * od3_vpll_vclk; ++ ++ if ((base_freq < 2700000) || (base_freq > 5940000)) ++ continue; ++ ++ vclk_params->pll_base_freq = base_freq; ++ vclk_params->pll_od1 = params[p].pll_od1; ++ vclk_params->pll_od2 = params[p].pll_od2; ++ vclk_params->pll_od3 = params[p].pll_od3; ++ vclk_params->vid_pll_div = params[p].vid_pll_div; ++ vclk_params->vclk_div = params[p].vclk_div; ++ ++ found = true; ++ ++ if (params[p].pll_base_freq > vclk_params->pll_base_freq) ++ jit = params[p].pll_base_freq - vclk_params->pll_base_freq; ++ else ++ jit = vclk_params->pll_base_freq - params[p].pll_base_freq; ++ ++ if (jit < 175 * od1_od2 * od3_vpll_vclk) { ++ vclk_params->pll_base_freq = params[p].pll_base_freq; ++ vclk_freq = vclk_params->pll_base_freq / od1_od2 / od3_vpll_vclk; ++ } ++ ++ if (jit < 40000) ++ break; ++ } ++ ++ return found; ++} ++ ++static void meson_print_vclk_params(struct meson_drm *priv, unsigned int freq, ++ struct meson_vclk_params* vclk_params) ++{ ++ unsigned int vclk_freq = meson_vclk_freq_from_params(vclk_params); ++ ++ if (vclk_params->vid_pll_div != VID_PLL_DIV_5) ++ return; ++ ++ if (vclk_freq != freq) ++ dev_info(priv->dev, "adjusted %d -> %d", freq, vclk_freq); ++ ++ dev_info(priv->dev, "params %d / %d / %d / %d / %d / %d = %d\n", ++ vclk_params->pll_base_freq, ++ vclk_params->pll_od1, ++ vclk_params->pll_od2, ++ vclk_params->pll_od3, ++ 5, vclk_params->vclk_div, ++ vclk_freq); ++} ++ ++bool meson_vclk_supported(unsigned int vclk_freq) ++{ ++ struct meson_vclk_params custom_params; ++ ++ return (meson_get_vclk_params(vclk_freq, &custom_params)); ++} ++EXPORT_SYMBOL_GPL(meson_vclk_supported); ++ + void meson_vclk_setup(struct meson_drm *priv, unsigned int target, + unsigned int vclk_freq, unsigned int venc_freq, + unsigned int dac_freq, bool hdmi_use_enci) +@@ -913,6 +1151,8 @@ + unsigned int freq; + unsigned int hdmi_tx_div; + unsigned int venc_div; ++ struct meson_vclk_params custom_params; ++ struct meson_vclk_params* vclk_params; + + if (target == MESON_VCLK_TARGET_CVBS) { + meson_venci_cvbs_clock_config(priv); +@@ -945,6 +1185,9 @@ + case 25175: + freq = MESON_VCLK_HDMI_25175; + break; ++ case 29750: ++ freq = MESON_VCLK_HDMI_29750; ++ break; + case 32000: + freq = MESON_VCLK_HDMI_32000; + break; +@@ -966,6 +1209,9 @@ + case 74250: + freq = MESON_VCLK_HDMI_74250; + break; ++ case 106500: ++ freq = MESON_VCLK_HDMI_106500; ++ break; + case 108000: + freq = MESON_VCLK_HDMI_108000; + break; +@@ -978,6 +1224,9 @@ + case 162000: + freq = MESON_VCLK_HDMI_162000; + break; ++ case 193250: ++ freq = MESON_VCLK_HDMI_193250; ++ break; + case 297000: + freq = MESON_VCLK_HDMI_297000; + break; +@@ -985,9 +1234,8 @@ + freq = MESON_VCLK_HDMI_594000; + break; + default: +- pr_err("Fatal Error, invalid HDMI vclk freq %d\n", +- vclk_freq); +- return; ++ freq = MESON_VCLK_HDMI_CUSTOM; ++ break; + } + + /* Set HDMI-TX sys clock */ +@@ -998,20 +1246,35 @@ + regmap_update_bits(priv->hhi, HHI_HDMI_CLK_CNTL, + CTS_HDMI_SYS_EN, CTS_HDMI_SYS_EN); + ++ vclk_params = NULL; ++ ++ if (freq != MESON_VCLK_HDMI_CUSTOM) ++ vclk_params = ¶ms[freq]; ++ else if (meson_get_vclk_params(vclk_freq, &custom_params)) ++ vclk_params = &custom_params; ++ ++ if (!vclk_params) { ++ pr_err("Fatal Error, invalid HDMI vclk freq %d\n", ++ vclk_freq); ++ return; ++ } ++ ++ meson_print_vclk_params(priv, vclk_freq, vclk_params); ++ + /* Set HDMI PLL rate */ +- meson_hdmi_pll_set(priv, params[freq].pll_base_freq, +- params[freq].pll_od1, +- params[freq].pll_od2, +- params[freq].pll_od3); ++ meson_hdmi_pll_set(priv, vclk_params->pll_base_freq, ++ vclk_params->pll_od1, ++ vclk_params->pll_od2, ++ vclk_params->pll_od3); + + /* Setup vid_pll divider */ +- meson_vid_pll_set(priv, params[freq].vid_pll_div); ++ meson_vid_pll_set(priv, vclk_params->vid_pll_div); + + /* Set VCLK div */ + regmap_update_bits(priv->hhi, HHI_VID_CLK_CNTL, + VCLK_SEL_MASK, 0); + regmap_update_bits(priv->hhi, HHI_VID_CLK_DIV, +- VCLK_DIV_MASK, params[freq].vclk_div - 1); ++ VCLK_DIV_MASK, vclk_params->vclk_div - 1); + + /* Set HDMI-TX source */ + switch (hdmi_tx_div) { +diff -ur a/drivers/gpu/drm/meson/meson_vclk.h b/drivers/gpu/drm/meson/meson_vclk.h +--- a/drivers/gpu/drm/meson/meson_vclk.h 2018-05-26 22:29:37.112948771 +0200 ++++ b/drivers/gpu/drm/meson/meson_vclk.h 2018-05-31 05:15:53.342134304 +0200 +@@ -29,6 +29,8 @@ + /* 27MHz is the CVBS Pixel Clock */ + #define MESON_VCLK_CVBS 27000 + ++bool meson_vclk_supported(unsigned int vclk_freq); ++ + void meson_vclk_setup(struct meson_drm *priv, unsigned int target, + unsigned int vclk_freq, unsigned int venc_freq, + unsigned int dac_freq, bool hdmi_use_enci); +diff -ur a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c +--- a/drivers/gpu/drm/meson/meson_venc.c 2018-06-02 20:23:23.744646670 +0200 ++++ b/drivers/gpu/drm/meson/meson_venc.c 2018-06-02 17:25:33.807332121 +0200 +@@ -707,6 +707,12 @@ + 752, 800, 0, 480, 490, 492, 525, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, + }, ++ /* 800x480@60Hz */ ++ { ++ { DRM_MODE("800x480", DRM_MODE_TYPE_DRIVER, 29750, 800, 824, ++ 896, 992, 0, 480, 483, 490, 500, 0, ++ DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, ++ }, + /* 800x600@60Hz */ + { + { DRM_MODE("800x600", DRM_MODE_TYPE_DRIVER, 40000, 800, 840, +@@ -737,6 +743,12 @@ + 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, + }, ++ /* 1440x900@60Hz */ ++ { ++ { DRM_MODE("1440x900", DRM_MODE_TYPE_DRIVER, 106500, 1440, ++ 1520, 1672, 1904, 0, 900, 903, 909, 934, 0, ++ DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, ++ }, + /* 1600x1200@60Hz */ + { + { DRM_MODE("1600x1200", DRM_MODE_TYPE_DRIVER, 162000, 1600, +@@ -749,6 +761,12 @@ + 2008, 2052, 2200, 0, 1080, 1084, 1089, 1125, 0, + DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC) }, + }, ++ /* 1920x1200@60Hz */ ++ { ++ { DRM_MODE("1920x1200", DRM_MODE_TYPE_DRIVER, 193250, 1920, ++ 2056, 2256, 2592, 0, 1200, 1203, 1209, 1245, 0, ++ DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC) }, ++ }, + { }, /* sentinel */ + }; + diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/114_linux-4.17-amlogic-dmt-extended-1003-calculate-clock-dividers.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/114_linux-4.17-amlogic-dmt-extended-1003-calculate-clock-dividers.patch new file mode 100644 index 000000000..5dfcace64 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/114_linux-4.17-amlogic-dmt-extended-1003-calculate-clock-dividers.patch @@ -0,0 +1,115 @@ +diff -u a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c +--- a/drivers/gpu/drm/meson/meson_vclk.c 2018-06-10 06:10:59.071504595 +0200 ++++ b/drivers/gpu/drm/meson/meson_vclk.c 2018-06-10 05:33:51.347202114 +0200 +@@ -842,7 +842,7 @@ + if (frac >= range) + frac = range-1; + +- pr_info("%s: base=%d, m=0x%.2x, frac=0x%.3x", __func__, base, m, frac); ++ dev_info(priv->dev, "%s: base=%d, m=0x%.2x, frac=0x%.3x\n", __func__, base, m, frac); + + switch (base) { + case 2700000: +@@ -1065,25 +1065,36 @@ + { + unsigned int vclk_freq = freq; + unsigned int base_freq, od1_od2, od3_vpll_vclk; +- int p, jit; ++ int od1, od2, od3, p, jit; + bool found = false; + +- if ((vclk_freq < 13500) || (vclk_freq > 594000)) ++ if ((vclk_freq < 12000) || (vclk_freq > 594000)) + return false; + + if (vclk_freq % 25 > 12) + vclk_freq += 25; + vclk_freq -= vclk_freq % 25; + +- for (p = 1; p < sizeof(params) / sizeof(struct meson_vclk_params); p++) { +- if (params[p].vid_pll_div != VID_PLL_DIV_5) ++ for (p = 0; p < 6; p++) { ++ od1 = (1 << p); ++ od2 = 1; ++ od3 = 1; ++ ++ if ((vclk_freq > 18550) && (od1 > 16)) + continue; + +- od1_od2 = params[p].pll_od1 * params[p].pll_od2; +- od3_vpll_vclk = params[p].pll_od3 * 5 * params[p].vclk_div; ++ if (od1 > 16) { ++ od3 = od1 / 16; ++ od1 = 16; ++ } + +- if ((od3_vpll_vclk != 10) && (vclk_freq > 54000 + 175)) +- continue; ++ if (od1 > 4) { ++ od2 = od1 / 4; ++ od1 = 4; ++ } ++ ++ od1_od2 = od1 * od2; ++ od3_vpll_vclk = od3 * 5 * 2; + + base_freq = vclk_freq * od1_od2 * od3_vpll_vclk; + +@@ -1091,21 +1102,32 @@ + continue; + + vclk_params->pll_base_freq = base_freq; +- vclk_params->pll_od1 = params[p].pll_od1; +- vclk_params->pll_od2 = params[p].pll_od2; +- vclk_params->pll_od3 = params[p].pll_od3; +- vclk_params->vid_pll_div = params[p].vid_pll_div; +- vclk_params->vclk_div = params[p].vclk_div; ++ vclk_params->pll_od1 = od1; ++ vclk_params->pll_od2 = od2; ++ vclk_params->pll_od3 = od3; ++ vclk_params->vid_pll_div = VID_PLL_DIV_5; ++ vclk_params->vclk_div = 2; + + found = true; + +- if (params[p].pll_base_freq > vclk_params->pll_base_freq) +- jit = params[p].pll_base_freq - vclk_params->pll_base_freq; ++ jit = od1_od2 * od3_vpll_vclk * 125; ++ if (p < 3) ++ jit <<= (3-p); ++ ++ if ((base_freq % 24000) < (base_freq % jit)) ++ jit = 24000; ++ ++ if ((base_freq % jit) > (jit / 2)) ++ base_freq = base_freq+jit; ++ base_freq -= base_freq % jit; ++ ++ if (base_freq > vclk_params->pll_base_freq) ++ jit = base_freq - vclk_params->pll_base_freq; + else +- jit = vclk_params->pll_base_freq - params[p].pll_base_freq; ++ jit = vclk_params->pll_base_freq - base_freq; + + if (jit < 175 * od1_od2 * od3_vpll_vclk) { +- vclk_params->pll_base_freq = params[p].pll_base_freq; ++ vclk_params->pll_base_freq = base_freq; + vclk_freq = vclk_params->pll_base_freq / od1_od2 / od3_vpll_vclk; + } + +diff -u a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c +--- a/drivers/gpu/drm/meson/meson_venc.c 2018-06-10 06:10:59.071504595 +0200 ++++ b/drivers/gpu/drm/meson/meson_venc.c 2018-06-10 05:26:59.995203463 +0200 +@@ -816,10 +816,10 @@ + DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC)) + return MODE_BAD; + +- if (mode->hdisplay < 640 || mode->hdisplay > 1920) ++ if (mode->hdisplay < 416 || mode->hdisplay > 1920) + return MODE_BAD_HVALUE; + +- if (mode->vdisplay < 480 || mode->vdisplay > 1200) ++ if (mode->vdisplay < 360 || mode->vdisplay > 1200) + return MODE_BAD_VVALUE; + + return MODE_OK; diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/115_linux-4.14.y-input_touchscreen-vu5-vu7plus.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/115_linux-4.14.y-input_touchscreen-vu5-vu7plus.patch new file mode 100644 index 000000000..e1cb84e1b --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/115_linux-4.14.y-input_touchscreen-vu5-vu7plus.patch @@ -0,0 +1,1235 @@ +diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c +index 672b0be41..f46efab94 100644 +--- a/drivers/hid/hid-core.c ++++ b/drivers/hid/hid-core.c +@@ -2776,6 +2776,8 @@ static const struct hid_device_id hid_ignore_list[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_DPAD) }, + #endif + { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_ODROID, USB_DEVICE_ID_VU5) }, ++ { HID_USB_DEVICE(USB_VENDOR_ID_ODROID, USB_DEVICE_ID_VU7PLUS) }, + { } + }; + +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index ff539c0b4..b09d5ea03 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -1164,4 +1164,10 @@ + #define USB_VENDOR_ID_UGTIZER 0x2179 + #define USB_DEVICE_ID_UGTIZER_TABLET_GP0610 0x0053 + ++#define USB_DEVICE_ID_DWAV_MULTITOUCH 0x0005 ++ ++#define USB_VENDOR_ID_ODROID 0x16b4 ++#define USB_DEVICE_ID_VU5 0x0704 ++#define USB_DEVICE_ID_VU7PLUS 0x0705 ++ + #endif +diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig +index 64b30fe27..05e834eed 100644 +--- a/drivers/input/touchscreen/Kconfig ++++ b/drivers/input/touchscreen/Kconfig +@@ -1246,4 +1246,23 @@ config TOUCHSCREEN_ROHM_BU21023 + To compile this driver as a module, choose M here: the + module will be called bu21023_ts. + ++config TOUCHSCREEN_DWAV_USB_MT ++ tristate "D-WAV Scientific USB MultiTouch" ++ depends on USB_ARCH_HAS_HCD ++ select USB ++ help ++ Say Y here if you have a D-WAV Scientific USB(HID) based MultiTouch ++ controller. ++ ++ If unsure, say N. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called dwav-usb-mt. ++ ++config TOUCHSCREEN_SX865X ++ tristate "Semtech multitouch resistive touchscreen" ++ depends on I2C ++ help ++ This enables support for Semtech multitouch resistive touchscreen. ++ + endif +diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile +index 850c15625..bc3f0e1d5 100644 +--- a/drivers/input/touchscreen/Makefile ++++ b/drivers/input/touchscreen/Makefile +@@ -104,3 +104,5 @@ obj-$(CONFIG_TOUCHSCREEN_ZET6223) += zet6223.o + obj-$(CONFIG_TOUCHSCREEN_ZFORCE) += zforce_ts.o + obj-$(CONFIG_TOUCHSCREEN_COLIBRI_VF50) += colibri-vf50-ts.o + obj-$(CONFIG_TOUCHSCREEN_ROHM_BU21023) += rohm_bu21023.o ++obj-$(CONFIG_TOUCHSCREEN_DWAV_USB_MT) += dwav-usb-mt.o ++obj-$(CONFIG_TOUCHSCREEN_SX865X) += sx865x.o +diff -urN a/drivers/input/touchscreen/dwav-usb-mt.c b/drivers/input/touchscreen/dwav-usb-mt.c +--- a/drivers/input/touchscreen/dwav-usb-mt.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/input/touchscreen/dwav-usb-mt.c 2018-05-06 10:03:40.485939294 +0200 +@@ -0,0 +1,577 @@ ++/*------------------------------------------------------------------------- ++ ++ D-WAV Scientific USB(HID) MultiTouch Screen Driver(Based on usbtouchscreen.c) ++ Hardkernel : 2015/09/17 ++ ++-------------------------------------------------------------------------*/ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++/*-------------------------------------------------------------------------*/ ++#define USB_VENDOR_ID_DWAV 0x0eef /* 800 x 480, 7" DWAV touch */ ++#define USB_DEVICE_ID_VU7 0x0005 ++ ++#define USB_VENDOR_ID_ODROID 0x16b4 ++#define USB_DEVICE_ID_VU5 0x0704 ++#define USB_DEVICE_ID_VU7PLUS 0x0705 ++ ++enum { ++ ODROID_VU7 = 0, /* 800 x 480, 7" Touch */ ++ ODROID_VU5, /* 800 x 480, 5" Touch */ ++ ODROID_VU7PLUS, /* 1024 x 600, 7" Touch */ ++}; ++ ++/*-------------------------------------------------------------------------*/ ++struct usbtouch_device_info { ++ char name[64]; ++ int max_x; ++ int max_y; ++ int max_press; ++ int max_finger; ++}; ++ ++/*-------------------------------------------------------------------------*/ ++const struct usbtouch_device_info DEV_INFO[] = { ++ [ODROID_VU7] = { ++ .name = "ODROID VU7 MultiTouch(800x480)", ++ .max_x = 800, ++ .max_y = 480, ++ .max_press = 255, ++ .max_finger = 5, ++ }, ++ [ODROID_VU5] = { ++ .name = "ODROID VU5 MultiTouch(800x480)", ++ .max_x = 800, ++ .max_y = 480, ++ .max_press = 255, ++ .max_finger = 5, ++ }, ++ [ODROID_VU7PLUS] = { ++ .name = "ODROID VU7 Plus MultiTouch(1024x600)", ++ .max_x = 1024, ++ .max_y = 600, ++ .max_press = 255, ++ .max_finger = 5, ++ }, ++}; ++ ++/*-------------------------------------------------------------------------*/ ++static const struct usb_device_id dwav_usb_mt_devices[] = { ++ {USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_VU7), ++ .driver_info = ODROID_VU7}, ++ {USB_DEVICE(USB_VENDOR_ID_ODROID, USB_DEVICE_ID_VU5), ++ .driver_info = ODROID_VU5}, ++ {USB_DEVICE(USB_VENDOR_ID_ODROID, USB_DEVICE_ID_VU7PLUS), ++ .driver_info = ODROID_VU7PLUS}, ++ {} ++}; ++ ++/*-------------------------------------------------------------------------*/ ++struct dwav_raw { /* Total 25 bytes */ ++ unsigned char header; /* frame header 0xAA*/ ++ unsigned char press; ++ /* Touch flag (1:valid touch data, 0:touch finished) */ ++ unsigned short x1; /* 1st x */ ++ unsigned short y1; /* 1st y */ ++ unsigned char end; ++ /* 1st touch finish flags 0xBB, RPI only uses the first 7 bytes */ ++ unsigned char ids; /* touch ID(bit field) */ ++ unsigned short y2; ++ unsigned short x2; ++ unsigned short y3; ++ unsigned short x3; ++ unsigned short y4; ++ unsigned short x4; ++ unsigned short y5; ++ unsigned short x5; ++ unsigned char tail; /* frame end 0xCC */ ++}; ++ ++/*------------------------------------------------------------------------- ++ Touch Event type define ++-------------------------------------------------------------------------*/ ++#define TS_EVENT_UNKNOWN 0x00 ++#define TS_EVENT_PRESS 0x01 ++#define TS_EVENT_RELEASE 0x02 ++ ++struct finger_t { ++ unsigned int status; /* ts event type */ ++ unsigned int x; /* ts data x */ ++ unsigned int y; /* ts data y */ ++} __packed; ++ ++struct dwav_usb_mt { ++ char name[128], phys[64]; ++ ++ int dev_id; ++ /* for URB Data DMA */ ++ dma_addr_t data_dma; ++ unsigned char *data; ++ int data_size; ++ ++ struct urb *irq; ++ struct usb_interface *interface; ++ struct input_dev *input; ++ ++ struct finger_t *finger; ++}; ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_report(struct dwav_usb_mt *dwav_usb_mt) ++{ ++ int id, max_x, max_y, max_press, max_finger; ++ ++ max_x = DEV_INFO[dwav_usb_mt->dev_id].max_x; ++ max_y = DEV_INFO[dwav_usb_mt->dev_id].max_y; ++ max_press = DEV_INFO[dwav_usb_mt->dev_id].max_press; ++ max_finger = DEV_INFO[dwav_usb_mt->dev_id].max_finger; ++ ++ for (id = 0; id < max_finger; id++) { ++ ++ if (dwav_usb_mt->finger[id].status == TS_EVENT_UNKNOWN) ++ continue; ++ ++ if (dwav_usb_mt->finger[id].x >= max_x || ++ dwav_usb_mt->finger[id].y >= max_y) ++ continue; ++ ++ input_mt_slot(dwav_usb_mt->input, id); ++ ++ if (dwav_usb_mt->finger[id].status != TS_EVENT_RELEASE) { ++ input_mt_report_slot_state(dwav_usb_mt->input, ++ MT_TOOL_FINGER, true); ++ input_report_abs(dwav_usb_mt->input, ++ ABS_MT_POSITION_X, ++ dwav_usb_mt->finger[id].x); ++ input_report_abs(dwav_usb_mt->input, ++ ABS_MT_POSITION_Y, ++ dwav_usb_mt->finger[id].y); ++ input_report_abs(dwav_usb_mt->input, ++ ABS_MT_PRESSURE, ++ max_press); ++ } else { ++ input_mt_report_slot_state(dwav_usb_mt->input, ++ MT_TOOL_FINGER, false); ++ dwav_usb_mt->finger[id].status = TS_EVENT_UNKNOWN; ++ } ++ input_mt_report_pointer_emulation(dwav_usb_mt->input, true); ++ input_sync(dwav_usb_mt->input); ++ } ++} ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_process(struct dwav_usb_mt *dwav_usb_mt, ++ unsigned char *pkt, int len) ++{ ++ struct dwav_raw *dwav_raw = (struct dwav_raw *)pkt; ++ unsigned char bit_mask, cnt; ++ ++ for (cnt = 0, bit_mask = 0x01; ++ cnt < DEV_INFO[dwav_usb_mt->dev_id].max_finger; ++ cnt++, bit_mask <<= 1) { ++ if ((dwav_raw->ids & bit_mask) && dwav_raw->press) { ++ dwav_usb_mt->finger[cnt].status = TS_EVENT_PRESS; ++ switch (cnt) { ++ case 0: ++ dwav_usb_mt->finger[cnt].x ++ = cpu_to_be16(dwav_raw->x1); ++ dwav_usb_mt->finger[cnt].y ++ = cpu_to_be16(dwav_raw->y1); ++ break; ++ case 1: ++ dwav_usb_mt->finger[cnt].x ++ = cpu_to_be16(dwav_raw->x2); ++ dwav_usb_mt->finger[cnt].y ++ = cpu_to_be16(dwav_raw->y2); ++ break; ++ case 2: ++ dwav_usb_mt->finger[cnt].x ++ = cpu_to_be16(dwav_raw->x3); ++ dwav_usb_mt->finger[cnt].y ++ = cpu_to_be16(dwav_raw->y3); ++ break; ++ case 3: ++ dwav_usb_mt->finger[cnt].x ++ = cpu_to_be16(dwav_raw->x4); ++ dwav_usb_mt->finger[cnt].y ++ = cpu_to_be16(dwav_raw->y4); ++ break; ++ case 4: ++ dwav_usb_mt->finger[cnt].x ++ = cpu_to_be16(dwav_raw->x5); ++ dwav_usb_mt->finger[cnt].y ++ = cpu_to_be16(dwav_raw->y5); ++ break; ++ default: ++ break; ++ } ++ } else { ++ if (dwav_usb_mt->finger[cnt].status == TS_EVENT_PRESS) ++ dwav_usb_mt->finger[cnt].status ++ = TS_EVENT_RELEASE; ++ else ++ dwav_usb_mt->finger[cnt].status ++ = TS_EVENT_UNKNOWN; ++ } ++ } ++ dwav_usb_mt_report(dwav_usb_mt); ++} ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_irq(struct urb *urb) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = urb->context; ++ struct device *dev = &dwav_usb_mt->interface->dev; ++ int retval; ++ ++ switch (urb->status) { ++ case 0: ++ /* success */ ++ break; ++ case -ETIME: ++ /* this urb is timing out */ ++ dev_dbg(dev, "%s - urb timed out - was the device unplugged?\n", ++ __func__); ++ return; ++ case -ECONNRESET: ++ case -ENOENT: ++ case -ESHUTDOWN: ++ case -EPIPE: ++ /* this urb is terminated, clean up */ ++ dev_dbg(dev, "%s - urb shutting down with status: %d\n", ++ __func__, urb->status); ++ return; ++ default: ++ dev_dbg(dev, "%s - nonzero urb status received: %d\n", ++ __func__, urb->status); ++ goto exit; ++ } ++ ++ dwav_usb_mt_process(dwav_usb_mt, dwav_usb_mt->data, urb->actual_length); ++ ++exit: ++ usb_mark_last_busy(interface_to_usbdev(dwav_usb_mt->interface)); ++ retval = usb_submit_urb(urb, GFP_ATOMIC); ++ if (retval) { ++ dev_err(dev, "%s - usb_submit_urb failed with result: %d\n", ++ __func__, retval); ++ } ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_open(struct input_dev *input) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = input_get_drvdata(input); ++ int r; ++ ++ dwav_usb_mt->irq->dev = interface_to_usbdev(dwav_usb_mt->interface); ++ ++ r = usb_autopm_get_interface(dwav_usb_mt->interface) ? -EIO : 0; ++ if (r < 0) ++ goto out; ++ ++ if (usb_submit_urb(dwav_usb_mt->irq, GFP_KERNEL)) { ++ r = -EIO; ++ goto out_put; ++ } ++ ++ dwav_usb_mt->interface->needs_remote_wakeup = 1; ++out_put: ++ usb_autopm_put_interface(dwav_usb_mt->interface); ++out: ++ return r; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_close(struct input_dev *input) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = input_get_drvdata(input); ++ int r; ++ ++ usb_kill_urb(dwav_usb_mt->irq); ++ ++ r = usb_autopm_get_interface(dwav_usb_mt->interface); ++ ++ dwav_usb_mt->interface->needs_remote_wakeup = 0; ++ if (!r) ++ usb_autopm_put_interface(dwav_usb_mt->interface); ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_suspend(struct usb_interface *intf, pm_message_t message) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = usb_get_intfdata(intf); ++ ++ usb_kill_urb(dwav_usb_mt->irq); ++ ++ return 0; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_resume(struct usb_interface *intf) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = usb_get_intfdata(intf); ++ struct input_dev *input = dwav_usb_mt->input; ++ int result = 0; ++ ++ mutex_lock(&input->mutex); ++ if (input->users) ++ result = usb_submit_urb(dwav_usb_mt->irq, GFP_NOIO); ++ mutex_unlock(&input->mutex); ++ ++ return result; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_reset_resume(struct usb_interface *intf) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = usb_get_intfdata(intf); ++ struct input_dev *input = dwav_usb_mt->input; ++ int err = 0; ++ ++ /* restart IO if needed */ ++ mutex_lock(&input->mutex); ++ if (input->users) ++ err = usb_submit_urb(dwav_usb_mt->irq, GFP_NOIO); ++ mutex_unlock(&input->mutex); ++ ++ return err; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_free_buffers(struct usb_device *udev, ++ struct dwav_usb_mt *dwav_usb_mt) ++{ ++ usb_free_coherent(udev, dwav_usb_mt->data_size, ++ dwav_usb_mt->data, dwav_usb_mt->data_dma); ++} ++ ++/*-------------------------------------------------------------------------*/ ++static struct usb_endpoint_descriptor *dwav_usb_mt_get_input_endpoint( ++ struct usb_host_interface *interface) ++{ ++ int i; ++ ++ for (i = 0; i < interface->desc.bNumEndpoints; i++) { ++ if (usb_endpoint_dir_in(&interface->endpoint[i].desc)) ++ return &interface->endpoint[i].desc; ++ } ++ ++ return NULL; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_init(struct dwav_usb_mt *dwav_usb_mt, void *dev) ++{ ++ int err; ++ struct input_dev *input_dev = (struct input_dev *)dev; ++ ++ input_dev->name = dwav_usb_mt->name; ++ input_dev->phys = dwav_usb_mt->phys; ++ ++ input_set_drvdata(input_dev, dwav_usb_mt); ++ ++ input_dev->open = dwav_usb_mt_open; ++ input_dev->close = dwav_usb_mt_close; ++ ++ input_dev->id.bustype = BUS_USB; ++ ++ /* single touch */ ++ input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); ++ input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); ++ ++ input_set_abs_params(input_dev, ABS_X, 0, ++ DEV_INFO[dwav_usb_mt->dev_id].max_x, 0, 0); ++ input_set_abs_params(input_dev, ABS_Y, 0, ++ DEV_INFO[dwav_usb_mt->dev_id].max_y, 0, 0); ++ ++ /* multi touch */ ++ input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, ++ DEV_INFO[dwav_usb_mt->dev_id].max_x, 0, 0); ++ input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0, ++ DEV_INFO[dwav_usb_mt->dev_id].max_y, 0, 0); ++ input_mt_init_slots(input_dev, ++ DEV_INFO[dwav_usb_mt->dev_id].max_finger, 0); ++ ++ err = input_register_device(input_dev); ++ if (err) { ++ pr_err("%s - input_register_device failed, err: %d\n", ++ __func__, err); ++ return err; ++ } ++ ++ dwav_usb_mt->input = input_dev; ++ ++ return 0; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static int dwav_usb_mt_probe(struct usb_interface *intf, ++ const struct usb_device_id *id) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = NULL; ++ struct input_dev *input_dev = NULL; ++ struct usb_endpoint_descriptor *endpoint; ++ struct usb_device *udev = interface_to_usbdev(intf); ++ ++ int err = 0; ++ ++ endpoint = dwav_usb_mt_get_input_endpoint(intf->cur_altsetting); ++ if (!endpoint) ++ return -ENXIO; ++ ++ dwav_usb_mt = kzalloc(sizeof(struct dwav_usb_mt), GFP_KERNEL); ++ if (!dwav_usb_mt) ++ return -ENOMEM; ++ ++ dwav_usb_mt->dev_id = id->driver_info; ++ ++ dwav_usb_mt->finger = kzalloc(sizeof(struct finger_t) * ++ DEV_INFO[dwav_usb_mt->dev_id].max_finger, ++ GFP_KERNEL); ++ ++ if (!dwav_usb_mt->finger) ++ goto err_free_mem; ++ ++ input_dev = input_allocate_device(); ++ if (!input_dev) ++ goto err_free_mem; ++ ++ dwav_usb_mt->data_size = sizeof(struct dwav_raw); ++ dwav_usb_mt->data = usb_alloc_coherent(udev, dwav_usb_mt->data_size, ++ GFP_KERNEL, &dwav_usb_mt->data_dma); ++ if (!dwav_usb_mt->data) ++ goto err_free_mem; ++ ++ dwav_usb_mt->irq = usb_alloc_urb(0, GFP_KERNEL); ++ if (!dwav_usb_mt->irq) { ++ dev_dbg(&intf->dev, ++ "%s - usb_alloc_urb failed: usbtouch->irq\n", ++ __func__); ++ goto err_free_buffers; ++ } ++ ++ if (usb_endpoint_type(endpoint) == USB_ENDPOINT_XFER_INT) { ++ usb_fill_int_urb(dwav_usb_mt->irq, udev, ++ usb_rcvintpipe(udev, endpoint->bEndpointAddress), ++ dwav_usb_mt->data, dwav_usb_mt->data_size, ++ dwav_usb_mt_irq, dwav_usb_mt, endpoint->bInterval); ++ } else { ++ usb_fill_bulk_urb(dwav_usb_mt->irq, udev, ++ usb_rcvbulkpipe(udev, endpoint->bEndpointAddress), ++ dwav_usb_mt->data, dwav_usb_mt->data_size, ++ dwav_usb_mt_irq, dwav_usb_mt); ++ } ++ ++ dwav_usb_mt->irq->dev = udev; ++ dwav_usb_mt->irq->transfer_dma = dwav_usb_mt->data_dma; ++ dwav_usb_mt->irq->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; ++ ++ dwav_usb_mt->interface = intf; ++ ++ if (udev->manufacturer) ++ strlcpy(dwav_usb_mt->name, ++ udev->manufacturer, sizeof(dwav_usb_mt->name)); ++ ++ if (udev->product) { ++ if (udev->manufacturer) ++ strlcat(dwav_usb_mt->name, ++ " ", sizeof(dwav_usb_mt->name)); ++ ++ strlcat(dwav_usb_mt->name, ++ udev->product, sizeof(dwav_usb_mt->name)); ++ } ++ ++ if (!strlen(dwav_usb_mt->name)) { ++ snprintf(dwav_usb_mt->name, sizeof(dwav_usb_mt->name), ++ "D-WAV Scientific MultiTouch %04x:%04x", ++ le16_to_cpu(udev->descriptor.idVendor), ++ le16_to_cpu(udev->descriptor.idProduct)); ++ } ++ ++ usb_make_path(udev, dwav_usb_mt->phys, sizeof(dwav_usb_mt->phys)); ++ strlcat(dwav_usb_mt->phys, "/input0", sizeof(dwav_usb_mt->phys)); ++ ++ usb_to_input_id(udev, &input_dev->id); ++ ++ input_dev->dev.parent = &intf->dev; ++ ++ err = dwav_usb_mt_init(dwav_usb_mt, (void *)input_dev); ++ if (err) ++ goto err_free_urb; ++ ++ usb_set_intfdata(intf, dwav_usb_mt); ++ ++ dev_info(&intf->dev, "%s\n", DEV_INFO[dwav_usb_mt->dev_id].name); ++ ++ return 0; ++ ++err_free_urb: ++ usb_free_urb(dwav_usb_mt->irq); ++ ++err_free_buffers: ++ dwav_usb_mt_free_buffers(udev, dwav_usb_mt); ++ ++err_free_mem: ++ if (input_dev) ++ input_free_device(input_dev); ++ kfree(dwav_usb_mt); ++ ++ return err; ++} ++ ++/*-------------------------------------------------------------------------*/ ++static void dwav_usb_mt_disconnect(struct usb_interface *intf) ++{ ++ struct dwav_usb_mt *dwav_usb_mt = usb_get_intfdata(intf); ++ ++ if (!dwav_usb_mt) ++ return; ++ ++ dev_dbg(&intf->dev, ++ "%s - dwav_usb_mt is initialized, cleaning up\n", ++ __func__); ++ ++ usb_set_intfdata(intf, NULL); ++ ++ /* this will stop IO via close */ ++ input_unregister_device(dwav_usb_mt->input); ++ ++ usb_free_urb(dwav_usb_mt->irq); ++ ++ dwav_usb_mt_free_buffers(interface_to_usbdev(intf), dwav_usb_mt); ++ ++ kfree(dwav_usb_mt); ++} ++ ++/*-------------------------------------------------------------------------*/ ++MODULE_DEVICE_TABLE(usb, dwav_usb_mt_devices); ++ ++static struct usb_driver dwav_usb_mt_driver = { ++ .name = "dwav_usb_mt", ++ .probe = dwav_usb_mt_probe, ++ .disconnect = dwav_usb_mt_disconnect, ++ .suspend = dwav_usb_mt_suspend, ++ .resume = dwav_usb_mt_resume, ++ .reset_resume = dwav_usb_mt_reset_resume, ++ .id_table = dwav_usb_mt_devices, ++ .supports_autosuspend = 1, ++}; ++ ++module_usb_driver(dwav_usb_mt_driver); ++ ++/*-------------------------------------------------------------------------*/ ++MODULE_AUTHOR("Hardkernel Co.,Ltd"); ++MODULE_DESCRIPTION("D-WAV USB(HID) MultiTouch Driver"); ++MODULE_LICENSE("GPL"); ++ ++MODULE_ALIAS("dwav_usb_mt"); ++/*-------------------------------------------------------------------------*/ +diff -urN a/drivers/input/touchscreen/sx865x.c b/drivers/input/touchscreen/sx865x.c +--- a/drivers/input/touchscreen/sx865x.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/drivers/input/touchscreen/sx865x.c 2018-05-06 10:03:40.553940699 +0200 +@@ -0,0 +1,584 @@ ++/* ++ * drivers/input/touchscreen/sx865x.c ++ * ++ * Copyright (c) 2013 U-MoBo Srl ++ * Pierluigi Passaro ++ * ++ * Using code from: ++ * - sx8650.c ++ * Copyright (c) 2009 Wayne Roberts ++ * - tsc2007.c ++ * Copyright (c) 2008 Kwangwoo Lee ++ * - ads7846.c ++ * Copyright (c) 2005 David Brownell ++ * Copyright (c) 2006 Nokia Corporation ++ * - corgi_ts.c ++ * Copyright (C) 2004-2005 Richard Purdie ++ * - omap_ts.[hc], ads7846.h, ts_osk.c ++ * Copyright (C) 2002 MontaVista Software ++ * Copyright (C) 2004 Texas Instruments ++ * Copyright (C) 2005 Dirk Behme ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++ ++#include ++#include ++ ++#define AMLGPIO_IRQ_BASE 96 ++ ++#endif ++ ++/* timeout expires after pen is lifted, no more PENIRQs comming */ ++/* adjust with POWDLY setting */ ++#define TS_TIMEOUT (8 * 1000000) ++ ++/* analog channels */ ++#define CH_X 0 ++#define CH_Y 1 ++#define CH_Z1 2 ++#define CH_Z2 3 ++#define CH_AUX 4 ++#define CH_RX 5 ++#define CH_RY 6 ++#define CH_SEQ 7 ++ ++/* commands */ ++#define SX865X_WRITE_REGISTER 0x00 ++#define SX865X_READ_REGISTER 0x40 ++#define SX865X_SELECT_CH(ch) (0x80 | ch) ++#define SX865X_CONVERT_CH(ch) (0x90 | ch) ++#define SX865X_POWDWN 0xb0 /* power down, ignore pen */ ++#define SX865X_PENDET 0xc0 /* " " with pen sensitivity */ ++#define SX865X_PENTRG 0xe0 /* " " " " and sample channels */ ++ ++/* register addresses */ ++#define I2C_REG_CTRL0 0x00 ++#define I2C_REG_CTRL1 0x01 ++#define I2C_REG_CTRL2 0x02 ++#define I2C_REG_CTRL3 0x03 ++#define I2C_REG_CHANMASK 0x04 ++#define I2C_REG_STAT 0x05 ++#define I2C_REG_SOFTRESET 0x1f ++ ++#define I2C_EXTENDED_REG_STAT 0x24 ++#define I2C_EXTENDED_REG_SOFTRESET 0x3f ++ ++#define SOFTRESET_VALUE 0xde ++ ++/* bits for I2C_REG_STAT */ ++/* I2C_REG_STAT: end of conversion flag */ ++#define STATUS_CONVIRQ 0x80 ++/* I2C_REG_STAT: pen detected */ ++#define STATUS_PENIRQ 0x40 ++ ++/* bits for I2C_EXTENDED_REG_STAT */ ++/* I2C_EXTENDED_REG_STAT: end of conversion flag */ ++#define EXTENDED_STATUS_CONVIRQ 0x08 ++/* I2C_EXTENDED_REG_STAT: pen detected */ ++#define EXTENDED_STATUS_PENIRQ 0x04 ++ ++/* sx865x bits for RegCtrl1 */ ++#define CONDIRQ 0x20 ++/* no averaging */ ++#define FILT_NONE 0x00 ++/* 3 sample averaging */ ++#define FILT_3SA 0x01 ++/* 5 sample averaging */ ++#define FILT_5SA 0x02 ++/* 7 samples, sort, then average of 3 middle samples */ ++#define FILT_7SA 0x03 ++ ++/* bits for register 2, I2CRegChanMsk */ ++#define CONV_X 0x80 ++#define CONV_Y 0x40 ++#define CONV_Z1 0x20 ++#define CONV_Z2 0x10 ++#define CONV_AUX 0x08 ++#define CONV_RX 0x04 ++#define CONV_RY 0x02 ++ ++/* power delay: lower nibble of CTRL0 register */ ++#define POWDLY_IMMEDIATE 0x00 ++#define POWDLY_1_1US 0x01 ++#define POWDLY_2_2US 0x02 ++#define POWDLY_4_4US 0x03 ++#define POWDLY_8_9US 0x04 ++#define POWDLY_17_8US 0x05 ++#define POWDLY_35_5US 0x06 ++#define POWDLY_71US 0x07 ++#define POWDLY_140US 0x08 ++#define POWDLY_280US 0x09 ++#define POWDLY_570US 0x0a ++#define POWDLY_1_1MS 0x0b ++#define POWDLY_2_3MS 0x0c ++#define POWDLY_4_6MS 0x0d ++#define POWDLY_9MS 0x0e ++#define POWDLY_18MS 0x0f ++ ++#define MAX_12BIT ((1 << 12) - 1) ++ ++/* when changing the channel mask, also change the read length appropriately */ ++#define CHAN_MASK (CONV_X | CONV_Y | CONV_Z1 | CONV_RX | CONV_RY) ++#define NUM_CHANNELS_SEQ 5 ++#define CHAN_READ_LENGTH (NUM_CHANNELS_SEQ * 2) ++ ++#define SX_MULTITOUCH 0x01 ++#define SX_PROXIMITY_SENSING 0x02 ++#define SX_HAPTICS_GENERIC 0x04 ++#define SX_HAPTICS_IMMERSION 0x08 ++#define SX_EXTENDED_REGS (SX_PROXIMITY_SENSING | SX_HAPTICS_GENERIC | SX_HAPTICS_IMMERSION) ++ ++#define SX865X_UP_SCANTIME_MS (100) ++#define SX865X_DOWN_SCANTIME_MS (20) ++ ++struct ts_event { ++ u16 x, y; ++ u16 z1; ++ u16 rx, ry; ++}; ++ ++struct sx865x { ++ struct input_dev *input; ++ struct ts_event tc; ++ ++ struct i2c_client *client; ++ ++ u32 invert_x; ++ u32 invert_y; ++ u32 swap_xy; ++ u32 gpio_pendown; ++ u32 gpio_reset; ++ ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++ int irq_bank; ++#endif ++ unsigned pendown; ++ int irq; ++}; ++ ++static struct i2c_device_id sx865x_idtable[] = { ++ { "sx8650", 0 }, ++ { } ++}; ++ ++MODULE_DEVICE_TABLE(i2c, sx865x_idtable); ++ ++static const struct of_device_id sx865x_of_match[] = { ++ { .compatible = "semtech,sx8650", .data = (void *)0 }, ++ {} ++}; ++ ++MODULE_DEVICE_TABLE(of, sx865x_of_match); ++ ++static void sx865x_send_event(struct sx865x *ts) ++{ ++ u32 rt; ++ u16 x, y, z1; ++ ++ x = ts->tc.x; ++ y = ts->tc.y; ++ z1 = ts->tc.z1; ++ ++ /* range filtering */ ++ if (y == MAX_12BIT) ++ y = 0; ++ ++ /* compute touch pressure resistance */ ++ if (likely(y && z1)) ++ rt = z1; ++ else ++ rt = 0; ++ ++ /* Sample found inconsistent by debouncing or pressure is beyond ++ * the maximum. Don't report it to user space, repeat at least ++ * once more the measurement ++ */ ++ if (rt > MAX_12BIT) { ++ dev_dbg(&ts->client->dev, "ignored pressure %d\n", rt); ++ return; ++ } ++ ++ /* NOTE: We can't rely on the pressure to determine the pen down ++ * state, even this controller has a pressure sensor. The pressure ++ * value can fluctuate for quite a while after lifting the pen and ++ * in some cases may not even settle at the expected value. ++ * ++ * The only safe way to check for the pen up condition is in the ++ * timer by reading the pen signal state (it's a GPIO _and_ IRQ). ++ */ ++ if (rt) { ++ struct input_dev *input = ts->input; ++ ++ if (ts->invert_x) x = (~x) & MAX_12BIT; ++ ++ if (ts->invert_y) y = (~y) & MAX_12BIT; ++ ++ if (ts->swap_xy) swap(x, y); ++ ++ if (!ts->pendown) { ++ dev_dbg(&ts->client->dev, "DOWN\n"); ++ ts->pendown = 1; ++ input_report_key(input, BTN_TOUCH, 1); ++ } ++ ++ input_report_abs(input, ABS_X, x); ++ input_report_abs(input, ABS_Y, y); ++ input_report_abs(input, ABS_PRESSURE, rt); ++ input_sync(input); ++ ++ dev_dbg(&ts->client->dev, "point(%4d,%4d), pressure (%4u)\n", ++ x, y, rt); ++ } ++} ++ ++static int sx865x_read_values(struct sx865x *ts) ++{ ++ s32 data; ++ u16 vals[NUM_CHANNELS_SEQ+1]; /* +1 for last dummy read */ ++ int length; ++ int i; ++ ++ memset(&(ts->tc), 0, sizeof(ts->tc)); ++ /* The protocol and raw data format from i2c interface: ++ * S Addr R A [DataLow] A [DataHigh] A (repeat) NA P ++ * Where DataLow has (channel | [D11-D8]), DataHigh has [D7-D0]. ++ */ ++ length = i2c_master_recv(ts->client, (char *)vals, CHAN_READ_LENGTH); ++ ++ if (likely(length == CHAN_READ_LENGTH)) { ++ length >>= 1; ++ for (i = 0; i < length; i++) { ++ u16 ch; ++ data = swab16(vals[i]); ++ if (unlikely(data & 0x8000)) { ++ dev_dbg(&ts->client->dev, ++ "hibit @ %d [0x%04x]\n", i, data); ++ continue; ++ } ++ ch = data >> 12; ++ if (ch == CH_X) { ++ ts->tc.x = data & 0xfff; ++ } else if (ch == CH_Y) { ++ ts->tc.y = data & 0xfff; ++ } else if (ch == CH_Z1) { ++ ts->tc.z1 = data & 0xfff; ++ } else if (ch == CH_RX) { ++ ts->tc.rx = data & 0xfff; ++ } else if (ch == CH_RY) { ++ ts->tc.ry = data & 0xfff; ++ } else { ++ dev_err(&ts->client->dev, "? CH%d %x\n", ++ ch, data & 0xfff); ++ } ++ } ++ } else { ++ dev_err(&ts->client->dev, "%d = recv()\n", length); ++ } ++ ++ dev_dbg(&ts->client->dev, "X:%03x Y:%03x Z1:%03x RX:%03x RY:%03x\n", ++ ts->tc.x, ts->tc.y, ts->tc.z1, ts->tc.rx, ts->tc.ry); ++ ++ return !ts->tc.z1; /* return 0 only if pressure not 0 */ ++} ++ ++static void sx865x_pen_up(struct sx865x *ts) ++{ ++ struct input_dev *input = ts->input; ++ ++ /* This timer expires after PENIRQs havent been coming in for some time. ++ * It means that the pen is now UP. */ ++ input_report_key(input, BTN_TOUCH, 0); ++ input_report_abs(input, ABS_PRESSURE, 0); ++ input_sync(input); ++ ++ ts->pendown = 0; ++ dev_dbg(&ts->client->dev, "UP\n"); ++} ++ ++static int sx865x_data_available(struct sx865x *ts) ++{ ++ u8 status; ++ ++ status = i2c_smbus_read_byte_data(ts->client, ++ (SX865X_READ_REGISTER | I2C_REG_STAT)); ++ return status & STATUS_CONVIRQ; ++} ++ ++static int get_pendown_status(struct sx865x *ts) ++{ ++ return gpio_get_value(ts->gpio_pendown) ? 0 : 1; ++} ++ ++static irqreturn_t sx865x_hw_irq(int irq, void *handle) ++{ ++ struct sx865x *ts = handle; ++ ++ return get_pendown_status(ts) ? IRQ_WAKE_THREAD : IRQ_HANDLED; ++} ++ ++static irqreturn_t sx865x_irq(int irq, void *handle) ++{ ++ struct sx865x *ts = handle; ++ ++ while (sx865x_data_available(ts)) { ++ /* valid data was read in */ ++ if (likely(sx865x_read_values(ts) == 0)) ++ sx865x_send_event(ts); ++ else ++ dev_dbg(&ts->client->dev, "data error!\n"); ++ ++ msleep(SX865X_DOWN_SCANTIME_MS); ++ } ++ ++ if (ts->pendown) ++ sx865x_pen_up(ts); ++ ++ return IRQ_HANDLED; ++} ++ ++static void sx865x_hw_reset(struct sx865x *ts) ++{ ++ gpio_direction_output(ts->gpio_reset, 0); ++ udelay(1000); ++ gpio_direction_output(ts->gpio_reset, 1); ++ udelay(1000); ++} ++ ++static int sx865x_dt_probe(struct i2c_client *client, struct sx865x *ts) ++{ ++ struct device_node *node = client->dev.of_node; ++ const struct of_device_id *match; ++ ++ if (!node) { ++ dev_err(&client->dev, ++ "Device dost not have associated DT data\n"); ++ return -EINVAL; ++ } ++ ++ match = of_match_device(sx865x_of_match, &client->dev); ++ if (!match) { ++ dev_err(&client->dev, ++ "Unknown device model\n"); ++ return -EINVAL; ++ } ++ ++ of_property_read_u32(node, "swap-xy", &ts->swap_xy); ++ of_property_read_u32(node, "invert-x", &ts->invert_x); ++ of_property_read_u32(node, "invert-y", &ts->invert_y); ++ ++ ts->gpio_pendown = of_get_named_gpio(node, "gpio-pendown", 0); ++ ts->gpio_reset = of_get_named_gpio(node, "gpio-reset", 0); ++ ++ if (gpio_request(ts->gpio_pendown, "ts-pendown")) ++ dev_err(&client->dev, ++ "gpio request fail (%d)!\n", ts->gpio_pendown); ++ else ++ gpio_direction_input(ts->gpio_pendown); ++ ++ if (gpio_request(ts->gpio_reset, "ts-reset")) ++ dev_err(&client->dev, ++ "gpio request fail (%d)!\n", ts->gpio_reset); ++ else ++ sx865x_hw_reset(ts); ++ ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++ /* irq setup */ ++ ts->irq_bank = meson_fix_irqbank(ts->irq_bank); ++ if (ts->irq_bank < 0) { ++ dev_err(&client->dev, ++ "Could not find irq bank!\n"); ++ return -EINVAL; ++ } ++ ++ { ++ int ret; ++ /* AMLogic gpio irq setup */ ++ ret = gpio_for_irq(ts->gpio_pendown, ++ AML_GPIO_IRQ(ts->irq_bank, FILTER_NUM7, GPIO_IRQ_FALLING)); ++ ++ if (ret) { ++ dev_err(&client->dev, ++ "AML_GPIO_IRQ setup fail!\n"); ++ return -EINVAL; ++ } ++ /* Amlogic gpio based irq setup */ ++ ts->irq = AMLGPIO_IRQ_BASE + ts->irq_bank; ++ } ++#else ++ ts->irq = gpio_to_irq(ts->gpio_pendown); ++ if (ts->irq < 0) ++ return -EINVAL; ++#endif ++ ++ /* platform data info display */ ++ dev_info(&client->dev, "swap_xy (%d)\n", ts->swap_xy); ++ dev_info(&client->dev, "invert_x (%d)\n", ts->invert_x); ++ dev_info(&client->dev, "invert_y (%d)\n", ts->invert_y); ++ dev_info(&client->dev, "gpio pendown (%d)\n", ts->gpio_pendown); ++ dev_info(&client->dev, "gpio reset (%d)\n", ts->gpio_reset); ++ dev_info(&client->dev, "gpio irq (%d)\n", ts->irq); ++ ++ return 0; ++} ++ ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++static void sx865x_irq_free(struct i2c_client *client, struct sx865x *ts) ++{ ++ int irq_banks[2]; ++ ++ meson_free_irq(gpio_to_irq(ts->gpio_pendown), &irq_banks[0]); ++ ++ /* rising irq bank */ ++ if (irq_banks[0] != -1) ++ free_irq(irq_banks[0] + AMLGPIO_IRQ_BASE, ts); ++ ++ /* falling irq bank */ ++ if (irq_banks[1] != -1) ++ free_irq(irq_banks[1] + AMLGPIO_IRQ_BASE, ts); ++} ++#endif ++ ++static int sx865x_probe(struct i2c_client *client, ++ const struct i2c_device_id *id) ++{ ++ struct sx865x *ts; ++ struct input_dev *input_dev; ++ int err = 0; ++ ++ dev_info(&client->dev, "sx865x_probe()\n"); ++ ++ if (!i2c_check_functionality(client->adapter, ++ I2C_FUNC_SMBUS_READ_WORD_DATA)) ++ return -EIO; ++ ++ ts = devm_kzalloc(&client->dev, sizeof(struct sx865x), GFP_KERNEL); ++ input_dev = devm_input_allocate_device(&client->dev); ++ if (!ts || !input_dev) ++ return -ENOMEM; ++ ++ if (sx865x_dt_probe(client, ts) != 0) ++ return -EIO; ++ ++ i2c_set_clientdata(client, ts); ++ ++ input_dev->name = "SX865X Touchscreen"; ++ input_dev->id.bustype = BUS_I2C; ++ input_dev->dev.parent = &client->dev; ++ input_set_drvdata(input_dev, ts); ++ ++ input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); ++ input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); ++ ++ input_set_abs_params(input_dev, ABS_X, 0, MAX_12BIT, 0, 0); ++ input_set_abs_params(input_dev, ABS_Y, 0, MAX_12BIT, 0, 0); ++ input_set_abs_params(input_dev, ABS_PRESSURE, 0, MAX_12BIT, 0, 0); ++ ++ /* soft reset: SX8650 fails to nak at the end, ignore return value */ ++ i2c_smbus_write_byte_data(client, I2C_REG_SOFTRESET, SOFTRESET_VALUE); ++ ++ /* set mask to convert X, Y, Z1, RX, RY for CH_SEQ */ ++ err = i2c_smbus_write_byte_data(client, I2C_REG_CHANMASK, CHAN_MASK); ++ if (err != 0) return -EIO; ++ ++ err = i2c_smbus_write_byte_data(client, I2C_REG_CTRL1, ++ CONDIRQ | FILT_7SA); ++ if (err != 0) return -EIO; ++ ++ /* set POWDLY settling time -- adjust TS_TIMEOUT accordingly */ ++ err = i2c_smbus_write_byte_data(client, I2C_REG_CTRL0, POWDLY_1_1MS); ++ if (err != 0) return -EIO; ++ ++ /* enter pen-trigger mode */ ++ err = i2c_smbus_write_byte(client, SX865X_PENTRG); ++ if (err != 0) return -EIO; ++ ++ err = request_threaded_irq(ts->irq, sx865x_hw_irq, sx865x_irq, ++ IRQF_ONESHOT, ++ client->dev.driver->name, ts); ++ ++ if (err < 0) { ++ dev_err(&client->dev, "irq %d busy?\n", ts->irq); ++ return -EIO; ++ } ++ ++ err = input_register_device(input_dev); ++ if (err) ++ goto err_free_irq; ++ ++ ts->client = client; ++ ts->input = input_dev; ++ ++ dev_info(&client->dev, "probe ok! registered with irq (%d)\n", ts->irq); ++ ++ return 0; ++ ++err_free_irq: ++ if (ts->gpio_pendown) ++ gpio_free(ts->gpio_pendown); ++ if (ts->gpio_reset) ++ gpio_free(ts->gpio_reset); ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++ sx865x_irq_free(client, ts); ++#else ++ if (ts->irq) ++ free_irq(ts->irq, ts); ++#endif ++ return err; ++} ++ ++static int sx865x_remove(struct i2c_client *client) ++{ ++ struct sx865x *ts = i2c_get_clientdata(client); ++ struct sx865x_platform_data *pdata; ++ ++ pdata = client->dev.platform_data; ++ ++ if (ts->gpio_pendown) ++ gpio_free(ts->gpio_pendown); ++ if (ts->gpio_reset) ++ gpio_free(ts->gpio_reset); ++#if defined(CONFIG_ARCH_MESON64_ODROIDC2) ++ sx865x_irq_free(client, ts); ++#else ++ if (ts->irq) ++ free_irq(ts->irq, ts); ++#endif ++ input_unregister_device(ts->input); ++ ++ return 0; ++} ++ ++static struct i2c_driver sx865x_driver = { ++ .driver = { ++ .owner = THIS_MODULE, ++ .name = "sx865x", ++ .of_match_table = of_match_ptr(sx865x_of_match), ++ }, ++ .id_table = sx865x_idtable, ++ .probe = sx865x_probe, ++ .remove = sx865x_remove, ++}; ++ ++module_i2c_driver(sx865x_driver); ++ ++MODULE_AUTHOR("Pierluigi Passaro "); ++MODULE_DESCRIPTION("SX865X TouchScreen Driver"); ++MODULE_LICENSE("GPL"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/116_linux-4.14.y-drm-fb_helper-ump-ioctls.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/116_linux-4.14.y-drm-fb_helper-ump-ioctls.patch new file mode 100644 index 000000000..81a727526 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/116_linux-4.14.y-drm-fb_helper-ump-ioctls.patch @@ -0,0 +1,151 @@ +diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c +index cab14f25..cafc60ea 100644 +--- a/drivers/gpu/drm/drm_fb_helper.c ++++ b/drivers/gpu/drm/drm_fb_helper.c +@@ -1544,6 +1544,14 @@ int drm_fb_helper_ioctl(struct fb_info *info, unsigned int cmd, + + ret = 0; + goto unlock; ++#if defined(CONFIG_UMP) ++ case GET_UMP_SECURE_ID_BUF1: ++ ret = drm_get_ump_secure_id(info, fb_helper, arg, 0); ++ goto unlock; ++ case GET_UMP_SECURE_ID_BUF2: ++ ret = drm_get_ump_secure_id(info, fb_helper, arg, 1); ++ goto unlock; ++#endif + default: + ret = -ENOTTY; + } +diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile +index 8ce07039b..fdf946be3 100644 +--- a/drivers/gpu/drm/Makefile ++++ b/drivers/gpu/drm/Makefile +@@ -44,6 +44,7 @@ drm_kms_helper-$(CONFIG_DRM_DP_AUX_CHARDEV) += drm_dp_aux_dev.o + + obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o + obj-$(CONFIG_DRM_DEBUG_MM_SELFTEST) += selftests/ ++obj-$(CONFIG_UMP) += drm_fb_ump.o + + CFLAGS_drm_trace_points.o := -I$(src) + +diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h +index b069433e..95657b76 100644 +--- a/include/drm/drm_fb_helper.h ++++ b/include/drm/drm_fb_helper.h +@@ -36,6 +36,10 @@ struct drm_fb_helper; + #include + #include + ++#if defined(CONFIG_UMP) ++#include ++#endif ++ + enum mode_set_atomic { + LEAVE_ATOMIC_MODE_SET, + ENTER_ATOMIC_MODE_SET, +@@ -131,6 +135,8 @@ struct drm_fb_helper_connector { + struct drm_connector *connector; + }; + ++#define DRM_FB_UMP_COUNT 1 /* only enable one FB UMP layer */ ++ + /** + * struct drm_fb_helper - main structure to emulate fbdev on top of KMS + * @fb: Scanout framebuffer object +@@ -232,6 +238,9 @@ struct drm_fb_helper { + * See also: @deferred_setup + */ + int preferred_bpp; ++#if defined(CONFIG_UMP) ++ ump_dd_handle ump_wrapped_buffer[DRM_FB_UMP_COUNT][2]; ++#endif + }; + + /** +@@ -577,4 +586,11 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, + #endif + } + ++#if defined(CONFIG_UMP) ++extern int (*drm_get_ump_secure_id) (struct fb_info *info, ++ struct drm_fb_helper *g_fbi, unsigned long arg, int buf); ++#define GET_UMP_SECURE_ID_BUF1 _IOWR('m', 311, unsigned int) ++#define GET_UMP_SECURE_ID_BUF2 _IOWR('m', 312, unsigned int) ++#endif ++ + #endif +--- /dev/null 2018-07-12 16:39:19.544000000 +0200 ++++ b/drivers/gpu/drm/drm_fb_ump.c 2018-07-22 22:20:45.166145058 +0200 +@@ -0,0 +1,71 @@ ++/* ++ * Copyright (C) 2016 Hardkernel Co. Ltd. ++ * ++ * 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., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include ++ ++#include ++#include ++#include ++#include ++#include ++ ++int (*drm_get_ump_secure_id) (struct fb_info *info, ++ struct drm_fb_helper *g_fbi, unsigned long arg, int buf); ++EXPORT_SYMBOL(drm_get_ump_secure_id); ++ ++static int _drm_get_ump_secure_id(struct fb_info *info, ++ struct drm_fb_helper *g_fbi, unsigned long arg, int buf) ++{ ++ u32 __user *psecureid = (u32 __user *) arg; ++ ump_secure_id secure_id; ++ ++ if (!g_fbi->ump_wrapped_buffer[info->node][buf]) { ++ ump_dd_physical_block ump_memory_description; ++ printk("ump: create disp: %d\n", buf); ++ ++ ump_memory_description.addr = info->fix.smem_start; ++ ump_memory_description.size = info->fix.smem_len; ++ g_fbi->ump_wrapped_buffer[info->node][buf] = ++ ump_dd_handle_create_from_phys_blocks( ++ &ump_memory_description, 1); ++ } ++ secure_id = ump_dd_secure_id_get( ++ g_fbi->ump_wrapped_buffer[info->node][buf]); ++ ++ return put_user((unsigned int)secure_id, psecureid); ++} ++ ++static int __init drm_ump_module_init(void) ++{ ++ int ret = 0; ++ drm_get_ump_secure_id = _drm_get_ump_secure_id; ++ return ret; ++} ++ ++static void __exit drm_ump_module_exit(void) ++{ ++ drm_get_ump_secure_id = NULL; ++} ++ ++module_init(drm_ump_module_init); ++module_exit(drm_ump_module_exit); ++ ++MODULE_AUTHOR("Mauro Ribeiro "); ++MODULE_DESCRIPTION("UMP Glue for DRM Framebuffer"); ++MODULE_LICENSE("GPL"); diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/117_arm64_increasing_DMA_block_memory_allocation_to_2048.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/117_arm64_increasing_DMA_block_memory_allocation_to_2048.patch new file mode 100644 index 000000000..a848ed52e --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/117_arm64_increasing_DMA_block_memory_allocation_to_2048.patch @@ -0,0 +1,13 @@ +diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c +index 614af886b7ef..632d32109755 100644 +--- a/arch/arm64/mm/dma-mapping.c ++++ b/arch/arm64/mm/dma-mapping.c +@@ -44,7 +44,7 @@ static pgprot_t __get_dma_pgprot(unsigned long attrs, pgprot_t prot, + + static struct gen_pool *atomic_pool __ro_after_init; + +-#define DEFAULT_DMA_COHERENT_POOL_SIZE SZ_256K ++#define DEFAULT_DMA_COHERENT_POOL_SIZE SZ_2M + static size_t atomic_pool_size __initdata = DEFAULT_DMA_COHERENT_POOL_SIZE; + + static int __init early_coherent_pool(char *p) diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/118_arm64-set-default-target-to-Image.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/118_arm64-set-default-target-to-Image.patch new file mode 100644 index 000000000..51bf570c2 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/118_arm64-set-default-target-to-Image.patch @@ -0,0 +1,13 @@ +diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile +index f839ecd9..cd276162 100644 +--- a/arch/arm64/Makefile ++++ b/arch/arm64/Makefile +@@ -103,7 +103,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a + + # Default target when executing plain make + boot := arch/arm64/boot +-KBUILD_IMAGE := $(boot)/Image.gz ++KBUILD_IMAGE := $(boot)/Image + KBUILD_DTBS := dtbs + + all: Image.gz $(KBUILD_DTBS) diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/119_odroidc2-enable-scpi-dvfs.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/119_odroidc2-enable-scpi-dvfs.patch new file mode 100644 index 000000000..dbe1e637f --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/119_odroidc2-enable-scpi-dvfs.patch @@ -0,0 +1,14 @@ +diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +index d147c853a..dbde670ba 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts +@@ -246,7 +246,8 @@ + }; + + &scpi_clocks { +- status = "disabled"; ++ /* Works only with new blobs that have limited DVFS table */ ++ status = "okay"; + }; + + /* SD */ diff --git a/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/120_odroidc2-enable-scpi-cpu-thermal.patch b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/120_odroidc2-enable-scpi-cpu-thermal.patch new file mode 100644 index 000000000..e05b711aa --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-c2/patches/linux/aside/120_odroidc2-enable-scpi-cpu-thermal.patch @@ -0,0 +1,63 @@ +--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-04-29 05:46:55.636313674 +0200 ++++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2018-04-29 00:07:14.412005049 +0200 +@@ -46,6 +46,7 @@ + + #include "meson-gxbb.dtsi" + #include ++#include + + / { + compatible = "hardkernel,odroid-c2", "amlogic,meson-gxbb"; +@@ -117,6 +118,41 @@ + 1800000 1>; + }; + ++ thermal-zones { ++ cpu-thermal { ++ polling-delay-passive = <250>; /* milliseconds */ ++ polling-delay = <1000>; /* milliseconds */ ++ ++ thermal-sensors = <&scpi_sensors 0>; ++ ++ trips { ++ cpu_alert0: cpu-alert0 { ++ temperature = <70000>; ++ hysteresis = <2000>; ++ type = "passive"; ++ }; ++ cpu_alert1: cpu-alert1 { ++ temperature = <85000>; ++ hysteresis = <2000>; ++ type = "passive"; ++ }; ++ cpu_crit: cpu_crit { ++ temperature = <95000>; ++ hysteresis = <2000>; ++ type = "critical"; ++ }; ++ }; ++ ++ cooling-maps { ++ map0 { ++ trip = <&cpu_alert1>; ++ cooling-device = ++ <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ }; ++ }; ++ }; ++ + vcc1v8: regulator-vcc1v8 { + compatible = "regulator-fixed"; + regulator-name = "VCC1V8"; +@@ -192,6 +228,10 @@ + status = "okay"; + }; + ++&cpu0 { ++ #cooling-cells = <2>; ++}; ++ + ðmac { + status = "okay"; + pinctrl-0 = <ð_rgmii_pins>; diff --git a/buildroot-external/board/hardkernel/odroid-c2/uboot-boot.sh b/buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush similarity index 100% rename from buildroot-external/board/hardkernel/odroid-c2/uboot-boot.sh rename to buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush diff --git a/buildroot-external/board/ova/hassos-hook.sh b/buildroot-external/board/ova/hassos-hook.sh index d153690ce..71a7f890c 100755 --- a/buildroot-external/board/ova/hassos-hook.sh +++ b/buildroot-external/board/ova/hassos-hook.sh @@ -1,20 +1,24 @@ #!/bin/bash +# shellcheck disable=SC2155 function hassos_pre_image() { local BOOT_DATA="$(path_boot_dir)" - mkdir -p ${BOOT_DATA}/EFI/BOOT - mkdir -p ${BOOT_DATA}/EFI/barebox + mkdir -p "${BOOT_DATA}/EFI/BOOT" + mkdir -p "${BOOT_DATA}/EFI/barebox" - cp ${BINARIES_DIR}/barebox.bin ${BOOT_DATA}/EFI/BOOT/BOOTx64.EFI - cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/barebox-state-efi.dtb ${BOOT_DATA}/EFI/barebox/state.dtb + cp "${BINARIES_DIR}/barebox.bin" "${BOOT_DATA}/EFI/BOOT/BOOTx64.EFI" + cp "${BR2_EXTERNAL_HASSOS_PATH}/misc/barebox-state-efi.dtb" "${BOOT_DATA}/EFI/barebox/state.dtb" - echo "console=tty1" > ${BOOT_DATA}/cmdline.txt + echo "console=tty1" > "${BOOT_DATA}/cmdline.txt" } function hassos_post_image() { - convert_disk_image_vmdk + convert_disk_image_virtual + convert_disk_image_gz vmdk + convert_disk_image_gz vhdx + convert_disk_image_gz vdi } diff --git a/buildroot-external/board/ova/kernel.config b/buildroot-external/board/ova/kernel.config index 8c2187160..9fe015d94 100644 --- a/buildroot-external/board/ova/kernel.config +++ b/buildroot-external/board/ova/kernel.config @@ -7,4 +7,17 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_INPUT=m CONFIG_VIRTIO_BLK=m +CONFIG_SCSI_LOWLEVEL=y CONFIG_USB_XHCI_HCD=y + +CONFIG_PARAVIRT=y +CONFIG_XEN=y + +CONFIG_HYPERVISOR_GUEST=y +CONFIG_HYPERV=y +CONFIG_HYPERV_UTILS=m +CONFIG_HYPERV_BALLOON=m +CONFIG_HYPERV_KEYBOARD=m +CONFIG_HYPERV_STORAGE=y +CONFIG_HYPERV_NET=y +CONFIG_FB_HYPERV=y diff --git a/buildroot-external/board/raspberrypi/hassos-hook.sh b/buildroot-external/board/raspberrypi/hassos-hook.sh index 246bc9437..0db52a27f 100755 --- a/buildroot-external/board/raspberrypi/hassos-hook.sh +++ b/buildroot-external/board/raspberrypi/hassos-hook.sh @@ -1,25 +1,26 @@ #!/bin/bash +# shellcheck disable=SC2155 function hassos_pre_image() { local BOOT_DATA="$(path_boot_dir)" - cp -t ${BOOT_DATA} \ - ${BINARIES_DIR}/u-boot.bin \ - ${BINARIES_DIR}/boot.scr - cp -t ${BOOT_DATA} \ - ${BINARIES_DIR}/*.dtb \ - ${BINARIES_DIR}/rpi-firmware/bootcode.bin \ - ${BINARIES_DIR}/rpi-firmware/fixup.dat \ - ${BINARIES_DIR}/rpi-firmware/start.elf - cp -r ${BINARIES_DIR}/rpi-firmware/overlays ${BOOT_DATA}/ - cp -f ${BOARD_DIR}/../boot-env.txt ${BOOT_DATA}/config.txt + cp -t "${BOOT_DATA}" \ + "${BINARIES_DIR}/u-boot.bin" \ + "${BINARIES_DIR}/boot.scr" + cp -t "${BOOT_DATA}" \ + "${BINARIES_DIR}"/*.dtb \ + "${BINARIES_DIR}/rpi-firmware/bootcode.bin" \ + "${BINARIES_DIR}/rpi-firmware/fixup.dat" \ + "${BINARIES_DIR}/rpi-firmware/start.elf" + cp -r "${BINARIES_DIR}/rpi-firmware/overlays" "${BOOT_DATA}/" + cp -f "${BOARD_DIR}/../boot-env.txt" "${BOOT_DATA}/config.txt" # Set cmd options - echo "dwc_otg.lpm_enable=0 console=tty1" > ${BOOT_DATA}/cmdline.txt + echo "dwc_otg.lpm_enable=0 console=tty1" > "${BOOT_DATA}/cmdline.txt" # Enable 64bit support if [ "${BOARD_ID}" == "rpi3-64" ]; then - echo "arm_64bit=1" >> ${BOOT_DATA}/config.txt + echo "arm_64bit=1" >> "${BOOT_DATA}/config.txt" fi } diff --git a/buildroot-external/board/raspberrypi/rpi3-64/uboot-boot.sh b/buildroot-external/board/raspberrypi/rpi3-64/uboot-boot.ush similarity index 100% rename from buildroot-external/board/raspberrypi/rpi3-64/uboot-boot.sh rename to buildroot-external/board/raspberrypi/rpi3-64/uboot-boot.ush diff --git a/buildroot-external/board/raspberrypi/uboot-boot.sh b/buildroot-external/board/raspberrypi/uboot-boot.ush similarity index 100% rename from buildroot-external/board/raspberrypi/uboot-boot.sh rename to buildroot-external/board/raspberrypi/uboot-boot.ush diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 4212056cd..8622dde17 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -4,7 +4,7 @@ BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/patches" BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_KERNEL_HEADERS_4_14=y +BR2_KERNEL_HEADERS_4_18=y BR2_GCC_VERSION_7_X=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="hassio" @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.67" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.20" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos-4_14.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config" @@ -74,7 +74,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-c2" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/uboot-boot.sh" +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/uboot-boot.ush" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y @@ -82,12 +82,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="127" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="140" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/odroid-c2-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/aarch64-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="6" +BR2_PACKAGE_HASSOS_CLI_VERSION="7" BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index af462a638..27b956ef7 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -77,12 +77,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/amd64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="127" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="140" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/qemux86-64-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/amd64-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="6" +BR2_PACKAGE_HASSOS_CLI_VERSION="7" BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index 620655885..04f884ef6 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -77,7 +77,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_0_w" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y @@ -85,12 +85,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="127" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="140" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="6" +BR2_PACKAGE_HASSOS_CLI_VERSION="7" BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 3dfae0a89..24c5833c2 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -76,7 +76,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_2" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y @@ -84,12 +84,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="127" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="140" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi2-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="6" +BR2_PACKAGE_HASSOS_CLI_VERSION="7" BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index 5c7840597..7069b04db 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -77,7 +77,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3-64/uboot-boot.sh" +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3-64/uboot-boot.ush" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y @@ -85,12 +85,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="127" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="140" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-64-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/aarch64-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="6" +BR2_PACKAGE_HASSOS_CLI_VERSION="7" BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 323d63e18..3343a3a5d 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -77,7 +77,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y @@ -85,12 +85,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="127" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="140" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="6" +BR2_PACKAGE_HASSOS_CLI_VERSION="7" BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index 0bbffcbb7..3bd4a16f0 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -76,7 +76,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.sh" +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y @@ -84,12 +84,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="127" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="140" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="6" +BR2_PACKAGE_HASSOS_CLI_VERSION="7" BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 775c77c5d..8b661ff7d 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -81,7 +81,7 @@ BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin" BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/uboot-boot.sh" +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/uboot-boot.ush" BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y @@ -89,12 +89,12 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="127" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="140" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/tinker-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli" -BR2_PACKAGE_HASSOS_CLI_VERSION="6" +BR2_PACKAGE_HASSOS_CLI_VERSION="7" BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" diff --git a/buildroot-external/meta b/buildroot-external/meta index 773ae8c33..8d53c27e6 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,5 +1,5 @@ VERSION_MAJOR=2 -VERSION_BUILD=3 +VERSION_BUILD=4 HASSOS_NAME="HassOS" HASSOS_ID="hassos" diff --git a/buildroot-external/rootfs-overlay/etc/systemd/system/docker.service.d/hassos.conf b/buildroot-external/rootfs-overlay/etc/systemd/system/docker.service.d/hassos.conf index e0fc5ba32..cf12227ea 100644 --- a/buildroot-external/rootfs-overlay/etc/systemd/system/docker.service.d/hassos.conf +++ b/buildroot-external/rootfs-overlay/etc/systemd/system/docker.service.d/hassos.conf @@ -3,4 +3,4 @@ RequiresMountsFor=/etc/docker /var/lib/docker [Service] ExecStart= -ExecStart=/usr/bin/dockerd -H fd:// --storage-driver=overlay2 --log-driver=journald +ExecStart=/usr/bin/dockerd -H fd:// --storage-driver=overlay2 --log-driver=journald --data-root /mnt/data/docker diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-apparmor.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-apparmor.service index 82934470a..9c6a3c5a3 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-apparmor.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-apparmor.service @@ -7,7 +7,7 @@ RequiresMountsFor=/mnt/data [Service] Type=oneshot RemainAfterExit=true -ExecStart=/usr/sbin/hassos-apparmor +ExecStart=/usr/libexec/hassos-apparmor [Install] WantedBy=multi-user.target diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-expand.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-expand.service index cc50a0bf2..07e453bde 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-expand.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-expand.service @@ -7,7 +7,7 @@ RefuseManualStop=true [Service] Type=oneshot -ExecStart=/usr/sbin/hassos-expand +ExecStart=/usr/libexec/hassos-expand RemainAfterExit=true [Install] diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists-journald.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists-journald.service index 0f98b1fae..1a19fa6b0 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists-journald.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists-journald.service @@ -7,7 +7,7 @@ RefuseManualStop=true [Service] Type=oneshot -ExecStart=/usr/sbin/hassos-persists-journald +ExecStart=/usr/libexec/hassos-persists-journald RemainAfterExit=true [Install] diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/rauc-mark.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/rauc-mark.service index 01d62f8c6..1c22ee576 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/rauc-mark.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/rauc-mark.service @@ -5,5 +5,5 @@ RefuseManualStop=true [Service] Type=oneshot -ExecStart=/usr/sbin/hassos-rate +ExecStart=/usr/libexec/hassos-rate RemainAfterExit=true diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-swap.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-swap.service index 93cad3868..8ec712237 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-swap.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-swap.service @@ -7,7 +7,7 @@ RefuseManualStop=true [Service] Type=oneshot -ExecStart=/usr/sbin/hassos-zram -t swap +ExecStart=/usr/libexec/hassos-zram -t swap RemainAfterExit=true StandardOutput=null diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-tmp.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-tmp.service index b4e9d6862..6fb88e68e 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-tmp.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-tmp.service @@ -7,7 +7,7 @@ RefuseManualStop=true [Service] Type=oneshot -ExecStart=/usr/sbin/hassos-zram -t fs -m tmp -s 16M +ExecStart=/usr/libexec/hassos-zram -t fs -m tmp -s 16M RemainAfterExit=true StandardOutput=null diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-var.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-var.service index 410f9b6fd..bb0c1fb2c 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-var.service +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/zram-var.service @@ -7,7 +7,7 @@ RefuseManualStop=true [Service] Type=oneshot -ExecStart=/usr/sbin/hassos-zram -t fs -m var -s 32M +ExecStart=/usr/libexec/hassos-zram -t fs -m var -s 32M RemainAfterExit=true StandardOutput=null diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-apparmor b/buildroot-external/rootfs-overlay/usr/libexec/hassos-apparmor similarity index 62% rename from buildroot-external/rootfs-overlay/usr/sbin/hassos-apparmor rename to buildroot-external/rootfs-overlay/usr/libexec/hassos-apparmor index f36cadb82..aefeeed8e 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-apparmor +++ b/buildroot-external/rootfs-overlay/usr/libexec/hassos-apparmor @@ -15,31 +15,31 @@ CACHE_DIR="${PROFILES_DIR}/cache" REMOVE_DIR="${PROFILES_DIR}/remove" # Check folder structure -mkdir -p ${PROFILES_DIR} -mkdir -p ${CACHE_DIR} -mkdir -p ${REMOVE_DIR} +mkdir -p "${PROFILES_DIR}" +mkdir -p "${CACHE_DIR}" +mkdir -p "${REMOVE_DIR}" # Load/Update exists/new profiles -for profile in ${PROFILES_DIR}/*; do - if [ ! -f ${profile} ]; then +for profile in "${PROFILES_DIR}"/*; do + if [ ! -f "${profile}" ]; then continue fi # Load Profile - if ! apparmor_parser -r -W -L ${CACHE_DIR} ${profile}; then + if ! apparmor_parser -r -W -L "${CACHE_DIR}" "${profile}"; then echo "[Error]: Can't load profile ${profile}" fi done # Cleanup old profiles -for profile in ${REMOVE_DIR}/*; do - if [ ! -f ${profile} ]; then +for profile in "${REMOVE_DIR}"/*; do + if [ ! -f "${profile}" ]; then continue fi # Unload Profile - if apparmor_parser -R -W -L ${CACHE_DIR} ${profile}; then - if rm ${profile}; then + if apparmor_parser -R -W -L "${CACHE_DIR}" "${profile}"; then + if rm "${profile}"; then continue fi fi diff --git a/buildroot-external/rootfs-overlay/usr/libexec/hassos-expand b/buildroot-external/rootfs-overlay/usr/libexec/hassos-expand new file mode 100755 index 000000000..341308bbd --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/libexec/hassos-expand @@ -0,0 +1,42 @@ +#!/bin/sh +# shellcheck disable=SC2039 +set -e + +DEVICE_CHILD="$(findfs LABEL="hassos-data")" +DEVICE_ROOT="/dev/$(lsblk -no pkname "${DEVICE_CHILD}")" +PART_NUM="${DEVICE_CHILD: -1}" + +if sfdisk -dq "${DEVICE_ROOT}" | grep -q 'label: gpt'; then + + # Need resize + if [ "$(sgdisk -E "${DEVICE_ROOT}")" -le "2048" ]; then + echo "[INFO] No resize of data partition needed" + exit 0 + fi + + # Resize & Reload partition + echo "[INFO] Update hassos-data partition ${PART_NUM}" + sgdisk -e "${DEVICE_ROOT}" + sgdisk -d "${PART_NUM}" -n "${PART_NUM}:0:0" -c "${PART_NUM}:hassos-data" -t "${PART_NUM}:0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "${PART_NUM}:a52a4597-fa3a-4851-aefd-2fbe9f849079" "${DEVICE_ROOT}" + sgdisk -v "${DEVICE_ROOT}" +else + + # Need resize + UNUSED=$(sfdisk -Fq "${DEVICE_ROOT}" | cut -d " " -f 3 | tail -1) + if [ -z "${UNUSED}" ] || [ "${UNUSED}" -le "2048" ]; then + echo "[INFO] No resize of data partition needed" + exit 0 + fi + + echo ", +" | sfdisk -N "${PART_NUM}" "${DEVICE_ROOT}" --force + sfdisk -V "${DEVICE_ROOT}" +fi + +partx -u "${DEVICE_ROOT}" + +# Resize filesystem +echo "[INFO] Resize hassos-data filesystem" +e2fsck -y "${DEVICE_CHILD}" +resize2fs -f "${DEVICE_CHILD}" + +echo "[INFO] Finish hassos-data resizing" diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-persists-journald b/buildroot-external/rootfs-overlay/usr/libexec/hassos-persists-journald similarity index 59% rename from buildroot-external/rootfs-overlay/usr/sbin/hassos-persists-journald rename to buildroot-external/rootfs-overlay/usr/libexec/hassos-persists-journald index c9d84598a..c85c5812f 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-persists-journald +++ b/buildroot-external/rootfs-overlay/usr/libexec/hassos-persists-journald @@ -2,20 +2,18 @@ set -e MACHINE_ID=$(cat /etc/machine-id) -CURRENT_LOGS=/var/log/journal/${MACHINE_ID} # Loop all logs folder and move for log_folder in /var/log/journal/*; do # Not a log folder - if [ ! -d ${log_folder} ]; then + if [ ! -d "${log_folder}" ]; then continue fi # Current log folder - if (echo ${log_folder} | grep ${MACHINE_ID}); then + if (echo "${log_folder}" | grep "${MACHINE_ID}"); then continue fi - rm -rf ${log_folder} + rm -rf "${log_folder}" done - diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-rate b/buildroot-external/rootfs-overlay/usr/libexec/hassos-rate similarity index 92% rename from buildroot-external/rootfs-overlay/usr/sbin/hassos-rate rename to buildroot-external/rootfs-overlay/usr/libexec/hassos-rate index 517b652de..942e6d58d 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-rate +++ b/buildroot-external/rootfs-overlay/usr/libexec/hassos-rate @@ -1,4 +1,5 @@ #!/bin/sh +# shellcheck disable=SC2112 set -e diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-zram b/buildroot-external/rootfs-overlay/usr/libexec/hassos-zram similarity index 99% rename from buildroot-external/rootfs-overlay/usr/sbin/hassos-zram rename to buildroot-external/rootfs-overlay/usr/libexec/hassos-zram index 3012cba80..a08eaf5cb 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-zram +++ b/buildroot-external/rootfs-overlay/usr/libexec/hassos-zram @@ -68,3 +68,4 @@ fi if [ "$TYPE" = "fs" ]; then mkfs.ext4 -L "hassos-$MOUNT" -O ^has_journal "$DEVICE" fi + diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-cli b/buildroot-external/rootfs-overlay/usr/sbin/hassos-cli index e6f5914c7..4bce3695a 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-cli +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassos-cli @@ -11,13 +11,14 @@ CLI_DATA=/mnt/data/cli mkdir -p ${CLI_DATA} # Run CLI +# shellcheck disable=SC2086 docker container run \ --rm -ti --init \ --security-opt apparmor="${APPARMOR}" \ -v ${CLI_DATA}:/data \ -v /etc/machine-id:/etc/machine-id:ro \ $DOCKER_ARGS \ - ${CLI} + "${CLI}" # Jump to root shell if [ $? -eq 10 ]; then diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-config b/buildroot-external/rootfs-overlay/usr/sbin/hassos-config index 5338eb830..bf6733aec 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-config +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassos-config @@ -87,9 +87,10 @@ fi ## # Firmware update / Only USB UPTIME=$(awk '{printf "%0.f", $1}' /proc/uptime) -if ls ${USB_CONFIG}/*.raucb > /dev/null 2>&1 && [ ${UPTIME} -ge 180 ]; then +if ls ${USB_CONFIG}/*.raucb > /dev/null 2>&1 && [ "${UPTIME}" -ge "180" ]; then echo "[Info] Performe a firmware update" + # shellcheck disable=SC2012 rauc_filename=$(ls ${USB_CONFIG}/*.raucb | head -n 1) if rauc install "${rauc_filename}"; then echo "[Info] Firmware update success" diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-expand b/buildroot-external/rootfs-overlay/usr/sbin/hassos-expand deleted file mode 100755 index 1a1c323a9..000000000 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-expand +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -set -e - -DEVICE_CHILD="$(findfs LABEL="hassos-data")" -DEVICE_ROOT="/dev/$(lsblk -no pkname ${DEVICE_CHILD})" -PART_NUM="${DEVICE_CHILD: -1}" - -if sfdisk -dq ${DEVICE_ROOT} | grep -q 'label: gpt'; then - - # Need resize - if [ $(sgdisk -E ${DEVICE_ROOT}) -le 2048 ]; then - echo "[INFO] No resize of data partition needed" - exit 0 - fi - - # Resize & Reload partition - echo "[INFO] Update hassos-data partition ${PART_NUM}" - sgdisk -e ${DEVICE_ROOT} - sgdisk -d ${PART_NUM} -n ${PART_NUM}:0:0 -c ${PART_NUM}:"hassos-data" -t ${PART_NUM}:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u ${PART_NUM}:"a52a4597-fa3a-4851-aefd-2fbe9f849079" ${DEVICE_ROOT} - sgdisk -v ${DEVICE_ROOT} -else - - # Need resize - UNUSED=$(sfdisk -Fq ${DEVICE_ROOT} | cut -d " " -f 3 | tail -1) - if [ -z "${UNUSED}" ] || [ ${UNUSED} -le 2048 ]; then - echo "[INFO] No resize of data partition needed" - exit 0 - fi - - echo ", +" | sfdisk -N ${PART_NUM} ${DEVICE_ROOT} --force - sfdisk -V ${DEVICE_ROOT} -fi - -partx -u ${DEVICE_ROOT} - -# Resize filesystem -echo "[INFO] Resize hassos-data filesystem" -e2fsck -y ${DEVICE_CHILD} -resize2fs -f ${DEVICE_CHILD} - -echo "[INFO] Finish hassos-data resizing" diff --git a/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor b/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor index eef027765..6e93074e9 100755 --- a/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor +++ b/buildroot-external/rootfs-overlay/usr/sbin/hassos-supervisor @@ -10,16 +10,18 @@ APPARMOR="$(jq --raw-output '.supervisor_apparmor // "docker-default"' ${CONFIG_ # Init supervisor HASSOS_DATA=/mnt/data/supervisor -HASSOS_IMAGE_ID=$(docker inspect --format='{{.Id}}' ${SUPERVISOR}) +HASSOS_IMAGE_ID=$(docker inspect --format='{{.Id}}' "${SUPERVISOR}") HASSOS_CONTAINER_ID=$(docker inspect --format='{{.Image}}' hassos_supervisor || echo "") # Fix wrong AppArmor profiles -if ! grep ${APPARMOR} /sys/kernel/security/apparmor/profiles > /dev/null; then +if ! grep "${APPARMOR}" /sys/kernel/security/apparmor/profiles > /dev/null; then APPARMOR=docker-default fi runSupervisor() { docker container rm --force hassos_supervisor || true + + # shellcheck disable=SC2086 docker container run --name hassos_supervisor \ --security-opt apparmor="${APPARMOR}" \ -v /var/run/docker.sock:/var/run/docker.sock \ @@ -29,7 +31,7 @@ runSupervisor() { -e SUPERVISOR_SHARE=${HASSOS_DATA} \ -e SUPERVISOR_NAME=hassos_supervisor \ $DOCKER_ARGS \ - ${SUPERVISOR} + "${SUPERVISOR}" } # Run supervisor diff --git a/buildroot-external/scripts/hdd-image.sh b/buildroot-external/scripts/hdd-image.sh index a70e3ce1c..acce0bb6f 100755 --- a/buildroot-external/scripts/hdd-image.sh +++ b/buildroot-external/scripts/hdd-image.sh @@ -1,4 +1,5 @@ #!/bin/bash +# shellcheck disable=SC2155 BOOT_UUID="b3dd0952-733c-4c88-8cba-cab9b8b4377f" BOOTSTATE_UUID="33236519-7F32-4DFF-8002-3390B62C309D" @@ -9,7 +10,6 @@ KERNEL1_UUID="fc02a4f0-5350-406f-93a2-56cbed636b5f" OVERLAY_UUID="f1326040-5236-40eb-b683-aaa100a9afcf" DATA_UUID="a52a4597-fa3a-4851-aefd-2fbe9f849079" -SPL_SIZE=8M BOOT_SIZE=(32M 24M) BOOTSTATE_SIZE=8M SYSTEM_SIZE=256M @@ -19,10 +19,10 @@ DATA_SIZE=1G function size2sectors() { - s=0 + local f=0 for v in "${@}" do - let s+=$(echo $v | awk \ + local p=$(echo "$v" | awk \ 'BEGIN{IGNORECASE = 1} function printsectors(n,b,p) {printf "%u\n", n*b^p/512} /B$/{ printsectors($1, 1, 0)}; @@ -34,8 +34,13 @@ function size2sectors() { /MB$/{ printsectors($1, 10, 6)}; /GB$/{ printsectors($1, 10, 9)}; /TB$/{ printsectors($1, 10, 12)}') + for s in $p + do + f=$((f+s)) done - echo $s + + done + echo $f } @@ -51,7 +56,7 @@ function get_boot_size() { function create_spl_image() { local boot_img="$(path_spl_img)" - dd if=/dev/zero of=${boot_img} bs=512 count=16382 + dd if=/dev/zero of="${boot_img}" bs=512 count=16382 } @@ -60,32 +65,33 @@ function create_boot_image() { local boot_img="$(path_boot_img)" echo "mtools_skip_check=1" > ~/.mtoolsrc - dd if=/dev/zero of=${boot_img} bs=$(get_boot_size) count=1 - mkfs.vfat -n "hassos-boot" ${boot_img} - mcopy -i ${boot_img} -sv ${boot_data}/* :: + dd if=/dev/zero of="${boot_img}" bs="$(get_boot_size)" count=1 + mkfs.vfat -n "hassos-boot" "${boot_img}" + mcopy -i "${boot_img}" -sv "${boot_data}"/* :: } function create_overlay_image() { local overlay_img="$(path_overlay_img)" - dd if=/dev/zero of=${overlay_img} bs=${OVERLAY_SIZE} count=1 - mkfs.ext4 -L "hassos-overlay" -E lazy_itable_init=0,lazy_journal_init=0 ${overlay_img} + dd if=/dev/zero of="${overlay_img}" bs=${OVERLAY_SIZE} count=1 + mkfs.ext4 -L "hassos-overlay" -E lazy_itable_init=0,lazy_journal_init=0 "${overlay_img}" } function create_kernel_image() { local kernel_img="$(path_kernel_img)" + # shellcheck disable=SC2153 local kernel="${BINARIES_DIR}/${KERNEL_FILE}" # Make image - dd if=/dev/zero of=${kernel_img} bs=${KERNEL_SIZE} count=1 - mkfs.ext4 -L "hassos-kernel" -E lazy_itable_init=0,lazy_journal_init=0 ${kernel_img} + dd if=/dev/zero of="${kernel_img}" bs=${KERNEL_SIZE} count=1 + mkfs.ext4 -L "hassos-kernel" -E lazy_itable_init=0,lazy_journal_init=0 "${kernel_img}" # Mount / init file structs mkdir -p /mnt/data/ - mount -o loop ${kernel_img} /mnt/data - cp -f ${kernel} /mnt/data/ + mount -o loop "${kernel_img}" /mnt/data + cp -f "${kernel}" /mnt/data/ umount /mnt/data } @@ -125,54 +131,54 @@ function _create_disk_gpt() { ## # Write new image & GPT - dd if=/dev/zero of=${hdd_img} bs=1G count=${hdd_count} - sgdisk -o ${hdd_img} + dd if=/dev/zero of="${hdd_img}" bs=1G count="${hdd_count}" + sgdisk -o "${hdd_img}" ## # Partition layout # SPL if [ "${BOOT_SYS}" == "spl" ]; then - sgdisk -j 16384 ${hdd_img} + sgdisk -j 16384 "${hdd_img}" fi # boot - boot_offset="$(sgdisk -F ${hdd_img})" - sgdisk -n 0:${boot_offset}:+$(get_boot_size) -c 0:"hassos-boot" -t 0:"C12A7328-F81F-11D2-BA4B-00A0C93EC93B" -u 0:${BOOT_UUID} ${hdd_img} + boot_offset="$(sgdisk -F "${hdd_img}")" + sgdisk -n "0:${boot_offset}:+$(get_boot_size)" -c 0:"hassos-boot" -t 0:"C12A7328-F81F-11D2-BA4B-00A0C93EC93B" -u 0:${BOOT_UUID} "${hdd_img}" # Kernel 0 - kernel_offset="$(sgdisk -F ${hdd_img})" - sgdisk -n 0:0:+${KERNEL_SIZE} -c 0:"hassos-kernel0" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${KERNEL0_UUID} ${hdd_img} + kernel_offset="$(sgdisk -F "${hdd_img}")" + sgdisk -n "0:0:+${KERNEL_SIZE}" -c 0:"hassos-kernel0" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${KERNEL0_UUID}" "${hdd_img}" # System 0 - rootfs_offset="$(sgdisk -F ${hdd_img})" - sgdisk -n 0:0:+${SYSTEM_SIZE} -c 0:"hassos-system0" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${SYSTEM0_UUID} ${hdd_img} + rootfs_offset="$(sgdisk -F "${hdd_img}")" + sgdisk -n "0:0:+${SYSTEM_SIZE}" -c 0:"hassos-system0" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${SYSTEM0_UUID}" "${hdd_img}" # Kernel 1 - sgdisk -n 0:0:+${KERNEL_SIZE} -c 0:"hassos-kernel1" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${KERNEL1_UUID} ${hdd_img} + sgdisk -n "0:0:+${KERNEL_SIZE}" -c 0:"hassos-kernel1" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${KERNEL1_UUID}" "${hdd_img}" # System 1 - sgdisk -n 0:0:+${SYSTEM_SIZE} -c 0:"hassos-system1" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${SYSTEM1_UUID} ${hdd_img} + sgdisk -n "0:0:+${SYSTEM_SIZE}" -c 0:"hassos-system1" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${SYSTEM1_UUID}" "${hdd_img}" # Bootstate - sgdisk -n 0:0:+${BOOTSTATE_SIZE} -c 0:"hassos-bootstate" -u 0:${BOOTSTATE_UUID} ${hdd_img} + sgdisk -n "0:0:+${BOOTSTATE_SIZE}" -c 0:"hassos-bootstate" -u 0:${BOOTSTATE_UUID} "${hdd_img}" # Overlay - overlay_offset="$(sgdisk -F ${hdd_img})" - sgdisk -n 0:0:+${OVERLAY_SIZE} -c 0:"hassos-overlay" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${OVERLAY_UUID} ${hdd_img} + overlay_offset="$(sgdisk -F "${hdd_img}")" + sgdisk -n "0:0:+${OVERLAY_SIZE}" -c 0:"hassos-overlay" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${OVERLAY_UUID}" "${hdd_img}" # Data - data_offset="$(sgdisk -F ${hdd_img})" - sgdisk -n 0:0:+${DATA_SIZE} -c 0:"hassos-data" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${DATA_UUID} ${hdd_img} + data_offset="$(sgdisk -F "${hdd_img}")" + sgdisk -n "0:0:+${DATA_SIZE}" -c 0:"hassos-data" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${DATA_UUID}" "${hdd_img}" ## # Write Images sgdisk -v - dd if=${boot_img} of=${hdd_img} conv=notrunc bs=512 seek=${boot_offset} - dd if=${kernel_img} of=${hdd_img} conv=notrunc bs=512 seek=${kernel_offset} - dd if=${rootfs_img} of=${hdd_img} conv=notrunc bs=512 seek=${rootfs_offset} - dd if=${overlay_img} of=${hdd_img} conv=notrunc bs=512 seek=${overlay_offset} - dd if=${data_img} of=${hdd_img} conv=notrunc bs=512 seek=${data_offset} + dd if="${boot_img}" of"=${hdd_img}" conv=notrunc bs=512 seek="${boot_offset}" + dd if="${kernel_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${kernel_offset}" + dd if="${rootfs_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${rootfs_offset}" + dd if="${overlay_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${overlay_offset}" + dd if="${data_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${data_offset}" # Fix boot if [ "${BOOT_SYS}" == "hyprid" ]; then @@ -192,38 +198,37 @@ function _create_disk_mbr() { local hdd_img="$(hassos_image_name img)" local hdd_count=${DISK_SIZE:-2} local disk_layout="${BINARIES_DIR}/disk.layout" + local boot_start=16384 + + local boot_size=$(($(size2sectors "$(get_boot_size)")+2)) + local kernel0_size=$(($(size2sectors "$KERNEL_SIZE")+2)) + local system0_size=$(($(size2sectors "$SYSTEM_SIZE")+2)) + local kernel1_size=$(($(size2sectors "$KERNEL_SIZE")+2)) + local system1_size=$(($(size2sectors "$SYSTEM_SIZE")+2)) + local bootstate_size=$(($(size2sectors "$BOOTSTATE_SIZE")+2)) + local overlay_size=$(($(size2sectors "$OVERLAY_SIZE")+2)) + local data_size=$(($(size2sectors "$DATA_SIZE")+2)) + local extended_size=$((kernel0_size+system0_size+kernel1_size+system1_size+bootstate_size+2)) + + # we add one here for the extended header. + local extended_start=$((boot_start+boot_size+1)) + local kernel0_start=$((extended_start+1)) + local system0_start=$((kernel0_start+kernel0_size+1)) + local kernel1_start=$((system0_start+system0_size+1)) + local system1_start=$((kernel1_start+kernel1_size+1)) + local bootstate_start=$((system1_start+system1_size+1)) + local overlay_start=$((extended_start+extended_size+1)) + local data_start=$((overlay_start+overlay_size+1)) + + local boot_offset=${boot_start} + local kernel_offset=${kernel0_start} + local rootfs_offset=${system0_start} + local overlay_offset=${overlay_start} + local data_offset=${data_start} # Write new image & MBR - dd if=/dev/zero of=${hdd_img} bs=1G count=${hdd_count} + dd if=/dev/zero of="${hdd_img}" bs=1G count="${hdd_count}" - let boot_start=16384 - - let boot_size=$(size2sectors ${BOOT_SIZE})+2 - let kernel0_size=$(size2sectors ${KERNEL_SIZE})+2 - let system0_size=$(size2sectors ${SYSTEM_SIZE})+2 - let kernel1_size=$(size2sectors ${KERNEL_SIZE})+2 - let system1_size=$(size2sectors ${SYSTEM_SIZE})+2 - let bootstate_size=$(size2sectors ${BOOTSTATE_SIZE})+2 - let overlay_size=$(size2sectors ${OVERLAY_SIZE})+2 - let data_size=$(size2sectors ${DATA_SIZE})+2 - let extended_size=${kernel0_size}+${system0_size}+${kernel1_size}+${system1_size}+${bootstate_size}+2 - - - let extended_start=${boot_start}+${boot_size}+1 - let kernel0_start=${extended_start}+1 # we add one here for the extended header. - let system0_start=${kernel0_start}+${kernel0_size}+1 - let kernel1_start=${system0_start}+${system0_size}+1 - let system1_start=${kernel1_start}+${kernel1_size}+1 - let bootstate_start=${system1_start}+${system1_size}+1 - let overlay_start=${extended_start}+${extended_size}+1 - let data_start=${overlay_start}+${overlay_size}+1 - - - let boot_offset=${boot_start} - let kernel_offset=${kernel0_start} - let rootfs_offset=${system0_start} - let overlay_offset=${overlay_start} - let data_offset=${data_start} # Update disk layout ( echo "label: dos" @@ -238,17 +243,17 @@ function _create_disk_mbr() { echo "hassos-bootstate : start= ${bootstate_start}, size= ${bootstate_size}, type=83" #Make a logical Linux partition echo "hassos-overlay : start= ${overlay_start}, size= ${overlay_size}, type=83" #Make a Linux partition echo "hassos-data : start= ${data_start}, size= ${data_size}, type=83" #Make a Linux partition - ) > ${disk_layout} + ) > "${disk_layout}" # Update Labels - sfdisk ${hdd_img} < ${disk_layout} + sfdisk "${hdd_img}" < "${disk_layout}" # Write Images - dd if=${boot_img} of=${hdd_img} conv=notrunc bs=512 seek=${boot_offset} - dd if=${kernel_img} of=${hdd_img} conv=notrunc bs=512 seek=${kernel_offset} - dd if=${rootfs_img} of=${hdd_img} conv=notrunc bs=512 seek=${rootfs_offset} - dd if=${overlay_img} of=${hdd_img} conv=notrunc bs=512 seek=${overlay_offset} - dd if=${data_img} of=${hdd_img} conv=notrunc bs=512 seek=${data_offset} + dd if="${boot_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${boot_offset}" + dd if="${kernel_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${kernel_offset}" + dd if="${rootfs_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${rootfs_offset}" + dd if="${overlay_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${overlay_offset}" + dd if="${data_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${data_offset}" # Wripte SPL _fix_disk_spl_mbr @@ -258,19 +263,18 @@ function _create_disk_mbr() { function _fix_disk_hyprid() { local hdd_img="$(hassos_image_name img)" - sgdisk -t 1:"E3C9E316-0B5C-4DB8-817D-F92DF00215AE" ${hdd_img} - dd if=${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr.img of=${hdd_img} conv=notrunc bs=512 count=1 + sgdisk -t 1:"E3C9E316-0B5C-4DB8-817D-F92DF00215AE" "${hdd_img}" + dd if="${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr.img" of="${hdd_img}" conv=notrunc bs=512 count=1 } function _fix_disk_spl_gpt() { local hdd_img="$(hassos_image_name img)" local spl_img="$(path_spl_img)" - local backup="/tmp/mbr-backup.bin" - sgdisk -t 1:"E3C9E316-0B5C-4DB8-817D-F92DF00215AE" ${hdd_img} - dd if=${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr-spl.img of=${hdd_img} conv=notrunc bs=512 count=1 - dd if=${spl_img} of=${hdd_img} conv=notrunc bs=512 seek=2 skip=2 + sgdisk -t 1:"E3C9E316-0B5C-4DB8-817D-F92DF00215AE" "${hdd_img}" + dd if="${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr-spl.img" of="${hdd_img}" conv=notrunc bs=512 count=1 + dd if="${spl_img}" of="${hdd_img}" conv=notrunc bs=512 seek=2 skip=2 } @@ -279,25 +283,33 @@ function _fix_disk_spl_mbr() { local spl_img="$(path_spl_img)" # backup MBR - dd if=${spl_img} of=${hdd_img} conv=notrunc bs=1 count=440 - dd if=${spl_img} of=${hdd_img} conv=notrunc bs=512 seek=1 skip=1 + dd if="${spl_img}" of="${hdd_img}" conv=notrunc bs=1 count=440 + dd if="${spl_img}" of="${hdd_img}" conv=notrunc bs=512 seek=1 skip=1 } -function convert_disk_image_vmdk() { +function convert_disk_image_virtual() { local hdd_img="$(hassos_image_name img)" local hdd_vmdk="$(hassos_image_name vmdk)" + local hdd_vhdx="$(hassos_image_name vhdx)" + local hdd_vdi="$(hassos_image_name vdi)" - rm -f ${hdd_vmdk} - qemu-img convert -O vmdk ${hdd_img} ${hdd_vmdk} - rm -f ${hdd_img} + rm -f "${hdd_vmdk}" + rm -f "${hdd_vhdx}" + rm -f "${hdd_vdi}" + + qemu-img convert -O vmdk "${hdd_img}" "${hdd_vmdk}" + qemu-img convert -O vhdx "${hdd_img}" "${hdd_vhdx}" + qemu-img convert -O vdi "${hdd_img}" "${hdd_vdi}" + + rm -f "${hdd_img}" } function convert_disk_image_gz() { local hdd_ext=${1:-img} - local hdd_img="$(hassos_image_name ${hdd_ext})" + local hdd_img="$(hassos_image_name "${hdd_ext}")" - rm -f ${hdd_img}.gz - gzip --best ${hdd_img} + rm -f "${hdd_img}.gz" + gzip --best "${hdd_img}" } diff --git a/buildroot-external/scripts/ota.sh b/buildroot-external/scripts/ota.sh index 93fdba02a..4f6c101c7 100755 --- a/buildroot-external/scripts/ota.sh +++ b/buildroot-external/scripts/ota.sh @@ -1,4 +1,5 @@ #!/bin/bash +# shellcheck disable=SC2155 function create_ota_update() { local ota_file="$(hassos_image_name raucb)" @@ -16,13 +17,13 @@ function create_ota_update() { return 0 fi - rm -rf ${rauc_folder} ${ota_file} - mkdir -p ${rauc_folder} + rm -rf "${rauc_folder}" "${ota_file}" + mkdir -p "${rauc_folder}" - cp -f ${kernel} ${rauc_folder}/kernel.ext4 - cp -f ${boot} ${rauc_folder}/boot.vfat - cp -f ${rootfs} ${rauc_folder}/rootfs.img - cp -f ${BR2_EXTERNAL_HASSOS_PATH}/misc/rauc-hook ${rauc_folder}/hook + cp -f "${kernel}" "${rauc_folder}/kernel.ext4" + cp -f "${boot}" "${rauc_folder}/boot.vfat" + cp -f "${rootfs}" "${rauc_folder}/rootfs.img" + cp -f "${BR2_EXTERNAL_HASSOS_PATH}/misc/rauc-hook" "${rauc_folder}/hook" ( echo "[update]" @@ -37,18 +38,18 @@ function create_ota_update() { echo "filename=kernel.ext4" echo "[image.rootfs]" echo "filename=rootfs.img" - ) > ${rauc_folder}/manifest.raucm + ) > "${rauc_folder}/manifest.raucm" # SPL if [ "${BOOT_SYS}" == "spl" ]; then - cp -f ${spl} ${rauc_folder}/spl.img + cp -f "${spl}" "${rauc_folder}/spl.img" ( echo "[image.spl]" echo "filename=spl.img" echo "hooks=install" - ) >> ${rauc_folder}/manifest.raucm + ) >> "${rauc_folder}/manifest.raucm" fi - rauc bundle -d --cert=${cert} --key=${key} ${rauc_folder} ${ota_file} + rauc bundle -d --cert="${cert}" --key="${key}" "${rauc_folder}" "${ota_file}" } diff --git a/buildroot-external/scripts/post-build.sh b/buildroot-external/scripts/post-build.sh index 0e8a7d770..dee8699da 100755 --- a/buildroot-external/scripts/post-build.sh +++ b/buildroot-external/scripts/post-build.sh @@ -1,15 +1,16 @@ #!/bin/bash +# shellcheck disable=SC1090 set -e SCRIPT_DIR=${BR2_EXTERNAL_HASSOS_PATH}/scripts BOARD_DIR=${2} -. ${BR2_EXTERNAL_HASSOS_PATH}/meta -. ${BOARD_DIR}/meta +. "${BR2_EXTERNAL_HASSOS_PATH}/meta" +. "${BOARD_DIR}/meta" -. ${SCRIPT_DIR}/rootfs-layer.sh -. ${SCRIPT_DIR}/name.sh -. ${SCRIPT_DIR}/rauc.sh +. "${SCRIPT_DIR}/rootfs-layer.sh" +. "${SCRIPT_DIR}/name.sh" +. "${SCRIPT_DIR}/rauc.sh" # HassOS tasks @@ -17,6 +18,7 @@ fix_rootfs install_hassos_cli # Write os-release +# shellcheck disable=SC2153 ( echo "NAME=${HASSOS_NAME}" echo "VERSION=\"${VERSION_MAJOR}.${VERSION_BUILD} (${BOARD_NAME})\"" @@ -27,13 +29,13 @@ install_hassos_cli echo "HOME_URL=https://hass.io/" echo "VARIANT=\"${HASSOS_NAME} ${BOARD_NAME}\"" echo "VARIANT_ID=${BOARD_ID}" -) > ${TARGET_DIR}/usr/lib/os-release +) > "${TARGET_DIR}/usr/lib/os-release" # Write machine-info ( echo "CHASSIS=${CHASSIS}" echo "DEPLOYMENT=${DEPLOYMENT}" -) > ${TARGET_DIR}/etc/machine-info +) > "${TARGET_DIR}/etc/machine-info" # Setup RAUC diff --git a/buildroot-external/scripts/post-image.sh b/buildroot-external/scripts/post-image.sh index 163dd16f4..10df39bd2 100755 --- a/buildroot-external/scripts/post-image.sh +++ b/buildroot-external/scripts/post-image.sh @@ -1,19 +1,20 @@ #!/bin/bash +# shellcheck disable=SC1090 set -e SCRIPT_DIR=${BR2_EXTERNAL_HASSOS_PATH}/scripts BOARD_DIR=${2} HOOK_FILE=${3} -. ${BR2_EXTERNAL_HASSOS_PATH}/meta -. ${BOARD_DIR}/meta +. "${BR2_EXTERNAL_HASSOS_PATH}/meta" +. "${BOARD_DIR}/meta" -. ${SCRIPT_DIR}/hdd-image.sh -. ${SCRIPT_DIR}/rootfs-layer.sh -. ${SCRIPT_DIR}/name.sh -. ${SCRIPT_DIR}/rauc.sh -. ${SCRIPT_DIR}/ota.sh -. ${HOOK_FILE} +. "${SCRIPT_DIR}/hdd-image.sh" +. "${SCRIPT_DIR}/rootfs-layer.sh" +. "${SCRIPT_DIR}/name.sh" +. "${SCRIPT_DIR}/rauc.sh" +. "${SCRIPT_DIR}/ota.sh" +. "${HOOK_FILE}" # Cleanup rm -rf "$(path_boot_dir)" diff --git a/buildroot-external/scripts/rauc.sh b/buildroot-external/scripts/rauc.sh index ade1b9205..20f5d5888 100755 --- a/buildroot-external/scripts/rauc.sh +++ b/buildroot-external/scripts/rauc.sh @@ -15,17 +15,16 @@ function _create_rauc_header() { echo "[keyring]" echo "path=/etc/rauc/keyring.pem" - ) > ${TARGET_DIR}/etc/rauc/system.conf + ) > "${TARGET_DIR}/etc/rauc/system.conf" } function _write_rauc_boot() { - local boot_device=${1} ( echo "[slot.boot.0]" echo "device=/dev/disk/by-partlabel/hassos-boot" echo "type=vfat" - ) >> ${TARGET_DIR}/etc/rauc/system.conf + ) >> "${TARGET_DIR}/etc/rauc/system.conf" # SPL if ! [[ "${BOOT_SYS}" =~ (spl|mbr) ]]; then @@ -36,7 +35,7 @@ function _write_rauc_boot() { echo "[slot.spl.0]" echo "device=/dev/disk/by-partlabel/hassos-boot" echo "type=raw" - ) >> ${TARGET_DIR}/etc/rauc/system.conf + ) >> "${TARGET_DIR}/etc/rauc/system.conf" } @@ -54,12 +53,12 @@ function _write_rauc_system() { echo "device=/dev/disk/by-partlabel/hassos-system${slot_num}" echo "type=raw" echo "parent=kernel.${slot_num}" - ) >> ${TARGET_DIR}/etc/rauc/system.conf + ) >> "${TARGET_DIR}/etc/rauc/system.conf" } function write_rauc_config() { - mkdir -p ${TARGET_DIR}/etc/rauc + mkdir -p "${TARGET_DIR}/etc/rauc" _create_rauc_header _write_rauc_boot @@ -70,23 +69,23 @@ function write_rauc_config() { function install_rauc_certs() { if [ "${DEPLOYMENT}" == "production" ]; then - cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/rel-ca.pem ${TARGET_DIR}/etc/rauc/keyring.pem + cp "${BR2_EXTERNAL_HASSOS_PATH}/misc/rel-ca.pem" "${TARGET_DIR}/etc/rauc/keyring.pem" else - cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/dev-ca.pem ${TARGET_DIR}/etc/rauc/keyring.pem + cp "${BR2_EXTERNAL_HASSOS_PATH}/misc/dev-ca.pem" "${TARGET_DIR}/etc/rauc/keyring.pem" fi } function install_bootloader_config() { if [ "${BOOTLOADER}" == "uboot" ]; then - echo -e "/dev/disk/by-partlabel/hassos-bootstate\t0x0000\t${BOOT_ENV_SIZE}" > ${TARGET_DIR}/etc/fw_env.config + echo -e "/dev/disk/by-partlabel/hassos-bootstate\t0x0000\t${BOOT_ENV_SIZE}" > "${TARGET_DIR}/etc/fw_env.config" else - cp -f ${BR2_EXTERNAL_HASSOS_PATH}/misc/barebox-state-efi.dtb ${TARGET_DIR}/etc/barebox-state.dtb + cp -f "${BR2_EXTERNAL_HASSOS_PATH}/misc/barebox-state-efi.dtb" "${TARGET_DIR}/etc/barebox-state.dtb" fi # Fix MBR if [ "${BOOT_SYS}" == "mbr" ]; then - mkdir -p ${TARGET_DIR}/usr/lib/udev/rules.d - cp -f ${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr-part.rules ${TARGET_DIR}/usr/lib/udev/rules.d/ + mkdir -p "${TARGET_DIR}/usr/lib/udev/rules.d" + cp -f "${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr-part.rules" "${TARGET_DIR}/usr/lib/udev/rules.d/" fi } diff --git a/buildroot-external/scripts/rootfs-layer.sh b/buildroot-external/scripts/rootfs-layer.sh index 45f2918fc..1c65b83ce 100755 --- a/buildroot-external/scripts/rootfs-layer.sh +++ b/buildroot-external/scripts/rootfs-layer.sh @@ -3,35 +3,35 @@ function fix_rootfs() { # Cleanup etc - rm -rf ${TARGET_DIR}/etc/init.d - rm -rf ${TARGET_DIR}/etc/network - rm -rf ${TARGET_DIR}/etc/X11 - rm -rf ${TARGET_DIR}/etc/xdg + rm -rf "${TARGET_DIR:?}/etc/init.d" + rm -rf "${TARGET_DIR:?}/etc/network" + rm -rf "${TARGET_DIR:?}/etc/X11" + rm -rf "${TARGET_DIR:?}/etc/xdg" # Cleanup root - rm -rf ${TARGET_DIR}/media - rm -rf ${TARGET_DIR}/srv - rm -rf ${TARGET_DIR}/opt + rm -rf "${TARGET_DIR:?}/media" + rm -rf "${TARGET_DIR:?}/srv" + rm -rf "${TARGET_DIR:?}/opt" # Cleanup miscs - rm -rf ${TARGET_DIR}/usr/lib/modules-load.d + rm -rf "${TARGET_DIR}/usr/lib/modules-load.d" # Fix: permission for system connection files - chmod 600 ${TARGET_DIR}/usr/share/system-connections/* + chmod 600 "${TARGET_DIR}/usr/share/system-connections"/* # Fix: tempfs with /srv - sed -i "/srv/d" ${TARGET_DIR}/usr/lib/tmpfiles.d/home.conf + sed -i "/srv/d" "${TARGET_DIR}/usr/lib/tmpfiles.d/home.conf" # Fix: Could not generate persistent MAC address - sed -i "s/MACAddressPolicy=persistent/MACAddressPolicy=none/g" ${TARGET_DIR}/usr/lib/systemd/network/99-default.link + sed -i "s/MACAddressPolicy=persistent/MACAddressPolicy=none/g" "${TARGET_DIR}/usr/lib/systemd/network/99-default.link" } function install_hassos_cli() { - sed -i "s|\(root.*\)/bin/sh|\1/usr/sbin/hassos-cli|" ${TARGET_DIR}/etc/passwd + sed -i "s|\(root.*\)/bin/sh|\1/usr/sbin/hassos-cli|" "${TARGET_DIR}/etc/passwd" - if ! grep "hassos-cli" ${TARGET_DIR}/etc/shells; then - echo "/usr/sbin/hassos-cli" >> ${TARGET_DIR}/etc/shells + if ! grep "hassos-cli" "${TARGET_DIR}/etc/shells"; then + echo "/usr/sbin/hassos-cli" >> "${TARGET_DIR}/etc/shells" fi } diff --git a/buildroot-patches/0001-docker-containerd-bump-to-v1.2.0.patch b/buildroot-patches/0001-docker-containerd-bump-to-v1.2.0.patch new file mode 100644 index 000000000..f2ffc9ca0 --- /dev/null +++ b/buildroot-patches/0001-docker-containerd-bump-to-v1.2.0.patch @@ -0,0 +1,44 @@ +From 0484ba124482874b9612563887b22ce454026f7e Mon Sep 17 00:00:00 2001 +From: Pascal Vizeli +Date: Mon, 26 Nov 2018 14:38:19 +0000 +Subject: [PATCH 1/1] docker-containerd: bump to v1.2.0 + +Signed-off-by: Pascal Vizeli +--- + package/docker-containerd/docker-containerd.hash | 2 +- + package/docker-containerd/docker-containerd.mk | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/package/docker-containerd/docker-containerd.hash b/package/docker-containerd/docker-containerd.hash +index a530873..71cd5e5 100644 +--- a/package/docker-containerd/docker-containerd.hash ++++ b/package/docker-containerd/docker-containerd.hash +@@ -1,3 +1,3 @@ + # Computed locally +-sha256 a946f4614d92d60361213ef18deab04ee73599e4567f1ff26f7a72841afe4fa2 docker-containerd-v1.1.3.tar.gz ++sha256 8565a655345f3db2f7b78b77a2cd3103895229aa44cd0e4c710ba3559e344b5a docker-containerd-v1.2.0.tar.gz + sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE +diff --git a/package/docker-containerd/docker-containerd.mk b/package/docker-containerd/docker-containerd.mk +index 121ef09..36f4a25 100644 +--- a/package/docker-containerd/docker-containerd.mk ++++ b/package/docker-containerd/docker-containerd.mk +@@ -4,7 +4,7 @@ + # + ################################################################################ + +-DOCKER_CONTAINERD_VERSION = v1.1.3 ++DOCKER_CONTAINERD_VERSION = v1.2.0 + DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,$(DOCKER_CONTAINERD_VERSION)) + DOCKER_CONTAINERD_LICENSE = Apache-2.0 + DOCKER_CONTAINERD_LICENSE_FILES = LICENSE +@@ -17,6 +17,7 @@ DOCKER_CONTAINERD_LDFLAGS = \ + DOCKER_CONTAINERD_BUILD_TARGETS = cmd/ctr cmd/containerd cmd/containerd-shim + + DOCKER_CONTAINERD_INSTALL_BINS = containerd containerd-shim ++DOCKER_CONTAINERD_TAGS = apparmor + + ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) + DOCKER_CONTAINERD_DEPENDENCIES += libseccomp +-- +2.17.1 + diff --git a/buildroot-patches/0001-tini-new-package.patch b/buildroot-patches/0001-tini-new-package.patch deleted file mode 100644 index 3100b8c00..000000000 --- a/buildroot-patches/0001-tini-new-package.patch +++ /dev/null @@ -1,115 +0,0 @@ -From f1c537f80a9c829785aaaefdfb2f04f46db565fd Mon Sep 17 00:00:00 2001 -From: Christian Stewart -Date: Tue, 9 May 2017 17:22:43 -0400 -Subject: [PATCH] tini: new package - -Tini is a minimal init process to act as PID 1 for containers. - -Tini can be used to satisfy docker-engine's docker-init binary -requirement. - -Signed-off-by: Christian Stewart - ---- - -Changes since v2: - - - Upgraded to v0.18.0 - - Added hash for license file ---- - package/Config.in | 1 + - package/tini/Config.in | 16 ++++++++++++++++ - package/tini/tini.hash | 3 +++ - package/tini/tini.mk | 35 +++++++++++++++++++++++++++++++++++ - 4 files changed, 55 insertions(+) - create mode 100644 package/tini/Config.in - create mode 100644 package/tini/tini.hash - create mode 100644 package/tini/tini.mk - -diff --git a/package/Config.in b/package/Config.in -index a114c90..28e0caf 100644 ---- a/package/Config.in -+++ b/package/Config.in -@@ -1923,6 +1923,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" -diff --git a/package/tini/Config.in b/package/tini/Config.in -new file mode 100644 -index 0000000..235fc1a ---- /dev/null -+++ b/package/tini/Config.in -@@ -0,0 +1,16 @@ -+config BR2_PACKAGE_TINI -+ bool "tini" -+ 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/package/tini/tini.hash b/package/tini/tini.hash -new file mode 100644 -index 0000000..c4f85c4 ---- /dev/null -+++ b/package/tini/tini.hash -@@ -0,0 +1,3 @@ -+# Locally computed -+sha256 1097675352d6317b547e73f9dc7c6839fd0bb0d96dafc2e5c95506bb324049a2 tini-v0.18.0.tar.gz -+sha256 e5f46bca81266bdd511cf08018d66866870531794569c04f9b45f50dd23c28b0 LICENSE -diff --git a/package/tini/tini.mk b/package/tini/tini.mk -new file mode 100644 -index 0000000..9f9d986 ---- /dev/null -+++ b/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=\"\" -+TINI_CFLAGS += -static -+ -+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 -+ $(TARGET_CC) \ -+ $(TINI_CFLAGS) \ -+ -o $(@D)/tini $(@D)/src/tini.c -+endef -+ -+define TINI_INSTALL_TARGET_CMDS -+ $(INSTALL) -D -m 0755 $(@D)/tini $(TARGET_DIR)/usr/bin/tini -+endef -+ -+# Tini's CMakeLists.txt is not suitable for Buildroot. -+$(eval $(generic-package)) --- -2.9.0.windows.1 - diff --git a/buildroot-patches/0002-docker-containerd-bump-to-v1.1.0.patch b/buildroot-patches/0002-docker-containerd-bump-to-v1.1.0.patch deleted file mode 100644 index 96b86e24a..000000000 --- a/buildroot-patches/0002-docker-containerd-bump-to-v1.1.0.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 534557f34b9ab95fb38fc2cd0fe04829264ee653 Mon Sep 17 00:00:00 2001 -From: Pascal Vizeli -Date: Mon, 28 May 2018 12:40:28 +0000 -Subject: [PATCH 1/1] docker-containerd: bump to v1.1.0 - -Signed-off-by: Pascal Vizeli ---- - package/docker-containerd/docker-containerd.hash | 2 +- - package/docker-containerd/docker-containerd.mk | 13 +++++-------- - 2 files changed, 6 insertions(+), 9 deletions(-) - -diff --git a/package/docker-containerd/docker-containerd.hash b/package/docker-containerd/docker-containerd.hash -index 992eb5b01a..257c607841 100644 ---- a/package/docker-containerd/docker-containerd.hash -+++ b/package/docker-containerd/docker-containerd.hash -@@ -1,2 +1,2 @@ - # Computed locally --sha256 da89086a7c643702a2ddecec67a45d3d8e4b0d610dd19036be63e6bd54cc1a85 docker-containerd-9048e5e50717ea4497b757314bad98ea3763c145.tar.gz -+sha256 08f057ece7e518b14cce2e9737228a5a899a7b58b78248a03e02f4a6c079eeaf docker-containerd-v1.1.0.tar.gz -diff --git a/package/docker-containerd/docker-containerd.mk b/package/docker-containerd/docker-containerd.mk -index 88e27b5ed4..49c3d8ec0d 100644 ---- a/package/docker-containerd/docker-containerd.mk -+++ b/package/docker-containerd/docker-containerd.mk -@@ -4,22 +4,19 @@ - # - ################################################################################ - --DOCKER_CONTAINERD_VERSION = 9048e5e50717ea4497b757314bad98ea3763c145 --DOCKER_CONTAINERD_SITE = $(call github,docker,containerd,$(DOCKER_CONTAINERD_VERSION)) -+DOCKER_CONTAINERD_VERSION = v1.1.0 -+DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,$(DOCKER_CONTAINERD_VERSION)) - DOCKER_CONTAINERD_LICENSE = Apache-2.0 - DOCKER_CONTAINERD_LICENSE_FILES = LICENSE.code - --DOCKER_CONTAINERD_WORKSPACE = vendor -- --DOCKER_CONTAINERD_LDFLAGS = \ -- -X github.com/docker/containerd.GitCommit=$(DOCKER_CONTAINERD_VERSION) -- --DOCKER_CONTAINERD_BUILD_TARGETS = ctr containerd containerd-shim -+DOCKER_CONTAINERD_BUILD_TARGETS = cmd/ctr cmd/containerd cmd/containerd-shim -+DOCKER_CONTAINERD_TAGS = apparmor no_btrfs - - DOCKER_CONTAINERD_INSTALL_BINS = containerd containerd-shim - - define DOCKER_CONTAINERD_INSTALL_SYMLINKS - ln -fs runc $(TARGET_DIR)/usr/bin/docker-runc -+ ln -fs containerd $(TARGET_DIR)/usr/bin/docker-containerd - ln -fs containerd-shim $(TARGET_DIR)/usr/bin/docker-containerd-shim - endef - --- -2.17.0 - diff --git a/buildroot-patches/0002-runc-bump-to-1.0-rc6.patch b/buildroot-patches/0002-runc-bump-to-1.0-rc6.patch new file mode 100644 index 000000000..39dfded8c --- /dev/null +++ b/buildroot-patches/0002-runc-bump-to-1.0-rc6.patch @@ -0,0 +1,45 @@ +From 73d51fb34287f40236a0d7a8cb2fe50a1f3da9ca Mon Sep 17 00:00:00 2001 +From: Pascal Vizeli +Date: Sun, 25 Nov 2018 16:00:25 +0000 +Subject: [PATCH 1/1] runc: bump to 1.0-rc6 + +Signed-off-by: Pascal Vizeli +--- + package/runc/runc.hash | 2 +- + package/runc/runc.mk | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/package/runc/runc.hash b/package/runc/runc.hash +index 853cbb1..1636e5b 100644 +--- a/package/runc/runc.hash ++++ b/package/runc/runc.hash +@@ -1,3 +1,3 @@ + # Locally computed +-sha256 994a3a0447fcbf7e37614b02aa5604d2d6b9fdb41e6870d8d3ff1138ed6e61ef runc-69663f0bd4b60df09991c08812a60108003fa340.tar.gz ++sha256 a221f8380e7b5806031f54d423af6dde24c305dad49868056cf70e5f5f4ef771 runc-v1.0.0-rc6.tar.gz + sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE +diff --git a/package/runc/runc.mk b/package/runc/runc.mk +index 7f42c96..4bce0aa 100644 +--- a/package/runc/runc.mk ++++ b/package/runc/runc.mk +@@ -5,7 +5,7 @@ + ################################################################################ + + # docker-engine/hack/dockerfile/install/runc.installer:4 RUNC_COMMIT=... +-RUNC_VERSION = 69663f0bd4b60df09991c08812a60108003fa340 ++RUNC_VERSION = v1.0.0-rc6 + RUNC_SITE = $(call github,opencontainers,runc,$(RUNC_VERSION)) + RUNC_LICENSE = Apache-2.0 + RUNC_LICENSE_FILES = LICENSE +@@ -14,7 +14,7 @@ RUNC_WORKSPACE = Godeps/_workspace + + RUNC_LDFLAGS = -X main.gitCommit=$(RUNC_VERSION) + +-RUNC_TAGS = cgo static_build ++RUNC_TAGS = cgo static_build apparmor + + ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) + RUNC_TAGS += seccomp +-- +2.17.1 + diff --git a/buildroot-patches/0004-docker-engine-bump-to-v18.03.1-ce.patch b/buildroot-patches/0003-docker-engine-bump-to-v18.09.0-ce.patch similarity index 91% rename from buildroot-patches/0004-docker-engine-bump-to-v18.03.1-ce.patch rename to buildroot-patches/0003-docker-engine-bump-to-v18.09.0-ce.patch index fc19cc9c5..f1cbc72cf 100644 --- a/buildroot-patches/0004-docker-engine-bump-to-v18.03.1-ce.patch +++ b/buildroot-patches/0003-docker-engine-bump-to-v18.09.0-ce.patch @@ -1,7 +1,7 @@ -From 506db3cdb825a3bbc67939ce0bf5e72c959ac42e Mon Sep 17 00:00:00 2001 +From 0ae02b1feb46e005a7addd6b5addd43ce6c34d2d Mon Sep 17 00:00:00 2001 From: Pascal Vizeli -Date: Mon, 28 May 2018 12:48:37 +0000 -Subject: [PATCH 1/1] docker-engine: bump to v18.03.1-ce +Date: Sun, 25 Nov 2018 16:18:33 +0000 +Subject: [PATCH 1/1] docker-engine: bump to v18.09.0-ce Signed-off-by: Pascal Vizeli --- @@ -10,15 +10,15 @@ Signed-off-by: Pascal Vizeli 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash -index 6c0ed338a5..19c6c73122 100644 +index 6c0ed33..5ef89cc 100644 --- a/package/docker-engine/docker-engine.hash +++ b/package/docker-engine/docker-engine.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 4716df117d867b82ddab2e82395cd40aa3d0925a689eedcec8919729e4c9f121 docker-engine-v17.05.0-ce.tar.gz -+sha256 b05f3709844c45d49922914cf6eb71d4131d0bd5389361376ff6a86aa186f4a0 docker-engine-v18.03.1-ce.tar.gz ++sha256 0f251f04b1973956f070c1d7ee2751a9663da2d9d701fbab7e957f0f5f310478 docker-engine-v18.09.0.tar.gz diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk -index ba84b4cf0a..12c8ad5a61 100644 +index ba84b4c..0c3ab5b 100644 --- a/package/docker-engine/docker-engine.mk +++ b/package/docker-engine/docker-engine.mk @@ -4,9 +4,8 @@ @@ -28,7 +28,7 @@ index ba84b4cf0a..12c8ad5a61 100644 -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.03.1-ce ++DOCKER_ENGINE_VERSION = v18.09.0 +DOCKER_ENGINE_SITE = $(call github,docker,docker-ce,$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 @@ -119,5 +119,5 @@ index ba84b4cf0a..12c8ad5a61 100644 + $(eval $(golang-package)) -- -2.17.0 +2.17.1 diff --git a/buildroot-patches/0003-runc-bump-to-1.0-rc5.patch b/buildroot-patches/0003-runc-bump-to-1.0-rc5.patch deleted file mode 100644 index 4998164ec..000000000 --- a/buildroot-patches/0003-runc-bump-to-1.0-rc5.patch +++ /dev/null @@ -1,45 +0,0 @@ -From dd1fe57cbdb9b7f67eb786f62fd165e332f69d99 Mon Sep 17 00:00:00 2001 -From: Pascal Vizeli -Date: Sun, 27 May 2018 19:52:05 +0000 -Subject: [PATCH 1/1] runc: bump to 1.0-rc5 - -Signed-off-by: Pascal Vizeli ---- - package/runc/runc.hash | 2 +- - package/runc/runc.mk | 6 ++---- - 2 files changed, 3 insertions(+), 5 deletions(-) - -diff --git a/package/runc/runc.hash b/package/runc/runc.hash -index 3e188c5c79..26fdd9727b 100644 ---- a/package/runc/runc.hash -+++ b/package/runc/runc.hash -@@ -1,2 +1,2 @@ - # Locally computed --sha256 b5c50d7d9a5f610d5424f96196efa306ec708fd9299302dd919545099c16b7c1 runc-9c2d8d184e5da67c95d601382adf14862e4f2228.tar.gz -+sha256 770e180d1cca1f3c1a67512ebf9720caafe97af4fc2fe12fa43a3cf7bfa77522 runc-v1.0.0-rc5.tar.gz -diff --git a/package/runc/runc.mk b/package/runc/runc.mk -index f1586f32b2..aa23fce3b0 100644 ---- a/package/runc/runc.mk -+++ b/package/runc/runc.mk -@@ -4,16 +4,14 @@ - # - ################################################################################ - --RUNC_VERSION = 9c2d8d184e5da67c95d601382adf14862e4f2228 -+RUNC_VERSION = v1.0.0-rc5 - RUNC_SITE = $(call github,opencontainers,runc,$(RUNC_VERSION)) - RUNC_LICENSE = Apache-2.0 - RUNC_LICENSE_FILES = LICENSE - - RUNC_WORKSPACE = Godeps/_workspace - --RUNC_LDFLAGS = -X main.gitCommit=$(RUNC_VERSION) -- --RUNC_TAGS = cgo static_build -+RUNC_TAGS = cgo static_build apparmor - - ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) - RUNC_TAGS += seccomp --- -2.17.0 - diff --git a/buildroot-patches/0005-docker-proxy-bump-to-8436c5cdbc627b9c51f9a02742c5a39.patch b/buildroot-patches/0004-docker-proxy-bump-to-449672e51370ccca3b115c834fd0ef2fdec9b094.patch similarity index 73% rename from buildroot-patches/0005-docker-proxy-bump-to-8436c5cdbc627b9c51f9a02742c5a39.patch rename to buildroot-patches/0004-docker-proxy-bump-to-449672e51370ccca3b115c834fd0ef2fdec9b094.patch index e0e7b813f..3ae85166e 100644 --- a/buildroot-patches/0005-docker-proxy-bump-to-8436c5cdbc627b9c51f9a02742c5a39.patch +++ b/buildroot-patches/0004-docker-proxy-bump-to-449672e51370ccca3b115c834fd0ef2fdec9b094.patch @@ -1,8 +1,7 @@ -From ed325bba70db9b66461e212012d29bc8110966c9 Mon Sep 17 00:00:00 2001 +From 512537d74cbefbb288dba7f594557c5abe507317 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli -Date: Mon, 28 May 2018 11:02:14 +0000 -Subject: [PATCH 1/1] docker-proxy: bump to - 8436c5cdbc627b9c51f9a02742c5a3955b19c5e1 +Date: Sun, 25 Nov 2018 16:30:31 +0000 +Subject: [PATCH 1/1] docker-proxy: bump to 449672e51370ccca3b115c834fd0ef2fdec9b094 Signed-off-by: Pascal Vizeli --- @@ -11,15 +10,15 @@ Signed-off-by: Pascal Vizeli 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/package/docker-proxy/docker-proxy.hash b/package/docker-proxy/docker-proxy.hash -index 3ec184f54f..9a9ec8bc3f 100644 +index 3ec184f..4260926 100644 --- a/package/docker-proxy/docker-proxy.hash +++ b/package/docker-proxy/docker-proxy.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 2eee331b6ded567a36e7db708405b34032b93938682cf049025f48b96d755bf6 docker-proxy-7b2b1feb1de4817d522cc372af149ff48d25028e.tar.gz -+sha256 45db634cbcbc68377129008b71160a0074e30da453e9ab5afebcbaec4d2a4733 docker-proxy-8436c5cdbc627b9c51f9a02742c5a3955b19c5e1.tar.gz ++sha256 1823f8f86b0b7fa5c65afaed75db1732b72245c318205a75180f0da6525f2f67 docker-proxy-449672e51370ccca3b115c834fd0ef2fdec9b094.tar.gz diff --git a/package/docker-proxy/docker-proxy.mk b/package/docker-proxy/docker-proxy.mk -index dfa9d4347d..fc68ac7657 100644 +index dfa9d43..9250538 100644 --- a/package/docker-proxy/docker-proxy.mk +++ b/package/docker-proxy/docker-proxy.mk @@ -4,7 +4,7 @@ @@ -27,7 +26,7 @@ index dfa9d4347d..fc68ac7657 100644 ################################################################################ -DOCKER_PROXY_VERSION = 7b2b1feb1de4817d522cc372af149ff48d25028e -+DOCKER_PROXY_VERSION = 8436c5cdbc627b9c51f9a02742c5a3955b19c5e1 ++DOCKER_PROXY_VERSION = 449672e51370ccca3b115c834fd0ef2fdec9b094 DOCKER_PROXY_SITE = $(call github,docker,libnetwork,$(DOCKER_PROXY_VERSION)) DOCKER_PROXY_LICENSE = Apache-2.0 @@ -41,5 +40,5 @@ index dfa9d4347d..fc68ac7657 100644 define DOCKER_PROXY_INSTALL_TARGET_CMDS -- -2.17.0 +2.17.1 diff --git a/buildroot-patches/0006-Pump-raspberry-pi-firmware-for-kernel-4.14.patch b/buildroot-patches/0005-Pump-raspberry-pi-firmware-for-kernel-4.14.patch similarity index 87% rename from buildroot-patches/0006-Pump-raspberry-pi-firmware-for-kernel-4.14.patch rename to buildroot-patches/0005-Pump-raspberry-pi-firmware-for-kernel-4.14.patch index c1db729cc..df6bbe1a0 100644 --- a/buildroot-patches/0006-Pump-raspberry-pi-firmware-for-kernel-4.14.patch +++ b/buildroot-patches/0005-Pump-raspberry-pi-firmware-for-kernel-4.14.patch @@ -15,7 +15,7 @@ index 4854deae03..3a9f21e877 100644 +++ b/package/rpi-firmware/rpi-firmware.hash @@ -1,2 +1,2 @@ # Locally computed --sha256 ea451834e20136d249661e0ed7d1fdfa309249d233a387f44dd6c3b746a454c6 rpi-firmware-36f991382326907419f64917624427e59fd8e4a0.tar.gz +-sha256 57c56e9e41a2d9b1ce660aa7887db5c4b44f768fc63c6b6ef1d2fe460a090d85 rpi-firmware-fbad6408c4596d3d671736ee0571aae444f24e68.tar.gz +sha256 8939476badeb1d28adc60b46315f1511cd83c1942fbde5ef2e04c4f1b9591da6 rpi-firmware-91e955e3786a807f4af8ae7e4a4bbf9ec470b843.tar.gz diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index eab4c5d307..cb2e9d6cd8 100644 @@ -25,7 +25,7 @@ index eab4c5d307..cb2e9d6cd8 100644 # ################################################################################ --RPI_FIRMWARE_VERSION = 36f991382326907419f64917624427e59fd8e4a0 +-RPI_FIRMWARE_VERSION = fbad6408c4596d3d671736ee0571aae444f24e68 +RPI_FIRMWARE_VERSION = 91e955e3786a807f4af8ae7e4a4bbf9ec470b843 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause diff --git a/buildroot-patches/0007-NetworkManager_wpa-supplicant.patch b/buildroot-patches/0006-NetworkManager_wpa-supplicant.patch similarity index 100% rename from buildroot-patches/0007-NetworkManager_wpa-supplicant.patch rename to buildroot-patches/0006-NetworkManager_wpa-supplicant.patch diff --git a/buildroot-patches/0008-Fix-dhcp-client.patch b/buildroot-patches/0007-Fix-dhcp-client.patch similarity index 100% rename from buildroot-patches/0008-Fix-dhcp-client.patch rename to buildroot-patches/0007-Fix-dhcp-client.patch diff --git a/buildroot-patches/0009-NetworkManager-allow-to-wait-on-boot.patch b/buildroot-patches/0008-NetworkManager-allow-to-wait-on-boot.patch similarity index 100% rename from buildroot-patches/0009-NetworkManager-allow-to-wait-on-boot.patch rename to buildroot-patches/0008-NetworkManager-allow-to-wait-on-boot.patch diff --git a/buildroot-patches/0010-rpi-use-latest-wifi-driver.patch b/buildroot-patches/0009-rpi-use-latest-wifi-driver.patch similarity index 73% rename from buildroot-patches/0010-rpi-use-latest-wifi-driver.patch rename to buildroot-patches/0009-rpi-use-latest-wifi-driver.patch index 833d989d0..d28c04f2b 100644 --- a/buildroot-patches/0010-rpi-use-latest-wifi-driver.patch +++ b/buildroot-patches/0009-rpi-use-latest-wifi-driver.patch @@ -1,6 +1,6 @@ -From 30af519c8cc4b4c46dfb4ee42adda49a81dbc475 Mon Sep 17 00:00:00 2001 +From 76e3a48b94cc0f44d05af3eedb5199ff230848fb Mon Sep 17 00:00:00 2001 From: Pascal Vizeli -Date: Thu, 12 Jul 2018 21:33:50 +0000 +Date: Sun, 25 Nov 2018 16:58:13 +0000 Subject: [PATCH 1/1] rpi: use latest wifi driver Signed-off-by: Pascal Vizeli @@ -10,25 +10,25 @@ Signed-off-by: Pascal Vizeli 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.hash b/package/rpi-wifi-firmware/rpi-wifi-firmware.hash -index bc0d7c8b02..946a55fac0 100644 +index c61a47e..84e02f3 100644 --- a/package/rpi-wifi-firmware/rpi-wifi-firmware.hash +++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.hash @@ -1,3 +1,3 @@ # Locally calculated --sha256 beade89c5c072158b6cf18cf741d2695980fd6a4533dab3897bebf90c0631a30 rpi-wifi-firmware-18d7c931aff0a8a78360b9b9eaeb15d1224fb907.tar.gz -+sha256 163fc0629d9ddcf7b729fefd3129f8d4f43b8fc912fa487b6d8bc57cf57232a7 rpi-wifi-firmware-86e88fbf0345da49555d0ec34c80b4fbae7d0cd3.tar.gz +-sha256 155ebd5f08b819e0ce4e1950fcc972b2086cee3c16d36aba348beba1910c1fd2 rpi-wifi-firmware-8c1e2bff1da9850f68efcfff3da5d939ec27a2ee.tar.gz ++sha256 95d26fadfa73505b1fdcc0080728655109ceef9b5a0e63f36d9383e9ada57ab2 rpi-wifi-firmware-b518de45ced519e8f7a499f4778100173402ae43.tar.gz sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk -index 32dd3e519b..248b0a2621 100644 +index 2eb8cee..da915bd 100644 --- a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk +++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk @@ -4,14 +4,14 @@ # ################################################################################ --RPI_WIFI_FIRMWARE_VERSION = 18d7c931aff0a8a78360b9b9eaeb15d1224fb907 +-RPI_WIFI_FIRMWARE_VERSION = 8c1e2bff1da9850f68efcfff3da5d939ec27a2ee -RPI_WIFI_FIRMWARE_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(RPI_WIFI_FIRMWARE_VERSION)) -+RPI_WIFI_FIRMWARE_VERSION = 86e88fbf0345da49555d0ec34c80b4fbae7d0cd3 ++RPI_WIFI_FIRMWARE_VERSION = b518de45ced519e8f7a499f4778100173402ae43 +RPI_WIFI_FIRMWARE_SITE = $(call github,RPi-Distro,firmware-nonfree,$(RPI_WIFI_FIRMWARE_VERSION)) RPI_WIFI_FIRMWARE_LICENSE = PROPRIETARY RPI_WIFI_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx diff --git a/buildroot-patches/0010-dt-utils-fix-glibc.patch b/buildroot-patches/0010-dt-utils-fix-glibc.patch new file mode 100644 index 000000000..f4613edd0 --- /dev/null +++ b/buildroot-patches/0010-dt-utils-fix-glibc.patch @@ -0,0 +1,100 @@ +From 7e5094033df2efc88928071c6e7a2867c396ca68 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 3 Dec 2018 13:38:00 +0100 +Subject: package/dt-utils: fix build with glibc 2.28 + +This commit backports an upstream patch that fixes the build of +dt-utils with glibc 2.28+. + +Fixes bug #11536. + +Signed-off-by: Thomas Petazzoni +--- + ...pilation-for-glibc-version-2.27.9000-36.f.patch | 75 ++++++++++++++++++++++ + 1 file changed, 75 insertions(+) + create mode 100644 package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch + +diff --git a/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch b/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch +new file mode 100644 +index 0000000..8c2f585 +--- /dev/null ++++ b/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 ++ +-- +cgit v0.12 + diff --git a/buildroot-patches/0011-tini-make-static-for-docker.patch b/buildroot-patches/0011-tini-make-static-for-docker.patch new file mode 100644 index 000000000..dc5873b98 --- /dev/null +++ b/buildroot-patches/0011-tini-make-static-for-docker.patch @@ -0,0 +1,25 @@ +From e757b263a4f3ff67e69ae6cc6abdaa83039bf6b6 Mon Sep 17 00:00:00 2001 +From: Pascal Vizeli +Date: Tue, 27 Nov 2018 20:31:33 +0000 +Subject: [PATCH 1/1] tini: make static for docker + +Signed-off-by: Pascal Vizeli +--- + package/tini/tini.mk | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/package/tini/tini.mk b/package/tini/tini.mk +index 132bfc9..b6d7d80 100644 +--- a/package/tini/tini.mk ++++ b/package/tini/tini.mk +@@ -12,6 +12,7 @@ TINI_LICENSE_FILES = LICENSE + TINI_CFLAGS = $(TARGET_CFLAGS) \ + -DTINI_VERSION=\"$(TINI_VERSION)\" \ + -DTINI_GIT=\"\" ++TINI_CFLAGS += -static + + ifeq ($(BR2_PACKAGE_TINI_MINIMAL),y) + TINI_CFLAGS += -DTINI_MINIMAL +-- +2.17.1 + diff --git a/buildroot-patches/0011-uboot-tools-Update-tools-to-2018.07.patch b/buildroot-patches/0011-uboot-tools-Update-tools-to-2018.07.patch deleted file mode 100644 index d8960fe2f..000000000 --- a/buildroot-patches/0011-uboot-tools-Update-tools-to-2018.07.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d57b9c5b5b553b3caead6eb64b816f74c2e523f6 Mon Sep 17 00:00:00 2001 -From: Pascal Vizeli -Date: Tue, 7 Aug 2018 08:45:35 +0000 -Subject: [PATCH 1/1] uboot-tools: Update tools to 2018.07 - -Signed-off-by: Pascal Vizeli ---- - package/uboot-tools/uboot-tools.hash | 2 +- - package/uboot-tools/uboot-tools.mk | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/package/uboot-tools/uboot-tools.hash b/package/uboot-tools/uboot-tools.hash -index 788c1696f8..97d0bd0b5f 100644 ---- a/package/uboot-tools/uboot-tools.hash -+++ b/package/uboot-tools/uboot-tools.hash -@@ -1,2 +1,2 @@ - # Locally computed: --sha256 7e7477534409d5368eb1371ffde6820f0f79780a1a1f676161c48442cb303dfd u-boot-2018.03.tar.bz2 -+sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2 -diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk -index 882576d2d5..f5027d2da3 100644 ---- a/package/uboot-tools/uboot-tools.mk -+++ b/package/uboot-tools/uboot-tools.mk -@@ -4,7 +4,7 @@ - # - ################################################################################ - --UBOOT_TOOLS_VERSION = 2018.03 -+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+ --- -2.17.1 - diff --git a/buildroot-patches/0012-openvmtools-bump-version-to-10.3.5.patch b/buildroot-patches/0012-openvmtools-bump-version-to-10.3.5.patch new file mode 100644 index 000000000..1cac34de6 --- /dev/null +++ b/buildroot-patches/0012-openvmtools-bump-version-to-10.3.5.patch @@ -0,0 +1,87 @@ +From 9a81400fdba5a0a82ff972f25b94ff94e7ed0e50 Mon Sep 17 00:00:00 2001 +From: Pascal Vizeli +Date: Mon, 3 Dec 2018 23:27:00 +0000 +Subject: [PATCH 1/1] openvmtools: bump version to 10.3.5 + +Signed-off-by: Pascal Vizeli +--- + package/openvmtools/0001-has_bsd_printf.patch | 26 ------------------- + ...rror.patch => 0001-no_cflags_werror.patch} | 0 + ...s.patch => 0002-dont-force-cppflags.patch} | 0 + ....patch => 0003-uclibc_secure_getenv.patch} | 0 + package/openvmtools/openvmtools.hash | 2 +- + package/openvmtools/openvmtools.mk | 2 +- + 6 files changed, 2 insertions(+), 28 deletions(-) + delete mode 100644 package/openvmtools/0001-has_bsd_printf.patch + rename package/openvmtools/{0002-no_cflags_werror.patch => 0001-no_cflags_werror.patch} (100%) + rename package/openvmtools/{0003-dont-force-cppflags.patch => 0002-dont-force-cppflags.patch} (100%) + rename package/openvmtools/{0004-uclibc_secure_getenv.patch => 0003-uclibc_secure_getenv.patch} (100%) + +diff --git a/package/openvmtools/0001-has_bsd_printf.patch b/package/openvmtools/0001-has_bsd_printf.patch +deleted file mode 100644 +index df23f00..0000000 +--- a/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/package/openvmtools/0002-no_cflags_werror.patch b/package/openvmtools/0001-no_cflags_werror.patch +similarity index 100% +rename from package/openvmtools/0002-no_cflags_werror.patch +rename to package/openvmtools/0001-no_cflags_werror.patch +diff --git a/package/openvmtools/0003-dont-force-cppflags.patch b/package/openvmtools/0002-dont-force-cppflags.patch +similarity index 100% +rename from package/openvmtools/0003-dont-force-cppflags.patch +rename to package/openvmtools/0002-dont-force-cppflags.patch +diff --git a/package/openvmtools/0004-uclibc_secure_getenv.patch b/package/openvmtools/0003-uclibc_secure_getenv.patch +similarity index 100% +rename from package/openvmtools/0004-uclibc_secure_getenv.patch +rename to package/openvmtools/0003-uclibc_secure_getenv.patch +diff --git a/package/openvmtools/openvmtools.hash b/package/openvmtools/openvmtools.hash +index bf344e5..743b7dc 100644 +--- a/package/openvmtools/openvmtools.hash ++++ b/package/openvmtools/openvmtools.hash +@@ -1,2 +1,2 @@ + # locally computed +-sha256 ff384ab0c11e19db0fd6ddab60e8ae48a4591b141fb3a8e8f1d4e1a489dd293f openvmtools-5a9033ddfa95786d867e4d02bbb9a29bac8fb64f.tar.gz ++sha256 c0ecd281d6113ca700b1ab0a10559db72e80d8fc03264d53ebfdc400578ab1b6 openvmtools-stable-10.3.5.tar.gz +diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk +index 9501ef3..f331c0e 100644 +--- a/package/openvmtools/openvmtools.mk ++++ b/package/openvmtools/openvmtools.mk +@@ -4,7 +4,7 @@ + # + ################################################################################ + +-OPENVMTOOLS_VERSION = 5a9033ddfa95786d867e4d02bbb9a29bac8fb64f ++OPENVMTOOLS_VERSION = stable-10.3.5 + OPENVMTOOLS_SITE = $(call github,vmware,open-vm-tools,$(OPENVMTOOLS_VERSION)) + OPENVMTOOLS_SUBDIR = open-vm-tools + OPENVMTOOLS_LICENSE = LGPL-2.1 +-- +2.17.1 + diff --git a/buildroot/.gitlab-ci.yml b/buildroot/.gitlab-ci.yml index e80491cdd..c78f2ea58 100644 --- a/buildroot/.gitlab-ci.yml +++ b/buildroot/.gitlab-ci.yml @@ -43,8 +43,7 @@ check-flake8: check-package: script: - - find . -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) - -exec ./utils/check-package {} + + - make check-package .defconfig: &defconfig # Running the defconfigs for every push is too much, so limit to @@ -63,6 +62,11 @@ check-package: - output/build/packages-file-list.txt .runtime_test: &runtime_test + # Running the runtime tests for every push is too much, so limit to + # explicit triggers through the API. + only: + - triggers + - tags # 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 @@ -79,6 +83,7 @@ acmesystems_aria_g25_128mb_defconfig: *defconfig acmesystems_aria_g25_256mb_defconfig: *defconfig acmesystems_arietta_g25_128mb_defconfig: *defconfig acmesystems_arietta_g25_256mb_defconfig: *defconfig +amarula_a64_relic_defconfig: *defconfig amarula_vyasa_rk3288_defconfig: *defconfig arcturus_ucls1012a_defconfig: *defconfig arcturus_ucp1020_defconfig: *defconfig @@ -110,6 +115,7 @@ atmel_sama5d4_xplained_mmc_defconfig: *defconfig atmel_sama5d4_xplained_mmc_dev_defconfig: *defconfig bananapi_m1_defconfig: *defconfig bananapi_m2_plus_defconfig: *defconfig +bananapi_m2_ultra_defconfig: *defconfig bananapi_m64_defconfig: *defconfig bananapro_defconfig: *defconfig beagleboardx15_defconfig: *defconfig @@ -147,6 +153,7 @@ imx6slevk_defconfig: *defconfig imx6sx-sdb_defconfig: *defconfig imx6ulevk_defconfig: *defconfig imx6ulpico_defconfig: *defconfig +imx7d-sdb_defconfig: *defconfig imx7dpico_defconfig: *defconfig lego_ev3_defconfig: *defconfig linksprite_pcduino_defconfig: *defconfig @@ -165,11 +172,14 @@ nexbox_a95x_defconfig: *defconfig nitrogen6sx_defconfig: *defconfig nitrogen6x_defconfig: *defconfig nitrogen7_defconfig: *defconfig +nitrogen8m_defconfig: *defconfig odroidc2_defconfig: *defconfig +odroidxu4_defconfig: *defconfig +olimex_a10_olinuxino_lime_defconfig: *defconfig olimex_a13_olinuxino_defconfig: *defconfig olimex_a20_olinuxino_lime2_defconfig: *defconfig olimex_a20_olinuxino_lime_defconfig: *defconfig -olimex_a20_olinuxino_lime_mali_defconfig: *defconfig +olimex_a20_olinuxino_lime_legacy_defconfig: *defconfig olimex_a20_olinuxino_micro_defconfig: *defconfig olimex_a64_olinuxino_defconfig: *defconfig olimex_imx233_olinuxino_defconfig: *defconfig @@ -213,6 +223,7 @@ qemu_ppc64le_pseries_defconfig: *defconfig qemu_ppc_g3beige_defconfig: *defconfig qemu_ppc_mpc8544ds_defconfig: *defconfig qemu_ppc_virtex_ml507_defconfig: *defconfig +qemu_riscv64_virt_defconfig: *defconfig qemu_sh4_r2d_defconfig: *defconfig qemu_sh4eb_r2d_defconfig: *defconfig qemu_sparc64_sun4u_defconfig: *defconfig @@ -228,6 +239,7 @@ raspberrypi3_64_defconfig: *defconfig raspberrypi3_defconfig: *defconfig raspberrypi3_qt5we_defconfig: *defconfig raspberrypi_defconfig: *defconfig +riotboard_defconfig: *defconfig roseapplepi_defconfig: *defconfig s6lx9_microboard_defconfig: *defconfig sheevaplug_defconfig: *defconfig @@ -255,9 +267,17 @@ zynq_microzed_defconfig: *defconfig zynq_zc706_defconfig: *defconfig zynq_zed_defconfig: *defconfig zynq_zybo_defconfig: *defconfig +zynqmp_zcu106_defconfig: *defconfig tests.boot.test_atf.TestATFAllwinner: *runtime_test tests.boot.test_atf.TestATFMarvell: *runtime_test tests.boot.test_atf.TestATFVexpress: *runtime_test +tests.core.test_file_capabilities.TestFileCapabilities: *runtime_test +tests.core.test_hardening.TestFortifyConserv: *runtime_test +tests.core.test_hardening.TestFortifyNone: *runtime_test +tests.core.test_hardening.TestRelro: *runtime_test +tests.core.test_hardening.TestRelroPartial: *runtime_test +tests.core.test_hardening.TestSspNone: *runtime_test +tests.core.test_hardening.TestSspStrong: *runtime_test tests.core.test_post_scripts.TestPostScripts: *runtime_test tests.core.test_rootfs_overlay.TestRootfsOverlay: *runtime_test tests.core.test_timezone.TestGlibcAllTimezone: *runtime_test @@ -267,6 +287,7 @@ tests.fs.test_ext.TestExt2: *runtime_test tests.fs.test_ext.TestExt2r1: *runtime_test tests.fs.test_ext.TestExt3: *runtime_test tests.fs.test_ext.TestExt4: *runtime_test +tests.fs.test_f2fs.TestF2FS: *runtime_test tests.fs.test_iso9660.TestIso9660Grub2External: *runtime_test tests.fs.test_iso9660.TestIso9660Grub2ExternalCompress: *runtime_test tests.fs.test_iso9660.TestIso9660Grub2Internal: *runtime_test @@ -293,8 +314,18 @@ tests.package.test_ipython.TestIPythonPy2: *runtime_test tests.package.test_ipython.TestIPythonPy3: *runtime_test tests.package.test_python.TestPython2: *runtime_test tests.package.test_python.TestPython3: *runtime_test +tests.package.test_python_autobahn.TestPythonPy2Autobahn: *runtime_test +tests.package.test_python_autobahn.TestPythonPy3Autobahn: *runtime_test tests.package.test_python_cryptography.TestPythonPy2Cryptography: *runtime_test tests.package.test_python_cryptography.TestPythonPy3Cryptography: *runtime_test +tests.package.test_python_incremental.TestPythonPy2Incremental: *runtime_test +tests.package.test_python_incremental.TestPythonPy3Incremental: *runtime_test +tests.package.test_python_twisted.TestPythonPy2Twisted: *runtime_test +tests.package.test_python_twisted.TestPythonPy3Twisted: *runtime_test +tests.package.test_python_txaio.TestPythonPy2Txaio: *runtime_test +tests.package.test_python_txaio.TestPythonPy3Txaio: *runtime_test +tests.package.test_python_txtorcon.TestPythonPy2Txtorcon: *runtime_test +tests.package.test_python_txtorcon.TestPythonPy3Txtorcon: *runtime_test tests.package.test_rust.TestRust: *runtime_test tests.package.test_rust.TestRustBin: *runtime_test tests.package.test_syslog_ng.TestSyslogNg: *runtime_test diff --git a/buildroot/.gitlab-ci.yml.in b/buildroot/.gitlab-ci.yml.in index fb2650c5c..db526c4b5 100644 --- a/buildroot/.gitlab-ci.yml.in +++ b/buildroot/.gitlab-ci.yml.in @@ -43,8 +43,7 @@ check-flake8: check-package: script: - - find . -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) - -exec ./utils/check-package {} + + - make check-package .defconfig: &defconfig # Running the defconfigs for every push is too much, so limit to @@ -63,6 +62,11 @@ check-package: - output/build/packages-file-list.txt .runtime_test: &runtime_test + # Running the runtime tests for every push is too much, so limit to + # explicit triggers through the API. + only: + - triggers + - tags # 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 diff --git a/buildroot/CHANGES b/buildroot/CHANGES index d41642b03..edefd4bab 100644 --- a/buildroot/CHANGES +++ b/buildroot/CHANGES @@ -1,3 +1,476 @@ +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.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. @@ -226,6 +699,242 @@ #10961: Grub2 fails to build for x86_64 when BR2_SSP_ALL is enabled +2018.02.8, 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. + + graph-depends: Fix for package names starting with a non-alpha + character. + + Updated/fixed packages: attr, audit, bind, brotli, easydbus, + elfutils, gauche, gcc, giflib, gpsd, lcdproc, libcurl, + libiscsi, libnfs, libnspr, libnss, libkcapi, libsemanage, + liburiparser, lighttpd, linux, lua-curl, mariadb, mmc-utils, + mosquitto, mysql, 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, xdriver_xf86-video-geode, + xlib_libfontenc, xproto_inputproto, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #11086: download/git submodule breaks on symlinked dl folder + #11251: Util scanpypi failes when package change - to _ in.. + #11476: stdio2.h error invalid use of __builtin_va_arg_pack + #11481: Docs: Is external.desc required? + +2018.02.7, Released October 25th, 2018 + + Important / security related fixes. + + 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, erlang, file, freetype, gcc, git, gvfs, leveldb, + libarchive, libcurl, 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.02.6, 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/fixes packages: acpid, android-tools, apache, + arp-scan, bandwidthd, bind, bison, clamav, connman, cppcms, + cramfs, fio, gcc, ghostscript, glibc, gnupg, httping, + igmpproxy, imagemagick, imlib2, ipsec-tools, lcms2, libcurl, + libesmtp, libnfs, libssh, libxslt, links, linuxptp, + mediastreamer, minicom, moarvm, nilfs-utils, ocrad, parted, + php, pv, python-django, qt, qt5quickcontrols, qt5webengine, + screen, sdl2, shairport-sync, squashfs, strongswan, + vboot-utils, webkitgtk, wireguard, x265, xen, xlib_libXfont, + xlib_libXft + + New packages: brotli, woff2 + +2018.02.5, Released August 29th, 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, apache, attr, bind, + boot-wrapper-aarch64, brltty, bzip2, chrony, crda, cryptsetup, + dahdi-tools, dmidecode, dropbear, eigen, erlang, ffmpeg, gawk, + gcc, ghostscript, gnutls, ipsec-tools, libarchive, libfuse, + libopenssl, libselinux, libsoup, lighttpd, linuxptp, + lttng-modules, lttng-tools, lua-flu, lvm2, m4, makedevs, + mariadb, mbedtls, mesa3d-headers, mtd, ncurses, nodejs, + openssh, php, postgresql, python-django, qt5xmlpatterns, ruby, + samba4, shairport-sync, stress-ng, ti-utils, uboot-tools, vim, + waylandpp, wireless_tools, 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.02.4, Released July 21th, 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. + + Defconfigs: Raspberrypi3: Bump rootfs size, Minnowboard-max: + Support ethernet on Turbot variant. + + Updated/fixed packages: bind, clamav, collectd, dos2unix, + edid-decode, gcc, gdb, heimdal, hidapi, imx-gpu-viv, libcurl, + libglib2, liblogging, libostree, libsoup, libv4l, lm-sensors, + ncurses, network-manager, patchelf, pinentry, procps-ng, qpdf, + qt5, qt53d, qt5base, qt5charts, qt5script, qt5serialport, + systemd, wireguard, wireless-regdb + + Issues resolved (http://bugs.uclibc.org): + + #11101: host-patchelf Endian Issue with relative RPATH + +2018.02.3, Released June 18th, 2018 + + Important / security related fixes. + + Various fixes for building on modern distributions (GCC 8.x, + no rpcgen utility). + + ARM: Default to binutils 2.28 and warn about newer binutils + versions, which are known to cause boot failures for Linux + kernels built in thumb mode. + + Busybox/mdev: Fix module autoloading. + + Busybox/sysvinit: inittab: Add /dev/{stdin,stdout,stderr} + symlinks, call swapon -a to activate any configured swap + devices. + + Dependencies: Check that PATH does not contain current working + directory, which triggers a number of build failures. + + Infrastructure: Error out for packages erroneously using the + 'local' site method but not defining a _SITE. + + Linux: Fix cuImage. / simpleImage. handling. Ensure + kconfig uses ncurses from the host to fix a ncurses/ncursesw + mixup, causing menuconfig display corruption. + + Toolchain: Workarounds for fix-rpath issues with binutils and + elf2flt. + + Util-linux: Fix blocking on getrandom() issue with recent + kernels. + + Remove broken freescale_imx31_3stack, + freescale_imx6sololiteevk and freescale_imx6ulevk defconfigs. + + Updated/fixed packages: apr-util, asterisk, attr, audit, + autofs, binutils, busybox, cifs-utils, cups-filters, dash, + ebtables, exim, expect, f2fs-tools, faketime, file, gdb, git, + glibc, gnupg, gnupg2, gst1-plugins-bad, imagemagick, jamvm, + jpeg-turbo, libcap, libcoap, libcurl, libgcrypt, libjpeg, + libnss, libressl, libtirpc, libvncserver, libvorbis, libxslt, + log4cplus, lrzsz, ltrace, lynx, mariadb, mbedtls, mpg123, + nasm, netplug, network-manager, nfs-utils, nodejs, + openvmtools, patch, perl, php-amqp, poppler, procps-ng, + python, python-websockets, quota, redis, samba4, sysvinit, + transmission, triggerhappy, util-linux, wavpack, wget, + wireshark, xen, zmqpp + + Issues resolved (http://bugs.uclibc.org): + + #10986: Installing package attr when already supplied by busybox.. + #11031: ld-elf2flt: host/bin/ld.real': execvp: No such file or.. + +2018.02.2, Released May 4th, 2018 + + Important / security related fixes. + + Tweak package size/file instrumentation to better handle + package rebuilds. + + Revert /etc/shells creation when bash is enabled. + + Exclude /lib/firmware from the rpath fixup logic, as it may + contain non-native ELF files. + + Scanpypi: Support the new PyPi infrastructure. + + Handle GCC 8.x on the host. + + Ensure timestamp of /usr is updated to support the systemd + ConditionNeedsUpdate option. + + Updated/fixed packages: bluez5_utils, flann, gdb, gnupg2, + grub2, libcec, libcgi, libglib2, libgpg-error, libgpgme, + libtomcrypt, mbedtls, mkpasswd, php, python, python-requests, + python-watchdog, qt53d, qt5websockets, sdl2, sdl2_image, + syslog-ng, systemd, tcl, tcllib, uclibc, usb_modeswitch, + wireguard, wmctrl + + Issues resolved (http://bugs.uclibc.org): + + #10896: /bin/sh not in /etc/shells + #10961: Grub2 fails to build for x86_64 when BR2_SSP_ALL is enabled + 2018.02.1, Released April 9th, 2018 Important / security related fixes. diff --git a/buildroot/Config.in b/buildroot/Config.in index 6b5b2b043..03e4eb392 100644 --- a/buildroot/Config.in +++ b/buildroot/Config.in @@ -67,6 +67,9 @@ config BR2_HOST_GCC_AT_LEAST_8 default y if BR2_HOST_GCC_VERSION = "8" select BR2_HOST_GCC_AT_LEAST_7 +# When adding new entries above, be sure to update +# the HOSTCC_MAX_VERSION variable in the Makefile. + # Hidden boolean selected by packages in need of Java in order to build # (example: kodi) config BR2_NEEDS_HOST_JAVA @@ -809,6 +812,8 @@ config BR2_FORTIFY_SOURCE_NONE config BR2_FORTIFY_SOURCE_1 bool "Conservative" + # gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164 + depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6 help This option sets _FORTIFY_SOURCE to 1 and only introduces checks that shouldn't change the behavior of conforming @@ -816,6 +821,8 @@ config BR2_FORTIFY_SOURCE_1 config BR2_FORTIFY_SOURCE_2 bool "Aggressive" + # gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164 + depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6 help This option sets _FORTIFY_SOURCES to 2 and some more checking is added, but some conforming programs might fail. diff --git a/buildroot/Config.in.legacy b/buildroot/Config.in.legacy index e7b0316a4..a5e0c9fe4 100644 --- a/buildroot/Config.in.legacy +++ b/buildroot/Config.in.legacy @@ -142,6 +142,447 @@ comment "unpredictable ways. " comment "----------------------------------------------------" endif +############################################################################### +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. + +############################################################################### +comment "Legacy options removed in 2018.08" + +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" @@ -169,6 +610,8 @@ config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF BR2_PACKAGE_MEDIAART_BACKEND_QT has been renamed to BR2_PACKAGE_LIBMEDIAART_BACKEND_QT +# Note: BR2_PACKAGE_TI_SGX_AM335X is still referenced from +# package/ti-sgx-km/Config.in config BR2_PACKAGE_TI_SGX_AM335X bool "ti-sgx-km AM335X option renamed" select BR2_LEGACY @@ -177,6 +620,8 @@ config BR2_PACKAGE_TI_SGX_AM335X 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 @@ -185,6 +630,8 @@ config BR2_PACKAGE_TI_SGX_AM437X 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 @@ -193,6 +640,8 @@ config BR2_PACKAGE_TI_SGX_AM4430 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 @@ -707,33 +1156,24 @@ 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" @@ -1284,23 +1724,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" @@ -1323,43 +1757,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" @@ -1488,23 +1910,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" @@ -1579,24 +1995,18 @@ 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. config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS bool "libevas-generic-loaders package removed" @@ -1809,14 +2219,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. config BR2_GDB_VERSION_7_7 bool "gdb 7.7 has been removed" @@ -1957,14 +2364,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. config BR2_PACKAGE_PYTHON_PYXML bool "python-pyxml package has been removed" @@ -2165,46 +2569,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. 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. 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. config BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI bool "DirectFB example df_andi has been removed" @@ -3031,13 +3423,10 @@ config BR2_PACKAGE_LIBELF 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" @@ -3190,23 +3579,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" @@ -3368,33 +3751,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" diff --git a/buildroot/DEVELOPERS b/buildroot/DEVELOPERS index f24ef2752..53467da48 100644 --- a/buildroot/DEVELOPERS +++ b/buildroot/DEVELOPERS @@ -53,6 +53,7 @@ F: package/nginx-naxsi/ F: package/policycoreutils/ 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/ @@ -70,6 +71,7 @@ F: package/webkitgtk/ F: package/woff2/ N: Adrien Gallouët +F: package/bird/ F: package/glorytun/ N: Aleksander Morgado @@ -143,7 +145,9 @@ N: Andy Kennedy F: package/libunwind/ N: Angelo Compagnucci +F: package/corkscrew/ F: package/i2c-tools/ +F: package/mender/ F: package/mono/ F: package/mono-gtksharp3/ F: package/monolite/ @@ -155,9 +159,7 @@ F: package/sysdig/ N: Anisse Astier F: package/go/ - -N: Antony Pavlov -F: package/lsscsi/ +F: package/nghttp2/ N: Anthony Viallard F: package/gnuplot/ @@ -165,6 +167,9 @@ 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/ @@ -183,6 +188,7 @@ 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/ @@ -193,9 +199,8 @@ F: package/sqlcipher/ F: package/stress/ N: Asaf Kahlon -F: package/python-jsonmodels/ -F: package/python-subprocess32/ -F: package/python-yieldfrom/ +F: package/libuv/ +F: package/python* F: package/zeromq/ N: Ash Charles @@ -263,9 +268,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/ @@ -324,6 +329,7 @@ F: package/libyuv/ F: package/mesa3d/ F: package/minidlna/ F: package/mjpg-streamer/ +F: package/perl-crypt-openssl-guess/ F: package/perl-crypt-openssl-random/ F: package/perl-crypt-openssl-rsa/ F: package/perl-digest-sha1/ @@ -368,6 +374,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/ @@ -405,11 +413,21 @@ N: Carlo Caione F: package/sunxi-boards/ N: Carlos Santos +F: package/aer-inject/ +F: package/busybox/ F: package/gtest/ +F: package/initscripts/ F: package/libpam-radius-auth/ F: package/libpam-tacplus/ F: package/modem-manager/ 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/ @@ -421,6 +439,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 @@ -448,9 +469,11 @@ F: package/batman-adv/ 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/ @@ -460,6 +483,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/ @@ -477,9 +531,6 @@ 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 @@ -495,6 +546,9 @@ N: Damien Lanson F: package/libvdpau/ F: package/log4cpp/ +N: Daniel Nicoletti +F: package/cutelyst/ + N: Daniel Nyström F: package/e2tools/ @@ -580,6 +634,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/ @@ -644,6 +699,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 @@ -671,15 +727,20 @@ 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/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/ @@ -693,23 +754,39 @@ 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/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 @@ -771,6 +848,7 @@ F: package/zxing-cpp/ N: Gaël Portay F: package/qt5/qt5virtualkeyboard/ F: package/qt5/qt5webengine/ +F: package/qt5/qt5webkit/ F: package/qt5/qt5webkit-examples/ N: Gary Bisson @@ -798,6 +876,7 @@ F: package/leptonica/ F: package/ocrad/ F: package/tesseract-ocr/ F: package/webp/ +F: package/xapian/ N: Giulio Benetti F: package/sunxi-mali-mainline/ @@ -812,6 +891,15 @@ 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/ + N: Guillaume Gardet F: package/c-icap/ F: package/c-icap-modules/ @@ -827,6 +915,10 @@ 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/ @@ -863,8 +955,6 @@ F: board/amarula/ F: board/asus/ F: board/bananapi/ F: board/engicam/ -F: configs/amarula_vyasa_rk3288_defconfig -F: configs/asus_tinker_rk3288_defconfig F: board/friendlyarm/nanopi-a64/ F: board/friendlyarm/nanopi-neo2/ F: board/olimex/a64-olinuxino/ @@ -873,8 +963,16 @@ 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 @@ -884,11 +982,11 @@ 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/python-async-timeout/ +F: package/python-multidict/ +F: package/python-yarl/ N: James Knight F: package/atkmm/ @@ -904,14 +1002,14 @@ F: package/yad/ N: Jan Heylen F: package/opentracing-cpp/ -N: Jan Kundrát -F: configs/solidrun_clearfog_defconfig -F: board/solidrun/clearfog/ - 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/ @@ -920,6 +1018,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/ @@ -935,20 +1036,31 @@ 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/libnss/ -F: package/python-cython/ -F: package/python-raven/ -F: package/python-schedule/ -F: package/python-websockets/ -F: package/python-xlib/ - N: Johan Derycke F: package/python-libconfig/ @@ -987,6 +1099,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/ @@ -995,6 +1123,19 @@ 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-websockets/ +F: package/python-xlib/ + N: Joshua Henderson F: package/qt5/qt5wayland/ @@ -1011,6 +1152,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/ @@ -1025,9 +1167,6 @@ F: package/qt5/ N: Julien Floret F: package/lldpd/ -N: Laurent Charpentier -F: package/open-lldp/ - N: Julien Viard de Galbert F: package/dieharder/ F: package/easy-rsa/ @@ -1035,37 +1174,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/freescale-imx/imx-alsa-plugins/ -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/ @@ -1079,6 +1187,7 @@ N: Kevin Joly F: package/libgphoto2/ N: Koen Martens +F: package/capnproto/ F: package/linuxconsoletools/ N: Kurt Van Dijck @@ -1089,9 +1198,16 @@ 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/ @@ -1110,8 +1226,10 @@ F: package/ti-sgx-um/ 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/ @@ -1191,6 +1309,13 @@ 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/riscv64-virt/ +F: boot/riscv-pk/ +F: configs/qemu_riscv64_virt_defconfig + N: Markos Chandras F: package/harfbuzz/ F: package/libsecret/ @@ -1233,6 +1358,7 @@ 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/devmem2/ @@ -1274,6 +1400,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/ @@ -1291,6 +1418,7 @@ 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/ @@ -1373,9 +1501,19 @@ N: Michał Łyszczek F: board/altera/socrates_cyclone5/ 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/ @@ -1383,16 +1521,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/ @@ -1401,11 +1532,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/ @@ -1442,6 +1580,9 @@ F: package/openjpeg/ N: Olivier Singla F: package/shellinabox/ +N: Paresh Chaudhary +F: package/checksec/ + N: Parnell Springmeyer F: package/scrypt/ @@ -1496,8 +1637,13 @@ 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 @@ -1509,6 +1655,7 @@ 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/ @@ -1559,6 +1706,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/ @@ -1590,6 +1744,9 @@ N: Rahul Jain F: package/uhttpd/ F: package/ustream-ssl/ +N: Rémi Rérolle +F: package/libfreeimage/ + N: Renaud Aubin F: package/libhttpparser/ @@ -1625,7 +1782,6 @@ F: package/aubio/ F: package/bullet/ F: package/efl/ F: package/enlightenment/ -F: package/expedite/ F: package/flare-engine/ F: package/flare-game/ F: package/irrlicht/ @@ -1648,7 +1804,14 @@ 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/ @@ -1668,9 +1831,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/ @@ -1706,6 +1866,12 @@ 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/ F: package/libbson/ @@ -1789,14 +1955,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/vte/ -F: package/yasm/ -F: package/zlib-ng/ - N: Stefan Sørensen F: package/cracklib/ F: package/libpwquality/ @@ -1838,18 +1996,11 @@ 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/ @@ -1870,6 +2021,17 @@ 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: support/scripts/size-stats F: utils/size-stats-compare F: toolchain/ @@ -1929,9 +2091,6 @@ F: package/wayland/ F: package/weston/ F: toolchain/ -N: Tiago Brusamarello -F: package/aer-inject/ - N: Timo Ketola F: package/fbgrab/ @@ -1939,8 +2098,9 @@ N: Tzu-Jung Lee F: package/dropwatch/ F: package/tstools/ -N: Valentin Korenblit +N: Valentin Korenblit F: package/clang/ +F: package/libclc/ F: package/llvm/ N: Vanya Sergeev @@ -1959,6 +2119,9 @@ F: package/openmpi/ F: package/pinentry/ F: package/trinity/ +N: Vincent Prince +F: package/nss-myhostname/ + N: Vincent Stehlé F: package/i7z/ F: package/msr-tools/ @@ -2088,7 +2251,7 @@ F: package/x11r7/xapp_xinput-calibrator/ F: package/zlog/ F: utils/scanpypi -N: Zoltan Gyarmati +N: Zoltan Gyarmati F: package/crudini/ F: package/grantlee/ F: package/proj/ diff --git a/buildroot/Makefile b/buildroot/Makefile index b4cc8956c..c4c34b0ff 100644 --- a/buildroot/Makefile +++ b/buildroot/Makefile @@ -60,6 +60,11 @@ override O := $(patsubst %/,%,$(patsubst %.,%,$(O))) # avoid empty CANONICAL_O in case on non-existing entry. CANONICAL_O := $(shell mkdir -p $(O) >/dev/null 2>&1)$(realpath $(O)) +# gcc fails to build when the srcdir contains a '@' +ifneq ($(findstring @,$(CANONICAL_O)),) +$(error The build directory can not contain a '@') +endif + CANONICAL_CURDIR = $(realpath $(CURDIR)) REQ_UMASK = 0022 @@ -87,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2018.05.1 +export BR2_VERSION := 2018.11 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1532040000 +BR2_VERSION_EPOCH = 1543701000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -128,9 +133,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, @@ -346,8 +351,14 @@ export HOSTARCH := $(shell LC_ALL=C $(HOSTCC_NOCCACHE) -v 2>&1 | \ -e 's/macppc/powerpc/' \ -e 's/sh.*/sh/' ) -HOSTCC_VERSION := $(shell $(HOSTCC_NOCCACHE) --version | \ - sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p') +# When adding a new host gcc version in Config.in, +# update the HOSTCC_MAX_VERSION variable: +HOSTCC_MAX_VERSION := 8 + +HOSTCC_VERSION := $(shell V=$$($(HOSTCC_NOCCACHE) --version | \ + sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p'); \ + [ "$${V%% *}" -le $(HOSTCC_MAX_VERSION) ] || V=$(HOSTCC_MAX_VERSION); \ + printf "%s" "$${V}") # For gcc >= 5.x, we only need the major version. ifneq ($(firstword $(HOSTCC_VERSION)),4) @@ -433,6 +444,7 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \ -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/) @@ -493,9 +505,9 @@ 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 include $(sort $(wildcard toolchain/*.mk)) @@ -565,7 +577,7 @@ dirs: $(BUILD_DIR) $(STAGING_DIR) $(BASE_TARGET_DIR) \ $(HOST_DIR) $(HOST_DIR_SYMLINK) $(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 @@ -573,8 +585,8 @@ 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 @@ -582,6 +594,17 @@ sdk: world mkdir -p $(HOST_DIR)/share/buildroot echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location +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#^\.#$(BR2_SDK_PREFIX)#' \ + -C $(HOST_DIR) "." + # Populating the staging with the base directories is handled by the skeleton package $(STAGING_DIR): @mkdir -p $(STAGING_DIR) @@ -780,10 +803,10 @@ 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 @@ -922,7 +945,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 @@ -977,7 +1000,8 @@ $(BUILD_DIR)/.br2-external.in: $(BUILD_DIR) # displayed. .PHONY: printvars printvars: - @:$(foreach V, \ + @: + $(foreach V, \ $(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \ $(if $(filter-out environment% default automatic, \ $(origin $V)), \ @@ -1017,11 +1041,11 @@ 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, is used as input' + @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 ' allyesconfig - New config where all options are accepted with yes' @echo ' allnoconfig - New config where all options are answered with no' @@ -1125,11 +1149,15 @@ 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 >> $@ + set -o pipefail; ./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@ include docs/manual/manual.mk -include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk))) diff --git a/buildroot/arch/Config.in b/buildroot/arch/Config.in index a66ea0d03..f50760a0c 100644 --- a/buildroot/arch/Config.in +++ b/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 @@ -201,6 +198,17 @@ config BR2_powerpc64le 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 @@ -282,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 @@ -305,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) @@ -340,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 @@ -352,16 +360,6 @@ config BR2_BINFMT_ELF 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. - config BR2_BINFMT_FLAT bool "FLAT" depends on !BR2_USE_MMU @@ -433,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/buildroot/arch/Config.in.arm b/buildroot/arch/Config.in.arm index c99a995db..f0488b468 100644 --- a/buildroot/arch/Config.in.arm +++ b/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" @@ -445,7 +479,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,7 +492,7 @@ config BR2_ARM_ENABLE_VFP choice prompt "Target ABI" - 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 @@ -491,7 +527,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 +548,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 +660,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 +786,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 @@ -753,6 +824,9 @@ 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 diff --git a/buildroot/arch/Config.in.riscv b/buildroot/arch/Config.in.riscv new file mode 100644 index 000000000..4361890bf --- /dev/null +++ b/buildroot/arch/Config.in.riscv @@ -0,0 +1,102 @@ +# 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 + +config BR2_RISCV_64 + bool + default y + select BR2_ARCH_IS_64 + +choice + prompt "Target ABI" + default BR2_RISCV_ABI_LP64 + +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 "riscv64" if BR2_ARCH_IS_64 + +config BR2_ENDIAN + default "LITTLE" + +config BR2_GCC_TARGET_ABI + 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/buildroot/arch/arch.mk b/buildroot/arch/arch.mk new file mode 100644 index 000000000..289c5a112 --- /dev/null +++ b/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/buildroot/arch/arch.mk.riscv b/buildroot/arch/arch.mk.riscv new file mode 100644 index 000000000..022d1a680 --- /dev/null +++ b/buildroot/arch/arch.mk.riscv @@ -0,0 +1,28 @@ +# +# Configure the GCC_TARGET_ARCH variable and append the +# appropriate RISC-V ISA extensions. +# + +ifeq ($(BR2_riscv),y) + +ifeq ($(BR2_ARCH_IS_64),y) +GCC_TARGET_ARCH := rv64i +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/buildroot/board/amarula/a64-relic/extlinux.conf b/buildroot/board/amarula/a64-relic/extlinux.conf new file mode 100644 index 000000000..9f469846b --- /dev/null +++ b/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/buildroot/board/amarula/a64-relic/genimage.cfg b/buildroot/board/amarula/a64-relic/genimage.cfg new file mode 100644 index 000000000..002b6bb4d --- /dev/null +++ b/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/buildroot/board/amarula/a64-relic/post-build.sh b/buildroot/board/amarula/a64-relic/post-build.sh new file mode 100755 index 000000000..ec20fca7d --- /dev/null +++ b/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/buildroot/board/amarula/a64-relic/readme.txt b/buildroot/board/amarula/a64-relic/readme.txt new file mode 100644 index 000000000..77f79e309 --- /dev/null +++ b/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/buildroot/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt b/buildroot/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt new file mode 100644 index 000000000..d095f24c2 --- /dev/null +++ b/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/buildroot/board/amarula/vyasa/genimage.cfg b/buildroot/board/amarula/vyasa/genimage.cfg index fa41de367..e7076679d 100644 --- a/buildroot/board/amarula/vyasa/genimage.cfg +++ b/buildroot/board/amarula/vyasa/genimage.cfg @@ -12,6 +12,7 @@ image sdcard.img { in-partition-table = "no" image = "u-boot-dtb.img" offset = 8M + size = 30M # falcon mode: args @ 16M args, uImage @ 17M } partition rootfs { diff --git a/buildroot/board/bananapi/bananapi-m2-ultra/boot.cmd b/buildroot/board/bananapi/bananapi-m2-ultra/boot.cmd new file mode 100644 index 000000000..9c24eabff --- /dev/null +++ b/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/buildroot/board/bananapi/bananapi-m2-ultra/genimage.cfg b/buildroot/board/bananapi/bananapi-m2-ultra/genimage.cfg new file mode 100644 index 000000000..675253af2 --- /dev/null +++ b/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/buildroot/board/bananapi/bananapi-m2-ultra/readme.txt b/buildroot/board/bananapi/bananapi-m2-ultra/readme.txt new file mode 100644 index 000000000..c3de84f5b --- /dev/null +++ b/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/buildroot/board/boundarydevices/common/6x_bootscript.txt b/buildroot/board/boundarydevices/common/6x_bootscript.txt deleted file mode 100644 index af5822a88..000000000 --- a/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/buildroot/board/boundarydevices/common/6x_upgrade.txt b/buildroot/board/boundarydevices/common/6x_upgrade.txt deleted file mode 100644 index e012ff97a..000000000 --- a/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/buildroot/board/boundarydevices/common/boot.cmd b/buildroot/board/boundarydevices/common/boot.cmd index 7602b0139..760363da9 100644 --- a/buildroot/board/boundarydevices/common/boot.cmd +++ b/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/buildroot/board/boundarydevices/common/post-build.sh b/buildroot/board/boundarydevices/common/post-build.sh index b8abb2654..161ec0643 100755 --- a/buildroot/board/boundarydevices/common/post-build.sh +++ b/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/buildroot/board/boundarydevices/common/upgrade.cmd b/buildroot/board/boundarydevices/common/upgrade.cmd index 249185dba..24b705eb7 100644 --- a/buildroot/board/boundarydevices/common/upgrade.cmd +++ b/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/buildroot/board/embest/riotboard/genimage.cfg b/buildroot/board/embest/riotboard/genimage.cfg new file mode 100644 index 000000000..1221c83b9 --- /dev/null +++ b/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/buildroot/board/embest/riotboard/readme.txt b/buildroot/board/embest/riotboard/readme.txt new file mode 100644 index 000000000..4ba836fa5 --- /dev/null +++ b/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/buildroot/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf b/buildroot/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 000000000..23e48a0da --- /dev/null +++ b/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/buildroot/board/freescale/common/imx/genimage.cfg.template b/buildroot/board/freescale/common/imx/genimage.cfg.template index acce058b2..2a7036a7d 100644 --- a/buildroot/board/freescale/common/imx/genimage.cfg.template +++ b/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/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh b/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh index 2648147ab..cc12666ae 100755 --- a/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh +++ b/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh @@ -2,9 +2,13 @@ main () { - # Currently we support imx8mqevk. + 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 ${BINARIES_DIR}/fsl-imx8mq-evk.dtb > ${BINARIES_DIR}/u-boot.its + 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 diff --git a/buildroot/board/freescale/common/imx/post-image.sh b/buildroot/board/freescale/common/imx/post-image.sh index 264c8a4bc..6590beda3 100755 --- a/buildroot/board/freescale/common/imx/post-image.sh +++ b/buildroot/board/freescale/common/imx/post-image.sh @@ -41,13 +41,24 @@ genimage_type() 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/buildroot/board/freescale/imx6sabre/patches/uboot/0002-imx-Create-distinct-pre-processed-mkimage-config-fil.patch b/buildroot/board/freescale/imx6sabre/patches/uboot/0002-imx-Create-distinct-pre-processed-mkimage-config-fil.patch new file mode 100644 index 000000000..b8989cb96 --- /dev/null +++ b/buildroot/board/freescale/imx6sabre/patches/uboot/0002-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/buildroot/board/freescale/imx6sabre/patches/uboot/0002-imximage-Remove-failure-when-no-IVT-offset-is-found.patch b/buildroot/board/freescale/imx6sabre/patches/uboot/0002-imximage-Remove-failure-when-no-IVT-offset-is-found.patch deleted file mode 100644 index 92eff7574..000000000 --- a/buildroot/board/freescale/imx6sabre/patches/uboot/0002-imximage-Remove-failure-when-no-IVT-offset-is-found.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 24ba28680abe868e8db3442a9bf523ad3af1febd Mon Sep 17 00:00:00 2001 -From: Fabio Estevam -Date: Fri, 9 Mar 2018 08:25:00 -0300 -Subject: [PATCH] imximage: Remove failure when no IVT offset is found - -Sometimes imximage throws the following error: - - CFGS board/freescale/vf610twr/imximage.cfg.cfgtmp - CFGS board/freescale/vf610twr/imximage.cfg.cfgtmp - MKIMAGE u-boot-dtb.imx -Error: No BOOT_FROM tag in board/freescale/vf610twr/imximage.cfg.cfgtmp -arch/arm/mach-imx/Makefile:100: recipe for target 'u-boot-dtb.imx' failed - -Later on, when running mkimage for the u-boot.imx it will succeed in -finding the IVT offset. - -Looks like some race condition happening during parallel build when -processing mkimage for u-boot-dtb.imx and u-boot.imx. - -A proper fix still needs to be implemented, but as a workaround let's -remove the error when the IVT offset is not found. - -It is useful to have such message, especially during bring-up phase, -but the build error that it causes is severe, so better avoid the -build error for now. - -The error checking can be re-implemented later when we have a proper -fix. - -Reported-by: Breno Lima -Reported-by: Thomas Petazzoni -Signed-off-by: Fabio Estevam ---- - tools/imximage.c | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/tools/imximage.c b/tools/imximage.c -index 0c43196..bef56f8 100644 ---- a/tools/imximage.c -+++ b/tools/imximage.c -@@ -765,11 +765,6 @@ static uint32_t parse_cfg_file(struct imx_header *imxhdr, char *name) - (*set_dcd_rst)(imxhdr, dcd_len, name, lineno); - fclose(fd); - -- /* Exit if there is no BOOT_FROM field specifying the flash_offset */ -- if (imximage_ivt_offset == FLASH_OFFSET_UNDEFINED) { -- fprintf(stderr, "Error: No BOOT_FROM tag in %s\n", name); -- exit(EXIT_FAILURE); -- } - return dcd_len; - } - --- -2.7.4 - diff --git a/buildroot/board/freescale/imx8mqevk/readme.txt b/buildroot/board/freescale/imx8mqevk/readme.txt index 1840290ed..a32c122f9 100644 --- a/buildroot/board/freescale/imx8mqevk/readme.txt +++ b/buildroot/board/freescale/imx8mqevk/readme.txt @@ -5,12 +5,6 @@ Freescale i.MX8MQ EVK board This file documents the Buildroot support for the Freescale i.MX8MQ EVK board. -Hardware support -================ - -Currently only basic support for hardware is available, currently no -support for GPU, VPU and other HW features. - Build ===== diff --git a/buildroot/board/hardkernel/odroidxu4/boot.ini b/buildroot/board/hardkernel/odroidxu4/boot.ini new file mode 100644 index 000000000..87ac7ac13 --- /dev/null +++ b/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/buildroot/board/hardkernel/odroidxu4/genimage.cfg b/buildroot/board/hardkernel/odroidxu4/genimage.cfg new file mode 100644 index 000000000..e6b85cf2f --- /dev/null +++ b/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/buildroot/board/hardkernel/odroidxu4/post-image.sh b/buildroot/board/hardkernel/odroidxu4/post-image.sh new file mode 100755 index 000000000..025906cd0 --- /dev/null +++ b/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/buildroot/board/hardkernel/odroidxu4/readme.txt b/buildroot/board/hardkernel/odroidxu4/readme.txt new file mode 100644 index 000000000..e3cba8b0c --- /dev/null +++ b/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/buildroot/board/olimex/a10_olinuxino/boot.cmd b/buildroot/board/olimex/a10_olinuxino/boot.cmd new file mode 120000 index 000000000..612c74550 --- /dev/null +++ b/buildroot/board/olimex/a10_olinuxino/boot.cmd @@ -0,0 +1 @@ +../a20_olinuxino/boot.cmd \ No newline at end of file diff --git a/buildroot/board/olimex/a10_olinuxino/genimage.cfg b/buildroot/board/olimex/a10_olinuxino/genimage.cfg new file mode 120000 index 000000000..c21932fee --- /dev/null +++ b/buildroot/board/olimex/a10_olinuxino/genimage.cfg @@ -0,0 +1 @@ +../a20_olinuxino/genimage.cfg \ No newline at end of file diff --git a/buildroot/board/olimex/a10_olinuxino/post-build.sh b/buildroot/board/olimex/a10_olinuxino/post-build.sh new file mode 120000 index 000000000..b34689602 --- /dev/null +++ b/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/buildroot/board/olimex/a10_olinuxino/readme.txt b/buildroot/board/olimex/a10_olinuxino/readme.txt new file mode 100644 index 000000000..ba4bf6912 --- /dev/null +++ b/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/buildroot/board/olimex/a20_olinuxino/boot-mali.cmd b/buildroot/board/olimex/a20_olinuxino/boot-legacy.cmd similarity index 100% rename from buildroot/board/olimex/a20_olinuxino/boot-mali.cmd rename to buildroot/board/olimex/a20_olinuxino/boot-legacy.cmd diff --git a/buildroot/board/olimex/a20_olinuxino/readme.txt b/buildroot/board/olimex/a20_olinuxino/readme.txt index 070b7a5ec..57ee23d14 100644 --- a/buildroot/board/olimex/a20_olinuxino/readme.txt +++ b/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/buildroot/board/orangepi/orangepi-lite/linux-extras.config b/buildroot/board/orangepi/orangepi-lite/linux-extras.config index 5e3af2b83..6bb716903 100644 --- a/buildroot/board/orangepi/orangepi-lite/linux-extras.config +++ b/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/buildroot/board/orangepi/orangepi-pc/linux.fragment b/buildroot/board/orangepi/orangepi-pc/linux.fragment new file mode 100644 index 000000000..cdd522452 --- /dev/null +++ b/buildroot/board/orangepi/orangepi-pc/linux.fragment @@ -0,0 +1,3 @@ +CONFIG_DRM_SUN8I_DW_HDMI=y +CONFIG_SUN8I_DE2_CCU=y +CONFIG_SND_SUN8I_CODEC_ANALOG=y diff --git a/buildroot/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-enable-ap6212.patch b/buildroot/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-enable-ap6212.patch deleted file mode 100644 index 282e2171f..000000000 --- a/buildroot/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-enable-ap6212.patch +++ /dev/null @@ -1,73 +0,0 @@ -From: Sergey Matyukevich -Date: Sun, 11 Feb 2018 16:21:43 +0300 -Subject: [PATCH] arm64: dts: orange-pi-zero-plus2: enable AP6212a WiFi/BT combo - -Enable AP6212a WiFi/BT combo chip on orange-pi-zero-plus2 board: -- WiFi SDIO interface is connected to MMC1 -- WiFi REG_ON pin connected to gpio PA9: attach to mmc-pwrseq -- WiFi HOST_WAKE pin connected to gpio PL7 -- BT is connected to UART1 - -Signed-off-by: Sergey Matyukevich -Signed-off-by: Maxime Ripard ---- - .../allwinner/sun50i-h5-orangepi-zero-plus2.dts | 32 ++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -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 a42fd79a62a3..d415b7b67cce 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 -@@ -64,6 +64,13 @@ - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - }; -+ -+ wifi_pwrseq: wifi_pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ pinctrl-names = "default"; -+ reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */ -+ post-power-on-delay-ms = <200>; -+ }; - }; - - &mmc0 { -@@ -75,6 +82,25 @@ - status = "okay"; - }; - -+&mmc1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc1_pins_a>; -+ vmmc-supply = <®_vcc3v3>; -+ vqmmc-supply = <®_vcc3v3>; -+ mmc-pwrseq = <&wifi_pwrseq>; -+ bus-width = <4>; -+ non-removable; -+ status = "okay"; -+ -+ brcmf: wifi@1 { -+ reg = <1>; -+ compatible = "brcm,bcm4329-fmac"; -+ interrupt-parent = <&r_pio>; -+ interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */ -+ interrupt-names = "host-wake"; -+ }; -+}; -+ - &mmc2 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc2_8bit_pins>; -@@ -90,3 +116,9 @@ - pinctrl-0 = <&uart0_pins_a>; - status = "okay"; - }; -+ -+&uart1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; -+ status = "okay"; -+}; --- -2.16.1 - diff --git a/buildroot/board/pc/linux.config b/buildroot/board/pc/linux.config index 0fff11708..f86352e1e 100644 --- a/buildroot/board/pc/linux.config +++ b/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/buildroot/board/qemu/aarch64-virt/linux-4.15.config b/buildroot/board/qemu/aarch64-virt/linux.config similarity index 100% rename from buildroot/board/qemu/aarch64-virt/linux-4.15.config rename to buildroot/board/qemu/aarch64-virt/linux.config diff --git a/buildroot/board/qemu/aarch64-virt/readme.txt b/buildroot/board/qemu/aarch64-virt/readme.txt index ce0b62136..76fc2d6f3 100644 --- a/buildroot/board/qemu/aarch64-virt/readme.txt +++ b/buildroot/board/qemu/aarch64-virt/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.11.0 +Tested with QEMU 2.12.0 diff --git a/buildroot/board/qemu/arm-versatile/linux-4.4-nommu.config b/buildroot/board/qemu/arm-versatile/linux-nommu.config similarity index 94% rename from buildroot/board/qemu/arm-versatile/linux-4.4-nommu.config rename to buildroot/board/qemu/arm-versatile/linux-nommu.config index e1264dca0..1d91d51a1 100644 --- a/buildroot/board/qemu/arm-versatile/linux-4.4-nommu.config +++ b/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/buildroot/board/qemu/arm-versatile/linux-4.13.config b/buildroot/board/qemu/arm-versatile/linux.config similarity index 100% rename from buildroot/board/qemu/arm-versatile/linux-4.13.config rename to buildroot/board/qemu/arm-versatile/linux.config diff --git a/buildroot/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch b/buildroot/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch index 961b6c3dd..883bd0de6 100644 --- a/buildroot/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch +++ b/buildroot/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch @@ -1,30 +1,84 @@ -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 +Signed-Off-by: Waldemar Brodkorb +From LKML. -If CONFIG_MMU is disabled then do not carry out the virtual memory address -translation for IO devices. - -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: 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 -Nur linux-4.15.13.orig/arch/arm/Kconfig linux-4.15.13/arch/arm/Kconfig +--- linux-4.15.13.orig/arch/arm/Kconfig 2018-03-24 11:02:53.000000000 +0100 ++++ linux-4.15.13/arch/arm/Kconfig 2018-04-01 03:47:33.415078244 +0100 +@@ -355,6 +355,17 @@ + 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 -Nur linux-4.15.13.orig/arch/arm/Kconfig.debug linux-4.15.13/arch/arm/Kconfig.debug +--- linux-4.15.13.orig/arch/arm/Kconfig.debug 2018-03-24 11:02:53.000000000 +0100 ++++ linux-4.15.13/arch/arm/Kconfig.debug 2018-04-01 03:47:33.416078232 +0100 +@@ -1795,7 +1795,8 @@ + 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 -Nur linux-4.15.13.orig/arch/arm/include/asm/mach/map.h linux-4.15.13/arch/arm/include/asm/mach/map.h +--- linux-4.15.13.orig/arch/arm/include/asm/mach/map.h 2018-03-24 11:02:53.000000000 +0100 ++++ linux-4.15.13/arch/arm/include/asm/mach/map.h 2018-04-01 03:47:17.587276119 +0100 +@@ -62,6 +62,7 @@ + #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 -Nur linux-4.15.13.orig/arch/arm/mach-versatile/Kconfig linux-4.15.13/arch/arm/mach-versatile/Kconfig +--- linux-4.15.13.orig/arch/arm/mach-versatile/Kconfig 2018-03-24 11:02:53.000000000 +0100 ++++ linux-4.15.13/arch/arm/mach-versatile/Kconfig 2018-04-01 03:47:33.417078219 +0100 +@@ -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 -Nur linux-4.15.13.orig/arch/arm/mach-versatile/Makefile.boot linux-4.15.13/arch/arm/mach-versatile/Makefile.boot +--- linux-4.15.13.orig/arch/arm/mach-versatile/Makefile.boot 1970-01-01 01:00:00.000000000 +0100 ++++ linux-4.15.13/arch/arm/mach-versatile/Makefile.boot 2018-04-01 03:47:25.644175394 +0100 +@@ -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 -Nur linux-4.15.13.orig/arch/arm/mach-versatile/versatile_dt.c linux-4.15.13/arch/arm/mach-versatile/versatile_dt.c +--- linux-4.15.13.orig/arch/arm/mach-versatile/versatile_dt.c 2018-03-24 11:02:53.000000000 +0100 ++++ linux-4.15.13/arch/arm/mach-versatile/versatile_dt.c 2018-04-01 03:47:10.913359555 +0100 +@@ -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)) + /* diff --git a/buildroot/board/qemu/arm-versatile/readme.txt b/buildroot/board/qemu/arm-versatile/readme.txt index 6e899f4b5..33cdb7b81 100644 --- a/buildroot/board/qemu/arm-versatile/readme.txt +++ b/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/buildroot/board/qemu/arm-vexpress/readme.txt b/buildroot/board/qemu/arm-vexpress/readme.txt index 57bb81419..35137e050 100644 --- a/buildroot/board/qemu/arm-vexpress/readme.txt +++ b/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/buildroot/board/qemu/m68k-mcf5208/linux-4.11.config b/buildroot/board/qemu/m68k-mcf5208/linux.config similarity index 100% rename from buildroot/board/qemu/m68k-mcf5208/linux-4.11.config rename to buildroot/board/qemu/m68k-mcf5208/linux.config diff --git a/buildroot/board/qemu/m68k-mcf5208/readme.txt b/buildroot/board/qemu/m68k-mcf5208/readme.txt index 014a0dc09..d1c908680 100644 --- a/buildroot/board/qemu/m68k-mcf5208/readme.txt +++ b/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/buildroot/board/qemu/m68k-q800/linux-4.11.config b/buildroot/board/qemu/m68k-q800/linux.config similarity index 100% rename from buildroot/board/qemu/m68k-q800/linux-4.11.config rename to buildroot/board/qemu/m68k-q800/linux.config diff --git a/buildroot/board/qemu/m68k-q800/readme.txt b/buildroot/board/qemu/m68k-q800/readme.txt index 78267a318..bead8cdde 100644 --- a/buildroot/board/qemu/m68k-q800/readme.txt +++ b/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/buildroot/board/qemu/microblazebe-mmu/linux-4.11.config b/buildroot/board/qemu/microblazebe-mmu/linux.config similarity index 100% rename from buildroot/board/qemu/microblazebe-mmu/linux-4.11.config rename to buildroot/board/qemu/microblazebe-mmu/linux.config diff --git a/buildroot/board/qemu/microblazebe-mmu/readme.txt b/buildroot/board/qemu/microblazebe-mmu/readme.txt index cf0afdaff..4f52baff1 100644 --- a/buildroot/board/qemu/microblazebe-mmu/readme.txt +++ b/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/buildroot/board/qemu/microblazeel-mmu/linux-4.11.config b/buildroot/board/qemu/microblazeel-mmu/linux.config similarity index 100% rename from buildroot/board/qemu/microblazeel-mmu/linux-4.11.config rename to buildroot/board/qemu/microblazeel-mmu/linux.config diff --git a/buildroot/board/qemu/microblazeel-mmu/readme.txt b/buildroot/board/qemu/microblazeel-mmu/readme.txt index 9edf101af..0b0f330a5 100644 --- a/buildroot/board/qemu/microblazeel-mmu/readme.txt +++ b/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/buildroot/board/qemu/mips32r2-malta/linux-4.11.config b/buildroot/board/qemu/mips32r2-malta/linux.config similarity index 100% rename from buildroot/board/qemu/mips32r2-malta/linux-4.11.config rename to buildroot/board/qemu/mips32r2-malta/linux.config diff --git a/buildroot/board/qemu/mips32r2-malta/readme.txt b/buildroot/board/qemu/mips32r2-malta/readme.txt index 7002ab1d8..d1bbcc474 100644 --- a/buildroot/board/qemu/mips32r2-malta/readme.txt +++ b/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/buildroot/board/qemu/mips32r2el-malta/linux-4.11.config b/buildroot/board/qemu/mips32r2el-malta/linux.config similarity index 100% rename from buildroot/board/qemu/mips32r2el-malta/linux-4.11.config rename to buildroot/board/qemu/mips32r2el-malta/linux.config diff --git a/buildroot/board/qemu/mips32r2el-malta/readme.txt b/buildroot/board/qemu/mips32r2el-malta/readme.txt index bfc9c49d5..4f59d3430 100644 --- a/buildroot/board/qemu/mips32r2el-malta/readme.txt +++ b/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/buildroot/board/qemu/mips32r6-malta/linux-4.11.config b/buildroot/board/qemu/mips32r6-malta/linux.config similarity index 100% rename from buildroot/board/qemu/mips32r6-malta/linux-4.11.config rename to buildroot/board/qemu/mips32r6-malta/linux.config diff --git a/buildroot/board/qemu/mips32r6-malta/readme.txt b/buildroot/board/qemu/mips32r6-malta/readme.txt index 7d79c6602..04de7e5c3 100644 --- a/buildroot/board/qemu/mips32r6-malta/readme.txt +++ b/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/buildroot/board/qemu/mips32r6el-malta/linux-4.11.config b/buildroot/board/qemu/mips32r6el-malta/linux.config similarity index 100% rename from buildroot/board/qemu/mips32r6el-malta/linux-4.11.config rename to buildroot/board/qemu/mips32r6el-malta/linux.config diff --git a/buildroot/board/qemu/mips32r6el-malta/readme.txt b/buildroot/board/qemu/mips32r6el-malta/readme.txt index 78f835050..88602de0b 100644 --- a/buildroot/board/qemu/mips32r6el-malta/readme.txt +++ b/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/buildroot/board/qemu/mips64-malta/linux-4.11.config b/buildroot/board/qemu/mips64-malta/linux.config similarity index 100% rename from buildroot/board/qemu/mips64-malta/linux-4.11.config rename to buildroot/board/qemu/mips64-malta/linux.config diff --git a/buildroot/board/qemu/mips64-malta/readme.txt b/buildroot/board/qemu/mips64-malta/readme.txt index 8a732101a..f0e7fef79 100644 --- a/buildroot/board/qemu/mips64-malta/readme.txt +++ b/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/buildroot/board/qemu/mips64el-malta/linux-4.11.config b/buildroot/board/qemu/mips64el-malta/linux.config similarity index 100% rename from buildroot/board/qemu/mips64el-malta/linux-4.11.config rename to buildroot/board/qemu/mips64el-malta/linux.config diff --git a/buildroot/board/qemu/mips64el-malta/readme.txt b/buildroot/board/qemu/mips64el-malta/readme.txt index 25fc9ee17..03b149bc8 100644 --- a/buildroot/board/qemu/mips64el-malta/readme.txt +++ b/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/buildroot/board/qemu/mips64r6-malta/linux-4.11.config b/buildroot/board/qemu/mips64r6-malta/linux.config similarity index 100% rename from buildroot/board/qemu/mips64r6-malta/linux-4.11.config rename to buildroot/board/qemu/mips64r6-malta/linux.config diff --git a/buildroot/board/qemu/mips64r6-malta/readme.txt b/buildroot/board/qemu/mips64r6-malta/readme.txt index 4a6c5fe79..bf5b517a3 100644 --- a/buildroot/board/qemu/mips64r6-malta/readme.txt +++ b/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/buildroot/board/qemu/mips64r6el-malta/linux-4.11.config b/buildroot/board/qemu/mips64r6el-malta/linux.config similarity index 100% rename from buildroot/board/qemu/mips64r6el-malta/linux-4.11.config rename to buildroot/board/qemu/mips64r6el-malta/linux.config diff --git a/buildroot/board/qemu/mips64r6el-malta/readme.txt b/buildroot/board/qemu/mips64r6el-malta/readme.txt index 9250cf379..d51bffd08 100644 --- a/buildroot/board/qemu/mips64r6el-malta/readme.txt +++ b/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/buildroot/board/qemu/nios2-10m50/linux-4.11.fragment b/buildroot/board/qemu/nios2-10m50/linux.fragment similarity index 100% rename from buildroot/board/qemu/nios2-10m50/linux-4.11.fragment rename to buildroot/board/qemu/nios2-10m50/linux.fragment diff --git a/buildroot/board/qemu/nios2-10m50/readme.txt b/buildroot/board/qemu/nios2-10m50/readme.txt index f7dee370f..44cbcb08a 100644 --- a/buildroot/board/qemu/nios2-10m50/readme.txt +++ b/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/buildroot/board/qemu/or1k/readme.txt b/buildroot/board/qemu/or1k/readme.txt index a04314e75..df6b467e8 100644 --- a/buildroot/board/qemu/or1k/readme.txt +++ b/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/buildroot/board/qemu/ppc-g3beige/linux-4.11.config b/buildroot/board/qemu/ppc-g3beige/linux.config similarity index 100% rename from buildroot/board/qemu/ppc-g3beige/linux-4.11.config rename to buildroot/board/qemu/ppc-g3beige/linux.config diff --git a/buildroot/board/qemu/ppc-g3beige/readme.txt b/buildroot/board/qemu/ppc-g3beige/readme.txt index 42c97a0c1..1c3b51539 100644 --- a/buildroot/board/qemu/ppc-g3beige/readme.txt +++ b/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/buildroot/board/qemu/ppc-mpc8544ds/linux-4.11.config b/buildroot/board/qemu/ppc-mpc8544ds/linux.config similarity index 100% rename from buildroot/board/qemu/ppc-mpc8544ds/linux-4.11.config rename to buildroot/board/qemu/ppc-mpc8544ds/linux.config diff --git a/buildroot/board/qemu/ppc-mpc8544ds/readme.txt b/buildroot/board/qemu/ppc-mpc8544ds/readme.txt index 0008c84b2..172aad562 100644 --- a/buildroot/board/qemu/ppc-mpc8544ds/readme.txt +++ b/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/buildroot/board/qemu/ppc-virtex-ml507/linux-4.9.config b/buildroot/board/qemu/ppc-virtex-ml507/linux.config similarity index 100% rename from buildroot/board/qemu/ppc-virtex-ml507/linux-4.9.config rename to buildroot/board/qemu/ppc-virtex-ml507/linux.config diff --git a/buildroot/board/qemu/ppc-virtex-ml507/readme.txt b/buildroot/board/qemu/ppc-virtex-ml507/readme.txt index 42aa204bd..6178ace81 100644 --- a/buildroot/board/qemu/ppc-virtex-ml507/readme.txt +++ b/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/buildroot/board/qemu/ppc64-e5500/readme.txt b/buildroot/board/qemu/ppc64-e5500/readme.txt index a6ad893b4..cfc563974 100644 --- a/buildroot/board/qemu/ppc64-e5500/readme.txt +++ b/buildroot/board/qemu/ppc64-e5500/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.0.0 +Tested with QEMU 2.12.0 diff --git a/buildroot/board/qemu/ppc64-pseries/readme.txt b/buildroot/board/qemu/ppc64-pseries/readme.txt index 9de13779d..5069df9e5 100644 --- a/buildroot/board/qemu/ppc64-pseries/readme.txt +++ b/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/buildroot/board/qemu/ppc64le-pseries/readme.txt b/buildroot/board/qemu/ppc64le-pseries/readme.txt index 95455e947..c23da70df 100644 --- a/buildroot/board/qemu/ppc64le-pseries/readme.txt +++ b/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/buildroot/board/qemu/riscv64-virt/linux.config b/buildroot/board/qemu/riscv64-virt/linux.config new file mode 100644 index 000000000..d09e8b3bb --- /dev/null +++ b/buildroot/board/qemu/riscv64-virt/linux.config @@ -0,0 +1,23 @@ +CONFIG_ARCH_RV64I=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/buildroot/board/qemu/riscv64-virt/readme.txt b/buildroot/board/qemu/riscv64-virt/readme.txt new file mode 100644 index 000000000..9f6e35c86 --- /dev/null +++ b/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/buildroot/board/qemu/sh4-r2d/linux-4.9.config b/buildroot/board/qemu/sh4-r2d/linux.config similarity index 100% rename from buildroot/board/qemu/sh4-r2d/linux-4.9.config rename to buildroot/board/qemu/sh4-r2d/linux.config diff --git a/buildroot/board/qemu/sh4-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch b/buildroot/board/qemu/sh4-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch new file mode 100644 index 000000000..36c82d84e --- /dev/null +++ b/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/buildroot/board/qemu/sh4-r2d/readme.txt b/buildroot/board/qemu/sh4-r2d/readme.txt index aa0e369d8..d22af73ae 100644 --- a/buildroot/board/qemu/sh4-r2d/readme.txt +++ b/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/buildroot/board/qemu/sh4eb-r2d/linux-4.9.config b/buildroot/board/qemu/sh4eb-r2d/linux.config similarity index 100% rename from buildroot/board/qemu/sh4eb-r2d/linux-4.9.config rename to buildroot/board/qemu/sh4eb-r2d/linux.config diff --git a/buildroot/board/qemu/sh4eb-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch b/buildroot/board/qemu/sh4eb-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch new file mode 100644 index 000000000..36c82d84e --- /dev/null +++ b/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/buildroot/board/qemu/sh4eb-r2d/readme.txt b/buildroot/board/qemu/sh4eb-r2d/readme.txt index 147adc6e2..daf515ab2 100644 --- a/buildroot/board/qemu/sh4eb-r2d/readme.txt +++ b/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/buildroot/board/qemu/sparc-ss10/linux-4.11.config b/buildroot/board/qemu/sparc-ss10/linux.config similarity index 100% rename from buildroot/board/qemu/sparc-ss10/linux-4.11.config rename to buildroot/board/qemu/sparc-ss10/linux.config diff --git a/buildroot/board/qemu/sparc-ss10/readme.txt b/buildroot/board/qemu/sparc-ss10/readme.txt index 0ce461d2e..df6a75a3f 100644 --- a/buildroot/board/qemu/sparc-ss10/readme.txt +++ b/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/buildroot/board/qemu/sparc64-sun4u/linux-4.11.config b/buildroot/board/qemu/sparc64-sun4u/linux.config similarity index 100% rename from buildroot/board/qemu/sparc64-sun4u/linux-4.11.config rename to buildroot/board/qemu/sparc64-sun4u/linux.config diff --git a/buildroot/board/qemu/sparc64-sun4u/readme.txt b/buildroot/board/qemu/sparc64-sun4u/readme.txt index adfff7089..24d5bbaff 100644 --- a/buildroot/board/qemu/sparc64-sun4u/readme.txt +++ b/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/buildroot/board/qemu/x86/linux-4.15.config b/buildroot/board/qemu/x86/linux.config similarity index 100% rename from buildroot/board/qemu/x86/linux-4.15.config rename to buildroot/board/qemu/x86/linux.config diff --git a/buildroot/board/qemu/x86/readme.txt b/buildroot/board/qemu/x86/readme.txt index b003ad537..c5e687734 100644 --- a/buildroot/board/qemu/x86/readme.txt +++ b/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/buildroot/board/qemu/x86_64/linux-4.15.config b/buildroot/board/qemu/x86_64/linux.config similarity index 100% rename from buildroot/board/qemu/x86_64/linux-4.15.config rename to buildroot/board/qemu/x86_64/linux.config diff --git a/buildroot/board/qemu/x86_64/readme.txt b/buildroot/board/qemu/x86_64/readme.txt index ed7b5f553..425e34b12 100644 --- a/buildroot/board/qemu/x86_64/readme.txt +++ b/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/buildroot/board/qemu/xtensa-lx60/linux-4.11-nommu.config b/buildroot/board/qemu/xtensa-lx60/linux-nommu.config similarity index 100% rename from buildroot/board/qemu/xtensa-lx60/linux-4.11-nommu.config rename to buildroot/board/qemu/xtensa-lx60/linux-nommu.config diff --git a/buildroot/board/qemu/xtensa-lx60/linux-4.11.config b/buildroot/board/qemu/xtensa-lx60/linux.config similarity index 100% rename from buildroot/board/qemu/xtensa-lx60/linux-4.11.config rename to buildroot/board/qemu/xtensa-lx60/linux.config diff --git a/buildroot/board/qemu/xtensa-lx60/readme.txt b/buildroot/board/qemu/xtensa-lx60/readme.txt index 9a82c5375..4287e1f09 100644 --- a/buildroot/board/qemu/xtensa-lx60/readme.txt +++ b/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/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg b/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg index c5f86527d..0d0ca750a 100644 --- a/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg +++ b/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/buildroot/board/raspberrypi/post-image.sh b/buildroot/board/raspberrypi/post-image.sh index 3c6c93840..70447cd48 100755 --- a/buildroot/board/raspberrypi/post-image.sh +++ b/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/buildroot/board/sheevaplug/readme.txt b/buildroot/board/sheevaplug/readme.txt new file mode 100644 index 000000000..e0ed2684c --- /dev/null +++ b/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/buildroot/board/solidrun/clearfog/boot.scr.txt b/buildroot/board/solidrun/clearfog/boot.scr.txt deleted file mode 100644 index a2332e396..000000000 --- a/buildroot/board/solidrun/clearfog/boot.scr.txt +++ /dev/null @@ -1,5 +0,0 @@ -setenv fdtfile armada-388-clearfog-base.dtb -setenv bootargs root=/dev/mmcblk0p1 -load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}/${fdtfile} -load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${prefix}/zImage -bootz ${kernel_addr_r} - ${fdt_addr_r} diff --git a/buildroot/board/solidrun/clearfog/extlinux.conf b/buildroot/board/solidrun/clearfog/extlinux.conf new file mode 100644 index 000000000..f35974e3e --- /dev/null +++ b/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/buildroot/board/solidrun/clearfog/post-build.sh b/buildroot/board/solidrun/clearfog/post-build.sh index ff22ebd6e..1f5ff6a61 100755 --- a/buildroot/board/solidrun/clearfog/post-build.sh +++ b/buildroot/board/solidrun/clearfog/post-build.sh @@ -1,3 +1,5 @@ #!/bin/sh -install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/boot.scr +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/buildroot/board/solidrun/clearfog/readme.txt b/buildroot/board/solidrun/clearfog/readme.txt index b56f0a9b4..6046836f0 100644 --- a/buildroot/board/solidrun/clearfog/readme.txt +++ b/buildroot/board/solidrun/clearfog/readme.txt @@ -47,7 +47,7 @@ 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/ + dd if=output/images/sdcard.img of=/dev/ conv=fdatasync *** WARNING! The script will destroy all the card content. Use with care! *** diff --git a/buildroot/board/synopsys/axs10x/fs-overlay/etc/inittab b/buildroot/board/synopsys/axs10x/fs-overlay/etc/inittab deleted file mode 100644 index 43bacc658..000000000 --- a/buildroot/board/synopsys/axs10x/fs-overlay/etc/inittab +++ /dev/null @@ -1,38 +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 -null::sysinit:/bin/mount -t proc proc /proc -null::sysinit:/bin/mount -o remount,rw / -null::sysinit:/bin/mkdir -p /dev/pts -null::sysinit:/bin/mkdir -p /dev/shm -null::sysinit:/bin/mount -a -null::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/buildroot/board/synopsys/axs10x/patches/u-boot/0001-axs103-Clean-up-smp_kick_all_cpus.patch b/buildroot/board/synopsys/axs10x/patches/u-boot/0001-axs103-Clean-up-smp_kick_all_cpus.patch deleted file mode 100644 index 7af878d81..000000000 --- a/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/buildroot/board/synopsys/axs10x/patches/u-boot/0002-axs103-Support-slave-core-kick-start-on-axs103-v1.1-.patch b/buildroot/board/synopsys/axs10x/patches/u-boot/0002-axs103-Support-slave-core-kick-start-on-axs103-v1.1-.patch deleted file mode 100644 index 0fcc0e630..000000000 --- a/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/buildroot/board/synopsys/axs10x/post-build.sh b/buildroot/board/synopsys/axs10x/post-build.sh new file mode 100755 index 000000000..f23c8a99b --- /dev/null +++ b/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/buildroot/board/synopsys/hsdk/uboot.env.txt b/buildroot/board/synopsys/hsdk/uboot.env.txt index 6bcfb56a7..216f0c904 100644 --- a/buildroot/board/synopsys/hsdk/uboot.env.txt +++ b/buildroot/board/synopsys/hsdk/uboot.env.txt @@ -1,5 +1,5 @@ baudrate=115200 -bootargs=console=ttyS3,115200n8 root=/dev/mmcblk0p2 rootwait +bootargs=root=/dev/mmcblk0p2 rootwait bootcmd=fatload mmc 0:1; bootm bootdelay=2 bootfile=uImage diff --git a/buildroot/board/technexion/imx6ulpico/linux.fragment b/buildroot/board/technexion/imx6ulpico/linux.fragment deleted file mode 100644 index 892d0cb7b..000000000 --- a/buildroot/board/technexion/imx6ulpico/linux.fragment +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CFG80211_WEXT=y diff --git a/buildroot/board/technexion/imx7dpico/patches/uboot/0001-picomx7dname.patch b/buildroot/board/technexion/imx7dpico/patches/uboot/0001-picomx7dname.patch new file mode 100644 index 000000000..59408bcd7 --- /dev/null +++ b/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/buildroot/board/technologic/ts7680/genimage.cfg b/buildroot/board/technologic/ts7680/genimage.cfg index b5599823d..70b1dac64 100644 --- a/buildroot/board/technologic/ts7680/genimage.cfg +++ b/buildroot/board/technologic/ts7680/genimage.cfg @@ -3,7 +3,7 @@ image sdcard.img { } partition unused { - size = 512B + size = 512 } partition rootfs { diff --git a/buildroot/board/zynqmp/genimage.cfg b/buildroot/board/zynqmp/genimage.cfg new file mode 100644 index 000000000..30be086d7 --- /dev/null +++ b/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/buildroot/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch b/buildroot/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch new file mode 100644 index 000000000..4d85e1bb1 --- /dev/null +++ b/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/buildroot/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch b/buildroot/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch new file mode 100644 index 000000000..487fff681 --- /dev/null +++ b/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/buildroot/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch b/buildroot/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch new file mode 100644 index 000000000..95ab7b3b7 --- /dev/null +++ b/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/buildroot/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch b/buildroot/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch new file mode 100644 index 000000000..b32e16278 --- /dev/null +++ b/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/buildroot/board/zynqmp/post-image.sh b/buildroot/board/zynqmp/post-image.sh new file mode 100755 index 000000000..b2b99fed0 --- /dev/null +++ b/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/buildroot/board/zynqmp/readme.txt b/buildroot/board/zynqmp/readme.txt new file mode 100644 index 000000000..da37f4ccc --- /dev/null +++ b/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/buildroot/boot/Config.in b/buildroot/boot/Config.in index 3687c41a2..8e0c8e5df 100644 --- a/buildroot/boot/Config.in +++ b/buildroot/boot/Config.in @@ -13,11 +13,11 @@ 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/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/buildroot/boot/arm-trusted-firmware/Config.in b/buildroot/boot/arm-trusted-firmware/Config.in index 7aef87cb7..885d93e62 100644 --- a/buildroot/boot/arm-trusted-firmware/Config.in +++ b/buildroot/boot/arm-trusted-firmware/Config.in @@ -71,6 +71,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/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 4bac916e3..23f493653 100644 --- a/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -25,6 +25,7 @@ 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 +75,35 @@ 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 + 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) endef # Configuration check diff --git a/buildroot/boot/at91bootstrap3/Config.in b/buildroot/boot/at91bootstrap3/Config.in index 614363c9a..f6c310af2 100644 --- a/buildroot/boot/at91bootstrap3/Config.in +++ b/buildroot/boot/at91bootstrap3/Config.in @@ -10,6 +10,8 @@ config BR2_TARGET_AT91BOOTSTRAP3 - Physical media algorithm such as DataFlash, NandFlash, NOR Flash... + https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap + if BR2_TARGET_AT91BOOTSTRAP3 choice diff --git a/buildroot/boot/barebox/Config.in b/buildroot/boot/barebox/Config.in index fd22d904b..82c400fba 100644 --- a/buildroot/boot/barebox/Config.in +++ b/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.10.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.10.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/buildroot/boot/barebox/barebox.hash b/buildroot/boot/barebox/barebox.hash index b24197024..fd34a87e0 100644 --- a/buildroot/boot/barebox/barebox.hash +++ b/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 +# http://www.barebox.org/download/barebox-2018.10.0.tar.bz2.md5 +md5 f4c89bc92903425c960aa41e997b2251 barebox-2018.10.0.tar.bz2 # Locally calculated -sha256 43283edc019f95a53fdb7d1b7c294afc4741bfcace348d6beeded5fe5147a81b barebox-2017.09.0.tar.bz2 +sha256 c25bfeaff7dda8862defd8d9011e7e6d23216ee4fc4e8bb5b91a1efd833a6d1c barebox-2018.10.0.tar.bz2 diff --git a/buildroot/boot/binaries-marvell/Config.in b/buildroot/boot/binaries-marvell/Config.in index d565e4dbf..63052070b 100644 --- a/buildroot/boot/binaries-marvell/Config.in +++ b/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/buildroot/boot/binaries-marvell/binaries-marvell.hash b/buildroot/boot/binaries-marvell/binaries-marvell.hash index 94c66039c..0d214502a 100644 --- a/buildroot/boot/binaries-marvell/binaries-marvell.hash +++ b/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/buildroot/boot/binaries-marvell/binaries-marvell.mk b/buildroot/boot/binaries-marvell/binaries-marvell.mk index 152c9cd97..6c7014854 100644 --- a/buildroot/boot/binaries-marvell/binaries-marvell.mk +++ b/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/buildroot/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/buildroot/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk index 601cfab31..cd6e1b7b7 100644 --- a/buildroot/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk +++ b/buildroot/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk @@ -6,7 +6,7 @@ BOOT_WRAPPER_AARCH64_VERSION = 4266507a84f8c06452109d38e0350d4759740694 BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git -BOOT_WRAPPER_AARCH64_LICENSE = BSD3c +BOOT_WRAPPER_AARCH64_LICENSE = BSD-3-Clause BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES diff --git a/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.hash b/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.hash index b96d4d2bc..90fab71d6 100644 --- a/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.hash +++ b/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/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.mk b/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.mk index 0f98fc2ce..8d508215f 100644 --- a/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.mk +++ b/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/buildroot/boot/riscv-pk/Config.in b/buildroot/boot/riscv-pk/Config.in new file mode 100644 index 000000000..b4fe36590 --- /dev/null +++ b/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/buildroot/boot/riscv-pk/riscv-pk.mk b/buildroot/boot/riscv-pk/riscv-pk.mk new file mode 100644 index 000000000..0ab5879ee --- /dev/null +++ b/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/buildroot/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch b/buildroot/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch new file mode 100644 index 000000000..beba5cc24 --- /dev/null +++ b/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/buildroot/boot/uboot/Config.in b/buildroot/boot/uboot/Config.in index 95c17e398..ac6f8bc8c 100644 --- a/buildroot/boot/uboot/Config.in +++ b/buildroot/boot/uboot/Config.in @@ -39,7 +39,7 @@ choice Select the specific U-Boot version you want to use config BR2_TARGET_UBOOT_LATEST_VERSION - bool "2018.03" + bool "2018.09" config BR2_TARGET_UBOOT_CUSTOM_VERSION bool "Custom version" @@ -87,7 +87,7 @@ endif config BR2_TARGET_UBOOT_VERSION string - default "2018.03" 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 @@ -159,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 @@ -190,6 +198,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" @@ -365,6 +376,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/buildroot/boot/uboot/uboot.hash b/buildroot/boot/uboot/uboot.hash index 788c1696f..ea07fb584 100644 --- a/buildroot/boot/uboot/uboot.hash +++ b/buildroot/boot/uboot/uboot.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 7e7477534409d5368eb1371ffde6820f0f79780a1a1f676161c48442cb303dfd u-boot-2018.03.tar.bz2 +sha256 839bf23cfe8ce613a77e583a60375179d0ad324e92c82fbdd07bebf0fd142268 u-boot-2018.09.tar.bz2 diff --git a/buildroot/boot/uboot/uboot.mk b/buildroot/boot/uboot/uboot.mk index 6ef275e84..cbdfee6ac 100644 --- a/buildroot/boot/uboot/uboot.mk +++ b/buildroot/boot/uboot/uboot.mk @@ -70,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 @@ -147,6 +152,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 @@ -258,7 +267,7 @@ define UBOOT_GENERATE_ENV_IMAGE >$(@D)/buildroot-env.txt $(HOST_DIR)/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \ $(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \ - $(if $(filter BIG,$(BR2_ENDIAN)),-b) \ + $(if $(filter "BIG",$(BR2_ENDIAN)),-b) \ -o $(BINARIES_DIR)/uboot-env.bin \ $(@D)/buildroot-env.txt endef @@ -277,11 +286,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 @@ -331,6 +369,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)),) @@ -408,7 +451,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/buildroot/boot/vexpress-firmware/Config.in b/buildroot/boot/vexpress-firmware/Config.in index 8479df3d5..265fb4be1 100644 --- a/buildroot/boot/vexpress-firmware/Config.in +++ b/buildroot/boot/vexpress-firmware/Config.in @@ -4,3 +4,5 @@ config BR2_TARGET_VEXPRESS_FIRMWARE help Versatile Express firmware from ARM, with Linaro mods last change. + + https://git.linaro.org/arm/vexpress-firmware.git diff --git a/buildroot/boot/xloader/Config.in b/buildroot/boot/xloader/Config.in deleted file mode 100644 index c411be478..000000000 --- a/buildroot/boot/xloader/Config.in +++ /dev/null @@ -1,15 +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. - -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/buildroot/boot/xloader/xloader.mk b/buildroot/boot/xloader/xloader.mk deleted file mode 100644 index 7e0b28668..000000000 --- a/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/buildroot/configs/amarula_a64_relic_defconfig b/buildroot/configs/amarula_a64_relic_defconfig new file mode 100644 index 000000000..f2e7e7f96 --- /dev/null +++ b/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/buildroot/configs/amarula_vyasa_rk3288_defconfig b/buildroot/configs/amarula_vyasa_rk3288_defconfig index ccaab9551..88fb6abbe 100644 --- a/buildroot/configs/amarula_vyasa_rk3288_defconfig +++ b/buildroot/configs/amarula_vyasa_rk3288_defconfig @@ -10,7 +10,7 @@ BR2_KERNEL_HEADERS_4_14=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.03" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="vyasa-rk3288" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/buildroot/configs/arcturus_ucls1012a_defconfig b/buildroot/configs/arcturus_ucls1012a_defconfig index 9d1da8c2c..7fb980479 100644 --- a/buildroot/configs/arcturus_ucls1012a_defconfig +++ b/buildroot/configs/arcturus_ucls1012a_defconfig @@ -28,7 +28,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/ArcturusNetworks/uCLS1012A-uboot.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="v0.2.1811" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="v0.2.1823" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="UCLS1012A_QSPI128" # Tools diff --git a/buildroot/configs/arm_juno_defconfig b/buildroot/configs/arm_juno_defconfig index 54506d806..583298677 100644 --- a/buildroot/configs/arm_juno_defconfig +++ b/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.2" +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/buildroot/configs/armadeus_apf27_defconfig b/buildroot/configs/armadeus_apf27_defconfig index 6f78b74d3..457a14b02 100644 --- a/buildroot/configs/armadeus_apf27_defconfig +++ b/buildroot/configs/armadeus_apf27_defconfig @@ -28,4 +28,7 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx27-apf27dev" # U-boot BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="apf27" +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="apf27" diff --git a/buildroot/configs/asus_tinker_rk3288_defconfig b/buildroot/configs/asus_tinker_rk3288_defconfig index 22e9bcd81..a0df3de8a 100644 --- a/buildroot/configs/asus_tinker_rk3288_defconfig +++ b/buildroot/configs/asus_tinker_rk3288_defconfig @@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=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.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-rk3288" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/buildroot/configs/at91sam9x5ek_dev_defconfig b/buildroot/configs/at91sam9x5ek_dev_defconfig index dee365a56..505be8d04 100644 --- a/buildroot/configs/at91sam9x5ek_dev_defconfig +++ b/buildroot/configs/at91sam9x5ek_dev_defconfig @@ -59,7 +59,6 @@ BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_BLUEZ_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y diff --git a/buildroot/configs/at91sam9x5ek_mmc_dev_defconfig b/buildroot/configs/at91sam9x5ek_mmc_dev_defconfig index a8fdad72b..cd6591288 100644 --- a/buildroot/configs/at91sam9x5ek_mmc_dev_defconfig +++ b/buildroot/configs/at91sam9x5ek_mmc_dev_defconfig @@ -62,7 +62,6 @@ BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_BLUEZ_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y diff --git a/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig b/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig index f3cb11ce7..9985b6472 100644 --- a/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig +++ b/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig @@ -51,7 +51,6 @@ BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_BLUEZ_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y diff --git a/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig b/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig index 78d082f9c..bc5414c4f 100644 --- a/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig +++ b/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig @@ -65,7 +65,6 @@ BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_BLUEZ_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y diff --git a/buildroot/configs/atmel_sama5d3_xplained_dev_defconfig b/buildroot/configs/atmel_sama5d3_xplained_dev_defconfig index 91ded5bfe..520cbc833 100644 --- a/buildroot/configs/atmel_sama5d3_xplained_dev_defconfig +++ b/buildroot/configs/atmel_sama5d3_xplained_dev_defconfig @@ -61,7 +61,6 @@ BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_BLUEZ_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y diff --git a/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig b/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig index 20dc8929a..a1e34ab81 100644 --- a/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig +++ b/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig @@ -64,7 +64,6 @@ BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_BLUEZ_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y diff --git a/buildroot/configs/atmel_sama5d4_xplained_dev_defconfig b/buildroot/configs/atmel_sama5d4_xplained_dev_defconfig index 69a71eb51..9197564c2 100644 --- a/buildroot/configs/atmel_sama5d4_xplained_dev_defconfig +++ b/buildroot/configs/atmel_sama5d4_xplained_dev_defconfig @@ -62,7 +62,6 @@ BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_BLUEZ_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y diff --git a/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig b/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig index 60692d98c..f20e114ff 100644 --- a/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig +++ b/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig @@ -65,7 +65,6 @@ BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_BLUEZ_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_CAN_UTILS=y -BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_ETHTOOL=y BR2_PACKAGE_IPERF=y BR2_PACKAGE_IPROUTE2=y diff --git a/buildroot/configs/bananapi_m1_defconfig b/buildroot/configs/bananapi_m1_defconfig index f8c66a333..558ef3d4a 100644 --- a/buildroot/configs/bananapi_m1_defconfig +++ b/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/buildroot/configs/bananapi_m2_ultra_defconfig b/buildroot/configs/bananapi_m2_ultra_defconfig new file mode 100644 index 000000000..5dd3edd66 --- /dev/null +++ b/buildroot/configs/bananapi_m2_ultra_defconfig @@ -0,0 +1,28 @@ +BR2_arm=y +BR2_cortex_a7=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/buildroot/configs/beaglebone_defconfig b/buildroot/configs/beaglebone_defconfig index 80b271475..2d9fba57d 100644 --- a/buildroot/configs/beaglebone_defconfig +++ b/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_9=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="a75d8e93056181d512f6c818e8627bd4554aaf92" +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,7 +16,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.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 diff --git a/buildroot/configs/cubieboard2_defconfig b/buildroot/configs/cubieboard2_defconfig index a0d23990a..fd50742d0 100644 --- a/buildroot/configs/cubieboard2_defconfig +++ b/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/buildroot/configs/freescale_imx28evk_defconfig b/buildroot/configs/freescale_imx28evk_defconfig index 181c9ab96..ba17ed217 100644 --- a/buildroot/configs/freescale_imx28evk_defconfig +++ b/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/buildroot/configs/freescale_imx8mqevk_defconfig b/buildroot/configs/freescale_imx8mqevk_defconfig index f48e4f78e..a6e9b940b 100644 --- a/buildroot/configs/freescale_imx8mqevk_defconfig +++ b/buildroot/configs/freescale_imx8mqevk_defconfig @@ -3,6 +3,7 @@ BR2_ARM_FPU_VFPV3=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=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" diff --git a/buildroot/configs/imx6-sabresd_defconfig b/buildroot/configs/imx6-sabresd_defconfig index 999951391..89ffa0291 100644 --- a/buildroot/configs/imx6-sabresd_defconfig +++ b/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.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=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.17.4" 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/buildroot/configs/imx6-sabresd_qt5_defconfig b/buildroot/configs/imx6-sabresd_qt5_defconfig index 8e6065db5..2534d5cb8 100644 --- a/buildroot/configs/imx6-sabresd_qt5_defconfig +++ b/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.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=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,11 +38,12 @@ 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.17.4" 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" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/freescale/imx6-sabresd/linux_qt5.fragment" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # GL driver BR2_PACKAGE_MESA3D=y diff --git a/buildroot/configs/imx6ulevk_defconfig b/buildroot/configs/imx6ulevk_defconfig index 069f8cfc5..9e30d2c3c 100644 --- a/buildroot/configs/imx6ulevk_defconfig +++ b/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/buildroot/configs/imx6ulpico_defconfig b/buildroot/configs/imx6ulpico_defconfig index 96ac038d2..56ae58875 100644 --- a/buildroot/configs/imx6ulpico_defconfig +++ b/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/buildroot/configs/imx7d-sdb_defconfig b/buildroot/configs/imx7d-sdb_defconfig new file mode 100644 index 000000000..b1cc5f852 --- /dev/null +++ b/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/buildroot/configs/imx7dpico_defconfig b/buildroot/configs/imx7dpico_defconfig index b72d56bc9..93e3fd741 100644 --- a/buildroot/configs/imx7dpico_defconfig +++ b/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/buildroot/configs/mx51evk_defconfig b/buildroot/configs/mx51evk_defconfig index 368e9beaf..3c2d56132 100644 --- a/buildroot/configs/mx51evk_defconfig +++ b/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/buildroot/configs/mx53loco_defconfig b/buildroot/configs/mx53loco_defconfig index ae56fcad8..ca6ec446f 100644 --- a/buildroot/configs/mx53loco_defconfig +++ b/buildroot/configs/mx53loco_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_cortex_a8=y -# Linux headers same as kernel, a 4.16 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=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" @@ -28,7 +28,7 @@ BR2_TARGET_UBOOT_FORMAT_IMX=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.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/buildroot/configs/nitrogen8m_defconfig b/buildroot/configs/nitrogen8m_defconfig new file mode 100644 index 000000000..9b758f0b9 --- /dev/null +++ b/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/buildroot/configs/odroidxu4_defconfig b/buildroot/configs/odroidxu4_defconfig new file mode 100644 index 000000000..69958e138 --- /dev/null +++ b/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/buildroot/configs/olimex_a10_olinuxino_lime_defconfig b/buildroot/configs/olimex_a10_olinuxino_lime_defconfig new file mode 100644 index 000000000..8248daf92 --- /dev/null +++ b/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/buildroot/configs/olimex_a20_olinuxino_lime2_defconfig b/buildroot/configs/olimex_a20_olinuxino_lime2_defconfig index 64618c5e6..716995aa7 100644 --- a/buildroot/configs/olimex_a20_olinuxino_lime2_defconfig +++ b/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.18 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.26" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.7" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -34,7 +34,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.03" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.09" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime2" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/buildroot/configs/olimex_a20_olinuxino_lime_defconfig b/buildroot/configs/olimex_a20_olinuxino_lime_defconfig index b124bd93c..ed8ea8623 100644 --- a/buildroot/configs/olimex_a20_olinuxino_lime_defconfig +++ b/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.18 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.26" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.7" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -34,7 +34,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.03" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.09" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/buildroot/configs/olimex_a20_olinuxino_lime_mali_defconfig b/buildroot/configs/olimex_a20_olinuxino_lime_legacy_defconfig similarity index 92% rename from buildroot/configs/olimex_a20_olinuxino_lime_mali_defconfig rename to buildroot/configs/olimex_a20_olinuxino_lime_legacy_defconfig index de13b2e47..2c33f05e5 100644 --- a/buildroot/configs/olimex_a20_olinuxino_lime_mali_defconfig +++ b/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 @@ -39,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.03" +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 @@ -47,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/buildroot/configs/orangepi_lite_defconfig b/buildroot/configs/orangepi_lite_defconfig index 1e5fca867..1c3b99cf1 100644 --- a/buildroot/configs/orangepi_lite_defconfig +++ b/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/buildroot/configs/orangepi_pc_defconfig b/buildroot/configs/orangepi_pc_defconfig index aa559e743..313b7ab3a 100644 --- a/buildroot/configs/orangepi_pc_defconfig +++ b/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_17=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.17.15" 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.07" 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/buildroot/configs/orangepi_zero_defconfig b/buildroot/configs/orangepi_zero_defconfig index fcf9b325c..87962152f 100644 --- a/buildroot/configs/orangepi_zero_defconfig +++ b/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_17=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.17.15" 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.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/buildroot/configs/orangepi_zero_plus2_defconfig b/buildroot/configs/orangepi_zero_plus2_defconfig index 5ca6cf0fe..917aa851d 100644 --- a/buildroot/configs/orangepi_zero_plus2_defconfig +++ b/buildroot/configs/orangepi_zero_plus2_defconfig @@ -2,9 +2,8 @@ BR2_aarch64=y BR2_cortex_a53=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y -BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero-plus2/patches" BR2_ROOTFS_OVERLAY="board/orangepi/orangepi-zero-plus2/rootfs_overlay" # Firmware @@ -22,6 +21,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION=y 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" @@ -33,11 +33,12 @@ 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.15.2" +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 diff --git a/buildroot/configs/pc_x86_64_bios_defconfig b/buildroot/configs/pc_x86_64_bios_defconfig index 47787bc11..6e9220bb3 100644 --- a/buildroot/configs/pc_x86_64_bios_defconfig +++ b/buildroot/configs/pc_x86_64_bios_defconfig @@ -22,16 +22,17 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image.sh 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/buildroot/configs/pc_x86_64_efi_defconfig b/buildroot/configs/pc_x86_64_efi_defconfig index 67ba5bcf5..2a76f403d 100644 --- a/buildroot/configs/pc_x86_64_efi_defconfig +++ b/buildroot/configs/pc_x86_64_efi_defconfig @@ -25,16 +25,17 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" 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" -# 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/buildroot/configs/qemu_aarch64_virt_defconfig b/buildroot/configs/qemu_aarch64_virt_defconfig index 076773302..2706544e5 100644 --- a/buildroot/configs/qemu_aarch64_virt_defconfig +++ b/buildroot/configs/qemu_aarch64_virt_defconfig @@ -10,13 +10,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.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.2" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux-4.15.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/buildroot/configs/qemu_arm_versatile_defconfig b/buildroot/configs/qemu_arm_versatile_defconfig index 0423dc06c..348b91bc9 100644 --- a/buildroot/configs/qemu_arm_versatile_defconfig +++ b/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.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.13.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_arm_versatile_nommu_defconfig b/buildroot/configs/qemu_arm_versatile_nommu_defconfig index 9c48172e4..910c38243 100644 --- a/buildroot/configs/qemu_arm_versatile_nommu_defconfig +++ b/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.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.4.70" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_m68k_mcf5208_defconfig b/buildroot/configs/qemu_m68k_mcf5208_defconfig index ccbdcfa3b..8f8d0a048 100644 --- a/buildroot/configs/qemu_m68k_mcf5208_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_m68k_q800_defconfig b/buildroot/configs/qemu_m68k_q800_defconfig index 6dc50a7c0..d9238b650 100644 --- a/buildroot/configs/qemu_m68k_q800_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_microblazebe_mmu_defconfig b/buildroot/configs/qemu_microblazebe_mmu_defconfig index ae736ff10..3055a0f8c 100644 --- a/buildroot/configs/qemu_microblazebe_mmu_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_microblazeel_mmu_defconfig b/buildroot/configs/qemu_microblazeel_mmu_defconfig index 3dedecf71..073a7173f 100644 --- a/buildroot/configs/qemu_microblazeel_mmu_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_mips32r2_malta_defconfig b/buildroot/configs/qemu_mips32r2_malta_defconfig index db408b0e7..d07bc1100 100644 --- a/buildroot/configs/qemu_mips32r2_malta_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_mips32r2el_malta_defconfig b/buildroot/configs/qemu_mips32r2el_malta_defconfig index ccec419ad..55e68b1fd 100644 --- a/buildroot/configs/qemu_mips32r2el_malta_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_mips32r6_malta_defconfig b/buildroot/configs/qemu_mips32r6_malta_defconfig index 3aee84c53..580239336 100644 --- a/buildroot/configs/qemu_mips32r6_malta_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_mips32r6el_malta_defconfig b/buildroot/configs/qemu_mips32r6el_malta_defconfig index aa43dce94..93e2a8650 100644 --- a/buildroot/configs/qemu_mips32r6el_malta_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_mips64_malta_defconfig b/buildroot/configs/qemu_mips64_malta_defconfig index 52e42992a..99b457a9f 100644 --- a/buildroot/configs/qemu_mips64_malta_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_mips64el_malta_defconfig b/buildroot/configs/qemu_mips64el_malta_defconfig index 2b35c1a01..f2dacbd76 100644 --- a/buildroot/configs/qemu_mips64el_malta_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_mips64r6_malta_defconfig b/buildroot/configs/qemu_mips64r6_malta_defconfig index 06c0133f9..d291213db 100644 --- a/buildroot/configs/qemu_mips64r6_malta_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_mips64r6el_malta_defconfig b/buildroot/configs/qemu_mips64r6el_malta_defconfig index e80e72848..4740bdee2 100644 --- a/buildroot/configs/qemu_mips64r6el_malta_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_nios2_10m50_defconfig b/buildroot/configs/qemu_nios2_10m50_defconfig index a9eaf0800..cff219257 100644 --- a/buildroot/configs/qemu_nios2_10m50_defconfig +++ b/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.16.7" 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.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y diff --git a/buildroot/configs/qemu_or1k_defconfig b/buildroot/configs/qemu_or1k_defconfig index c66714218..636a0d25b 100644 --- a/buildroot/configs/qemu_or1k_defconfig +++ b/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,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.14.2" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/or1k/linux.config" diff --git a/buildroot/configs/qemu_ppc64_e5500_defconfig b/buildroot/configs/qemu_ppc64_e5500_defconfig index 8173a0251..7a325a507 100644 --- a/buildroot/configs/qemu_ppc64_e5500_defconfig +++ b/buildroot/configs/qemu_ppc64_e5500_defconfig @@ -6,12 +6,12 @@ BR2_powerpc_e5500=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" # Linux headers same as the kernel -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +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.7" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc64-e5500/linux.fragment" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/buildroot/configs/qemu_ppc64_pseries_defconfig b/buildroot/configs/qemu_ppc64_pseries_defconfig index 84076314d..d2d69f1c3 100644 --- a/buildroot/configs/qemu_ppc64_pseries_defconfig +++ b/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.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.13.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" BR2_LINUX_KERNEL_DEFCONFIG="pseries" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/buildroot/configs/qemu_ppc64le_pseries_defconfig b/buildroot/configs/qemu_ppc64le_pseries_defconfig index 62e729d30..9a85f76dd 100644 --- a/buildroot/configs/qemu_ppc64le_pseries_defconfig +++ b/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.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.13.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" BR2_LINUX_KERNEL_DEFCONFIG="pseries_le" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/buildroot/configs/qemu_ppc_g3beige_defconfig b/buildroot/configs/qemu_ppc_g3beige_defconfig index 9482aaa87..451a9b52d 100644 --- a/buildroot/configs/qemu_ppc_g3beige_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_ppc_mpc8544ds_defconfig b/buildroot/configs/qemu_ppc_mpc8544ds_defconfig index d2d92b665..38e41a7fa 100644 --- a/buildroot/configs/qemu_ppc_mpc8544ds_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_ppc_virtex_ml507_defconfig b/buildroot/configs/qemu_ppc_virtex_ml507_defconfig index 84cb32987..6824afca3 100644 --- a/buildroot/configs/qemu_ppc_virtex_ml507_defconfig +++ b/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.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=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.16.7" 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/buildroot/configs/qemu_riscv64_virt_defconfig b/buildroot/configs/qemu_riscv64_virt_defconfig new file mode 100644 index 000000000..59343ee98 --- /dev/null +++ b/buildroot/configs/qemu_riscv64_virt_defconfig @@ -0,0 +1,24 @@ +# Architecture +BR2_riscv=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.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/riscv64-virt/linux.config" + +# Bootloader +BR2_TARGET_RISCV_PK=y diff --git a/buildroot/configs/qemu_sh4_r2d_defconfig b/buildroot/configs/qemu_sh4_r2d_defconfig index becce23ee..ec4a91c99 100644 --- a/buildroot/configs/qemu_sh4_r2d_defconfig +++ b/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.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=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.16.7" 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/buildroot/configs/qemu_sh4eb_r2d_defconfig b/buildroot/configs/qemu_sh4eb_r2d_defconfig index 61d9ac9dd..e7dbd46a2 100644 --- a/buildroot/configs/qemu_sh4eb_r2d_defconfig +++ b/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.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=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.16.7" 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/buildroot/configs/qemu_sparc64_sun4u_defconfig b/buildroot/configs/qemu_sparc64_sun4u_defconfig index 072fba79b..baa8dbfb5 100644 --- a/buildroot/configs/qemu_sparc64_sun4u_defconfig +++ b/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.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=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.16.7" 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/buildroot/configs/qemu_sparc_ss10_defconfig b/buildroot/configs/qemu_sparc_ss10_defconfig index 8c6b563a8..9943781a5 100644 --- a/buildroot/configs/qemu_sparc_ss10_defconfig +++ b/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.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=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.16.7" 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/buildroot/configs/qemu_x86_64_defconfig b/buildroot/configs/qemu_x86_64_defconfig index b92ae17ae..12b30bf76 100644 --- a/buildroot/configs/qemu_x86_64_defconfig +++ b/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.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.7" 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/buildroot/configs/qemu_x86_defconfig b/buildroot/configs/qemu_x86_defconfig index ed6c198ac..985ff32b4 100644 --- a/buildroot/configs/qemu_x86_defconfig +++ b/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.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.7" 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/buildroot/configs/qemu_xtensa_lx60_defconfig b/buildroot/configs/qemu_xtensa_lx60_defconfig index d8614ef24..a735c991c 100644 --- a/buildroot/configs/qemu_xtensa_lx60_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig b/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig index 174ebd3d5..f4d6837bc 100644 --- a/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig +++ b/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.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.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" 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/buildroot/configs/raspberrypi0_defconfig b/buildroot/configs/raspberrypi0_defconfig index 62c55fee2..20f40fa6f 100644 --- a/buildroot/configs/raspberrypi0_defconfig +++ b/buildroot/configs/raspberrypi0_defconfig @@ -9,7 +9,7 @@ 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,c117a8bccf37bfba323065b566cf999ed4629a4a)/linux-c117a8bccf37bfba323065b566cf999ed4629a4a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,6d27aa156c26977dfd079a7107e31670127d17d3)/linux-6d27aa156c26977dfd079a7107e31670127d17d3.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" # Build the DTBs for A/B from the kernel sources: the zero is the same diff --git a/buildroot/configs/raspberrypi0w_defconfig b/buildroot/configs/raspberrypi0w_defconfig index 95195bd5e..d3f550cf2 100644 --- a/buildroot/configs/raspberrypi0w_defconfig +++ b/buildroot/configs/raspberrypi0w_defconfig @@ -9,7 +9,7 @@ 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,c117a8bccf37bfba323065b566cf999ed4629a4a)/linux-c117a8bccf37bfba323065b566cf999ed4629a4a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,6d27aa156c26977dfd079a7107e31670127d17d3)/linux-6d27aa156c26977dfd079a7107e31670127d17d3.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-0-w" diff --git a/buildroot/configs/raspberrypi2_defconfig b/buildroot/configs/raspberrypi2_defconfig index bbb3900e4..688ec557d 100644 --- a/buildroot/configs/raspberrypi2_defconfig +++ b/buildroot/configs/raspberrypi2_defconfig @@ -12,7 +12,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,c117a8bccf37bfba323065b566cf999ed4629a4a)/linux-c117a8bccf37bfba323065b566cf999ed4629a4a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,6d27aa156c26977dfd079a7107e31670127d17d3)/linux-6d27aa156c26977dfd079a7107e31670127d17d3.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources @@ -30,6 +30,7 @@ BR2_PACKAGE_HOST_MTOOLS=y # Filesystem / image 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_BUILD_SCRIPT="board/raspberrypi2/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi2/post-image.sh" diff --git a/buildroot/configs/raspberrypi3_64_defconfig b/buildroot/configs/raspberrypi3_64_defconfig index df9f89927..a67c62026 100644 --- a/buildroot/configs/raspberrypi3_64_defconfig +++ b/buildroot/configs/raspberrypi3_64_defconfig @@ -11,12 +11,12 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,c117a8bccf37bfba323065b566cf999ed4629a4a)/linux-c117a8bccf37bfba323065b566cf999ed4629a4a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,6d27aa156c26977dfd079a7107e31670127d17d3)/linux-6d27aa156c26977dfd079a7107e31670127d17d3.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/buildroot/configs/raspberrypi3_defconfig b/buildroot/configs/raspberrypi3_defconfig index b55233a20..75f2dec9d 100644 --- a/buildroot/configs/raspberrypi3_defconfig +++ b/buildroot/configs/raspberrypi3_defconfig @@ -11,7 +11,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,c117a8bccf37bfba323065b566cf999ed4629a4a)/linux-c117a8bccf37bfba323065b566cf999ed4629a4a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,6d27aa156c26977dfd079a7107e31670127d17d3)/linux-6d27aa156c26977dfd079a7107e31670127d17d3.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources diff --git a/buildroot/configs/raspberrypi3_qt5we_defconfig b/buildroot/configs/raspberrypi3_qt5we_defconfig index ee76f2b68..c8d0be8cb 100644 --- a/buildroot/configs/raspberrypi3_qt5we_defconfig +++ b/buildroot/configs/raspberrypi3_qt5we_defconfig @@ -12,7 +12,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,c117a8bccf37bfba323065b566cf999ed4629a4a)/linux-c117a8bccf37bfba323065b566cf999ed4629a4a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,6d27aa156c26977dfd079a7107e31670127d17d3)/linux-6d27aa156c26977dfd079a7107e31670127d17d3.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources diff --git a/buildroot/configs/raspberrypi_defconfig b/buildroot/configs/raspberrypi_defconfig index 0460117eb..3e0861f67 100644 --- a/buildroot/configs/raspberrypi_defconfig +++ b/buildroot/configs/raspberrypi_defconfig @@ -11,7 +11,7 @@ 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,c117a8bccf37bfba323065b566cf999ed4629a4a)/linux-c117a8bccf37bfba323065b566cf999ed4629a4a.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,6d27aa156c26977dfd079a7107e31670127d17d3)/linux-6d27aa156c26977dfd079a7107e31670127d17d3.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/buildroot/configs/riotboard_defconfig b/buildroot/configs/riotboard_defconfig new file mode 100644 index 000000000..3efcd8859 --- /dev/null +++ b/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/buildroot/configs/sheevaplug_defconfig b/buildroot/configs/sheevaplug_defconfig index edafffe0a..052e39398 100644 --- a/buildroot/configs/sheevaplug_defconfig +++ b/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/buildroot/configs/snps_arc700_axs101_defconfig b/buildroot/configs/snps_arc700_axs101_defconfig index 0fefaf4aa..4f796b438 100644 --- a/buildroot/configs/snps_arc700_axs101_defconfig +++ b/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/buildroot/configs/snps_archs38_axs103_defconfig b/buildroot/configs/snps_archs38_axs103_defconfig index 39ceeae43..456d4cba2 100644 --- a/buildroot/configs/snps_archs38_axs103_defconfig +++ b/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/buildroot/configs/snps_archs38_haps_defconfig b/buildroot/configs/snps_archs38_haps_defconfig index 6583c1ec3..2ef49b4d4 100644 --- a/buildroot/configs/snps_archs38_haps_defconfig +++ b/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/buildroot/configs/snps_archs38_hsdk_defconfig b/buildroot/configs/snps_archs38_hsdk_defconfig index 415759ac3..4c337e5ce 100644 --- a/buildroot/configs/snps_archs38_hsdk_defconfig +++ b/buildroot/configs/snps_archs38_hsdk_defconfig @@ -2,8 +2,8 @@ BR2_arcle=y BR2_archs38=y -# Linux headers -BR2_KERNEL_HEADERS_4_14=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" @@ -13,7 +13,7 @@ BR2_SYSTEM_DHCP="eth0" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.47" +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" @@ -31,7 +31,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/synopsys/hsdk/genimage.cfg" 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="hsdk" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_ELF=y diff --git a/buildroot/configs/snps_archs38_vdk_defconfig b/buildroot/configs/snps_archs38_vdk_defconfig index 46b539bee..f8766cff8 100644 --- a/buildroot/configs/snps_archs38_vdk_defconfig +++ b/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/buildroot/configs/solidrun_clearfog_defconfig b/buildroot/configs/solidrun_clearfog_defconfig index 7c426e5ad..8c6cb83a5 100644 --- a/buildroot/configs/solidrun_clearfog_defconfig +++ b/buildroot/configs/solidrun_clearfog_defconfig @@ -5,8 +5,8 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_NEON=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.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y # System configuration BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/clearfog/post-build.sh" @@ -16,7 +16,7 @@ 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.12.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17.2" BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v7" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/solidrun/clearfog/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -33,12 +33,10 @@ BR2_PACKAGE_HOST_GENIMAGE=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.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" 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" -BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/solidrun/clearfog/boot.scr.txt" diff --git a/buildroot/configs/solidrun_macchiatobin_mainline_defconfig b/buildroot/configs/solidrun_macchiatobin_mainline_defconfig index 17fb9d02a..d303b2f75 100644 --- a/buildroot/configs/solidrun_macchiatobin_mainline_defconfig +++ b/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_18=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 @@ -20,12 +21,12 @@ BR2_TARGET_MV_DDR_MARVELL=y 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.09" # 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.18" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-8040-mcbin" diff --git a/buildroot/configs/solidrun_macchiatobin_marvell_defconfig b/buildroot/configs/solidrun_macchiatobin_marvell_defconfig index acc8d1589..4b52e4794 100644 --- a/buildroot/configs/solidrun_macchiatobin_marvell_defconfig +++ b/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,14 +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_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,MarvellEmbeddedProcessors,linux-marvell,linux-4.4.52-armada-17.10)/linux-linux-4.4.52-armada-17.10.tar.gz" +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/buildroot/configs/wandboard_defconfig b/buildroot/configs/wandboard_defconfig index 4265fdcfb..d2f72f734 100644 --- a/buildroot/configs/wandboard_defconfig +++ b/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.16 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=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,13 +13,13 @@ 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="2018.03" +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.16" +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 imx6q-wandboard-revd1 imx6dl-wandboard-revd1 imx6qp-wandboard-revd1" diff --git a/buildroot/configs/zynq_microzed_defconfig b/buildroot/configs/zynq_microzed_defconfig index c89b4e6d9..1bb11fee7 100644 --- a/buildroot/configs/zynq_microzed_defconfig +++ b/buildroot/configs/zynq_microzed_defconfig @@ -20,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/buildroot/configs/zynq_zc706_defconfig b/buildroot/configs/zynq_zc706_defconfig index 758069b30..e8019177d 100644 --- a/buildroot/configs/zynq_zc706_defconfig +++ b/buildroot/configs/zynq_zc706_defconfig @@ -20,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/buildroot/configs/zynq_zed_defconfig b/buildroot/configs/zynq_zed_defconfig index 676366bc5..a215695b5 100644 --- a/buildroot/configs/zynq_zed_defconfig +++ b/buildroot/configs/zynq_zed_defconfig @@ -20,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/buildroot/configs/zynqmp_zcu106_defconfig b/buildroot/configs/zynqmp_zcu106_defconfig new file mode 100644 index 000000000..bee7c1daf --- /dev/null +++ b/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/buildroot/docs/manual/adding-packages-directory.txt b/buildroot/docs/manual/adding-packages-directory.txt index f5e1e313d..e6201bb86 100644 --- a/buildroot/docs/manual/adding-packages-directory.txt +++ b/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 @@ -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/buildroot/docs/manual/adding-packages-generic.txt b/buildroot/docs/manual/adding-packages-generic.txt index cc91e894b..7be1754f5 100644 --- a/buildroot/docs/manual/adding-packages-generic.txt +++ b/buildroot/docs/manual/adding-packages-generic.txt @@ -200,11 +200,24 @@ information is (assuming the package name is +libfoo+) : package. Note that if +HOST_LIBFOO_VERSION+ doesn't exist, it is assumed to be the same as +LIBFOO_VERSION+. It can also be a revision number or a tag for packages that are fetched directly - from their version control system. Do not use a branch name as - version; it does not work. Examples: + from their version control system. Examples: ** a version for a release tarball: +LIBFOO_VERSION = 0.1.2+ ** a sha1 for a git tree: +LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057+ ** a tag for a git tree +LIBFOO_VERSION = v0.1.2+ ++ +.Note: +Using a branch name as +FOO_VERSION+ is not supported, because it does +not and can not work as people would expect it should: ++ + 1. due to local caching, Buildroot will not re-fetch the repository, + so people who expect to be able to follow the remote repository + would be quite surprised and disappointed; + 2. because two builds can never be perfectly simultaneous, and because + the remote repository may get new commits on the branch anytime, + two users, using the same Buildroot tree and building the same + configuration, may get different source, thus rendering the build + non reproducible, and people would be quite surprised and + disappointed. * +LIBFOO_SOURCE+ may contain the name of the tarball of the package, which Buildroot will use to download the tarball from diff --git a/buildroot/docs/manual/adding-packages-kconfig.txt b/buildroot/docs/manual/adding-packages-kconfig.txt index d4d8630a7..982c1229e 100644 --- a/buildroot/docs/manual/adding-packages-kconfig.txt +++ b/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/buildroot/docs/manual/adding-packages-meson.txt b/buildroot/docs/manual/adding-packages-meson.txt index f8aa08fa9..c52fe1050 100644 --- a/buildroot/docs/manual/adding-packages-meson.txt +++ b/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,69 @@ 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_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. diff --git a/buildroot/docs/manual/adding-packages-perl.txt b/buildroot/docs/manual/adding-packages-perl.txt index eb14d9de1..6ce693fd6 100644 --- a/buildroot/docs/manual/adding-packages-perl.txt +++ b/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/buildroot/docs/manual/contribute.txt b/buildroot/docs/manual/contribute.txt index b531ea987..60bfb961f 100644 --- a/buildroot/docs/manual/contribute.txt +++ b/buildroot/docs/manual/contribute.txt @@ -308,6 +308,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/buildroot/docs/manual/customize-directory-structure.txt b/buildroot/docs/manual/customize-directory-structure.txt index b177319f9..a3a7ad4cb 100644 --- a/buildroot/docs/manual/customize-directory-structure.txt +++ b/buildroot/docs/manual/customize-directory-structure.txt @@ -50,6 +50,7 @@ to you. | +-- Config.in (if using a br2-external tree) +-- external.mk (if using a br2-external tree) ++-- external.desc (if using a br2-external tree) ------ Details on the files shown above are given further in this chapter. diff --git a/buildroot/docs/manual/developers.txt b/buildroot/docs/manual/developers.txt index a0a3668db..0da499e10 100644 --- a/buildroot/docs/manual/developers.txt +++ b/buildroot/docs/manual/developers.txt @@ -31,7 +31,8 @@ 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. + 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 return the list of developers in charge of the given architecture. diff --git a/buildroot/docs/manual/manual.html b/buildroot/docs/manual/manual.html index a9b8eaa0a..f41b4c429 100644 --- a/buildroot/docs/manual/manual.html +++ b/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 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 2018.05.1 manual generated on 2018-07-19 -22:46:12 UTC from git revision ef26ffddde

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 2018.11 manual generated on 2018-12-01 +22:08:55 UTC from git revision 9089a9ff30

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-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 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 @@ -34,9 +34,9 @@ Build tools:

  • build-essential (only for Debian based systems)
  • -gcc (version 2.95 or any later) +gcc (version 4.4 or any later)
  • -g++ (version 2.95 or any later) +g++ (version 4.4 or any later)
  • bash
  • @@ -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 @@ -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 @@ -1157,7 +1160,8 @@ to you.

      +-- board/
       |           +-- package2.mk
       |
       +-- Config.in (if using a br2-external tree)
      -+-- external.mk (if using a br2-external tree)

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

      Note: if you choose to place this structure outside of the Buildroot ++-- external.mk (if using a br2-external tree) ++-- external.desc (if using a br2-external tree)

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

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

      9.1.1. Implementing layered customizations

      It is quite common for a user to have several related projects that partly need the same customizations. Instead of duplicating these @@ -2189,7 +2193,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
    • @@ -2491,7 +2499,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: @@ -2640,7 +2653,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 @@ -2690,15 +2703,26 @@ information is (assuming the package name is libfoo package. Note that if HOST_LIBFOO_VERSION doesn’t exist, it is assumed to be the same as LIBFOO_VERSION. It can also be a revision number or a tag for packages that are fetched directly - from their version control system. Do not use a branch name as - version; it does not work. Examples: + from their version control system. Examples:

      • a version for a release tarball: LIBFOO_VERSION = 0.1.2
      • a sha1 for a git tree: LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057 -
      • +
      • a tag for a git tree LIBFOO_VERSION = v0.1.2 -

    • +

      Note: Using a branch name as FOO_VERSION is not supported, because it does +not and can not work as people would expect it should:

      1. +due to local caching, Buildroot will not re-fetch the repository, + so people who expect to be able to follow the remote repository + would be quite surprised and disappointed; +
      2. +because two builds can never be perfectly simultaneous, and because + the remote repository may get new commits on the branch anytime, + two users, using the same Buildroot tree and building the same + configuration, may get different source, thus rendering the build + non reproducible, and people would be quite surprised and + disappointed. +
  • LIBFOO_SOURCE may contain the name of the tarball of the package, which Buildroot will use to download the tarball from LIBFOO_SITE. If HOST_LIBFOO_SOURCE is not specified, it defaults @@ -3523,13 +3547,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 @@ -3713,6 +3739,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: #
    @@ -3822,10 +3852,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: #
    @@ -3838,67 +3868,47 @@ 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_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. +

    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
    @@ -4890,7 +4900,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 @@ -4902,7 +4916,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. @@ -4984,7 +4998,7 @@ 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:

    • Calculate the list of developers to whom patches should be sent, by @@ -5004,7 +5018,8 @@ itself.

      The get-developer tool, located in 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. + 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 return the list of developers in charge of the given architecture. diff --git a/buildroot/docs/manual/manual.pdf b/buildroot/docs/manual/manual.pdf index c55b16ba0..d0755c6e1 100644 Binary files a/buildroot/docs/manual/manual.pdf and b/buildroot/docs/manual/manual.pdf differ diff --git a/buildroot/docs/manual/manual.text b/buildroot/docs/manual/manual.text index 844d82031..f15bb7c95 100644 --- a/buildroot/docs/manual/manual.text +++ b/buildroot/docs/manual/manual.text @@ -111,7 +111,7 @@ 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 Go packages 17.18. Infrastructure for packages building kernel modules @@ -161,13 +161,14 @@ List of Examples --------------------------------------------------------------------- -Buildroot 2018.05.1 manual generated on 2018-07-19 22:46:17 UTC from -git revision ef26ffddde +Buildroot 2018.11 manual generated on 2018-12-01 22:09:01 UTC from +git revision 9089a9ff30 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] file in -the Buildroot sources for the full text of this license. +the COPYING [http://git.buildroot.org/buildroot/tree/COPYING?id= +9089a9ff307045bb5fd42ab76ad0a739b5221416] file in the Buildroot +sources for the full text of this license. Copyright © 2004-2018 The Buildroot developers @@ -234,8 +235,8 @@ vary between distributions). + make (version 3.81 or any later) + binutils + build-essential (only for Debian based systems) - + gcc (version 2.95 or any later) - + g++ (version 2.95 or any later) + + gcc (version 4.4 or any later) + + g++ (version 4.4 or any later) + bash + patch + gzip @@ -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 @@ -1908,6 +1918,7 @@ choice is up to you. | +-- Config.in (if using a br2-external tree) +-- external.mk (if using a br2-external tree) ++-- external.desc (if using a br2-external tree) Details on the files shown above are given further in this chapter. @@ -3148,7 +3159,7 @@ 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 Go packages 17.18. Infrastructure for packages building kernel modules @@ -3454,9 +3465,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 @@ -3824,6 +3837,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. @@ -4112,13 +4132,28 @@ information is (assuming the package name is libfoo) : package. Note that if HOST_LIBFOO_VERSION doesn’t exist, it is assumed to be the same as LIBFOO_VERSION. It can also be a revision number or a tag for packages that are fetched directly - from their version control system. Do not use a branch name as - version; it does not work. Examples: + from their version control system. Examples: + a version for a release tarball: LIBFOO_VERSION = 0.1.2 + a sha1 for a git tree: LIBFOO_VERSION = cb9d6aa9429e838f0e54faa3d455bcbab5eef057 + a tag for a git tree LIBFOO_VERSION = v0.1.2 + + Note: Using a branch name as FOO_VERSION is not supported, + because it does not and can not work as people would expect + it should: + + 1. due to local caching, Buildroot will not re-fetch the + repository, so people who expect to be able to follow the + remote repository would be quite surprised and + disappointed; + 2. because two builds can never be perfectly simultaneous, + and because the remote repository may get new commits on + the branch anytime, two users, using the same Buildroot + tree and building the same configuration, may get + different source, thus rendering the build non + reproducible, and people would be quite surprised and + disappointed. * LIBFOO_SOURCE may contain the name of the tarball of the package, which Buildroot will use to download the tarball from LIBFOO_SITE. If HOST_LIBFOO_SOURCE is not specified, it defaults @@ -5075,8 +5110,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. @@ -5091,7 +5127,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, @@ -5375,6 +5414,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 @@ -5537,17 +5579,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: # @@ -5562,75 +5604,72 @@ 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_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. + 17.16. Integration of Cargo-based packages Cargo is the package manager for the Rust programming language. It @@ -7042,6 +7081,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. @@ -7209,6 +7264,8 @@ 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. + 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 return the list of developers in charge of the given architecture. diff --git a/buildroot/docs/manual/manual.txt b/buildroot/docs/manual/manual.txt index afb53d048..9d5076047 100644 --- a/buildroot/docs/manual/manual.txt +++ b/buildroot/docs/manual/manual.txt @@ -9,8 +9,8 @@ Buildroot {sys:echo $\{BR2_VERSION%%-git*\}} manual generated on {localdate} The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to the -http://git.buildroot.org/buildroot/tree/COPYING[COPYING] file in the Buildroot -sources for the full text of this license. +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 diff --git a/buildroot/docs/manual/prerequisite.txt b/buildroot/docs/manual/prerequisite.txt index 110fab41f..66e1b88f1 100644 --- a/buildroot/docs/manual/prerequisite.txt +++ b/buildroot/docs/manual/prerequisite.txt @@ -23,8 +23,8 @@ between distributions). ** +make+ (version 3.81 or any later) ** +binutils+ ** +build-essential+ (only for Debian based systems) -** +gcc+ (version 2.95 or any later) -** `g++` (version 2.95 or any later) +** +gcc+ (version 4.4 or any later) +** `g++` (version 4.4 or any later) ** +bash+ ** +patch+ ** +gzip+ diff --git a/buildroot/docs/manual/using-buildroot-toolchain.txt b/buildroot/docs/manual/using-buildroot-toolchain.txt index 3246dc241..0c0c35fce 100644 --- a/buildroot/docs/manual/using-buildroot-toolchain.txt +++ b/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/buildroot/docs/website/contribute.html b/buildroot/docs/website/contribute.html index 721729be3..aa1cf93f1 100644 --- a/buildroot/docs/website/contribute.html +++ b/buildroot/docs/website/contribute.html @@ -18,7 +18,7 @@ autobuild failures
      • 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/buildroot/docs/website/download.html b/buildroot/docs/website/download.html index fd0809378..b447251a1 100644 --- a/buildroot/docs/website/download.html +++ b/buildroot/docs/website/download.html @@ -8,105 +8,105 @@
        Download
        -

        Latest long term support release: 2018.02.2

        +

        Latest long term support release: 2018.02.8

        -

        Latest stable release: 2018.05

        +

        Latest stable release: 2018.11

        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/buildroot/package/libaio/Config.in b/buildroot/package/libaio/Config.in index ea21a36f5..eed843f44 100644 --- a/buildroot/package/libaio/Config.in +++ b/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/buildroot/package/libaio/libaio.hash b/buildroot/package/libaio/libaio.hash index 5917e2f78..17dd1ff70 100644 --- a/buildroot/package/libaio/libaio.hash +++ b/buildroot/package/libaio/libaio.hash @@ -1,5 +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/buildroot/package/libaio/libaio.mk b/buildroot/package/libaio/libaio.mk index 03029d84d..a215ca653 100644 --- a/buildroot/package/libaio/libaio.mk +++ b/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/buildroot/package/libarchive/0001-Do-something-sensible-for-empty-strings-to-make-fuzz.patch b/buildroot/package/libarchive/0001-Do-something-sensible-for-empty-strings-to-make-fuzz.patch deleted file mode 100644 index 1d1d80d70..000000000 --- a/buildroot/package/libarchive/0001-Do-something-sensible-for-empty-strings-to-make-fuzz.patch +++ /dev/null @@ -1,42 +0,0 @@ -From fa7438a0ff4033e4741c807394a9af6207940d71 Mon Sep 17 00:00:00 2001 -From: Joerg Sonnenberger -Date: Tue, 5 Sep 2017 18:12:19 +0200 -Subject: [PATCH] Do something sensible for empty strings to make fuzzers - happy. - -Signed-off-by: Baruch Siach ---- -Upstream status: commit fa7438a0ff - - libarchive/archive_read_support_format_xar.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/libarchive/archive_read_support_format_xar.c b/libarchive/archive_read_support_format_xar.c -index 7a22beb9d8e4..93eeacc5e6eb 100644 ---- a/libarchive/archive_read_support_format_xar.c -+++ b/libarchive/archive_read_support_format_xar.c -@@ -1040,6 +1040,9 @@ atol10(const char *p, size_t char_cnt) - uint64_t l; - int digit; - -+ if (char_cnt == 0) -+ return (0); -+ - l = 0; - digit = *p - '0'; - while (digit >= 0 && digit < 10 && char_cnt-- > 0) { -@@ -1054,7 +1057,10 @@ atol8(const char *p, size_t char_cnt) - { - int64_t l; - int digit; -- -+ -+ if (char_cnt == 0) -+ return (0); -+ - l = 0; - while (char_cnt-- > 0) { - if (*p >= '0' && *p <= '7') --- -2.14.1 - diff --git a/buildroot/package/libarchive/libarchive.hash b/buildroot/package/libarchive/libarchive.hash index 60ea0d160..cde48c842 100644 --- a/buildroot/package/libarchive/libarchive.hash +++ b/buildroot/package/libarchive/libarchive.hash @@ -1,3 +1,4 @@ +# From http://www.libarchive.org/downloads/libarchive-3.3.3.sha512.txt +sha512 9d12b47d6976efa9f98e62c25d8b85fd745d4e9ca7b7e6d36bfe095dfe5c4db017d4e785d110f3758f5938dad6f1a1b009267fd7e82cb7212e93e1aea237bab7 libarchive-3.3.3.tar.gz # Locally computed: -sha256 ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce libarchive-3.3.2.tar.gz sha256 ae6f35cc1979beb316e4d6431fc34c6fc59f0dd126b425c8552bb41c86e4825d COPYING diff --git a/buildroot/package/libarchive/libarchive.mk b/buildroot/package/libarchive/libarchive.mk index 1c8391bda..b7619b03d 100644 --- a/buildroot/package/libarchive/libarchive.mk +++ b/buildroot/package/libarchive/libarchive.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBARCHIVE_VERSION = 3.3.2 +LIBARCHIVE_VERSION = 3.3.3 LIBARCHIVE_SITE = http://www.libarchive.org/downloads LIBARCHIVE_INSTALL_STAGING = YES LIBARCHIVE_LICENSE = BSD-2-Clause, BSD-3-Clause diff --git a/buildroot/package/libassuan/libassuan.mk b/buildroot/package/libassuan/libassuan.mk index e807086b7..4dc8f70d1 100644 --- a/buildroot/package/libassuan/libassuan.mk +++ b/buildroot/package/libassuan/libassuan.mk @@ -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/buildroot/package/libatomic_ops/libatomic_ops.hash b/buildroot/package/libatomic_ops/libatomic_ops.hash index 90af18dc3..a913023e2 100644 --- a/buildroot/package/libatomic_ops/libatomic_ops.hash +++ b/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/buildroot/package/libatomic_ops/libatomic_ops.mk b/buildroot/package/libatomic_ops/libatomic_ops.mk index dff62c51b..100ad7025 100644 --- a/buildroot/package/libatomic_ops/libatomic_ops.mk +++ b/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/buildroot/package/libbsd/0001-Fix-function-declaration-protection-for-glibc-alread.patch b/buildroot/package/libbsd/0001-Fix-function-declaration-protection-for-glibc-alread.patch deleted file mode 100644 index fdf45bdef..000000000 --- a/buildroot/package/libbsd/0001-Fix-function-declaration-protection-for-glibc-alread.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 1f8a3f7bccfc84b195218ad0086ebd57049c3490 Mon Sep 17 00:00:00 2001 -From: Guillem Jover -Date: Tue, 6 Mar 2018 01:39:45 +0100 -Subject: [PATCH] Fix function declaration protection for glibc already - providing them -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -On non-glibc based systems we cannot unconditionally use the -__GLIBC_PREREQ macro as it gets expanded before evaluation. Instead, -if it is undefined, define it to 0. - -We should also always declare these functions on non-glibc based -systems. And on systems with a new enough glibc, which provides these -functions, we should still provide the declarations if _GNU_SOURCE -is *not* defined. - -Backported from: -https://cgit.freedesktop.org/libbsd/patch/?id=1f8a3f7bccfc84b195218ad0086ebd57049c3490 - -Reported-by: Jörg Krause -Signed-off-by: Guillem Jover -Signed-off-by: Jörg Krause ---- - include/bsd/stdlib.h | 3 ++- - include/bsd/string.h | 3 ++- - include/bsd/sys/cdefs.h | 8 ++++++++ - 3 files changed, 12 insertions(+), 2 deletions(-) - -diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h -index 8d33d1f..a5b063c 100644 ---- a/include/bsd/stdlib.h -+++ b/include/bsd/stdlib.h -@@ -71,7 +71,8 @@ int sradixsort(const unsigned char **base, int nmemb, - const unsigned char *table, unsigned endbyte); - - void *reallocf(void *ptr, size_t size); --#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 26) -+#if !defined(__GLIBC__) || \ -+ (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 26) || !defined(_GNU_SOURCE))) - void *reallocarray(void *ptr, size_t nmemb, size_t size); - #endif - -diff --git a/include/bsd/string.h b/include/bsd/string.h -index 29097f6..f987fee 100644 ---- a/include/bsd/string.h -+++ b/include/bsd/string.h -@@ -46,7 +46,8 @@ size_t strlcat(char *dst, const char *src, size_t siz); - char *strnstr(const char *str, const char *find, size_t str_len); - void strmode(mode_t mode, char *str); - --#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 25) -+#if !defined(__GLIBC__) || \ -+ (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 25) || !defined(_GNU_SOURCE))) - void explicit_bzero(void *buf, size_t len); - #endif - __END_DECLS -diff --git a/include/bsd/sys/cdefs.h b/include/bsd/sys/cdefs.h -index b4c8f30..d1cc419 100644 ---- a/include/bsd/sys/cdefs.h -+++ b/include/bsd/sys/cdefs.h -@@ -58,6 +58,14 @@ - #endif - #endif - -+/* -+ * On non-glibc based systems, we cannot unconditionally use the -+ * __GLIBC_PREREQ macro as it gets expanded before evaluation. -+ */ -+#ifndef __GLIBC_PREREQ -+#define __GLIBC_PREREQ(maj, min) 0 -+#endif -+ - /* - * Some kFreeBSD headers expect those macros to be set for sanity checks. - */ --- -2.16.2 - diff --git a/buildroot/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch b/buildroot/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch new file mode 100644 index 000000000..6f0aeffed --- /dev/null +++ b/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/buildroot/package/libbsd/0002-Fix-build-for-openrisc-with-uClibc.patch b/buildroot/package/libbsd/0002-Fix-build-for-openrisc-with-uClibc.patch deleted file mode 100644 index 1b28df5a8..000000000 --- a/buildroot/package/libbsd/0002-Fix-build-for-openrisc-with-uClibc.patch +++ /dev/null @@ -1,48 +0,0 @@ -From aa902671bf1e0e808fd994bd6b403d70af7ab6dd Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 3 Apr 2018 20:02:14 +0300 -Subject: [PATCH] Fix build for openrisc with uClibc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -uClibc defines EM_OR1K instead of EM_OPENRISC for the OpenRISC ELF -e_machine ID. Use EM_OR1K when EM_OPENRISC is not defined. - -This fixes the following build failure: - -In file included from nlist.c:44:0: -nlist.c: In function ‘__elf_is_okay__’: -local-elf.h:224:23: error: ‘EM_OPENRISC’ undeclared (first use in this function) - #define ELF_TARG_MACH EM_OPENRISC - ^ -nlist.c:77:26: note: in expansion of macro ‘ELF_TARG_MACH’ - if (ehdr->e_machine == ELF_TARG_MACH && - ^ - -Signed-off-by: Baruch Siach ---- -Upstream status: sent to libbsd@lists.freedesktop.org - - src/local-elf.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/local-elf.h b/src/local-elf.h -index 1faf182f87d7..79f7d026f6c9 100644 ---- a/src/local-elf.h -+++ b/src/local-elf.h -@@ -221,7 +221,11 @@ - - #elif defined(__or1k__) - -+#if defined(EM_OPENRISC) - #define ELF_TARG_MACH EM_OPENRISC -+#else -+#define ELF_TARG_MACH EM_OR1K -+#endif - #define ELF_TARG_CLASS ELFCLASS32 - #define ELF_TARG_DATA ELFDATA2MSB - --- -2.16.3 - diff --git a/buildroot/package/libbsd/0003-Handle-systems-missing-sys-cdefs.h.patch b/buildroot/package/libbsd/0003-Handle-systems-missing-sys-cdefs.h.patch deleted file mode 100644 index 2cf7a5f09..000000000 --- a/buildroot/package/libbsd/0003-Handle-systems-missing-sys-cdefs.h.patch +++ /dev/null @@ -1,230 +0,0 @@ -From 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd Mon Sep 17 00:00:00 2001 -From: Guillem Jover -Date: Tue, 6 Mar 2018 01:41:35 +0100 -Subject: [PATCH] Handle systems missing -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is a non-portable header, and we cannot expect it to be provided by -the system libc (e.g. musl). We just need and rely on declaration that -we have defined ourselves in our own . So we switch to -only ever assume that. - -Fixes: https://bugs.freedesktop.org/105281 - -Backported from: 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd - -Signed-off-by: Guillem Jover -Signed-off-by: Jörg Krause ---- - include/bsd/libutil.h | 4 ++++ - include/bsd/md5.h | 4 ++++ - include/bsd/nlist.h | 4 ++++ - include/bsd/readpassphrase.h | 4 ++++ - include/bsd/stdlib.h | 4 ++++ - include/bsd/string.h | 4 ++++ - include/bsd/stringlist.h | 5 +++++ - include/bsd/sys/queue.h | 4 ++++ - include/bsd/sys/tree.h | 4 ++++ - include/bsd/timeconv.h | 4 ++++ - include/bsd/vis.h | 4 ++++ - include/bsd/wchar.h | 4 ++++ - 12 files changed, 49 insertions(+) - -diff --git a/include/bsd/libutil.h b/include/bsd/libutil.h -index 45b3b15..ccca29a 100644 ---- a/include/bsd/libutil.h -+++ b/include/bsd/libutil.h -@@ -40,7 +40,11 @@ - #define LIBBSD_LIBUTIL_H - - #include -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - #include - #include - #include -diff --git a/include/bsd/md5.h b/include/bsd/md5.h -index 5f3ae46..bf36a30 100644 ---- a/include/bsd/md5.h -+++ b/include/bsd/md5.h -@@ -27,7 +27,11 @@ typedef struct MD5Context { - uint8_t buffer[MD5_BLOCK_LENGTH]; /* input buffer */ - } MD5_CTX; - -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - #include - - __BEGIN_DECLS -diff --git a/include/bsd/nlist.h b/include/bsd/nlist.h -index cb297e8..8767117 100644 ---- a/include/bsd/nlist.h -+++ b/include/bsd/nlist.h -@@ -27,7 +27,11 @@ - #ifndef LIBBSD_NLIST_H - #define LIBBSD_NLIST_H - -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - - struct nlist { - union { -diff --git a/include/bsd/readpassphrase.h b/include/bsd/readpassphrase.h -index 14744b8..5eb8021 100644 ---- a/include/bsd/readpassphrase.h -+++ b/include/bsd/readpassphrase.h -@@ -31,7 +31,11 @@ - #define RPP_SEVENBIT 0x10 /* Strip the high bit from input. */ - #define RPP_STDIN 0x20 /* Read from stdin, not /dev/tty */ - -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - #include - - __BEGIN_DECLS -diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h -index ebc9638..8d33d1f 100644 ---- a/include/bsd/stdlib.h -+++ b/include/bsd/stdlib.h -@@ -42,7 +42,11 @@ - #ifndef LIBBSD_STDLIB_H - #define LIBBSD_STDLIB_H - -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - #include - #include - -diff --git a/include/bsd/string.h b/include/bsd/string.h -index 6798bf6..29097f6 100644 ---- a/include/bsd/string.h -+++ b/include/bsd/string.h -@@ -33,7 +33,11 @@ - #ifndef LIBBSD_STRING_H - #define LIBBSD_STRING_H - -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - #include - - __BEGIN_DECLS -diff --git a/include/bsd/stringlist.h b/include/bsd/stringlist.h -index ff30cac..dd71496 100644 ---- a/include/bsd/stringlist.h -+++ b/include/bsd/stringlist.h -@@ -31,7 +31,12 @@ - - #ifndef LIBBSD_STRINGLIST_H - #define LIBBSD_STRINGLIST_H -+ -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - #include - - /* -diff --git a/include/bsd/sys/queue.h b/include/bsd/sys/queue.h -index 4a94ea7..ac00026 100644 ---- a/include/bsd/sys/queue.h -+++ b/include/bsd/sys/queue.h -@@ -33,7 +33,11 @@ - #ifndef LIBBSD_SYS_QUEUE_H - #define LIBBSD_SYS_QUEUE_H - -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - - /* - * This file defines four types of data structures: singly-linked lists, -diff --git a/include/bsd/sys/tree.h b/include/bsd/sys/tree.h -index 628bec0..325b382 100644 ---- a/include/bsd/sys/tree.h -+++ b/include/bsd/sys/tree.h -@@ -30,7 +30,11 @@ - #ifndef LIBBSD_SYS_TREE_H - #define LIBBSD_SYS_TREE_H - -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - - /* - * This file defines data structures for different types of trees: -diff --git a/include/bsd/timeconv.h b/include/bsd/timeconv.h -index e2a2c55..a426bd3 100644 ---- a/include/bsd/timeconv.h -+++ b/include/bsd/timeconv.h -@@ -41,7 +41,11 @@ - #ifndef LIBBSD_TIMECONV_H - #define LIBBSD_TIMECONV_H - -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - #include - #include - -diff --git a/include/bsd/vis.h b/include/bsd/vis.h -index 970dfdd..ab5430c 100644 ---- a/include/bsd/vis.h -+++ b/include/bsd/vis.h -@@ -72,7 +72,11 @@ - */ - #define UNVIS_END 1 /* no more characters */ - -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - - __BEGIN_DECLS - char *vis(char *, int, int, int); -diff --git a/include/bsd/wchar.h b/include/bsd/wchar.h -index 33a500e..7216503 100644 ---- a/include/bsd/wchar.h -+++ b/include/bsd/wchar.h -@@ -40,7 +40,11 @@ - #define LIBBSD_WCHAR_H - - #include -+#ifdef LIBBSD_OVERLAY - #include -+#else -+#include -+#endif - #include - - __BEGIN_DECLS --- -2.17.0 - diff --git a/buildroot/package/libbsd/Config.in b/buildroot/package/libbsd/Config.in index a163ce9b6..ba5e5cbcf 100644 --- a/buildroot/package/libbsd/Config.in +++ b/buildroot/package/libbsd/Config.in @@ -9,6 +9,8 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS config BR2_PACKAGE_LIBBSD bool "libbsd" depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS + # uClibc on noMMU doesn't provide __register_atfork() + depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU) depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR help @@ -22,4 +24,5 @@ config BR2_PACKAGE_LIBBSD comment "libbsd needs a toolchain w/ threads, wchar" depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/buildroot/package/libbsd/libbsd.hash b/buildroot/package/libbsd/libbsd.hash index 133df90cb..93af3944a 100644 --- a/buildroot/package/libbsd/libbsd.hash +++ b/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/buildroot/package/libbsd/libbsd.mk b/buildroot/package/libbsd/libbsd.mk index e211389ec..2d78b8c5f 100644 --- a/buildroot/package/libbsd/libbsd.mk +++ b/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/buildroot/package/libclc/Config.in b/buildroot/package/libclc/Config.in new file mode 100644 index 000000000..4bba6a917 --- /dev/null +++ b/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/buildroot/package/libclc/libclc.hash b/buildroot/package/libclc/libclc.hash new file mode 100644 index 000000000..6c06648fc --- /dev/null +++ b/buildroot/package/libclc/libclc.hash @@ -0,0 +1,3 @@ +# locally calculated +sha256 8d7b42fba6db4a124c74f0ac475c1bc515761cbf3d559820b4cbe5b33e94f26c libclc-dabae5a2afb78cba0320a86e3f5f0b5dc83e077c.tar.gz +sha256 45187a46f0637e4e92decb51d8dc3c9e4957b349d0283dfbd6647e8000d9ac7f LICENSE.TXT diff --git a/buildroot/package/libclc/libclc.mk b/buildroot/package/libclc/libclc.mk new file mode 100644 index 000000000..17903c05d --- /dev/null +++ b/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/buildroot/package/libconfuse/libconfuse.hash b/buildroot/package/libconfuse/libconfuse.hash index fa77af9cd..adc93f99a 100644 --- a/buildroot/package/libconfuse/libconfuse.hash +++ b/buildroot/package/libconfuse/libconfuse.hash @@ -1,5 +1,5 @@ -# From https://github.com/martinh/libconfuse/releases/download/v3.2.1/confuse-3.2.1.tar.xz.md5 -md5 ebd66bb669cf43e62a23ed00d475ba67 confuse-3.2.1.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 23c63272baf2ef4e2cbbafad2cf57de7eb81f006ec347c00b954819824add25e confuse-3.2.1.tar.xz +sha256 a9240b653d02e8cfc52db48e8c4224426e528e1faa09b65e8ca08a197fad210b confuse-3.2.2.tar.xz sha256 dc3ff4b62f851dd2e94a151061ffeb7d28ddfc880a442068dc5283dbaa927306 LICENSE diff --git a/buildroot/package/libconfuse/libconfuse.mk b/buildroot/package/libconfuse/libconfuse.mk index 9f265ae25..b16bc9b7a 100644 --- a/buildroot/package/libconfuse/libconfuse.mk +++ b/buildroot/package/libconfuse/libconfuse.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCONFUSE_VERSION = 3.2.1 +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/buildroot/package/libcorrect/0001-CMakeLists.txt-conditionally-use-Wpedantic.patch b/buildroot/package/libcorrect/0001-CMakeLists.txt-conditionally-use-Wpedantic.patch new file mode 100644 index 000000000..77e29ad83 --- /dev/null +++ b/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/buildroot/package/libcorrect/0002-CMakeLists.txt-conditionally-use-fsanitize-address.patch b/buildroot/package/libcorrect/0002-CMakeLists.txt-conditionally-use-fsanitize-address.patch new file mode 100644 index 000000000..82e4f13e6 --- /dev/null +++ b/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/buildroot/package/libcorrect/Config.in b/buildroot/package/libcorrect/Config.in new file mode 100644 index 000000000..eba6dc43a --- /dev/null +++ b/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/buildroot/package/libcorrect/libcorrect.hash b/buildroot/package/libcorrect/libcorrect.hash new file mode 100644 index 000000000..20df38c15 --- /dev/null +++ b/buildroot/package/libcorrect/libcorrect.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 79861750540fb3a1cc501ee217cb4d1febc4855f3fb82e5eb60906eec5379890 libcorrect-ce6c17f1f988765ae3695315d7cce1f2a2e6cf0d.tar.gz +sha256 135138cd4304aa637836758dc5edfb5f21b7d09ecc637d25288d206b151a5768 LICENSE diff --git a/buildroot/package/libcorrect/libcorrect.mk b/buildroot/package/libcorrect/libcorrect.mk new file mode 100644 index 000000000..0a84aa5c2 --- /dev/null +++ b/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/buildroot/package/libcpprestsdk/0002-fix-template-whitespace-syntax.patch b/buildroot/package/libcpprestsdk/0002-fix-template-whitespace-syntax.patch deleted file mode 100644 index 81f7ea19e..000000000 --- a/buildroot/package/libcpprestsdk/0002-fix-template-whitespace-syntax.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 546e89a29a82cc4f7de6c99be5a07221aa7443df Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Fri, 9 Mar 2018 08:09:52 -0500 -Subject: [PATCH] fix template whitespace syntax - -Some files don't have a space inbetween the '<' and '::' charachters, which -will cause build failures on older toolchains. Adding a space inbetween these -two characters fixes the issue. - -upstream-status: pending -https://github.com/Microsoft/cpprestsdk/pull/715 - -Signed-off-by: Adam Duskett ---- - Release/include/cpprest/details/web_utilities.h | 2 +- - Release/include/cpprest/http_client.h | 2 +- - Release/include/cpprest/json.h | 2 +- - Release/include/cpprest/ws_client.h | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Release/include/cpprest/details/web_utilities.h b/Release/include/cpprest/details/web_utilities.h -index ba641654..9855c315 100644 ---- a/Release/include/cpprest/details/web_utilities.h -+++ b/Release/include/cpprest/details/web_utilities.h -@@ -33,7 +33,7 @@ class zero_memory_deleter - public: - _ASYNCRTIMP void operator()(::utility::string_t *data) const; - }; --typedef std::unique_ptr<::utility::string_t, zero_memory_deleter> plaintext_string; -+typedef std::unique_ptr< ::utility::string_t, zero_memory_deleter> plaintext_string; - - #if defined(_WIN32) && !defined(CPPREST_TARGET_XP) - #if defined(__cplusplus_winrt) -diff --git a/Release/include/cpprest/http_client.h b/Release/include/cpprest/http_client.h -index a936a23e..f5ad8fac 100644 ---- a/Release/include/cpprest/http_client.h -+++ b/Release/include/cpprest/http_client.h -@@ -757,7 +757,7 @@ public: - - private: - -- std::shared_ptr<::web::http::client::http_pipeline> m_pipeline; -+ std::shared_ptr< ::web::http::client::http_pipeline> m_pipeline; - }; - - namespace details { -diff --git a/Release/include/cpprest/json.h b/Release/include/cpprest/json.h -index 07c54502..dfdeead4 100644 ---- a/Release/include/cpprest/json.h -+++ b/Release/include/cpprest/json.h -@@ -301,7 +301,7 @@ public: - /// Field names associated with JSON values - /// Whether to preserve the original order of the fields - /// A non-empty JSON object value -- static _ASYNCRTIMP json::value __cdecl object(std::vector> fields, bool keep_order = false); -+ static _ASYNCRTIMP json::value __cdecl object(std::vector> fields, bool keep_order = false); - - /// - /// Creates an empty JSON array -diff --git a/Release/include/cpprest/ws_client.h b/Release/include/cpprest/ws_client.h -index 9a324cde..98f933e1 100644 ---- a/Release/include/cpprest/ws_client.h -+++ b/Release/include/cpprest/ws_client.h -@@ -184,7 +184,7 @@ public: - /// Vector of all the subprotocols - /// If you want all the subprotocols in a comma separated string - /// they can be directly looked up in the headers using 'Sec-WebSocket-Protocol'. -- _ASYNCRTIMP std::vector<::utility::string_t> subprotocols() const; -+ _ASYNCRTIMP std::vector< ::utility::string_t> subprotocols() const; - - /// - /// Gets the server certificate validation property. --- -2.14.3 - diff --git a/buildroot/package/libcpprestsdk/libcpprestsdk.hash b/buildroot/package/libcpprestsdk/libcpprestsdk.hash index 20a939532..b8c5d5430 100644 --- a/buildroot/package/libcpprestsdk/libcpprestsdk.hash +++ b/buildroot/package/libcpprestsdk/libcpprestsdk.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 fb0b611007732d8de9528bc37bd67468e7ef371672f89c88f225f73cdc4ffcf1 libcpprestsdk-v2.10.2.tar.gz +sha256 cf4d57bdcc1ce53f1d228156620dd87af95cbff109d85c81e8be01d0bb58fd25 libcpprestsdk-v2.10.5.tar.gz sha256 5c191789f502ac87df83b57008d2fc3e47fbf31315381b5bc4309f6602d0fe97 license.txt diff --git a/buildroot/package/libcpprestsdk/libcpprestsdk.mk b/buildroot/package/libcpprestsdk/libcpprestsdk.mk index 20700ae2b..14526e7de 100644 --- a/buildroot/package/libcpprestsdk/libcpprestsdk.mk +++ b/buildroot/package/libcpprestsdk/libcpprestsdk.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCPPRESTSDK_VERSION = v2.10.2 +LIBCPPRESTSDK_VERSION = v2.10.5 LIBCPPRESTSDK_SITE = $(call github,Microsoft,cpprestsdk,$(LIBCPPRESTSDK_VERSION)) LIBCPPRESTSDK_LICENSE = MIT LIBCPPRESTSDK_LICENSE_FILES = license.txt diff --git a/buildroot/package/libcurl/libcurl.hash b/buildroot/package/libcurl/libcurl.hash index 9a57153d2..432943538 100644 --- a/buildroot/package/libcurl/libcurl.hash +++ b/buildroot/package/libcurl/libcurl.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://curl.haxx.se/download/curl-7.61.0.tar.xz.asc +# https://curl.haxx.se/download/curl-7.62.0.tar.xz.asc # with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 ef6e55192d04713673b4409ccbcb4cb6cd723137d6e10ca45b0c593a454e1720 curl-7.61.0.tar.xz +sha256 dab5643a5fe775ae92570b9f3df6b0ef4bc2a827a959361fb130c73b721275c1 curl-7.62.0.tar.xz sha256 5f3849ec38ddb927e79f514bf948890c41b8d1407286a49609b8fb1585931095 COPYING diff --git a/buildroot/package/libcurl/libcurl.mk b/buildroot/package/libcurl/libcurl.mk index 3f6733e6c..99a451b63 100644 --- a/buildroot/package/libcurl/libcurl.mk +++ b/buildroot/package/libcurl/libcurl.mk @@ -4,12 +4,11 @@ # ################################################################################ -LIBCURL_VERSION = 7.61.0 +LIBCURL_VERSION = 7.62.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 @@ -67,6 +66,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,6 +88,13 @@ 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 diff --git a/buildroot/package/libdri2/Config.in b/buildroot/package/libdri2/Config.in index a10df7404..fa3f76e8f 100644 --- a/buildroot/package/libdri2/Config.in +++ b/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/buildroot/package/libdri2/libdri2.mk b/buildroot/package/libdri2/libdri2.mk index 22854b506..79f38c680 100644 --- a/buildroot/package/libdri2/libdri2.mk +++ b/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/buildroot/package/libdrm/libdrm.hash b/buildroot/package/libdrm/libdrm.hash index bc15ecf79..78b3ef75a 100644 --- a/buildroot/package/libdrm/libdrm.hash +++ b/buildroot/package/libdrm/libdrm.hash @@ -1,5 +1,5 @@ -# From https://lists.x.org/archives/xorg-announce/2018-March/002853.html -md5 23d87cda92700b710a37d9b8edaa9f54 libdrm-2.4.91.tar.bz2 -sha1 44e42ce3cd41666e343ba393c73f6f1ad9fe1e74 libdrm-2.4.91.tar.bz2 -sha256 634a0ed0cc1eff06f48674b1da81aafa661a9f001e7a4f43dde81076886dc800 libdrm-2.4.91.tar.bz2 -sha512 07578c00c121ba37033db7172590e26d1545f81c242bbce2cfb7fb904bde504822c275d6468e5c5d20360d0046ae73d9b058aa0459ba35eb11927141cc998772 libdrm-2.4.91.tar.bz2 +# From https://lists.freedesktop.org/archives/dri-devel/2018-October/193244.html +md5 f296d87272b1befeada3bb135751ab3d libdrm-2.4.96.tar.bz2 +sha1 51eb4c248a437b3f200bd1cd84461d3e0b60d71e libdrm-2.4.96.tar.bz2 +sha256 0d561acf7bb4cc59dc82415100e6c1a44860e8c380e00f9592923e3cd08db393 libdrm-2.4.96.tar.bz2 +sha512 008cb7658d953b44e11fa3cc6e00dfeb3efb59c7fdadd59f7066101aff138acbbc2f2508e9ebe0528340e39dc7693937755d1641816ddde135c10a13e7d81e3b libdrm-2.4.96.tar.bz2 diff --git a/buildroot/package/libdrm/libdrm.mk b/buildroot/package/libdrm/libdrm.mk index 8f533d72d..18ef9cdd2 100644 --- a/buildroot/package/libdrm/libdrm.mk +++ b/buildroot/package/libdrm/libdrm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.91 +LIBDRM_VERSION = 2.4.96 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2 LIBDRM_SITE = https://dri.freedesktop.org/libdrm LIBDRM_LICENSE = MIT diff --git a/buildroot/package/libedit/libedit.hash b/buildroot/package/libedit/libedit.hash index e8136df9c..3a5cdbac9 100644 --- a/buildroot/package/libedit/libedit.hash +++ b/buildroot/package/libedit/libedit.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 91f2d90fbd2a048ff6dad7131d9a39e690fd8a8fd982a353f1333dd4017dd4be libedit-20170329-3.1.tar.gz +sha256 c41bea8fd140fb57ba67a98ec1d8ae0b8ffa82f4aba9c35a87e5a9499e653116 libedit-20180525-3.1.tar.gz sha256 9da6c9c74987a36c84302982799d17d2f748ba1c1c0c471425716173c1d07649 COPYING diff --git a/buildroot/package/libedit/libedit.mk b/buildroot/package/libedit/libedit.mk index bbdc871b3..a4b32e05e 100644 --- a/buildroot/package/libedit/libedit.mk +++ b/buildroot/package/libedit/libedit.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEDIT_VERSION = 20170329-3.1 +LIBEDIT_VERSION = 20180525-3.1 LIBEDIT_SITE = http://www.thrysoee.dk/editline LIBEDIT_INSTALL_STAGING = YES LIBEDIT_DEPENDENCIES = ncurses diff --git a/buildroot/package/libepoxy/libepoxy.hash b/buildroot/package/libepoxy/libepoxy.hash index 654d1675f..dd1b13487 100644 --- a/buildroot/package/libepoxy/libepoxy.hash +++ b/buildroot/package/libepoxy/libepoxy.hash @@ -1,5 +1,5 @@ -# From ftp://ftp.gnome.org/pub/gnome/sources/libepoxy/1.5/libepoxy-1.5.0.sha256sum -sha256 4c94995398a6ebf691600dda2e9685a0cac261414175c2adf4645cdfab42a5d5 libepoxy-1.5.0.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/buildroot/package/libepoxy/libepoxy.mk b/buildroot/package/libepoxy/libepoxy.mk index b9498b17b..b1731a22c 100644 --- a/buildroot/package/libepoxy/libepoxy.mk +++ b/buildroot/package/libepoxy/libepoxy.mk @@ -5,7 +5,7 @@ ################################################################################ LIBEPOXY_VERSION_MAJOR = 1.5 -LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).0 +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/buildroot/package/libesmtp/Config.in b/buildroot/package/libesmtp/Config.in index ba9d52751..f3ed521d2 100644 --- a/buildroot/package/libesmtp/Config.in +++ b/buildroot/package/libesmtp/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_LIBESMTP help Library for sending emails through SMTP. - http://www.stafford.uklinux.net/libesmtp + http://brianstafford.info/libesmtp comment "libesmtp needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/buildroot/package/libesmtp/libesmtp.mk b/buildroot/package/libesmtp/libesmtp.mk index b0f88c7a3..9c336793a 100644 --- a/buildroot/package/libesmtp/libesmtp.mk +++ b/buildroot/package/libesmtp/libesmtp.mk @@ -6,7 +6,7 @@ LIBESMTP_VERSION = 1.0.6 LIBESMTP_SOURCE = libesmtp-$(LIBESMTP_VERSION).tar.bz2 -LIBESMTP_SITE = http://www.stafford.uklinux.net/libesmtp +LIBESMTP_SITE = http://brianstafford.info/libesmtp LIBESMTP_INSTALL_STAGING = YES LIBESMTP_CONFIG_SCRIPTS = libesmtp-config LIBESMTP_DEPENDENCIES = $(if $(BR2_PACKAGE_OPENSSL),openssl) diff --git a/buildroot/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch b/buildroot/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch index 6a829175c..745903178 100644 --- a/buildroot/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch +++ b/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/buildroot/package/libevdev/libevdev.hash b/buildroot/package/libevdev/libevdev.hash index e4294dcad..4a750e0ac 100644 --- a/buildroot/package/libevdev/libevdev.hash +++ b/buildroot/package/libevdev/libevdev.hash @@ -1,8 +1,8 @@ -# https://lists.freedesktop.org/archives/input-tools/2018-March/001464.html -md5 a1ca11e961c1efed720fac4130881904 libevdev-1.5.9.tar.xz -sha1 9457e33af5c1e66e29c1385a5550fe60aef8e42e libevdev-1.5.9.tar.xz -sha256 e1663751443bed9d3e76a4fe2caf6fa866a79705d91cacad815c04e706198a75 libevdev-1.5.9.tar.xz -sha512 4496ab4d9dc165f416a574c21a7fcee54ae104c21ef4785a4dd0311fff428020cdbb5da7bf3f835e78dae05effdb1a557d189347f6e62dd6be2d8bcdc845850c libevdev-1.5.9.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/buildroot/package/libevdev/libevdev.mk b/buildroot/package/libevdev/libevdev.mk index 880d75dfb..d8361028d 100644 --- a/buildroot/package/libevdev/libevdev.mk +++ b/buildroot/package/libevdev/libevdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEVDEV_VERSION = 1.5.9 +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/buildroot/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch b/buildroot/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch index 776990df6..168972a87 100644 --- a/buildroot/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch +++ b/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/buildroot/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch b/buildroot/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch deleted file mode 100644 index 9308c8951..000000000 --- a/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/buildroot/package/libffi/0005-mips-use-__linux__-and-not-linux.patch b/buildroot/package/libffi/0005-mips-use-__linux__-and-not-linux.patch deleted file mode 100644 index a48f3d3b6..000000000 --- a/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/buildroot/package/libffi/libffi.hash b/buildroot/package/libffi/libffi.hash index 0153f7e37..97deb988e 100644 --- a/buildroot/package/libffi/libffi.hash +++ b/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/buildroot/package/libffi/libffi.mk b/buildroot/package/libffi/libffi.mk index 32e01e9cd..b21d12cbd 100644 --- a/buildroot/package/libffi/libffi.mk +++ b/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/buildroot/package/libfuse/libfuse.hash b/buildroot/package/libfuse/libfuse.hash index f02c78418..3d1b97307 100644 --- a/buildroot/package/libfuse/libfuse.hash +++ b/buildroot/package/libfuse/libfuse.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 832432d1ad4f833c20e13b57cf40ce5277a9d33e483205fc63c78111b3358874 fuse-2.9.7.tar.gz +sha256 5e84f81d8dd527ea74f39b6bc001c874c02bad6871d7a9b0c14efb57430eafe3 fuse-2.9.8.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/buildroot/package/libfuse/libfuse.mk b/buildroot/package/libfuse/libfuse.mk index dc177d03c..e8a79a316 100644 --- a/buildroot/package/libfuse/libfuse.mk +++ b/buildroot/package/libfuse/libfuse.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFUSE_VERSION = 2.9.7 +LIBFUSE_VERSION = 2.9.8 LIBFUSE_SOURCE = fuse-$(LIBFUSE_VERSION).tar.gz LIBFUSE_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFUSE_VERSION) LIBFUSE_LICENSE = GPL-2.0, LGPL-2.1 diff --git a/buildroot/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch b/buildroot/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch deleted file mode 100644 index 95db0fbba..000000000 --- a/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/buildroot/package/libgcrypt/0002-reconfigure.patch b/buildroot/package/libgcrypt/0001-reconfigure.patch similarity index 100% rename from buildroot/package/libgcrypt/0002-reconfigure.patch rename to buildroot/package/libgcrypt/0001-reconfigure.patch diff --git a/buildroot/package/libgcrypt/libgcrypt.hash b/buildroot/package/libgcrypt/libgcrypt.hash index dce652295..000f26dd2 100644 --- a/buildroot/package/libgcrypt/libgcrypt.hash +++ b/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/buildroot/package/libgcrypt/libgcrypt.mk b/buildroot/package/libgcrypt/libgcrypt.mk index f25944da6..452cf17ce 100644 --- a/buildroot/package/libgcrypt/libgcrypt.mk +++ b/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/buildroot/package/libgit2/Config.in b/buildroot/package/libgit2/Config.in new file mode 100644 index 000000000..53ba4d424 --- /dev/null +++ b/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/buildroot/package/libgit2/libgit2.hash b/buildroot/package/libgit2/libgit2.hash new file mode 100644 index 000000000..41ab87bf4 --- /dev/null +++ b/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/buildroot/package/libgit2/libgit2.mk b/buildroot/package/libgit2/libgit2.mk new file mode 100644 index 000000000..551e3dea6 --- /dev/null +++ b/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/buildroot/package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch b/buildroot/package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch new file mode 100644 index 000000000..032f4851c --- /dev/null +++ b/buildroot/package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch @@ -0,0 +1,52 @@ +From 0beb62f564072f3585762c9c55fe894485993b62 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 10 Apr 2018 18:55:11 +0200 +Subject: [PATCH] gio: fix compilation without F_{S,G}ETPIPE_SZ + +Commit a5778ef7c51044147fe470ea1707dd297f44f880 broke compilation on +architectures without F_SETPIPE_SZ and F_GETPIPE_SZ such as or1k. +If those variables are undefined, put back previous behavior, buffer +size set to 1024 * 64 + +Fixes: + - http://autobuild.buildroot.net/results/398490e07343a931b25ca6ab5c90a75d7a073e9f + +(Modified by Philip Withnall to add an +explanatory comment.) + +Signed-off-by: Fabrice Fontaine + +https://bugzilla.gnome.org/show_bug.cgi?id=795133 +--- + gio/gfile.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/gio/gfile.c b/gio/gfile.c +index 334ad8ec3..a67aad383 100644 +--- a/gio/gfile.c ++++ b/gio/gfile.c +@@ -3012,6 +3012,7 @@ splice_stream_with_progress (GInputStream *in, + if (!g_unix_open_pipe (buffer, FD_CLOEXEC, error)) + return FALSE; + ++#if defined(F_SETPIPE_SZ) && defined(F_GETPIPE_SZ) + /* Try a 1MiB buffer for improved throughput. If that fails, use the default + * pipe size. See: https://bugzilla.gnome.org/791457 */ + buffer_size = fcntl (buffer[1], F_SETPIPE_SZ, 1024 * 1024); +@@ -3029,6 +3030,13 @@ splice_stream_with_progress (GInputStream *in, + goto out; + } + } ++#else ++ /* If #F_GETPIPE_SZ isn’t available, assume we’re on Linux < 2.6.35, ++ * but ≥ 2.6.11, meaning the pipe capacity is 64KiB. Ignore the possibility of ++ * running on Linux < 2.6.11 (where the capacity was the system page size, ++ * typically 4KiB) because it’s ancient. See pipe(7). */ ++ buffer_size = 1024 * 64; ++#endif + + g_assert (buffer_size > 0); + +-- +2.13.0 + diff --git a/buildroot/package/libgpg-error/Config.in b/buildroot/package/libgpg-error/Config.in index 40424e41c..0659a834b 100644 --- a/buildroot/package/libgpg-error/Config.in +++ b/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,6 +40,8 @@ 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" \ diff --git a/buildroot/package/libgpg-error/libgpg-error.hash b/buildroot/package/libgpg-error/libgpg-error.hash index 608f9c62d..93593b141 100644 --- a/buildroot/package/libgpg-error/libgpg-error.hash +++ b/buildroot/package/libgpg-error/libgpg-error.hash @@ -1,6 +1,7 @@ # Locally calculated after checking pgp signature -# https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.31.tar.bz2.sig -sha256 40d0a823c9329478063903192a1f82496083b277265904878f4bc09e0db7a4ef libgpg-error-1.31.tar.bz2 +# https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.32.tar.bz2.sig +# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 +sha256 c345c5e73cc2332f8d50db84a2280abfb1d8f6d4f1858b9daa30404db44540ca libgpg-error-1.32.tar.bz2 # Locally calculated sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/buildroot/package/libgpg-error/libgpg-error.mk b/buildroot/package/libgpg-error/libgpg-error.mk index aed5a517b..ef817c7cc 100644 --- a/buildroot/package/libgpg-error/libgpg-error.mk +++ b/buildroot/package/libgpg-error/libgpg-error.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPG_ERROR_VERSION = 1.31 +LIBGPG_ERROR_VERSION = 1.32 LIBGPG_ERROR_SITE = https://www.gnupg.org/ftp/gcrypt/libgpg-error LIBGPG_ERROR_SOURCE = libgpg-error-$(LIBGPG_ERROR_VERSION).tar.bz2 LIBGPG_ERROR_LICENSE = GPL-2.0+, LGPL-2.1+ diff --git a/buildroot/package/libgpgme/libgpgme.hash b/buildroot/package/libgpgme/libgpgme.hash index 54c7bf7a0..1e61fbd83 100644 --- a/buildroot/package/libgpgme/libgpgme.hash +++ b/buildroot/package/libgpgme/libgpgme.hash @@ -1,7 +1,8 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000423.html -sha1 95b1fc427871ca8d30d6d3b1985c816fe0b5077b gpgme-1.11.1.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.11.1.tar.bz2.sig -sha256 2d1b111774d2e3dd26dcd7c251819ce4ef774ec5e566251eb9308fa7542fbd6f gpgme-1.11.1.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/buildroot/package/libgpgme/libgpgme.mk b/buildroot/package/libgpgme/libgpgme.mk index 03402cf38..a70ffcf11 100644 --- a/buildroot/package/libgpgme/libgpgme.mk +++ b/buildroot/package/libgpgme/libgpgme.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPGME_VERSION = 1.11.1 +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+ diff --git a/buildroot/package/libgpiod/libgpiod.hash b/buildroot/package/libgpiod/libgpiod.hash index 9ed4b59ab..318a107ad 100644 --- a/buildroot/package/libgpiod/libgpiod.hash +++ b/buildroot/package/libgpiod/libgpiod.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/libs/libgpiod/sha256sums.asc -sha256 972924195367f5fb045c023d65340c4b7dfc8764499516be446553865208dedc libgpiod-1.0.1.tar.xz +sha256 b6b9079c933f7c8524815437937dda6b795a16141bca202a9eec70ba5844b5ba libgpiod-1.2.tar.xz # Hash for license file sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING diff --git a/buildroot/package/libgpiod/libgpiod.mk b/buildroot/package/libgpiod/libgpiod.mk index 7f8fa4b7d..545526515 100644 --- a/buildroot/package/libgpiod/libgpiod.mk +++ b/buildroot/package/libgpiod/libgpiod.mk @@ -4,13 +4,12 @@ # ################################################################################ -LIBGPIOD_VERSION = 1.0.1 +LIBGPIOD_VERSION = 1.2 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/buildroot/package/libhdhomerun/libhdhomerun.hash b/buildroot/package/libhdhomerun/libhdhomerun.hash index 0938889d8..b7ad5b52e 100644 --- a/buildroot/package/libhdhomerun/libhdhomerun.hash +++ b/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/buildroot/package/libhdhomerun/libhdhomerun.mk b/buildroot/package/libhdhomerun/libhdhomerun.mk index 10aff88e6..96be54a78 100644 --- a/buildroot/package/libhdhomerun/libhdhomerun.mk +++ b/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/buildroot/package/libhttpparser/libhttpparser.mk b/buildroot/package/libhttpparser/libhttpparser.mk index c71e043cd..502ab75b8 100644 --- a/buildroot/package/libhttpparser/libhttpparser.mk +++ b/buildroot/package/libhttpparser/libhttpparser.mk @@ -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/buildroot/package/libid3tag/0001-configure-automake-foreign.patch b/buildroot/package/libid3tag/0001-configure-automake-foreign.patch new file mode 100644 index 000000000..8521d559f --- /dev/null +++ b/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/buildroot/package/libid3tag/libid3tag.mk b/buildroot/package/libid3tag/libid3tag.mk index 951ae09c7..402e154ae 100644 --- a/buildroot/package/libid3tag/libid3tag.mk +++ b/buildroot/package/libid3tag/libid3tag.mk @@ -10,6 +10,9 @@ 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 $(eval $(autotools-package)) diff --git a/buildroot/package/libidn/libidn.hash b/buildroot/package/libidn/libidn.hash index 0d0334244..f5ba311e9 100644 --- a/buildroot/package/libidn/libidn.hash +++ b/buildroot/package/libidn/libidn.hash @@ -1,7 +1,5 @@ -# From http://lists.nongnu.org/archive/html/help-libidn/2018-03/msg00006.html -sha1 8701e3d01df25431802ce483756ecad698156835 libidn-1.34.tar.gz -# Calculated based on the hash above -sha256 3719e2975f2fb28605df3479c380af2cf4ab4e919e1506527e4c7670afff6e3c libidn-1.34.tar.gz +# Locally computed: +sha256 f11af1005b46b7b15d057d7f107315a1ad46935c7fcdf243c16e46ec14f0fe1e libidn-1.35.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 diff --git a/buildroot/package/libidn/libidn.mk b/buildroot/package/libidn/libidn.mk index 77733edaa..601edcb57 100644 --- a/buildroot/package/libidn/libidn.mk +++ b/buildroot/package/libidn/libidn.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBIDN_VERSION = 1.34 +LIBIDN_VERSION = 1.35 LIBIDN_SITE = $(BR2_GNU_MIRROR)/libidn LIBIDN_INSTALL_STAGING = YES LIBIDN_CONF_ENV = EMACS="no" MAKEINFO=true diff --git a/buildroot/package/libidn2/Config.in b/buildroot/package/libidn2/Config.in new file mode 100644 index 000000000..38b137899 --- /dev/null +++ b/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/buildroot/package/libidn2/libidn2.hash b/buildroot/package/libidn2/libidn2.hash new file mode 100644 index 000000000..4afb634e8 --- /dev/null +++ b/buildroot/package/libidn2/libidn2.hash @@ -0,0 +1,8 @@ +# Calculated locally after checking signature +sha256 53f69170886f1fa6fa5b332439c7a77a7d22626a82ef17e2c1224858bb4ca2b8 libidn2-2.0.5.tar.gz + +# Hash for license files: +sha256 4fa501e804195b4136c9cec4bc510365b8cbaf4bc075d6401a77ae0213370457 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSERv3 +sha256 01d621eef165cf4d3d3dbb737aa0699178d94c6f18cf87e9dde6db3ca7790f46 COPYING.unicode diff --git a/buildroot/package/libidn2/libidn2.mk b/buildroot/package/libidn2/libidn2.mk new file mode 100644 index 000000000..8e01fba1c --- /dev/null +++ b/buildroot/package/libidn2/libidn2.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# libidn2 +# +################################################################################ + +LIBIDN2_VERSION = 2.0.5 +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/buildroot/package/libiio/Config.in b/buildroot/package/libiio/Config.in index b58ac7fdb..dcc7c79d1 100644 --- a/buildroot/package/libiio/Config.in +++ b/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/buildroot/package/libiscsi/0002-avoid-truncation-when-logging-message-that-includes-target-name.patch b/buildroot/package/libiscsi/0002-avoid-truncation-when-logging-message-that-includes-target-name.patch new file mode 100644 index 000000000..1334a8352 --- /dev/null +++ b/buildroot/package/libiscsi/0002-avoid-truncation-when-logging-message-that-includes-target-name.patch @@ -0,0 +1,29 @@ +From bffafc1c3003c2ee05d28eaa345e5854bc36014d Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Mon, 1 Oct 2018 14:16:14 +0200 +Subject: [PATCH] avoid truncation when logging message that includes target + name + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/sahlberg/libiscsi/commit/bffafc1c3003c2ee05d28eaa345e5854bc36014d] +--- + lib/logging.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/logging.c b/lib/logging.c +index be518fc5..61c74407 100644 +--- a/lib/logging.c ++++ b/lib/logging.c +@@ -73,9 +73,9 @@ iscsi_log_message(struct iscsi_context *iscsi, int level, const char *format, .. + } + + if (iscsi->target_name[0]) { +- static char message2[1024]; ++ static char message2[1282]; + +- snprintf(message2, 1024, "%s [%s]", message, iscsi->target_name); ++ snprintf(message2, 1282, "%s [%s]", message, iscsi->target_name); + iscsi->log_fn(level, message2); + } + else diff --git a/buildroot/package/libiscsi/0003-avoid-fallthrough.patch b/buildroot/package/libiscsi/0003-avoid-fallthrough.patch new file mode 100644 index 000000000..94f653a99 --- /dev/null +++ b/buildroot/package/libiscsi/0003-avoid-fallthrough.patch @@ -0,0 +1,24 @@ +From 679d0abe7c142df178a907397551c4d9695cc667 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Mon, 1 Oct 2018 14:14:24 +0200 +Subject: [PATCH] avoid fallthrough + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/sahlberg/libiscsi/commit/679d0abe7c142df178a907397551c4d9695cc667] +--- + lib/scsi-lowlevel.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/scsi-lowlevel.c b/lib/scsi-lowlevel.c +index 5ddd709c..747ce0c4 100644 +--- a/lib/scsi-lowlevel.c ++++ b/lib/scsi-lowlevel.c +@@ -1086,6 +1086,7 @@ scsi_maintenancein_datain_getfullsize(struct scsi_task *task) + (task_get_uint8(task, 1) & 0x80) ? 12 : 0 + + task_get_uint16(task, 2); + } ++ return -1; + default: + return -1; + } diff --git a/buildroot/package/libkcapi/0001-Fix-getrandom-call-in-kcapi-rng.c.patch b/buildroot/package/libkcapi/0001-Fix-getrandom-call-in-kcapi-rng.c.patch deleted file mode 100644 index d83edd926..000000000 --- a/buildroot/package/libkcapi/0001-Fix-getrandom-call-in-kcapi-rng.c.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 581717cfb0e35c041246da0c0c591a6e9f7a40e5 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 2 May 2018 21:03:45 +0200 -Subject: [PATCH] Fix getrandom call in kcapi-rng.c - -_GNU_SOURCE must be defined and unistd.h must be included to be able to -use getrandom - -Signed-off-by: Fabrice Fontaine - -[Upstream status: https://github.com/smuellerDD/libkcapi/pull/56] ---- - lib/kcapi-rng.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/lib/kcapi-rng.c b/lib/kcapi-rng.c -index 45f4d18..9ceabd4 100644 ---- a/lib/kcapi-rng.c -+++ b/lib/kcapi-rng.c -@@ -18,6 +18,8 @@ - * DAMAGE. - */ - -+#define _GNU_SOURCE -+#include - #include - #ifdef HAVE_GETRANDOM - #include --- -2.14.1 - diff --git a/buildroot/package/libkcapi/libkcapi.hash b/buildroot/package/libkcapi/libkcapi.hash index 9cb1e80cc..b340ea84b 100644 --- a/buildroot/package/libkcapi/libkcapi.hash +++ b/buildroot/package/libkcapi/libkcapi.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 ac80211317750f6a545b1e5547cfb6ae450b37c11acb6d24982a581705eb5250 libkcapi-1.1.0.tar.xz +sha256 19c044310eda0bf5403fae8df2eeffcfef33b67cb5b01def5f440d41ff16b55f libkcapi-1.1.3.tar.xz sha256 b0336f8f07a6abf8b0a59d961f53601d7c4a7c09a8137805b730a34a976039f8 COPYING sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING.gplv2 sha256 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 COPYING.bsd diff --git a/buildroot/package/libkcapi/libkcapi.mk b/buildroot/package/libkcapi/libkcapi.mk index 1a45f4f99..9edf0394d 100644 --- a/buildroot/package/libkcapi/libkcapi.mk +++ b/buildroot/package/libkcapi/libkcapi.mk @@ -4,13 +4,17 @@ # ################################################################################ -LIBKCAPI_VERSION = 1.1.0 +LIBKCAPI_VERSION = 1.1.3 LIBKCAPI_SOURCE = libkcapi-$(LIBKCAPI_VERSION).tar.xz LIBKCAPI_SITE = http://www.chronox.de/libkcapi LIBKCAPI_AUTORECONF = YES LIBKCAPI_INSTALL_STAGING = YES LIBKCAPI_LICENSE = BSD-3-Clause (library), BSD-3-Clause or GPL-2.0 (programs) LIBKCAPI_LICENSE_FILES = COPYING COPYING.gplv2 COPYING.bsd +LIBKCAPI_CONF_ENV = \ + ac_cv_path_DB2PDF="" \ + ac_cv_path_DB2PS="" \ + ac_cv_path_XMLTO="" ifeq ($(BR2_PACKAGE_LIBKCAPI_HASHER),y) LIBKCAPI_CONF_OPTS += --enable-kcapi-hasher diff --git a/buildroot/package/libmicrohttpd/libmicrohttpd.mk b/buildroot/package/libmicrohttpd/libmicrohttpd.mk index 1cda43481..d5c6366d8 100644 --- a/buildroot/package/libmicrohttpd/libmicrohttpd.mk +++ b/buildroot/package/libmicrohttpd/libmicrohttpd.mk @@ -11,13 +11,6 @@ LIBMICROHTTPD_INSTALL_STAGING = YES LIBMICROHTTPD_CONF_OPTS = --disable-curl --disable-examples LIBMICROHTTPD_CFLAGS = $(TARGET_CFLAGS) -std=c99 -# gcc on arc 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),y) -LIBMICROHTTPD_CFLAGS += -D_REENTRANT -endif - LIBMICROHTTPD_CONF_ENV += CFLAGS="$(LIBMICROHTTPD_CFLAGS)" ifeq ($(BR2_PACKAGE_LIBMICROHTTPD_SSL),y) diff --git a/buildroot/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch b/buildroot/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch deleted file mode 100644 index 25591fc4a..000000000 --- a/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/buildroot/package/libminiupnpc/libminiupnpc.hash b/buildroot/package/libminiupnpc/libminiupnpc.hash index c83b38aa6..556d8cc45 100644 --- a/buildroot/package/libminiupnpc/libminiupnpc.hash +++ b/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/buildroot/package/libminiupnpc/libminiupnpc.mk b/buildroot/package/libminiupnpc/libminiupnpc.mk index 66b08b4e8..5a4c8fc69 100644 --- a/buildroot/package/libminiupnpc/libminiupnpc.mk +++ b/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/buildroot/package/libmpdclient/libmpdclient.hash b/buildroot/package/libmpdclient/libmpdclient.hash index eb3278641..f268e876e 100644 --- a/buildroot/package/libmpdclient/libmpdclient.hash +++ b/buildroot/package/libmpdclient/libmpdclient.hash @@ -1,3 +1,3 @@ -# Verified against http://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.14.tar.xz.sig, sha256 locally computed -sha256 0a84e2791bfe3077cf22ee1784c805d5bb550803dffe56a39aa3690a38061372 libmpdclient-2.14.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/buildroot/package/libmpdclient/libmpdclient.mk b/buildroot/package/libmpdclient/libmpdclient.mk index 6ff27241c..dc206c721 100644 --- a/buildroot/package/libmpdclient/libmpdclient.mk +++ b/buildroot/package/libmpdclient/libmpdclient.mk @@ -5,41 +5,11 @@ ################################################################################ LIBMPDCLIENT_VERSION_MAJOR = 2 -LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).14 +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_INSTALL_STAGING = YES LIBMPDCLIENT_LICENSE = BSD-3-Clause LIBMPDCLIENT_LICENSE_FILES = COPYING -LIBMPDCLIENT_DEPENDENCIES = host-meson -LIBMPDCLIENT_CONF_OPTS += \ - --prefix=/usr \ - --libdir=/usr/lib \ - --default-library $(if $(BR2_STATIC_LIBS),static,shared) \ - --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \ - --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf - -LIBMPDCLIENT_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) - -define LIBMPDCLIENT_CONFIGURE_CMDS - rm -rf $(@D)/build - mkdir -p $(@D)/build - $(TARGET_MAKE_ENV) meson $(LIBMPDCLIENT_CONF_OPTS) $(@D) $(@D)/build -endef - -define LIBMPDCLIENT_BUILD_CMDS - $(TARGET_MAKE_ENV) ninja $(LIBMPDCLIENT_NINJA_OPTS) -C $(@D)/build -endef - -define LIBMPDCLIENT_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) \ - ninja $(LIBMPDCLIENT_NINJA_OPTS) -C $(@D)/build install -endef - -define LIBMPDCLIENT_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) \ - ninja $(LIBMPDCLIENT_NINJA_OPTS) -C $(@D)/build install -endef - -$(eval $(generic-package)) +$(eval $(meson-package)) diff --git a/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.hash b/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.hash index de9d1d3fc..dd236cd3d 100644 --- a/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.hash +++ b/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/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.mk b/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.mk index 2e9f6b7a6..40b74fe92 100644 --- a/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.mk +++ b/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/buildroot/package/libnetfilter_queue/0001-uclinux.patch b/buildroot/package/libnetfilter_queue/0001-uclinux.patch deleted file mode 100644 index 21895d9b0..000000000 --- a/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/buildroot/package/libnetfilter_queue/0002-musl.patch b/buildroot/package/libnetfilter_queue/0002-musl.patch deleted file mode 100644 index 3765d58af..000000000 --- a/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/buildroot/package/libnetfilter_queue/libnetfilter_queue.hash b/buildroot/package/libnetfilter_queue/libnetfilter_queue.hash index 4ea37216c..1425d41b3 100644 --- a/buildroot/package/libnetfilter_queue/libnetfilter_queue.hash +++ b/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/buildroot/package/libnetfilter_queue/libnetfilter_queue.mk b/buildroot/package/libnetfilter_queue/libnetfilter_queue.mk index 75910c590..302f9a257 100644 --- a/buildroot/package/libnetfilter_queue/libnetfilter_queue.mk +++ b/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/buildroot/package/libnfs/0001-Fix-include-sys-time.h.patch b/buildroot/package/libnfs/0001-Fix-include-sys-time.h.patch new file mode 100644 index 000000000..15b281672 --- /dev/null +++ b/buildroot/package/libnfs/0001-Fix-include-sys-time.h.patch @@ -0,0 +1,41 @@ +From 9df082012cba1dc32d83e5e8b0bdc0892f250058 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +Date: Mon, 5 Nov 2018 00:43:07 +0100 +Subject: [PATCH] Fix include sys/time.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +POSIX says `struct timeval` is defined if is included. + +Instead of the mess that is currently done based on the system on which +the stuff is being compiled, include it unconditionally. + +Reported upstream: +https://github.com/sahlberg/libnfs/issues/272 + +Signed-off-by: Jörg Krause +--- + include/nfsc/libnfs.h | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/include/nfsc/libnfs.h b/include/nfsc/libnfs.h +index 09dcf1c..b6db58c 100755 +--- a/include/nfsc/libnfs.h ++++ b/include/nfsc/libnfs.h +@@ -24,12 +24,7 @@ + #define _LIBNFS_H_ + + #include +-#if defined(__ANDROID__) || defined(AROS) \ +- || ( defined(__APPLE__) && defined(__MACH__) ) + #include +-#else +-#include +-#endif + + #ifdef __cplusplus + extern "C" { +-- +2.19.1 + diff --git a/buildroot/package/libnfs/libnfs.hash b/buildroot/package/libnfs/libnfs.hash index cfe667884..2bd8caf25 100644 --- a/buildroot/package/libnfs/libnfs.hash +++ b/buildroot/package/libnfs/libnfs.hash @@ -1,3 +1,6 @@ # Locally calculated sha256 7ea6cd8fa6c461d01091e584d424d28e137d23ff4b65b95d01a3fd0ef95d120e libnfs-libnfs-2.0.0.tar.gz +sha256 2d152e3a2f31ef0fe14d4908377277f8215fb5c82ec9329d1eed081c845fc85f COPYING +sha256 d9406ced95457941032aa11d04623b8ab71f2827a3395ebef137aec475be35b1 LICENCE-BSD.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENCE-GPL-3.txt diff --git a/buildroot/package/libnfs/libnfs.mk b/buildroot/package/libnfs/libnfs.mk index d961fd1d4..0cf07d214 100644 --- a/buildroot/package/libnfs/libnfs.mk +++ b/buildroot/package/libnfs/libnfs.mk @@ -8,8 +8,8 @@ LIBNFS_VERSION = libnfs-2.0.0 LIBNFS_SITE = $(call github,sahlberg,libnfs,$(LIBNFS_VERSION)) LIBNFS_INSTALL_STAGING = YES LIBNFS_AUTORECONF = YES -LIBNFS_LICENSE = LGPL-2.1+ -LIBNFS_LICENSE_FILES = LICENCE-LGPL-2.1.txt +LIBNFS_LICENSE = LGPL-2.1+ (library), BSD-2-Clause (protocol, .x files), GPL-3.0+ (examples) +LIBNFS_LICENSE_FILES = COPYING LICENCE-BSD.txt LICENCE-LGPL-2.1.txt LICENCE-GPL-3.txt LIBNFS_DEPENDENCIES = host-pkgconf ifeq ($(BR2_PACKAGE_LIBTIRPC),y) diff --git a/buildroot/package/libnftnl/Config.in b/buildroot/package/libnftnl/Config.in index d4c9a1bb5..347223ce2 100644 --- a/buildroot/package/libnftnl/Config.in +++ b/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/buildroot/package/libnice/libnice.mk b/buildroot/package/libnice/libnice.mk index e023728f4..49c29f9a6 100644 --- a/buildroot/package/libnice/libnice.mk +++ b/buildroot/package/libnice/libnice.mk @@ -10,8 +10,19 @@ LIBNICE_LICENSE = MPL-1.1 or LGPL-2.1 LIBNICE_LICENSE_FILES = COPYING COPYING.MPL COPYING.LGPL LIBNICE_DEPENDENCIES = gnutls libglib2 host-pkgconf LIBNICE_INSTALL_STAGING = 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/buildroot/package/libnpth/libnpth.hash b/buildroot/package/libnpth/libnpth.hash index 251d54bad..8d0b6bd54 100644 --- a/buildroot/package/libnpth/libnpth.hash +++ b/buildroot/package/libnpth/libnpth.hash @@ -1,5 +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/buildroot/package/libnpth/libnpth.mk b/buildroot/package/libnpth/libnpth.mk index 7b2eb2ae2..ecfef863f 100644 --- a/buildroot/package/libnpth/libnpth.mk +++ b/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/buildroot/package/libnspr/0001-nios2.patch b/buildroot/package/libnspr/0001-nios2.patch index e10e7e9a6..2a967c459 100644 --- a/buildroot/package/libnspr/0001-nios2.patch +++ b/buildroot/package/libnspr/0001-nios2.patch @@ -2,14 +2,16 @@ Add Nios-II support [Gustavo: update for nspr 4.10.9] Signed-off-by: Ezequiel Garcia +[Fabrice: update for nspr 4.20] +Signed-off-by: Fabrice Fontaine Index: b/nspr/pr/include/md/_linux.cfg =================================================================== --- a/nspr/pr/include/md/_linux.cfg +++ b/nspr/pr/include/md/_linux.cfg -@@ -1017,6 +1017,51 @@ - #define PR_BYTES_PER_WORD_LOG2 2 - #define PR_BYTES_PER_DWORD_LOG2 3 +@@ -1112,6 +1112,51 @@ + #define PR_BYTES_PER_WORD_LOG2 3 + #define PR_BYTES_PER_DWORD_LOG2 3 +#elif defined(__nios2__) + @@ -64,9 +66,9 @@ Index: b/nspr/pr/include/md/_linux.h --- a/nspr/pr/include/md/_linux.h +++ b/nspr/pr/include/md/_linux.h @@ -57,6 +57,8 @@ - #define _PR_SI_ARCHITECTURE "m32r" - #elif defined(__or1k__) - #define _PR_SI_ARCHITECTURE "or1k" + #define _PR_SI_ARCHITECTURE "riscv32" + #elif defined(__riscv) && (__riscv_xlen == 64) + #define _PR_SI_ARCHITECTURE "riscv64" +#elif defined(__nios2__) +#define _PR_SI_ARCHITECTURE "nios2" #else diff --git a/buildroot/package/libnspr/0002-microblaze.patch b/buildroot/package/libnspr/0002-microblaze.patch index 7cf1f0dfa..4c23259d5 100644 --- a/buildroot/package/libnspr/0002-microblaze.patch +++ b/buildroot/package/libnspr/0002-microblaze.patch @@ -2,12 +2,14 @@ Add Microblaze support [Gustavo: update for nspr 4.10.9] Signed-off-by: Spenser Gilliland +[Fabrice: update for nspr 4.20] +Signed-off-by: Fabrice Fontaine Index: b/nspr/pr/include/md/_linux.cfg =================================================================== --- a/nspr/pr/include/md/_linux.cfg +++ b/nspr/pr/include/md/_linux.cfg -@@ -1062,6 +1062,56 @@ +@@ -1157,6 +1157,56 @@ #define PR_BYTES_PER_WORD_LOG2 2 #define PR_BYTES_PER_DWORD_LOG2 3 @@ -69,9 +71,9 @@ Index: b/nspr/pr/include/md/_linux.h --- a/nspr/pr/include/md/_linux.h +++ b/nspr/pr/include/md/_linux.h @@ -57,6 +57,8 @@ - #define _PR_SI_ARCHITECTURE "m32r" - #elif defined(__or1k__) - #define _PR_SI_ARCHITECTURE "or1k" + #define _PR_SI_ARCHITECTURE "riscv32" + #elif defined(__riscv) && (__riscv_xlen == 64) + #define _PR_SI_ARCHITECTURE "riscv64" +#elif defined(__microblaze__) +#define _PR_SI_ARCHITECTURE "microblaze" #elif defined(__nios2__) diff --git a/buildroot/package/libnspr/libnspr.hash b/buildroot/package/libnspr/libnspr.hash index 3067afd72..33710b65a 100644 --- a/buildroot/package/libnspr/libnspr.hash +++ b/buildroot/package/libnspr/libnspr.hash @@ -1,4 +1,4 @@ -# From https://ftp.mozilla.org/pub/nspr/releases/v4.19/src/SHA256SUMS -sha256 2ed95917fa2277910d1d1cf36030607dccc0ba522bba08e2af13c113dcd8f729 nspr-4.19.tar.gz +# From https://ftp.mozilla.org/pub/nspr/releases/v4.20/src/SHA256SUMS +sha256 2c8964913da89ffbaf464d49ce44d79e8804e1794ef9a8c52a7bff7224d1556e nspr-4.20.tar.gz # Locally calculated sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 nspr/LICENSE diff --git a/buildroot/package/libnspr/libnspr.mk b/buildroot/package/libnspr/libnspr.mk index d91393f6e..763c5393b 100644 --- a/buildroot/package/libnspr/libnspr.mk +++ b/buildroot/package/libnspr/libnspr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSPR_VERSION = 4.19 +LIBNSPR_VERSION = 4.20 LIBNSPR_SOURCE = nspr-$(LIBNSPR_VERSION).tar.gz LIBNSPR_SITE = https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$(LIBNSPR_VERSION)/src LIBNSPR_SUBDIR = nspr diff --git a/buildroot/package/libnss/0001-fix-uclibc-build.patch b/buildroot/package/libnss/0001-fix-uclibc-build.patch new file mode 100644 index 000000000..a9e84c264 --- /dev/null +++ b/buildroot/package/libnss/0001-fix-uclibc-build.patch @@ -0,0 +1,22 @@ +Fix build with uClibc-ng + +The elf.h header in uClibc-ng is missing the AT_HWCAP2 definition. Add it in +the code. + +Signed-off-by: Baruch Siach +--- +Upstream status: Not upstreamable; uClibc needs to update elf.h + +diff -Nuar nss-3.38.orig/nss/lib/freebl/blinit.c nss-3.38/nss/lib/freebl/blinit.c +--- nss-3.38.orig/nss/lib/freebl/blinit.c 2018-06-21 12:24:45.000000000 +0300 ++++ nss-3.38/nss/lib/freebl/blinit.c 2018-06-26 13:13:55.636434720 +0300 +@@ -100,6 +100,9 @@ + defined(__GNUC__) && __GNUC__ >= 2 && defined(__ELF__) + #include + extern unsigned long getauxval(unsigned long type) __attribute__((weak)); ++#ifndef AT_HWCAP2 ++#define AT_HWCAP2 26 ++#endif + #else + static unsigned long (*getauxval)(unsigned long) = NULL; + #define AT_HWCAP2 0 diff --git a/buildroot/package/libnss/0001-uclibc.patch b/buildroot/package/libnss/0001-uclibc.patch deleted file mode 100644 index b81db930b..000000000 --- a/buildroot/package/libnss/0001-uclibc.patch +++ /dev/null @@ -1,20 +0,0 @@ -uCLibc does not define RTLD_NOLOAD. - -[Gustavo: update for nss 3.16.1] -Signed-off-by: Will Newton - -diff -Nura nss-3.16.1.orig/nss/lib/freebl/stubs.c nss-3.16.1/nss/lib/freebl/stubs.c ---- nss-3.16.1.orig/nss/lib/freebl/stubs.c 2014-06-18 10:34:30.529997002 -0300 -+++ nss-3.16.1/nss/lib/freebl/stubs.c 2014-06-18 10:36:25.508882650 -0300 -@@ -594,6 +594,11 @@ - return SECSuccess; - } - -+/* uClibc does not define RTLD_NOLOAD. */ -+#ifndef RTLD_NOLOAD -+#define RTLD_NOLOAD 0 -+#endif -+ - /* - * fetch the library if it's loaded. For NSS it should already be loaded - */ diff --git a/buildroot/package/libnss/0003-Build-Hacl_Poly1305_64_o_on_Aarch64.patch b/buildroot/package/libnss/0003-Build-Hacl_Poly1305_64_o_on_Aarch64.patch deleted file mode 100644 index 94f1a6527..000000000 --- a/buildroot/package/libnss/0003-Build-Hacl_Poly1305_64_o_on_Aarch64.patch +++ /dev/null @@ -1,38 +0,0 @@ -# HG changeset patch -# User Daiki Ueno -# Date 1516710574 -3600 -# Node ID 1668fafc1db4f739d5d15fbc94283858f842deb5 -# Parent c3702e37a048e386f88e7c50a228d27669332725 -Bug 1432455, Build Hacl_Poly1305_64.o on AArch64 even with make, r=fkiefer - -[Upstream: https://hg.mozilla.org/projects/nss/rev/1668fafc1db4 - Peter: adjust paths for tarball] -Signed-off-by: Peter Korsgaard -diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile ---- a/nss/lib/freebl/Makefile -+++ b/nss/lib/freebl/Makefile -@@ -522,17 +522,22 @@ ifndef NSS_DISABLE_CHACHAPOLY - - ifneq (1,$(CC_IS_GCC)) - EXTRA_SRCS += chacha20.c - VERIFIED_SRCS += Hacl_Chacha20.c - else - EXTRA_SRCS += chacha20_vec.c - endif - else -- EXTRA_SRCS += poly1305.c -+ ifeq ($(CPU_ARCH),aarch64) -+ EXTRA_SRCS += Hacl_Poly1305_64.c -+ else -+ EXTRA_SRCS += poly1305.c -+ endif -+ - EXTRA_SRCS += chacha20.c - VERIFIED_SRCS += Hacl_Chacha20.c - endif # x86_64 - endif # NSS_DISABLE_CHACHAPOLY - - ifeq (,$(filter-out i386 x386 x86 x86_64 aarch64,$(CPU_ARCH))) - # All intel architectures get the 64 bit version - # With custom uint128 if necessary (faster than generic 32 bit version). - diff --git a/buildroot/package/libnss/0004-Bug-1438426-Avoid-stringop-truncation-warning-r-fran.patch b/buildroot/package/libnss/0004-Bug-1438426-Avoid-stringop-truncation-warning-r-fran.patch deleted file mode 100644 index c14880b11..000000000 --- a/buildroot/package/libnss/0004-Bug-1438426-Avoid-stringop-truncation-warning-r-fran.patch +++ /dev/null @@ -1,33 +0,0 @@ -From f0ce70989526fc9a0223398c99ea0d09777ea5df Mon Sep 17 00:00:00 2001 -From: Martin Thomson -Date: Thu, 15 Feb 2018 16:34:02 +1100 -Subject: [PATCH] Bug 1438426 - Avoid stringop-truncation warning, r=franziskus - ---HG-- -extra : rebase_source : 4ea1630d0da0ce3523309e3da33ee50961682242 - -Upstream-commit: https://github.com/nss-dev/nss/commit/f0ce70989526fc9a0223398c99ea0d09777ea5df -[Thomas: edited after git format-patch to add the nss/ prefix needed -for the patch to apply properly on the source code extracted by the -tarball.] -Signed-off-by: Thomas Petazzoni ---- - nss/coreconf/nsinstall/pathsub.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/nss/coreconf/nsinstall/pathsub.c b/nss/coreconf/nsinstall/pathsub.c -index a42a9f30a..c31a946f0 100644 ---- a/nss/coreconf/nsinstall/pathsub.c -+++ b/nss/coreconf/nsinstall/pathsub.c -@@ -212,7 +212,7 @@ reversepath(char *inpath, char *name, int len, char *outpath) - xchdir(".."); - } else { - cp -= 3; -- strncpy(cp, "../", 3); -+ memcpy(cp, "../", 3); - xchdir(buf); - } - } --- -2.14.3 - diff --git a/buildroot/package/libnss/libnss.hash b/buildroot/package/libnss/libnss.hash index 775ef4868..9c3cefd81 100644 --- a/buildroot/package/libnss/libnss.hash +++ b/buildroot/package/libnss/libnss.hash @@ -1,4 +1,4 @@ -# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_35_RTM/src/SHA256SUMS -sha256 f4127de09bede39f5fd0f789d33c3504c5d261e69ea03022d46b319b3e32f6fa nss-3.35.tar.gz +# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_39_RTM/src/SHA256SUMS +sha256 6be64dd76f212415cc8bc34343ac1e7389048db4db9a023a84873c411dc5864b nss-3.39.tar.gz # Locally calculated sha256 a20c1a32d1f8102432360b42e932869f7c11c7cdbacf9cac554c422132af47f4 nss/COPYING diff --git a/buildroot/package/libnss/libnss.mk b/buildroot/package/libnss/libnss.mk index 0fa7f2cfa..73c9b08fd 100644 --- a/buildroot/package/libnss/libnss.mk +++ b/buildroot/package/libnss/libnss.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSS_VERSION = 3.35 +LIBNSS_VERSION = 3.39 LIBNSS_SOURCE = nss-$(LIBNSS_VERSION).tar.gz LIBNSS_SITE = https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(subst .,_,$(LIBNSS_VERSION))_RTM/src LIBNSS_DISTDIR = dist @@ -23,6 +23,12 @@ endef LIBNSS_PRE_CONFIGURE_HOOKS += LIBNSS_DROP_GC_SECTIONS endif +ifeq ($(BR2_aarch64_be),y) +LIBNSS_ARCH = aarch64 +else +LIBNSS_ARCH = $(ARCH) +endif + LIBNSS_BUILD_VARS = \ MOZILLA_CLIENT=1 \ NSPR_INCLUDE_DIR=$(STAGING_DIR)/usr/include/nspr \ @@ -35,7 +41,7 @@ LIBNSS_BUILD_VARS = \ NATIVE_CC="$(HOSTCC)" \ OS_ARCH="Linux" \ OS_RELEASE="2.6" \ - OS_TEST="$(ARCH)" + OS_TEST="$(LIBNSS_ARCH)" # #pragma usage needs gcc >= 4.8 # See https://bugzilla.mozilla.org/show_bug.cgi?id=1226179 diff --git a/buildroot/package/liboauth/0001-Fixes-build-issue-with-OpenSSL-1.1.0.patch b/buildroot/package/liboauth/0001-Fixes-build-issue-with-OpenSSL-1.1.0.patch new file mode 100644 index 000000000..945307bba --- /dev/null +++ b/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/buildroot/package/libopenh264/libopenh264.hash b/buildroot/package/libopenh264/libopenh264.hash index 2fc76ecc1..b9cd9ed53 100644 --- a/buildroot/package/libopenh264/libopenh264.hash +++ b/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/buildroot/package/libopenh264/libopenh264.mk b/buildroot/package/libopenh264/libopenh264.mk index feead5b84..233e7971f 100644 --- a/buildroot/package/libopenh264/libopenh264.mk +++ b/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/buildroot/package/libopenssl/libopenssl.hash b/buildroot/package/libopenssl/libopenssl.hash index 48b7471c2..83fb8bd51 100644 --- a/buildroot/package/libopenssl/libopenssl.hash +++ b/buildroot/package/libopenssl/libopenssl.hash @@ -1,5 +1,7 @@ -# From https://www.openssl.org/source/openssl-1.0.2o.tar.gz.sha256 -sha256 ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d openssl-1.0.2o.tar.gz +# From https://www.openssl.org/source/openssl-1.0.2q.tar.gz.sha256 +sha256 5744cfcbcec2b1b48629f7354203bc1e5e9b5466998bbccc5b5fcde3b18eb684 openssl-1.0.2q.tar.gz +# From https://www.openssl.org/source/openssl-1.0.2q.tar.gz.sha1 +sha1 692f5f2f1b114f8adaadaa3e7be8cce1907f38c5 openssl-1.0.2q.tar.gz # Locally computed sha256 eddd8a5123748052c598214487ac178e4bfa4e31ba2ec520c70d59c8c5bfa2e9 openssl-1.0.2a-parallel-install-dirs.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d sha256 147c3eeaad614c044749ea527cb433eae5e2d5cad34a78c6ba61cd967bfbe01f openssl-1.0.2a-parallel-obj-headers.patch?id=c8abcbe8de5d3b6cdd68c162f398c011ff6e2d9d diff --git a/buildroot/package/libopenssl/libopenssl.mk b/buildroot/package/libopenssl/libopenssl.mk index 16a9c2e9d..ca0521b22 100644 --- a/buildroot/package/libopenssl/libopenssl.mk +++ b/buildroot/package/libopenssl/libopenssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOPENSSL_VERSION = 1.0.2o +LIBOPENSSL_VERSION = 1.0.2q LIBOPENSSL_SITE = http://www.openssl.org/source LIBOPENSSL_SOURCE = openssl-$(LIBOPENSSL_VERSION).tar.gz LIBOPENSSL_LICENSE = OpenSSL or SSLeay diff --git a/buildroot/package/liboping/liboping.hash b/buildroot/package/liboping/liboping.hash index 3e796cca6..926b234f0 100644 --- a/buildroot/package/liboping/liboping.hash +++ b/buildroot/package/liboping/liboping.hash @@ -1,2 +1,5 @@ # From http://noping.cc/#download -sha256 44bb1d88b56b88fda5533edb3aa005c69b3cd396f20453a157d7e31e536f3530 liboping-1.9.0.tar.bz2 +sha256 eb38aa93f93e8ab282d97e2582fbaea88b3f889a08cbc9dbf20059c3779d5cd8 liboping-1.10.0.tar.bz2 + +# Hash for license file: +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/buildroot/package/liboping/liboping.mk b/buildroot/package/liboping/liboping.mk index 114e0c27e..4aa3e30ee 100644 --- a/buildroot/package/liboping/liboping.mk +++ b/buildroot/package/liboping/liboping.mk @@ -4,13 +4,19 @@ # ################################################################################ -LIBOPING_VERSION = 1.9.0 +LIBOPING_VERSION = 1.10.0 LIBOPING_SITE = http://noping.cc/files LIBOPING_SOURCE = liboping-$(LIBOPING_VERSION).tar.bz2 LIBOPING_INSTALL_STAGING = YES -LIBOPING_DEPENDENCIES = $(if $(BR2_PACKAGE_NCURSES),ncurses) LIBOPING_CONF_OPTS = --without-perl-bindings LIBOPING_LICENSE = LGPL-2.1+, GPL-2.0 LIBOPING_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_NCURSES),y) +LIBOPING_DEPENDENCIES += ncurses +LIBOPING_CONF_OPTS += --with-ncurses +else +LIBOPING_CONF_OPTS += --without-ncurses +endif + $(eval $(autotools-package)) diff --git a/buildroot/package/libopusenc/Config.in b/buildroot/package/libopusenc/Config.in new file mode 100644 index 000000000..4b29f9b82 --- /dev/null +++ b/buildroot/package/libopusenc/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBOPUSENC + bool "libopusenc" + select BR2_PACKAGE_OPUS + help + The libopusenc library provides a high-level API for + encoding opus audio files and live streams. + + http://opus-codec.org diff --git a/buildroot/package/libopusenc/libopusenc.hash b/buildroot/package/libopusenc/libopusenc.hash new file mode 100644 index 000000000..122e792bf --- /dev/null +++ b/buildroot/package/libopusenc/libopusenc.hash @@ -0,0 +1,3 @@ +# From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt +sha256 c79e95eeee43a0b965e9b2c59a243763a8f8b0a7e71441df2aa9084f6171c73a libopusenc-0.2.tar.gz +sha256 93b17ab56b8230127fea532be0dcb4e6d71e66ab5e8ce5d6ae8785d7288b164f COPYING diff --git a/buildroot/package/libopusenc/libopusenc.mk b/buildroot/package/libopusenc/libopusenc.mk new file mode 100644 index 000000000..16b83d0c4 --- /dev/null +++ b/buildroot/package/libopusenc/libopusenc.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# libopusenc +# +################################################################################ + +LIBOPUSENC_VERSION = 0.2 +LIBOPUSENC_SITE = https://downloads.xiph.org/releases/opus +LIBOPUSENC_LICENSE = BSD-3-Clause +LIBOPUSENC_LICENSE_FILES = COPYING +LIBOPUSENC_INSTALL_STAGING = YES +LIBOPUSENC_DEPENDENCIES = host-pkgconf opus + +LIBOPUSENC_CONF_OPTS = --disable-examples + +$(eval $(autotools-package)) diff --git a/buildroot/package/libostree/Config.in b/buildroot/package/libostree/Config.in index b62f4ea0a..4a6ab5464 100644 --- a/buildroot/package/libostree/Config.in +++ b/buildroot/package/libostree/Config.in @@ -1,15 +1,16 @@ config BR2_PACKAGE_LIBOSTREE bool "libostree" - depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpgme + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpgme, libgpg-error depends on !BR2_STATIC_LIBS # libfuse depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_WCHAR # libglib2 - depends on BR2_USE_MMU # e2fsprogs, libfuse,libglib2, libgpgme + depends on BR2_USE_MMU # e2fsprogs, libfuse, libglib2, libgpgme # doesn't build with musl due to lack of TEMP_FAILURE_RETRY() depends on !BR2_TOOLCHAIN_USES_MUSL select BR2_PACKAGE_E2FSPROGS select BR2_PACKAGE_LIBFUSE select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBGPG_ERROR select BR2_PACKAGE_LIBGPGME select BR2_PACKAGE_XZ help diff --git a/buildroot/package/libostree/libostree.hash b/buildroot/package/libostree/libostree.hash index 1f0e9ce95..35bf2caf0 100644 --- a/buildroot/package/libostree/libostree.hash +++ b/buildroot/package/libostree/libostree.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f5b1e083ed630fd32a263731fe9595ecdd07cfd5cba3e354931f481c4181de1c libostree-2018.4.tar.xz +sha256 9a3c17af133e6d381bb997473c6371ef8f048c1cfb6bd0acdb5662ede712aa5a libostree-2018.9.tar.xz sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/buildroot/package/libostree/libostree.mk b/buildroot/package/libostree/libostree.mk index d4e0a80b3..4c841dbe4 100644 --- a/buildroot/package/libostree/libostree.mk +++ b/buildroot/package/libostree/libostree.mk @@ -4,15 +4,17 @@ # ################################################################################ -LIBOSTREE_VERSION = 2018.4 +LIBOSTREE_VERSION = 2018.9 LIBOSTREE_SOURCE = libostree-$(LIBOSTREE_VERSION).tar.xz LIBOSTREE_SITE = https://github.com/ostreedev/ostree/releases/download/v$(LIBOSTREE_VERSION) LIBOSTREE_LICENSE = LGPL-2.0+ LIBOSTREE_LICENSE_FILES = COPYING -LIBOSTREE_DEPENDENCIES = e2fsprogs host-bison host-pkgconf libfuse libglib2 libgpgme xz +LIBOSTREE_DEPENDENCIES = e2fsprogs host-bison host-pkgconf libfuse libglib2 libgpg-error libgpgme xz LIBOSTREE_INSTALL_STAGING = YES +LIBOSTREE_CONF_ENV = \ + GPG_ERROR_CONFIG=$(STAGING_DIR)/usr/bin/gpg-error-config LIBOSTREE_CONF_OPTS += \ --with-gpgme-prefix=$(STAGING_DIR)/usr \ --disable-gtk-doc \ diff --git a/buildroot/package/libpam-tacplus/0001-Fix-getrandom-call-in-magic.c.patch b/buildroot/package/libpam-tacplus/0001-Fix-getrandom-call-in-magic.c.patch new file mode 100644 index 000000000..bde717f3f --- /dev/null +++ b/buildroot/package/libpam-tacplus/0001-Fix-getrandom-call-in-magic.c.patch @@ -0,0 +1,30 @@ +From 5b49ec03b165b8d7c69e196bf1c2780274fbe1ee Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 20 May 2018 15:47:33 +0200 +Subject: [PATCH] Fix getrandom call in magic.c + +_GNU_SOURCE must be defined before any includes to be able to use +getrandom + +Signed-off-by: Fabrice Fontaine + +[Upstream status: https://github.com/jeroennijhof/pam_tacplus/pull/118] +--- + libtac/lib/magic.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libtac/lib/magic.c b/libtac/lib/magic.c +index 97aa035..a9cbe86 100644 +--- a/libtac/lib/magic.c ++++ b/libtac/lib/magic.c +@@ -18,6 +18,7 @@ + * See `CHANGES' file for revision history. + */ + ++#define _GNU_SOURCE + #include + #include + #include +-- +2.14.1 + diff --git a/buildroot/package/libpam-tacplus/libpam-tacplus.hash b/buildroot/package/libpam-tacplus/libpam-tacplus.hash index c8a772322..ba014347e 100644 --- a/buildroot/package/libpam-tacplus/libpam-tacplus.hash +++ b/buildroot/package/libpam-tacplus/libpam-tacplus.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 747f7ad980a3726ed3abc5fec92e867efa8af8c53caac547cab7eb6af5ce0edf libpam-tacplus-1.3.9.tar.gz +sha256 6e1ce4e3194a4d7823a0f0b352485d5028790e4a0974b9a9619f71b07f79a5fa libpam-tacplus-v1.5.0-beta.2.tar.gz +sha256 b2b961f07e97c4fb78074276da304ea36b85dc299aae5efb79080cedaea3d5ac COPYING diff --git a/buildroot/package/libpam-tacplus/libpam-tacplus.mk b/buildroot/package/libpam-tacplus/libpam-tacplus.mk index f43e2b9a4..eebe297f7 100644 --- a/buildroot/package/libpam-tacplus/libpam-tacplus.mk +++ b/buildroot/package/libpam-tacplus/libpam-tacplus.mk @@ -4,14 +4,13 @@ # ################################################################################ -LIBPAM_TACPLUS_VERSION = 1.3.9 +LIBPAM_TACPLUS_VERSION = v1.5.0-beta.2 LIBPAM_TACPLUS_SITE = $(call github,jeroennijhof,pam_tacplus,$(LIBPAM_TACPLUS_VERSION)) LIBPAM_TACPLUS_LICENSE = GPL-2.0+ LIBPAM_TACPLUS_LICENSE_FILES = COPYING LIBPAM_TACPLUS_DEPENDENCIES = linux-pam # Fetching from github, we need to generate the configure script LIBPAM_TACPLUS_AUTORECONF = YES -LIBPAM_TACPLUS_AUTORECONF_OPTS = -I m4 LIBPAM_TACPLUS_INSTALL_STAGING = YES LIBPAM_TACPLUS_CONF_ENV = \ ax_cv_check_cflags___fstack_protector_all=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) diff --git a/buildroot/package/libpfm4/libpfm4.hash b/buildroot/package/libpfm4/libpfm4.hash index 8bebc493f..20671fb6e 100644 --- a/buildroot/package/libpfm4/libpfm4.hash +++ b/buildroot/package/libpfm4/libpfm4.hash @@ -1,5 +1,6 @@ # From http://sourceforge.net/projects/perfmon2/files/libpfm4/: -sha1 2ed06d6e746f7b1cd4b70e9736e621052f60d625 libpfm-4.6.0.tar.gz -md5 5077b9022440e4951d96f2d0e73bd487 libpfm-4.6.0.tar.gz +sha1 3a7b556e0778fd76e9e7abb06e5d4d2599ffbefc libpfm-4.9.0.tar.gz +md5 42ad4a2e5b8e1f015310db8535739c73 libpfm-4.9.0.tar.gz # Locally calculated -sha256 5ab1e5b0472550f9037a8800834f6bc3b927690070f69fac0b67284b4b05fd5f libpfm-4.6.0.tar.gz +sha256 db0fbe8ee28fd9beeb5d3e80b7cb3b104debcf6a9fcf5cb8b882f0662c79e4e2 libpfm-4.9.0.tar.gz +sha256 beef323d68fc5db9c67b20e8e9de7ccde371d20cdbcdd686804055b18b926d90 COPYING diff --git a/buildroot/package/libpfm4/libpfm4.mk b/buildroot/package/libpfm4/libpfm4.mk index 913fc3583..88632f478 100644 --- a/buildroot/package/libpfm4/libpfm4.mk +++ b/buildroot/package/libpfm4/libpfm4.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPFM4_VERSION = 4.6.0 +LIBPFM4_VERSION = 4.9.0 LIBPFM4_SOURCE = libpfm-$(LIBPFM4_VERSION).tar.gz LIBPFM4_SITE = http://downloads.sourceforge.net/project/perfmon2/libpfm4 LIBPFM4_LICENSE = libpfm4 license diff --git a/buildroot/package/libphidget/libphidget.hash b/buildroot/package/libphidget/libphidget.hash index a89ba367e..120d6373e 100644 --- a/buildroot/package/libphidget/libphidget.hash +++ b/buildroot/package/libphidget/libphidget.hash @@ -1,2 +1,3 @@ # locally computed -sha256 2d496828a085ada8ff139da9306bd2b8cb987798fee93caf0089dc399195e238 libphidget_2.1.8.20140319.tar.gz +sha256 f6da13dc0db057c1a87e0a831e3f5507cd26a32f3ced40f2c0ad783fc244bcd5 libphidget_2.1.8.20170607.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/buildroot/package/libphidget/libphidget.mk b/buildroot/package/libphidget/libphidget.mk index 803d5012a..d84a8b911 100644 --- a/buildroot/package/libphidget/libphidget.mk +++ b/buildroot/package/libphidget/libphidget.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPHIDGET_VERSION = 2.1.8.20140319 +LIBPHIDGET_VERSION = 2.1.8.20170607 LIBPHIDGET_SOURCE = libphidget_$(LIBPHIDGET_VERSION).tar.gz LIBPHIDGET_SITE = https://www.phidgets.com/downloads/phidget21/libraries/linux/libphidget LIBPHIDGET_DEPENDENCIES = libusb diff --git a/buildroot/package/libpng/libpng.mk b/buildroot/package/libpng/libpng.mk index f8594c808..ace62cd87 100644 --- a/buildroot/package/libpng/libpng.mk +++ b/buildroot/package/libpng/libpng.mk @@ -7,7 +7,7 @@ LIBPNG_VERSION = 1.6.34 LIBPNG_SERIES = 16 LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.xz -LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng${LIBPNG_SERIES}/$(LIBPNG_VERSION) +LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng$(LIBPNG_SERIES)/$(LIBPNG_VERSION) LIBPNG_LICENSE = Libpng LIBPNG_LICENSE_FILES = LICENSE LIBPNG_INSTALL_STAGING = YES diff --git a/buildroot/package/libpqxx/0001-include-sys-time.h-outside-fallback-select-55.patch b/buildroot/package/libpqxx/0001-include-sys-time.h-outside-fallback-select-55.patch deleted file mode 100644 index 4c635759e..000000000 --- a/buildroot/package/libpqxx/0001-include-sys-time.h-outside-fallback-select-55.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 44970d7331e4f369e160af0135a2d1fc16f27a21 Mon Sep 17 00:00:00 2001 -From: jdknight-rockwellcollins -Date: Mon, 15 Jan 2018 12:41:25 -0500 -Subject: [PATCH] include sys/time.h outside fallback select (#55) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The implementation of 'wait_fd' (inside 'connection_base.cxx') always -relies on the existence of the 'timeval' structure. In Linux, this -structure is provided by the header 'sys/time.h'. If polling or select -capabilities are detected, the structure is never included into the -source and will result in a compilation error (GCC 7.x): - - connection_base.cxx:1153:28: error: ‘{anonymous}::tv_milliseconds’ declared as an ‘inline’ variable - inline int tv_milliseconds(timeval *tv = nullptr) - ^~~~~~~ - ... - -The following moves the 'HAVE_SYS_TIME_H' check outside the -select-fallback case so that the header can be included no matter the -event-function feature is used. - -Signed-off-by: James Knight ---- - configure | 28 ++++++++++++---------------- - configure.ac | 6 +----- - src/connection_base.cxx | 2 +- - 3 files changed, 14 insertions(+), 22 deletions(-) - -diff --git a/configure b/configure -index 7d6d96a98e0fcb7dde1e05adf034afe624ada6d6..dd2a33cb54dba5d3223fc2b4c8d03be7c8abde4e 100755 ---- a/configure -+++ b/configure -@@ -17285,22 +17285,6 @@ fi - done - - --if test "$select_h" != "yes" --then --for ac_header in sys/time.h --do : -- ac_fn_cxx_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" --if test "x$ac_cv_header_sys_time_h" = xyes; then : -- cat >>confdefs.h <<_ACEOF --#define HAVE_SYS_TIME_H 1 --_ACEOF -- --fi -- --done -- --fi -- - # Some systems keep select() in a separate library which is not linked by - # default. See if we need one of those. - socklibok=no -@@ -17419,6 +17403,18 @@ fi - - fi # No poll() - -+for ac_header in sys/time.h -+do : -+ ac_fn_cxx_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" -+if test "x$ac_cv_header_sys_time_h" = xyes; then : -+ cat >>confdefs.h <<_ACEOF -+#define HAVE_SYS_TIME_H 1 -+_ACEOF -+ -+fi -+ -+done -+ - - # Add options to compiler command line, if compiler accepts them. - add_compiler_opts_if_ok() { -diff --git a/configure.ac b/configure.ac -index 8977c3d3900a5de66b580365d8fe7d133cd1042d..6649f7fa0ed0572489a0db09517c659012ce707c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -117,11 +117,6 @@ then - select_h=no - AC_CHECK_HEADERS([sys/select.h], [select_h=yes]) - --if test "$select_h" != "yes" --then --AC_CHECK_HEADERS([sys/time.h]) --fi -- - # Some systems keep select() in a separate library which is not linked by - # default. See if we need one of those. - socklibok=no -@@ -150,6 +145,7 @@ fi - - fi # No poll() - -+AC_CHECK_HEADERS([sys/time.h]) - - # Add options to compiler command line, if compiler accepts them. - add_compiler_opts_if_ok() { -diff --git a/src/connection_base.cxx b/src/connection_base.cxx -index 37ed7728ffd02e1fded3b5d64d6fb2d5fd74d5ed..0ec55bc5bd761690f66b67396cfbf3e3c56ba618 100644 ---- a/src/connection_base.cxx -+++ b/src/connection_base.cxx -@@ -38,10 +38,10 @@ - #if defined(HAVE_UNISTD_H) - #include - #endif -+#endif - #if defined(HAVE_SYS_TIME_H) - #include - #endif --#endif - - #include "libpq-fe.h" - --- -1.8.3.msysgit.0 - diff --git a/buildroot/package/libpqxx/libpqxx.hash b/buildroot/package/libpqxx/libpqxx.hash index 372be603c..b04e3c319 100644 --- a/buildroot/package/libpqxx/libpqxx.hash +++ b/buildroot/package/libpqxx/libpqxx.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 81cac92458efd799fadb0374107464320d93eba71de05aedf21afb9c8dda7c3a libpqxx-6.0.0.tar.gz +sha256 36fcf8439ac7f7cc68b21e95b20e921ece4487cda1cc1d09b798a84e7cb3a4b7 libpqxx-6.2.5.tar.gz sha256 9e1c78fa302e4e9738bf3315b130429035c03fcb0f046531ccd977cb474f6b31 COPYING diff --git a/buildroot/package/libpqxx/libpqxx.mk b/buildroot/package/libpqxx/libpqxx.mk index ccafa9ce7..9e0f84db8 100644 --- a/buildroot/package/libpqxx/libpqxx.mk +++ b/buildroot/package/libpqxx/libpqxx.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPQXX_VERSION = 6.0.0 +LIBPQXX_VERSION = 6.2.5 LIBPQXX_SITE = $(call github,jtv,libpqxx,$(LIBPQXX_VERSION)) LIBPQXX_INSTALL_STAGING = YES LIBPQXX_DEPENDENCIES = postgresql diff --git a/buildroot/package/libpwquality/0001-Fix-build-with-disable-nls-on-platforms-without-libi.patch b/buildroot/package/libpwquality/0001-Fix-build-with-disable-nls-on-platforms-without-libi.patch deleted file mode 100644 index 3bae15c22..000000000 --- a/buildroot/package/libpwquality/0001-Fix-build-with-disable-nls-on-platforms-without-libi.patch +++ /dev/null @@ -1,47 +0,0 @@ -From fd1694c9d85666a39fe39e76518581b1ccd5a6c5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20S=C3=B8rensen?= -Date: Thu, 2 Feb 2017 11:16:49 +0100 -Subject: [PATCH] Fix build with --disable-nls on platforms without libintl - included in libc. - -Signed-off-by: Stefan Sørensen - ---- - -Status: accepted upstream, not yet released. - -diff --git a/src/pwmake.c b/src/pwmake.c -index 5b8cfb8..81f7cd3 100644 ---- a/src/pwmake.c -+++ b/src/pwmake.c -@@ -33,9 +33,11 @@ main(int argc, char *argv[]) - int bits; - void *auxerror; - -+#ifdef ENABLE_NLS - setlocale(LC_ALL, ""); - bindtextdomain("libpwquality", "/usr/share/locale"); - textdomain("libpwquality"); -+#endif - - if (argc != 2) { - usage(basename(argv[0])); -diff --git a/src/pwscore.c b/src/pwscore.c -index 219a175..24c13f2 100644 ---- a/src/pwscore.c -+++ b/src/pwscore.c -@@ -34,9 +34,11 @@ main(int argc, char *argv[]) - size_t len; - char *user = NULL; - -+#ifdef ENABLE_NLS - setlocale(LC_ALL, ""); - bindtextdomain("libpwquality", "/usr/share/locale"); - textdomain("libpwquality"); -+#endif - - if (argc > 2) { - usage(basename(argv[0])); --- -2.9.3 - diff --git a/buildroot/package/libpwquality/0002-Fix-memory-leak-in-settings-when-using-bad-word-list.patch b/buildroot/package/libpwquality/0002-Fix-memory-leak-in-settings-when-using-bad-word-list.patch deleted file mode 100644 index 1b4f24264..000000000 --- a/buildroot/package/libpwquality/0002-Fix-memory-leak-in-settings-when-using-bad-word-list.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b1f2f1f71894fa0af92041fb4d5b6146101d63e5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20S=C3=B8rensen?= -Date: Thu, 2 Feb 2017 11:17:26 +0100 -Subject: [PATCH] Fix memory leak in settings when using bad word list. - -Signed-off-by: Stefan Sørensen - ---- - -Status: accepted upstream, not yet released. - -diff --git a/src/settings.c b/src/settings.c -index 5c38b30..4b026b1 100644 ---- a/src/settings.c -+++ b/src/settings.c -@@ -46,6 +46,7 @@ pwquality_free_settings(pwquality_settings_t *pwq) - { - if (pwq) { - free(pwq->dict_path); -+ free(pwq->bad_words); - free(pwq); - } - } --- -2.9.3 - diff --git a/buildroot/package/libpwquality/libpwquality.hash b/buildroot/package/libpwquality/libpwquality.hash index 0e3f9e30f..97490f818 100644 --- a/buildroot/package/libpwquality/libpwquality.hash +++ b/buildroot/package/libpwquality/libpwquality.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 74d2ea90e103323c1f2d6a6cc9617cdae6877573eddb31aaf31a40f354cc2d2a libpwquality-1.3.0.tar.bz2 +sha256 1de6ff046cf2172d265a2cb6f8da439d894f3e4e8157b056c515515232fade6b libpwquality-1.4.0.tar.bz2 +sha256 aa44d09f651bf99b56253187c7778a240740c767d28453ab7fdc9804c842baee COPYING diff --git a/buildroot/package/libpwquality/libpwquality.mk b/buildroot/package/libpwquality/libpwquality.mk index 697af0b0b..59b0e955f 100644 --- a/buildroot/package/libpwquality/libpwquality.mk +++ b/buildroot/package/libpwquality/libpwquality.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPWQUALITY_VERSION = 1.3.0 +LIBPWQUALITY_VERSION = 1.4.0 LIBPWQUALITY_SOURCE = libpwquality-$(LIBPWQUALITY_VERSION).tar.bz2 LIBPWQUALITY_SITE = https://github.com/libpwquality/libpwquality/releases/download/libpwquality-$(LIBPWQUALITY_VERSION) LIBPWQUALITY_LICENSE = BSD-3-Clause or GPL-2.0+ diff --git a/buildroot/package/libqrencode/libqrencode.hash b/buildroot/package/libqrencode/libqrencode.hash index 8c94ccd35..141841313 100644 --- a/buildroot/package/libqrencode/libqrencode.hash +++ b/buildroot/package/libqrencode/libqrencode.hash @@ -1,2 +1,5 @@ -# From http://fukuchi.org/works/qrencode/qrencode-3.4.2.tar.gz.sha1 -sha1 7daaad61f333ff6cdabfb0d925c3ab668d16dee2 qrencode-3.4.2.tar.gz +# From http://fukuchi.org/works/qrencode/qrencode-4.0.0.tar.gz.sha +sha512 fdbcee3ef90abf780dcbe495cef3e6ac5449a4a0aaa87d1a1a4f71d97fe6d96974d8132f7e227133cddb5ab73600e968821634752fc0d75113ca0959aae9a5d0 qrencode-4.0.0.tar.gz + +# Hash for license file: +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/buildroot/package/libqrencode/libqrencode.mk b/buildroot/package/libqrencode/libqrencode.mk index 8f17b895e..62ca2ed11 100644 --- a/buildroot/package/libqrencode/libqrencode.mk +++ b/buildroot/package/libqrencode/libqrencode.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBQRENCODE_VERSION = 3.4.2 +LIBQRENCODE_VERSION = 4.0.0 LIBQRENCODE_SOURCE = qrencode-$(LIBQRENCODE_VERSION).tar.gz LIBQRENCODE_SITE = http://fukuchi.org/works/qrencode LIBQRENCODE_DEPENDENCIES = host-pkgconf @@ -18,9 +18,15 @@ else LIBQRENCODE_CONF_OPTS += --disable-thread-safety endif +ifeq ($(BR2_PACKAGE_LIBPNG),y) +LIBQRENCODE_CONF_OPTS += --with-png +LIBQRENCODE_DEPENDENCIES += libpng +else +LIBQRENCODE_CONF_OPTS += --without-png +endif + ifeq ($(BR2_PACKAGE_LIBQRENCODE_TOOLS),y) LIBQRENCODE_CONF_OPTS += --with-tools=yes -LIBQRENCODE_DEPENDENCIES += libpng else LIBQRENCODE_CONF_OPTS += --with-tools=no endif diff --git a/buildroot/package/libraw/0001-Remove-paths-which-break-cross-compilation.patch b/buildroot/package/libraw/0001-Remove-paths-which-break-cross-compilation.patch deleted file mode 100644 index 0f0eee1a6..000000000 --- a/buildroot/package/libraw/0001-Remove-paths-which-break-cross-compilation.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1f9c2ebc9c65e8ce7fdbece55d578cf00c6c4b46 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 30 Jan 2016 17:06:04 +0100 -Subject: [PATCH 1/1] Remove paths which break cross-compilation - -Patch sent upstream: https://github.com/LibRaw/LibRaw/pull/57 - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9bb07b2..78064d9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -16,9 +16,6 @@ AC_SUBST(LIBTOOL_DEPS) - - # Config files to generate - --CPPFLAGS="$CPPFLAGS -I/usr/local/include" --LDFLAGS="$LDFLAGS -L/usr/local/lib" -- - AC_CONFIG_FILES([ - Makefile - libraw.pc --- -2.7.0.rc3 - diff --git a/buildroot/package/libraw/0002-libraw_x3f.cpp-remove-Byte-order-mark.patch b/buildroot/package/libraw/0002-libraw_x3f.cpp-remove-Byte-order-mark.patch deleted file mode 100644 index 24f0eb189..000000000 --- a/buildroot/package/libraw/0002-libraw_x3f.cpp-remove-Byte-order-mark.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0f2507bfe30f2df10dfc38b94cdfde5594902b8e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 12 Feb 2016 10:00:12 +0100 -Subject: [PATCH] libraw_x3f.cpp: remove Byte order mark - -The U+FEFF character, which is a Byte order mark, at the beginning of -libraw_x3f.cpp, prevents gcc 4.3.x from building this file: - -src/../internal/libraw_x3f.cpp:1: error: stray '\357' in program -src/../internal/libraw_x3f.cpp:1: error: stray '\273' in program -src/../internal/libraw_x3f.cpp:1: error: stray '\277' in program - -Support in gcc for the Byte order mark has been added in gcc -4.4.x. Since anyway this Byte order mark is not useful, we simply -remove it. - -See https://en.wikipedia.org/wiki/Byte_order_mark for more details. - -Signed-off-by: Thomas Petazzoni ---- -Submitted upstream at: -https://github.com/LibRaw/LibRaw/pull/61 - - internal/libraw_x3f.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/internal/libraw_x3f.cpp b/internal/libraw_x3f.cpp -index dbf28c1..67047ab 100644 ---- a/internal/libraw_x3f.cpp -+++ b/internal/libraw_x3f.cpp -@@ -1,4 +1,4 @@ --/* Library for accessing X3F Files -+/* Library for accessing X3F Files - ---------------------------------------------------------------- - BSD-style License - ---------------------------------------------------------------- --- -2.6.4 - diff --git a/buildroot/package/libraw/0003-internal-dcraw_common-rename-internal-powf64.patch b/buildroot/package/libraw/0003-internal-dcraw_common-rename-internal-powf64.patch deleted file mode 100644 index ef3b81aa2..000000000 --- a/buildroot/package/libraw/0003-internal-dcraw_common-rename-internal-powf64.patch +++ /dev/null @@ -1,348 +0,0 @@ -From 045c57d9d030075575409cf50cd7f6ee635df5c0 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Mon, 5 Feb 2018 16:22:39 +0100 -Subject: [PATCH] internal/dcraw_common: rename internal powf64() - -Starting with Glibc 2.27, powf64() is provided by the C library -and colide with the one defined dy libraw. - -Rename internal powf64 to libraw_powf64. - -Signed-off-by: Romain Naour ---- - internal/dcraw_common.cpp | 98 +++++++++++++++++++++++------------------------ - 1 file changed, 49 insertions(+), 49 deletions(-) - -diff --git a/internal/dcraw_common.cpp b/internal/dcraw_common.cpp -index 0c7c07a..cf26865 100644 ---- a/internal/dcraw_common.cpp -+++ b/internal/dcraw_common.cpp -@@ -5537,7 +5537,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 libraw_powf64(float a, float b) - { - return powf_lim(a,b,64.f); - } -@@ -5561,7 +5561,7 @@ static float my_roundf(float x) { - static float _CanonConvertAperture(ushort in) - { - if ((in == (ushort)0xffe0) || (in == (ushort)0x7fff)) return 0.0f; -- return powf64(2.0, in/64.0); -+ return libraw_powf64(2.0, in/64.0); - } - - void CLASS setCanonBodyFeatures (unsigned id) -@@ -5902,21 +5902,21 @@ void CLASS processNikonLensData (uchar *LensData, unsigned len) - if (fabsf(imgdata.lens.makernotes.MinFocal) < 1.1f) - { - if ((imgdata.lens.nikon.NikonLensType ^ (uchar)0x01) || LensData[i + 2]) -- imgdata.lens.makernotes.MinFocal = 5.0f * powf64(2.0f, (float)LensData[i + 2] / 24.0f); -+ imgdata.lens.makernotes.MinFocal = 5.0f * libraw_powf64(2.0f, (float)LensData[i + 2] / 24.0f); - if ((imgdata.lens.nikon.NikonLensType ^ (uchar)0x01) || LensData[i + 3]) -- imgdata.lens.makernotes.MaxFocal = 5.0f * powf64(2.0f, (float)LensData[i + 3] / 24.0f); -+ imgdata.lens.makernotes.MaxFocal = 5.0f * libraw_powf64(2.0f, (float)LensData[i + 3] / 24.0f); - if ((imgdata.lens.nikon.NikonLensType ^ (uchar)0x01) || LensData[i + 4]) -- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(2.0f, (float)LensData[i + 4] / 24.0f); -+ imgdata.lens.makernotes.MaxAp4MinFocal = libraw_powf64(2.0f, (float)LensData[i + 4] / 24.0f); - if ((imgdata.lens.nikon.NikonLensType ^ (uchar)0x01) || LensData[i + 5]) -- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(2.0f, (float)LensData[i + 5] / 24.0f); -+ imgdata.lens.makernotes.MaxAp4MaxFocal = libraw_powf64(2.0f, (float)LensData[i + 5] / 24.0f); - } - imgdata.lens.nikon.NikonMCUVersion = LensData[i + 6]; - if (i != 2) - { - if ((LensData[i - 1]) && - (fabsf(imgdata.lens.makernotes.CurFocal) < 1.1f)) -- imgdata.lens.makernotes.CurFocal = 5.0f * powf64(2.0f, (float)LensData[i - 1] / 24.0f); -- if (LensData[i + 7]) imgdata.lens.nikon.NikonEffectiveMaxAp = powf64(2.0f, (float)LensData[i + 7] / 24.0f); -+ imgdata.lens.makernotes.CurFocal = 5.0f * libraw_powf64(2.0f, (float)LensData[i - 1] / 24.0f); -+ if (LensData[i + 7]) imgdata.lens.nikon.NikonEffectiveMaxAp = libraw_powf64(2.0f, (float)LensData[i + 7] / 24.0f); - } - imgdata.lens.makernotes.LensID = - (unsigned long long) LensData[i] << 56 | -@@ -6088,13 +6088,13 @@ void CLASS PentaxLensInfo (unsigned id, unsigned len) // tag 0x0207 - 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) * libraw_powf64(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); -+ libraw_powf64(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); -+ libraw_powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); - - if (iLensData != 12) - { -@@ -6111,14 +6111,14 @@ void CLASS PentaxLensInfo (unsigned id, unsigned len) // tag 0x0207 - 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); -+ libraw_powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); - } - else if ((id != 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); -+ libraw_powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); - } - } - free(table_buf); -@@ -6525,11 +6525,11 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id) - { - if (buf[0]) - imgdata.lens.makernotes.MaxAp4CurFocal = -- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; -+ my_roundf(libraw_powf64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; - - if (buf[1]) - imgdata.lens.makernotes.MinAp4CurFocal = -- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; -+ my_roundf(libraw_powf64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; - } - - if (imgdata.lens.makernotes.CameraMount != LIBRAW_MOUNT_FixedLens) -@@ -6539,7 +6539,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); -+ libraw_powf64(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 = -@@ -6924,7 +6924,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 * libraw_powf64(2.0, (double)(cc) / 12.0 - 5.0)); - break; - } - } -@@ -6957,7 +6957,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 = libraw_powf64(2.0f, getreal(type)/2); - break; - case 0x20100201: - imgdata.lens.makernotes.LensID = -@@ -6977,10 +6977,10 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) - fread(imgdata.lens.makernotes.Lens, MIN(len,127), 1, ifp); - break; - case 0x20100205: -- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MinFocal = libraw_powf64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100206: -- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MaxFocal = libraw_powf64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100207: - imgdata.lens.makernotes.MinFocal = (float)get2(); -@@ -6991,7 +6991,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 = libraw_powf64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100301: - imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8; -@@ -7195,7 +7195,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); -+ libraw_powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); - } - break; - case 1536: -@@ -7669,7 +7669,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 = libraw_powf64(2.0f, getreal(type)/2); - break; - case 0x20100201: - { -@@ -7694,10 +7694,10 @@ void CLASS parse_makernote (int base, int uptag) - fread(imgdata.lens.makernotes.Lens, MIN(len,127), 1, ifp); - break; - case 0x20100205: -- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MinFocal = libraw_powf64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100206: -- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f); -+ imgdata.lens.makernotes.MaxAp4MaxFocal = libraw_powf64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100207: - imgdata.lens.makernotes.MinFocal = (float)get2(); -@@ -7708,7 +7708,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 = libraw_powf64(sqrt(2.0f), get2() / 256.0f); - break; - case 0x20100301: - imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8; -@@ -7977,7 +7977,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); -+ libraw_powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); - } - break; - case 1536: -@@ -8064,19 +8064,19 @@ 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 * libraw_powf64(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 * libraw_powf64(2.0, i/32.0 - 4); - #ifdef LIBRAW_LIBRARY_BUILD - get4(); - #else - if ((i=(get2(),get2())) != 0x7fff && !aperture) -- aperture = powf64(2.0, i/64.0); -+ aperture = libraw_powf64(2.0, i/64.0); - #endif - if ((i=get2()) != 0xffff && !shutter) -- shutter = powf64(2.0, (short) i/-32.0); -+ shutter = libraw_powf64(2.0, (short) i/-32.0); - wbi = (get2(),get2()); - shot_order = (get2(),get2()); - } -@@ -8579,7 +8579,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 = libraw_powf64(2.0f, (getreal(type) / 2.0f)); - break; - #endif - case 33434: shutter = getreal(type); break; -@@ -8592,10 +8592,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 = libraw_powf64(2.0, expo); break; - case 37378: // 0x9202 ApertureValue - if ((fabs(ape = getreal(type))<256.0) && (!aperture)) -- aperture = powf64(2.0, ape/2); -+ aperture = libraw_powf64(2.0, ape/2); - break; - case 37385: flash_used = getreal(type); break; - case 37386: focal_len = getreal(type); break; -@@ -9196,7 +9196,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 = libraw_powf64(2.0f, (getreal(type) / 2.0f)); - break; - // IB end - #endif -@@ -9970,22 +9970,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 = libraw_powf64(2.0f, -int_to_float((get4(),get4()))); -+ aperture = libraw_powf64(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 = libraw_powf64(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 = libraw_powf64(2.0, (get2(),(short)get2())/64.0); - #endif -- shutter = powf64(2.0,-((short)get2())/32.0); -+ shutter = libraw_powf64(2.0,-((short)get2())/32.0); - wbi = (get2(),get2()); - if (wbi > 17) wbi = 0; - fseek (ifp, 32, SEEK_CUR); -@@ -10189,8 +10189,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 = libraw_powf64(2.0f, (int_to_float(data)/2.0f)); -+ else imgdata.lens.makernotes.CurAp = libraw_powf64(2.0f, (getreal(type)/2.0f)); - break; - case 0x0403: - if (type == 4) imgdata.lens.makernotes.CurFocal = int_to_float(data); -@@ -10204,16 +10204,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 = libraw_powf64(2.0f, (int_to_float(data)/2.0f)); - } else { -- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f)); -+ imgdata.lens.makernotes.MaxAp4CurFocal = libraw_powf64(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 = libraw_powf64(2.0f, (int_to_float(data)/2.0f)); - } else { -- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f)); -+ imgdata.lens.makernotes.MinAp4CurFocal = libraw_powf64(2.0f, (getreal(type) / 2.0f)); - } - break; - case 0x0416: -@@ -12119,15 +12119,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 = libraw_powf64(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 = libraw_powf64(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 = libraw_powf64(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.3 - diff --git a/buildroot/package/libraw/libraw.hash b/buildroot/package/libraw/libraw.hash index 29794252f..c546b1bee 100644 --- a/buildroot/package/libraw/libraw.hash +++ b/buildroot/package/libraw/libraw.hash @@ -1,3 +1,5 @@ # Locally calculated -sha256 e599651a4cc37e00cfc2d2b56be87c3a4e4dae2c360b680fe9ab3f93d07cdea1 LibRaw-0.17.1.tar.gz -sha256 3c09bc4d70268e78798696c5ea3a8cc65fe4e161811d5321fc3ef2ca012d8fd1 0001-Fix_gcc6_narrowing_conversion.patch?id=d890937aaca6359df45a66b35e547c94ca564823 +sha256 7cf724a40a0d8915869498f51062a952167e4f5bae2b6920542c9e0e079a471d LibRaw-0.18.11.tar.gz +sha256 eea173a556abac0370461e57e12aab266894ea6be3874c2be05fd87871f75449 LICENSE.LGPL +sha256 0e3098d2d54a12434715f6679ea408d57da5e8d613c385c58ecc6fe5d30cc81f LICENSE.CDDL +sha256 7fe7564c5d48c5d353d7c1966dcddada3791586a4c2eedbc68ad56e96955e75d README diff --git a/buildroot/package/libraw/libraw.mk b/buildroot/package/libraw/libraw.mk index 589ff891b..4ff746264 100644 --- a/buildroot/package/libraw/libraw.mk +++ b/buildroot/package/libraw/libraw.mk @@ -4,22 +4,17 @@ # ################################################################################ -LIBRAW_VERSION = 0.17.1 +LIBRAW_VERSION = 0.18.11 LIBRAW_SOURCE = LibRaw-$(LIBRAW_VERSION).tar.gz LIBRAW_SITE = http://www.libraw.org/data -LIBRAW_PATCH = \ - https://anonscm.debian.org/cgit/pkg-phototools/libraw.git/plain/debian/patches/0001-Fix_gcc6_narrowing_conversion.patch?id=d890937aaca6359df45a66b35e547c94ca564823 - LIBRAW_INSTALL_STAGING = YES -# we patch configure.ac -LIBRAW_AUTORECONF = YES LIBRAW_CONF_OPTS += \ --disable-examples \ --disable-openmp \ --disable-demosaic-pack-gpl2 \ --disable-demosaic-pack-gpl3 -LIBRAW_LICENSE = LGPL-2.1 or CDDL-1.0 or LibRaw Software License 27032010 -LIBRAW_LICENSE_FILES = LICENSE.LGPL LICENSE.CDDL LICENSE.LibRaw.pdf README +LIBRAW_LICENSE = LGPL-2.1 or CDDL-1.0 +LIBRAW_LICENSE_FILES = LICENSE.LGPL LICENSE.CDDL README LIBRAW_DEPENDENCIES = host-pkgconf LIBRAW_CXXFLAGS = $(TARGET_CXXFLAGS) LIBRAW_CONF_ENV = CXXFLAGS="$(LIBRAW_CXXFLAGS)" diff --git a/buildroot/package/libraw1394/0001-testlibraw-build-the-CLOCK_MONOTONIC_RAW-test-condit.patch b/buildroot/package/libraw1394/0001-testlibraw-build-the-CLOCK_MONOTONIC_RAW-test-condit.patch deleted file mode 100644 index b87ef715d..000000000 --- a/buildroot/package/libraw1394/0001-testlibraw-build-the-CLOCK_MONOTONIC_RAW-test-condit.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 94c66ade15d7fc468b52c72dfe76a8c10b1910a7 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 12 Feb 2016 10:13:45 +0100 -Subject: [PATCH] testlibraw: build the CLOCK_MONOTONIC_RAW test conditionally - -CLOCK_MONOTONIC_RAW is a somewhat recent addition, and some older -toolchains/kernels may not have the support for it. Therefore, we -build the part of the test that uses CLOCK_MONOTONIC_RAW only when -this definition is available. - -Signed-off-by: Thomas Petazzoni ---- - tools/testlibraw.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/tools/testlibraw.c b/tools/testlibraw.c -index d8a0702..ae37157 100644 ---- a/tools/testlibraw.c -+++ b/tools/testlibraw.c -@@ -211,6 +211,7 @@ read_cycle_timer(raw1394handle_t handle) - printf(" local time from CLOCK_MONOTONIC: %lld us\n", - (unsigned long long)local_time); - -+#if defined(CLOCK_MONOTONIC_RAW) - retval = raw1394_read_cycle_timer_and_clock(handle, &ct, &local_time, - CLOCK_MONOTONIC_RAW); - if (retval < 0) { -@@ -221,6 +222,7 @@ read_cycle_timer(raw1394handle_t handle) - ct >> 25, (ct >> 12) & 0x1fff, ct & 0xfff); - printf(" local time from CLOCK_MONOTONIC_RAW: %lld us\n", - (unsigned long long)local_time); -+#endif - } - - int test_card(int card) --- -2.6.4 - diff --git a/buildroot/package/libraw1394/libraw1394.hash b/buildroot/package/libraw1394/libraw1394.hash index b785995db..9a44ab7d4 100644 --- a/buildroot/package/libraw1394/libraw1394.hash +++ b/buildroot/package/libraw1394/libraw1394.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/libs/ieee1394/sha256sums.asc -sha256 1bab9780189f9d1eb4e973df12679c04f979c21e024240fc98e536ff5b680ee9 libraw1394-2.1.1.tar.xz +sha256 03ccc69761d22c7deb1127fc301010dd13e70e44bb7134b8ff0d07590259a55e libraw1394-2.1.2.tar.xz # Locally computed -sha256 39369c65fbed7fccc2e6d8e645f258f101c414107d67238f10996e6c2009f20d fix-types.patch +sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING.LIB diff --git a/buildroot/package/libraw1394/libraw1394.mk b/buildroot/package/libraw1394/libraw1394.mk index 73517ed2f..7aa4a3ae0 100644 --- a/buildroot/package/libraw1394/libraw1394.mk +++ b/buildroot/package/libraw1394/libraw1394.mk @@ -4,10 +4,9 @@ # ################################################################################ -LIBRAW1394_VERSION = 2.1.1 +LIBRAW1394_VERSION = 2.1.2 LIBRAW1394_SOURCE = libraw1394-$(LIBRAW1394_VERSION).tar.xz LIBRAW1394_SITE = $(BR2_KERNEL_MIRROR)/linux/libs/ieee1394 -LIBRAW1394_PATCH = http://git.alpinelinux.org/cgit/aports/plain/main/libraw1394/fix-types.patch LIBRAW1394_INSTALL_STAGING = YES LIBRAW1394_LICENSE = LGPL-2.1+ LIBRAW1394_LICENSE_FILES = COPYING.LIB diff --git a/buildroot/package/libroxml/libroxml.hash b/buildroot/package/libroxml/libroxml.hash index 32482e65d..897030ed7 100644 --- a/buildroot/package/libroxml/libroxml.hash +++ b/buildroot/package/libroxml/libroxml.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 1da8f20b530eba4409f2b217587d2f1281ff5d9ba45b24aeac71b94c6c621b78 libroxml-2.3.0.tar.gz +sha256 b55fd616a2be4e9747173b8dfa4bbab64f5ddfafd7d7a529aa91ab7755bc0ce6 libroxml-3.0.1.tar.gz +sha256 fe11466c265ad0a6c3896ea113af9403c0a8372b1fdd78712db64f0f1bac6387 License.txt diff --git a/buildroot/package/libroxml/libroxml.mk b/buildroot/package/libroxml/libroxml.mk index 5582b387d..fef3c2795 100644 --- a/buildroot/package/libroxml/libroxml.mk +++ b/buildroot/package/libroxml/libroxml.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBROXML_VERSION = 2.3.0 -LIBROXML_SITE = http://download.libroxml.net/pool/v2.x +LIBROXML_VERSION = 3.0.1 +LIBROXML_SITE = http://download.libroxml.net/pool/v3.x LIBROXML_INSTALL_STAGING = YES LIBROXML_LICENSE = LGPL-2.1+ with static link exception LIBROXML_LICENSE_FILES = License.txt diff --git a/buildroot/package/librsync/0001-CMakeLists.txt-Don-t-require-a-C-compiler.patch b/buildroot/package/librsync/0001-CMakeLists.txt-Don-t-require-a-C-compiler.patch deleted file mode 100644 index af5d28c5d..000000000 --- a/buildroot/package/librsync/0001-CMakeLists.txt-Don-t-require-a-C-compiler.patch +++ /dev/null @@ -1,33 +0,0 @@ -From c1af3e1b926fa04dbddc2d30586ff26026083134 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 26 Sep 2017 19:06:43 +0200 -Subject: [PATCH] CMakeLists.txt: 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. - -Patch sent upstream: https://github.com/librsync/librsync/pull/116 - -Signed-off-by: Bernd Kuhls ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 85536e3..7fe1eda 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -16,7 +16,7 @@ - # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - --project(librsync) -+project(librsync C) - cmake_minimum_required(VERSION 2.6) - - INCLUDE(CMakeDependentOption) --- -2.11.0 - diff --git a/buildroot/package/librsync/librsync.hash b/buildroot/package/librsync/librsync.hash index 2d5e2e002..63e14b105 100644 --- a/buildroot/package/librsync/librsync.hash +++ b/buildroot/package/librsync/librsync.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 b5c4dd114289832039397789e42d4ff0d1108ada89ce74f1999398593fae2169 librsync-v2.0.0.tar.gz +sha256 e67b9520ee84f7239be6e948795803bd95495091cc00bf6d0e8c6976032a4af1 librsync-v2.0.2.tar.gz +sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING diff --git a/buildroot/package/librsync/librsync.mk b/buildroot/package/librsync/librsync.mk index 07b684a26..3b38e0a27 100644 --- a/buildroot/package/librsync/librsync.mk +++ b/buildroot/package/librsync/librsync.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRSYNC_VERSION = v2.0.0 +LIBRSYNC_VERSION = v2.0.2 LIBRSYNC_SITE = $(call github,librsync,librsync,$(LIBRSYNC_VERSION)) LIBRSYNC_LICENSE = LGPL-2.1+ LIBRSYNC_LICENSE_FILES = COPYING diff --git a/buildroot/package/librtas/0001-librtas-install-librtas.so.1-symlink.patch b/buildroot/package/librtas/0001-librtas-install-librtas.so.1-symlink.patch deleted file mode 100644 index 2150c3f50..000000000 --- a/buildroot/package/librtas/0001-librtas-install-librtas.so.1-symlink.patch +++ /dev/null @@ -1,31 +0,0 @@ -Add a line to the librtas Makefile to create librtas.so.1 when -performing "make install". - -Without this patch programs linked with librtas will fail at run time: - -error while loading shared libraries: librtas.so.1: cannot open shared -object file: No such file or directory - -A patch has been submitted upstream so it is likely that this patch -can be dropped after the next release of librtas. - -Signed-off-by: Sam Bobroff ---- - librtas_src/Makefile | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/librtas_src/Makefile b/librtas_src/Makefile -index 3a10222..deba29d 100644 ---- a/librtas_src/Makefile -+++ b/librtas_src/Makefile -@@ -33,6 +33,7 @@ install: - @$(call install_lib,$(LIBRTAS),$(DESTDIR)) - @$(call install_inc,$(HEADERS),$(DESTDIR)) - @ln -sf $(LIBRTAS) $(DESTDIR)/$(LIB_DIR)$(call is_lib64,$(LIBRTAS))/$(LIBRTAS_SONAME) -+ @ln -sf $(LIBRTAS) $(DESTDIR)/$(LIB_DIR)$(call is_lib64,$(LIBRTAS))/$(LIBRTAS_SONAME).1 - - uninstall: - @$(call uninstall_lib,$(LIBRTAS),$(DESTDIR)) --- -1.7.10.4 - diff --git a/buildroot/package/librtas/librtas.hash b/buildroot/package/librtas/librtas.hash index c81b58314..0f3d90222 100644 --- a/buildroot/package/librtas/librtas.hash +++ b/buildroot/package/librtas/librtas.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 d5f2951b0934ffbd82bebf26acfa103cc21d89f4c90c7c41472acf7b4ec6d907 librtas-1.3.13.tar.gz +sha256 a79fd9cdb2f03e7401027fb80a07f14e29b86cc2d363126d527b211fea85d025 librtas-v2.0.1.tar.gz +sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING.LESSER diff --git a/buildroot/package/librtas/librtas.mk b/buildroot/package/librtas/librtas.mk index 46c4cb4bb..f89394a6a 100644 --- a/buildroot/package/librtas/librtas.mk +++ b/buildroot/package/librtas/librtas.mk @@ -4,22 +4,12 @@ # ################################################################################ -LIBRTAS_VERSION = 1.3.13 -LIBRTAS_SITE = http://downloads.sourceforge.net/project/librtas -LIBRTAS_LICENSE = Common Public License Version 1.0 -LIBRTAS_LICENSE_FILES = COPYRIGHT +LIBRTAS_VERSION = v2.0.1 +LIBRTAS_SITE = $(call github,ibm-power-utilities,librtas,$(LIBRTAS_VERSION)) +LIBRTAS_LICENSE = LGPL-2.1+ +LIBRTAS_LICENSE_FILES = COPYING.LESSER LIBRTAS_INSTALL_STAGING = YES +# From git +LIBRTAS_AUTORECONF = YES -define LIBRTAS_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -endef - -define LIBRTAS_INSTALL_STAGING_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install -endef - -define LIBRTAS_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install -endef - -$(eval $(generic-package)) +$(eval $(autotools-package)) diff --git a/buildroot/package/librtlsdr/0001-disable_shared_library_target_in_build.patch b/buildroot/package/librtlsdr/0001-disable_shared_library_target_in_build.patch index b763c48b2..b9f53d239 100644 --- a/buildroot/package/librtlsdr/0001-disable_shared_library_target_in_build.patch +++ b/buildroot/package/librtlsdr/0001-disable_shared_library_target_in_build.patch @@ -1,42 +1,64 @@ -librtlsdr: disable shared library target in build +From d47e3aed12414be59bf77177c93853ec4b24d705 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 2 Jun 2018 16:53:36 +0200 +Subject: [PATCH] disable shared library target in build Disable shared library target if BUILD_SHARED_LIBS if OFF. +Patch retrieved from +https://git.buildroot.net/buildroot/tree/package/librtlsdr/0001-disable_shared_library_target_in_build.patch?h=2018.05 + +Patch has been updated to work with 0.5.4 and to be able to keep current +behavior of building shared and static version of library if +BUILD_SHARED_LIBS and BUILD_STATIC_LIBS are both set. +Moreover, if BUILD_STATIC_LIBS is OFF, only shared version of library +will be install. + +[Upstream status: https://github.com/steve-m/librtlsdr/pull/46] + Signed-off-by: Yuvaraj Patil +Signed-off-by: Fabrice Fontaine --- -diff -Nurp librtlsdr-v0.5.3_orig/src/CMakeLists.txt librtlsdr-v0.5.3/src/CMakeLists.txt ---- librtlsdr-v0.5.3_orig/src/CMakeLists.txt 2014-09-24 17:31:40.610337074 +0530 -+++ librtlsdr-v0.5.3/src/CMakeLists.txt 2014-09-24 17:32:38.838334632 +0530 -@@ -20,6 +20,7 @@ + src/CMakeLists.txt | 24 ++++++++++++++++-------- + 1 file changed, 16 insertions(+), 8 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 07d64ab..2b7cbae 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -47,16 +47,22 @@ ENDIF(MSVC) ######################################################################## - # Setup library + # Setup shared library variant ######################################################################## ++option(BUILD_SHARED_LIBS "Build shared library" ON) +if(BUILD_SHARED_LIBS) - add_library(rtlsdr_shared SHARED - librtlsdr.c - tuner_e4k.c -@@ -37,6 +38,7 @@ set_target_properties(rtlsdr_shared PROP + add_library(rtlsdr_shared SHARED ${rtlsdr_srcs}) + target_link_libraries(rtlsdr_shared ${LIBUSB_LIBRARIES}) + set_target_properties(rtlsdr_shared PROPERTIES DEFINE_SYMBOL "rtlsdr_EXPORTS") set_target_properties(rtlsdr_shared PROPERTIES OUTPUT_NAME rtlsdr) set_target_properties(rtlsdr_shared PROPERTIES SOVERSION ${MAJOR_VERSION}) set_target_properties(rtlsdr_shared PROPERTIES VERSION ${LIBVER}) ++list(APPEND rtlsdr_lib rtlsdr_shared) +endif() - add_library(rtlsdr_static STATIC - librtlsdr.c -@@ -71,6 +73,12 @@ if(NOT WIN32) + ######################################################################## + # Setup static library variant + ######################################################################## ++option(BUILD_STATIC_LIBS "Build static library" ON) ++if(BUILD_STATIC_LIBS) + add_library(rtlsdr_static STATIC ${rtlsdr_srcs}) + target_link_libraries(rtlsdr_static ${LIBUSB_LIBRARIES}) + set_property(TARGET rtlsdr_static APPEND PROPERTY COMPILE_DEFINITIONS "rtlsdr_STATIC" ) +@@ -64,6 +70,8 @@ if(NOT WIN32) + # Force same library filename for static and shared variants of the library set_target_properties(rtlsdr_static PROPERTIES OUTPUT_NAME rtlsdr) endif() - -+if(BUILD_SHARED_LIBS) -+set(rtlsdr_lib rtlsdr_shared) -+else() -+set(rtlsdr_lib rtlsdr_static) ++list(APPEND rtlsdr_lib rtlsdr_static) +endif() -+ + ######################################################################## - # Build utility - ######################################################################## -@@ -81,33 +89,33 @@ add_executable(rtl_fm rtl_fm.c) + # Setup libraries used in executables +@@ -91,33 +99,33 @@ add_executable(rtl_fm rtl_fm.c) add_executable(rtl_eeprom rtl_eeprom.c) add_executable(rtl_adsb rtl_adsb.c) add_executable(rtl_power rtl_power.c) @@ -78,3 +100,6 @@ diff -Nurp librtlsdr-v0.5.3_orig/src/CMakeLists.txt librtlsdr-v0.5.3/src/CMakeLi ${LIBUSB_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ) +-- +2.14.1 + diff --git a/buildroot/package/librtlsdr/0002-fix-builds-with-newer-compilers-C-standards.patch b/buildroot/package/librtlsdr/0002-fix-builds-with-newer-compilers-C-standards.patch deleted file mode 100644 index b663d08b9..000000000 --- a/buildroot/package/librtlsdr/0002-fix-builds-with-newer-compilers-C-standards.patch +++ /dev/null @@ -1,68 +0,0 @@ -From ea6a86d8e792430faa3a8161ee99f2bc392875d1 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Fri, 3 Feb 2017 15:44:18 -1000 -Subject: [PATCH] fix builds with newer compilers & C standards - -The meaning of "inline" has changed when "static" is not used. -Since none of these functions are used outside of their respective -files, mark them as static to avoid build errors where funcs are -not inlined (based on compiler flags too). - -Upstream status: pull request #38 - -Signed-off-by: Gwenhael Goavec-Merou ---- - src/rtl_adsb.c | 8 ++++---- - src/rtl_power.c | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/rtl_adsb.c b/src/rtl_adsb.c -index e611e78..a3bfa7f 100644 ---- a/src/rtl_adsb.c -+++ b/src/rtl_adsb.c -@@ -182,7 +182,7 @@ int magnitute(uint8_t *buf, int len) - return len/2; - } - --inline uint16_t single_manchester(uint16_t a, uint16_t b, uint16_t c, uint16_t d) -+static inline uint16_t single_manchester(uint16_t a, uint16_t b, uint16_t c, uint16_t d) - /* takes 4 consecutive real samples, return 0 or 1, BADSAMPLE on error */ - { - int bit, bit_p; -@@ -223,17 +223,17 @@ inline uint16_t single_manchester(uint16_t a, uint16_t b, uint16_t c, uint16_t d - return BADSAMPLE; - } - --inline uint16_t min16(uint16_t a, uint16_t b) -+static inline uint16_t min16(uint16_t a, uint16_t b) - { - return ab ? a : b; - } - --inline int preamble(uint16_t *buf, int i) -+static inline int preamble(uint16_t *buf, int i) - /* returns 0/1 for preamble at index i */ - { - int i2; -diff --git a/src/rtl_power.c b/src/rtl_power.c -index aa7a138..a7a43bb 100644 ---- a/src/rtl_power.c -+++ b/src/rtl_power.c -@@ -249,7 +249,7 @@ void sine_table(int size) - } - } - --inline int16_t FIX_MPY(int16_t a, int16_t b) -+static inline int16_t FIX_MPY(int16_t a, int16_t b) - /* fixed point multiply and scale */ - { - int c = ((int)a * (int)b) >> 14; --- -2.13.0 - diff --git a/buildroot/package/librtlsdr/librtlsdr.hash b/buildroot/package/librtlsdr/librtlsdr.hash index 24bca467b..e7b0e84f4 100644 --- a/buildroot/package/librtlsdr/librtlsdr.hash +++ b/buildroot/package/librtlsdr/librtlsdr.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 98fb5c34ac94d6f2235a0bb41a08f8bed7949e1d1b91ea57a7c1110191ea58de librtlsdr-v0.5.3.tar.gz +sha256 80a5155f3505bca8f1b808f8414d7dcd7c459b662a1cde84d3a2629a6e72ae55 librtlsdr-0.6.0.tar.gz +# License file, locally calculated +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/buildroot/package/librtlsdr/librtlsdr.mk b/buildroot/package/librtlsdr/librtlsdr.mk index ca0a43829..500ccc5d1 100644 --- a/buildroot/package/librtlsdr/librtlsdr.mk +++ b/buildroot/package/librtlsdr/librtlsdr.mk @@ -4,13 +4,22 @@ # ################################################################################ -LIBRTLSDR_VERSION = v0.5.3 +LIBRTLSDR_VERSION = 0.6.0 LIBRTLSDR_SITE = $(call github,steve-m,librtlsdr,$(LIBRTLSDR_VERSION)) LIBRTLSDR_LICENSE = GPL-2.0+ LIBRTLSDR_LICENSE_FILES = COPYING LIBRTLSDR_INSTALL_STAGING = YES LIBRTLSDR_DEPENDENCIES = libusb +# BUILD_SHARED_LIBS is handled in pkg-cmake.mk as it is a generic cmake variable +ifeq ($(BR2_STATIC_LIBS),y) +LIBRTLSDR_CONF_OPTS += -DBUILD_STATIC_LIBS=ON +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +LIBRTLSDR_CONF_OPTS += -DBUILD_STATIC_LIBS=ON +else ifeq ($(BR2_SHARED_LIBS),y) +LIBRTLSDR_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF +endif + ifeq ($(BR2_PACKAGE_HAS_UDEV),y) LIBRTLSDR_CONF_OPTS += -DINSTALL_UDEV_RULES=ON endif diff --git a/buildroot/package/libseccomp/0001-remove-static.patch b/buildroot/package/libseccomp/0001-remove-static.patch index 6fd81f96d..9f0ac210c 100644 --- a/buildroot/package/libseccomp/0001-remove-static.patch +++ b/buildroot/package/libseccomp/0001-remove-static.patch @@ -1,24 +1,28 @@ -Do not force static link, it breaks build with -# BR2_STATIC_LIBS is not set +From 8632287cf6863b580340f846ac14adf2609abdb0 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 2 Jun 2018 13:45:22 +0200 +Subject: [PATCH] remove static + +Do not force static link of tools, it breaks build with: BR2_SHARED_LIBS=y -Signed-off-by: Bernd Kuhls +Patch retrieved from +https://git.buildroot.net/buildroot/tree/package/libseccomp/0001-remove-static.patch +and slighly updated to work with 2.3.3 -diff -uNr libseccomp-2.2.0.org/tests/Makefile.am libseccomp-2.2.0/tests/Makefile.am ---- libseccomp-2.2.0.org/tests/Makefile.am 2015-02-11 21:57:11.000000000 +0100 -+++ libseccomp-2.2.0/tests/Makefile.am 2015-03-29 16:03:49.668946652 +0200 -@@ -16,7 +16,6 @@ - # along with this library; if not, see . - # - --AM_LDFLAGS = -static - LDADD = util.la ../src/libseccomp.la - - check_LTLIBRARIES = util.la -diff -uNr libseccomp-2.2.0.org/tools/Makefile.am libseccomp-2.2.0/tools/Makefile.am ---- libseccomp-2.2.0.org/tools/Makefile.am 2015-02-11 21:57:11.000000000 +0100 -+++ libseccomp-2.2.0/tools/Makefile.am 2015-03-29 16:03:46.164992302 +0200 -@@ -33,8 +33,6 @@ +[Upstream status: https://github.com/seccomp/libseccomp/pull/121] + +Signed-off-by: Bernd Kuhls +Signed-off-by: Fabrice Fontaine +--- + tools/Makefile.am | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/tools/Makefile.am b/tools/Makefile.am +index 70b4aed..ef74270 100644 +--- a/tools/Makefile.am ++++ b/tools/Makefile.am +@@ -35,8 +35,6 @@ scmp_bpf_disasm_SOURCES = scmp_bpf_disasm.c bpf.h util.h scmp_bpf_sim_SOURCES = scmp_bpf_sim.c bpf.h util.h scmp_sys_resolver_LDADD = ../src/libseccomp.la @@ -27,3 +31,6 @@ diff -uNr libseccomp-2.2.0.org/tools/Makefile.am libseccomp-2.2.0/tools/Makefile -scmp_arch_detect_LDFLAGS = -static scmp_bpf_disasm_LDADD = util.la scmp_bpf_sim_LDADD = util.la +-- +2.14.1 + diff --git a/buildroot/package/libseccomp/libseccomp.hash b/buildroot/package/libseccomp/libseccomp.hash index ef390ff56..0362ce9ba 100644 --- a/buildroot/package/libseccomp/libseccomp.hash +++ b/buildroot/package/libseccomp/libseccomp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 09864282ae579c34bd5ef75ef3487200adfecaa51f5cffc7c7ad1ed2f89f5d6c libseccomp-v2.3.1.tar.gz +sha256 5a52495207f00d1254707f11226e17c16ec53f5038d65bbabf1892873fa2fe5b libseccomp-v2.3.3.tar.gz +sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b LICENSE diff --git a/buildroot/package/libseccomp/libseccomp.mk b/buildroot/package/libseccomp/libseccomp.mk index 9a241a551..afa2d3612 100644 --- a/buildroot/package/libseccomp/libseccomp.mk +++ b/buildroot/package/libseccomp/libseccomp.mk @@ -4,17 +4,11 @@ # ################################################################################ -LIBSECCOMP_VERSION = v2.3.1 +LIBSECCOMP_VERSION = v2.3.3 LIBSECCOMP_SITE = $(call github,seccomp,libseccomp,$(LIBSECCOMP_VERSION)) LIBSECCOMP_LICENSE = LGPL-2.1 LIBSECCOMP_LICENSE_FILES = LICENSE LIBSECCOMP_INSTALL_STAGING = YES LIBSECCOMP_AUTORECONF = YES -# Needed for autoreconf to work properly, see ./autogen.sh -define LIBSECCOMP_FIXUP_M4_DIR - mkdir $(@D)/m4 -endef -LIBSECCOMP_POST_EXTRACT_HOOKS += LIBSECCOMP_FIXUP_M4_DIR - $(eval $(autotools-package)) diff --git a/buildroot/package/libsecret/libsecret.hash b/buildroot/package/libsecret/libsecret.hash index a637cbecf..808b1741f 100644 --- a/buildroot/package/libsecret/libsecret.hash +++ b/buildroot/package/libsecret/libsecret.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/libsecret/0.18/libsecret-0.18.5.sha256sum -sha256 9ce7bd8dd5831f2786c935d82638ac428fa085057cc6780aba0e39375887ccb3 libsecret-0.18.5.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/libsecret/0.18/libsecret-0.18.6.sha256sum +sha256 5efbc890ba41a323ffe0599cd260fd12bd8eb62a04aa1bd1b2762575d253d66f libsecret-0.18.6.tar.xz + +# Hash for license file: +sha256 a1a33180d02960ab1c5de36cf20b1a2f0fe9888d83826ad263da5db52f1b183b COPYING diff --git a/buildroot/package/libsecret/libsecret.mk b/buildroot/package/libsecret/libsecret.mk index 111b553f2..adc7c508d 100644 --- a/buildroot/package/libsecret/libsecret.mk +++ b/buildroot/package/libsecret/libsecret.mk @@ -5,7 +5,7 @@ ################################################################################ LIBSECRET_VERSION_MAJOR = 0.18 -LIBSECRET_VERSION = $(LIBSECRET_VERSION_MAJOR).5 +LIBSECRET_VERSION = $(LIBSECRET_VERSION_MAJOR).6 LIBSECRET_SITE = http://ftp.gnome.org/pub/GNOME/sources/libsecret/$(LIBSECRET_VERSION_MAJOR) LIBSECRET_SOURCE = libsecret-$(LIBSECRET_VERSION).tar.xz LIBSECRET_INSTALL_STAGING = YES diff --git a/buildroot/package/libselinux/0002-libselinux-build-follow-standard-semantics-for-DESTD.patch b/buildroot/package/libselinux/0002-libselinux-build-follow-standard-semantics-for-DESTD.patch deleted file mode 100644 index 089eef414..000000000 --- a/buildroot/package/libselinux/0002-libselinux-build-follow-standard-semantics-for-DESTD.patch +++ /dev/null @@ -1,137 +0,0 @@ -libselinux: build: follow standard semantics for DESTDIR and PREFIX - -This patch solves the following issues: -- The pkg-config files generates odd paths when using DESTDIR without PREFIX -- DESTDIR is needed during compile time to compute library and header paths which it should not. -- Installing with both DESTDIR and PREFIX set gives us odd paths -- Make usage of DESTDIR and PREFIX more standard - -Signed-off-by: Marcus Folkesson - -diff -durN libselinux.orig/include/Makefile libselinux/include/Makefile ---- libselinux.orig/include/Makefile 2018-01-12 12:42:30.898709792 +0100 -+++ libselinux/include/Makefile 2018-01-12 10:02:57.745478435 +0100 -@@ -1,6 +1,6 @@ - # Installation directories. --PREFIX ?= $(DESTDIR)/usr --INCDIR ?= $(PREFIX)/include/selinux -+PREFIX ?= /usr -+INCDIR = $(DESTDIR)$(PREFIX)/include/selinux - - all: - -diff -durN libselinux.orig/man/Makefile libselinux/man/Makefile ---- libselinux.orig/man/Makefile 2018-01-12 12:42:30.898709792 +0100 -+++ libselinux/man/Makefile 2018-01-12 10:02:57.745478435 +0100 -@@ -1,7 +1,8 @@ - # Installation directories. --MAN8DIR ?= $(DESTDIR)/usr/share/man/man8 --MAN5DIR ?= $(DESTDIR)/usr/share/man/man5 --MAN3DIR ?= $(DESTDIR)/usr/share/man/man3 -+PREFIX ?= /usr -+MAN8DIR ?= $(DESTDIR)$(PREFIX)/share/man/man8 -+MAN5DIR ?= $(DESTDIR)$(PREFIX)/share/man/man5 -+MAN3DIR ?= $(DESTDIR)$(PREFIX)/share/man/man3 - - all: - -diff -durN libselinux.orig/src/libselinux.pc.in libselinux/src/libselinux.pc.in ---- libselinux.orig/src/libselinux.pc.in 2018-01-12 12:42:30.905376458 +0100 -+++ libselinux/src/libselinux.pc.in 2018-01-12 10:02:57.745478435 +0100 -@@ -1,6 +1,6 @@ - prefix=@prefix@ - exec_prefix=${prefix} --libdir=${exec_prefix}/@libdir@ -+libdir=@libdir@ - includedir=@includedir@ - - Name: libselinux -diff -durN libselinux.orig/src/Makefile libselinux/src/Makefile ---- libselinux.orig/src/Makefile 2018-01-12 12:42:30.902043126 +0100 -+++ libselinux/src/Makefile 2018-01-12 10:02:57.745478435 +0100 -@@ -8,10 +8,10 @@ - PKG_CONFIG ?= pkg-config - - # Installation directories. --PREFIX ?= $(DESTDIR)/usr -+PREFIX ?= /usr - LIBDIR ?= $(PREFIX)/lib --SHLIBDIR ?= $(DESTDIR)/lib - INCLUDEDIR ?= $(PREFIX)/include -+LIBINSTALL = $(DESTDIR)$(LIBDIR) - PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX)) - PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX)) - PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])') -@@ -19,8 +19,6 @@ - RUBYINC ?= $(shell $(RUBY) -e 'puts "-I" + RbConfig::CONFIG["rubyarchhdrdir"] + " -I" + RbConfig::CONFIG["rubyhdrdir"]') - RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -L" + RbConfig::CONFIG["archlibdir"] + " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]') - RUBYINSTALL ?= $(DESTDIR)$(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]') --LIBBASE ?= $(shell basename $(LIBDIR)) --LIBSEPOLA ?= $(LIBDIR)/libsepol.a - - VERSION = $(shell cat ../VERSION) - LIBVERSION = 1 -@@ -148,7 +146,7 @@ - ln -sf $@ $(TARGET) - - $(LIBPC): $(LIBPC).in ../VERSION -- sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBBASE):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ -+ sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBDIR):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ - - selinuxswig_python_exception.i: ../include/selinux/selinux.h - bash -e exception.sh > $@ || (rm -f $@ ; false) -@@ -156,8 +154,8 @@ - $(AUDIT2WHYLOBJ): audit2why.c - $(CC) $(filter-out -Werror, $(CFLAGS)) $(PYINC) -fPIC -DSHARED -c -o $@ $< - --$(AUDIT2WHYSO): $(AUDIT2WHYLOBJ) $(LIBSEPOLA) -- $(CC) $(CFLAGS) $(LDFLAGS) -L. -shared -o $@ $^ -lselinux $(PYLIBS) -+$(AUDIT2WHYSO): $(AUDIT2WHYLOBJ) -+ $(CC) $(CFLAGS) $(LDFLAGS) -L. -shared -o $@ $^ -lselinux $(PYLIBS) -l:libsepol.a - - %.o: %.c policy.h - $(CC) $(CFLAGS) $(TLSFLAGS) -c -o $@ $< -@@ -177,13 +175,13 @@ - $(SWIG) $< - - install: all -- test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) -- install -m 644 $(LIBA) $(LIBDIR) -- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) -- install -m 755 $(LIBSO) $(SHLIBDIR) -- test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig -- install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig -- ln -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) -+ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) -+ install -m 644 $(LIBA) $(LIBINSTALL) -+ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) -+ install -m 755 $(LIBSO) $(LIBINSTALL) -+ test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig -+ install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig -+ ln -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET) - - install-pywrap: pywrap - test -d $(PYSITEDIR)/selinux || install -m 755 -d $(PYSITEDIR)/selinux -@@ -196,7 +194,7 @@ - install -m 755 $(SWIGRUBYSO) $(RUBYINSTALL)/selinux.so - - relabel: -- /sbin/restorecon $(SHLIBDIR)/$(LIBSO) -+ /sbin/restorecon $(LIBINSTALL)/$(LIBSO) - - clean-pywrap: - -rm -f $(SWIGLOBJ) $(SWIGSO) $(AUDIT2WHYLOBJ) $(AUDIT2WHYSO) -diff -durN libselinux.orig/utils/Makefile libselinux/utils/Makefile ---- libselinux.orig/utils/Makefile 2018-01-12 12:42:30.905376458 +0100 -+++ libselinux/utils/Makefile 2018-01-12 10:02:57.745478435 +0100 -@@ -1,8 +1,6 @@ - # Installation directories. --PREFIX ?= $(DESTDIR)/usr --LIBDIR ?= $(PREFIX)/lib --SBINDIR ?= $(PREFIX)/sbin --INCLUDEDIR ?= $(PREFIX)/include -+PREFIX ?= /usr -+SBINDIR ?= $(DESTDIR)$(PREFIX)/sbin - - OS ?= $(shell uname) - diff --git a/buildroot/package/libselinux/0003-revert-ln-relative.patch b/buildroot/package/libselinux/0002-revert-ln-relative.patch similarity index 55% rename from buildroot/package/libselinux/0003-revert-ln-relative.patch rename to buildroot/package/libselinux/0002-revert-ln-relative.patch index f72afa1b0..f7beab269 100644 --- a/buildroot/package/libselinux/0003-revert-ln-relative.patch +++ b/buildroot/package/libselinux/0002-revert-ln-relative.patch @@ -9,16 +9,18 @@ they are maintained (up to 10 years in some cases?). For the sake of Buildroot, revert the upstream patch. Signed-off-by: "Yann E. MORIN" +Signed-off-by: Fabrice Fontaine +[Update for 2.8 (with assumption that SHLIBDIR=LIBDIR)] diff -durNw libselinux-2.7.orig/src/Makefile libselinux-2.7/src/Makefile --- libselinux-2.7.orig/src/Makefile 2018-01-15 20:53:50.168525700 +0100 +++ libselinux-2.7/src/Makefile 2018-01-15 20:55:27.061858005 +0100 @@ -181,7 +181,7 @@ - install -m 755 $(LIBSO) $(LIBINSTALL) - test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig - install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig -- ln -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET) -+ cd $(LIBINSTALL) && ln -sf $(LIBSO) $(TARGET) + install -m 755 $(LIBSO) $(DESTDIR)$(SHLIBDIR) + test -d $(DESTDIR)$(LIBDIR)/pkgconfig || install -m 755 -d $(DESTDIR)$(LIBDIR)/pkgconfig + install -m 644 $(LIBPC) $(DESTDIR)$(LIBDIR)/pkgconfig +- ln -sf --relative $(DESTDIR)$(SHLIBDIR)/$(LIBSO) $(DESTDIR)$(LIBDIR)/$(TARGET) ++ cd $(DESTDIR)$(LIBDIR) && ln -sf $(LIBSO) $(TARGET) install-pywrap: pywrap - test -d $(PYSITEDIR)/selinux || install -m 755 -d $(PYSITEDIR)/selinux + test -d $(DESTDIR)$(PYTHONLIBDIR)/selinux || install -m 755 -d $(DESTDIR)$(PYTHONLIBDIR)/selinux diff --git a/buildroot/package/libselinux/0003-Fix-build-break-around-__atomic_-with-GCC-4.7.patch b/buildroot/package/libselinux/0003-Fix-build-break-around-__atomic_-with-GCC-4.7.patch new file mode 100644 index 000000000..88e3a7933 --- /dev/null +++ b/buildroot/package/libselinux/0003-Fix-build-break-around-__atomic_-with-GCC-4.7.patch @@ -0,0 +1,70 @@ +From abe76789f8e7ce61b357f693eaed5b28feab5ce2 Mon Sep 17 00:00:00 2001 +From: Hollis Blanchard +Date: Mon, 13 Aug 2018 12:11:33 -0700 +Subject: [PATCH] Fix build break around __atomic_*() with GCC<4.7 + +The __atomic_* GCC primitives were introduced in GCC 4.7, but Red Hat +Enterprise Linux 6.x (for example) provides GCC 4.4. Tweak the current code to +use the (most conservative) __sync_synchronize() primitive provided by those +older GCC versions. + +(Really, no __atomic or __sync operations are needed here at all, since POSIX +4.12 "Memory Synchronization" says pthread_mutex_lock() and +pthread_mutex_unlock() "synchronize memory with respect to other threads"...) + +Signed-off-by: Hollis Blanchard +--- + src/label_file.h | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/src/label_file.h b/src/label_file.h +index 2fa85474..47859baf 100644 +--- a/src/label_file.h ++++ b/src/label_file.h +@@ -351,8 +351,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec, + * init_routine does not take a parameter, it's not possible + * to use, so we generate the same effect with atomics and a + * mutex */ ++#ifdef __ATOMIC_RELAXED + regex_compiled = + __atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE); ++#else ++ /* GCC <4.7 */ ++ __sync_synchronize(); ++ regex_compiled = spec->regex_compiled; ++#endif + if (regex_compiled) { + return 0; /* already done */ + } +@@ -360,8 +366,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec, + __pthread_mutex_lock(&spec->regex_lock); + /* Check if another thread compiled the regex while we waited + * on the mutex */ ++#ifdef __ATOMIC_RELAXED + regex_compiled = + __atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE); ++#else ++ /* GCC <4.7 */ ++ __sync_synchronize(); ++ regex_compiled = spec->regex_compiled; ++#endif + if (regex_compiled) { + __pthread_mutex_unlock(&spec->regex_lock); + return 0; +@@ -404,7 +416,13 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec, + } + + /* Done. */ ++#ifdef __ATOMIC_RELAXED + __atomic_store_n(&spec->regex_compiled, true, __ATOMIC_RELEASE); ++#else ++ /* GCC <4.7 */ ++ spec->regex_compiled = true; ++ __sync_synchronize(); ++#endif + __pthread_mutex_unlock(&spec->regex_lock); + return 0; + } +-- +2.13.0 + diff --git a/buildroot/package/libselinux/libselinux.hash b/buildroot/package/libselinux/libselinux.hash index 3c60d5111..fb8e35043 100644 --- a/buildroot/package/libselinux/libselinux.hash +++ b/buildroot/package/libselinux/libselinux.hash @@ -1,2 +1,5 @@ # From: https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 d0fec0769b3ad60aa7baf9b9a4b7a056827769dc2dadda0dc0eb59b3d1c18c57 libselinux-2.7.tar.gz +sha256 31db96ec7643ce10912b3c3f98506a08a9116dcfe151855fd349c3fda96187e1 libselinux-2.8.tar.gz + +# Hash for license file +sha256 86657b4c0fe868d7cbd977cb04c63b6c667e08fa51595a7bc846ad4bed8fc364 LICENSE diff --git a/buildroot/package/libselinux/libselinux.mk b/buildroot/package/libselinux/libselinux.mk index b3d48f710..b09634740 100644 --- a/buildroot/package/libselinux/libselinux.mk +++ b/buildroot/package/libselinux/libselinux.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBSELINUX_VERSION = 2.7 -LIBSELINUX_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +LIBSELINUX_VERSION = 2.8 +LIBSELINUX_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524 LIBSELINUX_LICENSE = Public Domain LIBSELINUX_LICENSE_FILES = LICENSE @@ -14,11 +14,14 @@ LIBSELINUX_DEPENDENCIES = libsepol pcre LIBSELINUX_INSTALL_STAGING = YES # Filter out D_FILE_OFFSET_BITS=64. This fixes errors caused by glibc 2.22. +# Set SHLIBDIR to /usr/lib so it has the same value than LIBDIR, as a result +# we won't have to use a relative path in 0002-revert-ln-relative.patch LIBSELINUX_MAKE_OPTS = \ $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS))" \ LDFLAGS="$(TARGET_LDFLAGS) -lpcre -lpthread" \ - ARCH=$(KERNEL_ARCH) + ARCH=$(KERNEL_ARCH) \ + SHLIBDIR=/usr/lib LIBSELINUX_MAKE_INSTALL_TARGETS = install @@ -86,6 +89,7 @@ endif HOST_LIBSELINUX_MAKE_OPTS = \ $(HOST_CONFIGURE_OPTS) \ PREFIX=$(HOST_DIR) \ + SHLIBDIR=$(HOST_DIR)/lib \ LDFLAGS="$(HOST_LDFLAGS) -lpcre -lpthread" \ PYINC="$(HOST_LIBSELINUX_PYINC)" \ PYSITEDIR="$(HOST_DIR)/lib/$(HOST_LIBSELINUX_PYLIBVER)/site-packages" \ @@ -102,7 +106,6 @@ endef define HOST_LIBSELINUX_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) -C $(@D) \ $(HOST_LIBSELINUX_MAKE_OPTS) install - ln -sf libselinux.so.1 $(HOST_DIR)/lib/libselinux.so # Install python interface wrapper $(HOST_MAKE_ENV) $(MAKE) -C $(@D) \ $(HOST_LIBSELINUX_MAKE_OPTS) install-pywrap diff --git a/buildroot/package/libsemanage/0001-libsemanage-build-follow-standard-semantics-for-DESTD.patch b/buildroot/package/libsemanage/0001-libsemanage-build-follow-standard-semantics-for-DESTD.patch deleted file mode 100644 index 47ac6bded..000000000 --- a/buildroot/package/libsemanage/0001-libsemanage-build-follow-standard-semantics-for-DESTD.patch +++ /dev/null @@ -1,118 +0,0 @@ -libsemanage: build: follow standard semantics for DESTDIR and PREFIX - -This patch solves the following issues: -- DESTDIR is needed during compile time to compute library and header paths which it should not. -- Installing with both DESTDIR and PREFIX set gives us odd paths -- Make usage of DESTDIR and PREFIX more standard - -Signed-off-by: Marcus Folkesson - -diff -durN libsemanage.orig/include/Makefile libsemanage/include/Makefile ---- libsemanage.orig/include/Makefile 2018-01-12 12:42:30.915376458 +0100 -+++ libsemanage/include/Makefile 2018-01-12 10:04:18.632144240 +0100 -@@ -1,6 +1,6 @@ - # Installation directories. --PREFIX ?= $(DESTDIR)/usr --INCDIR ?= $(PREFIX)/include/semanage -+PREFIX ?= /usr -+INCDIR ?= $(DESTDIR)$(PREFIX)/include/semanage - - all: - -diff -durN libsemanage.orig/man/Makefile libsemanage/man/Makefile ---- libsemanage.orig/man/Makefile 2018-01-12 12:42:30.915376458 +0100 -+++ libsemanage/man/Makefile 2018-01-12 10:04:18.632144240 +0100 -@@ -1,6 +1,7 @@ - # Installation directories. --MAN3DIR ?= $(DESTDIR)/usr/share/man/man3 --MAN5DIR ?= $(DESTDIR)/usr/share/man/man5 -+PREFIX ?= /usr -+MAN3DIR ?= $(DESTDIR)$(PREFIX)/share/man/man3 -+MAN5DIR ?= $(DESTDIR)$(PREFIX)/share/man/man5 - - all: - -diff -durN libsemanage.orig/src/libsemanage.pc.in libsemanage/src/libsemanage.pc.in ---- libsemanage.orig/src/libsemanage.pc.in 2018-01-12 12:42:30.918709792 +0100 -+++ libsemanage/src/libsemanage.pc.in 2018-01-12 10:04:18.632144240 +0100 -@@ -1,6 +1,6 @@ - prefix=@prefix@ - exec_prefix=${prefix} --libdir=${exec_prefix}/@libdir@ -+libdir=@libdir@ - includedir=@includedir@ - - Name: libsemanage -diff -durN libsemanage.orig/src/Makefile libsemanage/src/Makefile ---- libsemanage.orig/src/Makefile 2018-01-12 12:42:30.918709792 +0100 -+++ libsemanage/src/Makefile 2018-01-12 10:04:18.632144240 +0100 -@@ -8,10 +8,10 @@ - PKG_CONFIG ?= pkg-config - - # Installation directories. --PREFIX ?= $(DESTDIR)/usr -+PREFIX ?= /usr - LIBDIR ?= $(PREFIX)/lib --SHLIBDIR ?= $(DESTDIR)/lib - INCLUDEDIR ?= $(PREFIX)/include -+LIBINSTALL = $(DESTDIR)$(LIBDIR) - PYINC ?= $(shell $(PKG_CONFIG) --cflags $(PYPREFIX)) - PYLIBS ?= $(shell $(PKG_CONFIG) --libs $(PYPREFIX)) - PYSITEDIR ?= $(DESTDIR)$(shell $(PYTHON) -c 'import site; print(site.getsitepackages()[0])') -@@ -20,8 +20,6 @@ - RUBYLIBS ?= $(shell $(RUBY) -e 'puts "-L" + RbConfig::CONFIG["libdir"] + " -L" + RbConfig::CONFIG["archlibdir"] + " " + RbConfig::CONFIG["LIBRUBYARG_SHARED"]') - RUBYINSTALL ?= $(DESTDIR)$(shell $(RUBY) -e 'puts RbConfig::CONFIG["vendorarchdir"]') - --LIBBASE=$(shell basename $(LIBDIR)) -- - DEFAULT_SEMANAGE_CONF_LOCATION=$(DESTDIR)/etc/selinux/semanage.conf - - ifeq ($(DEBUG),1) -@@ -95,7 +93,7 @@ - ln -sf $@ $(TARGET) - - $(LIBPC): $(LIBPC).in ../VERSION -- sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBBASE):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ -+ sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBDIR):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ - - semanageswig_python_exception.i: ../include/semanage/semanage.h - bash -e exception.sh > $@ || (rm -f $@ ; false) -@@ -136,13 +134,13 @@ - $(SWIG) $< - - install: all -- test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) -- install -m 644 $(LIBA) $(LIBDIR) -- install -m 755 $(LIBSO) $(LIBDIR) -- test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig -- install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig -+ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) -+ install -m 644 $(LIBA) $(LIBINSTALL) -+ install -m 755 $(LIBSO) $(LIBINSTALL) -+ test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig -+ install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig - test -f $(DEFAULT_SEMANAGE_CONF_LOCATION) || install -m 644 -D semanage.conf $(DEFAULT_SEMANAGE_CONF_LOCATION) -- cd $(LIBDIR) && ln -sf $(LIBSO) $(TARGET) -+ cd $(LIBINSTALL) && ln -sf $(LIBSO) $(TARGET) - - install-pywrap: pywrap - test -d $(PYSITEDIR) || install -m 755 -d $(PYSITEDIR) -@@ -155,7 +153,7 @@ - install -m 755 $(SWIGRUBYSO) $(RUBYINSTALL)/semanage.so - - relabel: -- /sbin/restorecon $(LIBDIR)/$(LIBSO) -+ /sbin/restorecon $(LIBINSTALL)/$(LIBSO) - - clean: - -rm -f $(LIBPC) $(OBJS) $(LOBJS) $(LIBA) $(LIBSO) $(SWIGLOBJ) $(SWIGSO) $(SWIGRUBYSO) $(TARGET) conf-parse.c conf-parse.h conf-scan.c *.o *.lo *~ -diff -durN libsemanage.orig/tests/Makefile libsemanage/tests/Makefile ---- libsemanage.orig/tests/Makefile 2018-01-12 12:42:30.922043125 +0100 -+++ libsemanage/tests/Makefile 2018-01-12 10:04:18.632144240 +0100 -@@ -1,6 +1,3 @@ --PREFIX ?= $(DESTDIR)/usr --LIBDIR ?= $(PREFIX)/lib -- - # Add your test source files here: - SOURCES = $(sort $(wildcard *.c)) - diff --git a/buildroot/package/libsemanage/libsemanage.hash b/buildroot/package/libsemanage/libsemanage.hash index c38657159..531551400 100644 --- a/buildroot/package/libsemanage/libsemanage.hash +++ b/buildroot/package/libsemanage/libsemanage.hash @@ -1,2 +1,5 @@ # From: https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 07e9477714ce6a4557a1fe924ea4cb06501b62d0fa0e3c0dc32a2cf47cb8d476 libsemanage-2.7.tar.gz +sha256 1c0de8d2c51e5460926c21e371105c84a39087dfd8f8e9f0cc1d017e4cbea8e2 libsemanage-2.8.tar.gz + +# Hash for license file +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/buildroot/package/libsemanage/libsemanage.mk b/buildroot/package/libsemanage/libsemanage.mk index b6e50e284..bbde50f49 100644 --- a/buildroot/package/libsemanage/libsemanage.mk +++ b/buildroot/package/libsemanage/libsemanage.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBSEMANAGE_VERSION = 2.7 -LIBSEMANAGE_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +LIBSEMANAGE_VERSION = 2.8 +LIBSEMANAGE_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524 LIBSEMANAGE_LICENSE = LGPL-2.1+ LIBSEMANAGE_LICENSE_FILES = COPYING LIBSEMANAGE_DEPENDENCIES = host-bison host-flex audit libselinux ustr bzip2 @@ -31,19 +31,20 @@ HOST_LIBSEMANAGE_DEPENDENCIES = host-bison host-audit host-libsepol host-libseli HOST_LIBSEMANAGE_MAKE_OPTS += \ $(HOST_CONFIGURE_OPTS) \ PREFIX=$(HOST_DIR) \ - SWIG_LIB="$(HOST_DIR)/share/swig/$(SWIG_VERSION)/" + SWIG_LIB="$(HOST_DIR)/share/swig/$(SWIG_VERSION)/" \ + DEFAULT_SEMANAGE_CONF_LOCATION=$(HOST_DIR)/etc/selinux/semanage.conf ifeq ($(BR2_PACKAGE_PYTHON3),y) HOST_LIBSEMANAGE_DEPENDENCIES += host-python3 HOST_LIBSEMANAGE_MAKE_OPTS += \ PYINC="-I$(HOST_DIR)/include/python$(PYTHON3_VERSION_MAJOR)m/" \ - PYTHONLIBDIR="-L$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/" \ + PYTHONLIBDIR="$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/" \ PYLIBVER="python$(PYTHON3_VERSION_MAJOR)" else HOST_LIBSEMANAGE_DEPENDENCIES += host-python HOST_LIBSEMANAGE_MAKE_OPTS += \ PYINC="-I$(HOST_DIR)/include/python$(PYTHON_VERSION_MAJOR)/" \ - PYTHONLIBDIR="-L$(HOST_DIR)/lib/python$(PYTHON_VERSION_MAJOR)/" \ + PYTHONLIBDIR="$(HOST_DIR)/lib/python$(PYTHON_VERSION_MAJOR)/" \ PYLIBVER="python$(PYTHON_VERSION_MAJOR)" endif diff --git a/buildroot/package/libsepol/0001-libsepol-build-follow-standard-semantics-for-DESTD.patch b/buildroot/package/libsepol/0001-libsepol-build-follow-standard-semantics-for-DESTD.patch deleted file mode 100644 index 1daf7206d..000000000 --- a/buildroot/package/libsepol/0001-libsepol-build-follow-standard-semantics-for-DESTD.patch +++ /dev/null @@ -1,109 +0,0 @@ -libsepol: build: follow standard semantics for DESTDIR and PREFIX - -This patch solves the following issues: -- The pkg-config files generates odd paths when using DESTDIR without PREFIX -- DESTDIR is needed during compile time to compute library and header paths which it should not. -- Installing with both DESTDIR and PREFIX set gives us odd paths -- Make usage of DESTDIR and PREFIX more standard - -Signed-off-by: Marcus Folkesson - -diff -durN libsepol.orig/include/Makefile libsepol/include/Makefile ---- libsepol.orig/include/Makefile 2018-01-12 12:42:30.908709792 +0100 -+++ libsepol/include/Makefile 2018-01-12 09:58:04.322148228 +0100 -@@ -1,6 +1,6 @@ - # Installation directories. --PREFIX ?= $(DESTDIR)/usr --INCDIR ?= $(PREFIX)/include/sepol -+PREFIX ?= /usr -+INCDIR = $(DESTDIR)$(PREFIX)/include/sepol - CILDIR ?= ../cil - - all: -diff -durN libsepol.orig/man/Makefile libsepol/man/Makefile ---- libsepol.orig/man/Makefile 2018-01-12 12:42:30.912043126 +0100 -+++ libsepol/man/Makefile 2018-01-12 09:58:04.322148228 +0100 -@@ -1,6 +1,7 @@ - # Installation directories. --MAN8DIR ?= $(DESTDIR)/usr/share/man/man8 --MAN3DIR ?= $(DESTDIR)/usr/share/man/man3 -+PREFIX ?= /usr -+MAN8DIR ?= $(DESTDIR)$(PREFIX)/share/man/man8 -+MAN3DIR ?= $(DESTDIR)$(PREFIX)/share/man/man3 - - all: - -diff -durN libsepol.orig/src/libsepol.pc.in libsepol/src/libsepol.pc.in ---- libsepol.orig/src/libsepol.pc.in 2018-01-12 12:42:30.912043126 +0100 -+++ libsepol/src/libsepol.pc.in 2018-01-12 09:58:04.322148228 +0100 -@@ -1,6 +1,6 @@ - prefix=@prefix@ - exec_prefix=${prefix} --libdir=${exec_prefix}/@libdir@ -+libdir=@libdir@ - includedir=@includedir@ - - Name: libsepol -diff -durN libsepol.orig/src/Makefile libsepol/src/Makefile ---- libsepol.orig/src/Makefile 2018-01-12 12:42:30.912043126 +0100 -+++ libsepol/src/Makefile 2018-01-12 09:58:04.322148228 +0100 -@@ -1,11 +1,10 @@ - # Installation directories. --PREFIX ?= $(DESTDIR)/usr -+PREFIX ?= /usr - INCLUDEDIR ?= $(PREFIX)/include - LIBDIR ?= $(PREFIX)/lib --SHLIBDIR ?= $(DESTDIR)/lib - RANLIB ?= ranlib --LIBBASE ?= $(shell basename $(LIBDIR)) - CILDIR ?= ../cil -+LIBINSTALL = $(DESTDIR)$(LIBDIR) - - VERSION = $(shell cat ../VERSION) - LIBVERSION = 1 -@@ -52,7 +51,7 @@ - ln -sf $@ $(TARGET) - - $(LIBPC): $(LIBPC).in ../VERSION -- sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBBASE):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ -+ sed -e 's/@VERSION@/$(VERSION)/; s:@prefix@:$(PREFIX):; s:@libdir@:$(LIBDIR):; s:@includedir@:$(INCLUDEDIR):' < $< > $@ - - $(LIBMAP): $(LIBMAP).in - ifneq ($(DISABLE_CIL),y) -@@ -80,16 +79,16 @@ - $(CC) $(CFLAGS) -fPIC -DSHARED -c -o $@ $< - - install: all -- test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) -- install -m 644 $(LIBA) $(LIBDIR) -- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) -- install -m 755 $(LIBSO) $(SHLIBDIR) -- test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig -- install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig -- $(LN) -sf --relative $(SHLIBDIR)/$(LIBSO) $(LIBDIR)/$(TARGET) -+ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) -+ install -m 644 $(LIBA) $(LIBINSTALL) -+ test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) -+ install -m 755 $(LIBSO) $(LIBINSTALL) -+ test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig -+ install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig -+ $(LN) -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET) - - relabel: -- /sbin/restorecon $(SHLIBDIR)/$(LIBSO) -+ /sbin/restorecon $(LIBINSTALL)/$(LIBSO) - - clean: - -rm -f $(LIBPC) $(LIBMAP) $(OBJS) $(LOBJS) $(LIBA) $(LIBSO) $(TARGET) $(CIL_GENERATED) -diff -durN libsepol.orig/utils/Makefile libsepol/utils/Makefile ---- libsepol.orig/utils/Makefile 2018-01-12 12:42:30.915376458 +0100 -+++ libsepol/utils/Makefile 2018-01-12 09:58:04.322148228 +0100 -@@ -1,6 +1,6 @@ - # Installation directories. --PREFIX ?= $(DESTDIR)/usr --BINDIR ?= $(PREFIX)/bin -+PREFIX ?= /usr -+BINDIR ?= $(DESTDIR)$(PREFIX)/bin - - CFLAGS ?= -Wall -Werror - override CFLAGS += -I../include diff --git a/buildroot/package/libsepol/0002-support-static-only.patch b/buildroot/package/libsepol/0001-support-static-only.patch similarity index 68% rename from buildroot/package/libsepol/0002-support-static-only.patch rename to buildroot/package/libsepol/0001-support-static-only.patch index 8cf9a180f..f475dcad1 100644 --- a/buildroot/package/libsepol/0002-support-static-only.patch +++ b/buildroot/package/libsepol/0001-support-static-only.patch @@ -11,6 +11,8 @@ does not have support for shared libraries. Signed-off-by: Thomas Petazzoni Signed-off-by: Adam Duskett +Signed-off-by: Fabrice Fontaine +[Update for 2.8] --- src/Makefile | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) @@ -34,12 +36,12 @@ diff -durNw libsepol-2.7.orig/src/Makefile libsepol-2.7/src/Makefile $(LIBA): $(OBJS) @@ -81,8 +86,10 @@ install: all - test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) - install -m 644 $(LIBA) $(LIBINSTALL) + test -d $(DESTDIR)$(LIBDIR) || install -m 755 -d $(DESTDIR)$(LIBDIR) + install -m 644 $(LIBA) $(DESTDIR)$(LIBDIR) +ifeq ($(STATIC),) - test -d $(LIBINSTALL) || install -m 755 -d $(LIBINSTALL) - install -m 755 $(LIBSO) $(LIBINSTALL) + test -d $(DESTDIR)$(SHLIBDIR) || install -m 755 -d $(DESTDIR)$(SHLIBDIR) + install -m 755 $(LIBSO) $(DESTDIR)$(SHLIBDIR) +endif - test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig - install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig - $(LN) -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET) + test -d $(DESTDIR)$(LIBDIR)/pkgconfig || install -m 755 -d $(DESTDIR)$(LIBDIR)/pkgconfig + install -m 644 $(LIBPC) $(DESTDIR)$(LIBDIR)/pkgconfig + $(LN) -sf --relative $(DESTDIR)$(SHLIBDIR)/$(LIBSO) $(DESTDIR)$(LIBDIR)/$(TARGET) diff --git a/buildroot/package/libsepol/0003-revert-ln-relative.patch b/buildroot/package/libsepol/0002-revert-ln-relative.patch similarity index 68% rename from buildroot/package/libsepol/0003-revert-ln-relative.patch rename to buildroot/package/libsepol/0002-revert-ln-relative.patch index 9d1553ed9..acac908be 100644 --- a/buildroot/package/libsepol/0003-revert-ln-relative.patch +++ b/buildroot/package/libsepol/0002-revert-ln-relative.patch @@ -12,16 +12,18 @@ they are maintained (up to 10 years in some cases?). For the sake of Buildroot, revert the upstream patch. Signed-off-by: "Yann E. MORIN" +Signed-off-by: Fabrice Fontaine +[Update for 2.8 (with assumption that SHLIBDIR=LIBDIR)] diff -durNw libsepol-2.7.orig/src/Makefile libsepol-2.7/src/Makefile --- libsepol-2.7.orig/src/Makefile 2018-01-15 21:37:12.821831315 +0100 +++ libsepol-2.7/src/Makefile 2018-01-15 21:38:03.838497434 +0100 @@ -92,7 +92,7 @@ endif - test -d $(LIBINSTALL)/pkgconfig || install -m 755 -d $(LIBINSTALL)/pkgconfig - install -m 644 $(LIBPC) $(LIBINSTALL)/pkgconfig -- $(LN) -sf --relative $(LIBINSTALL)/$(LIBSO) $(LIBINSTALL)/$(TARGET) -+ cd $(LIBINSTALL) && ln -sf $(LIBSO) $(TARGET) + test -d $(DESTDIR)$(LIBDIR)/pkgconfig || install -m 755 -d $(DESTDIR)$(LIBDIR)/pkgconfig + install -m 644 $(LIBPC) $(DESTDIR)$(LIBDIR)/pkgconfig +- $(LN) -sf --relative $(DESTDIR)$(SHLIBDIR)/$(LIBSO) $(DESTDIR)$(LIBDIR)/$(TARGET) ++ cd $(DESTDIR)$(LIBDIR) && ln -sf $(LIBSO) $(TARGET) relabel: /sbin/restorecon $(LIBINSTALL)/$(LIBSO) diff --git a/buildroot/package/libsepol/libsepol.hash b/buildroot/package/libsepol/libsepol.hash index 08e2bf97a..599133c11 100644 --- a/buildroot/package/libsepol/libsepol.hash +++ b/buildroot/package/libsepol/libsepol.hash @@ -1,2 +1,5 @@ # From: https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 d69d3bd8ec901a3bd5adf2be2fb47fb1a685ed73066ab482e7e505371a48f9e7 libsepol-2.7.tar.gz +sha256 3ad6916a8352bef0bad49acc8037a5f5b48c56f94e4cb4e1959ca475fa9d24d6 libsepol-2.8.tar.gz + +# Hash for license file +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/buildroot/package/libsepol/libsepol.mk b/buildroot/package/libsepol/libsepol.mk index 5932ca146..a1e383685 100644 --- a/buildroot/package/libsepol/libsepol.mk +++ b/buildroot/package/libsepol/libsepol.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBSEPOL_VERSION = 2.7 -LIBSEPOL_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +LIBSEPOL_VERSION = 2.8 +LIBSEPOL_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524 LIBSEPOL_LICENSE = LGPL-2.1+ LIBSEPOL_LICENSE_FILES = COPYING @@ -23,17 +23,22 @@ define LIBSEPOL_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(LIBSEPOL_MAKE_FLAGS) endef +# Set SHLIBDIR to /usr/lib so it has the same value than LIBDIR, as a result +# we won't have to use a relative path in 0002-revert-ln-relative.patch define LIBSEPOL_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) \ + DESTDIR=$(STAGING_DIR) SHLIBDIR=/usr/lib endef define LIBSEPOL_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(TARGET_DIR) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) \ + DESTDIR=$(TARGET_DIR) SHLIBDIR=/usr/lib endef HOST_LIBSEPOL_MAKE_ENV = \ $(HOST_MAKE_ENV) \ - PREFIX=$(HOST_DIR) + PREFIX=$(HOST_DIR) \ + SHLIBDIR=$(HOST_DIR)/lib define HOST_LIBSEPOL_BUILD_CMDS $(HOST_LIBSEPOL_MAKE_ENV) $(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) @@ -41,7 +46,6 @@ endef define HOST_LIBSEPOL_INSTALL_CMDS $(HOST_LIBSEPOL_MAKE_ENV) $(MAKE) -C $(@D) install $(HOST_CONFIGURE_OPTS) - ln -sf libsepol.so.1 $(HOST_DIR)/lib/libsepol.so endef $(eval $(generic-package)) diff --git a/buildroot/package/libsigsegv/0001-Improve-support-for-Linux-RISC-V.patch b/buildroot/package/libsigsegv/0001-Improve-support-for-Linux-RISC-V.patch new file mode 100644 index 000000000..8426ad9af --- /dev/null +++ b/buildroot/package/libsigsegv/0001-Improve-support-for-Linux-RISC-V.patch @@ -0,0 +1,79 @@ +From 4e6e6b52fe2f88584645a761bb342ac89d6c2860 Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Thu, 15 Mar 2018 19:01:27 +0100 +Subject: [PATCH] Improve support for Linux/RISC-V. + +[Thomas: backported from upstream commit +671b2528b55c57eda1a8fe5872ff1ef61014235f, drop ChangeLog changes.] +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 3 +++ + src/Makefile.am | 1 + + src/fault-linux-riscv64.h | 29 +++++++++++++++++++++++++++++ + 3 files changed, 33 insertions(+) + create mode 100644 src/fault-linux-riscv64.h + +diff --git a/configure.ac b/configure.ac +index 74ce6b4..9775cfb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -428,6 +428,9 @@ if test -z "$CFG_FAULT" && test "$sv_cv_fault_posix" = yes; then + powerpc* | rs6000) + CFG_FAULT=fault-linux-powerpc.h + ;; ++ riscv64) ++ CFG_FAULT=fault-linux-riscv64.h ++ ;; + s390*) + CFG_FAULT=fault-linux-s390.h + ;; +diff --git a/src/Makefile.am b/src/Makefile.am +index 3afa398..9a9982f 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -42,6 +42,7 @@ noinst_HEADERS = \ + fault-linux-m68k.h fault-linux-m68k-old.h fault-linux-m68k-old.c \ + fault-linux-mips.h fault-linux-mips-old.h \ + fault-linux-powerpc.h fault-linux-powerpc-old.h \ ++ fault-linux-riscv64.h \ + fault-linux-s390.h fault-linux-s390-old.h \ + fault-linux-sh.h fault-linux-sh-old.h \ + fault-linux-sparc.h fault-linux-sparc-old.h \ +diff --git a/src/fault-linux-riscv64.h b/src/fault-linux-riscv64.h +new file mode 100644 +index 0000000..14831bf +--- /dev/null ++++ b/src/fault-linux-riscv64.h +@@ -0,0 +1,29 @@ ++/* Fault handler information. Linux/RISC-V 64-bit version. ++ Copyright (C) 2018 Bruno Haible ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2, 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. */ ++ ++#include "fault-posix-ucontext.h" ++ ++/* See glibc/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h ++ and the definition of GET_STACK in ++ glibc/sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h. ++ Note that the 'mcontext_t' defined in ++ glibc/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h ++ and the 'struct sigcontext' defined in ++ glibc/sysdeps/unix/sysv/linux/riscv/bits/sigcontext.h ++ start with the same block of 32 general-purpose registers. */ ++ ++#define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.__gregs[REG_SP] +-- +2.19.1 + diff --git a/buildroot/package/libsigsegv/0002-m4-stack-direction-RISC-V-stack-grows-downward.patch b/buildroot/package/libsigsegv/0002-m4-stack-direction-RISC-V-stack-grows-downward.patch new file mode 100644 index 000000000..336181edf --- /dev/null +++ b/buildroot/package/libsigsegv/0002-m4-stack-direction-RISC-V-stack-grows-downward.patch @@ -0,0 +1,35 @@ +From 9dd1989f5ae6cd3f2051732318e26bf742a4c89b Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 13 Nov 2018 22:24:03 +0100 +Subject: [PATCH] m4/stack-direction: RISC-V stack grows downward + +While commit 671b2528b55c57eda1a8fe5872ff1ef61014235f ("Improve +support for Linux/RISC-V") adds some support for the RISC-V +architecture, it doesn't update m4/stack-direction.m4 to properly +support cross-compiling libsigsegv for a RISC-V architecture. + +According to +https://riscv.org/wp-content/uploads/2015/01/riscv-calling.pdf: "In +the standard RISC-V calling convention, the stack grows downward", so +let's update m4/stack-direction.m4 accordingly. + +Signed-off-by: Thomas Petazzoni +--- + m4/stack-direction.m4 | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/m4/stack-direction.m4 b/m4/stack-direction.m4 +index c373f1c..9504f88 100644 +--- a/m4/stack-direction.m4 ++++ b/m4/stack-direction.m4 +@@ -43,6 +43,7 @@ AC_DEFUN([SV_STACK_DIRECTION], + pdp11 | \ + pj* | \ + powerpc* | rs6000 | \ ++ riscv* | \ + romp | \ + s390* | \ + sh* | \ +-- +2.19.1 + diff --git a/buildroot/package/libsigsegv/libsigsegv.mk b/buildroot/package/libsigsegv/libsigsegv.mk index 6fa0929bb..7ca39dbe4 100644 --- a/buildroot/package/libsigsegv/libsigsegv.mk +++ b/buildroot/package/libsigsegv/libsigsegv.mk @@ -10,5 +10,8 @@ LIBSIGSEGV_INSTALL_STAGING = YES LIBSIGSEGV_CONF_ENV = sv_cv_fault_posix=yes LIBSIGSEGV_LICENSE = GPL-2.0+ LIBSIGSEGV_LICENSE_FILES = COPYING +# 0001-Improve-support-for-Linux-RISC-V.patch +# 0002-m4-stack-direction-RISC-V-stack-grows-downward.patch +LIBSIGSEGV_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/buildroot/package/libsoup/0001-Revert-tld-parser-use-Python-3.patch b/buildroot/package/libsoup/0001-Revert-tld-parser-use-Python-3.patch new file mode 100644 index 000000000..c27ee986c --- /dev/null +++ b/buildroot/package/libsoup/0001-Revert-tld-parser-use-Python-3.patch @@ -0,0 +1,27 @@ +From 015926c80fa3e9704f05cbc1ad17f0a877f8de09 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 1 Sep 2018 15:39:04 +0200 +Subject: [PATCH] Revert "tld-parser: use Python 3" + +This reverts commit 4b924e573da307436169d5ef7e04c0ab85b36ef9. The +script runs just fine with Python 2.x, there is no reason to enforce +using Python 3.x. + +Signed-off-by: Thomas Petazzoni +--- + libsoup/tld-parser.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libsoup/tld-parser.py b/libsoup/tld-parser.py +index a743471a..5d9d2ba5 100755 +--- a/libsoup/tld-parser.py ++++ b/libsoup/tld-parser.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!/usr/bin/env python + + # Generate tld rules + # Copyright (C) 2012 Red Hat, Inc. +-- +2.14.4 + diff --git a/buildroot/package/libsoup/libsoup.hash b/buildroot/package/libsoup/libsoup.hash index 6e1ff428a..666bbc278 100644 --- a/buildroot/package/libsoup/libsoup.hash +++ b/buildroot/package/libsoup/libsoup.hash @@ -1,4 +1,4 @@ -# From http://ftp.gnome.org/pub/gnome/sources/libsoup/2.56/libsoup-2.56.1.sha256sum -sha256 c32a46d77b4da433b51d8fd09a57a44b198e03bdc93e5219afcc687c7948eac3 libsoup-2.56.1.tar.xz +# From https://ftp.gnome.org/pub/GNOME/sources/libsoup/2.62/libsoup-2.62.3.sha256sum +sha256 d312ade547495c2093ff8bda61f9b9727a98cfdae339f3263277dd39c0451172 libsoup-2.62.3.tar.xz # Locally calculated sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/buildroot/package/libsoup/libsoup.mk b/buildroot/package/libsoup/libsoup.mk index a3ce686aa..95bd68201 100644 --- a/buildroot/package/libsoup/libsoup.mk +++ b/buildroot/package/libsoup/libsoup.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBSOUP_VERSION_MAJOR = 2.56 -LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).1 +LIBSOUP_VERSION_MAJOR = 2.62 +LIBSOUP_VERSION = $(LIBSOUP_VERSION_MAJOR).3 LIBSOUP_SOURCE = libsoup-$(LIBSOUP_VERSION).tar.xz LIBSOUP_SITE = http://ftp.gnome.org/pub/gnome/sources/libsoup/$(LIBSOUP_VERSION_MAJOR) LIBSOUP_LICENSE = LGPL-2.0+ diff --git a/buildroot/package/libsoxr/0001-soxr.pc.in-add-avutil-libraries.patch b/buildroot/package/libsoxr/0001-soxr.pc.in-add-avutil-libraries.patch new file mode 100644 index 000000000..c36988a77 --- /dev/null +++ b/buildroot/package/libsoxr/0001-soxr.pc.in-add-avutil-libraries.patch @@ -0,0 +1,33 @@ +From 8c1edfc22f8b714062b149e3d80ab4357a1a4e49 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 22 Nov 2018 19:10:03 +0100 +Subject: [PATCH] soxr.pc.in: add avutil libraries + +Add ${AVUTIL_LIBRARIES} to soxr.pc.in so applications such as +shairport-sync will know that they must link with -lavutil when +building statically + +Fixes: + - http://autobuild.buildroot.org/results/839c0ce6475accc1de7e8a180d4358edb6750c64 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://sourceforge.net/p/soxr/code/merge-requests/2] +[Thomas: move to Libs.private.] +Signed-off-by: Thomas Petazzoni +--- + src/soxr.pc.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/soxr.pc.in b/src/soxr.pc.in +index 69d225b..ed212a8 100644 +--- a/src/soxr.pc.in ++++ b/src/soxr.pc.in +@@ -2,4 +2,5 @@ Name: ${PROJECT_NAME} + Description: ${DESCRIPTION_SUMMARY} + Version: ${PROJECT_VERSION} + Libs: -L${LIB_INSTALL_DIR} -l${PROJECT_NAME} ++Libs.private: ${AVUTIL_LIBRARIES} + Cflags: -I${INCLUDE_INSTALL_DIR} +-- +2.19.1 + diff --git a/buildroot/package/libsoxr/libsoxr.hash b/buildroot/package/libsoxr/libsoxr.hash index 066b546e6..1ea0c3ace 100644 --- a/buildroot/package/libsoxr/libsoxr.hash +++ b/buildroot/package/libsoxr/libsoxr.hash @@ -1,5 +1,7 @@ # From http://sourceforge.net/projects/soxr/files/ -sha1 3b990f91dc8dc08e70626cd5fb90deda0239c211 soxr-0.1.2-Source.tar.xz -md5 0866fc4320e26f47152798ac000de1c0 soxr-0.1.2-Source.tar.xz +sha1 32ea46b1a8c0c15f835422892d02fce8286aec3c soxr-0.1.3-Source.tar.xz +md5 3f16f4dcb35b471682d4321eda6f6c08 soxr-0.1.3-Source.tar.xz # Locally calculated -sha256 54e6f434f1c491388cd92f0e3c47f1ade082cc24327bdc43762f7d1eefe0c275 soxr-0.1.2-Source.tar.xz +sha256 b111c15fdc8c029989330ff559184198c161100a59312f5dc19ddeb9b5a15889 soxr-0.1.3-Source.tar.xz +sha256 dc98676341fdcd29d9f279c9679d6a75288785b174ded8d1b2e316c366166135 LICENCE +sha256 f2f118b9029ec1871b953639ecc46651b2fc7b62e295e6cf3ef2ac4c9a058b33 COPYING.LGPL diff --git a/buildroot/package/libsoxr/libsoxr.mk b/buildroot/package/libsoxr/libsoxr.mk index c1dc4b084..b34962c4a 100644 --- a/buildroot/package/libsoxr/libsoxr.mk +++ b/buildroot/package/libsoxr/libsoxr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSOXR_VERSION = 0.1.2 +LIBSOXR_VERSION = 0.1.3 LIBSOXR_SOURCE = soxr-$(LIBSOXR_VERSION)-Source.tar.xz LIBSOXR_SITE = http://downloads.sourceforge.net/project/soxr LIBSOXR_LICENSE = LGPL-2.1+ @@ -18,4 +18,8 @@ else LIBSOXR_CONF_OPTS += -DHAVE_WORDS_BIGENDIAN=0 endif +ifeq ($(BR2_PACKAGE_FFMPEG),y) +LIBSOXR_DEPENDENCIES += ffmpeg +endif + $(eval $(cmake-package)) diff --git a/buildroot/package/libsrtp/0001-Rename-SHA1-functions-to-avoid-conflicts-with-downst.patch b/buildroot/package/libsrtp/0001-Rename-SHA1-functions-to-avoid-conflicts-with-downst.patch deleted file mode 100644 index 60a123ecc..000000000 --- a/buildroot/package/libsrtp/0001-Rename-SHA1-functions-to-avoid-conflicts-with-downst.patch +++ /dev/null @@ -1,396 +0,0 @@ -From f76eb65d008d0c8e06698e4a63a776e91b80155b Mon Sep 17 00:00:00 2001 -From: jfigus -Date: Tue, 4 Nov 2014 14:54:02 -0500 -Subject: [PATCH] Rename SHA1 functions to avoid conflicts with downstream - packages. - -Backported from upstream commit c270245a94ae9a007202754eb8f7ce9e48f97007 -and tweaked to apply on top of v1.5.4. - -Signed-off-by: Vicente Olivert Riera ---- - crypto/hash/hmac.c | 20 ++++++++++---------- - crypto/hash/hmac_ossl.c | 18 +++++++++--------- - crypto/hash/sha1.c | 32 ++++++++++++++++---------------- - crypto/include/hmac.h | 4 ++-- - crypto/include/sha1.h | 34 +++++++++++++++++----------------- - crypto/test/sha1_driver.c | 8 ++++---- - 6 files changed, 58 insertions(+), 58 deletions(-) - -diff --git a/crypto/hash/hmac.c b/crypto/hash/hmac.c -index ddb75ea..4bed61e 100644 ---- a/crypto/hash/hmac.c -+++ b/crypto/hash/hmac.c -@@ -141,11 +141,11 @@ hmac_init(hmac_ctx_t *state, const uint8_t *key, int key_len) { - debug_print(mod_hmac, "ipad: %s", octet_string_hex_string(ipad, 64)); - - /* initialize sha1 context */ -- sha1_init(&state->init_ctx); -+ srtp_sha1_init(&state->init_ctx); - - /* hash ipad ^ key */ -- sha1_update(&state->init_ctx, ipad, 64); -- memcpy(&state->ctx, &state->init_ctx, sizeof(sha1_ctx_t)); -+ srtp_sha1_update(&state->init_ctx, ipad, 64); -+ memcpy(&state->ctx, &state->init_ctx, sizeof(srtp_sha1_ctx_t)); - - return err_status_ok; - } -@@ -153,7 +153,7 @@ hmac_init(hmac_ctx_t *state, const uint8_t *key, int key_len) { - err_status_t - hmac_start(hmac_ctx_t *state) { - -- memcpy(&state->ctx, &state->init_ctx, sizeof(sha1_ctx_t)); -+ memcpy(&state->ctx, &state->init_ctx, sizeof(srtp_sha1_ctx_t)); - - return err_status_ok; - } -@@ -165,7 +165,7 @@ hmac_update(hmac_ctx_t *state, const uint8_t *message, int msg_octets) { - octet_string_hex_string(message, msg_octets)); - - /* hash message into sha1 context */ -- sha1_update(&state->ctx, message, msg_octets); -+ srtp_sha1_update(&state->ctx, message, msg_octets); - - return err_status_ok; - } -@@ -183,7 +183,7 @@ hmac_compute(hmac_ctx_t *state, const void *message, - - /* hash message, copy output into H */ - hmac_update(state, (const uint8_t*)message, msg_octets); -- sha1_final(&state->ctx, H); -+ srtp_sha1_final(&state->ctx, H); - - /* - * note that we don't need to debug_print() the input, since the -@@ -193,16 +193,16 @@ hmac_compute(hmac_ctx_t *state, const void *message, - octet_string_hex_string((uint8_t *)H, 20)); - - /* re-initialize hash context */ -- sha1_init(&state->ctx); -+ srtp_sha1_init(&state->ctx); - - /* hash opad ^ key */ -- sha1_update(&state->ctx, (uint8_t *)state->opad, 64); -+ srtp_sha1_update(&state->ctx, (uint8_t *)state->opad, 64); - - /* hash the result of the inner hash */ -- sha1_update(&state->ctx, (uint8_t *)H, 20); -+ srtp_sha1_update(&state->ctx, (uint8_t *)H, 20); - - /* the result is returned in the array hash_value[] */ -- sha1_final(&state->ctx, hash_value); -+ srtp_sha1_final(&state->ctx, hash_value); - - /* copy hash_value to *result */ - for (i=0; i < tag_len; i++) -diff --git a/crypto/hash/hmac_ossl.c b/crypto/hash/hmac_ossl.c -index f62ce57..2ec8350 100644 ---- a/crypto/hash/hmac_ossl.c -+++ b/crypto/hash/hmac_ossl.c -@@ -163,11 +163,11 @@ hmac_init (hmac_ctx_t *state, const uint8_t *key, int key_len) - debug_print(mod_hmac, "ipad: %s", octet_string_hex_string(ipad, sizeof(ipad))); - - /* initialize sha1 context */ -- sha1_init(&state->init_ctx); -+ srtp_sha1_init(&state->init_ctx); - state->init_ctx_initialized = 1; - - /* hash ipad ^ key */ -- sha1_update(&state->init_ctx, ipad, sizeof(ipad)); -+ srtp_sha1_update(&state->init_ctx, ipad, sizeof(ipad)); - return (hmac_start(state)); - } - -@@ -192,7 +192,7 @@ hmac_update (hmac_ctx_t *state, const uint8_t *message, int msg_octets) - octet_string_hex_string(message, msg_octets)); - - /* hash message into sha1 context */ -- sha1_update(&state->ctx, message, msg_octets); -+ srtp_sha1_update(&state->ctx, message, msg_octets); - - return err_status_ok; - } -@@ -211,8 +211,8 @@ hmac_compute (hmac_ctx_t *state, const void *message, - } - - /* hash message, copy output into H */ -- sha1_update(&state->ctx, message, msg_octets); -- sha1_final(&state->ctx, H); -+ srtp_sha1_update(&state->ctx, message, msg_octets); -+ srtp_sha1_final(&state->ctx, H); - - /* - * note that we don't need to debug_print() the input, since the -@@ -222,16 +222,16 @@ hmac_compute (hmac_ctx_t *state, const void *message, - octet_string_hex_string((uint8_t*)H, sizeof(H))); - - /* re-initialize hash context */ -- sha1_init(&state->ctx); -+ srtp_sha1_init(&state->ctx); - - /* hash opad ^ key */ -- sha1_update(&state->ctx, (uint8_t*)state->opad, sizeof(state->opad)); -+ srtp_sha1_update(&state->ctx, (uint8_t*)state->opad, sizeof(state->opad)); - - /* hash the result of the inner hash */ -- sha1_update(&state->ctx, (uint8_t*)H, sizeof(H)); -+ srtp_sha1_update(&state->ctx, (uint8_t*)H, sizeof(H)); - - /* the result is returned in the array hash_value[] */ -- sha1_final(&state->ctx, hash_value); -+ srtp_sha1_final(&state->ctx, hash_value); - - /* copy hash_value to *result */ - for (i = 0; i < tag_len; i++) { -diff --git a/crypto/hash/sha1.c b/crypto/hash/sha1.c -index c200437..29c2e62 100644 ---- a/crypto/hash/sha1.c -+++ b/crypto/hash/sha1.c -@@ -77,17 +77,17 @@ uint32_t SHA_K2 = 0x8F1BBCDC; /* Kt for 40 <= t <= 59 */ - uint32_t SHA_K3 = 0xCA62C1D6; /* Kt for 60 <= t <= 79 */ - - void --sha1(const uint8_t *msg, int octets_in_msg, uint32_t hash_value[5]) { -- sha1_ctx_t ctx; -+srtp_sha1(const uint8_t *msg, int octets_in_msg, uint32_t hash_value[5]) { -+ srtp_sha1_ctx_t ctx; - -- sha1_init(&ctx); -- sha1_update(&ctx, msg, octets_in_msg); -- sha1_final(&ctx, hash_value); -+ srtp_sha1_init(&ctx); -+ srtp_sha1_update(&ctx, msg, octets_in_msg); -+ srtp_sha1_final(&ctx, hash_value); - - } - - /* -- * sha1_core(M, H) computes the core compression function, where M is -+ * srtp_sha1_core(M, H) computes the core compression function, where M is - * the next part of the message (in network byte order) and H is the - * intermediate state { H0, H1, ...} (in host byte order) - * -@@ -99,7 +99,7 @@ sha1(const uint8_t *msg, int octets_in_msg, uint32_t hash_value[5]) { - */ - - void --sha1_core(const uint32_t M[16], uint32_t hash_value[5]) { -+srtp_sha1_core(const uint32_t M[16], uint32_t hash_value[5]) { - uint32_t H0; - uint32_t H1; - uint32_t H2; -@@ -186,7 +186,7 @@ sha1_core(const uint32_t M[16], uint32_t hash_value[5]) { - } - - void --sha1_init(sha1_ctx_t *ctx) { -+srtp_sha1_init(srtp_sha1_ctx_t *ctx) { - - /* initialize state vector */ - ctx->H[0] = 0x67452301; -@@ -204,7 +204,7 @@ sha1_init(sha1_ctx_t *ctx) { - } - - void --sha1_update(sha1_ctx_t *ctx, const uint8_t *msg, int octets_in_msg) { -+srtp_sha1_update(srtp_sha1_ctx_t *ctx, const uint8_t *msg, int octets_in_msg) { - int i; - uint8_t *buf = (uint8_t *)ctx->M; - -@@ -227,13 +227,13 @@ sha1_update(sha1_ctx_t *ctx, const uint8_t *msg, int octets_in_msg) { - - /* process a whole block */ - -- debug_print(mod_sha1, "(update) running sha1_core()", NULL); -+ debug_print(mod_sha1, "(update) running srtp_sha1_core()", NULL); - -- sha1_core(ctx->M, ctx->H); -+ srtp_sha1_core(ctx->M, ctx->H); - - } else { - -- debug_print(mod_sha1, "(update) not running sha1_core()", NULL); -+ debug_print(mod_sha1, "(update) not running srtp_sha1_core()", NULL); - - for (i=ctx->octets_in_buffer; - i < (ctx->octets_in_buffer + octets_in_msg); i++) -@@ -247,12 +247,12 @@ sha1_update(sha1_ctx_t *ctx, const uint8_t *msg, int octets_in_msg) { - } - - /* -- * sha1_final(ctx, output) computes the result for ctx and copies it -+ * srtp_sha1_final(ctx, output) computes the result for ctx and copies it - * into the twenty octets located at *output - */ - - void --sha1_final(sha1_ctx_t *ctx, uint32_t *output) { -+srtp_sha1_final(srtp_sha1_ctx_t *ctx, uint32_t *output) { - uint32_t A, B, C, D, E, TEMP; - uint32_t W[80]; - int i, t; -@@ -339,11 +339,11 @@ sha1_final(sha1_ctx_t *ctx, uint32_t *output) { - - } - -- debug_print(mod_sha1, "(final) running sha1_core()", NULL); -+ debug_print(mod_sha1, "(final) running srtp_sha1_core()", NULL); - - if (ctx->octets_in_buffer >= 56) { - -- debug_print(mod_sha1, "(final) running sha1_core() again", NULL); -+ debug_print(mod_sha1, "(final) running srtp_sha1_core() again", NULL); - - /* we need to do one final run of the compression algo */ - -diff --git a/crypto/include/hmac.h b/crypto/include/hmac.h -index 875f45c..9fc664e 100644 ---- a/crypto/include/hmac.h -+++ b/crypto/include/hmac.h -@@ -51,8 +51,8 @@ - - typedef struct { - uint8_t opad[64]; -- sha1_ctx_t ctx; -- sha1_ctx_t init_ctx; -+ srtp_sha1_ctx_t ctx; -+ srtp_sha1_ctx_t init_ctx; - #ifdef OPENSSL - int ctx_initialized; - int init_ctx_initialized; -diff --git a/crypto/include/sha1.h b/crypto/include/sha1.h -index f1744ce..e177af6 100644 ---- a/crypto/include/sha1.h -+++ b/crypto/include/sha1.h -@@ -56,15 +56,15 @@ - #include - #include - --typedef EVP_MD_CTX sha1_ctx_t; -+typedef EVP_MD_CTX srtp_sha1_ctx_t; - - /* -- * sha1_init(&ctx) initializes the SHA1 context ctx -+ * srtp_sha1_init(&ctx) initializes the SHA1 context ctx - * -- * sha1_update(&ctx, msg, len) hashes the len octets starting at msg -+ * srtp_sha1_update(&ctx, msg, len) hashes the len octets starting at msg - * into the SHA1 context - * -- * sha1_final(&ctx, output) performs the final processing of the SHA1 -+ * srtp_sha1_final(&ctx, output) performs the final processing of the SHA1 - * context and writes the result to the 20 octets at output - * - * Return values are ignored on the EVP functions since all three -@@ -72,18 +72,18 @@ typedef EVP_MD_CTX sha1_ctx_t; - * - */ - --static inline void sha1_init (sha1_ctx_t *ctx) -+static inline void srtp_sha1_init (srtp_sha1_ctx_t *ctx) - { - EVP_MD_CTX_init(ctx); - EVP_DigestInit(ctx, EVP_sha1()); - } - --static inline void sha1_update (sha1_ctx_t *ctx, const uint8_t *M, int octets_in_msg) -+static inline void srtp_sha1_update (srtp_sha1_ctx_t *ctx, const uint8_t *M, int octets_in_msg) - { - EVP_DigestUpdate(ctx, M, octets_in_msg); - } - --static inline void sha1_final (sha1_ctx_t *ctx, uint32_t *output) -+static inline void srtp_sha1_final (srtp_sha1_ctx_t *ctx, uint32_t *output) - { - unsigned int len = 0; - -@@ -97,7 +97,7 @@ typedef struct { - uint32_t M[16]; /* message buffer */ - int octets_in_buffer; /* octets of message in buffer */ - uint32_t num_bits_in_msg; /* total number of bits in message */ --} sha1_ctx_t; -+} srtp_sha1_ctx_t; - - /* - * sha1(&ctx, msg, len, output) hashes the len octets starting at msg -@@ -110,33 +110,33 @@ void - sha1(const uint8_t *message, int octets_in_msg, uint32_t output[5]); - - /* -- * sha1_init(&ctx) initializes the SHA1 context ctx -+ * srtp_sha1_init(&ctx) initializes the SHA1 context ctx - * -- * sha1_update(&ctx, msg, len) hashes the len octets starting at msg -+ * srtp_sha1_update(&ctx, msg, len) hashes the len octets starting at msg - * into the SHA1 context - * -- * sha1_final(&ctx, output) performs the final processing of the SHA1 -+ * srtp_sha1_final(&ctx, output) performs the final processing of the SHA1 - * context and writes the result to the 20 octets at output - * - */ - - void --sha1_init(sha1_ctx_t *ctx); -+srtp_sha1_init(srtp_sha1_ctx_t *ctx); - - void --sha1_update(sha1_ctx_t *ctx, const uint8_t *M, int octets_in_msg); -+srtp_sha1_update(srtp_sha1_ctx_t *ctx, const uint8_t *M, int octets_in_msg); - - void --sha1_final(sha1_ctx_t *ctx, uint32_t output[5]); -+srtp_sha1_final(srtp_sha1_ctx_t *ctx, uint32_t output[5]); - - /* -- * The sha1_core function is INTERNAL to SHA-1, but it is declared -+ * The srtp_sha1_core function is INTERNAL to SHA-1, but it is declared - * here because it is also used by the cipher SEAL 3.0 in its key - * setup algorithm. - */ - - /* -- * sha1_core(M, H) computes the core sha1 compression function, where M is -+ * srtp_sha1_core(M, H) computes the core sha1 compression function, where M is - * the next part of the message and H is the intermediate state {H0, - * H1, ...} - * -@@ -145,7 +145,7 @@ sha1_final(sha1_ctx_t *ctx, uint32_t output[5]); - */ - - void --sha1_core(const uint32_t M[16], uint32_t hash_value[5]); -+srtp_sha1_core(const uint32_t M[16], uint32_t hash_value[5]); - - #endif /* else OPENSSL */ - -diff --git a/crypto/test/sha1_driver.c b/crypto/test/sha1_driver.c -index 6adfad1..2e19479 100644 ---- a/crypto/test/sha1_driver.c -+++ b/crypto/test/sha1_driver.c -@@ -102,7 +102,7 @@ hash_test_case_add(hash_test_case_t **list_ptr, - - err_status_t - sha1_test_case_validate(const hash_test_case_t *test_case) { -- sha1_ctx_t ctx; -+ srtp_sha1_ctx_t ctx; - uint32_t hash_value[5]; - - if (test_case == NULL) -@@ -113,9 +113,9 @@ sha1_test_case_validate(const hash_test_case_t *test_case) { - if (test_case->data_len > MAX_HASH_DATA_LEN) - return err_status_bad_param; - -- sha1_init(&ctx); -- sha1_update(&ctx, test_case->data, test_case->data_len); -- sha1_final(&ctx, hash_value); -+ srtp_sha1_init(&ctx); -+ srtp_sha1_update(&ctx, test_case->data, test_case->data_len); -+ srtp_sha1_final(&ctx, hash_value); - if (0 == memcmp(test_case->hash, hash_value, 20)) { - #if VERBOSE - printf("PASSED: reference value: %s\n", --- -2.7.3 - diff --git a/buildroot/package/libsrtp/libsrtp.hash b/buildroot/package/libsrtp/libsrtp.hash index cb060d27b..1a88673c8 100644 --- a/buildroot/package/libsrtp/libsrtp.hash +++ b/buildroot/package/libsrtp/libsrtp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 56a7b521c25134f48faff26b0b1e3d4378a14986a2d3d7bc6fefb48987304ff0 libsrtp-v1.5.4.tar.gz +sha256 44fd7497bce78767e96b54a11bca520adb2ad32effd515f04bce602b60a1a50b libsrtp-v2.2.0.tar.gz +sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae LICENSE diff --git a/buildroot/package/libsrtp/libsrtp.mk b/buildroot/package/libsrtp/libsrtp.mk index 9e72856c4..8af463928 100644 --- a/buildroot/package/libsrtp/libsrtp.mk +++ b/buildroot/package/libsrtp/libsrtp.mk @@ -4,18 +4,18 @@ # ################################################################################ -LIBSRTP_VERSION = v1.5.4 +LIBSRTP_VERSION = v2.2.0 LIBSRTP_SITE = $(call github,cisco,libsrtp,$(LIBSRTP_VERSION)) LIBSRTP_INSTALL_STAGING = YES LIBSRTP_LICENSE = BSD-3-Clause LIBSRTP_LICENSE_FILES = LICENSE ifeq ($(BR2_STATIC_LIBS),y) -LIBSRTP_MAKE_OPTS = libsrtp.a +LIBSRTP_MAKE_OPTS = libsrtp2.a else ifeq ($(BR2_SHARED_LIBS),y) LIBSRTP_MAKE_OPTS = shared_library else -LIBSRTP_MAKE_OPTS = libsrtp.a shared_library +LIBSRTP_MAKE_OPTS = libsrtp2.a shared_library endif # While libsrtp is not using pkg-config itself, it checks if diff --git a/buildroot/package/libssh/libssh.hash b/buildroot/package/libssh/libssh.hash index 009a335e3..257b93cb6 100644 --- a/buildroot/package/libssh/libssh.hash +++ b/buildroot/package/libssh/libssh.hash @@ -1,5 +1,5 @@ -# from https://red.libssh.org/projects/libssh/files/ -md5 d3fc864208bf607ad87cdee836894feb libssh-0.7.5.tar.xz -# Locally calculated after checking signature on uncompressed libssh-0.7.5.tar -# https://red.libssh.org/attachments/download/217/libssh-0.7.5.tar.asc -sha256 54e86dd5dc20e5367e58f3caab337ce37675f863f80df85b6b1614966a337095 libssh-0.7.5.tar.xz +# Locally calculated after checking pgp signature +# https://www.libssh.org/files/0.8/libssh-0.8.4.tar.xz.asc +# with key 8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D +sha256 6bb07713021a8586ba2120b2c36c468dc9ac8096d043f9b1726639aa4275b81b libssh-0.8.4.tar.xz +sha256 468cf08f784ef6fd3b3705b60dd8111e2b70fbb8f6549cd503665a6bbb3bc625 COPYING diff --git a/buildroot/package/libssh/libssh.mk b/buildroot/package/libssh/libssh.mk index 34716c502..1ef09b3a2 100644 --- a/buildroot/package/libssh/libssh.mk +++ b/buildroot/package/libssh/libssh.mk @@ -4,9 +4,10 @@ # ################################################################################ -LIBSSH_VERSION = 0.7.5 +LIBSSH_VERSION_MAJOR = 0.8 +LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).4 LIBSSH_SOURCE = libssh-$(LIBSSH_VERSION).tar.xz -LIBSSH_SITE = https://red.libssh.org/attachments/download/218 +LIBSSH_SITE = https://www.libssh.org/files/$(LIBSSH_VERSION_MAJOR) LIBSSH_LICENSE = LGPL-2.1 LIBSSH_LICENSE_FILES = COPYING LIBSSH_INSTALL_STAGING = YES @@ -16,6 +17,9 @@ LIBSSH_CONF_OPTS = \ -DWITH_SERVER=OFF \ -DWITH_EXAMPLES=OFF +# cmake older than 3.10 require this to avoid try_run() in FindThreads +LIBSSH_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF + ifeq ($(BR2_PACKAGE_ZLIB),y) LIBSSH_CONF_OPTS += -DWITH_ZLIB=ON LIBSSH_DEPENDENCIES += zlib diff --git a/buildroot/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch b/buildroot/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch index 76e08c51a..a70b1fe84 100644 --- a/buildroot/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch +++ b/buildroot/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch @@ -8,6 +8,10 @@ libssh2.pc contains correct info for the benefit of pkg-config users. Static link with libssh2 requires this information. Signed-off-by: Baruch Siach +[Fabrice: Replace $LIBMBEDCRYTO by -lmdedcrypto to avoid adding a full +library path to libssh2.pc as it raises build failures on some packages +such as xerces] +Signed-off-by: Fabrice Fontaine --- Upstream status: https://github.com/libssh2/libssh2/pull/242 @@ -22,7 +26,7 @@ index c0e89a1a0c98..02c70845d27c 100644 [mbedtls], [ LIBSSH2_LIB_HAVE_LINKFLAGS([mbedcrypto], [], [#include ], [ AC_DEFINE(LIBSSH2_MBEDTLS, 1, [Use $1]) -+ LIBS="$LIBS $LIBMBEDCRYPTO" ++ LIBS="$LIBS -lmbedcrypto" found_crypto="$1" support_clear_memory=yes ]) diff --git a/buildroot/package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch b/buildroot/package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch new file mode 100644 index 000000000..44eed2bac --- /dev/null +++ b/buildroot/package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch @@ -0,0 +1,51 @@ +From 28fe5e4de437f8fce6e428b7db9bc8640cda4c61 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Thu, 13 Sep 2018 09:51:35 +0200 +Subject: [PATCH] openssl: fix dereferencing ambiguity potentially causing + build failure +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When dereferencing from *aes_ctr_cipher, being a pointer itself, +ambiguity can occur with compiler and build can fail reporting: +openssl.c:574:20: error: ‘*aes_ctr_cipher’ is a pointer; did you mean to use ‘->’? + *aes_ctr_cipher->nid = type; + +Sorround every *aes_ctr_cipher-> occurence with paranthesis like this +(*aes_ctr_cipher)-> + +Signed-off-by: Giulio Benetti +Upstream: https://github.com/libssh2/libssh2/commit/b5b6673c2823a18753a14571a6c01bde33fa3a8b +--- + src/openssl.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/openssl.c b/src/openssl.c +index 678d5de..c26aaec 100644 +--- a/src/openssl.c ++++ b/src/openssl.c +@@ -571,13 +571,13 @@ make_ctr_evp (size_t keylen, EVP_CIPHER **aes_ctr_cipher, int type) + EVP_CIPHER_meth_set_cleanup(*aes_ctr_cipher, aes_ctr_cleanup); + } + #else +- *aes_ctr_cipher->nid = type; +- *aes_ctr_cipher->block_size = 16; +- *aes_ctr_cipher->key_len = keylen; +- *aes_ctr_cipher->iv_len = 16; +- *aes_ctr_cipher->init = aes_ctr_init; +- *aes_ctr_cipher->do_cipher = aes_ctr_do_cipher; +- *aes_ctr_cipher->cleanup = aes_ctr_cleanup; ++ (*aes_ctr_cipher)->nid = type; ++ (*aes_ctr_cipher)->block_size = 16; ++ (*aes_ctr_cipher)->key_len = keylen; ++ (*aes_ctr_cipher)->iv_len = 16; ++ (*aes_ctr_cipher)->init = aes_ctr_init; ++ (*aes_ctr_cipher)->do_cipher = aes_ctr_do_cipher; ++ (*aes_ctr_cipher)->cleanup = aes_ctr_cleanup; + #endif + + return *aes_ctr_cipher; +-- +2.17.1 + diff --git a/buildroot/package/libssh2/libssh2.hash b/buildroot/package/libssh2/libssh2.hash index d36262ad9..d57c8d706 100644 --- a/buildroot/package/libssh2/libssh2.hash +++ b/buildroot/package/libssh2/libssh2.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 e73d55cd512863aa6423c6e137039e3e1bcbf5ba87f130e7441132c2c78a5425 libssh2-616fd4d1b3e4a55de67c48819fefca83132126b5.tar.gz +sha256 ec2b32b44ae5f8fe094f663f63953fb31314de838eb36e8c47e5a89137b5a1bc libssh2-8b870ad771cbd9cd29edbb3dbb0878e950f868ab.tar.gz +sha256 e15ed284a15e80115467d6d7f030f0d89d8fabbecd78fb6e0f861f0cfc128fd9 COPYING diff --git a/buildroot/package/libssh2/libssh2.mk b/buildroot/package/libssh2/libssh2.mk index c5b0bd855..89cb73322 100644 --- a/buildroot/package/libssh2/libssh2.mk +++ b/buildroot/package/libssh2/libssh2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSSH2_VERSION = 616fd4d1b3e4a55de67c48819fefca83132126b5 +LIBSSH2_VERSION = 8b870ad771cbd9cd29edbb3dbb0878e950f868ab LIBSSH2_SITE = $(call github,libssh2,libssh2,$(LIBSSH2_VERSION)) LIBSSH2_LICENSE = BSD LIBSSH2_LICENSE_FILES = COPYING @@ -42,7 +42,7 @@ endif HOST_LIBSSH2_DEPENDENCIES += host-openssl HOST_LIBSSH2_CONF_OPTS += --with-openssl \ - --with-libssl-prefix=$(HOST_DIR)/usr \ + --with-libssl-prefix=$(HOST_DIR) \ --without-libgcrypt $(eval $(autotools-package)) diff --git a/buildroot/package/libstrophe/0001-Namespace-SHA-functions.patch b/buildroot/package/libstrophe/0001-Namespace-SHA-functions.patch deleted file mode 100644 index 8c3451bba..000000000 --- a/buildroot/package/libstrophe/0001-Namespace-SHA-functions.patch +++ /dev/null @@ -1,189 +0,0 @@ -From b08766c8e46956daba010044b00c97f78b598780 Mon Sep 17 00:00:00 2001 -From: Michael Santos -Date: Sun, 24 May 2015 10:55:02 -0400 -Subject: [PATCH] Namespace SHA functions - -Fix statically linking against libstrophe by renaming the internal SHA -functions: - -https://github.com/strophe/libstrophe/issues/40 - -Although the same function names are used by libstrophe and OpenSSL, -the signatures and contexts of the SHA functions differ, resulting in -a segfault if the OpenSSL versions are substituted. - -[Upstream commit: https://github.com/msantos/libstrophe/commit/b08766c8e46956daba010044b00c97f78b598780] -Signed-off-by: Thomas Petazzoni ---- - src/auth.c | 8 ++++---- - src/scram.c | 22 +++++++++++----------- - src/sha1.c | 30 +++++++++++++++--------------- - src/sha1.h | 6 +++--- - 4 files changed, 33 insertions(+), 33 deletions(-) - -diff --git a/src/auth.c b/src/auth.c -index b06f18c..3506977 100644 ---- a/src/auth.c -+++ b/src/auth.c -@@ -1187,10 +1187,10 @@ int _handle_component_auth(xmpp_conn_t * const conn) - /* Feed the session id and passphrase to the algorithm. - * We need to compute SHA1(session_id + passphrase) - */ -- SHA1_Init(&mdctx); -- SHA1_Update(&mdctx, (uint8_t*)conn->stream_id, strlen(conn->stream_id)); -- SHA1_Update(&mdctx, (uint8_t*)conn->pass, strlen(conn->pass)); -- SHA1_Final(&mdctx, md_value); -+ xmpp_SHA1_Init(&mdctx); -+ xmpp_SHA1_Update(&mdctx, (uint8_t*)conn->stream_id, strlen(conn->stream_id)); -+ xmpp_SHA1_Update(&mdctx, (uint8_t*)conn->pass, strlen(conn->pass)); -+ xmpp_SHA1_Final(&mdctx, md_value); - - digest = xmpp_alloc(conn->ctx, 2*sizeof(md_value)+1); - if (digest) { -diff --git a/src/scram.c b/src/scram.c -index 5cce168..6e420e1 100644 ---- a/src/scram.c -+++ b/src/scram.c -@@ -37,9 +37,9 @@ static void SHA1(const uint8_t* data, size_t len, - uint8_t digest[SHA1_DIGEST_SIZE]) - { - SHA1_CTX ctx; -- SHA1_Init(&ctx); -- SHA1_Update(&ctx, data, len); -- SHA1_Final(&ctx, digest); -+ xmpp_SHA1_Init(&ctx); -+ xmpp_SHA1_Update(&ctx, data, len); -+ xmpp_SHA1_Final(&ctx, digest); - } - - static void HMAC_SHA1(const uint8_t *key, size_t key_len, -@@ -66,15 +66,15 @@ static void HMAC_SHA1(const uint8_t *key, size_t key_len, - key_opad[i] = key_pad[i] ^ opad; - } - -- SHA1_Init(&ctx); -- SHA1_Update(&ctx, key_ipad, BLOCK_SIZE); -- SHA1_Update(&ctx, text, len); -- SHA1_Final(&ctx, sha_digest); -+ xmpp_SHA1_Init(&ctx); -+ xmpp_SHA1_Update(&ctx, key_ipad, BLOCK_SIZE); -+ xmpp_SHA1_Update(&ctx, text, len); -+ xmpp_SHA1_Final(&ctx, sha_digest); - -- SHA1_Init(&ctx); -- SHA1_Update(&ctx, key_opad, BLOCK_SIZE); -- SHA1_Update(&ctx, sha_digest, SHA1_DIGEST_SIZE); -- SHA1_Final(&ctx, digest); -+ xmpp_SHA1_Init(&ctx); -+ xmpp_SHA1_Update(&ctx, key_opad, BLOCK_SIZE); -+ xmpp_SHA1_Update(&ctx, sha_digest, SHA1_DIGEST_SIZE); -+ xmpp_SHA1_Final(&ctx, digest); - } - - static void SCRAM_SHA1_Hi(const uint8_t *text, size_t len, -diff --git a/src/sha1.c b/src/sha1.c -index 9af4f04..b60b325 100644 ---- a/src/sha1.c -+++ b/src/sha1.c -@@ -202,7 +202,7 @@ static void SHA1_Transform(uint32_t state[5], const uint8_t buffer[64]) - - - /* SHA1Init - Initialize new context */ --void SHA1_Init(SHA1_CTX* context) -+void xmpp_SHA1_Init(SHA1_CTX* context) - { - /* SHA1 initialization constants */ - context->state[0] = 0x67452301; -@@ -215,7 +215,7 @@ void SHA1_Init(SHA1_CTX* context) - - - /* Run your data through this. */ --void SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len) -+void xmpp_SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len) - { - size_t i, j; - -@@ -244,7 +244,7 @@ void SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len) - - - /* Add padding and return the message digest. */ --void SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]) -+void xmpp_SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]) - { - uint32_t i; - uint8_t finalcount[8]; -@@ -253,11 +253,11 @@ void SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]) - finalcount[i] = (unsigned char)((context->count[(i >= 4 ? 0 : 1)] - >> ((3-(i & 3)) * 8) ) & 255); /* Endian independent */ - } -- SHA1_Update(context, (uint8_t *)"\200", 1); -+ xmpp_SHA1_Update(context, (uint8_t *)"\200", 1); - while ((context->count[0] & 504) != 448) { -- SHA1_Update(context, (uint8_t *)"\0", 1); -+ xmpp_SHA1_Update(context, (uint8_t *)"\0", 1); - } -- SHA1_Update(context, finalcount, 8); /* Should cause a SHA1_Transform() */ -+ xmpp_SHA1_Update(context, finalcount, 8); /* Should cause a SHA1_Transform() */ - for (i = 0; i < SHA1_DIGEST_SIZE; i++) { - digest[i] = (uint8_t) - ((context->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255); -@@ -300,12 +300,12 @@ FILE* file; - return(-1); - } - } -- SHA1_Init(&context); -+ xmpp_SHA1_Init(&context); - while (!feof(file)) { /* note: what if ferror(file) */ - i = fread(buffer, 1, 16384, file); -- SHA1_Update(&context, buffer, i); -+ xmpp_SHA1_Update(&context, buffer, i); - } -- SHA1_Final(&context, digest); -+ xmpp_SHA1_Final(&context, digest); - fclose(file); - for (i = 0; i < SHA1_DIGEST_SIZE/4; i++) { - for (j = 0; j < 4; j++) { -@@ -358,9 +358,9 @@ int main(int argc, char** argv) - fprintf(stdout, "verifying SHA-1 implementation... "); - - for (k = 0; k < 2; k++){ -- SHA1_Init(&context); -- SHA1_Update(&context, (uint8_t*)test_data[k], strlen(test_data[k])); -- SHA1_Final(&context, digest); -+ xmpp_SHA1_Init(&context); -+ xmpp_SHA1_Update(&context, (uint8_t*)test_data[k], strlen(test_data[k])); -+ xmpp_SHA1_Final(&context, digest); - digest_to_hex(digest, output); - - if (strcmp(output, test_results[k])) { -@@ -372,10 +372,10 @@ int main(int argc, char** argv) - } - } - /* million 'a' vector we feed separately */ -- SHA1_Init(&context); -+ xmpp_SHA1_Init(&context); - for (k = 0; k < 1000000; k++) -- SHA1_Update(&context, (uint8_t*)"a", 1); -- SHA1_Final(&context, digest); -+ xmpp_SHA1_Update(&context, (uint8_t*)"a", 1); -+ xmpp_SHA1_Final(&context, digest); - digest_to_hex(digest, output); - if (strcmp(output, test_results[2])) { - fprintf(stdout, "FAIL\n"); -diff --git a/src/sha1.h b/src/sha1.h -index 10266cb..7ff48d7 100644 ---- a/src/sha1.h -+++ b/src/sha1.h -@@ -23,9 +23,9 @@ typedef struct { - - #define SHA1_DIGEST_SIZE 20 - --void SHA1_Init(SHA1_CTX* context); --void SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len); --void SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]); -+void xmpp_SHA1_Init(SHA1_CTX* context); -+void xmpp_SHA1_Update(SHA1_CTX* context, const uint8_t* data, const size_t len); -+void xmpp_SHA1_Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]); - - #ifdef __cplusplus - } diff --git a/buildroot/package/libstrophe/0002-make-autoreconfable.patch b/buildroot/package/libstrophe/0001-make-autoreconfable.patch similarity index 100% rename from buildroot/package/libstrophe/0002-make-autoreconfable.patch rename to buildroot/package/libstrophe/0001-make-autoreconfable.patch diff --git a/buildroot/package/libstrophe/libstrophe.hash b/buildroot/package/libstrophe/libstrophe.hash index 6a2d99706..72eb38652 100644 --- a/buildroot/package/libstrophe/libstrophe.hash +++ b/buildroot/package/libstrophe/libstrophe.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 08f4a85ef419a8bdf08b6afa8f7b2a0e5e180fdc9c16cede81af672ec10e21e7 libstrophe-0.8.8.tar.gz +sha256 158145bc1565a5fd0bbd7f57e3e15d768e58b8a460897ab5918a5a689d67ae6f libstrophe-0.9.2.tar.gz +sha256 82476f36ffd5e895a176013c0812166ba7b7d99f3d536fc7f5ed2e33e9f74a08 MIT-LICENSE.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 GPL-LICENSE.txt diff --git a/buildroot/package/libstrophe/libstrophe.mk b/buildroot/package/libstrophe/libstrophe.mk index 4b5a10a55..7445caa67 100644 --- a/buildroot/package/libstrophe/libstrophe.mk +++ b/buildroot/package/libstrophe/libstrophe.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSTROPHE_VERSION = 0.8.8 +LIBSTROPHE_VERSION = 0.9.2 LIBSTROPHE_SITE = $(call github,strophe,libstrophe,$(LIBSTROPHE_VERSION)) LIBSTROPHE_DEPENDENCIES = openssl host-pkgconf # Doesn't ship configure @@ -14,9 +14,7 @@ LIBSTROPHE_LICENSE_FILES = MIT-LICENSE.txt GPL-LICENSE.txt LIBSTROPHE_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_EXPAT),y) -# Passing --without-libxml2 doesn't work, due to how AC_ARG_WITH is -# used in configure.ac. As long as --with-libxml2 is *not* passed, the -# configure script assumes expat should be used. +LIBSTROPHE_CONF_OPTS += --without-libxml2 LIBSTROPHE_DEPENDENCIES += expat else LIBSTROPHE_CONF_OPTS += --with-libxml2 diff --git a/buildroot/package/libtirpc/0006-include-stdint.h-for-uintptr_t.patch b/buildroot/package/libtirpc/0006-include-stdint.h-for-uintptr_t.patch deleted file mode 100644 index 62031613d..000000000 --- a/buildroot/package/libtirpc/0006-include-stdint.h-for-uintptr_t.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 18f8a605e176f0362da22fd1203eb7cedb136aaf Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 20 Jun 2017 22:06:35 +0200 -Subject: [PATCH] include stdint.h for uintptr_t - -Fixes -| ../../libtirpc-1.0.1/src/xdr_sizeof.c:93:13: error: 'uintptr_t' undeclared (first use in this function); did you mean '__intptr_t'? -| if (len < (uintptr_t)xdrs->x_base) { -| ^~~~~~~~~ - -Signed-off-by: Khem Raj -Signed-off-by: Dmitrii Kolesnichenko ---- - src/xdr_sizeof.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/xdr_sizeof.c b/src/xdr_sizeof.c -index d23fbd1..79d6707 100644 ---- a/src/xdr_sizeof.c -+++ b/src/xdr_sizeof.c -@@ -39,6 +39,7 @@ - #include - #include - #include -+#include - #include "un-namespace.h" - - /* ARGSUSED */ --- -2.9.4 - diff --git a/buildroot/package/libtirpc/0006-rpc-types.h-fix-musl-build.patch b/buildroot/package/libtirpc/0006-rpc-types.h-fix-musl-build.patch new file mode 100644 index 000000000..d4bcd8099 --- /dev/null +++ b/buildroot/package/libtirpc/0006-rpc-types.h-fix-musl-build.patch @@ -0,0 +1,31 @@ +From 238f0a870f577e8fffd92820e1c1a88d4fc6d35f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 10 Jun 2018 19:48:21 +0200 +Subject: [PATCH] rpc/types.h: fix musl build + +Don't redefine existing typedef (u_char, u_long, ...) on musl + +Fixes: + - http://autobuild.buildroot.net/results/dbc07e383605a84eb19a2fd1899668612212518a + +Signed-off-by: Fabrice Fontaine +--- + tirpc/rpc/types.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tirpc/rpc/types.h b/tirpc/rpc/types.h +index f069efa..0153a5c 100644 +--- a/tirpc/rpc/types.h ++++ b/tirpc/rpc/types.h +@@ -66,7 +66,7 @@ typedef int32_t rpc_inline_t; + #define mem_free(ptr, bsize) free(ptr) + + +-#if defined __APPLE_CC__ || defined __FreeBSD__ ++#if defined __APPLE_CC__ || defined __FreeBSD__ || !defined (__GLIBC__) + # define __u_char_defined + # define __daddr_t_defined + #endif +-- +2.14.1 + diff --git a/buildroot/package/libtirpc/libtirpc.hash b/buildroot/package/libtirpc/libtirpc.hash index 35ac6a227..643a5d205 100644 --- a/buildroot/package/libtirpc/libtirpc.hash +++ b/buildroot/package/libtirpc/libtirpc.hash @@ -1,4 +1,5 @@ # From sourceforge's info on download page: -sha1 2a8dc0e6eecc45be6597c8287b1d8e15cbee46e3 libtirpc-1.0.2.tar.bz2 +sha1 48adb32dc7c3b73c66f001c239da76b8398abf11 libtirpc-1.0.3.tar.bz2 # Locally computed -sha256 723c5ce92706cbb601a8db09110df1b4b69391643158f20ff587e20e7c5f90f5 libtirpc-1.0.2.tar.bz2 +sha256 86c3a78fc1bddefa96111dd233124c703b22a78884203c55c3e06b3be6a0fd5e libtirpc-1.0.3.tar.bz2 +sha256 17cf6098f95bdbb269f0bbc68e76c88fe20487ca7ec53f454923ab4256ecd2e7 COPYING diff --git a/buildroot/package/libtirpc/libtirpc.mk b/buildroot/package/libtirpc/libtirpc.mk index 319b78c3f..36f9f7ef2 100644 --- a/buildroot/package/libtirpc/libtirpc.mk +++ b/buildroot/package/libtirpc/libtirpc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTIRPC_VERSION = 1.0.2 +LIBTIRPC_VERSION = 1.0.3 LIBTIRPC_SOURCE = libtirpc-$(LIBTIRPC_VERSION).tar.bz2 LIBTIRPC_SITE = http://downloads.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION) LIBTIRPC_LICENSE = BSD-3-Clause diff --git a/buildroot/package/libtomcrypt/libtomcrypt.hash b/buildroot/package/libtomcrypt/libtomcrypt.hash index be8e9b1bc..3820f8d72 100644 --- a/buildroot/package/libtomcrypt/libtomcrypt.hash +++ b/buildroot/package/libtomcrypt/libtomcrypt.hash @@ -1,2 +1,5 @@ # Locally computed -sha256 57c13a34fbfd45696189d19e47864e48f4e5c11590c29b444accb8edbf047f14 crypt-1.18.1.tar.xz +sha256 96ad4c3b8336050993c5bc2cf6c057484f2b0f9f763448151567fbab5e767b84 crypt-1.18.2.tar.xz + +# Hash for license file: +sha256 8f196cb13afd271f5e267fd29543fc454596382ad580e7592709492843996ac8 LICENSE diff --git a/buildroot/package/libtomcrypt/libtomcrypt.mk b/buildroot/package/libtomcrypt/libtomcrypt.mk index ff6222cc9..583bcb15f 100644 --- a/buildroot/package/libtomcrypt/libtomcrypt.mk +++ b/buildroot/package/libtomcrypt/libtomcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTOMCRYPT_VERSION = 1.18.1 +LIBTOMCRYPT_VERSION = 1.18.2 LIBTOMCRYPT_SITE = https://github.com/libtom/libtomcrypt/releases/download/v$(LIBTOMCRYPT_VERSION) LIBTOMCRYPT_SOURCE = crypt-$(LIBTOMCRYPT_VERSION).tar.xz LIBTOMCRYPT_LICENSE = WTFPL diff --git a/buildroot/package/libtorrent/0001-cross_compile.patch b/buildroot/package/libtorrent/0001-Fix-cross-compilation-based-on-OpenWRT-patch.patch similarity index 68% rename from buildroot/package/libtorrent/0001-cross_compile.patch rename to buildroot/package/libtorrent/0001-Fix-cross-compilation-based-on-OpenWRT-patch.patch index abb243820..ba0c6127a 100644 --- a/buildroot/package/libtorrent/0001-cross_compile.patch +++ b/buildroot/package/libtorrent/0001-Fix-cross-compilation-based-on-OpenWRT-patch.patch @@ -1,32 +1,21 @@ -From c4cc0ba76c81e1967c648be423f5f0312ac9d87f Mon Sep 17 00:00:00 2001 +From c99179777d8f4cf69c51378b91ae580c49cb57a2 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Mon, 5 Oct 2015 00:40:25 +0100 Subject: [PATCH] Fix cross compilation, based on OpenWRT patch. [Vincent: tweak the patch for version 0.13.6] +[Bernd: tweak the patch for version 0.13.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 ba994ee..7696466 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -19,7 +19,6 @@ AC_SUBST(LIBTORRENT_INTERFACE_VERSION_NO) - - AM_INIT_AUTOMAKE - AC_CONFIG_HEADERS(config.h) --AM_PATH_CPPUNIT(1.9.6) - - AC_PROG_CXX - diff --git a/scripts/checks.m4 b/scripts/checks.m4 -index 598f39b..0e5abe0 100644 +index 8d77fc5e..c446995b 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 ff023928..932b205c 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.14.4 diff --git a/buildroot/package/libtorrent/0002-Added-support-for-openssl-1.1.patch b/buildroot/package/libtorrent/0002-Added-support-for-openssl-1.1.patch new file mode 100644 index 000000000..463c8ac9b --- /dev/null +++ b/buildroot/package/libtorrent/0002-Added-support-for-openssl-1.1.patch @@ -0,0 +1,112 @@ +From 9af3be81c75b44415a6e7efe19f8f89d55091f84 Mon Sep 17 00:00:00 2001 +From: rakshasa +Date: Tue, 20 Dec 2016 19:51:02 +0900 +Subject: [PATCH] Added support for openssl 1.1. + +Downloaded from upstream commit +https://github.com/rakshasa/libtorrent/commit/7b29b6bd2547e72e22b9b7981df27092842d2a10 + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 4 ++++ + src/utils/diffie_hellman.cc | 36 ++++++++++++++++++++++++++++++++++-- + 2 files changed, 38 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5b1ea237..b885714d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,12 +71,15 @@ AC_ARG_ENABLE(openssl, + [ --disable-openssl Don't use OpenSSL's SHA1 implementation.], + [ + if test "$enableval" = "yes"; then ++dnl move to scripts. + PKG_CHECK_MODULES(OPENSSL, libcrypto, + CXXFLAGS="$CXXFLAGS $OPENSSL_CFLAGS"; + LIBS="$LIBS $OPENSSL_LIBS") + + AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) + AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) ++ AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) ++ + else + AC_DEFINE(USE_NSS_SHA, 1, Using Mozilla's SHA1 implementation.) + fi +@@ -87,6 +90,7 @@ AC_ARG_ENABLE(openssl, + + AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) + AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) ++ AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) + ] + ) + +diff --git a/src/utils/diffie_hellman.cc b/src/utils/diffie_hellman.cc +index aa653d45..7ec13165 100644 +--- a/src/utils/diffie_hellman.cc ++++ b/src/utils/diffie_hellman.cc +@@ -54,11 +54,23 @@ DiffieHellman::DiffieHellman(const unsigned char *prime, int primeLength, + m_secret(NULL), m_size(0) { + + #ifdef USE_OPENSSL ++ + m_dh = DH_new(); ++ ++#ifdef USE_OPENSSL_1_1 ++ BIGNUM * const dh_p = BN_bin2bn(prime, primeLength, NULL); ++ BIGNUM * const dh_g = BN_bin2bn(generator, generatorLength, NULL); ++ ++ if (dh_p == NULL || dh_g == NULL || ++ !DH_set0_pqg(m_dh, dh_p, NULL, dh_g)) ++ throw internal_error("Could not generate Diffie-Hellman parameters"); ++#else + m_dh->p = BN_bin2bn(prime, primeLength, NULL); + m_dh->g = BN_bin2bn(generator, generatorLength, NULL); ++#endif + + DH_generate_key(m_dh); ++ + #else + throw internal_error("Compiled without encryption support."); + #endif +@@ -74,7 +86,19 @@ DiffieHellman::~DiffieHellman() { + bool + DiffieHellman::is_valid() const { + #ifdef USE_OPENSSL ++ if (m_dh == NULL) ++ return false; ++ ++#ifdef USE_OPENSSL_1_1 ++ const BIGNUM *pub_key; ++ ++ DH_get0_key(m_dh, &pub_key, NULL); ++ ++ return pub_key != NULL; ++#else + return m_dh != NULL && m_dh->pub_key != NULL; ++#endif ++ + #else + return false; + #endif +@@ -103,8 +127,16 @@ DiffieHellman::store_pub_key(unsigned char* dest, unsigned int length) { + #ifdef USE_OPENSSL + std::memset(dest, 0, length); + +- if ((int)length >= BN_num_bytes(m_dh->pub_key)) +- BN_bn2bin(m_dh->pub_key, dest + length - BN_num_bytes(m_dh->pub_key)); ++ const BIGNUM *pub_key; ++ ++#ifdef USE_OPENSSL_1_1 ++ DH_get0_key(m_dh, &pub_key, NULL); ++#else ++ pub_key = m_dh->pub_key; ++#endif ++ ++ if ((int)length >= BN_num_bytes(pub_key)) ++ BN_bn2bin(pub_key, dest + length - BN_num_bytes(pub_key)); + #endif + } + +-- +2.14.4 + diff --git a/buildroot/package/libtorrent/libtorrent.hash b/buildroot/package/libtorrent/libtorrent.hash index 73753e94c..8e0bc1caa 100644 --- a/buildroot/package/libtorrent/libtorrent.hash +++ b/buildroot/package/libtorrent/libtorrent.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2838a08c96edfd936aff8fbf99ecbb930c2bfca3337dd1482eb5fccdb80d5a04 libtorrent-0.13.6.tar.gz +sha256 c738f60f4d7b6879cd2745fb4310bf24c9287219c1fd619706a9d5499ca7ecc1 libtorrent-0.13.7.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/buildroot/package/libtorrent/libtorrent.mk b/buildroot/package/libtorrent/libtorrent.mk index fbd332e37..de964b45a 100644 --- a/buildroot/package/libtorrent/libtorrent.mk +++ b/buildroot/package/libtorrent/libtorrent.mk @@ -4,17 +4,22 @@ # ################################################################################ -LIBTORRENT_VERSION = 0.13.6 +LIBTORRENT_VERSION = 0.13.7 LIBTORRENT_SITE = http://rtorrent.net/downloads -LIBTORRENT_DEPENDENCIES = host-pkgconf zlib \ - $(if $(BR2_PACKAGE_OPENSSL),openssl) +LIBTORRENT_DEPENDENCIES = host-pkgconf zlib LIBTORRENT_CONF_OPTS = --enable-aligned \ --disable-instrumentation \ - --with-zlib=$(STAGING_DIR)/usr \ - $(if $(BR2_PACKAGE_OPENSSL),--enable-openssl,--disable-openssl) + --with-zlib=$(STAGING_DIR)/usr LIBTORRENT_INSTALL_STAGING = YES LIBTORRENT_AUTORECONF = YES LIBTORRENT_LICENSE = GPL-2.0 LIBTORRENT_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBTORRENT_CONF_OPTS += --enable-openssl +LIBTORRENT_DEPENDENCIES += openssl +else +LIBTORRENT_CONF_OPTS += --disable-openssl +endif + $(eval $(autotools-package)) diff --git a/buildroot/package/libucl/libucl.hash b/buildroot/package/libucl/libucl.hash index bd2ca13bf..8d4a796e2 100644 --- a/buildroot/package/libucl/libucl.hash +++ b/buildroot/package/libucl/libucl.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2f69995c7f8320350f56c1183c395cc4a2a958331f22d60b7839a117c9c601e1 libucl-0.7.3.tar.gz +sha256 a6397e179672f0e8171a0f9a2cfc37e01432b357fd748b13f4394436689d24ef libucl-0.8.1.tar.gz +sha256 1bf976835764c1d827e07472a0a75adb098682df56681878af05fc0db7439b03 COPYING diff --git a/buildroot/package/libucl/libucl.mk b/buildroot/package/libucl/libucl.mk index 39a7ed3cc..9f0378ad9 100644 --- a/buildroot/package/libucl/libucl.mk +++ b/buildroot/package/libucl/libucl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUCL_VERSION = 0.7.3 +LIBUCL_VERSION = 0.8.1 LIBUCL_SITE = $(call github,vstakhov,libucl,$(LIBUCL_VERSION)) LIBUCL_INSTALL_STAGING = YES LIBUCL_AUTORECONF = YES @@ -12,4 +12,11 @@ LIBUCL_LICENSE = BSD-2-Clause LIBUCL_LICENSE_FILES = COPYING LIBUCL_DEPENDENCIES = host-pkgconf +ifeq ($(BR2_PACKAGE_LIBCURL),y) +LIBUCL_DEPENDENCIES += libcurl +LIBUCL_CONF_OPTS += --enable-urls +else +LIBUCL_CONF_OPTS += --disable-urls +endif + $(eval $(autotools-package)) diff --git a/buildroot/package/libuio/libuio.hash b/buildroot/package/libuio/libuio.hash index 6afe7dea8..ce2f86ee1 100644 --- a/buildroot/package/libuio/libuio.hash +++ b/buildroot/package/libuio/libuio.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 57f9617f75d20f7912b270568cffdf098fe9d0c1ca690c002e949be8424aa4e6 libuio-940861de278cb794bf9d775b76a4d1d4f9108607.tar.gz +sha256 1494375bd493ef1a1b868ce2cbc7d29f3f9f692c21f70689eae28566e56f2c15 libuio-ca28ff0f69d89a789a47552c72db5a43d280710b.tar.gz diff --git a/buildroot/package/libuio/libuio.mk b/buildroot/package/libuio/libuio.mk index 8f72253ad..13429ec0f 100644 --- a/buildroot/package/libuio/libuio.mk +++ b/buildroot/package/libuio/libuio.mk @@ -4,8 +4,8 @@ # ################################################################################ -# v0.2.7 -LIBUIO_VERSION = 940861de278cb794bf9d775b76a4d1d4f9108607 +# v0.2.8 +LIBUIO_VERSION = ca28ff0f69d89a789a47552c72db5a43d280710b LIBUIO_SITE = $(call github,Linutronix,libuio,$(LIBUIO_VERSION)) LIBUIO_LICENSE = LGPL-2.1 (library), GPL-2.0 (programs) LIBUIO_LICENSE_FILES = COPYING diff --git a/buildroot/package/libunistring/libunistring.hash b/buildroot/package/libunistring/libunistring.hash index 8a5da7782..2e4595b17 100644 --- a/buildroot/package/libunistring/libunistring.hash +++ b/buildroot/package/libunistring/libunistring.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/libunistring/libunistring-0.9.9.tar.xz.sig -sha256 a4d993ecfce16cf503ff7579f5da64619cee66226fb3b998dafb706190d9a833 libunistring-0.9.9.tar.xz +# https://ftp.gnu.org/gnu/libunistring/libunistring-0.9.10.tar.xz.sig +sha256 eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7 libunistring-0.9.10.tar.xz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LIB diff --git a/buildroot/package/libunistring/libunistring.mk b/buildroot/package/libunistring/libunistring.mk index 929b52ebd..fa5144717 100644 --- a/buildroot/package/libunistring/libunistring.mk +++ b/buildroot/package/libunistring/libunistring.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUNISTRING_VERSION = 0.9.9 +LIBUNISTRING_VERSION = 0.9.10 LIBUNISTRING_SITE = $(BR2_GNU_MIRROR)/libunistring LIBUNISTRING_SOURCE = libunistring-$(LIBUNISTRING_VERSION).tar.xz LIBUNISTRING_INSTALL_STAGING = YES diff --git a/buildroot/package/libupnp18/libupnp18.hash b/buildroot/package/libupnp18/libupnp18.hash index dd59034cd..c32ebef73 100644 --- a/buildroot/package/libupnp18/libupnp18.hash +++ b/buildroot/package/libupnp18/libupnp18.hash @@ -1,5 +1,5 @@ -# From https://sourceforge.net/projects/pupnp/files/pupnp/libUPnP%201.8.3/libupnp-1.8.3.tar.bz2.sha1 -sha1 e7c28c24905ae972ff3277a7bdaa9b839f6c66b9 libupnp-1.8.3.tar.bz2 +# From https://sourceforge.net/projects/pupnp/files/pupnp/libupnp-1.8.4/libupnp-1.8.4.tar.bz2.sha1 +sha1 93e7b3c94cf53eb59533b4b7b137ef5cc651e28b libupnp-1.8.4.tar.bz2 # Locally computed: -sha256 9afa0b09faa9ebd9e8a6425ddbfe8d1d856544c49b1f86fde221219e569a308d libupnp-1.8.3.tar.bz2 -sha256 0375955c8a79d6e8fa0792d45d00fc4e7710d7ac95bcbd27f9225a83f5c946fd LICENSE +sha256 188d3f786d92fe14191f17634d2d87847eee7d2b568a5257ea23262fec9973d6 libupnp-1.8.4.tar.bz2 +sha256 c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3 COPYING diff --git a/buildroot/package/libupnp18/libupnp18.mk b/buildroot/package/libupnp18/libupnp18.mk index 07ef4382f..13536b8f7 100644 --- a/buildroot/package/libupnp18/libupnp18.mk +++ b/buildroot/package/libupnp18/libupnp18.mk @@ -4,13 +4,13 @@ # ################################################################################ -LIBUPNP18_VERSION = 1.8.3 +LIBUPNP18_VERSION = 1.8.4 LIBUPNP18_SOURCE = libupnp-$(LIBUPNP18_VERSION).tar.bz2 -LIBUPNP18_SITE = http://downloads.sourceforge.net/project/pupnp/pupnp/libUPnP%20$(LIBUPNP18_VERSION) +LIBUPNP18_SITE = http://downloads.sourceforge.net/project/pupnp/pupnp/libupnp-$(LIBUPNP18_VERSION) LIBUPNP18_CONF_ENV = ac_cv_lib_compat_ftime=no LIBUPNP18_INSTALL_STAGING = YES LIBUPNP18_LICENSE = BSD-3-Clause -LIBUPNP18_LICENSE_FILES = LICENSE +LIBUPNP18_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBUPNP18_CONF_OPTS += --enable-open-ssl diff --git a/buildroot/package/liburiparser/liburiparser.hash b/buildroot/package/liburiparser/liburiparser.hash index c03e832f9..f71dd5cc7 100644 --- a/buildroot/package/liburiparser/liburiparser.hash +++ b/buildroot/package/liburiparser/liburiparser.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 58eacd5c03d9e341c04eb0b30831faec89f3b415949ff8d72254e63432352cdd uriparser-0.8.5.tar.bz2 +sha256 ec67eb34feda8eac166f281799f03ed48387694fca44f6f5852f61f8fb535e2c uriparser-0.9.0.tar.bz2 sha256 ee90029e62d11f48faa59360d15c3ad8e7c094c74cc25b055716d92340da561f COPYING diff --git a/buildroot/package/liburiparser/liburiparser.mk b/buildroot/package/liburiparser/liburiparser.mk index 4b32b7f7f..62bc8d30d 100644 --- a/buildroot/package/liburiparser/liburiparser.mk +++ b/buildroot/package/liburiparser/liburiparser.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBURIPARSER_VERSION = 0.8.5 +LIBURIPARSER_VERSION = 0.9.0 LIBURIPARSER_SOURCE = uriparser-$(LIBURIPARSER_VERSION).tar.bz2 LIBURIPARSER_SITE = https://github.com/uriparser/uriparser/releases/download/uriparser-$(LIBURIPARSER_VERSION) LIBURIPARSER_LICENSE = BSD-3-Clause diff --git a/buildroot/package/libusb/0001-configure.ac-fix-detection-of-clock_gettime-library.patch b/buildroot/package/libusb/0001-configure.ac-fix-detection-of-clock_gettime-library.patch new file mode 100644 index 000000000..89b89bb59 --- /dev/null +++ b/buildroot/package/libusb/0001-configure.ac-fix-detection-of-clock_gettime-library.patch @@ -0,0 +1,36 @@ +From 7cc67ed294ad8566f2877d6f71649f1bd36f69a4 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 5 Jun 2018 14:22:21 +0300 +Subject: [PATCH] configure.ac: fix detection of clock_gettime library + +glibc before 2.17 requires link with librt for clock_gettime(). The +AC_SEARCH_LIBS check in configure.ac should detect this dependency. +Unfortunately commit cb77a25e51 (configure.ac: Remove obsolete AC_ERROR +and make formatting consistent) inadvertently renamed to clock_gettime2, +thus breaking librt detection. + +Restore the correct clock_gettime() name. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/libusb/libusb/pull/439 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 5b16c6825d4b..63590d1351a4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -107,7 +107,7 @@ case $backend in + linux) + AC_DEFINE(OS_LINUX, 1, [Linux backend]) + AC_SUBST(OS_LINUX) +- AC_SEARCH_LIBS([clock_gettime2], [rt], [], [], [-pthread]) ++ AC_SEARCH_LIBS([clock_gettime], [rt], [], [], [-pthread]) + AC_ARG_ENABLE([udev], + [AC_HELP_STRING([--enable-udev], [use udev for device enumeration and hotplug support (recommended) [default=yes]])], + [], [enable_udev=yes]) +-- +2.17.1 + diff --git a/buildroot/package/libusb/Config.in b/buildroot/package/libusb/Config.in index 5238588aa..d31a717fd 100644 --- a/buildroot/package/libusb/Config.in +++ b/buildroot/package/libusb/Config.in @@ -6,5 +6,12 @@ config BR2_PACKAGE_LIBUSB http://libusb.info/ +if BR2_PACKAGE_LIBUSB + +config BR2_PACKAGE_LIBUSB_EXAMPLES + bool "build libusb examples" + +endif + comment "libusb needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/buildroot/package/libusb/libusb.hash b/buildroot/package/libusb/libusb.hash index 0415aab50..7e9d2a2ad 100644 --- a/buildroot/package/libusb/libusb.hash +++ b/buildroot/package/libusb/libusb.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 7dce9cce9a81194b7065ee912bcd55eeffebab694ea403ffb91b67db66b1824b libusb-1.0.21.tar.bz2 +sha256 75aeb9d59a4fdb800d329a545c2e6799f732362193b465ea198f2aa275518157 libusb-1.0.22.tar.bz2 +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/buildroot/package/libusb/libusb.mk b/buildroot/package/libusb/libusb.mk index f0bb9e333..fe38a1d2d 100644 --- a/buildroot/package/libusb/libusb.mk +++ b/buildroot/package/libusb/libusb.mk @@ -5,13 +5,15 @@ ################################################################################ LIBUSB_VERSION_MAJOR = 1.0 -LIBUSB_VERSION = $(LIBUSB_VERSION_MAJOR).21 +LIBUSB_VERSION = $(LIBUSB_VERSION_MAJOR).22 LIBUSB_SOURCE = libusb-$(LIBUSB_VERSION).tar.bz2 LIBUSB_SITE = https://github.com/libusb/libusb/releases/download/v$(LIBUSB_VERSION) LIBUSB_LICENSE = LGPL-2.1+ LIBUSB_LICENSE_FILES = COPYING LIBUSB_DEPENDENCIES = host-pkgconf LIBUSB_INSTALL_STAGING = YES +# Patching configure.ac +LIBUSB_AUTORECONF = YES # Avoid the discovery of udev for the host variant HOST_LIBUSB_CONF_OPTS = --disable-udev @@ -23,5 +25,15 @@ else LIBUSB_CONF_OPTS += --disable-udev endif +ifeq ($(BR2_PACKAGE_LIBUSB_EXAMPLES),y) +LIBUSB_CONF_OPTS += --enable-examples-build +define LIBUSB_INSTALL_TARGET_EXAMPLES + $(foreach example,listdevs xusb fxload hotplugtest testlibusb dpfp dpfp_threaded sam3u_benchmark, + $(INSTALL) -D -m0755 $(@D)/examples/$(example) $(TARGET_DIR)/usr/bin/$(example) + ) +endef +LIBUSB_POST_INSTALL_TARGET_HOOKS += LIBUSB_INSTALL_TARGET_EXAMPLES +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/buildroot/package/libusbgx/0001-Add-include-of-sys-sysmacro.h.patch b/buildroot/package/libusbgx/0001-Add-include-of-sys-sysmacro.h.patch new file mode 100644 index 000000000..0f47454f7 --- /dev/null +++ b/buildroot/package/libusbgx/0001-Add-include-of-sys-sysmacro.h.patch @@ -0,0 +1,98 @@ +From 45c14ef4d5d7ced0fbf984208de44ced6d5ed898 Mon Sep 17 00:00:00 2001 +From: Gwenhael Goavec-Merou +Date: Mon, 10 Sep 2018 15:52:09 +0200 +Subject: [PATCH] libusbgx: fix build with glibc-2.28 since + is no more included by + +Since https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html sys/sysmacros.h +must be explicitly included. +Without sys/sysmacros.h and with glibc-2.28 build fails with error like: +src/.libs/libusbgx.so: undefined reference to minor' src/.libs/libusbgx.so: undefined reference tomajor' +src/.libs/libusbgx.so: undefined reference to `makedev' + +Signed-off-by: Sid Spry +Signed-off-by: Gwenhael Goavec-Merou +--- + examples/gadget-acm-ecm.c | 1 + + examples/gadget-import.c | 1 + + examples/gadget-ms.c | 1 + + examples/show-gadgets.c | 1 + + examples/show-udcs.c | 1 + + include/usbg/usbg_internal_libconfig.h | 1 + + 6 files changed, 6 insertions(+) + +diff --git a/examples/gadget-acm-ecm.c b/examples/gadget-acm-ecm.c +index 1c5e2ca..29360da 100644 +--- a/examples/gadget-acm-ecm.c ++++ b/examples/gadget-acm-ecm.c +@@ -20,6 +20,7 @@ + + #include + #include ++#include + #include + #include + +diff --git a/examples/gadget-import.c b/examples/gadget-import.c +index e684fdb..63df449 100644 +--- a/examples/gadget-import.c ++++ b/examples/gadget-import.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #include + + int main(int argc, char **argv) +diff --git a/examples/gadget-ms.c b/examples/gadget-ms.c +index 478c370..a5c6681 100644 +--- a/examples/gadget-ms.c ++++ b/examples/gadget-ms.c +@@ -23,6 +23,7 @@ + + #include + #include ++#include + #include + #include + #include +diff --git a/examples/show-gadgets.c b/examples/show-gadgets.c +index 707d448..a2a21c8 100644 +--- a/examples/show-gadgets.c ++++ b/examples/show-gadgets.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/examples/show-udcs.c b/examples/show-udcs.c +index 66e950f..2f5cc45 100644 +--- a/examples/show-udcs.c ++++ b/examples/show-udcs.c +@@ -23,6 +23,7 @@ + + #include + #include ++#include + #include + + int main(void) +diff --git a/include/usbg/usbg_internal_libconfig.h b/include/usbg/usbg_internal_libconfig.h +index ac51758..3fa55c0 100644 +--- a/include/usbg/usbg_internal_libconfig.h ++++ b/include/usbg/usbg_internal_libconfig.h +@@ -12,6 +12,7 @@ + #ifndef USBG_INTERNAL_LIBCONFIG_H + #define USBG_INTERNAL_LIBCONFIG_H + ++#include + #include + #ifdef __cplusplus + extern "C" { +-- +2.16.4 + diff --git a/buildroot/package/libuv/libuv.hash b/buildroot/package/libuv/libuv.hash index 899fae281..0a039480a 100644 --- a/buildroot/package/libuv/libuv.hash +++ b/buildroot/package/libuv/libuv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a5e62a6ed3c25a712477b55ce923e7f49af95b80319f88b9c950200d65427793 libuv-v1.20.2.tar.gz +sha256 30af979c4f4b8d1b895ae6d115f7400c751542ccb9e656350fc89fda08d4eabd libuv-v1.23.2.tar.gz sha256 6d20216ae022fbeed23916f48508fd807ece3d8464992330643b0e64e5c0c24b LICENSE diff --git a/buildroot/package/libuv/libuv.mk b/buildroot/package/libuv/libuv.mk index d857d64c4..ff3903b56 100644 --- a/buildroot/package/libuv/libuv.mk +++ b/buildroot/package/libuv/libuv.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUV_VERSION = v1.20.2 +LIBUV_VERSION = v1.23.2 LIBUV_SITE = $(call github,libuv,libuv,$(LIBUV_VERSION)) LIBUV_DEPENDENCIES = host-pkgconf LIBUV_INSTALL_STAGING = YES diff --git a/buildroot/package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch b/buildroot/package/libv4l/0003-Build-sdlcam-only-if-jpeg-is-enabled.patch similarity index 100% rename from buildroot/package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch rename to buildroot/package/libv4l/0003-Build-sdlcam-only-if-jpeg-is-enabled.patch diff --git a/buildroot/package/libv4l/0003-libdvbv5-add-optional-copy-of-TEMP_FAILURE_RETRY-mac.patch b/buildroot/package/libv4l/0003-libdvbv5-add-optional-copy-of-TEMP_FAILURE_RETRY-mac.patch deleted file mode 100644 index cd22be15c..000000000 --- a/buildroot/package/libv4l/0003-libdvbv5-add-optional-copy-of-TEMP_FAILURE_RETRY-mac.patch +++ /dev/null @@ -1,39 +0,0 @@ -From abfe3e7b2b4af1de9b891f3a7a996b70533b0a27 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Sun, 4 Mar 2018 09:07:51 +0100 -Subject: [PATCH] libdvbv5: add optional copy of TEMP_FAILURE_RETRY macro (fix - musl compile) - -Fixes: - - ../../lib/libdvbv5/.libs/libdvbv5.so: undefined reference to `TEMP_FAILURE_RETRY' - -[Upstream: https://www.mail-archive.com/linux-media@vger.kernel.org/msg127134.html] -Signed-off-by: Peter Seiderer ---- - lib/libdvbv5/dvb-dev-local.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/lib/libdvbv5/dvb-dev-local.c b/lib/libdvbv5/dvb-dev-local.c -index 8bc99d1..7a76d65 100644 ---- a/lib/libdvbv5/dvb-dev-local.c -+++ b/lib/libdvbv5/dvb-dev-local.c -@@ -44,6 +44,15 @@ - # define _(string) string - #endif - -+/* taken from glibc unistd.h */ -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; }) -+#endif -+ - struct dvb_dev_local_priv { - dvb_dev_change_t notify_dev_change; - --- -2.16.2 - diff --git a/buildroot/package/libv4l/0004-v4l2-compliance-needs-fork.patch b/buildroot/package/libv4l/0004-v4l2-compliance-needs-fork.patch new file mode 100644 index 000000000..d29a05952 --- /dev/null +++ b/buildroot/package/libv4l/0004-v4l2-compliance-needs-fork.patch @@ -0,0 +1,76 @@ +From 21d7082c635433176aebcd9d6f0177edb059f41f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 17 Nov 2018 21:26:57 +0100 +Subject: [PATCH] v4l2-compliance needs fork + +v4l2-compliance uses fork, since +https://git.linuxtv.org/v4l-utils.git/commit/utils/v4l2-compliance/?id=79d98edd1a27233667a6bc38d3d7f8958c2ec02c + +So don't build it if fork is not available + +Fixes: + - http://autobuild.buildroot.org/results/447d792ce21c0e33a36ca9384fee46e099435ed8 + +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 5 ++++- + utils/Makefile.am | 6 +++++- + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5cc34c24..52ea5c6d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -478,7 +478,8 @@ AM_CONDITIONAL([WITH_QTGL], [test x${qt_pkgconfig_gl} = xtrue]) + AM_CONDITIONAL([WITH_GCONV], [test x$enable_gconv = xyes -a x$enable_shared == xyes -a x$with_gconvdir != x -a -f $with_gconvdir/gconv-modules]) + AM_CONDITIONAL([WITH_V4L2_CTL_LIBV4L], [test x${enable_v4l2_ctl_libv4l} != xno]) + AM_CONDITIONAL([WITH_V4L2_CTL_STREAM_TO], [test x${enable_v4l2_ctl_stream_to} != xno]) +-AM_CONDITIONAL([WITH_V4L2_COMPLIANCE_LIBV4L], [test x${enable_v4l2_compliance_libv4l} != xno]) ++AM_CONDITIONAL([WITH_V4L2_COMPLIANCE], [test x$ac_cv_func_fork = xyes]) ++AM_CONDITIONAL([WITH_V4L2_COMPLIANCE_LIBV4L], [test x$ac_cv_func_fork = xyes -a x${enable_v4l2_compliance_libv4l} != xno]) + AM_CONDITIONAL([WITH_BPF], [test x$enable_bpf != xno -a x$libelf_pkgconfig = xyes -a x$CLANG = xclang]) + + # append -static to libtool compile and link command to enforce static libs +@@ -509,6 +510,7 @@ AM_COND_IF([WITH_V4L_PLUGINS], [USE_V4L_PLUGINS="yes" + AM_COND_IF([WITH_V4L_WRAPPERS], [USE_V4L_WRAPPERS="yes"], [USE_V4L_WRAPPERS="no"]) + AM_COND_IF([WITH_GCONV], [USE_GCONV="yes"], [USE_GCONV="no"]) + AM_COND_IF([WITH_V4L2_CTL_LIBV4L], [USE_V4L2_CTL_LIBV4L="yes"], [USE_V4L2_CTL_LIBV4L="no"]) ++AM_COND_IF([WITH_V4L2_COMPLIANCE], [USE_V4L2_COMPLIANCE="yes"], [USE_V4L2_COMPLIANCE="no"]) + AM_COND_IF([WITH_V4L2_COMPLIANCE_LIBV4L], [USE_V4L2_COMPLIANCE_LIBV4L="yes"], [USE_V4L2_COMPLIANCE_LIBV4L="no"]) + AM_COND_IF([WITH_BPF], [USE_BPF="yes" + AC_DEFINE([HAVE_BPF], [1], [BPF IR decoder support enabled])], +@@ -556,6 +558,7 @@ compile time options summary + qv4l2 : $USE_QV4L2 + qvidcap : $USE_QVIDCAP + v4l2-ctl uses libv4l : $USE_V4L2_CTL_LIBV4L ++ v4l2-compliance : $USE_V4L2_COMPLIANCE + v4l2-compliance uses libv4l: $USE_V4L2_COMPLIANCE_LIBV4L + BPF IR Decoders: : $USE_BPF + EOF +diff --git a/utils/Makefile.am b/utils/Makefile.am +index 2d507028..9c29926a 100644 +--- a/utils/Makefile.am ++++ b/utils/Makefile.am +@@ -6,7 +6,6 @@ SUBDIRS = \ + cx18-ctl \ + keytable \ + media-ctl \ +- v4l2-compliance \ + v4l2-ctl \ + v4l2-dbg \ + v4l2-sysfs-path \ +@@ -20,6 +19,11 @@ SUBDIRS += \ + dvb + endif + ++if WITH_V4L2_COMPLIANCE ++SUBDIRS += \ ++ v4l2-compliance ++endif ++ + if WITH_QV4L2 + SUBDIRS += qv4l2 + endif +-- +2.17.1 + diff --git a/buildroot/package/libv4l/libv4l.hash b/buildroot/package/libv4l/libv4l.hash index aea9cc988..2b01c1a71 100644 --- a/buildroot/package/libv4l/libv4l.hash +++ b/buildroot/package/libv4l/libv4l.hash @@ -1,6 +1,6 @@ # Locally calculated after checking signature -# https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.14.1.tar.bz2.asc -sha256 7974e5626447407d8a1ed531da0461c0fe00e599a696cb548a240d17d3519005 v4l-utils-1.14.1.tar.bz2 +# https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.16.2.tar.bz2.asc +sha256 6c3208c9a1c73455d30bae83096d161e57bec5008594f270a2a67df8c86d8e47 v4l-utils-1.16.2.tar.bz2 # Locally calculated sha256 391e4da1c54a422a78d83be7bf84b2dfb8bacdd8ad256fa4374e128655584a8a COPYING sha256 5a7f623a50e384aaf6d2ced068339ddf93d0a50d3a0ecbe86f125b07804ecc78 COPYING.libv4l diff --git a/buildroot/package/libv4l/libv4l.mk b/buildroot/package/libv4l/libv4l.mk index c95b2778c..6b5b7bd2e 100644 --- a/buildroot/package/libv4l/libv4l.mk +++ b/buildroot/package/libv4l/libv4l.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBV4L_VERSION = 1.14.1 +LIBV4L_VERSION = 1.16.2 LIBV4L_SOURCE = v4l-utils-$(LIBV4L_VERSION).tar.bz2 LIBV4L_SITE = https://linuxtv.org/downloads/v4l-utils LIBV4L_INSTALL_STAGING = YES LIBV4L_DEPENDENCIES = host-pkgconf -LIBV4L_CONF_OPTS = --disable-doxygen-doc +LIBV4L_CONF_OPTS = --disable-doxygen-doc --disable-qvidcap # We're patching contrib/test/Makefile.am LIBV4L_AUTORECONF = YES # add host-gettext for AM_ICONV macro @@ -55,6 +55,11 @@ endif ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y) LIBV4L_CONF_OPTS += --enable-v4l-utils LIBV4L_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES) + +# IR BPF decoder support needs toolchain with linux-headers >= 3.18 +# libelf and clang support +LIBV4L_CONF_OPTS += --disable-bpf + ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS),yyy) LIBV4L_CONF_OPTS += --enable-qv4l2 LIBV4L_DEPENDENCIES += qt5base diff --git a/buildroot/package/libva-intel-driver/0001-check-ssp.patch b/buildroot/package/libva-intel-driver/0001-check-ssp.patch new file mode 100644 index 000000000..c801ed314 --- /dev/null +++ b/buildroot/package/libva-intel-driver/0001-check-ssp.patch @@ -0,0 +1,65 @@ +From bf08643583520b763150af9ed20166b7fe272fd5 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 29 Jul 2018 20:55:23 +0200 +Subject: [PATCH] Check for -fstack-protector + +Not all toolchains provide support for -fstack-protector. This patch +provides a configure check to avoid build errors like + +/home/buildroot/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/6.4.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: cannot find -lssp_nonshared +/home/buildroot/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/6.4.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: cannot find -lssp + +Patch sent upstream as PR 408. + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 17 +++++++++++++++++ + src/Makefile.am | 5 ++++- + 2 files changed, 21 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c76060c7..5471aee7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -86,6 +86,23 @@ AC_SEARCH_LIBS([dlopen], [dl], [], [ + AC_MSG_ERROR([unable to find the dlopen() function]) + ]) + ++ ++# Check for -fstack-protector ++ssp_cc=yes ++if test "X$CC-cc" != "X"; then ++ AC_MSG_CHECKING([whether ${CC-cc} accepts -fstack-protector]) ++ ssp_old_cflags="$CFLAGS" ++ CFLAGS="$CFLAGS -fstack-protector" ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[alloca(100);]])], [], [ssp_cc=no]) ++ AC_MSG_RESULT([$ssp_cc]) ++ if test "X$ssp_cc" = "Xno"; then ++ CFLAGS="$ssp_old_cflags" ++ else ++ AC_DEFINE([ENABLE_SSP_CC], 1, [Define if SSP C support is enabled.]) ++ fi ++fi ++AM_CONDITIONAL(USE_SSP, test "$ssp_cc" = "yes") ++ + dnl Check for recent enough DRM + LIBDRM_VERSION=libdrm_version + PKG_CHECK_MODULES([DRM], [libdrm >= $LIBDRM_VERSION libdrm_intel]) +diff --git a/src/Makefile.am b/src/Makefile.am +index c26293dd..5c52658a 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -35,9 +35,12 @@ AM_CPPFLAGS = \ + driver_cflags = \ + -Wall \ + -fvisibility=hidden \ +- -fstack-protector \ + $(NULL) + ++if USE_SSP ++driver_cflags += -fstack-protector ++endif ++ + driver_ldflags = \ + -avoid-version \ + -no-undefined \ diff --git a/buildroot/package/libva-intel-driver/Config.in b/buildroot/package/libva-intel-driver/Config.in index 120f152c9..53c5b366c 100644 --- a/buildroot/package/libva-intel-driver/Config.in +++ b/buildroot/package/libva-intel-driver/Config.in @@ -12,7 +12,7 @@ config BR2_PACKAGE_LIBVA_INTEL_DRIVER help VA-API back-end driver for Intel graphics chips - https://01.org/linuxmedia/vaapi + https://01.org/vaapi comment "libva intel driver needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/buildroot/package/libva-intel-driver/libva-intel-driver.hash b/buildroot/package/libva-intel-driver/libva-intel-driver.hash index dbe5d67fb..0509ff8d6 100644 --- a/buildroot/package/libva-intel-driver/libva-intel-driver.hash +++ b/buildroot/package/libva-intel-driver/libva-intel-driver.hash @@ -1,5 +1,5 @@ -# From https://github.com/01org/intel-vaapi-driver/releases -sha1 a40c6bd89b71b547986bf9f9fa2533bb50cf269e intel-vaapi-driver-2.1.0.tar.bz2 +# From https://github.com/intel/intel-vaapi-driver/releases +sha1 0934f97ddcaf4e633f59d049226723239b645b33 intel-vaapi-driver-2.2.0.tar.bz2 # Locally computed -sha256 ecfaf2ccc4b9af7340e002d2ef807d1e33051d4992f1983f5f4d60e516f86bdf intel-vaapi-driver-2.1.0.tar.bz2 +sha256 e8a5f54694eb76aad42653b591030b8a53b1513144c09a80defb3d8d8c875c18 intel-vaapi-driver-2.2.0.tar.bz2 sha256 c86a782ee845b52472dae9b9d79fb915d333628ac0efe49cdce63644814931de COPYING diff --git a/buildroot/package/libva-intel-driver/libva-intel-driver.mk b/buildroot/package/libva-intel-driver/libva-intel-driver.mk index dd1903024..48564ca48 100644 --- a/buildroot/package/libva-intel-driver/libva-intel-driver.mk +++ b/buildroot/package/libva-intel-driver/libva-intel-driver.mk @@ -4,12 +4,14 @@ # ################################################################################ -LIBVA_INTEL_DRIVER_VERSION = 2.1.0 +LIBVA_INTEL_DRIVER_VERSION = 2.2.0 LIBVA_INTEL_DRIVER_SOURCE = intel-vaapi-driver-$(LIBVA_INTEL_DRIVER_VERSION).tar.bz2 LIBVA_INTEL_DRIVER_SITE = \ - https://github.com/01org/intel-vaapi-driver/releases/download/$(LIBVA_INTEL_DRIVER_VERSION) + https://github.com/intel/intel-vaapi-driver/releases/download/$(LIBVA_INTEL_DRIVER_VERSION) LIBVA_INTEL_DRIVER_LICENSE = MIT LIBVA_INTEL_DRIVER_LICENSE_FILES = COPYING +# 0001-check-ssp.patch +LIBVA_INTEL_DRIVER_AUTORECONF = YES LIBVA_INTEL_DRIVER_DEPENDENCIES = host-pkgconf libdrm libva ifeq ($(BR2_PACKAGE_XORG7),y) diff --git a/buildroot/package/libva-utils/0001-check-ssp.patch b/buildroot/package/libva-utils/0001-check-ssp.patch new file mode 100644 index 000000000..11c1ded79 --- /dev/null +++ b/buildroot/package/libva-utils/0001-check-ssp.patch @@ -0,0 +1,145 @@ +From bdcf4d90f618f497311c348f984e005924cb3def Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 29 Jul 2018 20:58:06 +0200 +Subject: [PATCH] Check for -fstack-protector + +Not all toolchains provide support for -fstack-protector. This patch +provides a configure check to avoid build errors like + +/home/buildroot/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/6.4.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: cannot find -lssp_nonshared +/home/buildroot/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/6.4.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: cannot find -lssp + +Patch sent upstream as PR 125. + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 16 ++++++++++++++++ + decode/Makefile.am | 5 ++++- + encode/Makefile.am | 5 ++++- + putsurface/Makefile.am | 5 ++++- + vainfo/Makefile.am | 5 ++++- + videoprocess/Makefile.am | 5 ++++- + 6 files changed, 36 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index be2e00d..cfa508a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -129,6 +129,22 @@ if test "$ac_cv_have_gnuc_visibility_attribute" = "yes"; then + [Defined to 1 if GCC visibility attribute is supported]) + fi + ++# Check for -fstack-protector ++ssp_cc=yes ++if test "X$CC-cc" != "X"; then ++ AC_MSG_CHECKING([whether ${CC-cc} accepts -fstack-protector]) ++ ssp_old_cflags="$CFLAGS" ++ CFLAGS="$CFLAGS -fstack-protector" ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[alloca(100);]])], [], [ssp_cc=no]) ++ AC_MSG_RESULT([$ssp_cc]) ++ if test "X$ssp_cc" = "Xno"; then ++ CFLAGS="$ssp_old_cflags" ++ else ++ AC_DEFINE([ENABLE_SSP_CC], 1, [Define if SSP C support is enabled.]) ++ fi ++fi ++AM_CONDITIONAL(USE_SSP, test "$ssp_cc" = "yes") ++ + # Check for DRM (mandatory) + LIBDRM_VERSION=libdrm_version + PKG_CHECK_MODULES([DRM], [libdrm >= $LIBDRM_VERSION]) +diff --git a/decode/Makefile.am b/decode/Makefile.am +index febc50d..8ea9252 100644 +--- a/decode/Makefile.am ++++ b/decode/Makefile.am +@@ -24,11 +24,14 @@ bin_PROGRAMS = mpeg2vldemo loadjpeg + + AM_CPPFLAGS = \ + -Wall \ +- -fstack-protector \ + $(LIBVA_CFLAGS) \ + -I$(top_srcdir)/common \ + $(NULL) + ++if USE_SSP ++AM_CPPFLAGS += -fstack-protector ++endif ++ + TEST_LIBS = \ + $(LIBVA_LIBS) \ + $(top_builddir)/common/libva-display.la \ +diff --git a/encode/Makefile.am b/encode/Makefile.am +index 8298b39..c107007 100644 +--- a/encode/Makefile.am ++++ b/encode/Makefile.am +@@ -25,10 +25,13 @@ noinst_PROGRAMS = svctenc + + AM_CPPFLAGS = \ + -Wall \ +- -fstack-protector \ + $(LIBVA_CFLAGS) \ + $(NULL) + ++if USE_SSP ++AM_CPPFLAGS += -fstack-protector ++endif ++ + h264encode_SOURCES = h264encode.c + h264encode_CFLAGS = -I$(top_srcdir)/common -g + h264encode_LDADD = \ +diff --git a/putsurface/Makefile.am b/putsurface/Makefile.am +index e7b62a1..10ae63e 100644 +--- a/putsurface/Makefile.am ++++ b/putsurface/Makefile.am +@@ -26,9 +26,12 @@ TEST_CFLAGS = \ + $(LIBVA_CFLAGS) \ + -I$(top_srcdir)/common \ + -Wall \ +- -fstack-protector \ + $(NULL) + ++if USE_SSP ++TEST_CFLAGS += -fstack-protector ++endif ++ + TEST_LIBS = \ + $(LIBVA_LIBS) \ + $(top_builddir)/common/libva-display.la \ +diff --git a/vainfo/Makefile.am b/vainfo/Makefile.am +index aff201f..e59f466 100644 +--- a/vainfo/Makefile.am ++++ b/vainfo/Makefile.am +@@ -27,9 +27,12 @@ vainfo_cflags = \ + $(LIBVA_CFLAGS) \ + -DLIBVA_VERSION_S="\"$(LIBVA_VERSION)\"" \ + -Wall \ +- -fstack-protector \ + $(NULL) + ++if USE_SSP ++vainfo_cflags += -fstack-protector ++endif ++ + vainfo_libs = \ + $(LIBVA_LIBS) \ + $(top_builddir)/common/libva-display.la \ +diff --git a/videoprocess/Makefile.am b/videoprocess/Makefile.am +index eb79bc3..448da7d 100644 +--- a/videoprocess/Makefile.am ++++ b/videoprocess/Makefile.am +@@ -24,11 +24,14 @@ bin_PROGRAMS = vavpp + + AM_CPPFLAGS = \ + -Wall \ +- -fstack-protector \ + $(LIBVA_CFLAGS) \ + -I$(top_srcdir)/common \ + $(NULL) + ++if USE_SSP ++AM_CPPFLAGS += -fstack-protector ++endif ++ + TEST_LIBS = \ + $(LIBVA_LIBS) \ + $(top_builddir)/common/libva-display.la \ diff --git a/buildroot/package/libva-utils/Config.in b/buildroot/package/libva-utils/Config.in index ad299234c..597419f7d 100644 --- a/buildroot/package/libva-utils/Config.in +++ b/buildroot/package/libva-utils/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_LIBVA_UTILS Libva-utils is a collection of tests for VA-API (Video Acceleration API) - https://01.org/linuxmedia/vaapi + https://01.org/vaapi comment "libva-utils needs a toolchain w/ C++, threads, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || \ diff --git a/buildroot/package/libva-utils/libva-utils.hash b/buildroot/package/libva-utils/libva-utils.hash index 46674a367..e86cb6e09 100644 --- a/buildroot/package/libva-utils/libva-utils.hash +++ b/buildroot/package/libva-utils/libva-utils.hash @@ -1,5 +1,5 @@ -# From https://github.com/01org/libva-utils/releases -sha1 9902eb944c3ace00be4fe95627708f156fc5ace7 libva-utils-2.1.0.tar.bz2 +# From https://github.com/intel/libva-utils/releases +sha1 ef15d40d6bec847c74f21ee3431b7e7b06fec3b4 libva-utils-2.2.0.tar.bz2 # Locally computed -sha256 f6a7790c3dcc56537372c90a83036a3136194a8b397e84e97bf9cc9254fa2c51 libva-utils-2.1.0.tar.bz2 +sha256 ed7a6ed1fab657df4e83ea11f90310efcf31c27828f32d65351a28ca3c404dc0 libva-utils-2.2.0.tar.bz2 sha256 c6220c9f87832c27abcb8a32eafdd2823e13ce146b3ea63d5deae2a76798ef50 COPYING diff --git a/buildroot/package/libva-utils/libva-utils.mk b/buildroot/package/libva-utils/libva-utils.mk index 85ee3083f..348d41974 100644 --- a/buildroot/package/libva-utils/libva-utils.mk +++ b/buildroot/package/libva-utils/libva-utils.mk @@ -4,11 +4,13 @@ # ################################################################################ -LIBVA_UTILS_VERSION = 2.1.0 +LIBVA_UTILS_VERSION = 2.2.0 LIBVA_UTILS_SOURCE = libva-utils-$(LIBVA_UTILS_VERSION).tar.bz2 -LIBVA_UTILS_SITE = https://github.com/01org/libva-utils/releases/download/$(LIBVA_UTILS_VERSION) +LIBVA_UTILS_SITE = https://github.com/intel/libva-utils/releases/download/$(LIBVA_UTILS_VERSION) LIBVA_UTILS_LICENSE = MIT LIBVA_UTILS_LICENSE_FILES = COPYING +# 0001-check-ssp.patch +LIBVA_UTILS_AUTORECONF = YES LIBVA_UTILS_DEPENDENCIES = host-pkgconf libva $(eval $(autotools-package)) diff --git a/buildroot/package/libva/Config.in b/buildroot/package/libva/Config.in index 08eb16b48..e4e351f98 100644 --- a/buildroot/package/libva/Config.in +++ b/buildroot/package/libva/Config.in @@ -13,7 +13,7 @@ config BR2_PACKAGE_LIBVA prevailing coding standards today (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3). - https://01.org/linuxmedia/vaapi + https://01.org/vaapi comment "libva needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/buildroot/package/libva/libva.hash b/buildroot/package/libva/libva.hash index ed707095f..333bb1d78 100644 --- a/buildroot/package/libva/libva.hash +++ b/buildroot/package/libva/libva.hash @@ -1,5 +1,5 @@ -# From https://github.com/01org/libva/releases -sha1 9ecde2b6c9deda16e895a0b00b8aef3a765acb4c libva-2.1.0.tar.bz2 +# From https://github.com/intel/libva/releases +sha1 e1138529355cce78fa2edc7c5b1c5aeb40dd0ce5 libva-2.3.0.tar.bz2 # Locally computed -sha256 f3fa953a11d3210c3a4ee79031abdbe0863d5ce13d9b3f93f315f1eec60a4b0f libva-2.1.0.tar.bz2 +sha256 60840e50da6932ee2111e15fc8911180ff8a0d6f18bb9cc6ba8c1030098fdce4 libva-2.3.0.tar.bz2 sha256 c86a782ee845b52472dae9b9d79fb915d333628ac0efe49cdce63644814931de COPYING diff --git a/buildroot/package/libva/libva.mk b/buildroot/package/libva/libva.mk index 79956a9d8..9a70bb83f 100644 --- a/buildroot/package/libva/libva.mk +++ b/buildroot/package/libva/libva.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBVA_VERSION = 2.1.0 +LIBVA_VERSION = 2.3.0 LIBVA_SOURCE = libva-$(LIBVA_VERSION).tar.bz2 -LIBVA_SITE = https://github.com/01org/libva/releases/download/$(LIBVA_VERSION) +LIBVA_SITE = https://github.com/intel/libva/releases/download/$(LIBVA_VERSION) LIBVA_LICENSE = MIT LIBVA_LICENSE_FILES = COPYING LIBVA_INSTALL_STAGING = YES diff --git a/buildroot/package/libvdpau/libvdpau.mk b/buildroot/package/libvdpau/libvdpau.mk index f29da1e40..93446dbf2 100644 --- a/buildroot/package/libvdpau/libvdpau.mk +++ b/buildroot/package/libvdpau/libvdpau.mk @@ -18,8 +18,8 @@ LIBVDPAU_DEPENDENCIES = host-pkgconf xlib_libX11 xlib_libXext LIBVDPAU_CONF_OPTS = --with-module-dir=/usr/lib/vdpau -ifeq ($(BR2_PACKAGE_XPROTO_DRI2PROTO),y) -LIBVDPAU_DEPENDENCIES += xproto_dri2proto +ifeq ($(BR2_PACKAGE_XORGPROTO),y) +LIBVDPAU_DEPENDENCIES += xorgproto LIBVDPAU_CONF_OPTS += --enable-dri2 else LIBVDPAU_CONF_OPTS += --disable-dri2 diff --git a/buildroot/package/libxkbcommon/libxkbcommon.hash b/buildroot/package/libxkbcommon/libxkbcommon.hash index 525f9ffd2..67ae4b592 100644 --- a/buildroot/package/libxkbcommon/libxkbcommon.hash +++ b/buildroot/package/libxkbcommon/libxkbcommon.hash @@ -1,2 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2017-January/032725.html -sha256 ba59305d2e19e47c27ea065c2e0df96ebac6a3c6e97e28ae5620073b6084e68b libxkbcommon-0.7.1.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2018-August/039243.html +sha256 7ab8c4b3403d89d01898066b72cb6069bddeb5af94905a65368f671a026ed58c libxkbcommon-0.8.2.tar.xz + +# License file: +sha256 086caee279449369d41c1157911ec7696e707b93feba7280de757d3c470b2dfb LICENSE diff --git a/buildroot/package/libxkbcommon/libxkbcommon.mk b/buildroot/package/libxkbcommon/libxkbcommon.mk index 601181446..2045d9638 100644 --- a/buildroot/package/libxkbcommon/libxkbcommon.mk +++ b/buildroot/package/libxkbcommon/libxkbcommon.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXKBCOMMON_VERSION = 0.7.1 +LIBXKBCOMMON_VERSION = 0.8.2 LIBXKBCOMMON_SITE = http://xkbcommon.org/download LIBXKBCOMMON_SOURCE = libxkbcommon-$(LIBXKBCOMMON_VERSION).tar.xz LIBXKBCOMMON_LICENSE = MIT/X11 diff --git a/buildroot/package/libxml2/libxml2.hash b/buildroot/package/libxml2/libxml2.hash index f7e046bff..d114d9806 100644 --- a/buildroot/package/libxml2/libxml2.hash +++ b/buildroot/package/libxml2/libxml2.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 f63c5e7d30362ed28b38bfa1ac6313f9a80230720b7fb6c80575eeab3ff5900c libxml2-2.9.7.tar.gz +sha256 0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732 libxml2-2.9.8.tar.gz # License files, locally calculated sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd COPYING diff --git a/buildroot/package/libxml2/libxml2.mk b/buildroot/package/libxml2/libxml2.mk index a6285a694..06a802eb1 100644 --- a/buildroot/package/libxml2/libxml2.mk +++ b/buildroot/package/libxml2/libxml2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXML2_VERSION = 2.9.7 +LIBXML2_VERSION = 2.9.8 LIBXML2_SITE = ftp://xmlsoft.org/libxml2 LIBXML2_INSTALL_STAGING = YES LIBXML2_LICENSE = MIT diff --git a/buildroot/package/libxmlpp/libxmlpp.hash b/buildroot/package/libxmlpp/libxmlpp.hash index 5fc7f5beb..cc5247a11 100644 --- a/buildroot/package/libxmlpp/libxmlpp.hash +++ b/buildroot/package/libxmlpp/libxmlpp.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/libxml++/2.40/libxml++-2.40.1.sha256sum -sha256 4ad4abdd3258874f61c2e2a41d08e9930677976d303653cd1670d3e9f35463e9 libxml++-2.40.1.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/libxml++/3.0/libxml++-3.0.1.sha256sum +sha256 19dc8d21751806c015179bc0b83f978e65c878724501bfc0b6c1bcead29971a6 libxml++-3.0.1.tar.xz + +# Hash for license file +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING diff --git a/buildroot/package/libxmlpp/libxmlpp.mk b/buildroot/package/libxmlpp/libxmlpp.mk index d0f6329e7..14a3d97a8 100644 --- a/buildroot/package/libxmlpp/libxmlpp.mk +++ b/buildroot/package/libxmlpp/libxmlpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXMLPP_VERSION_MAJOR = 2.40 +LIBXMLPP_VERSION_MAJOR = 3.0 LIBXMLPP_VERSION = $(LIBXMLPP_VERSION_MAJOR).1 LIBXMLPP_LICENSE = LGPL-2.1 (library), LGPL-2.0+ (examples) LIBXMLPP_LICENSE_FILES = COPYING diff --git a/buildroot/package/libxmlrpc/0001-fix-gennmtab-build.patch b/buildroot/package/libxmlrpc/0001-fix-gennmtab-build.patch deleted file mode 100644 index e98e5cbf5..000000000 --- a/buildroot/package/libxmlrpc/0001-fix-gennmtab-build.patch +++ /dev/null @@ -1,25 +0,0 @@ -Fix build of host tool - -genmtab is a tool that needs to be built for the host as it is used -during the compilation process of libxmlrpc. Its Makefile needs a bit -of tuning to use the conventional CC_FOR_BUILD, CFLAGS_FOR_BUILD and -LDFLAGS_FOR_BUILD variables. - -Signed-off-by: Thomas Petazzoni - -Index: b/lib/expat/gennmtab/Makefile -=================================================================== ---- a/lib/expat/gennmtab/Makefile -+++ b/lib/expat/gennmtab/Makefile -@@ -40,9 +40,9 @@ - dep: dep-common - - gennmtab.o:%.o:%.c -- $(BUILDTOOL_CC) -c $< -o $@ $(CFLAGS_ALL) $(INCLUDES) -+ $(CC_FOR_BUILD) -c $< -o $@ $(CFLAGS_FOR_BUILD) $(INCLUDES) - - gennmtab:%:%.o -- $(BUILDTOOL_CCLD) -o $@ $(LDFLAGS_ALL) $^ -+ $(CC_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $^ - - include depend.mk diff --git a/buildroot/package/libxmlrpc/0004-use-correct-curl-config.patch b/buildroot/package/libxmlrpc/0001-use-correct-curl-config.patch similarity index 100% rename from buildroot/package/libxmlrpc/0004-use-correct-curl-config.patch rename to buildroot/package/libxmlrpc/0001-use-correct-curl-config.patch diff --git a/buildroot/package/libxmlrpc/0002-config.mk.in-fix-shared-libraries-build-for-uClibc.patch b/buildroot/package/libxmlrpc/0002-config.mk.in-fix-shared-libraries-build-for-uClibc.patch deleted file mode 100644 index 5970df51a..000000000 --- a/buildroot/package/libxmlrpc/0002-config.mk.in-fix-shared-libraries-build-for-uClibc.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5d68179a54b0a34d989722dcbe3b6eb962feb27d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 23 Dec 2014 16:04:18 +0100 -Subject: [PATCH] config.mk.in: fix shared libraries build for uClibc - -Signed-off-by: Romain Naour ---- - config.mk.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/config.mk.in b/config.mk.in -index c5d4160..45461cf 100644 ---- a/config.mk.in -+++ b/config.mk.in -@@ -166,7 +166,8 @@ shliblefn = $(1:%=%.shlibledummy) - # HOST_OS is usually has a version number suffix, e.g. "aix5.3.0.0", so - # we compare based on prefix. - --ifeq ($(patsubst linux-gnu%,linux-gnu,$(HOST_OS)),linux-gnu) -+# linux-uclibc is also a linux -+ifeq ($(patsubst linux-%,linux-,$(HOST_OS)),linux-) - # Assume linker is GNU Compiler (gcc) - SHARED_LIB_TYPE = unix - MUST_BUILD_SHLIB = Y --- -1.9.3 - diff --git a/buildroot/package/libxmlrpc/0003-fix-ar-ranlib-handling.patch b/buildroot/package/libxmlrpc/0003-fix-ar-ranlib-handling.patch deleted file mode 100644 index 1e58d2478..000000000 --- a/buildroot/package/libxmlrpc/0003-fix-ar-ranlib-handling.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fix detection of AR and RANLIB - -The configure.in script assumes that ranlib and ar are necessarily -prefixed by ${ac_tool_prefix}, which is the value of --host. However, -it's not necessarily the case. - -So instead, use AC_CHECK_TOOL to check for AR, and AC_PROG_RANLIB to -check for RANLIB. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -621,10 +621,8 @@ - BUILDDIR=$(pwd) - AC_SUBST(BUILDDIR) - --AR=${ac_tool_prefix}ar --AC_SUBST([AR]) --RANLIB=${ac_tool_prefix}ranlib --AC_SUBST([RANLIB]) -+AC_CHECK_TOOL([AR], [ar]) -+AC_PROG_RANLIB - - dnl ======================================================================= - dnl Output our results. diff --git a/buildroot/package/libxmlrpc/libxmlrpc.hash b/buildroot/package/libxmlrpc/libxmlrpc.hash index 3003622ac..093da67bb 100644 --- a/buildroot/package/libxmlrpc/libxmlrpc.hash +++ b/buildroot/package/libxmlrpc/libxmlrpc.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 d830f3264a832dfe09f629cc64036acfd08121692526d0fabe090f7ff881ce08 xmlrpc-c-1.39.12.tgz +sha256 c9f5b584a42493877ae0f09ed680d94e035ab389e8fa1873b1ec42118d5cfca3 xmlrpc-c-1.43.08.tgz +sha256 db7a6d3f187b218c3534010a83424c6bcdef88e6a0b6b1aa3a8762238bd642e6 doc/COPYING diff --git a/buildroot/package/libxmlrpc/libxmlrpc.mk b/buildroot/package/libxmlrpc/libxmlrpc.mk index 80acfb8ea..90791bd67 100644 --- a/buildroot/package/libxmlrpc/libxmlrpc.mk +++ b/buildroot/package/libxmlrpc/libxmlrpc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXMLRPC_VERSION = 1.39.12 +LIBXMLRPC_VERSION = 1.43.08 LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(LIBXMLRPC_VERSION) LIBXMLRPC_LICENSE = BSD-3-Clause (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c) @@ -29,7 +29,7 @@ LIBXMLRPC_CONF_OPTS = \ # Our package uses autoconf, but not automake, so we need to pass # those variables at compile time as well. -LIBXMLRPC_MAKE_ENV = \ +LIBXMLRPC_MAKE_OPTS = \ CC_FOR_BUILD="$(HOSTCC)" \ LD_FOR_BUILD="$(HOSTLD)" \ CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ @@ -39,7 +39,7 @@ ifeq ($(BR2_STATIC_LIBS),y) LIBXMLRPC_STATIC_OPTS = SHARED_LIB_TYPE=NONE MUST_BUILD_SHLIB=N endif -LIBXMLRPC_MAKE_OPTS = $(LIBXMLRPC_STATIC_OPTS) +LIBXMLRPC_MAKE_OPTS += $(LIBXMLRPC_STATIC_OPTS) LIBXMLRPC_INSTALL_STAGING_OPTS = $(LIBXMLRPC_STATIC_OPTS) \ DESTDIR=$(STAGING_DIR) install LIBXMLRPC_INSTALL_TARGET_OPTS = $(LIBXMLRPC_STATIC_OPTS) \ diff --git a/buildroot/package/libxslt/libxslt.mk b/buildroot/package/libxslt/libxslt.mk index 972d5b80d..5b1c0ae26 100644 --- a/buildroot/package/libxslt/libxslt.mk +++ b/buildroot/package/libxslt/libxslt.mk @@ -13,7 +13,8 @@ LIBXSLT_LICENSE_FILES = COPYING LIBXSLT_CONF_OPTS = \ --with-gnu-ld \ --without-debug \ - --without-python + --without-python \ + --with-libxml-prefix=$(STAGING_DIR)/usr LIBXSLT_CONFIG_SCRIPTS = xslt-config LIBXSLT_DEPENDENCIES = host-pkgconf libxml2 diff --git a/buildroot/package/libyaml/libyaml.hash b/buildroot/package/libyaml/libyaml.hash index d4a0c335c..afc014dfb 100644 --- a/buildroot/package/libyaml/libyaml.hash +++ b/buildroot/package/libyaml/libyaml.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 8088e457264a98ba451a90b8661fcb4f9d6f478f7265d48322a196cec2480729 yaml-0.1.7.tar.gz -sha256 d0d8b09800a45cd982e9568fc7669d9c1a4c330e275a821bbe24d54366d16fe9 LICENSE +sha256 78281145641a080fb32d6e7a87b9c0664d611dcb4d542e90baf731f51cbb59cd yaml-0.2.1.tar.gz +sha256 bfcb6a7dfbfd30e0ccc8bb34ab712bd1568586ad8c5b078ccae443b04e79749e LICENSE diff --git a/buildroot/package/libyaml/libyaml.mk b/buildroot/package/libyaml/libyaml.mk index bc8d6951b..26e318736 100644 --- a/buildroot/package/libyaml/libyaml.mk +++ b/buildroot/package/libyaml/libyaml.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBYAML_VERSION = 0.1.7 +LIBYAML_VERSION = 0.2.1 LIBYAML_SOURCE = yaml-$(LIBYAML_VERSION).tar.gz LIBYAML_SITE = http://pyyaml.org/download/libyaml LIBYAML_INSTALL_STAGING = YES diff --git a/buildroot/package/libzip/0001-Use-cmake-E-tar-to-extract-test-data.patch b/buildroot/package/libzip/0001-Use-cmake-E-tar-to-extract-test-data.patch deleted file mode 100644 index 7d40111b1..000000000 --- a/buildroot/package/libzip/0001-Use-cmake-E-tar-to-extract-test-data.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e9244b207c0fc883ff84c1fc46602feb1e2b0347 Mon Sep 17 00:00:00 2001 -From: Thomas Klausner -Date: Wed, 3 Jan 2018 11:41:57 +0100 -Subject: [PATCH] Use 'cmake -E tar' to extract test data. - -For easier cross-compilation (Github issue #21). - -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit e9244b207c0 - - regress/CMakeLists.txt | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -diff --git a/regress/CMakeLists.txt b/regress/CMakeLists.txt -index e2ce232c774a..3a0d4f77dcf6 100644 ---- a/regress/CMakeLists.txt -+++ b/regress/CMakeLists.txt -@@ -51,15 +51,9 @@ ADD_CUSTOM_TARGET(cleanup - ADD_CUSTOM_TARGET(testinput - ALL - VERBATIM -- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 0 > manyfiles.zip -- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 1 > manyfiles-133000.zip -- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 2 > manyfiles-65536.zip -- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 3 > manyfiles-zip64-modulo.zip -- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 4 > manyfiles-zip64.zip -- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 5 > manyfiles-fewer.zip -- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip cat 6 > manyfiles-more.zip -- COMMAND ziptool ${CMAKE_CURRENT_SOURCE_DIR}/bigzero-zip.zip cat 0 > bigzero.zip -- DEPENDS ziptool ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip ${CMAKE_CURRENT_SOURCE_DIR}/bigzero-zip.zip -+ COMMAND cmake -E tar x ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip -+ COMMAND cmake -E tar x ${CMAKE_CURRENT_SOURCE_DIR}/bigzero-zip.zip -+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/manyfiles-zip.zip ${CMAKE_CURRENT_SOURCE_DIR}/bigzero-zip.zip - ) - - SET_PROPERTY(DIRECTORY PROPERTY ADDITIONAL_MAKE_CLEAN_FILES --- -2.15.1 - diff --git a/buildroot/package/libzip/libzip.hash b/buildroot/package/libzip/libzip.hash index 0eeb3130c..e9ed4717c 100644 --- a/buildroot/package/libzip/libzip.hash +++ b/buildroot/package/libzip/libzip.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 e508aba025f5f94b267d5120fc33761bcd98440ebe49dbfe2ed3df3afeacc7b1 libzip-1.4.0.tar.xz -sha256 3c964a7eb1abeb6bd6f40035ed3a014728ff8c5437f107dcf24fbbfab16e227e LICENSE +sha256 04ea35b6956c7b3453f1ed3f3fe40e3ddae1f43931089124579e8384e79ed372 libzip-1.5.1.tar.xz +sha256 04464e729973cf58189051e7a3e8bca2acce9a1058c735e9e2eb1fdbe0fbbf50 LICENSE diff --git a/buildroot/package/libzip/libzip.mk b/buildroot/package/libzip/libzip.mk index 537aa1dee..20c04122e 100644 --- a/buildroot/package/libzip/libzip.mk +++ b/buildroot/package/libzip/libzip.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBZIP_VERSION = 1.4.0 +LIBZIP_VERSION = 1.5.1 LIBZIP_SITE = http://www.nih.at/libzip LIBZIP_SOURCE = libzip-$(LIBZIP_VERSION).tar.xz LIBZIP_LICENSE = BSD-3-Clause @@ -18,4 +18,18 @@ else LIBZIP_CONF_OPTS += -DCMAKE_DISABLE_FIND_PACKAGE_BZIP2=TRUE endif +ifeq ($(BR2_PACKAGE_GNUTLS),y) +LIBZIP_DEPENDENCIES += gnutls +LIBZIP_CONF_OPTS += -DENABLE_GNUTLS=ON +else +LIBZIP_CONF_OPTS += -DENABLE_GNUTLS=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBZIP_DEPENDENCIES += openssl +LIBZIP_CONF_OPTS += -DENABLE_OPENSSL=ON +else +LIBZIP_CONF_OPTS += -DENABLE_OPENSSL=OFF +endif + $(eval $(cmake-package)) diff --git a/buildroot/package/lighttpd/Config.in b/buildroot/package/lighttpd/Config.in index 383c10f70..7d7566362 100644 --- a/buildroot/package/lighttpd/Config.in +++ b/buildroot/package/lighttpd/Config.in @@ -26,6 +26,13 @@ config BR2_PACKAGE_LIGHTTPD_OPENSSL help Enable OpenSSL support for lighttpd. +config BR2_PACKAGE_LIGHTTPD_PAM + bool "pam authentication support" + default y + depends on BR2_PACKAGE_LINUX_PAM + help + Enable PAM authentication support for lighttpd. + config BR2_PACKAGE_LIGHTTPD_ZLIB bool "zlib support" select BR2_PACKAGE_ZLIB diff --git a/buildroot/package/lighttpd/lighttpd.hash b/buildroot/package/lighttpd/lighttpd.hash index 813d1cd0e..0829c6b4c 100644 --- a/buildroot/package/lighttpd/lighttpd.hash +++ b/buildroot/package/lighttpd/lighttpd.hash @@ -1,4 +1,4 @@ -# From http://www.lighttpd.net/ -sha256 0f8ad5aac7529d7b948b9d7e8cd0b4a9e177309d85d6bf6516e28e6e40d74f36 lighttpd-1.4.48.tar.xz +# From https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.51.sha256sum +sha256 2af9fdb265d1f025bfa634e13770239712ecbd585e4975b8226edf1df74e9c82 lighttpd-1.4.51.tar.xz # Locally calculated sha256 5c98cad2fbaf5c5e2562bcbab401a7c557c1bb1bac9914ecc63730925052fb13 COPYING diff --git a/buildroot/package/lighttpd/lighttpd.mk b/buildroot/package/lighttpd/lighttpd.mk index 592f54743..d8f64dc7e 100644 --- a/buildroot/package/lighttpd/lighttpd.mk +++ b/buildroot/package/lighttpd/lighttpd.mk @@ -5,13 +5,14 @@ ################################################################################ LIGHTTPD_VERSION_MAJOR = 1.4 -LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).48 +LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).51 LIGHTTPD_SOURCE = lighttpd-$(LIGHTTPD_VERSION).tar.xz LIGHTTPD_SITE = http://download.lighttpd.net/lighttpd/releases-$(LIGHTTPD_VERSION_MAJOR).x LIGHTTPD_LICENSE = BSD-3-Clause LIGHTTPD_LICENSE_FILES = COPYING LIGHTTPD_DEPENDENCIES = host-pkgconf LIGHTTPD_CONF_OPTS = \ + --without-wolfssl \ --libdir=/usr/lib/lighttpd \ --libexecdir=/usr/lib @@ -22,6 +23,13 @@ else LIGHTTPD_CONF_OPTS += --without-openssl endif +ifeq ($(BR2_PACKAGE_LIGHTTPD_PAM),y) +LIGHTTPD_DEPENDENCIES += linux-pam +LIGHTTPD_CONF_OPTS += --with-pam +else +LIGHTTPD_CONF_OPTS += --without-pam +endif + ifeq ($(BR2_PACKAGE_LIGHTTPD_ZLIB),y) LIGHTTPD_DEPENDENCIES += zlib LIGHTTPD_CONF_OPTS += --with-zlib @@ -96,6 +104,9 @@ define LIGHTTPD_INSTALL_INIT_SYSTEMD ln -fs ../../../../usr/lib/systemd/system/lighttpd.service \ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lighttpd.service + + $(INSTALL) -D -m 644 package/lighttpd/lighttpd_tmpfiles.conf \ + $(TARGET_DIR)/usr/lib/tmpfiles.d/lighttpd.conf endef $(eval $(autotools-package)) diff --git a/buildroot/package/lighttpd/lighttpd_tmpfiles.conf b/buildroot/package/lighttpd/lighttpd_tmpfiles.conf new file mode 100644 index 000000000..a24f3f7fb --- /dev/null +++ b/buildroot/package/lighttpd/lighttpd_tmpfiles.conf @@ -0,0 +1,2 @@ +f /var/log/lighttpd-access.log 0640 www-data www-data - +f /var/log/lighttpd-error.log 0640 www-data www-data - diff --git a/buildroot/package/links/links.mk b/buildroot/package/links/links.mk index dd6adb29b..651a089fd 100644 --- a/buildroot/package/links/links.mk +++ b/buildroot/package/links/links.mk @@ -15,7 +15,10 @@ ifeq ($(BR2_PACKAGE_LINKS_GRAPHICS),y) LINKS_CONF_OPTS += --enable-graphics LINKS_DEPENDENCIES += libpng ifeq ($(BR2_PACKAGE_XLIB_LIBXT),y) -LINKS_CONF_OPTS += --with-x +LINKS_CONF_OPTS += \ + --with-x \ + --x-includes=$(STAGING_DIR)/usr/include \ + --x-libraries=$(STAGING_DIR)/usr/lib LINKS_DEPENDENCIES += xlib_libXt else LINKS_CONF_OPTS += --without-x diff --git a/buildroot/package/linphone/Config.in b/buildroot/package/linphone/Config.in index 2504ca2b4..06eb059cf 100644 --- a/buildroot/package/linphone/Config.in +++ b/buildroot/package/linphone/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_LINPHONE depends on BR2_USE_MMU # libeXosip2 select BR2_PACKAGE_LIBEXOSIP2 select BR2_PACKAGE_SPEEX + select BR2_PACKAGE_SPEEXDSP help Linphone is an internet phone or Voice Over IP phone (VoIP). diff --git a/buildroot/package/linux-firmware/Config.in b/buildroot/package/linux-firmware/Config.in index 074bcc6c7..bb88afeec 100644 --- a/buildroot/package/linux-firmware/Config.in +++ b/buildroot/package/linux-firmware/Config.in @@ -320,6 +320,12 @@ config BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5 Firmware files for Chelsio T5 1Gb and 10Gb ethernet cards (cxgb4) +config BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X + bool "QLogic FastLinQ 4xxxx" + help + Firmware files for QLogic FastLinQ 4xxxx ethernet devices + (qede) + config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169 bool "Realtek 8169" help diff --git a/buildroot/package/linux-firmware/linux-firmware.hash b/buildroot/package/linux-firmware/linux-firmware.hash index 0106db2ff..ca6ad8f59 100644 --- a/buildroot/package/linux-firmware/linux-firmware.hash +++ b/buildroot/package/linux-firmware/linux-firmware.hash @@ -1,7 +1,7 @@ # Locally calculated -sha256 d253f7abb32e0407bcc840a5bddba1dc20190bb4a4bb6d40512f279fde384671 linux-firmware-65b1c68c63f974d72610db38dfae49861117cae2.tar.gz +sha256 b279ca4d086887c2efab13e28a7ca36e409410d3df38a62d7c7b5799ee3de916 linux-firmware-44d4fca9922a252a0bd81f6307bcc072a78da54a.tar.gz sha256 8116433f4004fc0c24d72b3d9e497808b724aa0e5e1cd63fc1bf66b715b1e2e9 LICENCE.Abilis -sha256 448a367f518ff62c0501ded89c3da03cd3b632aa05bf62b4d5b969b136476d96 LICENSE.amdgpu +sha256 4b3ea5d5a03c0db81bee0bcb14b30d75b30ef568597bb5be7d4dee57f434265f LICENSE.amdgpu sha256 38f2037aa14631b4b29826d7a99379613c41a97064d1defdee30a7a022138b20 LICENCE.Marvell sha256 802b7014b26c606cf6248ae8b0ab1ce6d2d1b0db236d38dd269e676cd70710f2 LICENCE.atheros_firmware sha256 3b5eb392b2d9d8c46d6aae26d06c187e5ea3029b12d13bc2b8deb8b3ce6bfa53 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt @@ -27,5 +27,5 @@ sha256 8542aeabf2761935122d693561e16766ce1bcc2b0d003204f9040b7d6d929f2e LICENSE. sha256 be904cd28cb292b80cdb6cf412ab0d9159d431671e987ad433c1f62e0988a9bc LICENSE.qcom sha256 fc6223d4bfe9f2f9e2eddc44b9fe5721d0caf49f01cb08d602906add686d8c6f LICENSE.radeon sha256 2bdd2e716f05d9737d3f9a20f9a3a3c0caee0e866100ddb0673f1178e42f92b9 LICENSE.sdma_firmware -sha256 9703115e298649dfad003d7d3d55f4b2bd417e28f19e9cf6d5c6f9a906a2c4d9 WHENCE +sha256 ef38a9a8bb4b0f72b369d337426eea63ef8fc9d48453f127028d935f7dbc5820 WHENCE sha256 fa43e1b9a13b341a07adca9dbe73d0f9072d7966fdfe811c01f0dd2872d7309a qcom/NOTICE.txt diff --git a/buildroot/package/linux-firmware/linux-firmware.mk b/buildroot/package/linux-firmware/linux-firmware.mk index 46ab9d5ff..4eba57434 100644 --- a/buildroot/package/linux-firmware/linux-firmware.mk +++ b/buildroot/package/linux-firmware/linux-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINUX_FIRMWARE_VERSION = 65b1c68c63f974d72610db38dfae49861117cae2 +LINUX_FIRMWARE_VERSION = 44d4fca9922a252a0bd81f6307bcc072a78da54a LINUX_FIRMWARE_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git LINUX_FIRMWARE_SITE_METHOD = git @@ -381,6 +381,13 @@ LINUX_FIRMWARE_FILES += cxgb4/t5fw*.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware endif +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X),y) +LINUX_FIRMWARE_FILES += \ + qed/qed_init_values_zipped-8.33.11.0.bin +# No license file; the license is in the file WHENCE +# which is installed unconditionally +endif + ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169),y) LINUX_FIRMWARE_FILES += \ rtl_nic/rtl8105e-1.fw \ diff --git a/buildroot/package/linux-headers/Config.in.host b/buildroot/package/linux-headers/Config.in.host index ee95b544f..756fe81a5 100644 --- a/buildroot/package/linux-headers/Config.in.host +++ b/buildroot/package/linux-headers/Config.in.host @@ -6,7 +6,7 @@ config BR2_PACKAGE_HOST_LINUX_HEADERS choice prompt "Kernel Headers" default BR2_KERNEL_HEADERS_AS_KERNEL if BR2_LINUX_KERNEL - default BR2_KERNEL_HEADERS_4_16 + default BR2_KERNEL_HEADERS_4_18 help Select the kernel version to get headers from. @@ -29,50 +29,64 @@ config BR2_KERNEL_HEADERS_AS_KERNEL config BR2_KERNEL_HEADERS_3_2 bool "Linux 3.2.x kernel headers" depends on !BR2_aarch64 && !BR2_arc && !BR2_nios2 + depends on !BR2_riscv select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 config BR2_KERNEL_HEADERS_4_1 bool "Linux 4.1.x kernel headers" + depends on !BR2_riscv select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 config BR2_KERNEL_HEADERS_4_4 bool "Linux 4.4.x kernel headers" + depends on !BR2_riscv select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 config BR2_KERNEL_HEADERS_4_9 bool "Linux 4.9.x kernel headers" + depends on !BR2_riscv select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 -config BR2_KERNEL_HEADERS_4_10 - bool "Linux 4.10.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 - -config BR2_KERNEL_HEADERS_4_11 - bool "Linux 4.11.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 - -config BR2_KERNEL_HEADERS_4_12 - bool "Linux 4.12.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 - -config BR2_KERNEL_HEADERS_4_13 - bool "Linux 4.13.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 - config BR2_KERNEL_HEADERS_4_14 bool "Linux 4.14.x kernel headers" + depends on !BR2_riscv select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 -config BR2_KERNEL_HEADERS_4_15 - bool "Linux 4.15.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 - config BR2_KERNEL_HEADERS_4_16 bool "Linux 4.16.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16 +config BR2_KERNEL_HEADERS_4_18 + bool "Linux 4.18.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 + config BR2_KERNEL_HEADERS_VERSION bool "Manually specified Linux version" + help + This option allows you to use a specific official version from + kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ... + + Note: you cannot use this option to select a _longterm_ 2.6 + kernel, because these kernels are not located at the standard + URL at kernel.org. Instead, select "Custom tarball" and + specify the right URL directly. + +config BR2_KERNEL_HEADERS_CUSTOM_TARBALL + bool "Custom tarball" + help + This option allows you 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. + +config BR2_KERNEL_HEADERS_CUSTOM_GIT + bool "Custom Git repository" + help + This option allows Buildroot to get the Linux kernel source + code from a Git repository. endchoice @@ -83,9 +97,27 @@ config BR2_DEFAULT_KERNEL_VERSION Specify the version you want to use. E.G.: 3.6.10 +config BR2_KERNEL_HEADERS_CUSTOM_TARBALL_LOCATION + string "URL of custom kernel tarball" + depends on BR2_KERNEL_HEADERS_CUSTOM_TARBALL + +if BR2_KERNEL_HEADERS_CUSTOM_GIT + +config BR2_KERNEL_HEADERS_CUSTOM_REPO_URL + string "URL of custom repository" + +config BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION + string "Custom repository version" + help + Revision to use in the typical format used by + Git/Mercurial/Subversion E.G. a sha id, a tag, branch, .. + +endif + choice bool "Custom kernel headers series" - depends on BR2_KERNEL_HEADERS_VERSION || BR2_KERNEL_HEADERS_AS_KERNEL + depends on BR2_KERNEL_HEADERS_VERSION || BR2_KERNEL_HEADERS_AS_KERNEL || \ + BR2_KERNEL_HEADERS_CUSTOM_TARBALL || BR2_KERNEL_HEADERS_CUSTOM_GIT help Specify the kernel headers series you manually selected, above. @@ -93,6 +125,14 @@ choice This is used to hide/show some packages that have strict requirements on the version of kernel headers. +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18 + bool "4.18.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17 + bool "4.17.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17 + config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16 bool "4.16.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16 @@ -250,13 +290,12 @@ config BR2_DEFAULT_KERNEL_HEADERS string default "3.2.102" if BR2_KERNEL_HEADERS_3_2 default "4.1.52" if BR2_KERNEL_HEADERS_4_1 - default "4.4.142" if BR2_KERNEL_HEADERS_4_4 - default "4.9.113" if BR2_KERNEL_HEADERS_4_9 - default "4.10.17" if BR2_KERNEL_HEADERS_4_10 - default "4.11.12" if BR2_KERNEL_HEADERS_4_11 - default "4.12.14" if BR2_KERNEL_HEADERS_4_12 - default "4.13.16" if BR2_KERNEL_HEADERS_4_13 - default "4.14.56" if BR2_KERNEL_HEADERS_4_14 - default "4.15.18" if BR2_KERNEL_HEADERS_4_15 - default "4.16.17" if BR2_KERNEL_HEADERS_4_16 + default "4.4.164" if BR2_KERNEL_HEADERS_4_4 + default "4.9.140" if BR2_KERNEL_HEADERS_4_9 + default "4.14.83" if BR2_KERNEL_HEADERS_4_14 + default "4.16.18" if BR2_KERNEL_HEADERS_4_16 + default "4.18.20" if BR2_KERNEL_HEADERS_4_18 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION + default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL + default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \ + if BR2_KERNEL_HEADERS_CUSTOM_GIT diff --git a/buildroot/package/linux-headers/linux-headers.hash b/buildroot/package/linux-headers/linux-headers.hash new file mode 120000 index 000000000..04970e97c --- /dev/null +++ b/buildroot/package/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../../linux/linux.hash \ No newline at end of file diff --git a/buildroot/package/linux-headers/linux-headers.mk b/buildroot/package/linux-headers/linux-headers.mk index 954c6b797..45e17688c 100644 --- a/buildroot/package/linux-headers/linux-headers.mk +++ b/buildroot/package/linux-headers/linux-headers.mk @@ -7,27 +7,48 @@ # This package is used to provide Linux kernel headers for the # internal toolchain backend. +# Set variables depending on whether we are using headers from a kernel +# build or a standalone header package. ifeq ($(BR2_KERNEL_HEADERS_AS_KERNEL),y) - +LINUX_HEADERS_CUSTOM_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL)) +LINUX_HEADERS_CUSTOM_GIT = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_GIT)) +LINUX_HEADERS_CUSTOM_HG = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_HG)) +LINUX_HEADERS_CUSTOM_SVN = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_SVN)) LINUX_HEADERS_VERSION = $(call qstrip,$(BR2_LINUX_KERNEL_VERSION)) +LINUX_HEADERS_CUSTOM_TARBALL_LOCATION = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION)) +LINUX_HEADERS_REPO_URL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) +else # ! BR2_KERNEL_HEADERS_AS_KERNEL +LINUX_HEADERS_CUSTOM_TARBALL = $(call qstrip,$(BR2_KERNEL_HEADERS_CUSTOM_TARBALL)) +LINUX_HEADERS_CUSTOM_GIT = $(call qstrip,$(BR2_KERNEL_HEADERS_CUSTOM_GIT)) +LINUX_HEADERS_CUSTOM_HG = +LINUX_HEADERS_CUSTOM_SVN = +LINUX_HEADERS_VERSION = $(call qstrip,$(BR2_DEFAULT_KERNEL_HEADERS)) +LINUX_HEADERS_CUSTOM_TARBALL_LOCATION = $(call qstrip,$(BR2_KERNEL_HEADERS_CUSTOM_TARBALL_LOCATION)) +LINUX_HEADERS_REPO_URL = $(call qstrip,$(BR2_KERNEL_HEADERS_CUSTOM_REPO_URL)) +endif # BR2_KERNEL_HEADERS_AS_KERNEL -# Compute LINUX_HEADERS_SOURCE and LINUX_HEADERS_SITE from the configuration -ifeq ($(BR2_LINUX_KERNEL_CUSTOM_TARBALL),y) -LINUX_HEADERS_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION)) -LINUX_HEADERS_SITE = $(patsubst %/,%,$(dir $(LINUX_HEADERS_TARBALL))) -LINUX_HEADERS_SOURCE = $(notdir $(LINUX_HEADERS_TARBALL)) -else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y) -LINUX_HEADERS_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) -LINUX_HEADERS_SITE_METHOD = git -# use same git tarball as linux kernel -LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz -else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_HG),y) -LINUX_HEADERS_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) -LINUX_HEADERS_SITE_METHOD = hg -# use same hg tarball as linux kernel +# Configure tarball filenames. +ifeq ($(LINUX_HEADERS_CUSTOM_TARBALL),y) +LINUX_HEADERS_SOURCE = $(notdir $(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION)) +else ifeq ($(LINUX_HEADERS_CUSTOM_GIT)$(LINUX_HEADERS_CUSTOM_HG)$(LINUX_HEADERS_CUSTOM_SVN),y) LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz else LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz +endif + +# Configure the various kernel source locations. +ifeq ($(LINUX_HEADERS_CUSTOM_TARBALL),y) +LINUX_HEADERS_SITE = $(patsubst %/,%,$(dir $(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION))) +else ifeq ($(LINUX_HEADERS_CUSTOM_GIT),y) +LINUX_HEADERS_SITE = $(LINUX_HEADERS_REPO_URL) +LINUX_HEADERS_SITE_METHOD = git +else ifeq ($(LINUX_HEADERS_CUSTOM_HG),y) +LINUX_HEADERS_SITE = $(LINUX_HEADERS_REPO_URL) +LINUX_HEADERS_SITE_METHOD = hg +else ifeq ($(LINUX_HEADERS_CUSTOM_SVN),y) +LINUX_HEADERS_SITE = $(LINUX_HEADERS_REPO_URL) +LINUX_HEADERS_SITE_METHOD = svn +else # In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order # to use the $(word) function. We support versions such as 4.0, 3.1, # 2.6.32, 2.6.32-rc1, 3.0-rc6, etc. @@ -37,13 +58,16 @@ else ifeq ($(findstring x3.,x$(LINUX_HEADERS_VERSION)),x3.) LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x else ifeq ($(findstring x4.,x$(LINUX_HEADERS_VERSION)),x4.) LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x -endif +endif # x2.6 # release candidates are in testing/ subdir ifneq ($(findstring -rc,$(LINUX_HEADERS_VERSION)),) LINUX_HEADERS_SITE := $(LINUX_HEADERS_SITE)/testing endif # -rc -endif +endif # LINUX_HEADERS_CUSTOM_TARBALL +# Apply any necessary patches if we are using the headers from a kernel +# build. +ifeq ($(BR2_KERNEL_HEADERS_AS_KERNEL),y) LINUX_HEADERS_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH)) # We rely on the generic package infrastructure to download and apply @@ -63,25 +87,13 @@ define LINUX_HEADERS_APPLY_LOCAL_PATCHES endef LINUX_HEADERS_POST_PATCH_HOOKS += LINUX_HEADERS_APPLY_LOCAL_PATCHES +endif # BR2_KERNEL_HEADERS_AS_KERNEL -else # ! BR2_KERNEL_HEADERS_AS_KERNEL - -LINUX_HEADERS_VERSION = $(call qstrip,$(BR2_DEFAULT_KERNEL_HEADERS)) -ifeq ($(findstring x2.6.,x$(LINUX_HEADERS_VERSION)),x2.6.) -LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6 -else ifeq ($(findstring x3.,x$(LINUX_HEADERS_VERSION)),x3.) -LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x -else ifeq ($(findstring x4.,x$(LINUX_HEADERS_VERSION)),x4.) -LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x -endif -LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz - -ifeq ($(BR2_KERNEL_HEADERS_VERSION),y) +# Skip hash checking for custom kernel headers. +ifeq ($(BR2_KERNEL_HEADERS_VERSION)$(BR2_KERNEL_HEADERS_CUSTOM_TARBALL)$(BR2_KERNEL_HEADERS_CUSTOM_GIT),y) BR_NO_CHECK_HASH_FOR += $(LINUX_HEADERS_SOURCE) endif -endif # ! BR2_KERNEL_HEADERS_AS_KERNEL - # linux-headers really is the same as the linux package LINUX_HEADERS_DL_SUBDIR = linux @@ -125,7 +137,7 @@ define LINUX_HEADERS_INSTALL_STAGING_CMDS headers_install) endef -ifeq ($(BR2_KERNEL_HEADERS_VERSION)$(BR2_KERNEL_HEADERS_AS_KERNEL),y) +ifeq ($(BR2_KERNEL_HEADERS_VERSION)$(BR2_KERNEL_HEADERS_AS_KERNEL)$(BR2_KERNEL_HEADERS_CUSTOM_TARBALL)$(BR2_KERNEL_HEADERS_CUSTOM_GIT),y) define LINUX_HEADERS_CHECK_VERSION $(call check_kernel_headers_version,\ $(STAGING_DIR),\ diff --git a/buildroot/package/linux-pam/linux-pam.hash b/buildroot/package/linux-pam/linux-pam.hash index b9c91ef0f..183bcca40 100644 --- a/buildroot/package/linux-pam/linux-pam.hash +++ b/buildroot/package/linux-pam/linux-pam.hash @@ -1,2 +1,4 @@ -# Locally computed hashes, not provided by upstream -sha256 241aed1ef522f66ed672719ecf2205ec513fd0075ed80cda8e086a5b1a01d1bb Linux-PAM-1.3.0.tar.bz2 +# Locally computed hashes after checking signature at +# https://github.com/linux-pam/linux-pam/releases/download/v1.3.1/Linux-PAM-1.3.1.tar.xz.asc +# signed with the key 8C6BFD92EE0F42EDF91A6A736D1A7F052E5924BB +sha256 eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db Linux-PAM-1.3.1.tar.xz diff --git a/buildroot/package/linux-pam/linux-pam.mk b/buildroot/package/linux-pam/linux-pam.mk index 5c80e7841..63610fcc5 100644 --- a/buildroot/package/linux-pam/linux-pam.mk +++ b/buildroot/package/linux-pam/linux-pam.mk @@ -4,9 +4,9 @@ # ################################################################################ -LINUX_PAM_VERSION = 1.3.0 -LINUX_PAM_SOURCE = Linux-PAM-$(LINUX_PAM_VERSION).tar.bz2 -LINUX_PAM_SITE = http://linux-pam.org/library +LINUX_PAM_VERSION = 1.3.1 +LINUX_PAM_SOURCE = Linux-PAM-$(LINUX_PAM_VERSION).tar.xz +LINUX_PAM_SITE = https://github.com/linux-pam/linux-pam/releases/download/v$(LINUX_PAM_VERSION) LINUX_PAM_INSTALL_STAGING = YES LINUX_PAM_CONF_OPTS = \ --disable-prelude \ diff --git a/buildroot/package/linuxptp/0001-missing.h-drop-clock_nanosleep-replacement.patch b/buildroot/package/linuxptp/0001-missing.h-drop-clock_nanosleep-replacement.patch new file mode 100644 index 000000000..54ef963ae --- /dev/null +++ b/buildroot/package/linuxptp/0001-missing.h-drop-clock_nanosleep-replacement.patch @@ -0,0 +1,49 @@ +From 947bf03ec3d9eaa0bfc0269eed86b9364e94bc1a Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 5 Aug 2018 15:25:53 +0200 +Subject: [PATCH] missing.h: drop clock_nanosleep() replacement + +Since uClibc-ng commits 68628fe7d463541bf3c33da6b214e63c0cc9feed +("librt: declare clock_nanosleep not only for NPTL") and +ddbb03e77ac1a48740688814b82f45c97ee81f37 ("librt: clock_nanosleep +could be even used without threads"), clock_nanosleep() is always +provided by uClibc, regardless of the thread implementation (none, +linuxthreads, nptl). These commits will be part of the upcoming 1.0.31 +release of uClibc-ng. + +Thanks to this, we can drop the replacement clock_nanosleep() +implementation added by linuxptp. Without this, linuxptp fails to +build with: + +missing.h:117:19: error: static declaration of 'clock_nanosleep' follows non-static declaration + static inline int clock_nanosleep(clockid_t clock_id, int flags, + ^~~~~~~~~~~~~~~ +In file included from clockadj.h:24:0, + from clockadj.c:24: + +Signed-off-by: Thomas Petazzoni +--- + missing.h | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/missing.h b/missing.h +index 2f7adb9..60f89a3 100644 +--- a/missing.h ++++ b/missing.h +@@ -129,13 +129,6 @@ enum { + + #define TFD_TIMER_ABSTIME (1 << 0) + +-static inline int clock_nanosleep(clockid_t clock_id, int flags, +- const struct timespec *request, +- struct timespec *remain) +-{ +- return syscall(__NR_clock_nanosleep, clock_id, flags, request, remain); +-} +- + static inline int timerfd_create(int clockid, int flags) + { + return syscall(__NR_timerfd_create, clockid, flags); +-- +2.14.4 + diff --git a/buildroot/package/linuxptp/linuxptp-system-clock.service b/buildroot/package/linuxptp/linuxptp-system-clock.service index 73272542c..a4436a34a 100644 --- a/buildroot/package/linuxptp/linuxptp-system-clock.service +++ b/buildroot/package/linuxptp/linuxptp-system-clock.service @@ -1,6 +1,6 @@ [Unit] Description=Precision Time Protocol system clock synchronization -After=syslog.target network.target +After=linuxptp.service [Service] ExecStart=/usr/sbin/phc2sys -s /dev/ptp0 -c CLOCK_REALTIME -w -S 1.0 diff --git a/buildroot/package/linuxptp/linuxptp.service b/buildroot/package/linuxptp/linuxptp.service index f69043063..14e9814b0 100644 --- a/buildroot/package/linuxptp/linuxptp.service +++ b/buildroot/package/linuxptp/linuxptp.service @@ -1,6 +1,8 @@ [Unit] Description=Precision Time Protocol daemon After=syslog.target network.target +Before=time-sync.target +Wants=time-sync.target Wants=linuxptp-system-clock.service [Service] diff --git a/buildroot/package/live555/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch b/buildroot/package/live555/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch new file mode 100644 index 000000000..a2ae1c183 --- /dev/null +++ b/buildroot/package/live555/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch @@ -0,0 +1,66 @@ +From: Benjamin Drung +Date: Sat, 16 Sep 2017 11:22:03 +0200 +Subject: Add a pkg-config file for the shared libraries + +This patch was downloaded from Debian +https://sources.debian.org/src/liblivemedia/2018.08.05-1/debian/patches/0002-Add-a-pkg-config-file-for-the-shared-libraries.patch/ + +The local/ part of PREXIX and LIBDIR was removed to fit into buildroot. + +A similar version of this patch is part of the vlc source repo: +http://git.videolan.org/?p=vlc.git;a=blob;f=contrib/src/live555/add-pkgconfig-file.patch;hb=HEAD + +Upstream status: Rejected +http://lists.live555.com/pipermail/live-devel/2013-January/016374.html +http://lists.live555.com/pipermail/live-devel/2013-January/016375.html + +Signed-off-by: Bernd Kuhls +--- + Makefile.head | 3 +++ + Makefile.tail | 7 ++++++- + live555.pc.in | 9 +++++++++ + 3 files changed, 18 insertions(+), 1 deletion(-) + create mode 100644 live555.pc.in + +diff --git a/Makefile.head b/Makefile.head +index 458c54c..1571037 100644 +--- a/Makefile.head ++++ b/Makefile.head +@@ -1 +1,4 @@ ++PREFIX = /usr ++LIBDIR = /usr/lib ++VERSION = $(shell grep LIVEMEDIA_LIBRARY_VERSION_STRING liveMedia/include/liveMedia_version.hh | sed 's/.*"\([^"]*\)".*/\1/') + ##### Change the following for your environment: +diff --git a/Makefile.tail b/Makefile.tail +index fc594ea..a20a527 100644 +--- a/Makefile.tail ++++ b/Makefile.tail +@@ -22,7 +22,12 @@ all: + @echo + @echo "For more information about this source code (including your obligations under the LGPL), please see our FAQ at http://live555.com/liveMedia/faq.html" + +-install: ++install_shared_libraries: ++ install -d $(DESTDIR)$(LIBDIR)/pkgconfig ++ sed "s#@PREFIX@#$(PREFIX)#;s#@LIBDIR@#$(LIBDIR)#;s#@VERSION@#$(VERSION)#" live555.pc.in > $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc ++ chmod 644 $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc ++ ++install: $(INSTALL2) + cd $(LIVEMEDIA_DIR) ; $(MAKE) install + cd $(GROUPSOCK_DIR) ; $(MAKE) install + cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE) install +diff --git a/live555.pc.in b/live555.pc.in +new file mode 100644 +index 0000000..3736944 +--- /dev/null ++++ b/live555.pc.in +@@ -0,0 +1,9 @@ ++prefix=@PREFIX@ ++libdir=@LIBDIR@ ++includedir=${prefix}/include ++ ++Name: live555 ++Description: multimedia RTSP streaming library ++Version: @VERSION@ ++Cflags: -I${includedir}/liveMedia -I${includedir}/groupsock -I${includedir}/BasicUsageEnvironment -I${includedir}/UsageEnvironment ++Libs: -L${libdir} -lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment diff --git a/buildroot/package/live555/live555.hash b/buildroot/package/live555/live555.hash index 66a7b7d74..024dcac12 100644 --- a/buildroot/package/live555/live555.hash +++ b/buildroot/package/live555/live555.hash @@ -1,5 +1,5 @@ # From http://live555.com/liveMedia/public/live555-latest-md5.txt -md5 a5acd14c4fa7b50f7270304d3b4a70ae live.2017.10.28.tar.gz +md5 3383dea853735b7a73eda6ddb52b6372 live.2018.10.17.tar.gz # Locally generated -sha256 d8eaec9ded34321aa655d3c9007217dd447218c54cb48c97827e58ecd5edb338 live.2017.10.28.tar.gz +sha256 7c68d9c95b39acd309a2b6a4fc14c3837544a9be3f64062ed38d1ad6f68dc9e8 live.2018.10.17.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/buildroot/package/live555/live555.mk b/buildroot/package/live555/live555.mk index 0507ee9b1..6a6d35365 100644 --- a/buildroot/package/live555/live555.mk +++ b/buildroot/package/live555/live555.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIVE555_VERSION = 2017.10.28 +LIVE555_VERSION = 2018.10.17 LIVE555_SOURCE = live.$(LIVE555_VERSION).tar.gz LIVE555_SITE = http://www.live555.com/liveMedia/public LIVE555_LICENSE = LGPL-2.1+ diff --git a/buildroot/package/ljlinenoise/Config.in b/buildroot/package/ljlinenoise/Config.in index 61c80df0d..e6b587e65 100644 --- a/buildroot/package/ljlinenoise/Config.in +++ b/buildroot/package/ljlinenoise/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_LJLINENOISE ljlinenoise is a pure LuaJIT port of linenoise, a small alternative to readline and libedit. - http://fperrad.github.io/ljlinenoise/ + https://fperrad.frama.io/ljlinenoise/ comment "ljlinenoise needs LuaJIT" depends on !BR2_PACKAGE_LUAJIT diff --git a/buildroot/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch b/buildroot/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch deleted file mode 100644 index 0343b4c7e..000000000 --- a/buildroot/package/llvm/0001-Fix-return-type-in-ORC-readMem-client-interface.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 72ea6ea635d5b5a88f411710daf7e1d340d232d8 Mon Sep 17 00:00:00 2001 -From: Tilmann Scheller -Date: Thu, 1 Feb 2018 11:40:01 -0600 -Subject: [PATCH] Fix return type in ORC readMem() client interface. - -GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang -and earlier versions of GCC don't detect the issue. - -Fixes rhbz#1540620. - -This patch was taken from llvm5.0-5.0.1-7.fc28.src.rpm - -Link to bug: https://bugzilla.redhat.com/show_bug.cgi?id=1540620 - -Signed-off-by: Valentin Korenblit ---- - include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -index da02250ba16..bed472e2e0e 100644 ---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -@@ -713,8 +713,8 @@ private: - - uint32_t getTrampolineSize() const { return RemoteTrampolineSize; } - -- Expected> readMem(char *Dst, JITTargetAddress Src, -- uint64_t Size) { -+ Expected> readMem(char *Dst, JITTargetAddress Src, -+ uint64_t Size) { - // Check for an 'out-of-band' error, e.g. from an MM destructor. - if (ExistingError) - return std::move(ExistingError); --- -2.14.3 - diff --git a/buildroot/package/llvm/llvm.hash b/buildroot/package/llvm/llvm.hash index 14f8bb448..200907fc8 100644 --- a/buildroot/package/llvm/llvm.hash +++ b/buildroot/package/llvm/llvm.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 d522eda97835a9c75f0b88ddc81437e5edbb87dc2740686cb8647763855c2b3c llvm-5.0.2.src.tar.xz -sha256 abd4d8794808bacb1eb6924d49efafd9ab6eef88faaaeb5d3cfa13ee3670d672 LICENSE.TXT +sha256 8bc1f844e6cbde1b652c19c1edebc1864456fd9c78b8c1bea038e51b363fe222 llvm-7.0.0.src.tar.xz +sha256 0303dfeaac87b80d2d1e543aa38d5be77b0eac93c3d04fe7e3c8eaa71a778667 LICENSE.TXT diff --git a/buildroot/package/llvm/llvm.mk b/buildroot/package/llvm/llvm.mk index 3abf42898..1f9bd447f 100644 --- a/buildroot/package/llvm/llvm.mk +++ b/buildroot/package/llvm/llvm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LLVM_VERSION = 5.0.2 +LLVM_VERSION = 7.0.0 LLVM_SITE = http://llvm.org/releases/$(LLVM_VERSION) LLVM_SOURCE = llvm-$(LLVM_VERSION).src.tar.xz LLVM_LICENSE = NCSA @@ -30,11 +30,6 @@ LLVM_CONF_OPTS += -DLLVM_CCACHE_BUILD=$(if $(BR2_CCACHE),ON,OFF) # will try to use target's libc. HOST_LLVM_CONF_OPTS += -DCMAKE_INSTALL_RPATH="$(HOST_DIR)/lib" -# Disable experimental Global Instruction Selection support. -# https://llvm.org/docs/GlobalISel.html -HOST_LLVM_CONF_OPTS += -DLLVM_BUILD_GLOBAL_ISEL=OFF -LLVM_CONF_OPTS += -DLLVM_BUILD_GLOBAL_ISEL=OFF - # Get target architecture LLVM_TARGET_ARCH = $(call qstrip,$(BR2_PACKAGE_LLVM_TARGET_ARCH)) diff --git a/buildroot/package/log4cplus/log4cplus.hash b/buildroot/package/log4cplus/log4cplus.hash index 2f1d24a85..9bea814d6 100644 --- a/buildroot/package/log4cplus/log4cplus.hash +++ b/buildroot/package/log4cplus/log4cplus.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 8c85e769c3dbec382ed4db91f15e5bc24ba979f810262723781f2fc596339bf4 log4cplus-2.0.0.tar.xz +sha256 8ff4055be749f17f3648694bd5778bfd86d33158cceaa616a50c0299d6035b41 log4cplus-2.0.2.tar.xz sha256 91d7e42ff80e74c4c94e5ad353375fa0358cd0abbf43f5fe957097cdbd4e2c4d LICENSE diff --git a/buildroot/package/log4cplus/log4cplus.mk b/buildroot/package/log4cplus/log4cplus.mk index 890d2ee8f..22efde2fd 100644 --- a/buildroot/package/log4cplus/log4cplus.mk +++ b/buildroot/package/log4cplus/log4cplus.mk @@ -4,7 +4,7 @@ # ################################################################################ -LOG4CPLUS_VERSION = 2.0.0 +LOG4CPLUS_VERSION = 2.0.2 LOG4CPLUS_SOURCE = log4cplus-$(LOG4CPLUS_VERSION).tar.xz LOG4CPLUS_SITE = http://downloads.sourceforge.net/project/log4cplus/log4cplus-stable/$(LOG4CPLUS_VERSION) LOG4CPLUS_LICENSE = Apache-2.0, BSD-2-Clause, BSD-like (threadpool) diff --git a/buildroot/package/lsof/lsof.mk b/buildroot/package/lsof/lsof.mk index 0dc8e2de2..83a9b6c38 100644 --- a/buildroot/package/lsof/lsof.mk +++ b/buildroot/package/lsof/lsof.mk @@ -13,9 +13,6 @@ LSOF_LICENSE = lsof license # It is also defined in 00README, but that contains a lot of other cruft. LSOF_LICENSE_FILES = dialects/linux/dproto.h -# Make certain full-blown lsof gets built after the busybox version (1.20+) -LSOF_DEPENDENCIES += $(if $(BR2_PACKAGE_BUSYBOX),busybox) - ifeq ($(BR2_USE_WCHAR),) define LSOF_CONFIGURE_WCHAR_FIXUPS $(SED) 's,^#define[[:space:]]*HASWIDECHAR.*,#undef HASWIDECHAR,' \ diff --git a/buildroot/package/lsscsi/lsscsi.hash b/buildroot/package/lsscsi/lsscsi.hash index d39da9bc8..fe1bc5d8b 100644 --- a/buildroot/package/lsscsi/lsscsi.hash +++ b/buildroot/package/lsscsi/lsscsi.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 025d009a1af42bc5b2fca664c44c9ecdfd754356e4a44f5c6aced2420afadd50 lsscsi-0.28.tgz +sha256 619a2187405f02c5f57682f3478bffc75326803cd08839e39d434250c5518b15 lsscsi-0.30.tgz +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/buildroot/package/lsscsi/lsscsi.mk b/buildroot/package/lsscsi/lsscsi.mk index 649aad9a3..70c5226d9 100644 --- a/buildroot/package/lsscsi/lsscsi.mk +++ b/buildroot/package/lsscsi/lsscsi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LSSCSI_VERSION = 0.28 +LSSCSI_VERSION = 0.30 LSSCSI_SOURCE = lsscsi-$(LSSCSI_VERSION).tgz LSSCSI_SITE = http://sg.danny.cz/scsi LSSCSI_LICENSE = GPL-2.0+ diff --git a/buildroot/package/ltp-testsuite/0001-rpc-tirpc-disable-tirpc_auth_authdes_-create-tests.patch b/buildroot/package/ltp-testsuite/0001-rpc-tirpc-disable-tirpc_auth_authdes_-create-tests.patch index 344ba4ae9..6fe2d6e72 100644 --- a/buildroot/package/ltp-testsuite/0001-rpc-tirpc-disable-tirpc_auth_authdes_-create-tests.patch +++ b/buildroot/package/ltp-testsuite/0001-rpc-tirpc-disable-tirpc_auth_authdes_-create-tests.patch @@ -3,7 +3,7 @@ From: Erico Nunes Date: Fri, 30 Sep 2016 17:43:08 +0200 Subject: [PATCH] rpc-tirpc: disable tirpc_auth_authdes_*create tests -Due to Buildroot patch 0007-Disable-DES-authentification-support.patch on +Due to Buildroot patch 0005-Disable-DES-authentification-support.patch on libtirpc, this library is built without method authdes_create. Any code that uses this library, like the rpc-tirpc testsuite, thus fails to link. diff --git a/buildroot/package/ltp-testsuite/0002-numa-Fix-numa-v2-detection-for-cross-compilation.patch b/buildroot/package/ltp-testsuite/0002-numa-Fix-numa-v2-detection-for-cross-compilation.patch deleted file mode 100644 index 6ad1db046..000000000 --- a/buildroot/package/ltp-testsuite/0002-numa-Fix-numa-v2-detection-for-cross-compilation.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 01c134f30be755a43af12a4ae2c31177d04be790 Mon Sep 17 00:00:00 2001 -From: Petr Vorel -Date: Mon, 29 Jan 2018 10:31:40 +0100 -Subject: [PATCH] numa: Fix numa v2 detection for cross compilation - -Changed to AC_COMPILE_IFELSE as AC_RUN_IFELSE cannot be run while -cross compiling. - -Bug found by Buildroot project. - -Signed-off-by: Petr Vorel -Reported-by: Baruch Siach ---- - m4/ltp-numa.m4 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/m4/ltp-numa.m4 b/m4/ltp-numa.m4 -index fc3383e97..633f54c18 100644 ---- a/m4/ltp-numa.m4 -+++ b/m4/ltp-numa.m4 -@@ -28,11 +28,11 @@ AC_DEFUN([LTP_CHECK_SYSCALL_NUMA], [ - AC_CHECK_HEADERS([numa.h numaif.h], [], [have_numa_headers=no]) - - if test "x$have_numa_headers" != "xno"; then -- AC_RUN_IFELSE([AC_LANG_PROGRAM([ -+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ - #include - ], [ - #if LIBNUMA_API_VERSION < 2 --exit(1); -+# error Required numa headers >= 2 - #endif - ])], [have_numa_headers_v2=yes]) - fi --- -2.16.0 - diff --git a/buildroot/package/ltp-testsuite/0002-statx-fix-compile-errors.patch b/buildroot/package/ltp-testsuite/0002-statx-fix-compile-errors.patch new file mode 100644 index 000000000..6ddd2c905 --- /dev/null +++ b/buildroot/package/ltp-testsuite/0002-statx-fix-compile-errors.patch @@ -0,0 +1,35 @@ +From a945304b6a2286d0665c70250cc5475eb07fd21e Mon Sep 17 00:00:00 2001 +From: Thadeu Lima de Souza Cascardo +Date: Wed, 26 Sep 2018 11:15:45 -0300 +Subject: [PATCH] statx: fix compile errors + +struct statx is only defined in sys/stat.h when _GNU_SOURCE is defined. +The testcases do define _GNU_SOURCE, but not the m4 struct check. + +Signed-off-by: Thadeu Lima de Souza Cascardo +Acked-by: Cyril Hrubis +--- + m4/ltp-statx.m4 | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/m4/ltp-statx.m4 b/m4/ltp-statx.m4 +index 44303d30c..5f79a94cd 100644 +--- a/m4/ltp-statx.m4 ++++ b/m4/ltp-statx.m4 +@@ -23,6 +23,11 @@ dnl + AC_DEFUN([LTP_CHECK_STATX],[ + AC_CHECK_FUNCS(statx,,,[[#include ]]) + AC_CHECK_HEADER(linux/fs.h,,,) +-AC_CHECK_TYPES([struct statx],,,[[#include ]]) +-AC_CHECK_TYPES([struct statx_timestamp],,,[[#include ]]) ++AC_CHECK_TYPES([struct statx],,,[[ ++ #define _GNU_SOURCE ++ #include ++]]) ++AC_CHECK_TYPES([struct statx_timestamp],,,[[ ++ #define _GNU_SOURCE ++ #include ]]) + ]) +-- +2.19.0 + diff --git a/buildroot/package/ltp-testsuite/ltp-testsuite.hash b/buildroot/package/ltp-testsuite/ltp-testsuite.hash index d75d20438..1f04aee48 100644 --- a/buildroot/package/ltp-testsuite/ltp-testsuite.hash +++ b/buildroot/package/ltp-testsuite/ltp-testsuite.hash @@ -1,2 +1,2 @@ -# From: https://github.com/linux-test-project/ltp/releases/download/20180118/ltp-full-20180118.tar.xz.sha1 -sha1 2e643f1e29cd89efc8059729f60237a427fd409e ltp-full-20180118.tar.xz +# From: https://github.com/linux-test-project/ltp/releases/download/20180926/ltp-full-20180926.tar.xz.sha1 +sha1 da5c8e847ed909dbd0b859c6918bc526cf6c2695 ltp-full-20180926.tar.xz diff --git a/buildroot/package/ltp-testsuite/ltp-testsuite.mk b/buildroot/package/ltp-testsuite/ltp-testsuite.mk index f5ea4344e..9001316fb 100644 --- a/buildroot/package/ltp-testsuite/ltp-testsuite.mk +++ b/buildroot/package/ltp-testsuite/ltp-testsuite.mk @@ -4,7 +4,7 @@ # ################################################################################ -LTP_TESTSUITE_VERSION = 20180118 +LTP_TESTSUITE_VERSION = 20180926 LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION) LTP_TESTSUITE_LICENSE = GPL-2.0, GPL-2.0+ @@ -57,9 +57,6 @@ LTP_TESTSUITE_CONF_ENV += \ LIBS="$(LTP_TESTSUITE_LIBS)" \ SYSROOT="$(STAGING_DIR)" -# Required by patch 0002-numa-Fix-numa-v2-detection-for-cross-compilation.patch -LTP_TESTSUITE_AUTORECONF = YES - # Requires uClibc fts and bessel support, normally not enabled ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) define LTP_TESTSUITE_REMOVE_UNSUPPORTED @@ -78,4 +75,7 @@ endef LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_LDD endif +# 0002-statx-fix-compile-errors.patch +LTP_TESTSUITE_AUTORECONF = YES + $(eval $(autotools-package)) diff --git a/buildroot/package/ltrace/Config.in b/buildroot/package/ltrace/Config.in index 2defbe28a..667338a26 100644 --- a/buildroot/package/ltrace/Config.in +++ b/buildroot/package/ltrace/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LTRACE_ARCH_SUPPORTS bool + default y if BR2_aarch64 default y if BR2_arm default y if BR2_i386 default y if BR2_mips diff --git a/buildroot/package/lttng-modules/lttng-modules.hash b/buildroot/package/lttng-modules/lttng-modules.hash index 7fa742dc1..8992cbce9 100644 --- a/buildroot/package/lttng-modules/lttng-modules.hash +++ b/buildroot/package/lttng-modules/lttng-modules.hash @@ -1,3 +1,3 @@ -# From http://lttng.org/files/lttng-modules/lttng-modules-2.10.4.tar.bz2.{md5,sha1} -md5 832452b321a4df6836549e72d05b2ce9 lttng-modules-2.10.4.tar.bz2 -sha1 1712f5d5c0ef9b028949693c5cf24c5a00b7f4ef lttng-modules-2.10.4.tar.bz2 +# From http://lttng.org/files/lttng-modules/lttng-modules-2.10.6.tar.bz2.{md5,sha1} +md5 8110099f4615fc89a74ffe9189b56cfc lttng-modules-2.10.6.tar.bz2 +sha1 1126b29e055ebdb3fad9201edaf0ef27f88c9369 lttng-modules-2.10.6.tar.bz2 diff --git a/buildroot/package/lttng-modules/lttng-modules.mk b/buildroot/package/lttng-modules/lttng-modules.mk index 4a4974d81..8d48c37ba 100644 --- a/buildroot/package/lttng-modules/lttng-modules.mk +++ b/buildroot/package/lttng-modules/lttng-modules.mk @@ -4,7 +4,7 @@ # ################################################################################ -LTTNG_MODULES_VERSION = 2.10.4 +LTTNG_MODULES_VERSION = 2.10.6 LTTNG_MODULES_SITE = http://lttng.org/files/lttng-modules LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2 LTTNG_MODULES_LICENSE = LGPL-2.1/GPL-2.0 (kernel modules), MIT (lib/bitfield.h, lib/prio_heap/*) diff --git a/buildroot/package/lttng-tools/0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch b/buildroot/package/lttng-tools/0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch deleted file mode 100644 index 8e14a1441..000000000 --- a/buildroot/package/lttng-tools/0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch +++ /dev/null @@ -1,249 +0,0 @@ -From bc1d8ca01415710d40224de312c7ecf6f4223301 Mon Sep 17 00:00:00 2001 -From: Philippe Proulx -Date: Mon, 6 Nov 2017 18:46:41 -0500 -Subject: [PATCH] Fix: detect dlmopen() and disable corresponding tests if not - available -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -musl and uClibc-ng are known not to support dlmopen(). LTTng-UST has -this dlmopen() detection. - -Signed-off-by: Philippe Proulx -[Philippe: backport from upstream commit bc1d8ca0 - edited to remove .gitignore part] -Signed-off-by: Jérémie Galarneau ---- - .gitignore | 1 + - configure.ac | 25 ++++++++++++++++++++++ - tests/regression/ust/ust-dl/prog.c | 17 +++++++++++++-- - tests/regression/ust/ust-dl/test_ust-dl | 32 ---------------------------- - tests/regression/ust/ust-dl/test_ust-dl.in | 34 ++++++++++++++++++++++++++++++ - tests/regression/ust/ust-dl/test_ust-dl.py | 9 +++++++- - tests/utils/test_utils.py | 3 +++ - 7 files changed, 86 insertions(+), 35 deletions(-) - delete mode 100755 tests/regression/ust/ust-dl/test_ust-dl - create mode 100644 tests/regression/ust/ust-dl/test_ust-dl.in - -diff --git a/configure.ac b/configure.ac -index 016c56ec..b6ea39c5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -196,6 +196,30 @@ AC_CHECK_FUNCS([ \ - # add -lrt to LIBS - AC_CHECK_LIB([rt], [clock_gettime, timer_create, timer_settime, timer_delete]) - -+# Checks for dl. -+AC_CHECK_LIB([dl], [dlopen], [ -+ have_libdl=yes -+ libdl_name=dl -+], [ -+ # libdl not found, check for dlopen in libc. -+ AC_CHECK_LIB([c], [dlopen], [ -+ have_libc_dl=yes -+ libdl_name=c -+ ], [ -+ AC_MSG_ERROR([Cannot find dlopen in libdl nor libc. Use [LDFLAGS]=-Ldir to specify their location.]) -+ ]) -+]) -+ -+# Check if libdl has dlmopen support. -+AH_TEMPLATE([HAVE_DLMOPEN], ["Define to 1 if dlmopen is available."]) -+AC_CHECK_LIB([$libdl_name], [dlmopen], [ -+ AC_DEFINE([HAVE_DLMOPEN], [1]) -+ HAVE_DLMOPEN=1 -+], [ -+ HAVE_DLMOPEN=0 -+]) -+AC_SUBST(HAVE_DLMOPEN) -+ - # Babeltrace viewer check - AC_ARG_WITH([babeltrace-bin], - AS_HELP_STRING([--with-babeltrace-bin], -@@ -1100,6 +1124,7 @@ AC_CONFIG_FILES([ - AC_CONFIG_FILES([tests/regression/ust/python-logging/test_python_logging],[chmod +x tests/regression/ust/python-logging/test_python_logging]) - # Inject LTTNG_TOOLS_BUILD_WITH_LIBPFM variable in test script. - AC_CONFIG_FILES([tests/perf/test_perf_raw],[chmod +x tests/perf/test_perf_raw]) -+AC_CONFIG_FILES([tests/regression/ust/ust-dl/test_ust-dl],[chmod +x tests/regression/ust/ust-dl/test_ust-dl]) - - AC_OUTPUT - -diff --git a/tests/regression/ust/ust-dl/prog.c b/tests/regression/ust/ust-dl/prog.c -index e8e4b264..669792d9 100644 ---- a/tests/regression/ust/ust-dl/prog.c -+++ b/tests/regression/ust/ust-dl/prog.c -@@ -13,7 +13,12 @@ - */ - int main(int argc, char **argv) - { -- void *h0, *h1, *h2, *h3, *h4; -+ void *h0, *h2, *h3, *h4; -+ -+#ifdef HAVE_DLMOPEN -+ void *h1; -+#endif -+ - char *error; - int (*foo)(void); - -@@ -21,10 +26,14 @@ int main(int argc, char **argv) - if (!h0) { - goto get_error; - } -+ -+#ifdef HAVE_DLMOPEN - h1 = dlmopen(LM_ID_BASE, "libfoo.so", RTLD_LAZY); - if (!h1) { - goto get_error; - } -+#endif -+ - h2 = dlopen("libzzz.so", RTLD_LAZY); - if (!h2) { - goto get_error; -@@ -38,7 +47,7 @@ int main(int argc, char **argv) - goto get_error; - } - -- foo = dlsym(h1, "foo"); -+ foo = dlsym(h3, "foo"); - error = dlerror(); - if (error != NULL) { - goto error; -@@ -49,9 +58,13 @@ int main(int argc, char **argv) - if (dlclose(h0)) { - goto get_error; - } -+ -+#ifdef HAVE_DLMOPEN - if (dlclose(h1)) { - goto get_error; - } -+#endif -+ - if (dlclose(h2)) { - goto get_error; - } -diff --git a/tests/regression/ust/ust-dl/test_ust-dl b/tests/regression/ust/ust-dl/test_ust-dl -deleted file mode 100755 -index 1f2934db..00000000 ---- a/tests/regression/ust/ust-dl/test_ust-dl -+++ /dev/null -@@ -1,32 +0,0 @@ --#!/bin/bash --# --# Copyright (C) - 2013 Jérémie Galarneau --# --# This program is free software; you can redistribute it and/or modify it --# under the terms of the GNU General Public License, version 2 only, as --# published by the Free Software Foundation. --# --# This program is distributed in the hope that it will be useful, but WITHOUT --# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or --# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for --# more details. --# --# You should have received a copy of the GNU General Public License along with --# this program; if not, write to the Free Software Foundation, Inc., 51 --# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- --CURDIR=$(dirname $0) --TESTDIR=${CURDIR}/../../.. -- --source $TESTDIR/utils/utils.sh -- --if [ ! -x "$CURDIR/.libs/libfoo.so" ]; then -- diag "No shared object generated. Skipping all tests." -- exit 0 --fi -- --start_lttng_sessiond_notap -- --python3 ${CURDIR}/test_ust-dl.py -- --stop_lttng_sessiond_notap -diff --git a/tests/regression/ust/ust-dl/test_ust-dl.in b/tests/regression/ust/ust-dl/test_ust-dl.in -new file mode 100644 -index 00000000..61d00d21 ---- /dev/null -+++ b/tests/regression/ust/ust-dl/test_ust-dl.in -@@ -0,0 +1,34 @@ -+#!/bin/bash -+# -+# Copyright (C) - 2013 Jérémie Galarneau -+# -+# This program is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License, version 2 only, as -+# published by the Free Software Foundation. -+# -+# This program is distributed in the hope that it will be useful, but WITHOUT -+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -+# more details. -+# -+# You should have received a copy of the GNU General Public License along with -+# this program; if not, write to the Free Software Foundation, Inc., 51 -+# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ -+CURDIR=$(dirname $0) -+TESTDIR=${CURDIR}/../../.. -+ -+source $TESTDIR/utils/utils.sh -+ -+if [ ! -x "$CURDIR/.libs/libfoo.so" ]; then -+ diag "No shared object generated. Skipping all tests." -+ exit 0 -+fi -+ -+export LTTNG_TOOLS_HAVE_DLMOPEN=@HAVE_DLMOPEN@ -+ -+start_lttng_sessiond_notap -+ -+python3 ${CURDIR}/test_ust-dl.py -+ -+stop_lttng_sessiond_notap -diff --git a/tests/regression/ust/ust-dl/test_ust-dl.py b/tests/regression/ust/ust-dl/test_ust-dl.py -index 81972a7d..72459840 100644 ---- a/tests/regression/ust/ust-dl/test_ust-dl.py -+++ b/tests/regression/ust/ust-dl/test_ust-dl.py -@@ -31,6 +31,9 @@ sys.path.append(test_utils_path) - from test_utils import * - - -+have_dlmopen = (os.environ.get('LTTNG_TOOLS_HAVE_DLMOPEN') == '1') -+ -+ - NR_TESTS = 14 - current_test = 1 - print("1..{0}".format(NR_TESTS)) -@@ -113,7 +116,11 @@ current_test += 1 - print_test_result(dlopen_event_found > 0, current_test, "lttng_ust_dl:dlopen event found in resulting trace") - current_test += 1 - --print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace") -+if have_dlmopen: -+ print_test_result(dlmopen_event_found > 0, current_test, "lttng_ust_dl:dlmopen event found in resulting trace") -+else: -+ skip_test(current_test, 'dlmopen() is not available') -+ - current_test += 1 - - print_test_result(build_id_event_found > 0, current_test, "lttng_ust_dl:build_id event found in resulting trace") -diff --git a/tests/utils/test_utils.py b/tests/utils/test_utils.py -index 4b38630c..02e632a2 100644 ---- a/tests/utils/test_utils.py -+++ b/tests/utils/test_utils.py -@@ -62,6 +62,9 @@ def print_test_result(result, number, description): - result_string += " {0} - {1}".format(number, description) - print(result_string) - -+def skip_test(number, description): -+ print('ok {} # skip {}'.format(number, description)) -+ - def enable_ust_tracepoint_event(session_info, event_name): - event = Event() - event.name = event_name --- -2.15.0 - diff --git a/buildroot/package/lttng-tools/0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch b/buildroot/package/lttng-tools/0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch deleted file mode 100644 index 914947684..000000000 --- a/buildroot/package/lttng-tools/0002-Fix-src-common-pipe.h-include-sys-types.h-for-ssize_.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 40dde31f7eeb71af169b97b82d8fd1739895dfc3 Mon Sep 17 00:00:00 2001 -From: Philippe Proulx -Date: Wed, 8 Nov 2017 15:19:24 -0500 -Subject: [PATCH] Fix: src/common/pipe.h: include for ssize_t and - mode_t -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Philippe Proulx -[Philippe: backport from upstream commit 40dde31f] -Signed-off-by: Jérémie Galarneau ---- - src/common/pipe.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/common/pipe.h b/src/common/pipe.h -index 2d4fc967..30f7c3f3 100644 ---- a/src/common/pipe.h -+++ b/src/common/pipe.h -@@ -20,6 +20,7 @@ - - #include - #include -+#include - - enum lttng_pipe_state { - LTTNG_PIPE_STATE_OPENED = 1, --- -2.15.0 - diff --git a/buildroot/package/lttng-tools/0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch b/buildroot/package/lttng-tools/0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch deleted file mode 100644 index b353b8f48..000000000 --- a/buildroot/package/lttng-tools/0003-Fix-warning-src-bin-lttng-utils.c-cast-incompatible-.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 56efeab366da412ee4196107c08174f32ed83c9a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Galarneau?= - -Date: Mon, 13 Nov 2017 10:31:29 -0500 -Subject: [PATCH] Fix warning: src/bin/lttng/utils.c: cast incompatible pointer -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reported-by: Philippe Proulx -[Philippe: backport from upstream commit 56efeab3] -Signed-off-by: Jérémie Galarneau ---- - src/bin/lttng/utils.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/bin/lttng/utils.c b/src/bin/lttng/utils.c -index 885f498b..52a2440e 100644 ---- a/src/bin/lttng/utils.c -+++ b/src/bin/lttng/utils.c -@@ -387,7 +387,7 @@ int check_relayd(void) - * A successful connect means the relayd exists thus returning 0 else a - * negative value means it does NOT exists. - */ -- ret = connect(fd, &sin, sizeof(sin)); -+ ret = connect(fd, (struct sockaddr *) &sin, sizeof(sin)); - if (ret < 0) { - /* Not found. */ - ret = 0; --- -2.15.0 - diff --git a/buildroot/package/lttng-tools/lttng-tools.hash b/buildroot/package/lttng-tools/lttng-tools.hash index 51742525b..f6c01b7de 100644 --- a/buildroot/package/lttng-tools/lttng-tools.hash +++ b/buildroot/package/lttng-tools/lttng-tools.hash @@ -1,3 +1,8 @@ -# From http://lttng.org/files/lttng-tools/lttng-tools-2.10.1.tar.bz2.{md5,sha1} -md5 fd80fa64dffd8017fb30836eb30532cc lttng-tools-2.10.1.tar.bz2 -sha1 b29554903160dc1c89b41c85493fd968de0e624f lttng-tools-2.10.1.tar.bz2 +# From https://lttng.org/files/lttng-tools/lttng-tools-2.10.5.tar.bz2.{md5,sha1} +md5 50e07676d5eb5d6cf4ece804863a6f74 lttng-tools-2.10.5.tar.bz2 +sha1 68790d44529a3b29896c35bb2350e8a0e1226264 lttng-tools-2.10.5.tar.bz2 +# Locally computed +sha256 a4868078ef961e83dc236c4f24fd848161bfa755344b064dece62c4c81a07411 lttng-tools-2.10.5.tar.bz2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 gpl-2.0.txt +sha256 051be1f11b508ef7bb839994f6b58be19a827c56bd9bddfe36d77d3d4be55abe lgpl-2.1.txt +sha256 f07515677547da5f3ee2396bdf491affc1accd5e4765a5378b6e1e98392fd5e7 LICENSE diff --git a/buildroot/package/lttng-tools/lttng-tools.mk b/buildroot/package/lttng-tools/lttng-tools.mk index 59f64cc40..ce07ce4b5 100644 --- a/buildroot/package/lttng-tools/lttng-tools.mk +++ b/buildroot/package/lttng-tools/lttng-tools.mk @@ -4,14 +4,13 @@ # ################################################################################ -LTTNG_TOOLS_VERSION = 2.10.1 -LTTNG_TOOLS_SITE = http://lttng.org/files/lttng-tools +LTTNG_TOOLS_VERSION = 2.10.5 +LTTNG_TOOLS_SITE = https://lttng.org/files/lttng-tools LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2 +LTTNG_TOOLS_INSTALL_STAGING = YES LTTNG_TOOLS_LICENSE = GPL-2.0+, LGPL-2.1+ (include/lttng/*, src/lib/lttng-ctl/*) LTTNG_TOOLS_LICENSE_FILES = gpl-2.0.txt lgpl-2.1.txt LICENSE LTTNG_TOOLS_CONF_OPTS += --disable-man-pages -# 0001-Fix-detect-dlmopen-and-disable-corresponding-tests-i.patch -LTTNG_TOOLS_AUTORECONF = YES LTTNG_TOOLS_DEPENDENCIES = liburcu libxml2 popt util-linux ifeq ($(BR2_PACKAGE_LTTNG_LIBUST),y) diff --git a/buildroot/package/lua-coat/Config.in b/buildroot/package/lua-coat/Config.in index f6ba6cf68..fa7aed90a 100644 --- a/buildroot/package/lua-coat/Config.in +++ b/buildroot/package/lua-coat/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_LUA_COAT help Yet Another Lua Object-Oriented Model - http://fperrad.github.io/lua-Coat/ + https://fperrad.frama.io/lua-Coat/ diff --git a/buildroot/package/lua-coatpersistent/Config.in b/buildroot/package/lua-coatpersistent/Config.in index d8b3570c1..049a0bc2a 100644 --- a/buildroot/package/lua-coatpersistent/Config.in +++ b/buildroot/package/lua-coatpersistent/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_LUA_COATPERSISTENT help An ORM for lua-Coat. - http://fperrad.github.io/lua-CoatPersistent/ + https://fperrad.frama.io/lua-CoatPersistent/ comment "lua-coatpersistent needs lsqlite3 or luasql-sqlite3" depends on !BR2_PACKAGE_LSQLITE3 && !BR2_PACKAGE_LUASQL_SQLITE3 diff --git a/buildroot/package/lua-compat53/lua-compat53.hash b/buildroot/package/lua-compat53/lua-compat53.hash index 7f1e1bb22..f311b9ce8 100644 --- a/buildroot/package/lua-compat53/lua-compat53.hash +++ b/buildroot/package/lua-compat53/lua-compat53.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 fd0117156f59d1cb3824d5cca63be84c72cb5519b714377545433be3bb31afdf compat53-0.5-1.src.rock +sha256 cb5fdca362780a30405c4134310ea78627a092b0ee8445a52456f2fceeeaea4e compat53-0.7-1.src.rock diff --git a/buildroot/package/lua-compat53/lua-compat53.mk b/buildroot/package/lua-compat53/lua-compat53.mk index 969f81639..13e24391b 100644 --- a/buildroot/package/lua-compat53/lua-compat53.mk +++ b/buildroot/package/lua-compat53/lua-compat53.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_COMPAT53_VERSION_UPSTREAM = 0.5 +LUA_COMPAT53_VERSION_UPSTREAM = 0.7 LUA_COMPAT53_VERSION = $(LUA_COMPAT53_VERSION_UPSTREAM)-1 LUA_COMPAT53_NAME_UPSTREAM = compat53 LUA_COMPAT53_SUBDIR = lua-compat-5.3-$(LUA_COMPAT53_VERSION_UPSTREAM) diff --git a/buildroot/package/lua-csnappy/Config.in b/buildroot/package/lua-csnappy/Config.in index 54d68a2e1..fb00a1300 100644 --- a/buildroot/package/lua-csnappy/Config.in +++ b/buildroot/package/lua-csnappy/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_LUA_CSNAPPY lua-csnappy is a binding of the csnappy library which implements the Google's Snappy (de)compressor. - http://fperrad.github.io/lua-csnappy/ + https://fperrad.frama.io/lua-csnappy/ diff --git a/buildroot/package/lua-curl/0001-Fix-build-with-curl-7.62.0.patch b/buildroot/package/lua-curl/0001-Fix-build-with-curl-7.62.0.patch new file mode 100644 index 000000000..456afb30f --- /dev/null +++ b/buildroot/package/lua-curl/0001-Fix-build-with-curl-7.62.0.patch @@ -0,0 +1,58 @@ +From 4e3764ecf2b2c3f62475579fee6af4a753729f07 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Thu, 1 Nov 2018 19:12:20 +0200 +Subject: [PATCH] Fix build with curl 7.62.0 + +Fixes #134. + +curl 7.62.0 deprecates the CURLE_SSL_CACERT error code, and unifies it +with CURLE_PEER_FAILED_VERIFICATION. Adjust the errors list to match. + +This fixes the following build failure: + +src/lcerr_easy.h: In function 'lcurl_err_easy_mnemo': +src/lcerror.c:32:22: error: duplicate case value + #define ERR_ENTRY(E) case CURLE_##E: return #E; + ^ +src/lcerr_easy.h:74:1: note: in expansion of macro 'ERR_ENTRY' + ERR_ENTRY ( SSL_CACERT ) + ^~~~~~~~~ +src/lcerror.c:32:22: note: previously used here + #define ERR_ENTRY(E) case CURLE_##E: return #E; + ^ +src/lcerr_easy.h:65:1: note: in expansion of macro 'ERR_ENTRY' + ERR_ENTRY ( PEER_FAILED_VERIFICATION ) + ^~~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/Lua-cURL/Lua-cURLv3/pull/136 + +diff --git a/src/lcerr_easy.h b/src/lcerr_easy.h +index 94ad143c3bfe..895c6d87d72f 100644 +--- a/Lua-cURLv3-0.3.7/src/lcerr_easy.h ++++ b/Lua-cURLv3-0.3.7/src/lcerr_easy.h +@@ -62,7 +62,11 @@ ERR_ENTRY ( UNKNOWN_TELNET_OPTION ) /* User specified an unknown option */ + #endif + ERR_ENTRY ( TELNET_OPTION_SYNTAX ) + ERR_ENTRY ( OBSOLETE50 ) ++#if LCURL_CURL_VER_GE(7,62,0) ++ERR_ENTRY ( OBSOLETE51 ) ++#else + ERR_ENTRY ( PEER_FAILED_VERIFICATION ) ++#endif + ERR_ENTRY ( GOT_NOTHING ) + ERR_ENTRY ( SSL_ENGINE_NOTFOUND ) + ERR_ENTRY ( SSL_ENGINE_SETFAILED ) +@@ -71,7 +75,11 @@ ERR_ENTRY ( RECV_ERROR ) + ERR_ENTRY ( OBSOLETE57 ) + ERR_ENTRY ( SSL_CERTPROBLEM ) + ERR_ENTRY ( SSL_CIPHER ) ++#if LCURL_CURL_VER_GE(7,62,0) ++ERR_ENTRY ( PEER_FAILED_VERIFICATION ) ++#else + ERR_ENTRY ( SSL_CACERT ) ++#endif + ERR_ENTRY ( BAD_CONTENT_ENCODING ) + ERR_ENTRY ( LDAP_INVALID_URL ) + ERR_ENTRY ( FILESIZE_EXCEEDED ) diff --git a/buildroot/package/lua-flu/0001-use-system-xattr-h.patch b/buildroot/package/lua-flu/0001-use-system-xattr-h.patch new file mode 100644 index 000000000..1cd44b461 --- /dev/null +++ b/buildroot/package/lua-flu/0001-use-system-xattr-h.patch @@ -0,0 +1,169 @@ +Use system + +The one from attr is no longer installed with latest version. + +ENOATTR was in fact defined as ENODATA, so switch to using that instead. + +Signed-off-by: "Yann E. MORIN" + +--- +Upstream status: merged: + https://bitbucket.org/doub/flu/pull-requests/1 + https://bitbucket.org/doub/flu/commits/2d75cc2be79026b94188b11c6f53b219c24a5f70 + + +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/doc.lua lua-flu-20150331-1/doub-flu-a7daae986339/doc/doc.lua +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/doc.lua 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/doc/doc.lua 2018-05-06 09:22:28.499324049 +0200 +@@ -327,7 +327,7 @@ + name = "fs.getxattr"; + parameters = {"path", "name"}; + results = {"value"}; +- doc = [[Get an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown.]]; ++ doc = [[Get an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown.]]; + }, + { + name = "fs.listxattr"; +@@ -338,7 +338,7 @@ + { + name = "fs.removexattr"; + parameters = {"path", "name"}; +- doc = [[Remove an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown.]]; ++ doc = [[Remove an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown.]]; + }, + { + name = "fs.opendir"; +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/luafs.lua lua-flu-20150331-1/doub-flu-a7daae986339/doc/luafs.lua +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/luafs.lua 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/doc/luafs.lua 2018-05-06 09:22:28.495324054 +0200 +@@ -222,8 +222,8 @@ + -- :NOTE: since the filesystem is a pure tree (not a DAG), use the path to find attribs + + function luafs.getxattr(path, name) +- local attrs = assert(xattrs[path], errno.ENOATTR) +- return assert(attrs[name], errno.ENOATTR) ++ local attrs = assert(xattrs[path], errno.ENODATA) ++ return assert(attrs[name], errno.ENODATA) + end + + function luafs.setxattr(path, name, value, flags) +@@ -236,7 +236,7 @@ + end + + function luafs.removexattr(path, name) +- local attrs = assert(xattrs[path], errno.ENOATTR) ++ local attrs = assert(xattrs[path], errno.ENODATA) + attrs[name] = nil + if next(attrs)==nil then + xattrs[path] = nil +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/manual.html lua-flu-20150331-1/doub-flu-a7daae986339/doc/manual.html +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/doc/manual.html 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/doc/manual.html 2018-05-06 09:22:28.499324049 +0200 +@@ -347,7 +347,7 @@ +
        +

        value = fs.getxattr (path, name)

        + +-

        Get an extended attribute. If the attribute doesn't exist ENOATTR should be thrown.

        ++

        Get an extended attribute. If the attribute doesn't exist ENODATA should be thrown.

        +
        + +
        +@@ -359,7 +359,7 @@ +
        +

        fs.removexattr (path, name)

        + +-

        Remove an extended attribute. If the attribute doesn't exist ENOATTR should be thrown.

        ++

        Remove an extended attribute. If the attribute doesn't exist ENODATA should be thrown.

        +
        + +
        +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/errno.c lua-flu-20150331-1/doub-flu-a7daae986339/errno.c +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/errno.c 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/errno.c 2018-05-06 09:23:06.323282527 +0200 +@@ -3,7 +3,7 @@ + #include + #include + #include +-#include ++#include + #include "compat.h" + + /****************************************************************************/ +@@ -103,7 +103,7 @@ + REGISTER_ERROR(EDOM) + REGISTER_ERROR(ERANGE) + REGISTER_ERROR(ENOSYS) +- REGISTER_ERROR(ENOATTR) ++ REGISTER_ERROR(ENODATA) + #undef REGISTER_ERROR + } + +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu-20150331-1.rockspec lua-flu-20150331-1/doub-flu-a7daae986339/flu-20150331-1.rockspec +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu-20150331-1.rockspec 2018-05-06 09:22:04.123351349 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/flu-20150331-1.rockspec 2018-05-06 09:23:06.323282527 +0200 +@@ -14,7 +14,7 @@ + library = 'fuse', + }, + ATTR = { +- header = 'attr/xattr.h', ++ header = 'sys/xattr.h', + }, + } + dependencies = { +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.c lua-flu-20150331-1/doub-flu-a7daae986339/flu.c +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.c 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/flu.c 2018-05-06 09:23:06.323282527 +0200 +@@ -15,7 +15,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.rockspec.in lua-flu-20150331-1/doub-flu-a7daae986339/flu.rockspec.in +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/flu.rockspec.in 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/flu.rockspec.in 2018-05-06 09:23:06.323282527 +0200 +@@ -14,7 +14,7 @@ + library = 'fuse', + }, + ATTR = { +- header = 'attr/xattr.h', ++ header = 'sys/xattr.h', + }, + } + dependencies = { +diff -durN lua-flu-20150331-1.orig/doub-flu-a7daae986339/README.md lua-flu-20150331-1/doub-flu-a7daae986339/README.md +--- lua-flu-20150331-1.orig/doub-flu-a7daae986339/README.md 2015-03-31 18:54:19.000000000 +0200 ++++ lua-flu-20150331-1/doub-flu-a7daae986339/README.md 2018-05-06 09:22:28.495324054 +0200 +@@ -345,7 +345,7 @@ + + ### `value = fs.getxattr (path, name)` + +-Get an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown. ++Get an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown. + + --- + +@@ -357,7 +357,7 @@ + + ### `fs.removexattr (path, name)` + +-Remove an extended attribute. If the attribute doesn't exist `ENOATTR` should be thrown. ++Remove an extended attribute. If the attribute doesn't exist `ENODATA` should be thrown. + + --- + +diff -durN lua-flu-20150331-1.orig/flu-20150331-1.rockspec lua-flu-20150331-1/flu-20150331-1.rockspec +--- lua-flu-20150331-1.orig/flu-20150331-1.rockspec 2015-04-02 23:44:11.000000000 +0200 ++++ lua-flu-20150331-1/flu-20150331-1.rockspec 2018-05-06 09:23:06.323282527 +0200 +@@ -14,7 +14,7 @@ + library = 'fuse', + }, + ATTR = { +- header = 'attr/xattr.h', ++ header = 'sys/xattr.h', + }, + } + dependencies = { diff --git a/buildroot/package/lua-messagepack/Config.in b/buildroot/package/lua-messagepack/Config.in index 2dab316a8..7ec098f9a 100644 --- a/buildroot/package/lua-messagepack/Config.in +++ b/buildroot/package/lua-messagepack/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_LUA_MESSAGEPACK A pure Lua implementation of the MessagePack serialization format. - http://fperrad.github.io/lua-MessagePack/ + https://fperrad.frama.io/lua-MessagePack/ diff --git a/buildroot/package/lua-testmore/Config.in b/buildroot/package/lua-testmore/Config.in index 61dea3a6e..3cbed3840 100644 --- a/buildroot/package/lua-testmore/Config.in +++ b/buildroot/package/lua-testmore/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_LUA_TESTMORE help an Unit Testing Framework. - http://fperrad.github.io/lua-TestMore/ + https://fperrad.frama.io/lua-TestMore/ diff --git a/buildroot/package/lua/5.3.4/0001-root-path.patch b/buildroot/package/lua/5.3.5/0001-root-path.patch similarity index 100% rename from buildroot/package/lua/5.3.4/0001-root-path.patch rename to buildroot/package/lua/5.3.5/0001-root-path.patch diff --git a/buildroot/package/lua/5.3.4/0002-shared-libs-for-lua.patch b/buildroot/package/lua/5.3.5/0002-shared-libs-for-lua.patch similarity index 100% rename from buildroot/package/lua/5.3.4/0002-shared-libs-for-lua.patch rename to buildroot/package/lua/5.3.5/0002-shared-libs-for-lua.patch diff --git a/buildroot/package/lua/5.3.5/0003-fix-revision-number.patch b/buildroot/package/lua/5.3.5/0003-fix-revision-number.patch new file mode 100644 index 000000000..ed2e0460e --- /dev/null +++ b/buildroot/package/lua/5.3.5/0003-fix-revision-number.patch @@ -0,0 +1,31 @@ +Fix revision number + +In 0002-shared-libs-for-lua.patch, revision number is used to set +library name: +TO_SOLIB = liblua.so.$(R) + +However, library is built using PKG_VERSION which is passed only during +build step: +$(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $? + +As a result, dynamic library is not installed in staging or target paths +since bump to lua 5.3.5 + +So, instead of replacing R by PKG_VERSION and passing this variable in +all steps, simply update R to 5 + +Signed-off-by: Fabrice Fontaine + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -47,6 +47,6 @@ + + # Lua version and release. + V= 5.3 +-R= $V.4 ++R= $V.5 + + # Targets start here. + all: $(PLAT) diff --git a/buildroot/package/lua/5.3.4/0011-linenoise.patch b/buildroot/package/lua/5.3.5/0011-linenoise.patch similarity index 100% rename from buildroot/package/lua/5.3.4/0011-linenoise.patch rename to buildroot/package/lua/5.3.5/0011-linenoise.patch diff --git a/buildroot/package/lua/lua.hash b/buildroot/package/lua/lua.hash index 32e7472c3..43f5be275 100644 --- a/buildroot/package/lua/lua.hash +++ b/buildroot/package/lua/lua.hash @@ -1,6 +1,6 @@ # Hashes from: http://www.lua.org/ftp/ -md5 53a9c68bcc0eda58bdc2095ad5cdfc63 lua-5.3.4.tar.gz -sha1 79790cfd40e09ba796b01a571d4d63b52b1cd950 lua-5.3.4.tar.gz +md5 4f4b4f323fd3514a68e0ab3da8ce3455 lua-5.3.5.tar.gz +sha1 112eb10ff04d1b4c9898e121d6bdf54a81482447 lua-5.3.5.tar.gz md5 913fdb32207046b273fdb17aad70be13 lua-5.2.4.tar.gz sha1 ef15259421197e3d85b7d6e4871b8c26fd82c1cf lua-5.2.4.tar.gz diff --git a/buildroot/package/lua/lua.mk b/buildroot/package/lua/lua.mk index 851dc8f73..22643c4c8 100644 --- a/buildroot/package/lua/lua.mk +++ b/buildroot/package/lua/lua.mk @@ -5,7 +5,7 @@ ################################################################################ ifeq ($(BR2_PACKAGE_LUA_5_3),y) -LUA_VERSION = 5.3.4 +LUA_VERSION = 5.3.5 else ifeq ($(BR2_PACKAGE_LUA_5_2),y) LUA_VERSION = 5.2.4 diff --git a/buildroot/package/luarocks/0001-allow-libluajit-detection.patch b/buildroot/package/luarocks/0001-allow-libluajit-detection.patch new file mode 100644 index 000000000..05d025bba --- /dev/null +++ b/buildroot/package/luarocks/0001-allow-libluajit-detection.patch @@ -0,0 +1,34 @@ +From 961269271134e711bcfffebb0f179ffddcbf3d5a Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sun, 29 Jul 2018 11:17:34 +0200 +Subject: [PATCH] allow libluajit detection + +This detection was done only if luarocks is runned by luajit. +But on Buildroot, luarocks is always runned by lua. + +See https://github.com/luarocks/luarocks/pull/883 + +Signed-off-by: Francois Perrad +--- + src/luarocks/deps.lua | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/src/luarocks/deps.lua b/src/luarocks/deps.lua +index 8403f12..c1c0220 100644 +--- a/src/luarocks/deps.lua ++++ b/src/luarocks/deps.lua +@@ -513,10 +513,8 @@ function deps.check_lua(vars) + "lua-" .. cfg.lua_version, + "lua-" .. shortv, + "lua", ++ "luajit-" .. cfg.lua_version, + } +- if cfg.luajit_version then +- table.insert(libnames, 1, "luajit-" .. cfg.lua_version) +- end + for _, libname in ipairs(libnames) do + local ok = check_external_dependency("LUA", { library = libname }, vars, "build") + if ok then +-- +2.17.1 + diff --git a/buildroot/package/luarocks/luarocks.hash b/buildroot/package/luarocks/luarocks.hash index 7c3f96606..224dbcc16 100644 --- a/buildroot/package/luarocks/luarocks.hash +++ b/buildroot/package/luarocks/luarocks.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 3938df33de33752ff2c526e604410af3dceb4b7ff06a770bc4a240de80a1f934 luarocks-2.4.4.tar.gz +sha256 1236a307ca5c556c4fed9fdbd35a7e0e80ccf063024becc8c3bf212f37ff0edf luarocks-3.0.4.tar.gz +sha256 542ad0ee9b8ba582437ca7b4d0959c9b9432f25d2067f144d017188a7a84dd2f COPYING diff --git a/buildroot/package/luarocks/luarocks.mk b/buildroot/package/luarocks/luarocks.mk index 63d908a41..cfef8f19b 100644 --- a/buildroot/package/luarocks/luarocks.mk +++ b/buildroot/package/luarocks/luarocks.mk @@ -4,15 +4,15 @@ # ################################################################################ -LUAROCKS_VERSION = 2.4.4 +LUAROCKS_VERSION = 3.0.4 LUAROCKS_SITE = http://luarocks.org/releases LUAROCKS_LICENSE = MIT LUAROCKS_LICENSE_FILES = COPYING HOST_LUAROCKS_DEPENDENCIES = host-luainterpreter -LUAROCKS_CONFIG_DIR = $(HOST_DIR)/etc/luarocks -LUAROCKS_CONFIG_FILE = $(LUAROCKS_CONFIG_DIR)/config-$(LUAINTERPRETER_ABIVER).lua +LUAROCKS_CONFIG_DIR = $(HOST_DIR)/etc +LUAROCKS_CONFIG_FILE = $(LUAROCKS_CONFIG_DIR)/luarocks/config-$(LUAINTERPRETER_ABIVER).lua LUAROCKS_CFLAGS = $(TARGET_CFLAGS) -fPIC ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUAROCKS_CFLAGS += -DLUA_COMPAT_5_2 @@ -29,22 +29,19 @@ endef define HOST_LUAROCKS_INSTALL_CMDS rm -f $(LUAROCKS_CONFIG_FILE) - $(MAKE1) -C $(@D) install \ - PREFIX=$(HOST_DIR) - echo "-- BR cross-compilation" >> $(LUAROCKS_CONFIG_FILE) - echo "variables = {" >> $(LUAROCKS_CONFIG_FILE) - echo " LUA_INCDIR = [[$(STAGING_DIR)/usr/include]]," >> $(LUAROCKS_CONFIG_FILE) - echo " LUA_LIBDIR = [[$(STAGING_DIR)/usr/lib]]," >> $(LUAROCKS_CONFIG_FILE) - echo " CC = [[$(TARGET_CC)]]," >> $(LUAROCKS_CONFIG_FILE) - echo " LD = [[$(TARGET_CC)]]," >> $(LUAROCKS_CONFIG_FILE) - echo " CFLAGS = [[$(LUAROCKS_CFLAGS)]]," >> $(LUAROCKS_CONFIG_FILE) - echo " LIBFLAG = [[-shared $(TARGET_LDFLAGS)]]," >> $(LUAROCKS_CONFIG_FILE) - echo "}" >> $(LUAROCKS_CONFIG_FILE) - echo "external_deps_dirs = { [[$(STAGING_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE) - echo "gcc_rpath = false" >> $(LUAROCKS_CONFIG_FILE) - echo "rocks_trees = { [[$(TARGET_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE) - echo "wrap_bin_scripts = false" >> $(LUAROCKS_CONFIG_FILE) - echo "deps_mode = [[none]]" >> $(LUAROCKS_CONFIG_FILE) + $(MAKE1) -C $(@D) install + echo "-- BR cross-compilation" >> $(LUAROCKS_CONFIG_FILE) + echo "variables.LUA_INCDIR = [[$(STAGING_DIR)/usr/include]]" >> $(LUAROCKS_CONFIG_FILE) + echo "variables.LUA_LIBDIR = [[$(STAGING_DIR)/usr/lib]]" >> $(LUAROCKS_CONFIG_FILE) + echo "variables.CC = [[$(TARGET_CC)]]" >> $(LUAROCKS_CONFIG_FILE) + echo "variables.LD = [[$(TARGET_CC)]]" >> $(LUAROCKS_CONFIG_FILE) + echo "variables.CFLAGS = [[$(LUAROCKS_CFLAGS)]]" >> $(LUAROCKS_CONFIG_FILE) + echo "variables.LIBFLAG = [[-shared $(TARGET_LDFLAGS)]]" >> $(LUAROCKS_CONFIG_FILE) + echo "external_deps_dirs = { [[$(STAGING_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE) + echo "gcc_rpath = false" >> $(LUAROCKS_CONFIG_FILE) + echo "rocks_trees = { [[$(TARGET_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE) + echo "wrap_bin_scripts = false" >> $(LUAROCKS_CONFIG_FILE) + echo "deps_mode = [[none]]" >> $(LUAROCKS_CONFIG_FILE) endef $(eval $(host-generic-package)) diff --git a/buildroot/package/luasec/Config.in b/buildroot/package/luasec/Config.in index 9391cd9d3..d7900a081 100644 --- a/buildroot/package/luasec/Config.in +++ b/buildroot/package/luasec/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_LUASEC LuaSec is a binding for OpenSSL library to provide TLS/SSL communication. - http://www.inf.puc-rio.br/~brunoos/luasec/ + https://github.com/brunoos/luasec/wiki diff --git a/buildroot/package/luasec/luasec.hash b/buildroot/package/luasec/luasec.hash index 9d721ed48..1fdbe7d7e 100644 --- a/buildroot/package/luasec/luasec.hash +++ b/buildroot/package/luasec/luasec.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 1d04e2f70bc055348dda3cc3566d27d8408094bc944aa5c6a4ae18bffe5c0007 luasec-0.6-1.src.rock +sha256 383e183ba712f00b2fcbf60187177432ccde724a23ac6186075ceae620cf0b0a luasec-0.7-1.src.rock diff --git a/buildroot/package/luasec/luasec.mk b/buildroot/package/luasec/luasec.mk index 28c4b2c64..7ae729093 100644 --- a/buildroot/package/luasec/luasec.mk +++ b/buildroot/package/luasec/luasec.mk @@ -4,8 +4,9 @@ # ################################################################################ -LUASEC_VERSION = 0.6-1 -LUASEC_SUBDIR = luasec +LUASEC_VERSION_UPSTREAM = 0.7 +LUASEC_VERSION = $(LUASEC_VERSION_UPSTREAM)-1 +LUASEC_SUBDIR = luasec-luasec-$(LUASEC_VERSION_UPSTREAM) LUASEC_LICENSE = MIT LUASEC_LICENSE_FILES = $(LUASEC_SUBDIR)/LICENSE LUASEC_DEPENDENCIES = openssl diff --git a/buildroot/package/luv/0001-Do-not-include-compat-5.3.h-in-luv-header-file.patch b/buildroot/package/luv/0001-Do-not-include-compat-5.3.h-in-luv-header-file.patch new file mode 100644 index 000000000..22428c98f --- /dev/null +++ b/buildroot/package/luv/0001-Do-not-include-compat-5.3.h-in-luv-header-file.patch @@ -0,0 +1,62 @@ +From 0b541b828142dab6c23b0f4415dd2fd052d69ff1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +Date: Wed, 31 Oct 2018 18:14:18 +0100 +Subject: [PATCH] Do not include compat-5.3.h in luv header file +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Do not include compat-5.3.h in luv header file + +Exposing the compat-5.3.h header file directly in the luv.h header file +is not a good idea, because it causes redefinition errors when building, +for example latest luvi version 2.8.0, with a shared luv library and +LuaJIT 2.0.5. + +Therefore, include the compat header file in the luv.c source file. + +Note, that luvi version 2.8.0 (and 2.7.6) still fails to build against the +shared luv library using LuaJIT 2.0.5, as it does use `luaL_newlib` which is +not available in Lua 5.1. However, this is unrelated to the luv library as +luvi itself should define the macro for Lua 5.1. + +Upstream status: https://github.com/luvit/luv/pull/310 + +Signed-off-by: Jörg Krause +--- + src/luv.c | 3 +++ + src/luv.h | 4 ---- + 2 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/src/luv.c b/src/luv.c +index c4c7cb7..4af7582 100644 +--- a/src/luv.c ++++ b/src/luv.c +@@ -15,6 +15,9 @@ + * + */ + ++#if (LUA_VERSION_NUM != 503) ++#include "c-api/compat-5.3.h" ++#endif + #include "luv.h" + #include "util.c" + #include "lhandle.c" +diff --git a/src/luv.h b/src/luv.h +index 27c8c94..4fedd3f 100644 +--- a/src/luv.h ++++ b/src/luv.h +@@ -50,10 +50,6 @@ + #define MAX_TITLE_LENGTH (8192) + #endif + +-#if (LUA_VERSION_NUM != 503) +-#include "c-api/compat-5.3.h" +-#endif +- + #if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wunused-function" +-- +2.19.1 + diff --git a/buildroot/package/luv/luv.hash b/buildroot/package/luv/luv.hash index 44f4048df..24440bef8 100644 --- a/buildroot/package/luv/luv.hash +++ b/buildroot/package/luv/luv.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 1051cfbdc361d5ea6d978fd71273b94c8a5007d76af498b456b297b18de9622c luv-1.9.1-1.tar.gz +sha256 27886acb3d3f531a3d6ca70360d2593ddf1a8d4daf94ca3beea14d9381227ff7 luv-1.22.0-1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/buildroot/package/luv/luv.mk b/buildroot/package/luv/luv.mk index 633bfe689..87158b72e 100644 --- a/buildroot/package/luv/luv.mk +++ b/buildroot/package/luv/luv.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUV_VERSION = 1.9.1-1 +LUV_VERSION = 1.22.0-1 LUV_SITE = https://github.com/luvit/luv/releases/download/$(LUV_VERSION) LUV_LICENSE = Apache-2.0 LUV_LICENSE_FILES = LICENSE.txt diff --git a/buildroot/package/luvi/0001-Add-missing-define-for-luaL_newlib-for-Lua-5.1.patch b/buildroot/package/luvi/0001-Add-missing-define-for-luaL_newlib-for-Lua-5.1.patch new file mode 100644 index 000000000..903b9d6a6 --- /dev/null +++ b/buildroot/package/luvi/0001-Add-missing-define-for-luaL_newlib-for-Lua-5.1.patch @@ -0,0 +1,61 @@ +From 7f9fcbd827295df72b15466fd3c47589d52117b9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +Date: Wed, 31 Oct 2018 18:22:31 +0100 +Subject: [PATCH] Add missing define for luaL_newlib for Lua 5.1 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since commit c286f3b741d0968fd1c49c28da83bc723468ecba, which bumped the +library luv to version 1.22.0-1, building luvi fails. + +The reason for this error is, that instead of defining Lua 5.3 API itself, +luv now [1] uses lua-compat-5.3 [1,2] for providing a Lua 5.3 API. + +Unfortunately, upstreams "luv.h" now exposes "compat-5.3.h" directly, causing +redefinition errors when building luvi 2.7.6 (as well as latest release 2.8.0) +with luv 1.22.0-1. Instead, "compat-5.3.h" should only be included in "luv.c", +which is addressed in patching luv (Patch: "Do not include compat-5.3.h in luv +header file"). + +Patching luv reveals an issue in luvi itself, as it is using the Lua 5.3 API, +without defining the Lua 5.3 itself, nor using lua-compat-5.3. Instead, it was +using the definition provided by the "luv.h" file in luv versions before 1.22.0. + +Correctly, luvi should define the necessary Lua 5.3 itself, which is done by +this patch, by providing a definition for `luaL_newlib`. + +Note, that this patch is not upstreamable, as upstream already switched to +using lua-compat-5.3 [3,4]. However, backporting this patch set is to much of a +burden, so we keep it simple, by just defining `luaL_newlib`. + +[1] https://github.com/luvit/luv/commit/34ada3e1d75796d2295ec54f3f20b3e2abf93406 +[2] https://github.com/keplerproject/lua-compat-5.3 +[3] https://github.com/luvit/luvi/commit/3a444d183d2fde91b6c2f3798b37881cdaa29691 +[4] https://github.com/luvit/luvi/commit/0376894bae7c1c3bee42ddad65e824da9cccdada + +Signed-off-by: Jörg Krause +--- + src/luvi.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/luvi.h b/src/luvi.h +index e7558b3..ceca2b9 100644 +--- a/src/luvi.h ++++ b/src/luvi.h +@@ -52,6 +52,12 @@ int luaopen_lpeg(lua_State* L); + #endif + #endif + ++#if LUA_VERSION_NUM < 502 ++#ifndef luaL_newlib ++# define luaL_newlib(L,l) (lua_newtable(L), luaL_register(L,NULL,l)) ++#endif ++#endif ++ + #if (LUA_VERSION_NUM >= 502) + # undef luaL_register + # define luaL_register(L,n,f) \ +-- +2.19.1 + diff --git a/buildroot/package/luvi/luvi.hash b/buildroot/package/luvi/luvi.hash index e2239b617..22e5cfa7b 100644 --- a/buildroot/package/luvi/luvi.hash +++ b/buildroot/package/luvi/luvi.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 ce9a1fb762e61267618ddea9ea129170fd543bb918c382b71cb35985d0024c42 luvi-src-v2.7.6.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/buildroot/package/luvi/luvi.mk b/buildroot/package/luvi/luvi.mk index a2bc218e7..4b693e23a 100644 --- a/buildroot/package/luvi/luvi.mk +++ b/buildroot/package/luvi/luvi.mk @@ -4,6 +4,8 @@ # ################################################################################ +# we keep version 2.7.6 because 2.8.0 causes build errors and only +# contains updates to submodules we do not need LUVI_VERSION = v2.7.6 LUVI_SOURCE = luvi-src-$(LUVI_VERSION).tar.gz LUVI_SITE = https://github.com/luvit/luvi/releases/download/$(LUVI_VERSION) diff --git a/buildroot/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch b/buildroot/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch new file mode 100644 index 000000000..7ef153313 --- /dev/null +++ b/buildroot/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch @@ -0,0 +1,278 @@ +From 94d71c49eb1682a73465eb162b0a059561168bb2 Mon Sep 17 00:00:00 2001 +From: Marcin Niestroj +Date: Fri, 20 Jul 2018 14:26:44 +0200 +Subject: [PATCH] configure: Introduce --enable-symvers option + +Only few libc (e.g. glibc) libraries support full symbol version +resolution in runtime. There are lot of standard libraries that do not +support that, such as dietlibc, musl and uclibc. Hence there is no +reason to generate symbol versions when compiling against them. + +Additionally libdevmapper.so was broken when compiled against +uclibc. Runtime linker loader caused calling dm_task_get_info_base() +function recursively, leading to segmentation fault. + +Introduce --enable-symvers[=STYLE] option, which allows to choose +between gnu and disabled symbol versioning. By default gnu symbol +versioning is used to provide backward compatibility. +__GNUC__ check is replaced now with GNU_SYMVER, which is generated by +configure script. Additionally ld version script is included only in +case of gnu option, which slightly reduces output size. + +Providing --disable-symvers to configure script when building against +uclibc library fixes segmentation fault error described above, due to +lack of several versions of the same symbol in libdevmapper.so +library. + +Signed-off-by: Marcin Niestroj +--- + configure | 32 ++++++++++++++++++++++++++++++-- + configure.ac | 28 +++++++++++++++++++++++++--- + include/configure.h.in | 3 +++ + lib/misc/lib.h | 10 +++++----- + libdm/datastruct/bitset.c | 5 +---- + libdm/ioctl/libdm-iface.c | 2 +- + libdm/libdm-deptree.c | 2 +- + libdm/libdm-stats.c | 2 +- + 8 files changed, 67 insertions(+), 17 deletions(-) + +diff --git a/configure b/configure +index 7d945dfa8..94cd6b1ea 100755 +--- a/configure ++++ b/configure +@@ -975,6 +975,7 @@ enable_fsadm + enable_blkdeactivate + enable_dmeventd + enable_selinux ++enable_symvers + enable_nls + with_localedir + with_confdir +@@ -1725,6 +1726,9 @@ Optional Features: + --disable-blkdeactivate disable blkdeactivate + --enable-dmeventd enable the device-mapper event daemon + --disable-selinux disable selinux support ++ --enable-symvers[=STYLE] ++ enables symbol versioning of the shared library ++ [default=gnu] + --enable-nls enable Native Language Support + + Optional Packages: +@@ -3156,7 +3160,6 @@ if test -z "$CFLAGS"; then : + fi + case "$host_os" in + linux*) +- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" + # equivalent to -rdynamic + ELDFLAGS="-Wl,--export-dynamic" + # FIXME Generate list and use --dynamic-list=.dlopen.sym +@@ -3178,7 +3181,6 @@ case "$host_os" in + ;; + darwin*) + CFLAGS="$CFLAGS -no-cpp-precomp -fno-common" +- CLDFLAGS="$CLDFLAGS" + ELDFLAGS= + CLDWHOLEARCHIVE="-all_load" + CLDNOWHOLEARCHIVE= +@@ -14401,6 +14403,32 @@ done + LIBS=$lvm_saved_libs + fi + ++################################################################################ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable symbol versioning" >&5 ++$as_echo_n "checking whether to enable symbol versioning... " >&6; } ++# Check whether --enable-symvers was given. ++if test "${enable_symvers+set}" = set; then : ++ enableval=$enable_symvers; ++ case "$enableval" in ++ gnu|no) ;; ++ *) as_fn_error $? "Unknown argument to enable/disable symvers" "$LINENO" 5 ;; ++ esac ++else ++ enable_symvers=gnu ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_symvers" >&5 ++$as_echo "$enable_symvers" >&6; } ++ ++if test x$GCC = xyes && test x$enable_symvers = xgnu ; then ++ ++$as_echo "#define GNU_SYMVER 1" >>confdefs.h ++ ++ case "$host_os" in ++ linux*) CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" ;; ++ esac ++fi ++ + ################################################################################ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable internationalisation" >&5 + $as_echo_n "checking whether to enable internationalisation... " >&6; } +diff --git a/configure.ac b/configure.ac +index e427708cd..2e8712f92 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -30,13 +30,11 @@ AC_CANONICAL_TARGET([]) + AS_IF([test -z "$CFLAGS"], [COPTIMISE_FLAG="-O2"]) + case "$host_os" in + linux*) +- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" + # equivalent to -rdynamic + ELDFLAGS="-Wl,--export-dynamic" + # FIXME Generate list and use --dynamic-list=.dlopen.sym + CLDWHOLEARCHIVE="-Wl,-whole-archive" + CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive" +- LDDEPS="$LDDEPS .export.sym" + LIB_SUFFIX=so + DEVMAPPER=yes + BUILD_LVMETAD=no +@@ -52,7 +50,6 @@ case "$host_os" in + ;; + darwin*) + CFLAGS="$CFLAGS -no-cpp-precomp -fno-common" +- CLDFLAGS="$CLDFLAGS" + ELDFLAGS= + CLDWHOLEARCHIVE="-all_load" + CLDNOWHOLEARCHIVE= +@@ -1656,6 +1653,31 @@ package as well (which may be called readline-devel or something similar).]) + LIBS=$lvm_saved_libs + fi + ++################################################################################ ++dnl -- Symbol versioning ++AC_MSG_CHECKING(whether to enable symbol versioning) ++AC_ARG_ENABLE(symvers, ++ AC_HELP_STRING([--enable-symvers[[[=STYLE]]]], ++ [enables symbol versioning of the shared library [default=gnu]]), ++ [ ++ case "$enableval" in ++ gnu|no) ;; ++ *) AC_MSG_ERROR(Unknown argument to enable/disable symvers) ;; ++ esac], ++ enable_symvers=gnu) ++AC_MSG_RESULT($enable_symvers) ++ ++if test x$GCC = xyes && test x$enable_symvers = xgnu ; then ++ AC_DEFINE(GNU_SYMVER, 1, ++ [Define to use GNU versioning in the shared library.]) ++ case "$host_os" in ++ linux*) ++ CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" ++ LDDEPS="$LDDEPS .export.sym" ++ ;; ++ esac ++fi ++ + ################################################################################ + dnl -- Internationalisation stuff + AC_MSG_CHECKING(whether to enable internationalisation) +diff --git a/include/configure.h.in b/include/configure.h.in +index 15fd150ed..7a07a10ef 100644 +--- a/include/configure.h.in ++++ b/include/configure.h.in +@@ -147,6 +147,9 @@ + /* Path to fsadm binary. */ + #undef FSADM_PATH + ++/* Define to use GNU versioning in the shared library. */ ++#undef GNU_SYMVER ++ + /* Define to 1 if you have the `alarm' function. */ + #undef HAVE_ALARM + +diff --git a/lib/misc/lib.h b/lib/misc/lib.h +index d7fa5c721..7cf98f932 100644 +--- a/lib/misc/lib.h ++++ b/lib/misc/lib.h +@@ -41,16 +41,16 @@ + * macro DM_EXPORT_SYMBOL to export the function and bind it to the + * specified version string. + * +- * Since versioning is only available when compiling with GCC the entire +- * compatibility version should be enclosed in '#if defined(__GNUC__)', +- * for example: ++ * Since versioning is only available when compiling with GCC ++ * and GLIBC the entire compatibility version should be enclosed ++ * in '#if defined(GNU_SYMVER)', for example: + * + * int dm_foo(int bar) + * { + * return bar; + * } + * +- * #if defined(__GNUC__) ++ * #if defined(GNU_SYMVER) + * // Backward compatible dm_foo() version 1.02.104 + * int dm_foo_v1_02_104(void); + * int dm_foo_v1_02_104(void) +@@ -67,7 +67,7 @@ + * versions of library symbols prior to the introduction of symbol + * versioning: it must never be used for new symbols. + */ +-#if defined(__GNUC__) ++#if defined(GNU_SYMVER) + #define DM_EXPORT_SYMBOL(func, ver) \ + __asm__(".symver " #func "_v" #ver ", " #func "@DM_" #ver ) + #define DM_EXPORT_SYMBOL_BASE(func) \ +diff --git a/libdm/datastruct/bitset.c b/libdm/datastruct/bitset.c +index b0826e1eb..2ec3f8f84 100644 +--- a/libdm/datastruct/bitset.c ++++ b/libdm/datastruct/bitset.c +@@ -242,7 +242,7 @@ bad: + return NULL; + } + +-#if defined(__GNUC__) ++#if defined(GNU_SYMVER) + /* + * Maintain backward compatibility with older versions that did not + * accept a 'min_num_bits' argument to dm_bitset_parse_list(). +@@ -253,7 +253,4 @@ dm_bitset_t dm_bitset_parse_list_v1_02_129(const char *str, struct dm_pool *mem) + return dm_bitset_parse_list(str, mem, 0); + } + DM_EXPORT_SYMBOL(dm_bitset_parse_list, 1_02_129); +- +-#else /* if defined(__GNUC__) */ +- + #endif +diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c +index 769b69c1b..28e2eadee 100644 +--- a/libdm/ioctl/libdm-iface.c ++++ b/libdm/ioctl/libdm-iface.c +@@ -2145,7 +2145,7 @@ void dm_lib_exit(void) + _version_checked = 0; + } + +-#if defined(__GNUC__) ++#if defined(GNU_SYMVER) + /* + * Maintain binary backward compatibility. + * Version script mechanism works with 'gcc' compatible compilers only. +diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c +index ab0545659..00651c0b2 100644 +--- a/libdm/libdm-deptree.c ++++ b/libdm/libdm-deptree.c +@@ -3797,7 +3797,7 @@ void dm_tree_node_set_callback(struct dm_tree_node *dnode, + dnode->callback_data = data; + } + +-#if defined(__GNUC__) ++#if defined(GNU_SYMVER) + /* + * Backward compatible implementations. + * +diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c +index 94ad380e0..76efbbe35 100644 +--- a/libdm/libdm-stats.c ++++ b/libdm/libdm-stats.c +@@ -5065,7 +5065,7 @@ int dm_stats_start_filemapd(int fd, uint64_t group_id, const char *path, + * current dm_stats_create_region() version. + */ + +-#if defined(__GNUC__) ++#if defined(GNU_SYMVER) + int dm_stats_create_region_v1_02_106(struct dm_stats *dms, uint64_t *region_id, + uint64_t start, uint64_t len, int64_t step, + int precise, const char *program_id, +-- +2.18.0 + diff --git a/buildroot/package/lvm2/Config.in b/buildroot/package/lvm2/Config.in index 0dd6d53b4..de5b972e9 100644 --- a/buildroot/package/lvm2/Config.in +++ b/buildroot/package/lvm2/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LVM2 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # needs fork() depends on !BR2_STATIC_LIBS # It fails to build statically + select BR2_PACKAGE_LIBAIO help This is LVM2, the rewrite of The Linux Logical Volume Manager. LVM supports enterprise level volume management of disk and diff --git a/buildroot/package/lvm2/lvm2.hash b/buildroot/package/lvm2/lvm2.hash index 9f7a6c6f5..697a41399 100644 --- a/buildroot/package/lvm2/lvm2.hash +++ b/buildroot/package/lvm2/lvm2.hash @@ -1,2 +1,5 @@ -# From ftp://sources.redhat.com/pub/lvm2/releases/sha512.sum -sha512 c2ea8beafe006abf9282f51ec98600fd0ebff816d53c10ecbb19bbf336ada4825135cf9c92ccd364afb18f8b1d7e163eff5bdec8dfdd70dfb9ba45db2f6bdd5e LVM2.2.02.173.tgz +# From ftp://sources.redhat.com/pub/lvm2/sha512.sum +sha512 6e0a10ab48be4f0c751447c6ab88b8f9fa1dcd1d703de77966e8507b173df70b1987fa0be252c31dfce9e0ee70e5f439db58c8f534e24144a70f254c091554ee LVM2.2.02.180.tgz +# Locally computed sha256 checksums +sha256 e76fbcd2fb97cf202da330301327754d2db5c58b5b4bebd3a8a749393e7603d1 COPYING +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LIB diff --git a/buildroot/package/lvm2/lvm2.mk b/buildroot/package/lvm2/lvm2.mk index 20e0dd0d5..152381d65 100644 --- a/buildroot/package/lvm2/lvm2.mk +++ b/buildroot/package/lvm2/lvm2.mk @@ -4,9 +4,9 @@ # ################################################################################ -LVM2_VERSION = 2.02.173 +LVM2_VERSION = 2.02.180 LVM2_SOURCE = LVM2.$(LVM2_VERSION).tgz -LVM2_SITE = ftp://sources.redhat.com/pub/lvm2/releases +LVM2_SITE = ftp://sources.redhat.com/pub/lvm2 LVM2_INSTALL_STAGING = YES LVM2_LICENSE = GPL-2.0, LGPL-2.1 LVM2_LICENSE_FILES = COPYING COPYING.LIB @@ -19,9 +19,10 @@ LVM2_CONF_OPTS += \ --enable-pkgconfig \ --enable-cmdlib \ --enable-dmeventd \ - --disable-nls + --disable-nls \ + --disable-symvers -LVM2_DEPENDENCIES += host-pkgconf +LVM2_DEPENDENCIES += host-pkgconf libaio # LVM2 uses autoconf, but not automake, and the build system does not # take into account the toolchain passed at configure time. @@ -58,7 +59,7 @@ ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),) LVM2_CONF_ENV += ac_cv_flag_HAVE_PIE=no endif -HOST_LVM2_DEPENDENCIES = host-pkgconf +HOST_LVM2_DEPENDENCIES = host-pkgconf host-libaio HOST_LVM2_CONF_OPTS = \ --enable-write_install \ --enable-pkgconfig \ diff --git a/buildroot/package/lxc/0001-lxc-tools-lxc_monitor-include-missing-stddef.h.patch b/buildroot/package/lxc/0001-lxc-tools-lxc_monitor-include-missing-stddef.h.patch deleted file mode 100644 index 525d5d72b..000000000 --- a/buildroot/package/lxc/0001-lxc-tools-lxc_monitor-include-missing-stddef.h.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 77d407537f57c3fb92787bdda1eeaec7941d344f Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 20 Apr 2018 12:26:33 +0200 -Subject: [PATCH] lxc/tools/lxc_monitor: include missing -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -lxc_monitor.c uses offsetof(), so it should include -. Otherwise the build fails with the musl C library: - -tools/lxc_monitor.c: In function ‘lxc_abstract_unix_connect’: -tools/lxc_monitor.c:324:9: warning: implicit declaration of function ‘offsetof’ [-Wimplicit-function-declaration] - offsetof(struct sockaddr_un, sun_path) + len + 1); - ^~~~~~~~ -tools/lxc_monitor.c:324:18: error: expected expression before ‘struct’ - offsetof(struct sockaddr_un, sun_path) + len + 1); - ^~~~~~ - -Signed-off-by: Thomas Petazzoni -Upstream-status: https://github.com/lxc/lxc/pull/2285 ---- - src/lxc/tools/lxc_monitor.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/lxc/tools/lxc_monitor.c b/src/lxc/tools/lxc_monitor.c -index 72dca8e2..c60e14ff 100644 ---- a/src/lxc/tools/lxc_monitor.c -+++ b/src/lxc/tools/lxc_monitor.c -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.14.3 - diff --git a/buildroot/package/lxc/0002-Fix-compilation-with-static-libcap-and-shared-gnutls.patch b/buildroot/package/lxc/0002-Fix-compilation-with-static-libcap-and-shared-gnutls.patch deleted file mode 100644 index 04837b3ee..000000000 --- a/buildroot/package/lxc/0002-Fix-compilation-with-static-libcap-and-shared-gnutls.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 49bc916b1daa79cffe38fae32059bcdd985c8c8e Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sat, 7 Apr 2018 15:48:46 +0200 -Subject: [PATCH] Fix compilation with static libcap and shared gnutls - -Commit c06ed219c47098f34485d408410b6ecc94a40877 has broken -compilation with a static libcap and a shared gnutls. -This results in a build failure on init_lxc_static if gnutls is -a shared library as init_lxc_static is built with -all-static option -(see src/lxc/Makefile.am) and AC_CHECK_LIB adds gnutls to LIBS. - -This commit fix the issue by removing default behavior of AC_CHECK_LIB -and handling manually GNUTLS_LIBS and HAVE_LIBGNUTLS - -Fixes: - - http://autobuild.buildroot.net/results/b655d6853c25a195df28d91512b3ffb6c654fc90 - -Signed-off-by: Fabrice Fontaine -Upstream-status: https://github.com/lxc/lxc/commit/49bc916b1daa79cffe38fae32059bcdd985c8c8e ---- - configure.ac | 2 +- - src/lxc/Makefile.am | 8 ++++++-- - 2 files changed, 7 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 50c99836..2467bb54 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -263,7 +263,7 @@ AM_CONDITIONAL([ENABLE_GNUTLS], [test "x$enable_gnutls" = "xyes"]) - - AM_COND_IF([ENABLE_GNUTLS], - [AC_CHECK_HEADER([gnutls/gnutls.h],[],[AC_MSG_ERROR([You must install the GnuTLS development package in order to compile lxc])]) -- AC_CHECK_LIB([gnutls], [gnutls_hash_fast],[],[AC_MSG_ERROR([You must install the GnuTLS development package in order to compile lxc])]) -+ AC_CHECK_LIB([gnutls], [gnutls_hash_fast],[true],[AC_MSG_ERROR([You must install the GnuTLS development package in order to compile lxc])]) - AC_SUBST([GNUTLS_LIBS], [-lgnutls])]) - - # SELinux -diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am -index c8d76836..0662d83d 100644 ---- a/src/lxc/Makefile.am -+++ b/src/lxc/Makefile.am -@@ -175,6 +175,10 @@ if ENABLE_APPARMOR - AM_CFLAGS += -DHAVE_APPARMOR - endif - -+if ENABLE_GNUTLS -+AM_CFLAGS += -DHAVE_LIBGNUTLS -+endif -+ - if ENABLE_SELINUX - AM_CFLAGS += -DHAVE_SELINUX - endif -@@ -196,7 +200,7 @@ liblxc_la_LDFLAGS = \ - -Wl,-soname,liblxc.so.$(firstword $(subst ., ,@LXC_ABI@)) \ - -version-info @LXC_ABI_MAJOR@ - --liblxc_la_LIBADD = $(CAP_LIBS) $(SELINUX_LIBS) $(SECCOMP_LIBS) -+liblxc_la_LIBADD = $(CAP_LIBS) $(GNUTLS_LIBS) $(SELINUX_LIBS) $(SECCOMP_LIBS) - - bin_SCRIPTS= - -@@ -243,7 +247,7 @@ AM_LDFLAGS = -Wl,-E - if ENABLE_RPATH - AM_LDFLAGS += -Wl,-rpath -Wl,$(libdir) - endif --LDADD=liblxc.la @CAP_LIBS@ @SELINUX_LIBS@ @SECCOMP_LIBS@ -+LDADD=liblxc.la @CAP_LIBS@ @GNUTLS_LIBS@ @SELINUX_LIBS@ @SECCOMP_LIBS@ - - if ENABLE_TOOLS - lxc_attach_SOURCES = tools/lxc_attach.c tools/arguments.c tools/tool_utils.c --- -2.14.1 - diff --git a/buildroot/package/lxc/lxc.hash b/buildroot/package/lxc/lxc.hash index e2f910850..f46b1e1f5 100644 --- a/buildroot/package/lxc/lxc.hash +++ b/buildroot/package/lxc/lxc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 6230224c27f050201b372b18a9f39cd220ed584899c5f0cf73c6b313dabc8d8a lxc-3.0.0.tar.gz +sha256 45986c49be1c048fa127bd3e7ea1bd3347e25765c008a09a2e4c233151a2d5db lxc-3.0.1.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/buildroot/package/lxc/lxc.mk b/buildroot/package/lxc/lxc.mk index 5a7038f88..d1487e0e5 100644 --- a/buildroot/package/lxc/lxc.mk +++ b/buildroot/package/lxc/lxc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LXC_VERSION = 3.0.0 +LXC_VERSION = 3.0.1 LXC_SITE = https://linuxcontainers.org/downloads/lxc LXC_LICENSE = LGPL-2.1+ LXC_LICENSE_FILES = COPYING diff --git a/buildroot/package/lynx/0001-src-chrtrans-don-t-build-host-tools-with-target-LDFL.patch b/buildroot/package/lynx/0001-src-chrtrans-don-t-build-host-tools-with-target-LDFL.patch deleted file mode 100644 index cc057cee1..000000000 --- a/buildroot/package/lynx/0001-src-chrtrans-don-t-build-host-tools-with-target-LDFL.patch +++ /dev/null @@ -1,41 +0,0 @@ -From bb47abe9e7996147f6b7b325f5c9b2143abf8f13 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 7 May 2018 22:00:52 +0200 -Subject: [PATCH] src/chrtrans: don't build host tools with target LDFLAGS - -In a cross-compilation context, the LDFLAGS variable contains linker -flags used when building things for the target. However, the makeuctb -tool is built for the host machine, and therefore should not use the -same LDFLAGS as the target, which is why BUILD_LDFLAGS exist. - -Using LDFLAGS when building a tool for the host can cause problems -when some flags in LDFLAGS are not supported by the host machine. For -example, if you're linking statically lynx for the target, but the -build machine does not support static linking: - -gcc -I../.. -I../../src -I../../src/chrtrans -I../../WWW/Library/Implementation -I../../ -static -o makeuctb makeuctb.o -/usr/bin/ld: cannot find -lc -collect2: error: ld returned 1 exit status - -Signed-off-by: Thomas Petazzoni -Upstream-status: submitted on the mailing list ---- - src/chrtrans/makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/chrtrans/makefile.in b/src/chrtrans/makefile.in -index aab358f..6e0ef03 100644 ---- a/src/chrtrans/makefile.in -+++ b/src/chrtrans/makefile.in -@@ -123,7 +123,7 @@ OBJS = makeuctb$o - C_SRC = $(OBJS:$o=.c) - - $(MAKEUCTB) : $(OBJS) -- $(BUILD_CC) $(CC_OPTS) $(LDFLAGS) $(BUILD_LDFLAGS) -o $@ $(OBJS) $(INTLLIB) $(BUILD_LIBS) -+ $(BUILD_CC) $(CC_OPTS) $(BUILD_LDFLAGS) -o $@ $(OBJS) $(INTLLIB) $(BUILD_LIBS) - - makeuctb$o : $(srcdir)/UCkd.h $(srcdir)/makeuctb.c - --- -2.14.3 - diff --git a/buildroot/package/lynx/lynx.hash b/buildroot/package/lynx/lynx.hash index c39475aa2..76d7614a7 100644 --- a/buildroot/package/lynx/lynx.hash +++ b/buildroot/package/lynx/lynx.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 04318a100b052d079d0018fa371aa28cfb41ab68db3a959f3b75c2170eea1bc8 lynx2.8.9dev.16.tar.bz2 +sha256 387f193d7792f9cfada14c60b0e5c0bff18f227d9257a39483e14fa1aaf79595 lynx2.8.9rel.1.tar.bz2 sha256 8406a30ff3134ec23cf752d1ceda92ddaabbe41b4f2dc07ea3cfa139de12d6d6 COPYING diff --git a/buildroot/package/lynx/lynx.mk b/buildroot/package/lynx/lynx.mk index a95326a14..735d5b317 100644 --- a/buildroot/package/lynx/lynx.mk +++ b/buildroot/package/lynx/lynx.mk @@ -4,7 +4,7 @@ # ################################################################################ -LYNX_VERSION = 2.8.9dev.16 +LYNX_VERSION = 2.8.9rel.1 LYNX_SOURCE = lynx$(LYNX_VERSION).tar.bz2 LYNX_SITE = ftp://ftp.invisible-island.net/lynx/tarballs LYNX_LICENSE = GPL-2.0 diff --git a/buildroot/package/lz4/0001-use-more-restrictive-conditions-for-clock_gettime.patch b/buildroot/package/lz4/0001-use-more-restrictive-conditions-for-clock_gettime.patch deleted file mode 100644 index 678f16abb..000000000 --- a/buildroot/package/lz4/0001-use-more-restrictive-conditions-for-clock_gettime.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 7dba09af47dd3daa1562a6332a643a1a59dba4a8 Mon Sep 17 00:00:00 2001 -From: Yann Collet -Date: Tue, 16 Jan 2018 10:21:37 -0800 -Subject: [PATCH] use more restrictive conditions for clock_gettime() - -Signed-off-by: Baruch Siach ---- -Upstream status: commit 7dba09af47dd3 - - programs/util.h | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/programs/util.h b/programs/util.h -index fc7f63e8140e..a3576d7e3a57 100644 ---- a/programs/util.h -+++ b/programs/util.h -@@ -141,6 +141,7 @@ extern "C" { - * Time functions - ******************************************/ - #if defined(_WIN32) /* Windows */ -+ - typedef LARGE_INTEGER UTIL_time_t; - UTIL_STATIC UTIL_time_t UTIL_getTime(void) { UTIL_time_t x; QueryPerformanceCounter(&x); return x; } - UTIL_STATIC U64 UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd) -@@ -165,7 +166,9 @@ extern "C" { - } - return 1000000000ULL*(clockEnd.QuadPart - clockStart.QuadPart)/ticksPerSecond.QuadPart; - } -+ - #elif defined(__APPLE__) && defined(__MACH__) -+ - #include - typedef U64 UTIL_time_t; - UTIL_STATIC UTIL_time_t UTIL_getTime(void) { return mach_absolute_time(); } -@@ -189,7 +192,9 @@ extern "C" { - } - return ((clockEnd - clockStart) * (U64)rate.numer) / ((U64)rate.denom); - } --#elif (PLATFORM_POSIX_VERSION >= 200112L) -+ -+#elif (PLATFORM_POSIX_VERSION >= 200112L) && (defined __UCLIBC__ || ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 17) || __GLIBC__ > 2)) -+ - #include - typedef struct timespec UTIL_time_t; - UTIL_STATIC UTIL_time_t UTIL_getTime(void) -@@ -227,7 +232,9 @@ extern "C" { - nano += diff.tv_nsec; - return nano; - } -+ - #else /* relies on standard C (note : clock_t measurements can be wrong when using multi-threading) */ -+ - typedef clock_t UTIL_time_t; - UTIL_STATIC UTIL_time_t UTIL_getTime(void) { return clock(); } - UTIL_STATIC U64 UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd) { return 1000000ULL * (clockEnd - clockStart) / CLOCKS_PER_SEC; } --- -2.17.0 - diff --git a/buildroot/package/lz4/0002-lib-allow-to-disable-shared-libraries.patch b/buildroot/package/lz4/0002-lib-allow-to-disable-shared-libraries.patch deleted file mode 100644 index 4f89e8557..000000000 --- a/buildroot/package/lz4/0002-lib-allow-to-disable-shared-libraries.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 95bde2a4ae4a92e984a5783ca1f09f44bf04fadb Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Thu, 19 Apr 2018 12:28:11 +0300 -Subject: [PATCH] lib: allow to disable shared libraries - -Just like BUILD_STATIC=no disables static libraries, BUILD_SHARED=no -disabled shared libraries. This is useful to support toolchains that do -not support shared libraries. - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/lz4/lz4/pull/504 - - lib/Makefile | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/lib/Makefile b/lib/Makefile -index dd33f50351a8..976d57cd75ed 100644 ---- a/lib/Makefile -+++ b/lib/Makefile -@@ -42,6 +42,7 @@ LIBVER_MINOR := $(shell echo $(LIBVER_MINOR_SCRIPT)) - LIBVER_PATCH := $(shell echo $(LIBVER_PATCH_SCRIPT)) - LIBVER := $(shell echo $(LIBVER_SCRIPT)) - -+BUILD_SHARED:=yes - BUILD_STATIC:=yes - - CPPFLAGS+= -DXXH_NAMESPACE=LZ4_ -@@ -92,6 +93,7 @@ ifeq ($(BUILD_STATIC),yes) # can be disabled on command line - endif - - $(LIBLZ4): $(SRCFILES) -+ifeq ($(BUILD_SHARED),yes) # can be disabled on command line - @echo compiling dynamic library $(LIBVER) - ifneq (,$(filter Windows%,$(OS))) - @$(CC) $(FLAGS) -DLZ4_DLL_EXPORT=1 -shared $^ -o dll\$@.dll -@@ -102,6 +104,7 @@ else - @ln -sf $@ liblz4.$(SHARED_EXT_MAJOR) - @ln -sf $@ liblz4.$(SHARED_EXT) - endif -+endif - - liblz4: $(LIBLZ4) - -@@ -159,9 +162,11 @@ ifeq ($(BUILD_STATIC),yes) - @$(INSTALL_DATA) liblz4.a $(DESTDIR)$(LIBDIR)/liblz4.a - @$(INSTALL_DATA) lz4frame_static.h $(DESTDIR)$(INCLUDEDIR)/lz4frame_static.h - endif -+ifeq ($(BUILD_SHARED),yes) - @$(INSTALL_PROGRAM) liblz4.$(SHARED_EXT_VER) $(DESTDIR)$(LIBDIR) - @ln -sf liblz4.$(SHARED_EXT_VER) $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT_MAJOR) - @ln -sf liblz4.$(SHARED_EXT_VER) $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT) -+endif - @echo Installing headers in $(INCLUDEDIR) - @$(INSTALL_DATA) lz4.h $(DESTDIR)$(INCLUDEDIR)/lz4.h - @$(INSTALL_DATA) lz4hc.h $(DESTDIR)$(INCLUDEDIR)/lz4hc.h --- -2.17.0 - diff --git a/buildroot/package/lz4/lz4.hash b/buildroot/package/lz4/lz4.hash index bdc43d1e6..90bd217cd 100644 --- a/buildroot/package/lz4/lz4.hash +++ b/buildroot/package/lz4/lz4.hash @@ -1,4 +1,4 @@ # sha256 locally computed -sha256 12f3a9e776a923275b2dc78ae138b4967ad6280863b77ff733028ce89b8123f9 lz4-v1.8.1.2.tar.gz +sha256 0963fbe9ee90acd1d15e9f09e826eaaf8ea0312e854803caf2db0a6dd40f4464 lz4-v1.8.2.tar.gz sha256 d15d99c8dc6b0ec22174c0e563a95bc40f9363ca7f9d9d793bb5c5a8e8d0af71 lib/LICENSE sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 programs/COPYING diff --git a/buildroot/package/lz4/lz4.mk b/buildroot/package/lz4/lz4.mk index c5540124e..183df4564 100644 --- a/buildroot/package/lz4/lz4.mk +++ b/buildroot/package/lz4/lz4.mk @@ -4,7 +4,7 @@ # ################################################################################ -LZ4_VERSION = v1.8.1.2 +LZ4_VERSION = v1.8.2 LZ4_SITE = $(call github,lz4,lz4,$(LZ4_VERSION)) LZ4_INSTALL_STAGING = YES LZ4_LICENSE = BSD-2-Clause (library), GPL-2.0+ (programs) diff --git a/buildroot/package/lzo/lzo.mk b/buildroot/package/lzo/lzo.mk index 27ca459ac..0ead92725 100644 --- a/buildroot/package/lzo/lzo.mk +++ b/buildroot/package/lzo/lzo.mk @@ -23,5 +23,7 @@ else LZO_CONF_OPTS += -DENABLE_STATIC=OFF endif +HOST_LZO_CONF_OPTS += -DENABLE_SHARED=ON -DENABLE_STATIC=OFF + $(eval $(cmake-package)) $(eval $(host-cmake-package)) diff --git a/buildroot/package/m4/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch b/buildroot/package/m4/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch new file mode 100644 index 000000000..5c5c11b99 --- /dev/null +++ b/buildroot/package/m4/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch @@ -0,0 +1,166 @@ +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=UTF-8 +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. + +[yann.morin.1998@free.fr: partially backport from upstream gnulib] +Signed-off-by: "Yann E. MORIN" + +--- + lib/fflush.c | 6 +++--- + lib/fpending.c | 2 +- + lib/fpurge.c | 2 +- + lib/freadahead.c | 2 +- + lib/freading.c | 2 +- + lib/fseeko.c | 4 ++-- + lib/stdio-impl.h | 6 ++++++ + 7 files changed, 15 insertions(+), 9 deletions(-) + +diff --git a/lib/fflush.c b/build-aux/gnulib/lib/fflush.c +index 983ade0ff..a6edfa105 100644 +--- a/lib/fflush.c ++++ b/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/lib/fpending.c b/build-aux/gnulib/lib/fpending.c +index c84e3a5b4..789f50e4e 100644 +--- a/lib/fpending.c ++++ b/lib/fpending.c +@@ -32,7 +32,7 @@ __fpending (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->_IO_write_ptr - fp->_IO_write_base; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +diff --git a/lib/fpurge.c b/build-aux/gnulib/lib/fpurge.c +index b1d417c7a..3aedcc373 100644 +--- a/lib/fpurge.c ++++ b/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/lib/freadahead.c b/build-aux/gnulib/lib/freadahead.c +index c2ecb5b28..23ec76ee5 100644 +--- a/lib/freadahead.c ++++ b/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/lib/freading.c b/build-aux/gnulib/lib/freading.c +index 73c28acdd..c24d0c88a 100644 +--- a/lib/freading.c ++++ b/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/lib/fseeko.c b/build-aux/gnulib/lib/fseeko.c +index 0101ab55f..193f4e8ce 100644 +--- a/lib/fseeko.c ++++ b/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/lib/stdio-impl.h b/build-aux/gnulib/lib/stdio-impl.h +index 78d896e9f..05c5752a2 100644 +--- a/lib/stdio-impl.h ++++ b/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. */ + +-- +2.14.1 + diff --git a/buildroot/package/m4/0002-fflush-be-more-paranoid-about-libio.h-change.patch b/buildroot/package/m4/0002-fflush-be-more-paranoid-about-libio.h-change.patch new file mode 100644 index 000000000..a820ca8ca --- /dev/null +++ b/buildroot/package/m4/0002-fflush-be-more-paranoid-about-libio.h-change.patch @@ -0,0 +1,151 @@ +From 74d9d6a293d7462dea8f83e7fc5ac792e956a0ad Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Thu, 8 Mar 2018 16:42:45 -0800 +Subject: [PATCH 2/2] fflush: be more paranoid about libio.h change + +Suggested by Eli Zaretskii in: +https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.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): +Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN. +--- + lib/fflush.c | 9 ++++++--- + lib/fpending.c | 3 ++- + lib/fpurge.c | 3 ++- + lib/freadahead.c | 3 ++- + lib/freading.c | 3 ++- + lib/fseeko.c | 6 ++++-- + 6 files changed, 18 insertions(+), 9 deletions(-) + +[yann.morin.1998@free.fr: partially backport from upstream gnulib] +Signed-off-by: "Yann E. MORIN" + +diff --git a/lib/fflush.c b/build-aux/gnulib/lib/fflush.c +index a6edfa105..a140b7ad9 100644 +--- a/lib/fflush.c ++++ b/lib/fflush.c +@@ -33,7 +33,8 @@ + #undef fflush + + +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 +73,8 @@ clear_ungetc_buffer (FILE *fp) + + #endif + +-#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) ++#if ! (defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 +150,8 @@ rpl_fflush (FILE *stream) + if (stream == NULL || ! freading (stream)) + return fflush (stream); + +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + + clear_ungetc_buffer_preserving_position (stream); + +diff --git a/lib/fpending.c b/build-aux/gnulib/lib/fpending.c +index 789f50e4e..7bc235ded 100644 +--- a/lib/fpending.c ++++ b/lib/fpending.c +@@ -32,7 +32,8 @@ __fpending (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_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + return fp->_IO_write_ptr - fp->_IO_write_base; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +diff --git a/lib/fpurge.c b/build-aux/gnulib/lib/fpurge.c +index 3aedcc373..554790b56 100644 +--- a/lib/fpurge.c ++++ b/lib/fpurge.c +@@ -62,7 +62,8 @@ 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_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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/lib/freadahead.c b/build-aux/gnulib/lib/freadahead.c +index 23ec76ee5..ed3dd0ebd 100644 +--- a/lib/freadahead.c ++++ b/lib/freadahead.c +@@ -30,7 +30,8 @@ extern size_t __sreadahead (FILE *); + size_t + freadahead (FILE *fp) + { +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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/lib/freading.c b/build-aux/gnulib/lib/freading.c +index c24d0c88a..790f92ca3 100644 +--- a/lib/freading.c ++++ b/lib/freading.c +@@ -31,7 +31,8 @@ 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_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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/lib/fseeko.c b/build-aux/gnulib/lib/fseeko.c +index 193f4e8ce..e5c5172e7 100644 +--- a/lib/fseeko.c ++++ b/lib/fseeko.c +@@ -47,7 +47,8 @@ fseeko (FILE *fp, off_t offset, int whence) + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __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 +124,8 @@ fseeko (FILE *fp, off_t offset, int whence) + return -1; + } + +-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 ++ /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags &= ~_IO_EOF_SEEN; + fp->_offset = pos; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ +-- +2.14.1 + diff --git a/buildroot/package/make/make.mk b/buildroot/package/make/make.mk index 01cd2eaa1..10082353a 100644 --- a/buildroot/package/make/make.mk +++ b/buildroot/package/make/make.mk @@ -20,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/buildroot/package/makedevs/makedevs.c b/buildroot/package/makedevs/makedevs.c index 1ba593634..c57b964f5 100644 --- a/buildroot/package/makedevs/makedevs.c +++ b/buildroot/package/makedevs/makedevs.c @@ -510,7 +510,7 @@ int main(int argc, char **argv) linenum++; - if (1 == sscanf(line, "|xattr %254s", xattr)) { + if (1 == sscanf(line, " |xattr %254s", xattr)) { #ifdef EXTENDED_ATTRIBUTES if (!full_name) bb_error_msg_and_die("line %d should be after a file\n", linenum); diff --git a/buildroot/package/mariadb/0002-cmake-fix-ucontext-detection.patch b/buildroot/package/mariadb/0002-cmake-fix-ucontext-detection.patch new file mode 100644 index 000000000..fff43e821 --- /dev/null +++ b/buildroot/package/mariadb/0002-cmake-fix-ucontext-detection.patch @@ -0,0 +1,44 @@ +From 3c8d309616295045745e778000c0185eec4b21d9 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 7 Oct 2018 14:25:59 +0200 +Subject: [PATCH] cmake: fix ucontext detection + +On some archs uclibc does not provide the ucontext structure despite +providing ucontext.h, for details see +https://git.buildroot.net/buildroot/commit/?id=f1cbfeea95e6287c7a666aafc182ffa318eff262 + +This patch improves the detection of ucontext by making sure that +HAVE_UCONTEXT_H is only set when makecontext() was found. + +Patch sent upstream: https://github.com/MariaDB/server/pull/878 + +Signed-off-by: Bernd Kuhls +--- + configure.cmake | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/configure.cmake b/configure.cmake +index d840dd4e565..a5df355ac42 100644 +--- a/configure.cmake ++++ b/configure.cmake +@@ -986,12 +986,12 @@ CHECK_STRUCT_HAS_MEMBER("struct sockaddr_in6" sin6_len + + SET(CMAKE_EXTRA_INCLUDE_FILES) + +-CHECK_INCLUDE_FILE(ucontext.h HAVE_UCONTEXT_H) +-IF(NOT HAVE_UCONTEXT_H) +- CHECK_INCLUDE_FILE(sys/ucontext.h HAVE_UCONTEXT_H) ++CHECK_INCLUDE_FILE(ucontext.h HAVE_FILE_UCONTEXT_H) ++IF(NOT HAVE_FILE_UCONTEXT_H) ++ CHECK_INCLUDE_FILE(sys/ucontext.h HAVE_FILE_UCONTEXT_H) + ENDIF() +-IF(HAVE_UCONTEXT_H) +- CHECK_FUNCTION_EXISTS(makecontext HAVE_UCONTEXT_H) ++IF(HAVE_FILE_UCONTEXT_H) ++ CHECK_FUNCTION_EXISTS(makecontext HAVE_UCONTEXT_H) + ENDIF() + + CHECK_STRUCT_HAS_MEMBER("struct timespec" tv_sec "time.h" STRUCT_TIMESPEC_HAS_TV_SEC) +-- +2.19.0 + diff --git a/buildroot/package/mariadb/mariadb.hash b/buildroot/package/mariadb/mariadb.hash index 7eea62ab7..5b01b03df 100644 --- a/buildroot/package/mariadb/mariadb.hash +++ b/buildroot/package/mariadb/mariadb.hash @@ -1,6 +1,9 @@ -# From https://downloads.mariadb.org/mariadb/10.1.33/ -sha256 94312c519f2c0c25e1964c64e22aff0036fb22dfb2685638f43a6b2211395d2d mariadb-10.1.33.tar.gz +# From https://downloads.mariadb.org/mariadb/10.3.10 +md5 a63e00179d5e09b63bf71860a19a5507 mariadb-10.3.10.tar.gz +sha1 187b3e3d7bcc6a4b03a2ca79b8d1930a6fcc76b2 mariadb-10.3.10.tar.gz +sha256 57767c048982811c7ab21d8527f6f36aa897386e8c7235f11b5505a924d68eda mariadb-10.3.10.tar.gz +sha512 dee7789dff359a6352ceacb2db6bcb4730940e9458adda4e23894f9bfa0a7ff8c238060bffca58a60b662275e52a31ea1784d51fae114312b003c024e9412b31 mariadb-10.3.10.tar.gz # Hash for license files -sha256 69ce89a0cadbe35a858398c258be93c388715e84fc0ca04e5a1fd1aa9770dd3a README +sha256 5baa5057c525cacc9f7814215582ac150e5bb0b0007aa8f6ebc50a5c1b7a496d README.md sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/buildroot/package/mariadb/mariadb.mk b/buildroot/package/mariadb/mariadb.mk index ce846d9cd..06d6365fa 100644 --- a/buildroot/package/mariadb/mariadb.mk +++ b/buildroot/package/mariadb/mariadb.mk @@ -4,12 +4,12 @@ # ################################################################################ -MARIADB_VERSION = 10.1.33 +MARIADB_VERSION = 10.3.10 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 @@ -48,12 +56,23 @@ MARIADB_CONF_OPTS += -DCMAKE_CROSSCOMPILING=1 MARIADB_CONF_OPTS += -DENABLE_DTRACE=0 ifeq ($(BR2_PACKAGE_MARIADB_SERVER),y) +ifeq ($(BR2_PACKAGE_MARIADB_SERVER_EMBEDDED),y) MARIADB_CONF_OPTS += -DWITH_EMBEDDED_SERVER=ON else +MARIADB_CONF_OPTS += -DWITH_EMBEDDED_SERVER=OFF +endif +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 \ @@ -67,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 @@ -104,13 +123,11 @@ define MARIADB_INSTALL_INIT_SYSTEMD endef endif +# We don't need mysql_config on the target as it's only useful in staging +# We also don't need the test suite on the target define MARIADB_POST_INSTALL mkdir -p $(TARGET_DIR)/var/lib/mysql - $(INSTALL) -D -m 644 $(TARGET_DIR)/usr/share/mysql/my-small.cnf \ - $(TARGET_DIR)/etc/mysql/my.cnf - # We don't need this on the target as it's only useful in staging $(RM) $(TARGET_DIR)/usr/bin/mysql_config - # Remove test suite $(RM) -r $(TARGET_DIR)/usr/share/mysql/test endef diff --git a/buildroot/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch b/buildroot/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch new file mode 100644 index 000000000..60bf53f6e --- /dev/null +++ b/buildroot/package/mbedtls/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch @@ -0,0 +1,74 @@ +From a0ae2ba37ca479c6edddec8634b25686be965e0d Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 27 Aug 2018 22:50:57 +0200 +Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes #1910 + +With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline +assembly fails to build with GCC < 5 in PIC mode with the following error: + +include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ + +This is because older GCC versions treated the x86 ebx register (which is +used for the GOT) as a fixed reserved register when building as PIC. + +This is fixed by an improved register allocator in GCC 5+. From the release +notes: + +Register allocation improvements: Reuse of the PIC hard register, instead of +using a fixed register, was implemented on x86/x86-64 targets. This +improves generated PIC code performance as more hard registers can be used. + +https://www.gnu.org/software/gcc/gcc-5/changes.html + +As a workaround, detect this situation and disable the inline assembly, +similar to the MULADDC_CANNOT_USE_R7 logic. + +Signed-off-by: Peter Korsgaard +Upstream: https://github.com/ARMmbed/mbedtls/pull/1986 +--- + include/mbedtls/bn_mul.h | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/include/mbedtls/bn_mul.h b/include/mbedtls/bn_mul.h +index b587317d9..74a2d29be 100644 +--- a/include/mbedtls/bn_mul.h ++++ b/include/mbedtls/bn_mul.h +@@ -50,13 +50,29 @@ + #if defined(__GNUC__) && \ + ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) + ++/* ++ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a ++ * fixed reserved register when building as PIC, leading to errors ++ * like: bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ ++ * ++ * This is fixed by an improved register allocator in GCC 5+. From the ++ * release notes: ++ * Register allocation improvements: Reuse of the PIC hard register, ++ * instead of using a fixed register, was implemented on x86/x86-64 ++ * targets. This improves generated PIC code performance as more hard ++ * registers can be used. ++ */ ++#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__) ++#define MULADDC_CANNOT_USE_EBX ++#endif ++ + /* + * Disable use of the i386 assembly code below if option -O0, to disable all + * compiler optimisations, is passed, detected with __OPTIMIZE__ + * This is done as the number of registers used in the assembly code doesn't + * work with the -O0 option. + */ +-#if defined(__i386__) && defined(__OPTIMIZE__) ++#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX) + + #define MULADDC_INIT \ + asm( \ +-- +2.11.0 + diff --git a/buildroot/package/mbedtls/mbedtls.hash b/buildroot/package/mbedtls/mbedtls.hash index 16f03fb7d..47e446dd0 100644 --- a/buildroot/package/mbedtls/mbedtls.hash +++ b/buildroot/package/mbedtls/mbedtls.hash @@ -1,5 +1,5 @@ -# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.9.0-2.7.3-and-2.1.12-released -sha1 8352f6713a9ee695f6f19e893c0e85941af71967 mbedtls-2.7.3-apache.tgz -sha256 05282af7d95fedb2430c248ffe3081646800b8dae9071f8da11a07100963d765 mbedtls-2.7.3-apache.tgz +# 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 # Locally calculated sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache-2.0.txt diff --git a/buildroot/package/mbedtls/mbedtls.mk b/buildroot/package/mbedtls/mbedtls.mk index e6012dcb3..e07cc3d71 100644 --- a/buildroot/package/mbedtls/mbedtls.mk +++ b/buildroot/package/mbedtls/mbedtls.mk @@ -5,7 +5,7 @@ ################################################################################ MBEDTLS_SITE = https://tls.mbed.org/code/releases -MBEDTLS_VERSION = 2.7.3 +MBEDTLS_VERSION = 2.7.5 MBEDTLS_SOURCE = mbedtls-$(MBEDTLS_VERSION)-apache.tgz MBEDTLS_CONF_OPTS = \ -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \ diff --git a/buildroot/package/mdadm/mdadm.mk b/buildroot/package/mdadm/mdadm.mk index 207b0be60..b2ed5049a 100644 --- a/buildroot/package/mdadm/mdadm.mk +++ b/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/buildroot/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch b/buildroot/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch new file mode 100644 index 000000000..792c3eeb4 --- /dev/null +++ b/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/buildroot/package/mediastreamer/0002-m4-fix-local-ffmpeg-and-avcodec-function-conflict.patch b/buildroot/package/mediastreamer/0002-m4-fix-local-ffmpeg-and-avcodec-function-conflict.patch new file mode 100644 index 000000000..cdaa0fab2 --- /dev/null +++ b/buildroot/package/mediastreamer/0002-m4-fix-local-ffmpeg-and-avcodec-function-conflict.patch @@ -0,0 +1,42 @@ +From d12e74a559602b3dff9a6bf38fcbb139535c9c9c Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Mon, 3 Sep 2018 20:27:00 +0200 +Subject: [PATCH] m4: fix local ffmpeg and avcodec function conflict + +Autotools miss avcodec function check. +This is due to linker library list order, -ldrm is appended too early +respect to -lavutil. This results in missing drm library functions for +avcodec functions: +- drmGetVersion() +- drmFreeVersion() +So these functions: +- avcodec_get_context_defaults3 +- avcodec_open2 +- avcodec_encode_video2 +can't link correctly during check and they seem not to be present. +Then macros HAVE_FUN_avcodec_* are not defined in mediastreamer-config.h +So local avcodec functions conflict with real avcodec library functions. + +In acinclude.m4 file, swap $FFMPEG_LIBS and -lavutil if avcodec is found. + +Signed-off-by: Giulio Benetti +--- + acinclude.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 6c31ed82..89ff6643 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -110,7 +110,7 @@ AC_DEFUN([MS_CHECK_VIDEO],[ + if test x$avcodec_found = xno ; then + AC_MSG_WARN([Could not find libavcodec (from ffmpeg) headers and library.]) + else +- FFMPEG_LIBS="$FFMPEG_LIBS -lavutil" ++ FFMPEG_LIBS="-lavutil $FFMPEG_LIBS" + fi + + +-- +2.17.1 + diff --git a/buildroot/package/mediastreamer/mediastreamer.hash b/buildroot/package/mediastreamer/mediastreamer.hash index 5f26b54bf..8ebf64af0 100644 --- a/buildroot/package/mediastreamer/mediastreamer.hash +++ b/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/buildroot/package/mediastreamer/mediastreamer.mk b/buildroot/package/mediastreamer/mediastreamer.mk index 1276cfae1..3c9756936 100644 --- a/buildroot/package/mediastreamer/mediastreamer.mk +++ b/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/buildroot/package/memcached/memcached.hash b/buildroot/package/memcached/memcached.hash index 827893382..c3cc11c3b 100644 --- a/buildroot/package/memcached/memcached.hash +++ b/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.10.tar.gz.sha1 +sha1 fff9351b360a09497cd805d3e4c1ffbe860d067d memcached-1.5.10.tar.gz + +# Locally computed +sha256 494c060dbd96d546c74ab85a3cc3984d009b4423767ac33e05dd2340c01f1c4b memcached-1.5.10.tar.gz +sha256 bc887c4ad8051fe690ace9528fe37a2e0bb362e6d963331d82e845ca9b585a0c COPYING diff --git a/buildroot/package/memcached/memcached.mk b/buildroot/package/memcached/memcached.mk index c15abc79b..f591fcf1c 100644 --- a/buildroot/package/memcached/memcached.mk +++ b/buildroot/package/memcached/memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -MEMCACHED_VERSION = 1.5.6 +MEMCACHED_VERSION = 1.5.10 MEMCACHED_SITE = http://www.memcached.org/files MEMCACHED_DEPENDENCIES = libevent MEMCACHED_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' diff --git a/buildroot/package/mender/0001-FIX-Enabling-compiling-ppc64le.patch b/buildroot/package/mender/0001-FIX-Enabling-compiling-ppc64le.patch new file mode 100644 index 000000000..3197a0ec0 --- /dev/null +++ b/buildroot/package/mender/0001-FIX-Enabling-compiling-ppc64le.patch @@ -0,0 +1,37 @@ +From 2b13f9a50793fdc15199925000107cb0cc4e7bad Mon Sep 17 00:00:00 2001 +From: Angelo Compagnucci +Date: Thu, 9 Aug 2018 09:28:06 +0200 +Subject: [PATCH] FIX: Enabling compiling ppc64le + +This patch enables Mender compilation on ppc64le + +Changelog: FIX: Enabling compiling ppc64le + +Signed-off-by: Angelo Compagnucci +Signed-off-by: Giulio Benetti +--- + ioctl_64_bit.go | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ioctl_64_bit.go b/ioctl_64_bit.go +index 6f61a6c..f1e2dd8 100644 +--- a/ioctl_64_bit.go ++++ b/ioctl_64_bit.go +@@ -1,4 +1,4 @@ +-// Copyright 2017 Northern.tech AS ++// Copyright 2018 Northern.tech AS + // + // Licensed under the Apache License, Version 2.0 (the "License"); + // you may not use this file except in compliance with the License. +@@ -12,7 +12,7 @@ + // See the License for the specific language governing permissions and + // limitations under the License. + +-// +build amd64 arm64 ++// +build amd64 arm64 ppc64le + + package main + +-- +2.17.1 + diff --git a/buildroot/package/mender/Config.in b/buildroot/package/mender/Config.in new file mode 100644 index 000000000..aeb0b2694 --- /dev/null +++ b/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/buildroot/package/mender/mender.conf b/buildroot/package/mender/mender.conf new file mode 100644 index 000000000..979f16aaf --- /dev/null +++ b/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/buildroot/package/mender/mender.hash b/buildroot/package/mender/mender.hash new file mode 100644 index 000000000..8faa740e3 --- /dev/null +++ b/buildroot/package/mender/mender.hash @@ -0,0 +1,41 @@ +# Locally computed: +sha256 267fa73ad472b034248ee298593b5c52ea0b105fd73c91febb3587280c61bee2 mender-1.4.0.tar.gz + +# Apache-2.0 license, locally computed +sha256 ceb1b36ff073bd13d9806d4615b931707768ca9023805620acc32dd1cfc2f680 LICENSE + +# Vendor licenses +# Generated with sed '/^[A-Za-z0-9_]/s/^/sha256 /' LIC_FILES_CHKSUM.sha256 + +# Apache-2.0 license. +sha256 ceb1b36ff073bd13d9806d4615b931707768ca9023805620acc32dd1cfc2f680 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 54d6f54a2815cc2e3cef4f7dde5a3aae20f09b2cde394d8d3f1dce5d8a79d738 LIC_FILES_CHKSUM.sha256 diff --git a/buildroot/package/mender/mender.mk b/buildroot/package/mender/mender.mk new file mode 100644 index 000000000..37a99c1f1 --- /dev/null +++ b/buildroot/package/mender/mender.mk @@ -0,0 +1,64 @@ +################################################################################ +# +# mender +# +################################################################################ + +MENDER_VERSION = 1.4.0 +MENDER_SITE = $(call github,mendersoftware,mender,$(MENDER_VERSION)) +MENDER_LICENSE = Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT, OLDAP-2.8 + +# 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) + ) +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 + +$(eval $(golang-package)) diff --git a/buildroot/package/mender/mender.service b/buildroot/package/mender/mender.service new file mode 100644 index 000000000..9ede55acb --- /dev/null +++ b/buildroot/package/mender/mender.service @@ -0,0 +1,14 @@ +[Unit] +Description=Mender OTA update service +After=systemd-resolved.service + +[Service] +Type=idle +User=root +Group=root +ExecStartPre=/bin/mkdir -p -m 0700 /data/mender +ExecStart=/usr/bin/mender -daemon +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/buildroot/package/mender/server.crt b/buildroot/package/mender/server.crt new file mode 100644 index 000000000..79a57e15e --- /dev/null +++ b/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/buildroot/package/mesa3d-headers/mesa3d-headers.mk b/buildroot/package/mesa3d-headers/mesa3d-headers.mk index 5a8e3f9b8..99dfb431a 100644 --- a/buildroot/package/mesa3d-headers/mesa3d-headers.mk +++ b/buildroot/package/mesa3d-headers/mesa3d-headers.mk @@ -12,7 +12,7 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 18.0.3 +MESA3D_HEADERS_VERSION = 18.2.4 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive MESA3D_HEADERS_DL_SUBDIR = mesa3d @@ -35,9 +35,9 @@ ifeq ($(BR2_PACKAGE_XORG7),y) # contains -i. define MESA3D_HEADERS_BUILD_DRI_PC sed -e 's:@\(exec_\)\?prefix@:/usr:' \ - -e 's:@libdir@:${exec_prefix}/lib:' \ - -e 's:@includedir@:${prefix}/include:' \ - -e 's:@DRI_DRIVER_INSTALL_DIR@:${libdir}/dri:' \ + -e 's:@libdir@:$${exec_prefix}/lib:' \ + -e 's:@includedir@:$${prefix}/include:' \ + -e 's:@DRI_DRIVER_INSTALL_DIR@:$${libdir}/dri:' \ -e 's:@VERSION@:$(MESA3D_HEADERS_VERSION):' \ -e 's:@DRI_PC_REQ_PRIV@::' \ $(@D)/src/mesa/drivers/dri/dri.pc.in \ diff --git a/buildroot/package/mesa3d/0001-musl.patch b/buildroot/package/mesa3d/0001-musl.patch index 8f7ba773a..44c7f5b96 100644 --- a/buildroot/package/mesa3d/0001-musl.patch +++ b/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/buildroot/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch b/buildroot/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch index bfb637655..337ad642a 100644 --- a/buildroot/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch +++ b/buildroot/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch @@ -1,4 +1,4 @@ -From 11a759c33160db6e887e7640071ba84482e6164f Mon Sep 17 00:00:00 2001 +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 @@ -13,32 +13,32 @@ pkg-config. Signed-off-by: Gustavo Zacarias Signed-off-by: Vicente Olivert Riera -[Romain: rebase on 17.3.1] +[Romain: rebase on 18.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 +index f1fbdcc6c7..dcf87e7dd6 100644 --- a/configure.ac +++ b/configure.ac -@@ -1695,11 +1695,11 @@ if test "x$with_platforms" = xauto; then - with_platforms=$with_egl_platforms - fi +@@ -1796,11 +1796,11 @@ for plat in $platforms; do + PKG_CHECK_MODULES([WAYLAND_PROTOCOLS], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED]) + WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` --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_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]) + if test "x$WAYLAND_SCANNER" = "x:"; then -- 2.14.3 diff --git a/buildroot/package/mesa3d/0003-configure.ac-rework-latomic-check.patch b/buildroot/package/mesa3d/0003-configure.ac-rework-latomic-check.patch deleted file mode 100644 index ee8107d2a..000000000 --- a/buildroot/package/mesa3d/0003-configure.ac-rework-latomic-check.patch +++ /dev/null @@ -1,124 +0,0 @@ -From 5865c7cb4e4ed1d63699e384ea52984448adfec9 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 7 May 2018 10:36:10 +0200 -Subject: [PATCH] configure.ac: rework -latomic check - -The configure.ac logic added in commit -2ef7f23820a67e958c2252bd81eb0458903ebf33 ("configure: check if --latomic is needed for __atomic_*") makes the assumption that if a -64-bit atomic intrinsic test program fails to link without -latomic, -it is because we must use -latomic. - -Unfortunately, this is not completely correct: libatomic only appeared -in gcc 4.8, and therefore gcc versions before that will not have -libatomic, and therefore don't provide atomic intrinsics for all -architectures. This issue was for example encountered on PowerPC with -a gcc 4.7 toolchain, where the build fails with: - -powerpc-ctng_e500v2-linux-gnuspe/bin/ld: cannot find -latomic - -This commit aims at fixing that, by not assuming -latomic is -available. The commit re-organizes the atomic intrinsics detection as -follows: - - (1) Test if a program using 64-bit atomic intrinsics links properly, - without -latomic. If this is the case, we have atomic intrinsics, - and we're good to go. - - (2) If (1) has failed, then test to link the same program, but this - time with -latomic in LDFLAGS. If this is the case, then we have - atomic intrinsics, provided we link with -latomic. - -This has been tested in three situations: - - - On x86-64, where atomic instrinsics are all built-in, with no need - for libatomic. In this case, config.log contains: - - GCC_ATOMIC_BUILTINS_SUPPORTED_FALSE='#' - GCC_ATOMIC_BUILTINS_SUPPORTED_TRUE='' - LIBATOMIC_LIBS='' - - This means: atomic intrinsics are available, and we don't need to - link with libatomic. - - - On NIOS2, where atomic intrinsics are available, but some of them - (64-bit ones) require using libatomic. In this case, config.log - contains: - - GCC_ATOMIC_BUILTINS_SUPPORTED_FALSE='#' - GCC_ATOMIC_BUILTINS_SUPPORTED_TRUE='' - LIBATOMIC_LIBS='-latomic' - - This means: atomic intrinsics are available, and we need to link - with libatomic. - - - On PowerPC with an old gcc 4.7 toolchain, where 32-bit atomic - instrinsics are available, but not 64-bit atomic instrinsics, and - there is no libatomic. In this case, config.log contains: - - GCC_ATOMIC_BUILTINS_SUPPORTED_FALSE='' - GCC_ATOMIC_BUILTINS_SUPPORTED_TRUE='#' - - With means that atomic intrinsics are not usable. - -Signed-off-by: Thomas Petazzoni -Upstream-status: https://lists.freedesktop.org/archives/mesa-dev/2018-May/194214.html ---- - configure.ac | 37 +++++++++++++++++++++---------------- - 1 file changed, 21 insertions(+), 16 deletions(-) - -diff --git a/configure.ac b/configure.ac -index f1fbdcc6c7..c94e547874 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -433,26 +433,31 @@ fi - AM_CONDITIONAL([SSE41_SUPPORTED], [test x$SSE41_SUPPORTED = x1]) - AC_SUBST([SSE41_CFLAGS], $SSE41_CFLAGS) - --dnl Check for new-style atomic builtins --AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -+dnl Check for new-style atomic builtins. We first check without linking to -+dnl -latomic. -+AC_LINK_IFELSE([AC_LANG_SOURCE([[ -+#include - int main() { -- int n; -- return __atomic_load_n(&n, __ATOMIC_ACQUIRE); -+ uint64_t n; -+ return (int)__atomic_load_n(&n, __ATOMIC_ACQUIRE); - }]])], GCC_ATOMIC_BUILTINS_SUPPORTED=1) -+ -+dnl If that didn't work, we try linking with -latomic, which is needed on some -+dnl platforms. -+if test "x$GCC_ATOMIC_BUILTINS_SUPPORTED" != x1; then -+ save_LDFLAGS=$LDFLAGS -+ LDFLAGS="$LDFLAGS -latomic" -+ AC_LINK_IFELSE([AC_LANG_SOURCE([[ -+ #include -+ int main() { -+ uint64_t n; -+ return (int)__atomic_load_n(&n, __ATOMIC_ACQUIRE); -+ }]])], GCC_ATOMIC_BUILTINS_SUPPORTED=1 LIBATOMIC_LIBS="-latomic") -+ LDFLAGS=$save_LDFLAGS -+fi -+ - if test "x$GCC_ATOMIC_BUILTINS_SUPPORTED" = x1; then - DEFINES="$DEFINES -DUSE_GCC_ATOMIC_BUILTINS" -- dnl On some platforms, new-style atomics need a helper library -- AC_MSG_CHECKING(whether -latomic is needed) -- AC_LINK_IFELSE([AC_LANG_SOURCE([[ -- #include -- uint64_t v; -- int main() { -- return (int)__atomic_load_n(&v, __ATOMIC_ACQUIRE); -- }]])], GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC=no, GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC=yes) -- AC_MSG_RESULT($GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC) -- if test "x$GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC" = xyes; then -- LIBATOMIC_LIBS="-latomic" -- fi - fi - AC_SUBST([LIBATOMIC_LIBS]) - --- -2.14.3 - diff --git a/buildroot/package/mesa3d/Config.in b/buildroot/package/mesa3d/Config.in index 8c1877fbc..872859b69 100644 --- a/buildroot/package/mesa3d/Config.in +++ b/buildroot/package/mesa3d/Config.in @@ -8,13 +8,12 @@ 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_LIBXCB if BR2_PACKAGE_XORG7 select BR2_PACKAGE_ZLIB help @@ -59,15 +58,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 @@ -195,11 +187,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 @@ -219,17 +216,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" @@ -259,29 +259,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 diff --git a/buildroot/package/mesa3d/mesa3d.hash b/buildroot/package/mesa3d/mesa3d.hash index 983c0e65e..9ee353ee1 100644 --- a/buildroot/package/mesa3d/mesa3d.hash +++ b/buildroot/package/mesa3d/mesa3d.hash @@ -1,8 +1,7 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2018-May/000426.html -md5 b260580a26b71a5e52c608e3fe6d08a6 mesa-18.0.3.tar.xz -sha1 2c12c9f69eb7ba787dd1245b53bb98ceb08362d3 mesa-18.0.3.tar.xz -sha256 099d9667327a76a61741a533f95067d76ea71a656e66b91507b3c0caf1d49e30 mesa-18.0.3.tar.xz -sha512 decd050bab049d17bcde3f832d4da0ffdb80f147c99377a162739bbe72fd6fd32b51e56e6fc66895b8c30fc19a1815bae164b21aa557816c3998ad18c1ffca2d mesa-18.0.3.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2018-October/000471.html +md5 33c4b4ad2f33d4faedec3206da7853d3 mesa-18.2.4.tar.xz +sha1 9ebe58bdf03a1ff5e671de75f92c3c739edd3c4e mesa-18.2.4.tar.xz +sha256 621d1aebb57876d5b6a5d2dcf4eb7e0620e650c6fe5cf3655c65e243adc9cb4e mesa-18.2.4.tar.xz +sha512 088d43b087f4005752e4db75eaa6897e0fcb6de7b9a1f2d2b2ce3b5557d1dff829022e0092e8b1038ff01182c863ca0f26c97b9adde34bca462d3fa24502bfde mesa-18.2.4.tar.xz # License sha256 630e75b4fdeb75ee2bf9e55db54dd1e3ff7353d52d9314ca8512bfd460f8e24c docs/license.html -sha256 a75ee0cec909515ff80a3ec07155b7fb0aafe8051abe1f0e45d5c4c5e2539366 docs/patents.txt diff --git a/buildroot/package/mesa3d/mesa3d.mk b/buildroot/package/mesa3d/mesa3d.mk index d897c0d4c..1a1fb17c7 100644 --- a/buildroot/package/mesa3d/mesa3d.mk +++ b/buildroot/package/mesa3d/mesa3d.mk @@ -5,11 +5,12 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 18.0.3 +MESA3D_VERSION = 18.2.4 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 MESA3D_AUTORECONF = YES MESA3D_INSTALL_STAGING = YES @@ -43,6 +44,9 @@ else MESA3D_CONF_OPTS += --disable-llvm endif +# Disable opencl in case libclc is detected +MESA3D_CONF_OPTS += --disable-opencl + ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS),y) MESA3D_DEPENDENCIES += elfutils endif @@ -57,13 +61,12 @@ endif ifeq ($(BR2_PACKAGE_XORG7),y) MESA3D_DEPENDENCIES += \ - xproto_xf86driproto \ - xproto_dri2proto \ - xproto_glproto \ xlib_libX11 \ xlib_libXext \ xlib_libXdamage \ xlib_libXfixes \ + xlib_libXrandr \ + xorgproto \ libxcb MESA3D_CONF_OPTS += --enable-glx --disable-mangling # quote from mesa3d configure "Building xa requires at least one non swrast gallium driver." @@ -113,8 +116,8 @@ 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 @@ -132,7 +135,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 @@ -202,13 +207,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 diff --git a/buildroot/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch b/buildroot/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch new file mode 100644 index 000000000..0e59907a0 --- /dev/null +++ b/buildroot/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch @@ -0,0 +1,32 @@ +From 649140f09d8a8805125830cd7b2327d35447ffe8 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 +--- + mesonbuild/minstall.py | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py +index 1d721795..e04e1f6a 100644 +--- a/mesonbuild/minstall.py ++++ b/mesonbuild/minstall.py +@@ -495,6 +495,14 @@ class Installer: + 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.14.4 + diff --git a/buildroot/package/meson/meson.hash b/buildroot/package/meson/meson.hash index 44785aef2..a9968977d 100644 --- a/buildroot/package/meson/meson.hash +++ b/buildroot/package/meson/meson.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://github.com/mesonbuild/meson/releases/download/0.46.0/meson-0.46.0.tar.gz.asc -sha256 b7df91b01a358a8facdbfa33596a47cda38a760435ab55e1985c0bff06a9cbf0 meson-0.46.0.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING +# https://github.com/mesonbuild/meson/releases/download/0.47.2/meson-0.47.2.tar.gz.asc +sha256 92d8afd921751261e36151643464efd3394162f69efbe8cd53e0a66b1cf395eb meson-0.47.2.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/buildroot/package/meson/meson.mk b/buildroot/package/meson/meson.mk index 9b5ca0d5b..e1675c21b 100644 --- a/buildroot/package/meson/meson.mk +++ b/buildroot/package/meson/meson.mk @@ -4,7 +4,7 @@ # ################################################################################ -MESON_VERSION = 0.46.0 +MESON_VERSION = 0.47.2 MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION) MESON_LICENSE = Apache-2.0 MESON_LICENSE_FILES = COPYING @@ -14,7 +14,7 @@ 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) HOST_MESON_SED_CFLAGS = $(if $(TARGET_CFLAGS),`printf '"%s"$(comma) ' $(TARGET_CFLAGS)`) HOST_MESON_SED_LDFLAGS = $(if $(TARGET_LDFLAGS),`printf '"%s"$(comma) ' $(TARGET_LDFLAGS)`) diff --git a/buildroot/package/micropython/micropython.hash b/buildroot/package/micropython/micropython.hash index d42d7ee14..88068a60f 100644 --- a/buildroot/package/micropython/micropython.hash +++ b/buildroot/package/micropython/micropython.hash @@ -1,2 +1,2 @@ #locally computed -sha256 ce6b5c4548e85d84075635ff3e94d5cd3356b5fcc7593a7b49dd513612b6ed01 micropython-v1.9.3.tar.gz +sha256 9a66205d0ba3dff6dcc98119f104cd59c15855c6c030a190ca02354be52836c1 micropython-v1.9.4.tar.gz diff --git a/buildroot/package/micropython/micropython.mk b/buildroot/package/micropython/micropython.mk index 2c6bddd81..cff8b17b1 100644 --- a/buildroot/package/micropython/micropython.mk +++ b/buildroot/package/micropython/micropython.mk @@ -4,7 +4,7 @@ # ################################################################################ -MICROPYTHON_VERSION = v1.9.3 +MICROPYTHON_VERSION = v1.9.4 MICROPYTHON_SITE = $(call github,micropython,micropython,$(MICROPYTHON_VERSION)) MICROPYTHON_LICENSE = MIT MICROPYTHON_LICENSE_FILES = LICENSE diff --git a/buildroot/package/midori/Config.in b/buildroot/package/midori/Config.in index bc37c6a95..f0767c85f 100644 --- a/buildroot/package/midori/Config.in +++ b/buildroot/package/midori/Config.in @@ -1,7 +1,7 @@ -comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 5, host gcc >= 4.8" +comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 6, host gcc >= 4.8" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 || \ - !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || \ !BR2_TOOLCHAIN_USES_GLIBC config BR2_PACKAGE_MIDORI @@ -10,7 +10,7 @@ config BR2_PACKAGE_MIDORI depends on BR2_PACKAGE_LIBGTK3 depends on BR2_INSTALL_LIBSTDCPP # webkitgtk depends on BR2_HOST_GCC_AT_LEAST_4_8 # webkitgtk -> icu - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # webkitgtk + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # webkitgtk depends on BR2_TOOLCHAIN_USES_GLIBC # webkitgtk depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS # GCR can only be used with the X11 backend diff --git a/buildroot/package/minetest-game/0001-Default-Revert-Default-Shorter-and-better-ABMs.patch b/buildroot/package/minetest-game/0001-Default-Revert-Default-Shorter-and-better-ABMs.patch deleted file mode 100644 index e484e50a0..000000000 --- a/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/buildroot/package/minetest-game/minetest-game.hash b/buildroot/package/minetest-game/minetest-game.hash index 1a2fe78a9..52aa10d58 100644 --- a/buildroot/package/minetest-game/minetest-game.hash +++ b/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/buildroot/package/minetest-game/minetest-game.mk b/buildroot/package/minetest-game/minetest-game.mk index 2386944a0..bef7a63bb 100644 --- a/buildroot/package/minetest-game/minetest-game.mk +++ b/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/buildroot/package/minetest/minetest.hash b/buildroot/package/minetest/minetest.hash index 5e6aeffa4..e8b8bf2fc 100644 --- a/buildroot/package/minetest/minetest.hash +++ b/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/buildroot/package/minetest/minetest.mk b/buildroot/package/minetest/minetest.mk index a813a0db4..8b573a0f4 100644 --- a/buildroot/package/minetest/minetest.mk +++ b/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/buildroot/package/minicom/0001-musl-libc-compile-fix.patch b/buildroot/package/minicom/0001-musl-libc-compile-fix.patch deleted file mode 100644 index 94c0da06a..000000000 --- a/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/buildroot/package/minicom/0001-sysdep1-check-if-RS485-is-support-before-setting-its.patch b/buildroot/package/minicom/0001-sysdep1-check-if-RS485-is-support-before-setting-its.patch new file mode 100644 index 000000000..39f68350c --- /dev/null +++ b/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/buildroot/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch b/buildroot/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch deleted file mode 100644 index 83e153060..000000000 --- a/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/buildroot/package/minicom/Config.in b/buildroot/package/minicom/Config.in index c41c18857..efc4f1b70 100644 --- a/buildroot/package/minicom/Config.in +++ b/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/buildroot/package/minicom/minicom.hash b/buildroot/package/minicom/minicom.hash index ca3087160..c566f4be5 100644 --- a/buildroot/package/minicom/minicom.hash +++ b/buildroot/package/minicom/minicom.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1 minicom-2.7.1.tar.gz +sha256 3bd58b594ac66545649c13ab2b728a4df0f78612eb030680d4152f7627d1f177 minicom-19ab49422f3431102c31fea01549121385113f80.tar.gz +sha256 cf80a758014eefbf068afffe3d462fc34ff4f528527524d8e100329c42094e15 COPYING diff --git a/buildroot/package/minicom/minicom.mk b/buildroot/package/minicom/minicom.mk index cb0648237..000597f8a 100644 --- a/buildroot/package/minicom/minicom.mk +++ b/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/buildroot/package/minizip/Config.in b/buildroot/package/minizip/Config.in index 7205e0007..4bc12a0d7 100644 --- a/buildroot/package/minizip/Config.in +++ b/buildroot/package/minizip/Config.in @@ -1,6 +1,10 @@ config BR2_PACKAGE_MINIZIP bool "minizip" - select BR2_PACKAGE_ZLIB + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS + depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU) # libbsd + depends on BR2_TOOLCHAIN_HAS_THREADS # libbsd + depends on BR2_USE_WCHAR # libbsd + select BR2_PACKAGE_LIBBSD help Enables to extract files from a .zip archive file. It is compatible with PKZip 2.04g, WinZip, InfoZip, @@ -9,7 +13,12 @@ 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/ threads, wchar" + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/buildroot/package/minizip/minizip.hash b/buildroot/package/minizip/minizip.hash index 718026c1f..f77d40a02 100644 --- a/buildroot/package/minizip/minizip.hash +++ b/buildroot/package/minizip/minizip.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 5666b5ee3e85dfd2dd119970613c12e6267d31813f07d3ffa5d359fe272cb6d1 minizip-1.1.tar.gz +sha256 0afe6528f530cc9c1440053a7bbff53087e86f849e145d233464052c730431e9 minizip-2.5.3.tar.gz +sha256 87642305968765a4030fd202ff7006afa67274da7f9bde84506e51ae58ecc2b4 LICENSE diff --git a/buildroot/package/minizip/minizip.mk b/buildroot/package/minizip/minizip.mk index bcd6cc928..5a596f7cc 100644 --- a/buildroot/package/minizip/minizip.mk +++ b/buildroot/package/minizip/minizip.mk @@ -4,13 +4,26 @@ # ################################################################################ -MINIZIP_VERSION = 1.1 +MINIZIP_VERSION = 2.5.3 MINIZIP_SITE = $(call github,nmoinvaz,minizip,$(MINIZIP_VERSION)) -MINIZIP_DEPENDENCIES = zlib -MINIZIP_AUTORECONF = YES +MINIZIP_DEPENDENCIES = host-pkgconf libbsd 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) 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_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/buildroot/package/mjpegtools/Config.in b/buildroot/package/mjpegtools/Config.in index c486361a8..968f9e7d6 100644 --- a/buildroot/package/mjpegtools/Config.in +++ b/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/buildroot/package/mjpegtools/mjpegtools.mk b/buildroot/package/mjpegtools/mjpegtools.mk index c7392fa2b..14713c868 100644 --- a/buildroot/package/mjpegtools/mjpegtools.mk +++ b/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/buildroot/package/mjpg-streamer/0001-musl-pthread.patch b/buildroot/package/mjpg-streamer/0001-musl-pthread.patch deleted file mode 100644 index 9e76e760d..000000000 --- a/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/buildroot/package/mjpg-streamer/Config.in b/buildroot/package/mjpg-streamer/Config.in index f42c2a50d..59f4208ca 100644 --- a/buildroot/package/mjpg-streamer/Config.in +++ b/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/buildroot/package/mjpg-streamer/mjpg-streamer.hash b/buildroot/package/mjpg-streamer/mjpg-streamer.hash index 8bbac29e3..76716266b 100644 --- a/buildroot/package/mjpg-streamer/mjpg-streamer.hash +++ b/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/buildroot/package/mjpg-streamer/mjpg-streamer.mk b/buildroot/package/mjpg-streamer/mjpg-streamer.mk index 4fecf69ec..4077a3dcb 100644 --- a/buildroot/package/mjpg-streamer/mjpg-streamer.mk +++ b/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/buildroot/package/mmc-utils/0002-fix-overlapping-with-strncpy.patch b/buildroot/package/mmc-utils/0002-fix-overlapping-with-strncpy.patch new file mode 100644 index 000000000..a134dd3c5 --- /dev/null +++ b/buildroot/package/mmc-utils/0002-fix-overlapping-with-strncpy.patch @@ -0,0 +1,44 @@ +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 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC 8.2 warns about an overlapping using strncpy. + +Replace strncpy with a memmove to avoid this issue. + +In file included from /usr/include/string.h:494, + from lsmmc.c:46: +In function ‘strncpy’, + inlined from ‘read_file’ at lsmmc.c:356:3: +/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: ‘__builtin_strncpy’ accessing 4096 bytes at offsets 0 and 1 overlaps 4095 bytes at offset 1 [-Werror=restrict] + return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +cc1: all warnings being treated as errors +make: *** [Makefile:36: lsmmc.o] Error 1 + +Signed-off-by: Clément Péron +Signed-off-by: Sébastien Szymanski +--- + lsmmc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lsmmc.c b/lsmmc.c +index c4faa00..bcb854d 100644 +--- a/lsmmc.c ++++ b/lsmmc.c +@@ -353,7 +353,7 @@ char *read_file(char *name) + line[strlen(line) - 1] = '\0'; + + while (isspace(line[0])) +- strncpy(&line[0], &line[1], sizeof(line)); ++ memmove(&line[0], &line[1], sizeof(line)-1); + + return strdup(line); + } +-- +2.16.4 + diff --git a/buildroot/package/moarvm/Config.in b/buildroot/package/moarvm/Config.in index 3ff4f827e..c370a0f22 100644 --- a/buildroot/package/moarvm/Config.in +++ b/buildroot/package/moarvm/Config.in @@ -12,7 +12,8 @@ config BR2_PACKAGE_MOARVM select BR2_PACKAGE_LIBATOMIC_OPS # dyncall does not work on MIPS; libffi needs to be used. # See: https://github.com/MoarVM/MoarVM/issues/222 - select BR2_PACKAGE_LIBFFI if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + # dyncall does not work also on powerpc64 and powerpc64le + select BR2_PACKAGE_LIBFFI if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || BR2_powerpc64 || BR2_powerpc64le help Short for "Metamodel On A Runtime", MoarVM is a virtual machine built especially for Rakudo Perl 6 and the NQP diff --git a/buildroot/package/modem-manager/0001-kerneldevice-fix-build-with-musl-libc.patch b/buildroot/package/modem-manager/0001-kerneldevice-fix-build-with-musl-libc.patch new file mode 100644 index 000000000..68181cb5e --- /dev/null +++ b/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/buildroot/package/modem-manager/Config.in b/buildroot/package/modem-manager/Config.in index 215449a50..c4c723776 100644 --- a/buildroot/package/modem-manager/Config.in +++ b/buildroot/package/modem-manager/Config.in @@ -1,12 +1,11 @@ config BR2_PACKAGE_MODEM_MANAGER - bool "modemmanager" - depends on BR2_PACKAGE_HAS_UDEV - depends on BR2_USE_WCHAR # libglib2 + 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/buildroot/package/modem-manager/modem-manager.hash b/buildroot/package/modem-manager/modem-manager.hash index 8531330d2..77a8c2dc4 100644 --- a/buildroot/package/modem-manager/modem-manager.hash +++ b/buildroot/package/modem-manager/modem-manager.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 eefb7615c2c7ebc994abfc2782bfa9e798643a633362b40db96f7f61706a6283 ModemManager-1.6.12.tar.xz +sha256 18abe34421aa3b52ff47d4ba93aa282f8f8944717dd644a5c0c81eeeac9c7eb1 ModemManager-1.8.0.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/buildroot/package/modem-manager/modem-manager.mk b/buildroot/package/modem-manager/modem-manager.mk index fe4a7a95d..e2f89d9de 100644 --- a/buildroot/package/modem-manager/modem-manager.mk +++ b/buildroot/package/modem-manager/modem-manager.mk @@ -4,12 +4,12 @@ # ################################################################################ -MODEM_MANAGER_VERSION = 1.6.12 +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 @@ -20,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/buildroot/package/mongodb/0001-add-missing-sysmacros-include.patch b/buildroot/package/mongodb/0001-add-missing-sysmacros-include.patch new file mode 100644 index 000000000..3a8bfa16c --- /dev/null +++ b/buildroot/package/mongodb/0001-add-missing-sysmacros-include.patch @@ -0,0 +1,19 @@ +Add missing + +mmap_v1_engine.cpp is using major()/minor(), which are defined by +. This header file was implicitly included by + in glibc < 2.28. But this glibc 2.28, this is no longer +the case, so needs to be included explicitly. + +Signed-off-by: Florian La Roche + +--- ./src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp ++++ ./src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp +@@ -32,6 +32,7 @@ + + #include "mongo/db/storage/mmap_v1/mmap_v1_engine.h" + ++#include + #include + #include + #include diff --git a/buildroot/package/mongoose/mongoose.hash b/buildroot/package/mongoose/mongoose.hash index d5252eb68..86ebe8efb 100644 --- a/buildroot/package/mongoose/mongoose.hash +++ b/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/buildroot/package/mongoose/mongoose.mk b/buildroot/package/mongoose/mongoose.mk index e2149e06e..653c83c7d 100644 --- a/buildroot/package/mongoose/mongoose.mk +++ b/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/buildroot/package/mongrel2/Config.in b/buildroot/package/mongrel2/Config.in index 09bc8bd0a..a9b09b786 100644 --- a/buildroot/package/mongrel2/Config.in +++ b/buildroot/package/mongrel2/Config.in @@ -7,15 +7,15 @@ config BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS default y if BR2_TOOLCHAIN_USES_UCLIBC && \ (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || BR2_sparc || BR2_x86_64) -comment "mongrel2 needs a uClibc or glibc toolchain w/ C++, NPTL, dynamic library" +comment "mongrel2 needs a uClibc or glibc toolchain w/ C++, threads, dynamic library" depends on !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS config BR2_PACKAGE_MONGREL2 bool "mongrel2" depends on BR2_INSTALL_LIBSTDCPP # zeromq - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # zeromq + depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq depends on !BR2_STATIC_LIBS # uses dlopen() depends on BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS select BR2_PACKAGE_SQLITE diff --git a/buildroot/package/monit/monit.hash b/buildroot/package/monit/monit.hash index 611d3e18a..d1c09f137 100644 --- a/buildroot/package/monit/monit.hash +++ b/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/buildroot/package/monit/monit.mk b/buildroot/package/monit/monit.mk index 260bb5b7a..906ed842d 100644 --- a/buildroot/package/monit/monit.mk +++ b/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/buildroot/package/monkey/Config.in b/buildroot/package/monkey/Config.in index 9054aa05c..32a95ee62 100644 --- a/buildroot/package/monkey/Config.in +++ b/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/buildroot/package/monkey/monkey.hash b/buildroot/package/monkey/monkey.hash index 6c7eada8c..83fc0def6 100644 --- a/buildroot/package/monkey/monkey.hash +++ b/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/buildroot/package/monkey/monkey.mk b/buildroot/package/monkey/monkey.mk index 02c26c99f..6159f5522 100644 --- a/buildroot/package/monkey/monkey.mk +++ b/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/buildroot/package/mono/0004-fixing-initialization-of-have-vasprintf.patch b/buildroot/package/mono/0004-fixing-initialization-of-have-vasprintf.patch deleted file mode 100644 index 55648593a..000000000 --- a/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/buildroot/package/mono/0006-Remove-unit-tests-from-mono-compilation.patch b/buildroot/package/mono/0006-Remove-unit-tests-from-mono-compilation.patch deleted file mode 100644 index a3e88e73a..000000000 --- a/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/buildroot/package/mono/Config.in b/buildroot/package/mono/Config.in index 63208fef4..a375a9844 100644 --- a/buildroot/package/mono/Config.in +++ b/buildroot/package/mono/Config.in @@ -5,8 +5,8 @@ config BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS config BR2_PACKAGE_MONO_ARCH_SUPPORTS bool - default y if (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || \ - BR2_mipsel || BR2_powerpc || BR2_x86_64) + default y if (BR2_arm || BR2_armeb || BR2_i386 || \ + BR2_powerpc || BR2_x86_64) depends on BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS config BR2_PACKAGE_MONO diff --git a/buildroot/package/mono/mono.hash b/buildroot/package/mono/mono.hash index 850395022..db7ce52c9 100644 --- a/buildroot/package/mono/mono.hash +++ b/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/buildroot/package/mono/mono.mk b/buildroot/package/mono/mono.mk index 802c1d440..62eaeaf8b 100644 --- a/buildroot/package/mono/mono.mk +++ b/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/buildroot/package/monolite/monolite.hash b/buildroot/package/monolite/monolite.hash index 76f54678d..cf7291685 100644 --- a/buildroot/package/monolite/monolite.hash +++ b/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/buildroot/package/monolite/monolite.mk b/buildroot/package/monolite/monolite.mk index 80b2af954..2e1e54a54 100644 --- a/buildroot/package/monolite/monolite.mk +++ b/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/buildroot/package/mosh/Config.in b/buildroot/package/mosh/Config.in index da8a305a0..00da41c79 100644 --- a/buildroot/package/mosh/Config.in +++ b/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/buildroot/package/mosh/mosh.mk b/buildroot/package/mosh/mosh.mk index fa6ab1701..f9e335799 100644 --- a/buildroot/package/mosh/mosh.mk +++ b/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/buildroot/package/mosquitto/0001-websockets.c-unbreak-build-without-TLS.patch b/buildroot/package/mosquitto/0001-websockets.c-unbreak-build-without-TLS.patch deleted file mode 100644 index e977fae56..000000000 --- a/buildroot/package/mosquitto/0001-websockets.c-unbreak-build-without-TLS.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 4822aa97da80a86033ec6e4a8b2f4ad0911235cf Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sat, 3 Mar 2018 11:04:47 +0100 -Subject: [PATCH] websockets.c: unbreak build without TLS - -Commit 7943072b1f3b (Fix use_identity_as_username not working on websockets -clients) added code which unconditionally accesses mosq-ssl, breaking the -build when TLS support is disabled. - -Fix it by guarding this logic inside #ifdef WITH_TLS. - -[Upstream: https://dev.eclipse.org/mhonarc/lists/mosquitto-dev/msg01813.html] -Signed-off-by: Peter Korsgaard ---- - src/websockets.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/websockets.c b/src/websockets.c -index d4d7961..a796f0a 100644 ---- a/src/websockets.c -+++ b/src/websockets.c -@@ -201,12 +201,14 @@ static int callback_mqtt(struct libwebsocket_context *context, - mosq->ws_context = context; - #endif - mosq->wsi = wsi; -+#ifdef WITH_TLS - if(in){ - mosq->ssl = (SSL *)in; - if(!mosq->listener->ssl_ctx){ - mosq->listener->ssl_ctx = SSL_get_SSL_CTX(mosq->ssl); - } - } -+#endif - u->mosq = mosq; - }else{ - return -1; -@@ -240,7 +242,9 @@ static int callback_mqtt(struct libwebsocket_context *context, - mosq->pollfd_index = -1; - } - mosq->wsi = NULL; -+#ifdef WITH_TLS - mosq->ssl = NULL; -+#endif - do_disconnect(db, mosq); - } - break; --- -2.11.0 - diff --git a/buildroot/package/mosquitto/mosquitto.hash b/buildroot/package/mosquitto/mosquitto.hash index 91c855cb4..96e2ae936 100644 --- a/buildroot/package/mosquitto/mosquitto.hash +++ b/buildroot/package/mosquitto/mosquitto.hash @@ -1,5 +1,5 @@ # Locally calculated after checking gpg signature -sha256 7d3b3e245a3b4ec94b05678c8199c806359737949f4cfe0bf936184f6ca89a83 mosquitto-1.4.15.tar.gz +sha256 5fd7f3454fd6d286645d032bc07f44a1c8583cec02ef2422c9eb32e0a89a9b2f mosquitto-1.5.4.tar.gz # License files sha256 cc77e25bafd40637b7084f04086d606f0a200051b61806f97c93405926670bc1 LICENSE.txt diff --git a/buildroot/package/mosquitto/mosquitto.mk b/buildroot/package/mosquitto/mosquitto.mk index ec5fc02f9..fcce0535c 100644 --- a/buildroot/package/mosquitto/mosquitto.mk +++ b/buildroot/package/mosquitto/mosquitto.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOSQUITTO_VERSION = 1.4.15 +MOSQUITTO_VERSION = 1.5.4 MOSQUITTO_SITE = https://mosquitto.org/files/source MOSQUITTO_LICENSE = EPL-1.0 or EDLv1.0 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v10 edl-v10 diff --git a/buildroot/package/motion/0001-fix-static-linking-with-webp.patch b/buildroot/package/motion/0001-fix-static-linking-with-webp.patch new file mode 100644 index 000000000..201ef3d8a --- /dev/null +++ b/buildroot/package/motion/0001-fix-static-linking-with-webp.patch @@ -0,0 +1,32 @@ +From 3e59613c286316e963d98ea99ded35ded4361c48 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 21 Nov 2018 18:55:31 +0100 +Subject: [PATCH] fix static linking with webp + +Static build with webp fails because webp is put before webpmux + +Fixes: + - http://autobuild.buildroot.org/results/4d4e72808300ba1ff79ca794930112b554eb2533 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/Motion-Project/motion/pull/850] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 89179e5..60147fb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -276,7 +276,7 @@ if test "${WEBP}" = "yes"; then + AC_MSG_RESULT(found) + AC_DEFINE([HAVE_WEBP], 1, [Define to 1 if WEBP is around]) + HAVE_WEBP="yes" +- TEMP_LIBS="$TEMP_LIBS -lwebp -lwebpmux" ++ TEMP_LIBS="$TEMP_LIBS -lwebpmux -lwebp" + else + AC_MSG_RESULT(not found) + fi +-- +2.14.1 + diff --git a/buildroot/package/motion/Config.in b/buildroot/package/motion/Config.in index a27e7f9fb..7a2e5dbea 100644 --- a/buildroot/package/motion/Config.in +++ b/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/buildroot/package/motion/motion.hash b/buildroot/package/motion/motion.hash index 5b67755e8..9c6a2b7fb 100644 --- a/buildroot/package/motion/motion.hash +++ b/buildroot/package/motion/motion.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 2074b935bdfe28f84c2c3233274b06908336778f303bb13530d4299c3f8aa4e2 motion-release-4.1.1.tar.gz +sha256 6ef8504fc5be00a49c82c4045c0004fbf575d9a5df8687025a9b06923efda2a9 motion-release-4.2.tar.gz sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/buildroot/package/motion/motion.mk b/buildroot/package/motion/motion.mk index 0f4898674..1bbb548fd 100644 --- a/buildroot/package/motion/motion.mk +++ b/buildroot/package/motion/motion.mk @@ -4,11 +4,11 @@ # ################################################################################ -MOTION_VERSION = release-4.1.1 +MOTION_VERSION = release-4.2 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/buildroot/package/mpd-mpc/mpd-mpc.hash b/buildroot/package/mpd-mpc/mpd-mpc.hash index 05ec389e2..b1f262fc0 100644 --- a/buildroot/package/mpd-mpc/mpd-mpc.hash +++ b/buildroot/package/mpd-mpc/mpd-mpc.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 65fc5b0a8430efe9acbe6e261127960682764b20ab994676371bdc797d867fce mpc-0.30.tar.xz +sha256 62373e83a8a165b2ed43967975efecd3feee530f4557d6b861dd08aa89d52b2d mpc-0.31.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/buildroot/package/mpd-mpc/mpd-mpc.mk b/buildroot/package/mpd-mpc/mpd-mpc.mk index 942530a56..05c70ba04 100644 --- a/buildroot/package/mpd-mpc/mpd-mpc.mk +++ b/buildroot/package/mpd-mpc/mpd-mpc.mk @@ -5,33 +5,11 @@ ################################################################################ MPD_MPC_VERSION_MAJOR = 0 -MPD_MPC_VERSION = $(MPD_MPC_VERSION_MAJOR).30 +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-meson host-pkgconf libmpdclient +MPD_MPC_DEPENDENCIES = host-pkgconf libmpdclient -MPD_MPC_CONF_OPTS += \ - --prefix=/usr \ - --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \ - --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf - -MPD_MPC_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) - -define MPD_MPC_CONFIGURE_CMDS - rm -rf $(@D)/build - mkdir -p $(@D)/build - $(TARGET_MAKE_ENV) meson $(MPD_MPC_CONF_OPTS) $(@D) $(@D)/build -endef - -define MPD_MPC_BUILD_CMDS - $(TARGET_MAKE_ENV) ninja $(MPD_MPC_NINJA_OPTS) -C $(@D)/build -endef - -define MPD_MPC_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja $(MPD_MPC_NINJA_OPTS) \ - -C $(@D)/build install -endef - -$(eval $(generic-package)) +$(eval $(meson-package)) diff --git a/buildroot/package/mpd/Config.in b/buildroot/package/mpd/Config.in index 857f21247..d3844391a 100644 --- a/buildroot/package/mpd/Config.in +++ b/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) @@ -266,13 +264,19 @@ config BR2_PACKAGE_MPD_OSS config BR2_PACKAGE_MPD_PULSEAUDIO bool "pulseaudio" - depends on !BR2_STATIC_LIBS # pulseaudio + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + depends on BR2_USE_MMU select BR2_PACKAGE_PULSEAUDIO help Enable pulseaudio output support. -comment "pulseaudio support needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR config BR2_PACKAGE_MPD_SHOUTCAST bool "shoutcast" @@ -338,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/buildroot/package/mpd/mpd.hash b/buildroot/package/mpd/mpd.hash index d6e66216c..b80bfc82a 100644 --- a/buildroot/package/mpd/mpd.hash +++ b/buildroot/package/mpd/mpd.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 6a582dc2ae90b94ff3853f9ffd7d80b2c2b5fe2e2c35cb1da0b36f3f3dfad434 mpd-0.20.18.tar.xz +sha256 503e5f9f237290f568ff7956ab2f9aed563594bf749f19b8fe994fb21434afea mpd-0.20.23.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/buildroot/package/mpd/mpd.mk b/buildroot/package/mpd/mpd.mk index d41ffe157..f410c1fd9 100644 --- a/buildroot/package/mpd/mpd.mk +++ b/buildroot/package/mpd/mpd.mk @@ -5,7 +5,7 @@ ################################################################################ MPD_VERSION_MAJOR = 0.20 -MPD_VERSION = $(MPD_VERSION_MAJOR).18 +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 diff --git a/buildroot/package/mpv/Config.in b/buildroot/package/mpv/Config.in index ce6f367d7..69810038f 100644 --- a/buildroot/package/mpv/Config.in +++ b/buildroot/package/mpv/Config.in @@ -4,8 +4,6 @@ config BR2_PACKAGE_MPV depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 - # ARC toolchain issue - depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_FFMPEG select BR2_PACKAGE_FFMPEG_SWSCALE @@ -29,4 +27,3 @@ comment "mpv needs a toolchain w/ threads, gcc >= 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/buildroot/package/msgpack/msgpack.mk b/buildroot/package/msgpack/msgpack.mk index 38df8f53a..abb6e2e21 100644 --- a/buildroot/package/msgpack/msgpack.mk +++ b/buildroot/package/msgpack/msgpack.mk @@ -9,7 +9,7 @@ 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/buildroot/package/mtd/0001-revert-return-correct-error-number-in-ubi_get_vol_info1.patch b/buildroot/package/mtd/0001-revert-return-correct-error-number-in-ubi_get_vol_info1.patch new file mode 100644 index 000000000..1fd4f7693 --- /dev/null +++ b/buildroot/package/mtd/0001-revert-return-correct-error-number-in-ubi_get_vol_info1.patch @@ -0,0 +1,92 @@ +From 0f833ac73ad631248826386e2918d8571ecf0347 Mon Sep 17 00:00:00 2001 +From: David Oberhollenzer +Date: Sat, 9 Jun 2018 16:45:22 +0200 +Subject: [PATCH] Revert "Return correct error number in ubi_get_vol_info1" + +This reverts commit dede98ffb706676309488d7cc660f569548d5930. + +The original commit tried to fix a descrepancy between the implementation +and the documentation by making the implementation comply. + +When making the change, it was overlooked, that ubinfo and ubirename were +written against the implementation instead of the behaviour specified by +the documentation. So were further internal functions like +ubi_get_vol_info1_nm which further breaks ubirmvol. + +A report with an outline of a resulting problem can be read on +the mailing list: + +http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html + +From the report: + +steps to reproduce: have mtd-utils 2.0.1 or 2.0.2 + +0. make a bunch of ubi volumes in sequential order + +ubimkvol /dev/ubi0 -s 64KiB -N test1 +ubimkvol /dev/ubi0 -s 64KiB -N test2 +ubimkvol /dev/ubi0 -s 64KiB -N test3 +ubimkvol /dev/ubi0 -s 64KiB -N test4 +.. + +1. delete the test1 volume, making a hole in the volume table + +ubirmvol /dev/ubi0 -N test1 + +2. try an affected tool (i.e. "ubirmvol /dev/ubi0 -N test4" ) + + |root at mr24:/# ubirmvol /dev/ubi0 -N test4 + |ubirmvol: error!: cannot find UBI volume "test4" + | error 19 (No such device) + +or "ubinfo -a" + + | root at mr24:/# ubinfo -a + | UBI version: 1 + | Count of UBI devices: 1 + | UBI control device major/minor: 10:59 + | Present UBI devices: ubi0 + | + | ubi0 + | Volumes count: 11 + | Logical eraseblock size: 15872 bytes, 15.5 KiB + | Total amount of logical eraseblocks: 1952 (30982144 bytes, 29.5 MiB) + | Amount of available logical eraseblocks: 75 (1190400 bytes, 1.1 MiB) + | Maximum count of volumes 92 + | Count of bad physical eraseblocks: 0 + | Count of reserved physical eraseblocks: 40 + | Current maximum erase counter value: 984 + | Minimum input/output unit size: 512 bytes + | Character device major/minor: 251:0 + | ubinfo: error!: libubi failed to probe volume 5 on ubi0 + | error 19 (No such device) + | Present volumes: 0, 1, 2, 3, 4root at mr24:/# + +Reported-by: Christian Lamparter +Signed-off-by: David Oberhollenzer +Signed-off-by: David Owens +--- + lib/libubi.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/lib/libubi.c b/lib/libubi.c +index b50e68a..978b433 100644 +--- a/lib/libubi.c ++++ b/lib/libubi.c +@@ -1240,11 +1240,8 @@ int ubi_get_vol_info1(libubi_t desc, int dev_num, int vol_id, + info->dev_num = dev_num; + info->vol_id = vol_id; + +- if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) { +- if (errno == ENOENT) +- errno = ENODEV; ++ if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) + return -1; +- } + + ret = vol_read_data(lib->vol_type, dev_num, vol_id, buf, 50); + if (ret < 0) +-- +2.14.4 + diff --git a/buildroot/package/mtd/mtd.hash b/buildroot/package/mtd/mtd.hash index c452654bf..4bd0cda09 100644 --- a/buildroot/package/mtd/mtd.hash +++ b/buildroot/package/mtd/mtd.hash @@ -1,3 +1,4 @@ # Locally calculated after checking pgp signature -# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.0.1.tar.bz2.asc -sha256 312baa0446e4e728ceb413c53533e41e547d1c13ffa0752b2f879fd289fc2f63 mtd-utils-2.0.1.tar.bz2 +# ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.0.2.tar.bz2.asc +sha256 fb3de61be8e932abb424e8ea3c30298f553d5f970ad158a737bb303bbf9660b8 mtd-utils-2.0.2.tar.bz2 +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/buildroot/package/mtd/mtd.mk b/buildroot/package/mtd/mtd.mk index 7094aad89..13e501fc3 100644 --- a/buildroot/package/mtd/mtd.mk +++ b/buildroot/package/mtd/mtd.mk @@ -4,7 +4,7 @@ # ################################################################################ -MTD_VERSION = 2.0.1 +MTD_VERSION = 2.0.2 MTD_SOURCE = mtd-utils-$(MTD_VERSION).tar.bz2 MTD_SITE = ftp://ftp.infradead.org/pub/mtd-utils MTD_LICENSE = GPL-2.0 @@ -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/buildroot/package/multicat/0001-Fix-build-with-musl-libc.patch b/buildroot/package/multicat/0001-Fix-build-with-musl-libc.patch deleted file mode 100644 index d68b861a1..000000000 --- a/buildroot/package/multicat/0001-Fix-build-with-musl-libc.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 19c37f8d02cfe3a0490981cd9c3370fe544b76ac Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cl=C3=A9ment=20Vasseur?= -Date: Thu, 30 Nov 2017 16:05:49 +0000 -Subject: [PATCH] Fix build with musl libc - -Signed-off-by: Baruch Siach ---- -Upstream status: commit 19c37f8d02cf - - multicat.c | 7 ++----- - util.h | 3 ++- - 2 files changed, 4 insertions(+), 6 deletions(-) - -diff --git a/multicat.c b/multicat.c -index eeab930fc1db..e8b6874d6f4c 100644 ---- a/multicat.c -+++ b/multicat.c -@@ -1,7 +1,7 @@ - /***************************************************************************** - * multicat.c: netcat-equivalent for multicast - ***************************************************************************** -- * Copyright (C) 2009, 2011-2012, 2015-2016 VideoLAN -+ * Copyright (C) 2009, 2011-2012, 2015-2017 VideoLAN - * $Id$ - * - * Authors: Christophe Massiot -@@ -43,10 +43,7 @@ - #include - #include - #include -- --#ifdef __FreeBSD__ --# include --#endif -+#include - - #ifdef SIOCGSTAMPNS - # define HAVE_TIMESTAMPS -diff --git a/util.h b/util.h -index 1959a2edb155..724e7d843d22 100644 ---- a/util.h -+++ b/util.h -@@ -1,7 +1,7 @@ - /***************************************************************************** - * util.h: Utils for the multicat suite - ***************************************************************************** -- * Copyright (C) 2009, 2011, 2014-2016 VideoLAN -+ * Copyright (C) 2009, 2011, 2014-2017 VideoLAN - * $Id$ - * - * Authors: Christophe Massiot -@@ -23,6 +23,7 @@ - - #include - #include -+#include - - #if defined(__APPLE__) || defined(__FreeBSD__) - #define POLLRDHUP 0 --- -2.17.0 - diff --git a/buildroot/package/multicat/multicat.hash b/buildroot/package/multicat/multicat.hash index 0f718d0e0..9cf84bc50 100644 --- a/buildroot/package/multicat/multicat.hash +++ b/buildroot/package/multicat/multicat.hash @@ -1,5 +1,6 @@ -# from https://get.videolan.org/multicat/2.2/multicat-2.2.tar.bz2.md5 -md5 91bd35aa5aa94c370664276bd5af6f48 multicat-2.2.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 fa4e48b38665658df7719293f9358df08f59f3eb7f7b77df510b35951e316b40 multicat-2.2.tar.bz2 sha256 94f68aec169fb6c9937eade757251714d38a56812be5dbfc3973914a71ad8d2d COPYING diff --git a/buildroot/package/multicat/multicat.mk b/buildroot/package/multicat/multicat.mk index 67cebec26..1d31ec869 100644 --- a/buildroot/package/multicat/multicat.mk +++ b/buildroot/package/multicat/multicat.mk @@ -4,7 +4,7 @@ # ################################################################################ -MULTICAT_VERSION = 2.2 +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+ diff --git a/buildroot/package/musl/0002-fix-race-condition-in-file-locking.patch b/buildroot/package/musl/0002-fix-race-condition-in-file-locking.patch new file mode 100644 index 000000000..f3e85e688 --- /dev/null +++ b/buildroot/package/musl/0002-fix-race-condition-in-file-locking.patch @@ -0,0 +1,55 @@ +From 0db393d3a77bb9f300a356c6a5484fc2dddb161d Mon Sep 17 00:00:00 2001 +From: Kaarle Ritvanen +Date: Tue, 18 Sep 2018 10:03:27 +0300 +Subject: [PATCH] fix race condition in file locking + +The condition occurs when +- thread #1 is holding the lock +- thread #2 is waiting for it on __futexwait +- thread #1 is about to release the lock and performs a_swap +- thread #3 enters the __lockfile function and manages to grab the lock + before thread #1 calls __wake, resetting the MAYBE_WAITERS flag +- thread #1 calls __wake +- thread #2 wakes up but goes again to __futexwait as the lock is + held by thread #3 +- thread #3 releases the lock but does not call __wake as the + MAYBE_WAITERS flag is not set + +This condition results in thread #2 not being woken up. This patch fixes +the problem by making the woken up thread ensure that the flag is +properly set before going to sleep again. + +Mainainer's note: This fixes a regression introduced in commit +c21f750727515602a9e84f2a190ee8a0a2aeb2a1. +Signed-off-by: Thomas Petazzoni +--- + src/stdio/__lockfile.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/stdio/__lockfile.c b/src/stdio/__lockfile.c +index 2ff75d8a..0dcb2a42 100644 +--- a/src/stdio/__lockfile.c ++++ b/src/stdio/__lockfile.c +@@ -8,13 +8,13 @@ int __lockfile(FILE *f) + int owner = f->lock, tid = __pthread_self()->tid; + if ((owner & ~MAYBE_WAITERS) == tid) + return 0; +- for (;;) { +- owner = a_cas(&f->lock, 0, tid); +- if (!owner) return 1; +- if (a_cas(&f->lock, owner, owner|MAYBE_WAITERS)==owner) break; ++ owner = a_cas(&f->lock, 0, tid); ++ if (!owner) return 1; ++ while ((owner = a_cas(&f->lock, 0, tid|MAYBE_WAITERS))) { ++ if ((owner & MAYBE_WAITERS) || ++ a_cas(&f->lock, owner, owner|MAYBE_WAITERS)==owner) ++ __futexwait(&f->lock, owner|MAYBE_WAITERS, 1); + } +- while ((owner = a_cas(&f->lock, 0, tid|MAYBE_WAITERS))) +- __futexwait(&f->lock, owner, 1); + return 1; + } + +-- +2.14.4 + diff --git a/buildroot/package/musl/Config.in b/buildroot/package/musl/Config.in index bedc50cd4..67e9e78a1 100644 --- a/buildroot/package/musl/Config.in +++ b/buildroot/package/musl/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_MUSL depends on BR2_TOOLCHAIN_USES_MUSL select BR2_PACKAGE_LINUX_HEADERS # SSP broken on i386/ppc: http://www.openwall.com/lists/musl/2016/12/04/2 - select BR2_TOOLCHAIN_HAS_SSP if !(BR2_i386 || BR2_powerpc) + select BR2_TOOLCHAIN_HAS_SSP if BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI \ + && !(BR2_i386 || BR2_powerpc) # Compatibility headers: cdefs.h, queue.h select BR2_PACKAGE_MUSL_COMPAT_HEADERS diff --git a/buildroot/package/musl/musl.hash b/buildroot/package/musl/musl.hash index c011bbb71..f7cc05bcc 100644 --- a/buildroot/package/musl/musl.hash +++ b/buildroot/package/musl/musl.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature from -# http://www.musl-libc.org/releases/musl-1.1.19.tar.gz.asc -sha256 db59a8578226b98373f5b27e61f0dd29ad2456f4aa9cec587ba8c24508e4c1d9 musl-1.1.19.tar.gz +# http://www.musl-libc.org/releases/musl-1.1.20.tar.gz.asc +sha256 44be8771d0e6c6b5f82dd15662eb2957c9a3173a19a8b49966ac0542bbd40d61 musl-1.1.20.tar.gz sha256 15d9afbf84041872b4d840ed7d165d3eee786ff3f97e703b10467c259ff4e7d9 COPYRIGHT diff --git a/buildroot/package/musl/musl.mk b/buildroot/package/musl/musl.mk index fa775d1e7..058a36292 100644 --- a/buildroot/package/musl/musl.mk +++ b/buildroot/package/musl/musl.mk @@ -4,7 +4,7 @@ # ################################################################################ -MUSL_VERSION = 1.1.19 +MUSL_VERSION = 1.1.20 MUSL_SITE = http://www.musl-libc.org/releases MUSL_LICENSE = MIT MUSL_LICENSE_FILES = COPYRIGHT diff --git a/buildroot/package/mutt/0001-Fix-static-build-with-libidn2-and-libunistring.patch b/buildroot/package/mutt/0001-Fix-static-build-with-libidn2-and-libunistring.patch new file mode 100644 index 000000000..56b90f5e3 --- /dev/null +++ b/buildroot/package/mutt/0001-Fix-static-build-with-libidn2-and-libunistring.patch @@ -0,0 +1,36 @@ +From 1baceb95bd8e6f35c25bc7afdc6a88c8f6264f3f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 20 Aug 2018 19:06:08 +0200 +Subject: [PATCH] Fix static build with libidn2 and libunistring + +When libidn2 is statically build with libunistring support, mutt needs +to add -lunistring to LIBS. +To do that, add a call to PKG_CHECK_MODULES to retrieve this information +from libidn2.pc + +Fixes: + - http://autobuild.buildroot.net/results/177da8f4798f69298db5385957184f1c53cca923 + +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 29252173..2e69ac19 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1341,6 +1341,10 @@ AC_ARG_WITH(idn2, AS_HELP_STRING([--with-idn2=@<:@PFX@:>@],[Use GNU libidn2 for + if test "$with_idn2" != "yes" ; then + CPPFLAGS="$CPPFLAGS -I$with_idn2/include" + LDFLAGS="$LDFLAGS -L$with_idn2/lib" ++ else ++ PKG_CHECK_MODULES([LIBIDN2], libidn2, ++ [CPPFLAGS="$CPPFLAGS $LIBIDN2_CFLAGS" ++ LIBS="$LIBIDN2_LIBS"]) + fi + fi + ], +-- +2.14.1 + diff --git a/buildroot/package/mutt/mutt.hash b/buildroot/package/mutt/mutt.hash index cab8d2db6..27eeb5680 100644 --- a/buildroot/package/mutt/mutt.hash +++ b/buildroot/package/mutt/mutt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 bf617e64ae4e08a998bef8e42a965a211587e051f1437a3a4884b351a9385753 mutt-1.9.5.tar.gz +sha256 734a3883158ec3d180cf6538d8bd7f685ce641d2cdef657aa0038f76e79a54a0 mutt-1.10.1.tar.gz sha256 732f24b69a6c71cd8e01e4672bb8e12cc1cbb88a50a4665e6ca4fd95000a57ee GPL diff --git a/buildroot/package/mutt/mutt.mk b/buildroot/package/mutt/mutt.mk index d224138c5..9918b45e6 100644 --- a/buildroot/package/mutt/mutt.mk +++ b/buildroot/package/mutt/mutt.mk @@ -4,23 +4,29 @@ # ################################################################################ -MUTT_VERSION = 1.9.5 +MUTT_VERSION = 1.10.1 MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads MUTT_LICENSE = GPL-2.0+ MUTT_LICENSE_FILES = GPL -MUTT_DEPENDENCIES = ncurses +MUTT_DEPENDENCIES = host-pkgconf ncurses MUTT_CONF_OPTS = --disable-doc --disable-smtp +# We're patching configure.ac +MUTT_AUTORECONF = YES ifeq ($(BR2_PACKAGE_LIBICONV),y) 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/buildroot/package/mysql/Config.in b/buildroot/package/mysql/Config.in index 278dc73e5..30a82cc91 100644 --- a/buildroot/package/mysql/Config.in +++ b/buildroot/package/mysql/Config.in @@ -16,7 +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 @@ -30,6 +31,10 @@ config BR2_PACKAGE_MARIADB http://www.mariadb.org/ +comment "mariadb needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 + config BR2_PACKAGE_ORACLE_MYSQL bool "oracle mysql" select BR2_PACKAGE_NCURSES @@ -49,6 +54,12 @@ config BR2_PACKAGE_MARIADB_SERVER help Install the mariadb server on the target. +config BR2_PACKAGE_MARIADB_SERVER_EMBEDDED + bool "mariadb embedded server" + depends on BR2_PACKAGE_MARIADB_SERVER + help + Install the mariadb embedded server on the target. + endif if BR2_PACKAGE_ORACLE_MYSQL diff --git a/buildroot/package/nano/nano.hash b/buildroot/package/nano/nano.hash index c09f0313d..6b0f90bf4 100644 --- a/buildroot/package/nano/nano.hash +++ b/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.0.tar.xz.asc +# using key BFD009061E535052AD0DF2150D28D4D2A0ACE884 +sha256 e0a5bca354514e64762c987c200a8758b05e7bcced3b00b3e48ea0a2d383c8a0 nano-3.0.tar.xz sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/buildroot/package/nano/nano.mk b/buildroot/package/nano/nano.mk index 458174a47..a1d2fe986 100644 --- a/buildroot/package/nano/nano.mk +++ b/buildroot/package/nano/nano.mk @@ -4,7 +4,7 @@ # ################################################################################ -NANO_VERSION_MAJOR = 2.9 +NANO_VERSION_MAJOR = 3 NANO_VERSION = $(NANO_VERSION_MAJOR).0 NANO_SITE = https://www.nano-editor.org/dist/v$(NANO_VERSION_MAJOR) NANO_SOURCE = nano-$(NANO_VERSION).tar.xz diff --git a/buildroot/package/ncmpc/0001-Fix-unique_ptr-error-with-some-old-toolchains.patch b/buildroot/package/ncmpc/0001-Fix-unique_ptr-error-with-some-old-toolchains.patch new file mode 100644 index 000000000..47905d71d --- /dev/null +++ b/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/buildroot/package/ncmpc/0002-Global-Bindings-add-KeyBindings-constructor-to-simplify-initializers.patch b/buildroot/package/ncmpc/0002-Global-Bindings-add-KeyBindings-constructor-to-simplify-initializers.patch new file mode 100644 index 000000000..217fa9b55 --- /dev/null +++ b/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/buildroot/package/ncmpc/Config.in b/buildroot/package/ncmpc/Config.in index 324d8f7c2..d22ea368b 100644 --- a/buildroot/package/ncmpc/Config.in +++ b/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/buildroot/package/ncmpc/ncmpc.hash b/buildroot/package/ncmpc/ncmpc.hash index 0e9a4a903..afa5260be 100644 --- a/buildroot/package/ncmpc/ncmpc.hash +++ b/buildroot/package/ncmpc/ncmpc.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 ef68a9b67172383ea80ee46579015109433fa058728812d2b0ebede660d85f12 ncmpc-0.29.tar.xz +sha256 8d3416c5b99ec21527b506f75bd7e536ddff60e61695b05989e791a751611bcc ncmpc-0.31.tar.xz # Hash for license file: sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/buildroot/package/ncmpc/ncmpc.mk b/buildroot/package/ncmpc/ncmpc.mk index 1d464b72d..787f58201 100644 --- a/buildroot/package/ncmpc/ncmpc.mk +++ b/buildroot/package/ncmpc/ncmpc.mk @@ -5,18 +5,16 @@ ################################################################################ NCMPC_VERSION_MAJOR = 0 -NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).29 +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-meson host-pkgconf libglib2 libmpdclient ncurses +NCMPC_DEPENDENCIES = host-pkgconf libglib2 libmpdclient ncurses NCMPC_LICENSE = GPL-2.0+ NCMPC_LICENSE_FILES = COPYING -NCMPC_CONF_OPTS += \ - --prefix=/usr \ +NCMPC_CONF_OPTS = \ -Dcurses=ncurses \ - --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \ - --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf + -Ddocumentation=false ifeq ($(BR2_PACKAGE_LIRC_TOOLS),y) NCMPC_DEPENDENCIES += lirc-tools @@ -25,21 +23,4 @@ else NCMPC_CONF_OPTS += -Dlirc=false endif -NCMPC_NINJA_OPTS = $(if $(VERBOSE),-v) - -define NCMPC_CONFIGURE_CMDS - rm -rf $(@D)/build - mkdir -p $(@D)/build - $(TARGET_MAKE_ENV) meson $(NCMPC_CONF_OPTS) $(@D) $(@D)/build -endef - -define NCMPC_BUILD_CMDS - $(TARGET_MAKE_ENV) ninja $(NCMPC_NINJA_OPTS) -C $(@D)/build -endef - -define NCMPC_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) \ - ninja $(NCMPC_NINJA_OPTS) -C $(@D)/build install -endef - -$(eval $(generic-package)) +$(eval $(meson-package)) diff --git a/buildroot/package/ncurses/ncurses.mk b/buildroot/package/ncurses/ncurses.mk index 5b36df564..e27598bd4 100644 --- a/buildroot/package/ncurses/ncurses.mk +++ b/buildroot/package/ncurses/ncurses.mk @@ -154,6 +154,7 @@ HOST_NCURSES_CONF_OPTS = \ --without-cxx-binding \ --without-ada \ --with-default-terminfo-dir=/usr/share/terminfo \ + --disable-db-install \ --without-normal $(eval $(autotools-package)) diff --git a/buildroot/package/neardal/0001-fix-static-linking-with-libedit-or-readline.patch b/buildroot/package/neardal/0001-fix-static-linking-with-libedit-or-readline.patch new file mode 100644 index 000000000..bae0edae9 --- /dev/null +++ b/buildroot/package/neardal/0001-fix-static-linking-with-libedit-or-readline.patch @@ -0,0 +1,45 @@ +From 62ae1bf0206960d0ba5ff8f90238030e67f1a5cd Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 28 Oct 2018 20:58:55 +0100 +Subject: [PATCH] fix static linking with libedit or readline + +Use PKG_CHECK_MODULES to find libedit or readline and continue to use +AC_SEARCH_LIBS as a fallback + +By using PKG_CHECK_MODULES, static link will work as -lncurses or -lbsd +will be automatically added + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/connectivity/neardal/pull/7] +--- + configure.ac | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f0cebed..211b896 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -68,10 +68,16 @@ PKG_CHECK_MODULES(gio, gio-unix-2.0 >= 2.30, + AC_SUBST([gio_LIBS]), + AC_MSG_ERROR(gio-unix-2.0 >= 2.30 is required)) + +-AC_SEARCH_LIBS([rl_initialize], [edit readline], +- [AS_IF([echo $LIBS | grep -q "-ledit"], +- [CPPFLAGS="-DHAVE_LIBEDIT $CPPFLAGS"])], +- [AC_MSG_ERROR(editline or readline is required)]) ++PKG_CHECK_MODULES(libedit, libedit, ++ [CPPFLAGS="-DHAVE_LIBEDIT $libedit_CFLAGS $CPPFLAGS" ++ LIBS="$libedit_LIBS $LIBS"], ++ [PKG_CHECK_MODULES(readline, readline, ++ [CPPFLAGS="$readline_CFLAGS $CPPFLAGS" ++ LIBS="$readline_LIBS $LIBS"], ++ AC_SEARCH_LIBS([rl_initialize], [edit readline], ++ [AS_IF([echo $LIBS | grep -q "-ledit"], ++ [CPPFLAGS="-DHAVE_LIBEDIT $CPPFLAGS"])], ++ [AC_MSG_ERROR(editline or readline is required)]))]) + + AC_PATH_TOOL([DOXYGEN], [doxygen]) + AM_CONDITIONAL([HAVE_DOXYGEN], [test ! -z "$DOXYGEN"]) +-- +2.17.1 + diff --git a/buildroot/package/neardal/neardal.mk b/buildroot/package/neardal/neardal.mk index f3e55fd99..388301193 100644 --- a/buildroot/package/neardal/neardal.mk +++ b/buildroot/package/neardal/neardal.mk @@ -21,13 +21,6 @@ else ifeq ($(BR2_PACKAGE_LIBEDIT),y) NEARDAL_DEPENDENCIES += libedit endif -# Both readline and libedit link with ncurses but the configure script -# forgets to take that into account, causing the detection to fail -# when linking statically -ifeq ($(BR2_STATIC_LIBS),y) -NEARDAL_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs ncurses`" -endif - define NEARDAL_INSTALL_NCL $(INSTALL) -m 0755 -D $(@D)/ncl/ncl $(TARGET_DIR)/usr/bin/ncl endef diff --git a/buildroot/package/net-tools/net-tools.mk b/buildroot/package/net-tools/net-tools.mk index adab475b3..985fe2e35 100644 --- a/buildroot/package/net-tools/net-tools.mk +++ b/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/buildroot/package/netcat-openbsd/netcat-openbsd.mk b/buildroot/package/netcat-openbsd/netcat-openbsd.mk index 5784e4d68..e98b479c4 100644 --- a/buildroot/package/netcat-openbsd/netcat-openbsd.mk +++ b/buildroot/package/netcat-openbsd/netcat-openbsd.mk @@ -10,12 +10,6 @@ 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/buildroot/package/netcat/netcat.mk b/buildroot/package/netcat/netcat.mk index d8b3c930b..eb7ddcac2 100644 --- a/buildroot/package/netcat/netcat.mk +++ b/buildroot/package/netcat/netcat.mk @@ -9,17 +9,4 @@ NETCAT_SITE = http://downloads.sourceforge.net/project/netcat/netcat/$(NETCAT_VE NETCAT_LICENSE = GPL-2.0+ NETCAT_LICENSE_FILES = COPYING -# Ensure Busybox gets built/installed before, so that this package -# overrides Busybox nc. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -NETCAT_DEPENDENCIES += busybox -endif - -# Netcat doesn't overwrite a pre-existing 'nc' (e.g. from busybox) so -# force-remove it. -define NETCAT_RMOVE_NC_LINK - rm -f $(TARGET_DIR)/usr/bin/nc -endef -NETCAT_PRE_INSTALL_TARGET_HOOKS += NETCAT_RMOVE_NC_LINK - $(eval $(autotools-package)) diff --git a/buildroot/package/netplug/S29netplug b/buildroot/package/netplug/S29netplug index 03422499d..cef0e6a94 100755 --- a/buildroot/package/netplug/S29netplug +++ b/buildroot/package/netplug/S29netplug @@ -22,18 +22,18 @@ elif [ -f /etc/rc.d/init.d/functions ]; then fi # Source networking configuration. -if [ -f /etc/sysconfig/network ]; then - . /etc/sysconfig/network +if [ -f /etc/default/network ]; then + . /etc/default/network # Check that networking is up. - [ ${NETWORKING} = "no" ] && exit 0 + [ "${NETWORKING}" = "no" ] && exit 0 elif [ ! -f /etc/network/interfaces ]; then # No network support exit 0 fi -if [ -f /etc/sysconfig/netplugd ]; then - . /etc/sysconfig/netplugd +if [ -f /etc/default/netplugd ]; then + . /etc/default/netplugd fi # See how we were called. @@ -41,7 +41,7 @@ case "$1" in start) # Start daemon. printf "Starting network plug daemon: " - start-stop-daemon -S -q -p /var/run/netplugd.pid -x /sbin/netplugd ${NETPLUGDARGS} + start-stop-daemon -S -q -x /sbin/netplugd -- -p /var/run/netplugd.pid ${NETPLUGDARGS} RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/netplugd @@ -49,7 +49,7 @@ case "$1" in stop) # Stop daemon. printf "Shutting down network plug daemon: " - start-stop-daemon -K -n netplugd + start-stop-daemon -K -q -p /var/run/netplugd.pid RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/netplugd diff --git a/buildroot/package/netsniff-ng/netsniff-ng.hash b/buildroot/package/netsniff-ng/netsniff-ng.hash index 576e00087..706c9461c 100644 --- a/buildroot/package/netsniff-ng/netsniff-ng.hash +++ b/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/buildroot/package/netsniff-ng/netsniff-ng.mk b/buildroot/package/netsniff-ng/netsniff-ng.mk index fb1c2c7a4..77d892142 100644 --- a/buildroot/package/netsniff-ng/netsniff-ng.mk +++ b/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/buildroot/package/netsnmp/0001-configure-Eliminate-the-hard-coded-libnl-3-include-p.patch b/buildroot/package/netsnmp/0001-configure-Eliminate-the-hard-coded-libnl-3-include-p.patch deleted file mode 100644 index cf0592233..000000000 --- a/buildroot/package/netsnmp/0001-configure-Eliminate-the-hard-coded-libnl-3-include-p.patch +++ /dev/null @@ -1,300 +0,0 @@ -From 57d6c3d36045aab8957ffeb7324728bf17faf8bd Mon Sep 17 00:00:00 2001 -From: Bart Van Assche -Date: Mon, 2 Feb 2015 20:31:29 +0100 -Subject: [PATCH] configure: Eliminate the hard-coded libnl-3 include path - -See also commit 3dde41998625fe0e24119a2e1f4509ba3ba2fd9a. - -(cherry picked from commit 852dcd644cfe4cfc7177649eaec163d6221f2be1) - -Original commit included modifications to configure script. -Do not keep these modifications, since they caused lots of conflicts, and -configure script is meant to be automatically generated. - -Signed-off-by: Julien Floret - -Conflicts: - configure ---- - aclocal.m4 | 1 + - configure.d/config_os_libs2 | 30 ++++++- - m4/pkg.m4 | 214 ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 243 insertions(+), 2 deletions(-) - create mode 100644 m4/pkg.m4 - -diff --git a/aclocal.m4 b/aclocal.m4 -index cd80c7486f2f..45e3608ed480 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -22,3 +22,4 @@ m4_include([m4/ltversion.m4]) - m4_include([m4/lt~obsolete.m4]) - m4_include([m4/netsnmp_arg.m4]) - m4_include([m4/netsnmp_search_libs.m4]) -+m4_include([m4/pkg.m4]) -diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 -index 47491e24ce0a..10bd414b879e 100644 ---- a/configure.d/config_os_libs2 -+++ b/configure.d/config_os_libs2 -@@ -225,11 +225,37 @@ fi - if test "x$with_nl" != "xno"; then - case $target_os in - linux*) # Check for libnl (linux) -+ # The test below verifies whether the libnl-3 package been installed. -+ # This test works as follows: -+ # - If pkg-config was not installed at the time autogen.sh was run, -+ # the definition of the PKG_CHECK_EXISTS() macro will not be found by -+ # autogen.sh. Augogen.sh will generate a configure script that prints -+ # a warning about pkg-config and proceeds as if libnl-3 has not been -+ # installed. -+ # - If pkg-config was installed at the time autogen.sh was run, -+ # the generated configure script will try to detect the presence of -+ # the libnl-3 library by looking up compile and linker flags in the -+ # file called libnl-3.pc. -+ # - pkg-config settings can be overridden via the configure variables -+ # LIBNL3_CFLAGS and LIBNL3_LIBS (added by the pkg-config m4 macro's to -+ # the configure script -- see also ./configure --help). -+ # - The LIBNL3_CFLAGS and LIBNL3_LIBS configure variables can be used -+ # even if the pkg-config executable is not present on the system on -+ # which the configure script is run. -+ ifdef( -+ [PKG_CHECK_EXISTS], -+ [PKG_CHECK_EXISTS([libnl-3.0], -+ [PKG_CHECK_MODULES([LIBNL3], [libnl-3.0])]) -+ ], -+ AC_MSG_WARN([pkg-config has not been installed or is too old.]) -+ AC_MSG_WARN([Detection of libnl-3.0 will be skipped.]) -+ ) -+ - netsnmp_save_CPPFLAGS="$CPPFLAGS" -- CPPFLAGS="-I/usr/include/libnl3 $CPPFLAGS" -+ CPPFLAGS="${LIBNL3_CFLAGS} $CPPFLAGS" - NETSNMP_SEARCH_LIBS(nl_connect, nl-3, - [AC_CHECK_HEADERS(netlink/netlink.h) -- EXTERNAL_MIBGROUP_INCLUDES="$EXTERNAL_MIBGROUP_INCLUDES -I/usr/include/libnl3"], -+ EXTERNAL_MIBGROUP_INCLUDES="$EXTERNAL_MIBGROUP_INCLUDES ${LIBNL3_CFLAGS}"], - [CPPFLAGS="$netsnmp_save_CPPFLAGS"], [], [], [LMIBLIBS]) - if test "x$ac_cv_header_netlink_netlink_h" != xyes; then - NETSNMP_SEARCH_LIBS(nl_connect, nl, [ -diff --git a/m4/pkg.m4 b/m4/pkg.m4 -new file mode 100644 -index 000000000000..c5b26b52e6cd ---- /dev/null -+++ b/m4/pkg.m4 -@@ -0,0 +1,214 @@ -+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -+# serial 1 (pkg-config-0.24) -+# -+# Copyright © 2004 Scott James Remnant . -+# -+# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+# -+# As a special exception to the GNU General Public License, if you -+# distribute this file as part of a program that contains a -+# configuration script generated by Autoconf, you may include it under -+# the same distribution terms that you use for the rest of that program. -+ -+# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -+# ---------------------------------- -+AC_DEFUN([PKG_PROG_PKG_CONFIG], -+[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) -+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) -+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) -+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) -+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) -+ -+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then -+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -+fi -+if test -n "$PKG_CONFIG"; then -+ _pkg_min_version=m4_default([$1], [0.9.0]) -+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) -+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then -+ AC_MSG_RESULT([yes]) -+ else -+ AC_MSG_RESULT([no]) -+ PKG_CONFIG="" -+ fi -+fi[]dnl -+])# PKG_PROG_PKG_CONFIG -+ -+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -+# -+# Check to see whether a particular set of modules exists. Similar -+# to PKG_CHECK_MODULES(), but does not set variables or print errors. -+# -+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -+# only at the first occurence in configure.ac, so if the first place -+# it's called might be skipped (such as if it is within an "if", you -+# have to call PKG_CHECK_EXISTS manually -+# -------------------------------------------------------------- -+AC_DEFUN([PKG_CHECK_EXISTS], -+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -+if test -n "$PKG_CONFIG" && \ -+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then -+ m4_default([$2], [:]) -+m4_ifvaln([$3], [else -+ $3])dnl -+fi]) -+ -+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -+# --------------------------------------------- -+m4_define([_PKG_CONFIG], -+[if test -n "$$1"; then -+ pkg_cv_[]$1="$$1" -+ elif test -n "$PKG_CONFIG"; then -+ PKG_CHECK_EXISTS([$3], -+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` -+ test "x$?" != "x0" && pkg_failed=yes ], -+ [pkg_failed=yes]) -+ else -+ pkg_failed=untried -+fi[]dnl -+])# _PKG_CONFIG -+ -+# _PKG_SHORT_ERRORS_SUPPORTED -+# ----------------------------- -+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -+[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then -+ _pkg_short_errors_supported=yes -+else -+ _pkg_short_errors_supported=no -+fi[]dnl -+])# _PKG_SHORT_ERRORS_SUPPORTED -+ -+ -+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -+# [ACTION-IF-NOT-FOUND]) -+# -+# -+# Note that if there is a possibility the first call to -+# PKG_CHECK_MODULES might not happen, you should be sure to include an -+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -+# -+# -+# -------------------------------------------------------------- -+AC_DEFUN([PKG_CHECK_MODULES], -+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl -+ -+pkg_failed=no -+AC_MSG_CHECKING([for $1]) -+ -+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -+_PKG_CONFIG([$1][_LIBS], [libs], [$2]) -+ -+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -+and $1[]_LIBS to avoid the need to call pkg-config. -+See the pkg-config man page for more details.]) -+ -+if test $pkg_failed = yes; then -+ AC_MSG_RESULT([no]) -+ _PKG_SHORT_ERRORS_SUPPORTED -+ if test $_pkg_short_errors_supported = yes; then -+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` -+ else -+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` -+ fi -+ # Put the nasty error message in config.log where it belongs -+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD -+ -+ m4_default([$4], [AC_MSG_ERROR( -+[Package requirements ($2) were not met: -+ -+$$1_PKG_ERRORS -+ -+Consider adjusting the PKG_CONFIG_PATH environment variable if you -+installed software in a non-standard prefix. -+ -+_PKG_TEXT])[]dnl -+ ]) -+elif test $pkg_failed = untried; then -+ AC_MSG_RESULT([no]) -+ m4_default([$4], [AC_MSG_FAILURE( -+[The pkg-config script could not be found or is too old. Make sure it -+is in your PATH or set the PKG_CONFIG environment variable to the full -+path to pkg-config. -+ -+_PKG_TEXT -+ -+To get pkg-config, see .])[]dnl -+ ]) -+else -+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS -+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS -+ AC_MSG_RESULT([yes]) -+ $3 -+fi[]dnl -+])# PKG_CHECK_MODULES -+ -+ -+# PKG_INSTALLDIR(DIRECTORY) -+# ------------------------- -+# Substitutes the variable pkgconfigdir as the location where a module -+# should install pkg-config .pc files. By default the directory is -+# $libdir/pkgconfig, but the default can be changed by passing -+# DIRECTORY. The user can override through the --with-pkgconfigdir -+# parameter. -+AC_DEFUN([PKG_INSTALLDIR], -+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) -+m4_pushdef([pkg_description], -+ [pkg-config installation directory @<:@]pkg_default[@:>@]) -+AC_ARG_WITH([pkgconfigdir], -+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, -+ [with_pkgconfigdir=]pkg_default) -+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) -+m4_popdef([pkg_default]) -+m4_popdef([pkg_description]) -+]) dnl PKG_INSTALLDIR -+ -+ -+# PKG_NOARCH_INSTALLDIR(DIRECTORY) -+# ------------------------- -+# Substitutes the variable noarch_pkgconfigdir as the location where a -+# module should install arch-independent pkg-config .pc files. By -+# default the directory is $datadir/pkgconfig, but the default can be -+# changed by passing DIRECTORY. The user can override through the -+# --with-noarch-pkgconfigdir parameter. -+AC_DEFUN([PKG_NOARCH_INSTALLDIR], -+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) -+m4_pushdef([pkg_description], -+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) -+AC_ARG_WITH([noarch-pkgconfigdir], -+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, -+ [with_noarch_pkgconfigdir=]pkg_default) -+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) -+m4_popdef([pkg_default]) -+m4_popdef([pkg_description]) -+]) dnl PKG_NOARCH_INSTALLDIR -+ -+ -+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, -+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -+# ------------------------------------------- -+# Retrieves the value of the pkg-config variable for the given module. -+AC_DEFUN([PKG_CHECK_VAR], -+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl -+ -+_PKG_CONFIG([$1], [variable="][$3]["], [$2]) -+AS_VAR_COPY([$1], [pkg_cv_][$1]) -+ -+AS_VAR_IF([$1], [""], [$5], [$4])dnl -+])# PKG_CHECK_VAR --- -2.1.0 - diff --git a/buildroot/package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch b/buildroot/package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch new file mode 100644 index 000000000..8431d4686 --- /dev/null +++ b/buildroot/package/netsnmp/0001-configure-static-linking-Fix-SSL-checks.patch @@ -0,0 +1,142 @@ +From bd59be8e4e339870a1400f6866a7b73ca11f6460 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 12 Sep 2018 20:16:39 +0200 +Subject: [PATCH 1/3] configure, static linking: Fix SSL checks + +During checking of DTLS_method, the stub program is linked only with -ssl +libssl.a lacks some function from -lcrypto: +RAND_*() +ERR_*() +BUF_MEM_*() +etc. +and -lz: +- inflate() +- deflate() + +Append -lcrypto and -lz to LIBS variable when checking DTLS_method. + +See also https://sourceforge.net/p/net-snmp/patches/1374/. + +Signed-off-by: Giulio Benetti +[bvanassche: Edited subject / rewrote this patch] +--- + configure | 52 ++++++++++++++++++++++++++++++++++--- + configure.d/config_os_libs2 | 14 +++++++--- + 2 files changed, 58 insertions(+), 8 deletions(-) + +diff --git a/configure b/configure +index 6504a8e58..1116cecaa 100755 +--- a/configure ++++ b/configure +@@ -23228,16 +23228,60 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_md5" >&5 + $as_echo "$ac_cv_lib_crypto_EVP_md5" >&6; } + if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then : +- CRYPTO="crypto" ++ CRYPTO="crypto"; LIBCRYPTO="-lcrypto" ++else ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_md5 in -lcrypto" >&5 ++$as_echo_n "checking for EVP_md5 in -lcrypto... " >&6; } ++if ${ac_cv_lib_crypto_EVP_md5+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lcrypto -lz $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char EVP_md5 (); ++int ++main () ++{ ++return EVP_md5 (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_crypto_EVP_md5=yes ++else ++ ac_cv_lib_crypto_EVP_md5=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_md5" >&5 ++$as_echo "$ac_cv_lib_crypto_EVP_md5" >&6; } ++if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then : ++ CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz" + fi + +- fi ++ ++fi ++ ++ else ++ LIBCRYPTO="-l${CRYPTO}" ++ fi + + if test x$CRYPTO != x; then + + $as_echo "#define HAVE_LIBCRYPTO 1" >>confdefs.h + +- LIBCRYPTO="-l${CRYPTO}" + netsnmp_save_LIBS="$LIBS" + LIBS="$LIBCRYPTO" + for ac_func in AES_cfb128_encrypt EVP_sha224 EVP_sha384 EVP_MD_CTX_create EVP_MD_CTX_destroy EVP_MD_CTX_new EVP_MD_CTX_free DH_set0_pqg DH_get0_pqg DH_get0_key ASN1_STRING_get0_data X509_NAME_ENTRY_get_object X509_NAME_ENTRY_get_data X509_get_signature_nid +@@ -23291,7 +23335,7 @@ _ACEOF + LIBS="$netsnmp_save_LIBS" + fi + netsnmp_save_LIBS="$LIBS" +- LIBS="-lssl" ++ LIBS="-lssl $LIBCRYPTO" + for ac_func in TLS_method TLSv1_method DTLS_method DTLSv1_method SSL_library_init SSL_load_error_strings + do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 +index 4a1ad1551..75214cfff 100644 +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -306,13 +306,19 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then + LIBS="$netsnmp_save_LIBS" + + if test x$CRYPTO = x; then +- AC_CHECK_LIB([crypto], [EVP_md5], [CRYPTO="crypto"]) +- fi ++ AC_CHECK_LIB([crypto], [EVP_md5], ++ [CRYPTO="crypto"; LIBCRYPTO="-lcrypto"], [ ++ AC_CHECK_LIB([crypto], [EVP_md5], ++ [CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz"], [], ++ [-lz]) ++ ]) ++ else ++ LIBCRYPTO="-l${CRYPTO}" ++ fi + + if test x$CRYPTO != x; then + AC_DEFINE(HAVE_LIBCRYPTO, 1, + [Define to 1 if you have the OpenSSL library (-lcrypto or -leay32).]) +- LIBCRYPTO="-l${CRYPTO}" + netsnmp_save_LIBS="$LIBS" + LIBS="$LIBCRYPTO" + AC_CHECK_FUNCS([AES_cfb128_encrypt]dnl +@@ -342,7 +348,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then + LIBS="$netsnmp_save_LIBS" + fi + netsnmp_save_LIBS="$LIBS" +- LIBS="-lssl" ++ LIBS="-lssl $LIBCRYPTO" + AC_CHECK_FUNCS([TLS_method TLSv1_method DTLS_method DTLSv1_method]dnl + [SSL_library_init SSL_load_error_strings]) + LIBS="$netsnmp_save_LIBS" +-- +2.17.1 + diff --git a/buildroot/package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch b/buildroot/package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch new file mode 100644 index 000000000..3ec0c2278 --- /dev/null +++ b/buildroot/package/netsnmp/0002-configure-Fix-lcrypto-lz-test.patch @@ -0,0 +1,41 @@ +From d8694929b12b47febb0f7f43f46041387874fe52 Mon Sep 17 00:00:00 2001 +From: Bart Van Assche +Date: Mon, 17 Sep 2018 07:33:34 -0700 +Subject: [PATCH 2/3] configure: Fix -lcrypto -lz test + +Avoid that the second crypto library test uses the cached result from +the first test by explicitly clearing the cached test result. + +Signed-off-by: Giulio Benetti +--- + configure | 1 + + configure.d/config_os_libs2 | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/configure b/configure +index 1116cecaa..33b8c93e5 100755 +--- a/configure ++++ b/configure +@@ -23231,6 +23231,7 @@ if test "x$ac_cv_lib_crypto_EVP_md5" = xyes; then : + CRYPTO="crypto"; LIBCRYPTO="-lcrypto" + else + ++ unset ac_cv_lib_crypto_EVP_md5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_md5 in -lcrypto" >&5 + $as_echo_n "checking for EVP_md5 in -lcrypto... " >&6; } + if ${ac_cv_lib_crypto_EVP_md5+:} false; then : +diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 +index 75214cfff..81788a209 100644 +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -308,6 +308,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then + if test x$CRYPTO = x; then + AC_CHECK_LIB([crypto], [EVP_md5], + [CRYPTO="crypto"; LIBCRYPTO="-lcrypto"], [ ++ unset ac_cv_lib_crypto_EVP_md5 + AC_CHECK_LIB([crypto], [EVP_md5], + [CRYPTO="crypto"; LIBCRYPTO="-lcrypto -lz"], [], + [-lz]) +-- +2.17.1 + diff --git a/buildroot/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch b/buildroot/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch new file mode 100644 index 000000000..082904212 --- /dev/null +++ b/buildroot/package/netsnmp/0003-configure-fix-AC_CHECK_FUNCS-EVP_sha224-EVP_sha384-..patch @@ -0,0 +1,39 @@ +From 8e273c688aa235ed9c68570a700d31596bac14df Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Mon, 15 Oct 2018 19:07:05 +0200 +Subject: [PATCH 1/2] configure: fix AC_CHECK_FUNCS(EVP_sha224 EVP_sha384 ...) + failure on static linking + +If building as static lib, AC_CHECK_FUNCS(EVP_sha224 EVP_sha384 ...) +fails due to missing -lz in $LIBS. +At the moment, $LIBS contains $LIBCRYPTO only discarding previous $LIBS +content. + +Add $LIBS to: +LIBS="$LIBCRYPTO" +as: +LIBS="$LIBCRYPTO $LIBS" +This way $LIBS will contain -lz at the end of linking command that in +static linking build is mandatory. + +Signed-off-by: Giulio Benetti +--- + configure.d/config_os_libs2 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 +index 81788a209..93044000b 100644 +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -321,7 +321,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then + AC_DEFINE(HAVE_LIBCRYPTO, 1, + [Define to 1 if you have the OpenSSL library (-lcrypto or -leay32).]) + netsnmp_save_LIBS="$LIBS" +- LIBS="$LIBCRYPTO" ++ LIBS="$LIBCRYPTO $LIBS" + AC_CHECK_FUNCS([AES_cfb128_encrypt]dnl + [EVP_sha224 EVP_sha384 ]dnl + [EVP_MD_CTX_create EVP_MD_CTX_destroy]dnl +-- +2.17.1 + diff --git a/buildroot/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch b/buildroot/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch new file mode 100644 index 000000000..a731f2576 --- /dev/null +++ b/buildroot/package/netsnmp/0004-configure-fix-AC_CHECK_FUNCS-TLS_method-TLSv1_method.patch @@ -0,0 +1,39 @@ +From 1ab6e3fc3cf61fa5a7b7363e59095e868474524b Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Mon, 15 Oct 2018 19:34:26 +0200 +Subject: [PATCH 2/2] configure: fix AC_CHECK_FUNCS(TLS_method TLSv1_method + ...) failure on static linking + +If building as static lib, AC_CHECK_FUNCS(TLS_method TLSv1_method ...) +fails due to missing -lz in $LIBS. +At the moment, $LIBS contains "-lssl $LIBCRYPTO" only discarding +previous $LIBS content. + +Add $LIBS to: +LIBS="-lssl $LIBCRYPTO" +as: +LIBS="-lssl $LIBCRYPTO $LIBS" +This way $LIBS will contain -lz at the end of linking command that in +static linking build is mandatory. + +Signed-off-by: Giulio Benetti +--- + configure.d/config_os_libs2 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.d/config_os_libs2 b/configure.d/config_os_libs2 +index 93044000b..c811c63ec 100644 +--- a/configure.d/config_os_libs2 ++++ b/configure.d/config_os_libs2 +@@ -349,7 +349,7 @@ if test "x$tryopenssl" != "xno" -a "x$tryopenssl" != "xinternal"; then + LIBS="$netsnmp_save_LIBS" + fi + netsnmp_save_LIBS="$LIBS" +- LIBS="-lssl $LIBCRYPTO" ++ LIBS="-lssl $LIBCRYPTO $LIBS" + AC_CHECK_FUNCS([TLS_method TLSv1_method DTLS_method DTLSv1_method]dnl + [SSL_library_init SSL_load_error_strings]) + LIBS="$netsnmp_save_LIBS" +-- +2.17.1 + diff --git a/buildroot/package/netsnmp/netsnmp.hash b/buildroot/package/netsnmp/netsnmp.hash index fc7792602..d05a7de9d 100644 --- a/buildroot/package/netsnmp/netsnmp.hash +++ b/buildroot/package/netsnmp/netsnmp.hash @@ -1,3 +1,6 @@ -# From http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/ -md5 d4a3459e1577d0efa8d96ca70a885e53 net-snmp-5.7.3.tar.gz -sha1 97dc25077257680815de44e34128d365c76bd839 net-snmp-5.7.3.tar.gz +# From http://sourceforge.net/projects/net-snmp/files/net-snmp/5.8/ +md5 63bfc65fbb86cdb616598df1aff6458a net-snmp-5.8.tar.gz +sha1 78f70731df9dcdb13fe8f60eb7d80d7583da4d2c net-snmp-5.8.tar.gz +# Locally computed +sha256 b2fc3500840ebe532734c4786b0da4ef0a5f67e51ef4c86b3345d697e4976adf net-snmp-5.8.tar.gz +sha256 ed869ea395a1f125819a56676385ab0557a21507764bf56f2943302011381e59 COPYING diff --git a/buildroot/package/netsnmp/netsnmp.mk b/buildroot/package/netsnmp/netsnmp.mk index 742fa6e3b..65a3f16a4 100644 --- a/buildroot/package/netsnmp/netsnmp.mk +++ b/buildroot/package/netsnmp/netsnmp.mk @@ -4,8 +4,8 @@ # ################################################################################ -NETSNMP_VERSION = 5.7.3 -NETSNMP_SITE = http://downloads.sourceforge.net/project/net-snmp/net-snmp/$(NETSNMP_VERSION) +NETSNMP_VERSION = 5.8 +NETSNMP_SITE = https://downloads.sourceforge.net/project/net-snmp/net-snmp/$(NETSNMP_VERSION) NETSNMP_SOURCE = net-snmp-$(NETSNMP_VERSION).tar.gz NETSNMP_LICENSE = Various BSD-like NETSNMP_LICENSE_FILES = COPYING diff --git a/buildroot/package/network-manager/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch b/buildroot/package/network-manager/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch new file mode 100644 index 000000000..c6066abe2 --- /dev/null +++ b/buildroot/package/network-manager/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch @@ -0,0 +1,38 @@ +From 01ca2053bbea09f35b958c8cc7631e15469acb79 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 19 Oct 2018 12:12:33 +0200 +Subject: dhcp6: make sure we have enough space for the DHCP6 option header + +Fixes a vulnerability originally discovered by Felix Wilhelm from +Google. + +CVE-2018-15688 +LP: #1795921 +https://bugzilla.redhat.com/show_bug.cgi?id=1639067 + +(cherry picked from commit 4dac5eaba4e419b29c97da38a8b1f82336c2c892) + +Patch downloaded from upstream commit: +https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=01ca2053bbea09f35b958c8cc7631e15469acb79 + +Signed-off-by: Bernd Kuhls +--- + src/systemd/src/libsystemd-network/dhcp6-option.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/systemd/src/libsystemd-network/dhcp6-option.c b/src/systemd/src/libsystemd-network/dhcp6-option.c +index d178fe2..9027c14 100644 +--- a/src/systemd/src/libsystemd-network/dhcp6-option.c ++++ b/src/systemd/src/libsystemd-network/dhcp6-option.c +@@ -108,7 +108,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; +-- +cgit v1.1 + diff --git a/buildroot/package/network-manager/Config.in b/buildroot/package/network-manager/Config.in index 39f56269a..1db6f32d3 100644 --- a/buildroot/package/network-manager/Config.in +++ b/buildroot/package/network-manager/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_NETWORK_MANAGER - bool "networkmanager" + bool "network-manager" depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt depends on !BR2_STATIC_LIBS # gnutls depends on BR2_USE_MMU # dbus diff --git a/buildroot/package/network-manager/network-manager.hash b/buildroot/package/network-manager/network-manager.hash index 8fedc6472..343943917 100644 --- a/buildroot/package/network-manager/network-manager.hash +++ b/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/buildroot/package/network-manager/network-manager.mk b/buildroot/package/network-manager/network-manager.mk index b07059f79..c54cabc8c 100644 --- a/buildroot/package/network-manager/network-manager.mk +++ b/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/buildroot/package/nfs-utils/0006-Include-sys-sysmacros.h-where-appropriate.patch b/buildroot/package/nfs-utils/0006-Include-sys-sysmacros.h-where-appropriate.patch new file mode 100644 index 000000000..a593ca3b6 --- /dev/null +++ b/buildroot/package/nfs-utils/0006-Include-sys-sysmacros.h-where-appropriate.patch @@ -0,0 +1,50 @@ +From e3918d70b0b4a1d0f5421318e542ec807833da3f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 2 Nov 2018 10:45:21 +0100 +Subject: [PATCH] Include where appropriate + +Since glibc 2.28, the major() and minor() macros need to explicitly +include . + +Patch initially contributed by +Timothy Pearson . + +Signed-off-by: Thomas Petazzoni +--- + support/nfs/nfsexport.c | 4 ++++ + utils/mountd/cache.c | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/support/nfs/nfsexport.c b/support/nfs/nfsexport.c +index afd7c90..a7cbc14 100644 +--- a/support/nfs/nfsexport.c ++++ b/support/nfs/nfsexport.c +@@ -17,6 +17,10 @@ + #include + #include + ++#ifdef __GLIBC__ ++#include ++#endif ++ + #include "nfslib.h" + #include "misc.h" + +diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c +index 179ea18..61f9b14 100644 +--- a/utils/mountd/cache.c ++++ b/utils/mountd/cache.c +@@ -36,6 +36,10 @@ + #include "blkid/blkid.h" + #endif + ++#ifdef __GLIBC__ ++#include ++#endif ++ + /* + * Invoked by RPC service loop + */ +-- +2.14.4 + diff --git a/buildroot/package/nghttp2/Config.in b/buildroot/package/nghttp2/Config.in new file mode 100644 index 000000000..03fe71d09 --- /dev/null +++ b/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/buildroot/package/nghttp2/nghttp2.hash b/buildroot/package/nghttp2/nghttp2.hash new file mode 100644 index 000000000..d000fd56c --- /dev/null +++ b/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/buildroot/package/nghttp2/nghttp2.mk b/buildroot/package/nghttp2/nghttp2.mk new file mode 100644 index 000000000..20bfee75a --- /dev/null +++ b/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/buildroot/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch b/buildroot/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch index be1df7fb3..f186becdf 100644 --- a/buildroot/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch +++ b/buildroot/package/nginx/0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch @@ -1,4 +1,4 @@ -From 71939b727a8fa9f722934700948a5b68960f6183 Mon Sep 17 00:00:00 2001 +From 57d9d632be9a9f7e3ac00f9eb10b069afd0b1543 Mon Sep 17 00:00:00 2001 From: Samuel Martin Date: Thu, 29 May 2014 18:52:10 +0200 Subject: [PATCH] auto/*: set ngx_feature_run_force_result for each feature @@ -25,18 +25,18 @@ Signed-off-by: Danomi Manchego 6 files changed, 20 insertions(+) diff --git a/auto/cc/conf b/auto/cc/conf -index edc6d74..a61ade4 100644 +index afbca62b..ad42c800 100644 --- a/auto/cc/conf +++ b/auto/cc/conf -@@ -181,6 +181,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then - ngx_feature="gcc builtin atomic operations" - ngx_feature_name=NGX_HAVE_GCC_ATOMIC - ngx_feature_run=yes -+ ngx_feature_run_force_result="$ngx_force_gcc_have_atomic" - ngx_feature_incs= - ngx_feature_path= - ngx_feature_libs= -@@ -201,6 +203,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then +@@ -184,6 +184,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then + ngx_feature="gcc builtin atomic operations" + ngx_feature_name=NGX_HAVE_GCC_ATOMIC + ngx_feature_run=yes ++ ngx_feature_run_force_result="$ngx_force_gcc_have_atomic" + ngx_feature_incs= + ngx_feature_path= + ngx_feature_libs= +@@ -205,6 +206,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then ngx_feature="C99 variadic macros" ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS" ngx_feature_run=yes @@ -44,7 +44,7 @@ index edc6d74..a61ade4 100644 ngx_feature_incs="#include #define var(dummy, ...) sprintf(__VA_ARGS__)" ngx_feature_path= -@@ -215,6 +220,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then +@@ -219,6 +221,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then ngx_feature="gcc variadic macros" ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS" ngx_feature_run=yes @@ -53,7 +53,7 @@ index edc6d74..a61ade4 100644 #define var(dummy, args...) sprintf(args)" ngx_feature_path= diff --git a/auto/cc/name b/auto/cc/name -index 51a7ed9..d237d47 100644 +index ded93f5b..7c3cb74a 100644 --- a/auto/cc/name +++ b/auto/cc/name @@ -8,6 +8,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then @@ -65,7 +65,7 @@ index 51a7ed9..d237d47 100644 ngx_feature_path= ngx_feature_libs= diff --git a/auto/lib/libatomic/conf b/auto/lib/libatomic/conf -index d1e484a..3724916 100644 +index d1e484ab..37249161 100644 --- a/auto/lib/libatomic/conf +++ b/auto/lib/libatomic/conf @@ -15,6 +15,7 @@ else @@ -77,10 +77,10 @@ index d1e484a..3724916 100644 #include " ngx_feature_path= diff --git a/auto/os/darwin b/auto/os/darwin -index 1d3e3d3..11b7276 100644 +index 429468f7..1ed47cca 100644 --- a/auto/os/darwin +++ b/auto/os/darwin -@@ -30,6 +30,7 @@ NGX_KQUEUE_CHECKED=YES +@@ -33,6 +33,7 @@ NGX_KQUEUE_CHECKED=YES ngx_feature="kqueue's EVFILT_TIMER" ngx_feature_name="NGX_HAVE_TIMER_EVENT" ngx_feature_run=yes @@ -88,7 +88,7 @@ index 1d3e3d3..11b7276 100644 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -60,6 +61,7 @@ ngx_feature_test="int kq; +@@ -63,6 +64,7 @@ ngx_feature_test="int kq; ngx_feature="Darwin 64-bit kqueue millisecond timeout bug" ngx_feature_name=NGX_DARWIN_KEVENT_BUG ngx_feature_run=bug @@ -96,7 +96,7 @@ index 1d3e3d3..11b7276 100644 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -90,6 +92,7 @@ CC_AUX_FLAGS="$CC_AUX_FLAGS" +@@ -92,6 +94,7 @@ ngx_feature_test="int kq; ngx_feature="sendfile()" ngx_feature_name="NGX_HAVE_SENDFILE" ngx_feature_run=yes @@ -105,7 +105,7 @@ index 1d3e3d3..11b7276 100644 #include #include diff --git a/auto/os/linux b/auto/os/linux -index 19bf832..16848b2 100644 +index 2c8a9bb8..eb4513ee 100644 --- a/auto/os/linux +++ b/auto/os/linux @@ -37,6 +37,7 @@ fi @@ -141,7 +141,7 @@ index 19bf832..16848b2 100644 ngx_feature_path= ngx_feature_libs= diff --git a/auto/unix b/auto/unix -index 6e54531..7dbf9d1 100755 +index 43d3b25a..3da00537 100644 --- a/auto/unix +++ b/auto/unix @@ -100,6 +100,7 @@ if test -z "$NGX_KQUEUE_CHECKED"; then @@ -152,7 +152,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -702,6 +703,7 @@ ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0); +@@ -730,6 +731,7 @@ ngx_feature_test="char buf[1]; struct iovec vec[1]; ssize_t n; ngx_feature="sys_nerr" ngx_feature_name="NGX_SYS_NERR" ngx_feature_run=value @@ -160,7 +160,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs='#include #include ' ngx_feature_path= -@@ -716,6 +718,7 @@ if [ $ngx_found = no ]; then +@@ -744,6 +746,7 @@ if [ $ngx_found = no ]; then ngx_feature="_sys_nerr" ngx_feature_name="NGX_SYS_NERR" ngx_feature_run=value @@ -168,7 +168,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs='#include #include ' ngx_feature_path= -@@ -731,6 +734,7 @@ if [ $ngx_found = no ]; then +@@ -759,6 +762,7 @@ if [ $ngx_found = no ]; then ngx_feature='maximum errno' ngx_feature_name=NGX_SYS_NERR ngx_feature_run=value @@ -176,7 +176,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs='#include #include #include ' -@@ -789,6 +793,7 @@ ngx_feature_test="void *p; p = memalign(4096, 4096); +@@ -841,6 +845,7 @@ ngx_feature_test="void *p; p = memalign(4096, 4096); ngx_feature="mmap(MAP_ANON|MAP_SHARED)" ngx_feature_name="NGX_HAVE_MAP_ANON" ngx_feature_run=yes @@ -184,7 +184,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs="#include " ngx_feature_path= ngx_feature_libs= -@@ -802,6 +807,7 @@ ngx_feature_test="void *p; +@@ -854,6 +859,7 @@ ngx_feature_test="void *p; ngx_feature='mmap("/dev/zero", MAP_SHARED)' ngx_feature_name="NGX_HAVE_MAP_DEVZERO" ngx_feature_run=yes @@ -192,7 +192,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs="#include #include #include " -@@ -817,6 +823,7 @@ ngx_feature_test='void *p; int fd; +@@ -869,6 +875,7 @@ ngx_feature_test='void *p; int fd; ngx_feature="System V shared memory" ngx_feature_name="NGX_HAVE_SYSVSHM" ngx_feature_run=yes @@ -200,7 +200,7 @@ index 6e54531..7dbf9d1 100755 ngx_feature_incs="#include #include " ngx_feature_path= -@@ -831,6 +838,7 @@ ngx_feature_test="int id; +@@ -883,6 +890,7 @@ ngx_feature_test="int id; ngx_feature="POSIX semaphores" ngx_feature_name="NGX_HAVE_POSIX_SEM" ngx_feature_run=yes @@ -209,5 +209,5 @@ index 6e54531..7dbf9d1 100755 ngx_feature_path= ngx_feature_libs= -- -1.9.1 +2.17.1 diff --git a/buildroot/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch b/buildroot/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch index 103f90b30..09e708b73 100644 --- a/buildroot/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch +++ b/buildroot/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch @@ -1,4 +1,4 @@ -From 211b9f19a3a62826fadef55d2f89d6f66fbf4aa6 Mon Sep 17 00:00:00 2001 +From 7783d63c87f94797aa134786214b0a84c000be75 Mon Sep 17 00:00:00 2001 From: Samuel Martin Date: Thu, 29 May 2014 19:22:27 +0200 Subject: [PATCH] auto/lib/libxslt/conf: use pkg-config @@ -7,12 +7,14 @@ Change to using pkg-config to find the path to libxslt and its dependencies. Signed-off-by: Martin Bark +[Peter: updated for 1.15.6] +Signed-off-by: Peter Korsgaard --- - auto/lib/libxslt/conf | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + auto/lib/libxslt/conf | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/auto/lib/libxslt/conf b/auto/lib/libxslt/conf -index 3a0f37b..3c2a60e 100644 +index 3063ac7c..3209e364 100644 --- a/auto/lib/libxslt/conf +++ b/auto/lib/libxslt/conf @@ -12,8 +12,9 @@ @@ -26,7 +28,7 @@ index 3a0f37b..3c2a60e 100644 + ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs libxslt)" ngx_feature_test="xmlParserCtxtPtr ctxt = NULL; xsltStylesheetPtr sheet = NULL; - xmlDocPtr doc; + xmlDocPtr doc = NULL; -- -2.8.2 +2.11.0 diff --git a/buildroot/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch b/buildroot/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch index 0bd4d337c..433872965 100644 --- a/buildroot/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch +++ b/buildroot/package/nginx/0006-auto-lib-openssl-conf-use-pkg-config.patch @@ -1,4 +1,4 @@ -From 756556d127da291cad8a2c007a89124a692aef7f Mon Sep 17 00:00:00 2001 +From 4ba4b1e0bd1b69e124eb34c95ae9e7c087370efa Mon Sep 17 00:00:00 2001 From: Martin Bark Date: Fri, 6 May 2016 14:48:31 +0100 Subject: [PATCH] auto/lib/openssl/conf: use pkg-config @@ -8,25 +8,244 @@ dependencies. Signed-off-by: Martin Bark --- - auto/lib/openssl/conf | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + auto/lib/openssl/conf | 187 +++++++++++++++++++++--------------------- + 1 file changed, 94 insertions(+), 93 deletions(-) diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf -index 39d9602..995c6f3 100644 +index 4fb52df7..9f30490d 100644 --- a/auto/lib/openssl/conf +++ b/auto/lib/openssl/conf -@@ -58,8 +58,9 @@ else - ngx_feature_name="NGX_OPENSSL" - ngx_feature_run=no - ngx_feature_incs="#include " -- ngx_feature_path= -- ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL" -+ ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I openssl| -+ sed -re 's/(^|\s)-I\s*(\S+)/\1\2/g')" -+ ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs openssl)" - ngx_feature_test="SSL_CTX_set_options(NULL, 0)" - . auto/feature +@@ -1,4 +1,3 @@ +- + # Copyright (C) Igor Sysoev + # Copyright (C) Nginx, Inc. +@@ -7,123 +6,125 @@ if [ $OPENSSL != NONE ]; then + + case "$CC" in + +- cl | bcc32) +- have=NGX_OPENSSL . auto/have +- have=NGX_SSL . auto/have +- +- CFLAGS="$CFLAGS -DNO_SYS_TYPES_H" +- +- CORE_INCS="$CORE_INCS $OPENSSL/openssl/include" +- CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h" +- +- if [ -f $OPENSSL/ms/do_ms.bat ]; then +- # before OpenSSL 1.1.0 +- CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib" +- CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib" +- else +- # OpenSSL 1.1.0+ +- CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.lib" +- CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.lib" +- fi +- +- # libeay32.lib requires gdi32.lib +- CORE_LIBS="$CORE_LIBS gdi32.lib" +- # OpenSSL 1.0.0 requires crypt32.lib +- CORE_LIBS="$CORE_LIBS crypt32.lib" +- ;; +- +- *) +- have=NGX_OPENSSL . auto/have +- have=NGX_SSL . auto/have +- +- CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include" +- CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" +- CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a" +- CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a" +- CORE_LIBS="$CORE_LIBS $NGX_LIBDL" +- CORE_LIBS="$CORE_LIBS $NGX_LIBPTHREAD" +- +- if [ "$NGX_PLATFORM" = win32 ]; then +- CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32" +- fi +- ;; ++ cl | bcc32) ++ have=NGX_OPENSSL . auto/have ++ have=NGX_SSL . auto/have ++ ++ CFLAGS="$CFLAGS -DNO_SYS_TYPES_H" ++ ++ CORE_INCS="$CORE_INCS $OPENSSL/openssl/include" ++ CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h" ++ ++ if [ -f $OPENSSL/ms/do_ms.bat ]; then ++ # before OpenSSL 1.1.0 ++ CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib" ++ CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib" ++ else ++ # OpenSSL 1.1.0+ ++ CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.lib" ++ CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.lib" ++ fi ++ ++ # libeay32.lib requires gdi32.lib ++ CORE_LIBS="$CORE_LIBS gdi32.lib" ++ # OpenSSL 1.0.0 requires crypt32.lib ++ CORE_LIBS="$CORE_LIBS crypt32.lib" ++ ;; ++ ++ *) ++ have=NGX_OPENSSL . auto/have ++ have=NGX_SSL . auto/have ++ ++ CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include" ++ CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" ++ CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a" ++ CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a" ++ CORE_LIBS="$CORE_LIBS $NGX_LIBDL" ++ CORE_LIBS="$CORE_LIBS $NGX_LIBPTHREAD" ++ ++ if [ "$NGX_PLATFORM" = win32 ]; then ++ CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32" ++ fi ++ ;; + esac + + else + + if [ "$NGX_PLATFORM" != win32 ]; then + +- OPENSSL=NO ++ OPENSSL=NO + +- ngx_feature="OpenSSL library" +- ngx_feature_name="NGX_OPENSSL" +- ngx_feature_run=no +- ngx_feature_incs="#include " +- ngx_feature_path= +- ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL $NGX_LIBPTHREAD" +- ngx_feature_test="SSL_CTX_set_options(NULL, 0)" +- . auto/feature ++ ngx_feature="OpenSSL library" ++ ngx_feature_name="NGX_OPENSSL" ++ ngx_feature_run=no ++ ngx_feature_incs="#include " ++ ngx_feature_path= ++ ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I openssl| ++ sed -re 's/(^|\s)-I\s*(\S+)/\1\2/g')" ++ ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs openssl)" ++ ngx_feature_test="SSL_CTX_set_options(NULL, 0)" ++ . auto/feature + +- if [ $ngx_found = no ]; then ++ if [ $ngx_found = no ]; then + +- # FreeBSD port ++ # FreeBSD port + +- ngx_feature="OpenSSL library in /usr/local/" +- ngx_feature_path="/usr/local/include" ++ ngx_feature="OpenSSL library in /usr/local/" ++ ngx_feature_path="/usr/local/include" + +- if [ $NGX_RPATH = YES ]; then +- ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto" +- else +- ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto" +- fi ++ if [ $NGX_RPATH = YES ]; then ++ ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto" ++ else ++ ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto" ++ fi + +- ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" ++ ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" + +- . auto/feature +- fi ++ . auto/feature ++ fi + +- if [ $ngx_found = no ]; then ++ if [ $ngx_found = no ]; then + +- # NetBSD port ++ # NetBSD port + +- ngx_feature="OpenSSL library in /usr/pkg/" +- ngx_feature_path="/usr/pkg/include" ++ ngx_feature="OpenSSL library in /usr/pkg/" ++ ngx_feature_path="/usr/pkg/include" + +- if [ $NGX_RPATH = YES ]; then +- ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto" +- else +- ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto" +- fi ++ if [ $NGX_RPATH = YES ]; then ++ ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto" ++ else ++ ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto" ++ fi + +- ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" ++ ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" + +- . auto/feature +- fi ++ . auto/feature ++ fi + +- if [ $ngx_found = no ]; then ++ if [ $ngx_found = no ]; then + +- # MacPorts ++ # MacPorts + +- ngx_feature="OpenSSL library in /opt/local/" +- ngx_feature_path="/opt/local/include" ++ ngx_feature="OpenSSL library in /opt/local/" ++ ngx_feature_path="/opt/local/include" + +- if [ $NGX_RPATH = YES ]; then +- ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto" +- else +- ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto" +- fi ++ if [ $NGX_RPATH = YES ]; then ++ ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto" ++ else ++ ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto" ++ fi + +- ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" ++ ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" + +- . auto/feature +- fi ++ . auto/feature ++ fi + +- if [ $ngx_found = yes ]; then +- have=NGX_SSL . auto/have +- CORE_INCS="$CORE_INCS $ngx_feature_path" +- CORE_LIBS="$CORE_LIBS $ngx_feature_libs" +- OPENSSL=YES +- fi ++ if [ $ngx_found = yes ]; then ++ have=NGX_SSL . auto/have ++ CORE_INCS="$CORE_INCS $ngx_feature_path" ++ CORE_LIBS="$CORE_LIBS $ngx_feature_libs" ++ OPENSSL=YES ++ fi + fi + + if [ $OPENSSL != YES ]; then +@@ -136,7 +137,7 @@ into the system, or build the OpenSSL library statically from the source + with nginx by using --with-openssl= option. + + END +- exit 1 ++ exit 1 + fi + + fi -- -2.8.2 +2.17.1 diff --git a/buildroot/package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch b/buildroot/package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch index 34e7981c8..cea68035e 100644 --- a/buildroot/package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch +++ b/buildroot/package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch @@ -1,4 +1,4 @@ -From fd9885fe5fef5826034547ca6be7299863f99769 Mon Sep 17 00:00:00 2001 +From 0551f2e5eb4143be0aacc0185cdc4afc9ca80204 Mon Sep 17 00:00:00 2001 From: Martin Bark Date: Fri, 6 May 2016 14:48:49 +0100 Subject: [PATCH] auto/lib/libgd/conf: use pkg-config @@ -7,12 +7,14 @@ Change to using pkg-config to find the path to libgd and its dependencies. Signed-off-by: Martin Bark +[Peter: updated for 1.15.6] +Signed-off-by: Peter Korsgaard --- auto/lib/libgd/conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/auto/lib/libgd/conf b/auto/lib/libgd/conf -index 6e4e91c..1c536a2 100644 +index 67863976..1a4379a5 100644 --- a/auto/lib/libgd/conf +++ b/auto/lib/libgd/conf @@ -7,8 +7,8 @@ @@ -23,9 +25,9 @@ index 6e4e91c..1c536a2 100644 - ngx_feature_libs="-lgd" + ngx_feature_path="$(${GDLIB_CONFIG:=gdlib-config} --includedir)" + ngx_feature_libs="$(${GDLIB_CONFIG:=gdlib-config} --libs)" - ngx_feature_test="gdImagePtr img = gdImageCreateFromGifPtr(1, NULL);" + ngx_feature_test="gdImagePtr img = gdImageCreateFromGifPtr(1, NULL); + (void) img" . auto/feature - -- -2.8.2 +2.11.0 diff --git a/buildroot/package/nginx/0009-auto-lib-conf-fix-PCRE-condition-WRT-the-http-and-ht.patch b/buildroot/package/nginx/0009-auto-lib-conf-fix-PCRE-condition-WRT-the-http-and-ht.patch deleted file mode 100644 index 08456511d..000000000 --- a/buildroot/package/nginx/0009-auto-lib-conf-fix-PCRE-condition-WRT-the-http-and-ht.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 9668f0d5ecd2382fd36b7ff6a3a29abd04f6533f Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Fri, 14 Jul 2017 11:50:08 +0200 -Subject: [PATCH] auto/lib/conf: fix PCRE condition WRT the http and - http_rewrite options - -http_rewrite module cannot be selected when http server is disabled, so -fix the PCRE check condition to avoid irrelevant check failure. - -Fixes: - http://autobuild.buildroot.net/results/bc7/bc7458b97a88785653845afd30fe9d5f3a69905b/build-end.log - -Signed-off-by: Samuel Martin ---- - auto/lib/conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/auto/lib/conf b/auto/lib/conf -index 0b8545a3..2c7af104 100644 ---- a/auto/lib/conf -+++ b/auto/lib/conf -@@ -7,7 +7,7 @@ if [ $USE_PCRE = YES -o $PCRE != NONE ]; then - . auto/lib/pcre/conf - - else -- if [ $USE_PCRE = DISABLED -a $HTTP_REWRITE = YES ]; then -+ if [ $USE_PCRE = DISABLED -a $HTTP = YES -a $HTTP_REWRITE = YES ]; then - - cat << END - --- -2.13.2 - diff --git a/buildroot/package/nginx/nginx.hash b/buildroot/package/nginx/nginx.hash index 9936ca1df..c3e6b6a72 100644 --- a/buildroot/package/nginx/nginx.hash +++ b/buildroot/package/nginx/nginx.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 305f379da1d5fb5aefa79e45c829852ca6983c7cd2a79328f8e084a324cf0416 nginx-1.12.2.tar.gz +sha256 a3d8c67c2035808c7c0d475fffe263db8c353b11521aa7ade468b780ed826cc6 nginx-1.15.6.tar.gz # License files, locally calculated -sha256 75820469c890db641e54078df018e497fde0542211aa704e15320316a2175780 LICENSE +sha256 e18f05bcaad47528f8b21861d4a0fb9815ca1bbb4be946c51a51d36623758bcc LICENSE diff --git a/buildroot/package/nginx/nginx.mk b/buildroot/package/nginx/nginx.mk index e5652af6d..525317447 100644 --- a/buildroot/package/nginx/nginx.mk +++ b/buildroot/package/nginx/nginx.mk @@ -4,7 +4,7 @@ # ################################################################################ -NGINX_VERSION = 1.12.2 +NGINX_VERSION = 1.15.6 NGINX_SITE = http://nginx.org/download NGINX_LICENSE = BSD-2-Clause NGINX_LICENSE_FILES = LICENSE diff --git a/buildroot/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch b/buildroot/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch new file mode 100644 index 000000000..69c5c887e --- /dev/null +++ b/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/buildroot/package/ngrep/0001-make-objs.patch b/buildroot/package/ngrep/0001-make-objs.patch deleted file mode 100644 index 8b55e3f45..000000000 --- a/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/buildroot/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch b/buildroot/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch new file mode 100644 index 000000000..22b18ab7e --- /dev/null +++ b/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/buildroot/package/ngrep/0002-pcre-header.patch b/buildroot/package/ngrep/0002-pcre-header.patch deleted file mode 100644 index 40b9234db..000000000 --- a/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/buildroot/package/ngrep/0003-fix-disable-tcpkill.patch b/buildroot/package/ngrep/0003-fix-disable-tcpkill.patch new file mode 100644 index 000000000..1264fd7e3 --- /dev/null +++ b/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/buildroot/package/ngrep/0003-fix-static-link.patch b/buildroot/package/ngrep/0003-fix-static-link.patch deleted file mode 100644 index 98c262696..000000000 --- a/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/buildroot/package/ngrep/Config.in b/buildroot/package/ngrep/Config.in index cd9122579..5f87f2f79 100644 --- a/buildroot/package/ngrep/Config.in +++ b/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/buildroot/package/ngrep/ngrep.hash b/buildroot/package/ngrep/ngrep.hash index e0a6a2580..bf9e621a8 100644 --- a/buildroot/package/ngrep/ngrep.hash +++ b/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/buildroot/package/ngrep/ngrep.mk b/buildroot/package/ngrep/ngrep.mk index 3f569374b..d17792cda 100644 --- a/buildroot/package/ngrep/ngrep.mk +++ b/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/buildroot/package/nilfs-utils/Config.in b/buildroot/package/nilfs-utils/Config.in index e49cab369..7b239b1af 100644 --- a/buildroot/package/nilfs-utils/Config.in +++ b/buildroot/package/nilfs-utils/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_NILFS_UTILS bool "nilfs-utils" - depends on BR2_TOOLCHAIN_HAS_THREADS # sem_open() - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() depends on BR2_USE_MMU # util-linux libmount, libblkid + depends on BR2_TOOLCHAIN_HAS_THREADS # sem_open() select BR2_PACKAGE_UTIL_LINUX_LIBUUID select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT @@ -12,6 +11,6 @@ config BR2_PACKAGE_NILFS_UTILS https://github.com/nilfs-dev/nilfs-utils -comment "nilfs-utils needs a toolchain w/ threads, NPTL" - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL +comment "nilfs-utils needs a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/buildroot/package/nmap/Config.in b/buildroot/package/nmap/Config.in index c1aafeceb..51dd3423e 100644 --- a/buildroot/package/nmap/Config.in +++ b/buildroot/package/nmap/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_NMAP depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBLINEAR select BR2_PACKAGE_LIBPCAP select BR2_PACKAGE_NMAP_NMAP \ if !BR2_PACKAGE_NMAP_NCAT && !BR2_PACKAGE_NMAP_NPING && !BR2_PACKAGE_NMAP_NDIFF diff --git a/buildroot/package/nmap/nmap.mk b/buildroot/package/nmap/nmap.mk index 1c89b5424..761df3ffa 100644 --- a/buildroot/package/nmap/nmap.mk +++ b/buildroot/package/nmap/nmap.mk @@ -7,10 +7,10 @@ NMAP_VERSION = 7.70 NMAP_SITE = https://nmap.org/dist NMAP_SOURCE = nmap-$(NMAP_VERSION).tar.bz2 -NMAP_DEPENDENCIES = libpcap +NMAP_DEPENDENCIES = liblinear libpcap NMAP_CONF_OPTS = --without-liblua --without-zenmap \ - --with-libdnet=included --with-liblinear=included -NMAP_LICENSE = GPL-2.0 + --with-libdnet=included +NMAP_LICENSE = nmap license NMAP_LICENSE_FILES = COPYING # needed by libpcap @@ -76,12 +76,6 @@ else NMAP_CONF_OPTS += --without-nping endif -# If we are going to install ncat, ensure Busybox gets built/installed -# before, so that this package overrides Busybox nc. -ifeq ($(BR2_PACKAGE_NMAP_NCAT)$(BR2_PACKAGE_BUSYBOX),yy) -NMAP_DEPENDENCIES += busybox -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 diff --git a/buildroot/package/nodejs/nodejs.hash b/buildroot/package/nodejs/nodejs.hash index be4c3de4f..70d67730b 100644 --- a/buildroot/package/nodejs/nodejs.hash +++ b/buildroot/package/nodejs/nodejs.hash @@ -1,5 +1,5 @@ -# From http://nodejs.org/dist/v8.11.3/SHASUMS256.txt -sha256 577c751fdca91c46c60ffd8352e5b465881373bfdde212c17c3a3c1bd2616ee0 node-v8.11.3.tar.xz +# From https://nodejs.org/dist/v8.12.0/SHASUMS256.txt +sha256 5a9dff58016c18fb4bf902d963b124ff058a550ebcd9840c677757387bce419a node-v8.12.0.tar.xz # Hash for license file sha256 b87be6c1479ed977481115869c2dd8b6d59e5ea55aa09939d6c898242121b2f5 LICENSE diff --git a/buildroot/package/nodejs/nodejs.mk b/buildroot/package/nodejs/nodejs.mk index 61cd03bb8..429642b79 100644 --- a/buildroot/package/nodejs/nodejs.mk +++ b/buildroot/package/nodejs/nodejs.mk @@ -4,13 +4,13 @@ # ################################################################################ -NODEJS_VERSION = 8.11.3 +NODEJS_VERSION = 8.12.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 @@ -154,6 +153,7 @@ NPM = $(TARGET_CONFIGURE_OPTS) \ npm_config_build_from_source=true \ npm_config_nodedir=$(BUILD_DIR)/nodejs-$(NODEJS_VERSION) \ npm_config_prefix=$(TARGET_DIR)/usr \ + npm_config_cache=$(BUILD_DIR)/.npm-cache \ $(HOST_DIR)/bin/npm # diff --git a/buildroot/package/nss-mdns/nss-mdns.mk b/buildroot/package/nss-mdns/nss-mdns.mk index 407b9426b..1512ea2e7 100644 --- a/buildroot/package/nss-mdns/nss-mdns.mk +++ b/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/buildroot/package/nss-myhostname/Config.in b/buildroot/package/nss-myhostname/Config.in new file mode 100644 index 000000000..bdd9830e0 --- /dev/null +++ b/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/buildroot/package/nss-myhostname/nss-myhostname.hash b/buildroot/package/nss-myhostname/nss-myhostname.hash new file mode 100644 index 000000000..dfa531c94 --- /dev/null +++ b/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/buildroot/package/nss-myhostname/nss-myhostname.mk b/buildroot/package/nss-myhostname/nss-myhostname.mk new file mode 100644 index 000000000..08683a542 --- /dev/null +++ b/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/buildroot/package/ntp/0003-fix-nommu.patch b/buildroot/package/ntp/0003-fix-nommu.patch new file mode 100644 index 000000000..0959fa0ba --- /dev/null +++ b/buildroot/package/ntp/0003-fix-nommu.patch @@ -0,0 +1,29 @@ +Fix no-MMU build + +The detach_from_terminal() is unused for no-MMU, but it depends on symbols +that are not defined for no-MMU. Don't define detach_from_terminal() when +HAVE_WORKING_FORK is not defined. + +Signed-off-by: Baruch Siach +--- +Upstream status: http://bugs.ntp.org/show_bug.cgi?id=3538 + +diff -Nuar ntp-4.2.8p12.orig/ntpd/ntpd.c ntp-4.2.8p12/ntpd/ntpd.c +--- ntp-4.2.8p12.orig/ntpd/ntpd.c 2018-08-14 14:51:30.000000000 +0300 ++++ ntp-4.2.8p12/ntpd/ntpd.c 2018-10-13 21:25:25.858261249 +0300 +@@ -534,6 +534,7 @@ + * Detach from terminal (much like daemon()) + * Nothe that this function calls exit() + */ ++# ifdef HAVE_WORKING_FORK + static void + detach_from_terminal( + int pipe_fds[2], +@@ -617,6 +618,7 @@ + + return; + } ++# endif /* HAVE_WORKING_FORK */ + + #ifdef HAVE_DROPROOT + /* diff --git a/buildroot/package/ntp/0004-fix-work-fork-without-droproot.patch b/buildroot/package/ntp/0004-fix-work-fork-without-droproot.patch new file mode 100644 index 000000000..cb6fec012 --- /dev/null +++ b/buildroot/package/ntp/0004-fix-work-fork-without-droproot.patch @@ -0,0 +1,26 @@ +Fix work_fork build when droproot is disabled + +The set_user_group_ids() depends on HAVE_DROPROOT. When HAVE_DROPROOT is not +enabled, work_fork.c code causes a link failure: + +../libntp/libntp.a(work_fork.o): In function `send_blocking_req_internal': +work_fork.c:(.text+0x498): undefined reference to `set_user_group_ids' + +Make the set_user_group_ids() call depend on HAVE_DROPROOT. + +Signed-off-by: Baruch Siach +--- +Upstream status: http://bugs.ntp.org/show_bug.cgi?id=3539 + +--- ntp-4.2.8p12.orig/libntp/work_fork.c 2018-08-14 14:51:06.000000000 +0300 ++++ ntp-4.2.8p12/libntp/work_fork.c 2018-10-15 21:10:54.580917962 +0300 +@@ -594,7 +594,9 @@ + init_logging("ntp_intres", 0, FALSE); + setup_logfile(NULL); + ++#if defined(HAVE_DROPROOT) + (void) set_user_group_ids(); ++#endif + + /* + * And now back to the portable code diff --git a/buildroot/package/ntp/ntp.hash b/buildroot/package/ntp/ntp.hash index ea86c1586..2fd8a8322 100644 --- a/buildroot/package/ntp/ntp.hash +++ b/buildroot/package/ntp/ntp.hash @@ -1,5 +1,5 @@ -# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p11.tar.gz.md5 -md5 00950ca2855579541896513e78295361 ntp-4.2.8p11.tar.gz +# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p12.tar.gz.md5 +md5 1522d66574bae14abb2622746dad2bdc ntp-4.2.8p12.tar.gz # Calculated based on the hash above -sha256 f14a39f753688252d683ff907035ffff106ba8d3db21309b742e09b5c3cd278e ntp-4.2.8p11.tar.gz +sha256 709b222b5013d77d26bfff532b5ea470a8039497ef29d09363931c036cb30454 ntp-4.2.8p12.tar.gz sha256 62c87b269365b38b55359b16dfde7ec28c683c722ef489db90afd0f2e478e4a1 COPYRIGHT diff --git a/buildroot/package/ntp/ntp.mk b/buildroot/package/ntp/ntp.mk index 77bb33a42..af3c1aad9 100644 --- a/buildroot/package/ntp/ntp.mk +++ b/buildroot/package/ntp/ntp.mk @@ -5,9 +5,9 @@ ################################################################################ NTP_VERSION_MAJOR = 4.2 -NTP_VERSION = $(NTP_VERSION_MAJOR).8p11 +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 diff --git a/buildroot/package/numactl/numactl.hash b/buildroot/package/numactl/numactl.hash index c36e24d6b..d93af1a7b 100644 --- a/buildroot/package/numactl/numactl.hash +++ b/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/buildroot/package/numactl/numactl.mk b/buildroot/package/numactl/numactl.mk index d37ee9e88..9efbcb5f6 100644 --- a/buildroot/package/numactl/numactl.mk +++ b/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/buildroot/package/nvidia-driver/nvidia-driver.hash b/buildroot/package/nvidia-driver/nvidia-driver.hash index e05b8f04d..79ac05261 100644 --- a/buildroot/package/nvidia-driver/nvidia-driver.hash +++ b/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/buildroot/package/nvidia-driver/nvidia-driver.mk b/buildroot/package/nvidia-driver/nvidia-driver.mk index 404fa881e..a595aed4f 100644 --- a/buildroot/package/nvidia-driver/nvidia-driver.mk +++ b/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 @@ -46,19 +46,19 @@ 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) \ diff --git a/buildroot/package/ocrad/ocrad.hash b/buildroot/package/ocrad/ocrad.hash index 5f093d241..5cde4d3ac 100644 --- a/buildroot/package/ocrad/ocrad.hash +++ b/buildroot/package/ocrad/ocrad.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature sha256 c383d37869baa0990d38d38836d4d567e9e2862aa0cd704868b62dafeac18e3c ocrad-0.26.tar.lz +sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/buildroot/package/open-plc-utils/open-plc-utils.mk b/buildroot/package/open-plc-utils/open-plc-utils.mk index d45bb9d4f..e1e66bf7e 100644 --- a/buildroot/package/open-plc-utils/open-plc-utils.mk +++ b/buildroot/package/open-plc-utils/open-plc-utils.mk @@ -15,8 +15,14 @@ OPEN_PLC_UTILS_LICENSE_FILES = LICENSE # Yes, we're passing __UCLIBC__ in EXTRA_CFLAGS, as it fixes a build # issue for non-uClibc toolchains. It is the very crappy solution # suggested at https://github.com/qca/open-plc-utils/issues/36. +OPEN_PLC_UTILS_MAKE_OPTS = \ + EXTRA_CFLAGS="$(TARGET_CFLAGS) -D__UCLIBC__" \ + EXTRA_CXXFLAGS="$(TARGET_CXXFLAGS)" \ + EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" + define OPEN_PLC_UTILS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CROSS=$(TARGET_CROSS) EXTRA_CFLAGS="-D__UCLIBC__" -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) CROSS=$(TARGET_CROSS) \ + $(OPEN_PLC_UTILS_MAKE_OPTS) -C $(@D) endef define OPEN_PLC_UTILS_INSTALL_TARGET_CMDS diff --git a/buildroot/package/opencv/0003-Update-OpenCVCompilerOptions.cmake.patch b/buildroot/package/opencv/0003-Update-OpenCVCompilerOptions.cmake.patch deleted file mode 100644 index 9a81d9308..000000000 --- a/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/buildroot/package/opencv/opencv.hash b/buildroot/package/opencv/opencv.hash index 5b4b80d06..dfb3b2858 100644 --- a/buildroot/package/opencv/opencv.hash +++ b/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/buildroot/package/opencv/opencv.mk b/buildroot/package/opencv/opencv.mk index d170aec58..d9813a041 100644 --- a/buildroot/package/opencv/opencv.mk +++ b/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 diff --git a/buildroot/package/opencv3/0001-3rdparty-protobuf-fix-compilation-issue-on-s390.patch b/buildroot/package/opencv3/0001-3rdparty-protobuf-fix-compilation-issue-on-s390.patch new file mode 100644 index 000000000..7743eae53 --- /dev/null +++ b/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/buildroot/package/opencv3/opencv3.hash b/buildroot/package/opencv3/opencv3.hash index de15bc8cb..34baf260d 100644 --- a/buildroot/package/opencv3/opencv3.hash +++ b/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/buildroot/package/opencv3/opencv3.mk b/buildroot/package/opencv3/opencv3.mk index 15e4eadfe..978f38c14 100644 --- a/buildroot/package/opencv3/opencv3.mk +++ b/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 += \ diff --git a/buildroot/package/opengl/Config.in b/buildroot/package/opengl/Config.in index 20ee28b06..cbc001427 100644 --- a/buildroot/package/opengl/Config.in +++ b/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/buildroot/package/opengl/libopencl/Config.in b/buildroot/package/opengl/libopencl/Config.in new file mode 100644 index 000000000..57a3ad7d0 --- /dev/null +++ b/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/buildroot/package/opengl/libopencl/libopencl.mk b/buildroot/package/opengl/libopencl/libopencl.mk new file mode 100644 index 000000000..e1c71f82d --- /dev/null +++ b/buildroot/package/opengl/libopencl/libopencl.mk @@ -0,0 +1,7 @@ +################################################################################ +# +# libopencl +# +################################################################################ + +$(eval $(virtual-package)) diff --git a/buildroot/package/openocd/openocd.mk b/buildroot/package/openocd/openocd.mk index 548d8b81a..ca13d9936 100644 --- a/buildroot/package/openocd/openocd.mk +++ b/buildroot/package/openocd/openocd.mk @@ -31,6 +31,7 @@ OPENOCD_CONF_OPTS = \ # the dependencies they need. OPENOCD_DEPENDENCIES = \ + host-pkgconf \ $(if $(BR2_PACKAGE_LIBFTDI1),libftdi1) \ $(if $(BR2_PACKAGE_LIBUSB),libusb) \ $(if $(BR2_PACKAGE_LIBUSB_COMPAT),libusb-compat) \ diff --git a/buildroot/package/openpowerlink/0004-stack-src-kernel-edrv-edrv-rawsock_linux.c-add-missi.patch b/buildroot/package/openpowerlink/0004-stack-src-kernel-edrv-edrv-rawsock_linux.c-add-missi.patch new file mode 100644 index 000000000..4e00ecdb6 --- /dev/null +++ b/buildroot/package/openpowerlink/0004-stack-src-kernel-edrv-edrv-rawsock_linux.c-add-missi.patch @@ -0,0 +1,35 @@ +From 710e2b8ba2ecf51057a89de24e6f0d387614ea53 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 25 Aug 2018 23:36:39 +0200 +Subject: [PATCH] stack/src/kernel/edrv/edrv-rawsock_linux.c: add missing + include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This is necessary to get the definition of the u_char type, otherwise +the build fails with the musl C library with: + +stack/src/kernel/edrv/edrv-rawsock_linux.c:373:46: error: ‘u_char’ undeclared (first use in this function) + +Signed-off-by: Thomas Petazzoni +Upstream: https://github.com/OpenAutomationTechnologies/openPOWERLINK_V2/pull/371 +--- + stack/src/kernel/edrv/edrv-rawsock_linux.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/stack/src/kernel/edrv/edrv-rawsock_linux.c b/stack/src/kernel/edrv/edrv-rawsock_linux.c +index f8e0216f..e5230a52 100644 +--- a/stack/src/kernel/edrv/edrv-rawsock_linux.c ++++ b/stack/src/kernel/edrv/edrv-rawsock_linux.c +@@ -59,6 +59,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include ++#include + + //============================================================================// + // G L O B A L D E F I N I T I O N S // +-- +2.14.4 + diff --git a/buildroot/package/openpowerlink/openpowerlink.hash b/buildroot/package/openpowerlink/openpowerlink.hash index f69950ddc..da9bdd2a7 100644 --- a/buildroot/package/openpowerlink/openpowerlink.hash +++ b/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 http://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.7.0/ +md5 4843f857b8334c984827435fa9e1ab96 openPOWERLINK_V2.7.0.tar.gz +sha1 a256e05d187b334651764ab21a827b3a4fa64e2f openPOWERLINK_V2.7.0.tar.gz # sha256 locally computed -sha256 38d7a93c05cc0167be5c498e625d1efddeac2616ceb1bc8c3c6679552ae6da15 openPOWERLINK_V2.6.2.tar.gz +sha256 64c23ee42e3852bf2316fd99c59eae9cdd634219f92b3ea70ce747dad1e05354 openPOWERLINK_V2.7.0.tar.gz diff --git a/buildroot/package/openpowerlink/openpowerlink.mk b/buildroot/package/openpowerlink/openpowerlink.mk index e2958b30b..90088cef5 100644 --- a/buildroot/package/openpowerlink/openpowerlink.mk +++ b/buildroot/package/openpowerlink/openpowerlink.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENPOWERLINK_VERSION = V2.6.2 +OPENPOWERLINK_VERSION = V2.7.0 OPENPOWERLINK_SITE = http://downloads.sourceforge.net/project/openpowerlink/openPOWERLINK/$(OPENPOWERLINK_VERSION) OPENPOWERLINK_SOURCE = openPOWERLINK_$(OPENPOWERLINK_VERSION).tar.gz OPENPOWERLINK_LICENSE = BSD-2-Clause, GPL-2.0 diff --git a/buildroot/package/openresolv/Config.in b/buildroot/package/openresolv/Config.in new file mode 100644 index 000000000..2a393c6bc --- /dev/null +++ b/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://github.com/rsmarples/openresolv diff --git a/buildroot/package/openresolv/openresolv.hash b/buildroot/package/openresolv/openresolv.hash new file mode 100644 index 000000000..e1a1fb546 --- /dev/null +++ b/buildroot/package/openresolv/openresolv.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 96b3f84435a183426c622db7097a930fb0d48a99e82cd87ce83bd343b8c20574 openresolv-fe4e1ec4e2be2adfc1530ade94ebb30aa6f51540.tar.gz +sha256 d1f9dcd2dac4e095b14caab517cfe791a6e0785346164b7d0cafc13c714f8aa5 LICENSE diff --git a/buildroot/package/openresolv/openresolv.mk b/buildroot/package/openresolv/openresolv.mk new file mode 100644 index 000000000..6adf97352 --- /dev/null +++ b/buildroot/package/openresolv/openresolv.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# 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 --prefix=/usr \ + --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/buildroot/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch b/buildroot/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch deleted file mode 100644 index d9bc6e5d0..000000000 --- a/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/buildroot/package/openssh/0002-fix-howmany-include.patch b/buildroot/package/openssh/0002-fix-howmany-include.patch deleted file mode 100644 index 7a2a8e320..000000000 --- a/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/buildroot/package/openssh/openssh.hash b/buildroot/package/openssh/openssh.hash index 69d34ba65..26b143c05 100644 --- a/buildroot/package/openssh/openssh.hash +++ b/buildroot/package/openssh/openssh.hash @@ -1,4 +1,4 @@ -# From http://www.openssh.com/txt/release-7.7 (base64 encoded) -sha256 d73be7e684e99efcd024be15a30bffcbe41b012b2f7b3c9084aed621775e6b8f openssh-7.7p1.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/buildroot/package/openssh/openssh.mk b/buildroot/package/openssh/openssh.mk index b28429e1b..07f3e0d66 100644 --- a/buildroot/package/openssh/openssh.mk +++ b/buildroot/package/openssh/openssh.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENSSH_VERSION = 7.7p1 +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 diff --git a/buildroot/package/openswan/openswan.hash b/buildroot/package/openswan/openswan.hash index 805ab948f..de0fa0505 100644 --- a/buildroot/package/openswan/openswan.hash +++ b/buildroot/package/openswan/openswan.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 9a3eb041084c3ab125dd645c40e8f5563efe73e18a3881cf2ce3582001daafc5 openswan-2.6.50.tar.gz +sha256 857c0d0b9a7e447d2857bf4d0f7118d7ed1196499e0b640e53e5c6bd0c0185d9 openswan-2.6.51.1.tar.gz +sha256 1c36ae1e7b0f6cce4b4ffe969b71f83635734804acdd38544443564b00f8783a COPYING +sha256 d7d012ef3be47faffba4d97a83d4986c9f4a63ac997ebf5961d33852e5f1801a LICENSE diff --git a/buildroot/package/openswan/openswan.mk b/buildroot/package/openswan/openswan.mk index 928eb9bb6..d7f1c4647 100644 --- a/buildroot/package/openswan/openswan.mk +++ b/buildroot/package/openswan/openswan.mk @@ -4,13 +4,13 @@ # ################################################################################ -OPENSWAN_VERSION = 2.6.50 +OPENSWAN_VERSION = 2.6.51.1 OPENSWAN_SITE = https://download.openswan.org/openswan OPENSWAN_LICENSE = GPL-2.0+, BSD-3-Clause OPENSWAN_LICENSE_FILES = COPYING LICENSE OPENSWAN_DEPENDENCIES = host-bison host-flex gmp iproute2 -OPENSWAN_MAKE_OPTS = ARCH=$(BR2_ARCH) CC="$(TARGET_CC)" \ +OPENSWAN_MAKE_OPTS = ARCH=$(BR2_ARCH) CC="$(TARGET_CC)" POD2MAN="" XMLTO="" \ USERCOMPILE="$(TARGET_CFLAGS) $(if $(BR2_TOOLCHAIN_SUPPORTS_PIE),-fPIE)" \ USERLINK="$(TARGET_LDFLAGS) $(if $(BR2_TOOLCHAIN_SUPPORTS_PIE),-fPIE)" \ INC_USRLOCAL=/usr USE_KLIPS=false USE_MAST=false USE_NM=false diff --git a/buildroot/package/openvmtools/0001-has_bsd_printf.patch b/buildroot/package/openvmtools/0001-has_bsd_printf.patch deleted file mode 100644 index df23f0041..000000000 --- a/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/buildroot/package/openvmtools/0002-no_cflags_werror.patch b/buildroot/package/openvmtools/0001-no_cflags_werror.patch similarity index 100% rename from buildroot/package/openvmtools/0002-no_cflags_werror.patch rename to buildroot/package/openvmtools/0001-no_cflags_werror.patch diff --git a/buildroot/package/openvmtools/0003-dont-force-cppflags.patch b/buildroot/package/openvmtools/0002-dont-force-cppflags.patch similarity index 100% rename from buildroot/package/openvmtools/0003-dont-force-cppflags.patch rename to buildroot/package/openvmtools/0002-dont-force-cppflags.patch diff --git a/buildroot/package/openvmtools/0004-uclibc_secure_getenv.patch b/buildroot/package/openvmtools/0003-uclibc_secure_getenv.patch similarity index 100% rename from buildroot/package/openvmtools/0004-uclibc_secure_getenv.patch rename to buildroot/package/openvmtools/0003-uclibc_secure_getenv.patch diff --git a/buildroot/package/openvmtools/openvmtools.hash b/buildroot/package/openvmtools/openvmtools.hash index bf344e506..743b7dcad 100644 --- a/buildroot/package/openvmtools/openvmtools.hash +++ b/buildroot/package/openvmtools/openvmtools.hash @@ -1,2 +1,2 @@ # locally computed -sha256 ff384ab0c11e19db0fd6ddab60e8ae48a4591b141fb3a8e8f1d4e1a489dd293f openvmtools-5a9033ddfa95786d867e4d02bbb9a29bac8fb64f.tar.gz +sha256 c0ecd281d6113ca700b1ab0a10559db72e80d8fc03264d53ebfdc400578ab1b6 openvmtools-stable-10.3.5.tar.gz diff --git a/buildroot/package/openvmtools/openvmtools.mk b/buildroot/package/openvmtools/openvmtools.mk index 9501ef336..f331c0ebc 100644 --- a/buildroot/package/openvmtools/openvmtools.mk +++ b/buildroot/package/openvmtools/openvmtools.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENVMTOOLS_VERSION = 5a9033ddfa95786d867e4d02bbb9a29bac8fb64f +OPENVMTOOLS_VERSION = stable-10.3.5 OPENVMTOOLS_SITE = $(call github,vmware,open-vm-tools,$(OPENVMTOOLS_VERSION)) OPENVMTOOLS_SUBDIR = open-vm-tools OPENVMTOOLS_LICENSE = LGPL-2.1 diff --git a/buildroot/package/opkg/opkg.hash b/buildroot/package/opkg/opkg.hash index 80f3f0d1d..321c41dbd 100644 --- a/buildroot/package/opkg/opkg.hash +++ b/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/buildroot/package/opkg/opkg.mk b/buildroot/package/opkg/opkg.mk index 0c7e15ea7..4d34c6d4d 100644 --- a/buildroot/package/opkg/opkg.mk +++ b/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/buildroot/package/oprofile/0002-Fix-FTBFS-problem-with-GCC-6.patch b/buildroot/package/oprofile/0002-Fix-FTBFS-problem-with-GCC-6.patch deleted file mode 100644 index 34bf36522..000000000 --- a/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/buildroot/package/oprofile/0002-oparchive-replace-basename-with-op_basename.patch b/buildroot/package/oprofile/0002-oparchive-replace-basename-with-op_basename.patch new file mode 100644 index 000000000..a2b580dad --- /dev/null +++ b/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/buildroot/package/oprofile/oprofile.hash b/buildroot/package/oprofile/oprofile.hash index cc15ed110..737137e0d 100644 --- a/buildroot/package/oprofile/oprofile.hash +++ b/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/buildroot/package/oprofile/oprofile.mk b/buildroot/package/oprofile/oprofile.mk index 4e0278eb2..2b8219440 100644 --- a/buildroot/package/oprofile/oprofile.mk +++ b/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/buildroot/package/opusfile/opusfile.hash b/buildroot/package/opusfile/opusfile.hash index 59e08192f..f1fcf5f9d 100644 --- a/buildroot/package/opusfile/opusfile.hash +++ b/buildroot/package/opusfile/opusfile.hash @@ -1,5 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 f75fb500e40b122775ac1a71ad80c4477698842a8fe9da4a1b4a1a9f16e4e979 opusfile-0.9.tar.gz +sha256 48e03526ba87ef9cf5f1c47b5ebe3aa195bd89b912a57060c36184a6cd19412f opusfile-0.10.tar.gz # Hash for license file sha256 0267ae795ab744c4e0f9c45e249440fdf2e75dac8c804f36066b28649bf74aaf COPYING diff --git a/buildroot/package/opusfile/opusfile.mk b/buildroot/package/opusfile/opusfile.mk index 186288ddf..0cfe62394 100644 --- a/buildroot/package/opusfile/opusfile.mk +++ b/buildroot/package/opusfile/opusfile.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPUSFILE_VERSION = 0.9 +OPUSFILE_VERSION = 0.10 OPUSFILE_SITE = https://downloads.xiph.org/releases/opus OPUSFILE_DEPENDENCIES = host-pkgconf libogg opus OPUSFILE_LICENSE = BSD-3-Clause diff --git a/buildroot/package/oracle-mysql/oracle-mysql.mk b/buildroot/package/oracle-mysql/oracle-mysql.mk index 7da5c547d..0275a8428 100644 --- a/buildroot/package/oracle-mysql/oracle-mysql.mk +++ b/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/buildroot/package/owfs/0002-include-sys-sysmacros.h-for-major.patch b/buildroot/package/owfs/0002-include-sys-sysmacros.h-for-major.patch new file mode 100644 index 000000000..dadf0276c --- /dev/null +++ b/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/buildroot/package/owfs/owfs.hash b/buildroot/package/owfs/owfs.hash index 1e57e2956..eeea64368 100644 --- a/buildroot/package/owfs/owfs.hash +++ b/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/buildroot/package/owfs/owfs.mk b/buildroot/package/owfs/owfs.mk index 47626ceaf..e12014715 100644 --- a/buildroot/package/owfs/owfs.mk +++ b/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/buildroot/package/p11-kit/p11-kit.mk b/buildroot/package/p11-kit/p11-kit.mk index d4cf9bc09..10b5cc039 100644 --- a/buildroot/package/p11-kit/p11-kit.mk +++ b/buildroot/package/p11-kit/p11-kit.mk @@ -14,4 +14,10 @@ P11_KIT_CONF_ENV = ac_cv_have_decl_program_invocation_short_name=yes \ P11_KIT_LICENSE = BSD-3-Clause P11_KIT_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_CA_CERTIFICATES),y) +P11_KIT_CONF_OPTS += --with-trust-paths=/etc/ssl/certs/ca-certificates.crt +else +P11_KIT_CONF_OPTS += --without-trust-paths +endif + $(eval $(autotools-package)) diff --git a/buildroot/package/parted/0005-linux-Include-sys-sysmacros.h-for-major-macro.patch b/buildroot/package/parted/0005-linux-Include-sys-sysmacros.h-for-major-macro.patch new file mode 100644 index 000000000..e0b4c2acb --- /dev/null +++ b/buildroot/package/parted/0005-linux-Include-sys-sysmacros.h-for-major-macro.patch @@ -0,0 +1,27 @@ +From ba5e0451b51c983e40afd123b6e0d3eddb55e610 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 24 Mar 2018 17:37:02 +0000 +Subject: [PATCH] linux: Include for major() macro. + +Since glibc 2.27 this header is required. + +Signed-off-by: Giulio Benetti +--- + libparted/arch/linux.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c +index 31b98ab..7e86b51 100644 +--- a/libparted/arch/linux.c ++++ b/libparted/arch/linux.c +@@ -41,6 +41,7 @@ + #include /* for uname() */ + #include + #include ++#include + #ifdef ENABLE_DEVICE_MAPPER + #include + #endif +-- +2.17.1 + diff --git a/buildroot/package/pciutils/pciutils.mk b/buildroot/package/pciutils/pciutils.mk index 2dd5771f2..30d429e75 100644 --- a/buildroot/package/pciutils/pciutils.mk +++ b/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/buildroot/package/pcre/pcre.hash b/buildroot/package/pcre/pcre.hash index fc0bb98d0..ca72a78cd 100644 --- a/buildroot/package/pcre/pcre.hash +++ b/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/buildroot/package/pcre/pcre.mk b/buildroot/package/pcre/pcre.mk index b12b00dd6..163e535ec 100644 --- a/buildroot/package/pcre/pcre.mk +++ b/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/buildroot/package/pcre2/pcre2.hash b/buildroot/package/pcre2/pcre2.hash index 7b125dda9..210e2e58c 100644 --- a/buildroot/package/pcre2/pcre2.hash +++ b/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.31.tar.bz2.sig +sha256 e07d538704aa65e477b6a392b32ff9fc5edf75ab9a40ddfc876186c4ff4d68ac pcre2-10.31.tar.bz2 +# Locally computed +sha256 4806d1c067bffe106d97dac68744373a866bfdd65486c0532ed1b41595ec4b64 LICENCE diff --git a/buildroot/package/pcre2/pcre2.mk b/buildroot/package/pcre2/pcre2.mk index 384462285..49ece6b9d 100644 --- a/buildroot/package/pcre2/pcre2.mk +++ b/buildroot/package/pcre2/pcre2.mk @@ -4,7 +4,7 @@ # ################################################################################ -PCRE2_VERSION = 10.30 +PCRE2_VERSION = 10.31 PCRE2_SITE = https://ftp.pcre.org/pub/pcre PCRE2_SOURCE = pcre2-$(PCRE2_VERSION).tar.bz2 PCRE2_LICENSE = BSD-3-Clause diff --git a/buildroot/package/pdbg/pdbg.hash b/buildroot/package/pdbg/pdbg.hash index 39aa33e12..2f11ad599 100644 --- a/buildroot/package/pdbg/pdbg.hash +++ b/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/buildroot/package/pdbg/pdbg.mk b/buildroot/package/pdbg/pdbg.mk index ba9aa15d0..ba3b0b887 100644 --- a/buildroot/package/pdbg/pdbg.mk +++ b/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/buildroot/package/perl-apache-logformat-compiler/Config.in b/buildroot/package/perl-apache-logformat-compiler/Config.in new file mode 100644 index 000000000..d78104f16 --- /dev/null +++ b/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/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash b/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash new file mode 100644 index 000000000..5466435c5 --- /dev/null +++ b/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/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk b/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk new file mode 100644 index 000000000..59290f376 --- /dev/null +++ b/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/buildroot/package/perl-appconfig/Config.in b/buildroot/package/perl-appconfig/Config.in new file mode 100644 index 000000000..f89bf06c2 --- /dev/null +++ b/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/buildroot/package/perl-appconfig/perl-appconfig.hash b/buildroot/package/perl-appconfig/perl-appconfig.hash new file mode 100644 index 000000000..151a2e903 --- /dev/null +++ b/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/buildroot/package/perl-appconfig/perl-appconfig.mk b/buildroot/package/perl-appconfig/perl-appconfig.mk new file mode 100644 index 000000000..8f9dd5202 --- /dev/null +++ b/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/buildroot/package/perl-astro-suntime/Config.in b/buildroot/package/perl-astro-suntime/Config.in new file mode 100644 index 000000000..ee4f3e32f --- /dev/null +++ b/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/buildroot/package/perl-astro-suntime/perl-astro-suntime.hash b/buildroot/package/perl-astro-suntime/perl-astro-suntime.hash new file mode 100644 index 000000000..e75293d4f --- /dev/null +++ b/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/buildroot/package/perl-astro-suntime/perl-astro-suntime.mk b/buildroot/package/perl-astro-suntime/perl-astro-suntime.mk new file mode 100644 index 000000000..e5cad6a40 --- /dev/null +++ b/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/buildroot/package/perl-class-inspector/Config.in b/buildroot/package/perl-class-inspector/Config.in new file mode 100644 index 000000000..46b936824 --- /dev/null +++ b/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/buildroot/package/perl-class-inspector/perl-class-inspector.hash b/buildroot/package/perl-class-inspector/perl-class-inspector.hash new file mode 100644 index 000000000..181c09ace --- /dev/null +++ b/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/buildroot/package/perl-class-inspector/perl-class-inspector.mk b/buildroot/package/perl-class-inspector/perl-class-inspector.mk new file mode 100644 index 000000000..c265194f1 --- /dev/null +++ b/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/buildroot/package/perl-class-load/Config.in b/buildroot/package/perl-class-load/Config.in new file mode 100644 index 000000000..fe956b177 --- /dev/null +++ b/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/buildroot/package/perl-class-load/perl-class-load.hash b/buildroot/package/perl-class-load/perl-class-load.hash new file mode 100644 index 000000000..c2900d696 --- /dev/null +++ b/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/buildroot/package/perl-class-load/perl-class-load.mk b/buildroot/package/perl-class-load/perl-class-load.mk new file mode 100644 index 000000000..c18e53d19 --- /dev/null +++ b/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/buildroot/package/perl-class-method-modifiers/Config.in b/buildroot/package/perl-class-method-modifiers/Config.in new file mode 100644 index 000000000..7acdb38b9 --- /dev/null +++ b/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/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.hash b/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.hash new file mode 100644 index 000000000..540f357b6 --- /dev/null +++ b/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/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.mk b/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.mk new file mode 100644 index 000000000..e93553f96 --- /dev/null +++ b/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/buildroot/package/perl-class-std-fast/Config.in b/buildroot/package/perl-class-std-fast/Config.in new file mode 100644 index 000000000..6eabc0bb0 --- /dev/null +++ b/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/buildroot/package/perl-class-std-fast/perl-class-std-fast.hash b/buildroot/package/perl-class-std-fast/perl-class-std-fast.hash new file mode 100644 index 000000000..07e830a5e --- /dev/null +++ b/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/buildroot/package/perl-class-std-fast/perl-class-std-fast.mk b/buildroot/package/perl-class-std-fast/perl-class-std-fast.mk new file mode 100644 index 000000000..57e57b195 --- /dev/null +++ b/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/buildroot/package/perl-class-std/Config.in b/buildroot/package/perl-class-std/Config.in new file mode 100644 index 000000000..332cdf27c --- /dev/null +++ b/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/buildroot/package/perl-class-std/perl-class-std.hash b/buildroot/package/perl-class-std/perl-class-std.hash new file mode 100644 index 000000000..0cc386141 --- /dev/null +++ b/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/buildroot/package/perl-class-std/perl-class-std.mk b/buildroot/package/perl-class-std/perl-class-std.mk new file mode 100644 index 000000000..493a89f26 --- /dev/null +++ b/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/buildroot/package/perl-convert-asn1/Config.in b/buildroot/package/perl-convert-asn1/Config.in new file mode 100644 index 000000000..3fe47c326 --- /dev/null +++ b/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/buildroot/package/perl-convert-asn1/perl-convert-asn1.hash b/buildroot/package/perl-convert-asn1/perl-convert-asn1.hash new file mode 100644 index 000000000..4fd7d3eb6 --- /dev/null +++ b/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/buildroot/package/perl-convert-asn1/perl-convert-asn1.mk b/buildroot/package/perl-convert-asn1/perl-convert-asn1.mk new file mode 100644 index 000000000..b6ba76a7e --- /dev/null +++ b/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/buildroot/package/perl-cookie-baker/Config.in b/buildroot/package/perl-cookie-baker/Config.in new file mode 100644 index 000000000..024f0ade2 --- /dev/null +++ b/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/buildroot/package/perl-cookie-baker/perl-cookie-baker.hash b/buildroot/package/perl-cookie-baker/perl-cookie-baker.hash new file mode 100644 index 000000000..8d0d63b17 --- /dev/null +++ b/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/buildroot/package/perl-cookie-baker/perl-cookie-baker.mk b/buildroot/package/perl-cookie-baker/perl-cookie-baker.mk new file mode 100644 index 000000000..45ecdc96c --- /dev/null +++ b/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/buildroot/package/perl-crypt-blowfish/Config.in b/buildroot/package/perl-crypt-blowfish/Config.in new file mode 100644 index 000000000..1a51a16f8 --- /dev/null +++ b/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/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.hash b/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.hash new file mode 100644 index 000000000..f814cb9bd --- /dev/null +++ b/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/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.mk b/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.mk new file mode 100644 index 000000000..a8f274b60 --- /dev/null +++ b/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/buildroot/package/perl-crypt-cbc/Config.in b/buildroot/package/perl-crypt-cbc/Config.in new file mode 100644 index 000000000..5cd9c69ea --- /dev/null +++ b/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/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.hash b/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.hash new file mode 100644 index 000000000..a54772a50 --- /dev/null +++ b/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/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.mk b/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.mk new file mode 100644 index 000000000..c00ec37ee --- /dev/null +++ b/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/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash b/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash new file mode 100644 index 000000000..327b06900 --- /dev/null +++ b/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/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk b/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk new file mode 100644 index 000000000..a53285165 --- /dev/null +++ b/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/buildroot/package/perl-crypt-openssl-random/Config.in b/buildroot/package/perl-crypt-openssl-random/Config.in index 2ceb78dfd..6b5da7c88 100644 --- a/buildroot/package/perl-crypt-openssl-random/Config.in +++ b/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/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash b/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash index caacdc901..57677e344 100644 --- a/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash +++ b/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/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk b/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk index de029e9af..e70eb7e92 100644 --- a/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk +++ b/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/buildroot/package/perl-crypt-openssl-rsa/Config.in b/buildroot/package/perl-crypt-openssl-rsa/Config.in index 1fa1fd988..e58a921bc 100644 --- a/buildroot/package/perl-crypt-openssl-rsa/Config.in +++ b/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/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash b/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash index 6e060ce67..fe2a57858 100644 --- a/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash +++ b/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/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk b/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk index b853d9953..b16152342 100644 --- a/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk +++ b/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/buildroot/package/perl-data-dump/Config.in b/buildroot/package/perl-data-dump/Config.in new file mode 100644 index 000000000..b44209fe7 --- /dev/null +++ b/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/buildroot/package/perl-data-dump/perl-data-dump.hash b/buildroot/package/perl-data-dump/perl-data-dump.hash new file mode 100644 index 000000000..87850326d --- /dev/null +++ b/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/buildroot/package/perl-data-dump/perl-data-dump.mk b/buildroot/package/perl-data-dump/perl-data-dump.mk new file mode 100644 index 000000000..54d3a925f --- /dev/null +++ b/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/buildroot/package/perl-data-optlist/Config.in b/buildroot/package/perl-data-optlist/Config.in new file mode 100644 index 000000000..88152f27b --- /dev/null +++ b/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/buildroot/package/perl-data-optlist/perl-data-optlist.hash b/buildroot/package/perl-data-optlist/perl-data-optlist.hash new file mode 100644 index 000000000..93df00648 --- /dev/null +++ b/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/buildroot/package/perl-data-optlist/perl-data-optlist.mk b/buildroot/package/perl-data-optlist/perl-data-optlist.mk new file mode 100644 index 000000000..49aeb820e --- /dev/null +++ b/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/buildroot/package/perl-data-uuid/Config.in b/buildroot/package/perl-data-uuid/Config.in new file mode 100644 index 000000000..9b4812b23 --- /dev/null +++ b/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/buildroot/package/perl-data-uuid/perl-data-uuid.hash b/buildroot/package/perl-data-uuid/perl-data-uuid.hash new file mode 100644 index 000000000..5086936d4 --- /dev/null +++ b/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/buildroot/package/perl-data-uuid/perl-data-uuid.mk b/buildroot/package/perl-data-uuid/perl-data-uuid.mk new file mode 100644 index 000000000..6ce393960 --- /dev/null +++ b/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/buildroot/package/perl-date-manip/Config.in b/buildroot/package/perl-date-manip/Config.in new file mode 100644 index 000000000..4ebcd4da4 --- /dev/null +++ b/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/buildroot/package/perl-date-manip/perl-date-manip.hash b/buildroot/package/perl-date-manip/perl-date-manip.hash new file mode 100644 index 000000000..6fb8a1896 --- /dev/null +++ b/buildroot/package/perl-date-manip/perl-date-manip.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 0f85b1d9236e22a53dcb1c7f4b4fed77 Date-Manip-6.73.tar.gz +sha256 d39295c7c3f19b43470d1203dded8cb649b41a1098e51b5b7c7cf17b662ca255 Date-Manip-6.73.tar.gz + +# computed by scancpan +sha256 8ba2a138654f8b59b7e1e3ad0d4c81918b9148ff95078b172ccbb45fa241431d LICENSE diff --git a/buildroot/package/perl-date-manip/perl-date-manip.mk b/buildroot/package/perl-date-manip/perl-date-manip.mk new file mode 100644 index 000000000..5e34ba4da --- /dev/null +++ b/buildroot/package/perl-date-manip/perl-date-manip.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-date-manip +# +################################################################################ + +PERL_DATE_MANIP_VERSION = 6.73 +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/buildroot/package/perl-datetime-tiny/Config.in b/buildroot/package/perl-datetime-tiny/Config.in index 7721c0769..ea44ae0c2 100644 --- a/buildroot/package/perl-datetime-tiny/Config.in +++ b/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/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.hash b/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.hash index 68f2c025e..62fe407d2 100644 --- a/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.hash +++ b/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/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.mk b/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.mk index 6b5496719..2a4264261 100644 --- a/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.mk +++ b/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/buildroot/package/perl-dbd-mysql/Config.in b/buildroot/package/perl-dbd-mysql/Config.in new file mode 100644 index 000000000..55bbc9534 --- /dev/null +++ b/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/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.hash b/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.hash new file mode 100644 index 000000000..51de47609 --- /dev/null +++ b/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/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.mk b/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.mk new file mode 100644 index 000000000..98521a78c --- /dev/null +++ b/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/buildroot/package/perl-dbi/Config.in b/buildroot/package/perl-dbi/Config.in new file mode 100644 index 000000000..2c08c7337 --- /dev/null +++ b/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/buildroot/package/perl-dbi/perl-dbi.hash b/buildroot/package/perl-dbi/perl-dbi.hash new file mode 100644 index 000000000..1d0b7e9ad --- /dev/null +++ b/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/buildroot/package/perl-dbi/perl-dbi.mk b/buildroot/package/perl-dbi/perl-dbi.mk new file mode 100644 index 000000000..835e8bdfe --- /dev/null +++ b/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/buildroot/package/perl-devel-globaldestruction/Config.in b/buildroot/package/perl-devel-globaldestruction/Config.in new file mode 100644 index 000000000..a951e20d9 --- /dev/null +++ b/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/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash b/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash new file mode 100644 index 000000000..b3cd6e32f --- /dev/null +++ b/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/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk b/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk new file mode 100644 index 000000000..3d4d60ed2 --- /dev/null +++ b/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/buildroot/package/perl-devel-stacktrace-ashtml/Config.in b/buildroot/package/perl-devel-stacktrace-ashtml/Config.in new file mode 100644 index 000000000..9c73f0e4f --- /dev/null +++ b/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/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash b/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash new file mode 100644 index 000000000..4f31c6a1e --- /dev/null +++ b/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/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk b/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk new file mode 100644 index 000000000..949823c02 --- /dev/null +++ b/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/buildroot/package/perl-devel-stacktrace/Config.in b/buildroot/package/perl-devel-stacktrace/Config.in new file mode 100644 index 000000000..3311f72e9 --- /dev/null +++ b/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/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.hash b/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.hash new file mode 100644 index 000000000..1fcfb6438 --- /dev/null +++ b/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/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.mk b/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.mk new file mode 100644 index 000000000..1d3ec98ec --- /dev/null +++ b/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/buildroot/package/perl-device-serialport/Config.in b/buildroot/package/perl-device-serialport/Config.in new file mode 100644 index 000000000..f14e9794d --- /dev/null +++ b/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/buildroot/package/perl-device-serialport/perl-device-serialport.hash b/buildroot/package/perl-device-serialport/perl-device-serialport.hash new file mode 100644 index 000000000..35ddc13d3 --- /dev/null +++ b/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/buildroot/package/perl-device-serialport/perl-device-serialport.mk b/buildroot/package/perl-device-serialport/perl-device-serialport.mk new file mode 100644 index 000000000..9889c9132 --- /dev/null +++ b/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/buildroot/package/perl-digest-hmac/Config.in b/buildroot/package/perl-digest-hmac/Config.in index 733a53d8a..bb9b45417 100644 --- a/buildroot/package/perl-digest-hmac/Config.in +++ b/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/buildroot/package/perl-digest-hmac/perl-digest-hmac.hash b/buildroot/package/perl-digest-hmac/perl-digest-hmac.hash index 018e4eb0a..84bc86488 100644 --- a/buildroot/package/perl-digest-hmac/perl-digest-hmac.hash +++ b/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/buildroot/package/perl-digest-hmac/perl-digest-hmac.mk b/buildroot/package/perl-digest-hmac/perl-digest-hmac.mk index a926a1e5c..daacf7dab 100644 --- a/buildroot/package/perl-digest-hmac/perl-digest-hmac.mk +++ b/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/buildroot/package/perl-digest-md5/Config.in b/buildroot/package/perl-digest-md5/Config.in new file mode 100644 index 000000000..88aeab6fc --- /dev/null +++ b/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/buildroot/package/perl-digest-md5/perl-digest-md5.hash b/buildroot/package/perl-digest-md5/perl-digest-md5.hash new file mode 100644 index 000000000..3876f3aca --- /dev/null +++ b/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/buildroot/package/perl-digest-md5/perl-digest-md5.mk b/buildroot/package/perl-digest-md5/perl-digest-md5.mk new file mode 100644 index 000000000..19c89d95a --- /dev/null +++ b/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/buildroot/package/perl-digest-sha1/Config.in b/buildroot/package/perl-digest-sha1/Config.in index b72a4ae93..1e093a04a 100644 --- a/buildroot/package/perl-digest-sha1/Config.in +++ b/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/buildroot/package/perl-digest-sha1/perl-digest-sha1.hash b/buildroot/package/perl-digest-sha1/perl-digest-sha1.hash index d24d5ab66..bfc94a12a 100644 --- a/buildroot/package/perl-digest-sha1/perl-digest-sha1.hash +++ b/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/buildroot/package/perl-digest-sha1/perl-digest-sha1.mk b/buildroot/package/perl-digest-sha1/perl-digest-sha1.mk index d93159b94..d3188db14 100644 --- a/buildroot/package/perl-digest-sha1/perl-digest-sha1.mk +++ b/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/buildroot/package/perl-dist-checkconflicts/Config.in b/buildroot/package/perl-dist-checkconflicts/Config.in new file mode 100644 index 000000000..b34496e79 --- /dev/null +++ b/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/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash b/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash new file mode 100644 index 000000000..5605fed4a --- /dev/null +++ b/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/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk b/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk new file mode 100644 index 000000000..47bd19f6c --- /dev/null +++ b/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/buildroot/package/perl-encode-detect/perl-encode-detect.hash b/buildroot/package/perl-encode-detect/perl-encode-detect.hash index c727a4491..1893f1db9 100644 --- a/buildroot/package/perl-encode-detect/perl-encode-detect.hash +++ b/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/buildroot/package/perl-encode-detect/perl-encode-detect.mk b/buildroot/package/perl-encode-detect/perl-encode-detect.mk index 732fba8db..8e9ea7796 100644 --- a/buildroot/package/perl-encode-detect/perl-encode-detect.mk +++ b/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/buildroot/package/perl-encode-locale/Config.in b/buildroot/package/perl-encode-locale/Config.in index d15aecbdf..836e736cd 100644 --- a/buildroot/package/perl-encode-locale/Config.in +++ b/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/buildroot/package/perl-encode-locale/perl-encode-locale.hash b/buildroot/package/perl-encode-locale/perl-encode-locale.hash index 1b6a6bcbc..258eb295a 100644 --- a/buildroot/package/perl-encode-locale/perl-encode-locale.hash +++ b/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/buildroot/package/perl-encode-locale/perl-encode-locale.mk b/buildroot/package/perl-encode-locale/perl-encode-locale.mk index 80d9c3b5f..1e948c65e 100644 --- a/buildroot/package/perl-encode-locale/perl-encode-locale.mk +++ b/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/buildroot/package/perl-exporter-tiny/Config.in b/buildroot/package/perl-exporter-tiny/Config.in new file mode 100644 index 000000000..04839ac15 --- /dev/null +++ b/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/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.hash b/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.hash new file mode 100644 index 000000000..1d36c63a1 --- /dev/null +++ b/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/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.mk b/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.mk new file mode 100644 index 000000000..1ba1a5ac7 --- /dev/null +++ b/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/buildroot/package/perl-extutils-config/perl-extutils-config.hash b/buildroot/package/perl-extutils-config/perl-extutils-config.hash new file mode 100644 index 000000000..518de8418 --- /dev/null +++ b/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/buildroot/package/perl-extutils-config/perl-extutils-config.mk b/buildroot/package/perl-extutils-config/perl-extutils-config.mk new file mode 100644 index 000000000..f46ca3e6f --- /dev/null +++ b/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/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.hash b/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.hash new file mode 100644 index 000000000..2d291901e --- /dev/null +++ b/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/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.mk b/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.mk new file mode 100644 index 000000000..d3b14d88c --- /dev/null +++ b/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/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.hash b/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.hash new file mode 100644 index 000000000..2627a27d5 --- /dev/null +++ b/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/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.mk b/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.mk new file mode 100644 index 000000000..e90e130c3 --- /dev/null +++ b/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/buildroot/package/perl-file-listing/Config.in b/buildroot/package/perl-file-listing/Config.in index 85f8e2eb1..acca98be2 100644 --- a/buildroot/package/perl-file-listing/Config.in +++ b/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/buildroot/package/perl-file-listing/perl-file-listing.hash b/buildroot/package/perl-file-listing/perl-file-listing.hash index 1549c5af1..6189948a1 100644 --- a/buildroot/package/perl-file-listing/perl-file-listing.hash +++ b/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/buildroot/package/perl-file-listing/perl-file-listing.mk b/buildroot/package/perl-file-listing/perl-file-listing.mk index e150de77a..9f3ca9516 100644 --- a/buildroot/package/perl-file-listing/perl-file-listing.mk +++ b/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/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.hash b/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.hash new file mode 100644 index 000000000..abbab34e9 --- /dev/null +++ b/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/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.mk b/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.mk new file mode 100644 index 000000000..3653a4bad --- /dev/null +++ b/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/buildroot/package/perl-file-sharedir/Config.in b/buildroot/package/perl-file-sharedir/Config.in new file mode 100644 index 000000000..169569f77 --- /dev/null +++ b/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/buildroot/package/perl-file-sharedir/perl-file-sharedir.hash b/buildroot/package/perl-file-sharedir/perl-file-sharedir.hash new file mode 100644 index 000000000..e0a496655 --- /dev/null +++ b/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/buildroot/package/perl-file-sharedir/perl-file-sharedir.mk b/buildroot/package/perl-file-sharedir/perl-file-sharedir.mk new file mode 100644 index 000000000..d907f3b06 --- /dev/null +++ b/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/buildroot/package/perl-file-slurp/Config.in b/buildroot/package/perl-file-slurp/Config.in new file mode 100644 index 000000000..33b6d3376 --- /dev/null +++ b/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/buildroot/package/perl-file-slurp/perl-file-slurp.hash b/buildroot/package/perl-file-slurp/perl-file-slurp.hash new file mode 100644 index 000000000..617973191 --- /dev/null +++ b/buildroot/package/perl-file-slurp/perl-file-slurp.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 5c08acb15544113657994960f16c8910 File-Slurp-9999.23.tar.gz +sha256 9eb73287890e172c4e39ce069f0e6a82da90df20dc7e2d52c666e9b07489a7f7 File-Slurp-9999.23.tar.gz + +# computed by scancpan +sha256 21eec4bf12d10c78042734c76873852aaffce278ad4fd90814d91b8c885e6ef3 README.md diff --git a/buildroot/package/perl-file-slurp/perl-file-slurp.mk b/buildroot/package/perl-file-slurp/perl-file-slurp.mk new file mode 100644 index 000000000..fd80d4f6d --- /dev/null +++ b/buildroot/package/perl-file-slurp/perl-file-slurp.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-file-slurp +# +################################################################################ + +PERL_FILE_SLURP_VERSION = 9999.23 +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/buildroot/package/perl-file-util/Config.in b/buildroot/package/perl-file-util/Config.in index 871be988a..ddd155be7 100644 --- a/buildroot/package/perl-file-util/Config.in +++ b/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/buildroot/package/perl-file-util/perl-file-util.hash b/buildroot/package/perl-file-util/perl-file-util.hash index dc3e59e32..0915494f7 100644 --- a/buildroot/package/perl-file-util/perl-file-util.hash +++ b/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/buildroot/package/perl-file-util/perl-file-util.mk b/buildroot/package/perl-file-util/perl-file-util.mk index f8f271219..5437bc11c 100644 --- a/buildroot/package/perl-file-util/perl-file-util.mk +++ b/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/buildroot/package/perl-filesys-notify-simple/Config.in b/buildroot/package/perl-filesys-notify-simple/Config.in new file mode 100644 index 000000000..bff3cc611 --- /dev/null +++ b/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/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash b/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash new file mode 100644 index 000000000..a48394504 --- /dev/null +++ b/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/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk b/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk new file mode 100644 index 000000000..bb48f2278 --- /dev/null +++ b/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/buildroot/package/perl-gd/Config.in b/buildroot/package/perl-gd/Config.in index 2b7a265f1..ef28f7b97 100644 --- a/buildroot/package/perl-gd/Config.in +++ b/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/buildroot/package/perl-gd/perl-gd.hash b/buildroot/package/perl-gd/perl-gd.hash index ad30e0a17..deeda0eb1 100644 --- a/buildroot/package/perl-gd/perl-gd.hash +++ b/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 aa1488a54fd9baba7aadb53720675bdc GD-2.69.tar.gz +sha256 ddb02d491cfd84d30448438c84239b0893d84e9576a90c3b5ed109420fae545d GD-2.69.tar.gz + +# computed by scancpan +sha256 1e2250289d6df4ba1c24f7550982d7ffaff2c97cd02e847659406e1afd28e83f LICENSE diff --git a/buildroot/package/perl-gd/perl-gd.mk b/buildroot/package/perl-gd/perl-gd.mk index 81070a939..751ea983e 100644 --- a/buildroot/package/perl-gd/perl-gd.mk +++ b/buildroot/package/perl-gd/perl-gd.mk @@ -4,12 +4,13 @@ # ################################################################################ -PERL_GD_VERSION = 2.67 +PERL_GD_VERSION = 2.69 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/buildroot/package/perl-gdgraph/Config.in b/buildroot/package/perl-gdgraph/Config.in index 10b3cd032..d8885fe0e 100644 --- a/buildroot/package/perl-gdgraph/Config.in +++ b/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/buildroot/package/perl-gdgraph/perl-gdgraph.hash b/buildroot/package/perl-gdgraph/perl-gdgraph.hash index 2e85452c1..ea994519d 100644 --- a/buildroot/package/perl-gdgraph/perl-gdgraph.hash +++ b/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/buildroot/package/perl-gdgraph/perl-gdgraph.mk b/buildroot/package/perl-gdgraph/perl-gdgraph.mk index c4317075f..284dc9dc2 100644 --- a/buildroot/package/perl-gdgraph/perl-gdgraph.mk +++ b/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/buildroot/package/perl-gdtextutil/Config.in b/buildroot/package/perl-gdtextutil/Config.in index 9baf0a078..cff328e06 100644 --- a/buildroot/package/perl-gdtextutil/Config.in +++ b/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/buildroot/package/perl-gdtextutil/perl-gdtextutil.hash b/buildroot/package/perl-gdtextutil/perl-gdtextutil.hash index 7996ed9d3..f0e947f63 100644 --- a/buildroot/package/perl-gdtextutil/perl-gdtextutil.hash +++ b/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/buildroot/package/perl-gdtextutil/perl-gdtextutil.mk b/buildroot/package/perl-gdtextutil/perl-gdtextutil.mk index 087102a74..cd1617fbb 100644 --- a/buildroot/package/perl-gdtextutil/perl-gdtextutil.mk +++ b/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/buildroot/package/perl-hash-multivalue/Config.in b/buildroot/package/perl-hash-multivalue/Config.in new file mode 100644 index 000000000..8621983d4 --- /dev/null +++ b/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/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.hash b/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.hash new file mode 100644 index 000000000..3a6865069 --- /dev/null +++ b/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/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.mk b/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.mk new file mode 100644 index 000000000..dcbfe8431 --- /dev/null +++ b/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/buildroot/package/perl-html-parser/Config.in b/buildroot/package/perl-html-parser/Config.in index 22a16d646..10cd95e48 100644 --- a/buildroot/package/perl-html-parser/Config.in +++ b/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/buildroot/package/perl-html-parser/perl-html-parser.hash b/buildroot/package/perl-html-parser/perl-html-parser.hash index 0c0bb1f29..f06ec034b 100644 --- a/buildroot/package/perl-html-parser/perl-html-parser.hash +++ b/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/buildroot/package/perl-html-parser/perl-html-parser.mk b/buildroot/package/perl-html-parser/perl-html-parser.mk index 66016eb8b..6e5a81bb7 100644 --- a/buildroot/package/perl-html-parser/perl-html-parser.mk +++ b/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/buildroot/package/perl-html-tagset/Config.in b/buildroot/package/perl-html-tagset/Config.in index a39bc651f..4956198f5 100644 --- a/buildroot/package/perl-html-tagset/Config.in +++ b/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/buildroot/package/perl-html-tagset/perl-html-tagset.hash b/buildroot/package/perl-html-tagset/perl-html-tagset.hash index a4cf09082..9569ece66 100644 --- a/buildroot/package/perl-html-tagset/perl-html-tagset.hash +++ b/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/buildroot/package/perl-html-tagset/perl-html-tagset.mk b/buildroot/package/perl-html-tagset/perl-html-tagset.mk index ff371fa2d..c6b5f6913 100644 --- a/buildroot/package/perl-html-tagset/perl-html-tagset.mk +++ b/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/buildroot/package/perl-http-cookies/Config.in b/buildroot/package/perl-http-cookies/Config.in index 4095fee82..fd869f064 100644 --- a/buildroot/package/perl-http-cookies/Config.in +++ b/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/buildroot/package/perl-http-cookies/perl-http-cookies.hash b/buildroot/package/perl-http-cookies/perl-http-cookies.hash index 361d4db92..e504063fa 100644 --- a/buildroot/package/perl-http-cookies/perl-http-cookies.hash +++ b/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/buildroot/package/perl-http-cookies/perl-http-cookies.mk b/buildroot/package/perl-http-cookies/perl-http-cookies.mk index 0777c0845..74ffe8f42 100644 --- a/buildroot/package/perl-http-cookies/perl-http-cookies.mk +++ b/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/buildroot/package/perl-http-daemon/Config.in b/buildroot/package/perl-http-daemon/Config.in index 7544ece1a..bc03b8c8c 100644 --- a/buildroot/package/perl-http-daemon/Config.in +++ b/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/buildroot/package/perl-http-daemon/perl-http-daemon.hash b/buildroot/package/perl-http-daemon/perl-http-daemon.hash index f4f602308..f7bf64f63 100644 --- a/buildroot/package/perl-http-daemon/perl-http-daemon.hash +++ b/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/buildroot/package/perl-http-daemon/perl-http-daemon.mk b/buildroot/package/perl-http-daemon/perl-http-daemon.mk index 65cdaf8e2..99e053f42 100644 --- a/buildroot/package/perl-http-daemon/perl-http-daemon.mk +++ b/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/buildroot/package/perl-http-date/Config.in b/buildroot/package/perl-http-date/Config.in index 5ce478139..12524e6da 100644 --- a/buildroot/package/perl-http-date/Config.in +++ b/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/buildroot/package/perl-http-date/perl-http-date.hash b/buildroot/package/perl-http-date/perl-http-date.hash index db85cd061..f74ca0cd8 100644 --- a/buildroot/package/perl-http-date/perl-http-date.hash +++ b/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/buildroot/package/perl-http-date/perl-http-date.mk b/buildroot/package/perl-http-date/perl-http-date.mk index feccf25dd..5dc91f31d 100644 --- a/buildroot/package/perl-http-date/perl-http-date.mk +++ b/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/buildroot/package/perl-http-entity-parser/Config.in b/buildroot/package/perl-http-entity-parser/Config.in new file mode 100644 index 000000000..445366b71 --- /dev/null +++ b/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/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.hash b/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.hash new file mode 100644 index 000000000..cb6657413 --- /dev/null +++ b/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/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.mk b/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.mk new file mode 100644 index 000000000..6d814b2f5 --- /dev/null +++ b/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/buildroot/package/perl-http-headers-fast/Config.in b/buildroot/package/perl-http-headers-fast/Config.in new file mode 100644 index 000000000..b4b19e5b2 --- /dev/null +++ b/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/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.hash b/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.hash new file mode 100644 index 000000000..0cba0f95a --- /dev/null +++ b/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/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.mk b/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.mk new file mode 100644 index 000000000..fadf06d5b --- /dev/null +++ b/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/buildroot/package/perl-http-message/Config.in b/buildroot/package/perl-http-message/Config.in index 682a4b01f..82538cfce 100644 --- a/buildroot/package/perl-http-message/Config.in +++ b/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/buildroot/package/perl-http-message/perl-http-message.hash b/buildroot/package/perl-http-message/perl-http-message.hash index a34d0456b..78fda135c 100644 --- a/buildroot/package/perl-http-message/perl-http-message.hash +++ b/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/buildroot/package/perl-http-message/perl-http-message.mk b/buildroot/package/perl-http-message/perl-http-message.mk index 722d6be67..becae4d17 100644 --- a/buildroot/package/perl-http-message/perl-http-message.mk +++ b/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/buildroot/package/perl-http-multipartparser/Config.in b/buildroot/package/perl-http-multipartparser/Config.in new file mode 100644 index 000000000..93c196ca1 --- /dev/null +++ b/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/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.hash b/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.hash new file mode 100644 index 000000000..079c02f60 --- /dev/null +++ b/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/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.mk b/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.mk new file mode 100644 index 000000000..7fb3b8aaa --- /dev/null +++ b/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/buildroot/package/perl-http-negotiate/Config.in b/buildroot/package/perl-http-negotiate/Config.in index dcb1bbbfb..c519ede2d 100644 --- a/buildroot/package/perl-http-negotiate/Config.in +++ b/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/buildroot/package/perl-http-negotiate/perl-http-negotiate.hash b/buildroot/package/perl-http-negotiate/perl-http-negotiate.hash index f1db2fff6..e561496f2 100644 --- a/buildroot/package/perl-http-negotiate/perl-http-negotiate.hash +++ b/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/buildroot/package/perl-http-negotiate/perl-http-negotiate.mk b/buildroot/package/perl-http-negotiate/perl-http-negotiate.mk index 86ca554a6..868516fa7 100644 --- a/buildroot/package/perl-http-negotiate/perl-http-negotiate.mk +++ b/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/buildroot/package/perl-io-html/Config.in b/buildroot/package/perl-io-html/Config.in index 86038af00..e12e39a55 100644 --- a/buildroot/package/perl-io-html/Config.in +++ b/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/buildroot/package/perl-io-html/perl-io-html.hash b/buildroot/package/perl-io-html/perl-io-html.hash index 8d8c48d43..d8d865e8d 100644 --- a/buildroot/package/perl-io-html/perl-io-html.hash +++ b/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/buildroot/package/perl-io-html/perl-io-html.mk b/buildroot/package/perl-io-html/perl-io-html.mk index bb79f450f..ae8c6405a 100644 --- a/buildroot/package/perl-io-html/perl-io-html.mk +++ b/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/buildroot/package/perl-io-interface/Config.in b/buildroot/package/perl-io-interface/Config.in new file mode 100644 index 000000000..e3137b245 --- /dev/null +++ b/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/buildroot/package/perl-io-interface/perl-io-interface.hash b/buildroot/package/perl-io-interface/perl-io-interface.hash new file mode 100644 index 000000000..75e572f91 --- /dev/null +++ b/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/buildroot/package/perl-io-interface/perl-io-interface.mk b/buildroot/package/perl-io-interface/perl-io-interface.mk new file mode 100644 index 000000000..84e4d1a9b --- /dev/null +++ b/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/buildroot/package/perl-io-socket-multicast/Config.in b/buildroot/package/perl-io-socket-multicast/Config.in new file mode 100644 index 000000000..b1328c5b0 --- /dev/null +++ b/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/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.hash b/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.hash new file mode 100644 index 000000000..c12da12c4 --- /dev/null +++ b/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/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.mk b/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.mk new file mode 100644 index 000000000..a8c6896ce --- /dev/null +++ b/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/buildroot/package/perl-io-socket-ssl/Config.in b/buildroot/package/perl-io-socket-ssl/Config.in index d24e568bc..a7b94a392 100644 --- a/buildroot/package/perl-io-socket-ssl/Config.in +++ b/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/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.hash b/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.hash index 3bf0421ee..ad9e5ae4b 100644 --- a/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.hash +++ b/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/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.mk b/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.mk index 62fc2298c..e4857c70c 100644 --- a/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.mk +++ b/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/buildroot/package/perl-json-maybexs/Config.in b/buildroot/package/perl-json-maybexs/Config.in new file mode 100644 index 000000000..7959b2c3a --- /dev/null +++ b/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/buildroot/package/perl-json-maybexs/perl-json-maybexs.hash b/buildroot/package/perl-json-maybexs/perl-json-maybexs.hash new file mode 100644 index 000000000..c8bf172aa --- /dev/null +++ b/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/buildroot/package/perl-json-maybexs/perl-json-maybexs.mk b/buildroot/package/perl-json-maybexs/perl-json-maybexs.mk new file mode 100644 index 000000000..cb6518b59 --- /dev/null +++ b/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/buildroot/package/perl-json-tiny/perl-json-tiny.hash b/buildroot/package/perl-json-tiny/perl-json-tiny.hash index 86478da9a..48fae2b0c 100644 --- a/buildroot/package/perl-json-tiny/perl-json-tiny.hash +++ b/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/buildroot/package/perl-json-tiny/perl-json-tiny.mk b/buildroot/package/perl-json-tiny/perl-json-tiny.mk index 6b45613c5..886cff810 100644 --- a/buildroot/package/perl-json-tiny/perl-json-tiny.mk +++ b/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/buildroot/package/perl-libwww-perl/Config.in b/buildroot/package/perl-libwww-perl/Config.in index 09fc00543..6e191dd52 100644 --- a/buildroot/package/perl-libwww-perl/Config.in +++ b/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/buildroot/package/perl-libwww-perl/perl-libwww-perl.hash b/buildroot/package/perl-libwww-perl/perl-libwww-perl.hash index 7ce085304..b6d8382af 100644 --- a/buildroot/package/perl-libwww-perl/perl-libwww-perl.hash +++ b/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/buildroot/package/perl-libwww-perl/perl-libwww-perl.mk b/buildroot/package/perl-libwww-perl/perl-libwww-perl.mk index cdff6b41b..c3367e10c 100644 --- a/buildroot/package/perl-libwww-perl/perl-libwww-perl.mk +++ b/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/buildroot/package/perl-lwp-mediatypes/Config.in b/buildroot/package/perl-lwp-mediatypes/Config.in index ae2056ade..488109014 100644 --- a/buildroot/package/perl-lwp-mediatypes/Config.in +++ b/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/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash b/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash index 0f6fee923..b459bb066 100644 --- a/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash +++ b/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/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk b/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk index bcf4e5f74..3ba2abc89 100644 --- a/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk +++ b/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/buildroot/package/perl-mail-dkim/Config.in b/buildroot/package/perl-mail-dkim/Config.in index 3db54f3c3..057796b50 100644 --- a/buildroot/package/perl-mail-dkim/Config.in +++ b/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/buildroot/package/perl-mail-dkim/perl-mail-dkim.hash b/buildroot/package/perl-mail-dkim/perl-mail-dkim.hash index c40e66e99..6d0b07970 100644 --- a/buildroot/package/perl-mail-dkim/perl-mail-dkim.hash +++ b/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/buildroot/package/perl-mail-dkim/perl-mail-dkim.mk b/buildroot/package/perl-mail-dkim/perl-mail-dkim.mk index e088ecf1a..986df27cb 100644 --- a/buildroot/package/perl-mail-dkim/perl-mail-dkim.mk +++ b/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/buildroot/package/perl-mailtools/Config.in b/buildroot/package/perl-mailtools/Config.in index 2123c61ea..a442e7193 100644 --- a/buildroot/package/perl-mailtools/Config.in +++ b/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/buildroot/package/perl-mailtools/perl-mailtools.hash b/buildroot/package/perl-mailtools/perl-mailtools.hash index cb33453ec..1db4772f5 100644 --- a/buildroot/package/perl-mailtools/perl-mailtools.hash +++ b/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/buildroot/package/perl-mailtools/perl-mailtools.mk b/buildroot/package/perl-mailtools/perl-mailtools.mk index 75079f9e8..ef58849b9 100644 --- a/buildroot/package/perl-mailtools/perl-mailtools.mk +++ b/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/buildroot/package/perl-mime-base64-urlsafe/Config.in b/buildroot/package/perl-mime-base64-urlsafe/Config.in new file mode 100644 index 000000000..be4540a47 --- /dev/null +++ b/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/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.hash b/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.hash new file mode 100644 index 000000000..c6d01afe3 --- /dev/null +++ b/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/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk b/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk new file mode 100644 index 000000000..1a6a36eea --- /dev/null +++ b/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/buildroot/package/perl-mime-base64/Config.in b/buildroot/package/perl-mime-base64/Config.in index 702259853..ecb3d2ee6 100644 --- a/buildroot/package/perl-mime-base64/Config.in +++ b/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/buildroot/package/perl-mime-base64/perl-mime-base64.hash b/buildroot/package/perl-mime-base64/perl-mime-base64.hash index 0cfe598c8..77bd7b063 100644 --- a/buildroot/package/perl-mime-base64/perl-mime-base64.hash +++ b/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/buildroot/package/perl-mime-base64/perl-mime-base64.mk b/buildroot/package/perl-mime-base64/perl-mime-base64.mk index e7febe193..201707d46 100644 --- a/buildroot/package/perl-mime-base64/perl-mime-base64.mk +++ b/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/buildroot/package/perl-mime-tools/Config.in b/buildroot/package/perl-mime-tools/Config.in new file mode 100644 index 000000000..f8495c325 --- /dev/null +++ b/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/buildroot/package/perl-mime-tools/perl-mime-tools.hash b/buildroot/package/perl-mime-tools/perl-mime-tools.hash new file mode 100644 index 000000000..41e13eb0b --- /dev/null +++ b/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/buildroot/package/perl-mime-tools/perl-mime-tools.mk b/buildroot/package/perl-mime-tools/perl-mime-tools.mk new file mode 100644 index 000000000..10279d730 --- /dev/null +++ b/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/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.hash b/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.hash new file mode 100644 index 000000000..357c238dd --- /dev/null +++ b/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/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.mk b/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.mk new file mode 100644 index 000000000..cdf6ac3ec --- /dev/null +++ b/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/buildroot/package/perl-module-build/perl-module-build.hash b/buildroot/package/perl-module-build/perl-module-build.hash index 17e8b4e5d..fa0f22316 100644 --- a/buildroot/package/perl-module-build/perl-module-build.hash +++ b/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/buildroot/package/perl-module-build/perl-module-build.mk b/buildroot/package/perl-module-build/perl-module-build.mk index 42c9c1114..caf68f7fe 100644 --- a/buildroot/package/perl-module-build/perl-module-build.mk +++ b/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/buildroot/package/perl-module-implementation/Config.in b/buildroot/package/perl-module-implementation/Config.in new file mode 100644 index 000000000..04561dea0 --- /dev/null +++ b/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/buildroot/package/perl-module-implementation/perl-module-implementation.hash b/buildroot/package/perl-module-implementation/perl-module-implementation.hash new file mode 100644 index 000000000..caf365c02 --- /dev/null +++ b/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/buildroot/package/perl-module-implementation/perl-module-implementation.mk b/buildroot/package/perl-module-implementation/perl-module-implementation.mk new file mode 100644 index 000000000..7cf7cbb21 --- /dev/null +++ b/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/buildroot/package/perl-module-runtime/Config.in b/buildroot/package/perl-module-runtime/Config.in new file mode 100644 index 000000000..1db03e5ba --- /dev/null +++ b/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/buildroot/package/perl-module-runtime/perl-module-runtime.hash b/buildroot/package/perl-module-runtime/perl-module-runtime.hash new file mode 100644 index 000000000..c52cb7550 --- /dev/null +++ b/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/buildroot/package/perl-module-runtime/perl-module-runtime.mk b/buildroot/package/perl-module-runtime/perl-module-runtime.mk new file mode 100644 index 000000000..dcf045cf1 --- /dev/null +++ b/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/buildroot/package/perl-mojolicious-plugin-authentication/Config.in b/buildroot/package/perl-mojolicious-plugin-authentication/Config.in new file mode 100644 index 000000000..4fa01806f --- /dev/null +++ b/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/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash b/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash new file mode 100644 index 000000000..f225ff486 --- /dev/null +++ b/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/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk b/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk new file mode 100644 index 000000000..cce12314d --- /dev/null +++ b/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/buildroot/package/perl-mojolicious/Config.in b/buildroot/package/perl-mojolicious/Config.in index ebf0932b9..8bcce5f02 100644 --- a/buildroot/package/perl-mojolicious/Config.in +++ b/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/buildroot/package/perl-mojolicious/perl-mojolicious.hash b/buildroot/package/perl-mojolicious/perl-mojolicious.hash index 0593a3cc6..b406f6d82 100644 --- a/buildroot/package/perl-mojolicious/perl-mojolicious.hash +++ b/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 f1d22e9110f1b51f4be9a40a84391089 Mojolicious-8.04.tar.gz +sha256 330e919f3caf62e03fdc545dda2e66f772f30192aed6c47e19fd78f67de557fb Mojolicious-8.04.tar.gz + +# computed by scancpan +sha256 19e2e0f2079ea1ce1576eb4ecc0575b33fe45b2b8e71f4aa589d6bedd1da4e0a LICENSE diff --git a/buildroot/package/perl-mojolicious/perl-mojolicious.mk b/buildroot/package/perl-mojolicious/perl-mojolicious.mk index 4e94c47a7..8ea0c2e01 100644 --- a/buildroot/package/perl-mojolicious/perl-mojolicious.mk +++ b/buildroot/package/perl-mojolicious/perl-mojolicious.mk @@ -4,10 +4,11 @@ # ################################################################################ -PERL_MOJOLICIOUS_VERSION = 7.61 +PERL_MOJOLICIOUS_VERSION = 8.04 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/buildroot/package/perl-moo/Config.in b/buildroot/package/perl-moo/Config.in new file mode 100644 index 000000000..141b95ca5 --- /dev/null +++ b/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/buildroot/package/perl-moo/perl-moo.hash b/buildroot/package/perl-moo/perl-moo.hash new file mode 100644 index 000000000..509a9ea4e --- /dev/null +++ b/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/buildroot/package/perl-moo/perl-moo.mk b/buildroot/package/perl-moo/perl-moo.mk new file mode 100644 index 000000000..64e8d748a --- /dev/null +++ b/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/buildroot/package/perl-net-dns/Config.in b/buildroot/package/perl-net-dns/Config.in index c156505c7..cf6865544 100644 --- a/buildroot/package/perl-net-dns/Config.in +++ b/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/buildroot/package/perl-net-dns/perl-net-dns.hash b/buildroot/package/perl-net-dns/perl-net-dns.hash index 1572a9f3c..7a2bba564 100644 --- a/buildroot/package/perl-net-dns/perl-net-dns.hash +++ b/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 67af7e5c1c339f60c45c1054374bd8ee Net-DNS-1.18.tar.gz +sha256 52ce1494fc9707fd5a60ed71db5cde727157b7f2363787d730d4d1bd9800a9d3 Net-DNS-1.18.tar.gz + +# computed by scancpan +sha256 afa7d288df3e3edbdb34790407ba4a9c7750c2746059d9355f4168bfb3212583 README diff --git a/buildroot/package/perl-net-dns/perl-net-dns.mk b/buildroot/package/perl-net-dns/perl-net-dns.mk index 0066a31ba..4e00b2f89 100644 --- a/buildroot/package/perl-net-dns/perl-net-dns.mk +++ b/buildroot/package/perl-net-dns/perl-net-dns.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_NET_DNS_VERSION = 1.14 +PERL_NET_DNS_VERSION = 1.18 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/buildroot/package/perl-net-http/Config.in b/buildroot/package/perl-net-http/Config.in index 63215772a..c09f3843b 100644 --- a/buildroot/package/perl-net-http/Config.in +++ b/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/buildroot/package/perl-net-http/perl-net-http.hash b/buildroot/package/perl-net-http/perl-net-http.hash index ff59a0d9d..0dd996495 100644 --- a/buildroot/package/perl-net-http/perl-net-http.hash +++ b/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/buildroot/package/perl-net-http/perl-net-http.mk b/buildroot/package/perl-net-http/perl-net-http.mk index f13614e34..da65450ea 100644 --- a/buildroot/package/perl-net-http/perl-net-http.mk +++ b/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/buildroot/package/perl-net-ping/Config.in b/buildroot/package/perl-net-ping/Config.in new file mode 100644 index 000000000..21239a095 --- /dev/null +++ b/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/buildroot/package/perl-net-ping/perl-net-ping.hash b/buildroot/package/perl-net-ping/perl-net-ping.hash new file mode 100644 index 000000000..c3bff0339 --- /dev/null +++ b/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/buildroot/package/perl-net-ping/perl-net-ping.mk b/buildroot/package/perl-net-ping/perl-net-ping.mk new file mode 100644 index 000000000..5e8f53be1 --- /dev/null +++ b/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/buildroot/package/perl-net-snmp/Config.in b/buildroot/package/perl-net-snmp/Config.in new file mode 100644 index 000000000..850cd9ba3 --- /dev/null +++ b/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/buildroot/package/perl-net-snmp/perl-net-snmp.hash b/buildroot/package/perl-net-snmp/perl-net-snmp.hash new file mode 100644 index 000000000..0b162e6dc --- /dev/null +++ b/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/buildroot/package/perl-net-snmp/perl-net-snmp.mk b/buildroot/package/perl-net-snmp/perl-net-snmp.mk new file mode 100644 index 000000000..ae8607e40 --- /dev/null +++ b/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/buildroot/package/perl-net-ssh2/Config.in b/buildroot/package/perl-net-ssh2/Config.in new file mode 100644 index 000000000..4dfd6e1dd --- /dev/null +++ b/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/buildroot/package/perl-net-ssh2/perl-net-ssh2.hash b/buildroot/package/perl-net-ssh2/perl-net-ssh2.hash new file mode 100644 index 000000000..7a84949a6 --- /dev/null +++ b/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/buildroot/package/perl-net-ssh2/perl-net-ssh2.mk b/buildroot/package/perl-net-ssh2/perl-net-ssh2.mk new file mode 100644 index 000000000..7860c7f05 --- /dev/null +++ b/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/buildroot/package/perl-net-ssleay/Config.in b/buildroot/package/perl-net-ssleay/Config.in index 80178e0b9..6998553ef 100644 --- a/buildroot/package/perl-net-ssleay/Config.in +++ b/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/buildroot/package/perl-net-ssleay/perl-net-ssleay.hash b/buildroot/package/perl-net-ssleay/perl-net-ssleay.hash index daa2c186b..517b3c4da 100644 --- a/buildroot/package/perl-net-ssleay/perl-net-ssleay.hash +++ b/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/buildroot/package/perl-net-ssleay/perl-net-ssleay.mk b/buildroot/package/perl-net-ssleay/perl-net-ssleay.mk index 3814038cc..80ce8b9cc 100644 --- a/buildroot/package/perl-net-ssleay/perl-net-ssleay.mk +++ b/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/buildroot/package/perl-net-telnet/Config.in b/buildroot/package/perl-net-telnet/Config.in new file mode 100644 index 000000000..c4f68072b --- /dev/null +++ b/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/buildroot/package/perl-net-telnet/perl-net-telnet.hash b/buildroot/package/perl-net-telnet/perl-net-telnet.hash new file mode 100644 index 000000000..cf1def6a5 --- /dev/null +++ b/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/buildroot/package/perl-net-telnet/perl-net-telnet.mk b/buildroot/package/perl-net-telnet/perl-net-telnet.mk new file mode 100644 index 000000000..0b9cce0af --- /dev/null +++ b/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/buildroot/package/perl-netaddr-ip/Config.in b/buildroot/package/perl-netaddr-ip/Config.in index d4061e1df..3536c3496 100644 --- a/buildroot/package/perl-netaddr-ip/Config.in +++ b/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/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.hash b/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.hash index fde62b122..ce0477d97 100644 --- a/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.hash +++ b/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/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.mk b/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.mk index a1f02c691..4824b4e9e 100644 --- a/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.mk +++ b/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/buildroot/package/perl-number-bytes-human/Config.in b/buildroot/package/perl-number-bytes-human/Config.in new file mode 100644 index 000000000..b56f70b00 --- /dev/null +++ b/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/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.hash b/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.hash new file mode 100644 index 000000000..af7a6b65a --- /dev/null +++ b/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/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.mk b/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.mk new file mode 100644 index 000000000..d2d712f8f --- /dev/null +++ b/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/buildroot/package/perl-package-stash/Config.in b/buildroot/package/perl-package-stash/Config.in new file mode 100644 index 000000000..6b7ca2478 --- /dev/null +++ b/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/buildroot/package/perl-package-stash/perl-package-stash.hash b/buildroot/package/perl-package-stash/perl-package-stash.hash new file mode 100644 index 000000000..4d9b20287 --- /dev/null +++ b/buildroot/package/perl-package-stash/perl-package-stash.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 7e47a8261312e1cf3d12bd2007916b66 Package-Stash-0.37.tar.gz +sha256 06ab05388f9130cd377c0e1d3e3bafeed6ef6a1e22104571a9e1d7bfac787b2c Package-Stash-0.37.tar.gz + +# computed by scancpan +sha256 b4e0637ed96008ddcbf7e0ddeb73967df3d0b4dc62a6b7fdb86eac37018cb12e LICENSE diff --git a/buildroot/package/perl-package-stash/perl-package-stash.mk b/buildroot/package/perl-package-stash/perl-package-stash.mk new file mode 100644 index 000000000..26e8eb325 --- /dev/null +++ b/buildroot/package/perl-package-stash/perl-package-stash.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-package-stash +# +################################################################################ + +PERL_PACKAGE_STASH_VERSION = 0.37 +PERL_PACKAGE_STASH_SOURCE = Package-Stash-$(PERL_PACKAGE_STASH_VERSION).tar.gz +PERL_PACKAGE_STASH_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DO/DOY +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/buildroot/package/perl-params-util/Config.in b/buildroot/package/perl-params-util/Config.in new file mode 100644 index 000000000..bbc821674 --- /dev/null +++ b/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/buildroot/package/perl-params-util/perl-params-util.hash b/buildroot/package/perl-params-util/perl-params-util.hash new file mode 100644 index 000000000..0c247ebfe --- /dev/null +++ b/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/buildroot/package/perl-params-util/perl-params-util.mk b/buildroot/package/perl-params-util/perl-params-util.mk new file mode 100644 index 000000000..c33ea816e --- /dev/null +++ b/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/buildroot/package/perl-path-tiny/Config.in b/buildroot/package/perl-path-tiny/Config.in index f85e792dd..f79de73e7 100644 --- a/buildroot/package/perl-path-tiny/Config.in +++ b/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/buildroot/package/perl-path-tiny/perl-path-tiny.hash b/buildroot/package/perl-path-tiny/perl-path-tiny.hash index 49b6661e7..2ad8a6414 100644 --- a/buildroot/package/perl-path-tiny/perl-path-tiny.hash +++ b/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/buildroot/package/perl-path-tiny/perl-path-tiny.mk b/buildroot/package/perl-path-tiny/perl-path-tiny.mk index 53e787dc1..5d654efee 100644 --- a/buildroot/package/perl-path-tiny/perl-path-tiny.mk +++ b/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/buildroot/package/perl-plack/Config.in b/buildroot/package/perl-plack/Config.in new file mode 100644 index 000000000..c81ac4a44 --- /dev/null +++ b/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/buildroot/package/perl-plack/perl-plack.hash b/buildroot/package/perl-plack/perl-plack.hash new file mode 100644 index 000000000..7324b726a --- /dev/null +++ b/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/buildroot/package/perl-plack/perl-plack.mk b/buildroot/package/perl-plack/perl-plack.mk new file mode 100644 index 000000000..cccf5a622 --- /dev/null +++ b/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/buildroot/package/perl-posix-strftime-compiler/Config.in b/buildroot/package/perl-posix-strftime-compiler/Config.in new file mode 100644 index 000000000..3c8d7d240 --- /dev/null +++ b/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/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash b/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash new file mode 100644 index 000000000..e8c5219c4 --- /dev/null +++ b/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/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk b/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk new file mode 100644 index 000000000..d7e23d254 --- /dev/null +++ b/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/buildroot/package/perl-role-tiny/Config.in b/buildroot/package/perl-role-tiny/Config.in new file mode 100644 index 000000000..ebbe72020 --- /dev/null +++ b/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/buildroot/package/perl-role-tiny/perl-role-tiny.hash b/buildroot/package/perl-role-tiny/perl-role-tiny.hash new file mode 100644 index 000000000..33601bb6b --- /dev/null +++ b/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/buildroot/package/perl-role-tiny/perl-role-tiny.mk b/buildroot/package/perl-role-tiny/perl-role-tiny.mk new file mode 100644 index 000000000..6501972f2 --- /dev/null +++ b/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/buildroot/package/perl-stream-buffered/Config.in b/buildroot/package/perl-stream-buffered/Config.in new file mode 100644 index 000000000..3bddefe57 --- /dev/null +++ b/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/buildroot/package/perl-stream-buffered/perl-stream-buffered.hash b/buildroot/package/perl-stream-buffered/perl-stream-buffered.hash new file mode 100644 index 000000000..a40955d8f --- /dev/null +++ b/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/buildroot/package/perl-stream-buffered/perl-stream-buffered.mk b/buildroot/package/perl-stream-buffered/perl-stream-buffered.mk new file mode 100644 index 000000000..63aa1a246 --- /dev/null +++ b/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/buildroot/package/perl-sub-exporter-progressive/Config.in b/buildroot/package/perl-sub-exporter-progressive/Config.in new file mode 100644 index 000000000..e44de83e6 --- /dev/null +++ b/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/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash b/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash new file mode 100644 index 000000000..6bd244164 --- /dev/null +++ b/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/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk b/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk new file mode 100644 index 000000000..22fc29d5b --- /dev/null +++ b/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/buildroot/package/perl-sub-install/Config.in b/buildroot/package/perl-sub-install/Config.in new file mode 100644 index 000000000..d1f539c08 --- /dev/null +++ b/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/buildroot/package/perl-sub-install/perl-sub-install.hash b/buildroot/package/perl-sub-install/perl-sub-install.hash new file mode 100644 index 000000000..3abd9940e --- /dev/null +++ b/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/buildroot/package/perl-sub-install/perl-sub-install.mk b/buildroot/package/perl-sub-install/perl-sub-install.mk new file mode 100644 index 000000000..85d60caf5 --- /dev/null +++ b/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/buildroot/package/perl-sub-quote/Config.in b/buildroot/package/perl-sub-quote/Config.in new file mode 100644 index 000000000..4487e9303 --- /dev/null +++ b/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/buildroot/package/perl-sub-quote/perl-sub-quote.hash b/buildroot/package/perl-sub-quote/perl-sub-quote.hash new file mode 100644 index 000000000..8af5e2c07 --- /dev/null +++ b/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/buildroot/package/perl-sub-quote/perl-sub-quote.mk b/buildroot/package/perl-sub-quote/perl-sub-quote.mk new file mode 100644 index 000000000..1e364f213 --- /dev/null +++ b/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/buildroot/package/perl-sys-cpu/0001-remove-extraneous-include.patch b/buildroot/package/perl-sys-cpu/0001-remove-extraneous-include.patch new file mode 100644 index 000000000..eb7d8f76a --- /dev/null +++ b/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/buildroot/package/perl-sys-cpu/Config.in b/buildroot/package/perl-sys-cpu/Config.in new file mode 100644 index 000000000..8306b371d --- /dev/null +++ b/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/buildroot/package/perl-sys-cpu/perl-sys-cpu.hash b/buildroot/package/perl-sys-cpu/perl-sys-cpu.hash new file mode 100644 index 000000000..0977606b1 --- /dev/null +++ b/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/buildroot/package/perl-sys-cpu/perl-sys-cpu.mk b/buildroot/package/perl-sys-cpu/perl-sys-cpu.mk new file mode 100644 index 000000000..8402bef8f --- /dev/null +++ b/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/buildroot/package/perl-sys-meminfo/Config.in b/buildroot/package/perl-sys-meminfo/Config.in new file mode 100644 index 000000000..2175d88dd --- /dev/null +++ b/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/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.hash b/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.hash new file mode 100644 index 000000000..207cfad2b --- /dev/null +++ b/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/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.mk b/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.mk new file mode 100644 index 000000000..e70dd73af --- /dev/null +++ b/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/buildroot/package/perl-sys-mmap/Config.in b/buildroot/package/perl-sys-mmap/Config.in new file mode 100644 index 000000000..989e6bf23 --- /dev/null +++ b/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/buildroot/package/perl-sys-mmap/perl-sys-mmap.hash b/buildroot/package/perl-sys-mmap/perl-sys-mmap.hash new file mode 100644 index 000000000..d50fb717d --- /dev/null +++ b/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/buildroot/package/perl-sys-mmap/perl-sys-mmap.mk b/buildroot/package/perl-sys-mmap/perl-sys-mmap.mk new file mode 100644 index 000000000..489d4dd7e --- /dev/null +++ b/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/buildroot/package/perl-time-hires/Config.in b/buildroot/package/perl-time-hires/Config.in index fe933a4d8..db2ca039c 100644 --- a/buildroot/package/perl-time-hires/Config.in +++ b/buildroot/package/perl-time-hires/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PERL_TIME_HIRES bool "perl-time-hires" depends on !BR2_STATIC_LIBS help - High resolution alarm, sleep, gettimeofday, interval timers + High resolution alarm, sleep, gettimeofday, interval timers. https://metacpan.org/release/Time-HiRes diff --git a/buildroot/package/perl-time-hires/perl-time-hires.hash b/buildroot/package/perl-time-hires/perl-time-hires.hash index f3ab700ea..426076668 100644 --- a/buildroot/package/perl-time-hires/perl-time-hires.hash +++ b/buildroot/package/perl-time-hires/perl-time-hires.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 b98099e0cb7702210606776e9746e103 Time-HiRes-1.9753.tar.gz -sha256 0fbfd5f99cdd26011d5c0bc3a8e369dacc4a9e1d1658f4663ac6018f2cec4915 Time-HiRes-1.9753.tar.gz +md5 8f998cb60966c86e24c500016e4d1ce8 Time-HiRes-1.9758.tar.gz +sha256 5bfa145bc11e70a8e337543b1084a293743a690691b568493455dedf58f34b1e Time-HiRes-1.9758.tar.gz + +# computed by scancpan +sha256 ecc20782bd6c34d2d632356020f9ad0150c7ae1803ae9560258d76d4533030da README diff --git a/buildroot/package/perl-time-hires/perl-time-hires.mk b/buildroot/package/perl-time-hires/perl-time-hires.mk index c8dde49f2..03322c3fb 100644 --- a/buildroot/package/perl-time-hires/perl-time-hires.mk +++ b/buildroot/package/perl-time-hires/perl-time-hires.mk @@ -4,10 +4,11 @@ # ################################################################################ -PERL_TIME_HIRES_VERSION = 1.9753 +PERL_TIME_HIRES_VERSION = 1.9758 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 +PERL_TIME_HIRES_DISTNAME = Time-HiRes $(eval $(perl-package)) diff --git a/buildroot/package/perl-time-parsedate/Config.in b/buildroot/package/perl-time-parsedate/Config.in new file mode 100644 index 000000000..bd5957d91 --- /dev/null +++ b/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/buildroot/package/perl-time-parsedate/perl-time-parsedate.hash b/buildroot/package/perl-time-parsedate/perl-time-parsedate.hash new file mode 100644 index 000000000..39ce6b93f --- /dev/null +++ b/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/buildroot/package/perl-time-parsedate/perl-time-parsedate.mk b/buildroot/package/perl-time-parsedate/perl-time-parsedate.mk new file mode 100644 index 000000000..cba8c7b6b --- /dev/null +++ b/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/buildroot/package/perl-timedate/Config.in b/buildroot/package/perl-timedate/Config.in index 7ce9de1a7..84ba8ff6f 100644 --- a/buildroot/package/perl-timedate/Config.in +++ b/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/buildroot/package/perl-timedate/perl-timedate.hash b/buildroot/package/perl-timedate/perl-timedate.hash index 28a9f078d..234136d0c 100644 --- a/buildroot/package/perl-timedate/perl-timedate.hash +++ b/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/buildroot/package/perl-timedate/perl-timedate.mk b/buildroot/package/perl-timedate/perl-timedate.mk index cdc2c07fe..bc4fc9a11 100644 --- a/buildroot/package/perl-timedate/perl-timedate.mk +++ b/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/buildroot/package/perl-try-tiny/Config.in b/buildroot/package/perl-try-tiny/Config.in index 5c115b638..c4329dc1d 100644 --- a/buildroot/package/perl-try-tiny/Config.in +++ b/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/buildroot/package/perl-try-tiny/perl-try-tiny.hash b/buildroot/package/perl-try-tiny/perl-try-tiny.hash index 85f604011..65731bc14 100644 --- a/buildroot/package/perl-try-tiny/perl-try-tiny.hash +++ b/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/buildroot/package/perl-try-tiny/perl-try-tiny.mk b/buildroot/package/perl-try-tiny/perl-try-tiny.mk index f9113e706..bce96269d 100644 --- a/buildroot/package/perl-try-tiny/perl-try-tiny.mk +++ b/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/buildroot/package/perl-type-tiny/Config.in b/buildroot/package/perl-type-tiny/Config.in new file mode 100644 index 000000000..c49a0d4bb --- /dev/null +++ b/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/buildroot/package/perl-type-tiny/perl-type-tiny.hash b/buildroot/package/perl-type-tiny/perl-type-tiny.hash new file mode 100644 index 000000000..a9e028f87 --- /dev/null +++ b/buildroot/package/perl-type-tiny/perl-type-tiny.hash @@ -0,0 +1,7 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 fad12549fe5b904173e18a05e82e5166 Type-Tiny-1.004002.tar.gz +sha256 e52c7e9593052aed157a15d473b5c25a1dbb3454bf3cd6913df94cc9bb2be707 Type-Tiny-1.004002.tar.gz + +# computed by scancpan +sha256 0caa5aef37fdb3eddc52419d193df594550c621b84f5990830482f9f8226adde COPYRIGHT +sha256 c614dadb36b02257ab492e3d4341e52f3f03fe8147cafd2b7da03b3b5c0361e9 LICENSE diff --git a/buildroot/package/perl-type-tiny/perl-type-tiny.mk b/buildroot/package/perl-type-tiny/perl-type-tiny.mk new file mode 100644 index 000000000..d3cdd28bd --- /dev/null +++ b/buildroot/package/perl-type-tiny/perl-type-tiny.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-type-tiny +# +################################################################################ + +PERL_TYPE_TINY_VERSION = 1.004002 +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/buildroot/package/perl-uri/Config.in b/buildroot/package/perl-uri/Config.in index 23e5c50e0..3f51c517f 100644 --- a/buildroot/package/perl-uri/Config.in +++ b/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/buildroot/package/perl-uri/perl-uri.hash b/buildroot/package/perl-uri/perl-uri.hash index 5f27230e5..4ef17ece6 100644 --- a/buildroot/package/perl-uri/perl-uri.hash +++ b/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 892f7183b178af40f205ba37128225db URI-1.74.tar.gz +sha256 a9c254f45f89cb1dd946b689dfe433095404532a4543bdaab0b71ce0fdcdd53d URI-1.74.tar.gz + +# computed by scancpan +sha256 65cd6f88516a30f56fd4e0080fb78ea69424fc89067470dc994e4abfba08664e LICENSE diff --git a/buildroot/package/perl-uri/perl-uri.mk b/buildroot/package/perl-uri/perl-uri.mk index 690a0eb8c..5be440131 100644 --- a/buildroot/package/perl-uri/perl-uri.mk +++ b/buildroot/package/perl-uri/perl-uri.mk @@ -4,10 +4,11 @@ # ################################################################################ -PERL_URI_VERSION = 1.73 +PERL_URI_VERSION = 1.74 PERL_URI_SOURCE = URI-$(PERL_URI_VERSION).tar.gz PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER PERL_URI_LICENSE = Artistic or GPL-1.0+ PERL_URI_LICENSE_FILES = LICENSE +PERL_URI_DISTNAME = URI $(eval $(perl-package)) diff --git a/buildroot/package/perl-www-form-urlencoded/Config.in b/buildroot/package/perl-www-form-urlencoded/Config.in new file mode 100644 index 000000000..67759c8f7 --- /dev/null +++ b/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/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash b/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash new file mode 100644 index 000000000..2ad969a12 --- /dev/null +++ b/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/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk b/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk new file mode 100644 index 000000000..a0ccba531 --- /dev/null +++ b/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/buildroot/package/perl-www-robotrules/Config.in b/buildroot/package/perl-www-robotrules/Config.in index 3e7175e33..6ecf58afd 100644 --- a/buildroot/package/perl-www-robotrules/Config.in +++ b/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/buildroot/package/perl-www-robotrules/perl-www-robotrules.hash b/buildroot/package/perl-www-robotrules/perl-www-robotrules.hash index 9091a2965..41f2d7a19 100644 --- a/buildroot/package/perl-www-robotrules/perl-www-robotrules.hash +++ b/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/buildroot/package/perl-www-robotrules/perl-www-robotrules.mk b/buildroot/package/perl-www-robotrules/perl-www-robotrules.mk index 5e8bab9d5..052d9a674 100644 --- a/buildroot/package/perl-www-robotrules/perl-www-robotrules.mk +++ b/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/buildroot/package/perl-x10/Config.in b/buildroot/package/perl-x10/Config.in new file mode 100644 index 000000000..834ffefad --- /dev/null +++ b/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/buildroot/package/perl-x10/perl-x10.hash b/buildroot/package/perl-x10/perl-x10.hash new file mode 100644 index 000000000..5411390e3 --- /dev/null +++ b/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/buildroot/package/perl-x10/perl-x10.mk b/buildroot/package/perl-x10/perl-x10.mk new file mode 100644 index 000000000..4c90be65b --- /dev/null +++ b/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/buildroot/package/perl-xml-libxml/Config.in b/buildroot/package/perl-xml-libxml/Config.in index fb15e1011..ce0a4783d 100644 --- a/buildroot/package/perl-xml-libxml/Config.in +++ b/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/buildroot/package/perl-xml-libxml/perl-xml-libxml.hash b/buildroot/package/perl-xml-libxml/perl-xml-libxml.hash index bbe841a60..a3f4d5d64 100644 --- a/buildroot/package/perl-xml-libxml/perl-xml-libxml.hash +++ b/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/buildroot/package/perl-xml-libxml/perl-xml-libxml.mk b/buildroot/package/perl-xml-libxml/perl-xml-libxml.mk index ff831bb07..3218d34d5 100644 --- a/buildroot/package/perl-xml-libxml/perl-xml-libxml.mk +++ b/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/buildroot/package/perl-xml-namespacesupport/Config.in b/buildroot/package/perl-xml-namespacesupport/Config.in index 93a697c62..dc1034d38 100644 --- a/buildroot/package/perl-xml-namespacesupport/Config.in +++ b/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/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash b/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash index d55551c11..e5a98ecf4 100644 --- a/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash +++ b/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/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk b/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk index 325440b33..c3c54da6a 100644 --- a/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk +++ b/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/buildroot/package/perl-xml-sax-base/Config.in b/buildroot/package/perl-xml-sax-base/Config.in index 2ad25ac39..03b344d20 100644 --- a/buildroot/package/perl-xml-sax-base/Config.in +++ b/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/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.hash b/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.hash index a51e1d1b1..1542922b1 100644 --- a/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.hash +++ b/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/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.mk b/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.mk index ec6e052b7..810a46046 100644 --- a/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.mk +++ b/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/buildroot/package/perl-xml-sax/Config.in b/buildroot/package/perl-xml-sax/Config.in index 4f5567e25..4e603f3a9 100644 --- a/buildroot/package/perl-xml-sax/Config.in +++ b/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/buildroot/package/perl-xml-sax/perl-xml-sax.hash b/buildroot/package/perl-xml-sax/perl-xml-sax.hash index 6aa543c00..888e9d2b5 100644 --- a/buildroot/package/perl-xml-sax/perl-xml-sax.hash +++ b/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/buildroot/package/perl-xml-sax/perl-xml-sax.mk b/buildroot/package/perl-xml-sax/perl-xml-sax.mk index 90b2cd694..17518367d 100644 --- a/buildroot/package/perl-xml-sax/perl-xml-sax.mk +++ b/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/buildroot/package/perl/0001-fix-the-generated-subdirectory-Makefiles.patch b/buildroot/package/perl/0001-fix-the-generated-subdirectory-Makefiles.patch new file mode 100644 index 000000000..71560c5e0 --- /dev/null +++ b/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 +@@ -703,7 +703,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/buildroot/package/perl/perl.hash b/buildroot/package/perl/perl.hash index 210f6d581..6936b22e0 100644 --- a/buildroot/package/perl/perl.hash +++ b/buildroot/package/perl/perl.hash @@ -3,5 +3,5 @@ md5 1fa1b53eeff76aa37b17bfc9b2771671 perl-5.2 sha1 bfa5c7921ed7bf5e035dbf2f7ff81367b81e372c perl-5.26.2.tar.xz sha256 0f8c0fb1b0db4681adb75c3ba0dd77a0472b1b359b9e80efd79fc27b4352132c perl-5.26.2.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/perl-cross-1.2.hash +sha256 599077beb86af5e6097da8922a84474a5484f61475d2899eae0f8634e9619109 perl-cross-1.2.tar.gz diff --git a/buildroot/package/perl/perl.mk b/buildroot/package/perl/perl.mk index f7e5604ed..b0eea3eff 100644 --- a/buildroot/package/perl/perl.mk +++ b/buildroot/package/perl/perl.mk @@ -13,7 +13,7 @@ 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 # DO NOT refactor with the github helper (the result is not the same) PERL_CROSS_SITE = https://github.com/arsv/perl-cross/releases/download/$(PERL_CROSS_VERSION) PERL_CROSS_SOURCE = perl-cross-$(PERL_CROSS_VERSION).tar.gz diff --git a/buildroot/package/phidgetwebservice/phidgetwebservice.hash b/buildroot/package/phidgetwebservice/phidgetwebservice.hash index 7cd85da79..e369049c1 100644 --- a/buildroot/package/phidgetwebservice/phidgetwebservice.hash +++ b/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/buildroot/package/phidgetwebservice/phidgetwebservice.mk b/buildroot/package/phidgetwebservice/phidgetwebservice.mk index 36c0185e7..bdcc388b2 100644 --- a/buildroot/package/phidgetwebservice/phidgetwebservice.mk +++ b/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/buildroot/package/php-amqp/php-amqp.hash b/buildroot/package/php-amqp/php-amqp.hash index 4b3b19726..10b16f1b4 100644 --- a/buildroot/package/php-amqp/php-amqp.hash +++ b/buildroot/package/php-amqp/php-amqp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 f45831d498b8fa47a151c31f6abdc0530aa6eabda6e2e10514aca3bdc76a5098 amqp-1.9.0.tgz +sha256 c79e52db33bf907dad7da8f350dbdf2937b0679a3dc44fb2a941efb6d4808da9 amqp-1.9.3.tgz +sha256 ecd004e9ae3fcf54896b562d5e8008e36041f2620076effd58e5f4187299cee8 LICENSE diff --git a/buildroot/package/php-amqp/php-amqp.mk b/buildroot/package/php-amqp/php-amqp.mk index 6a8c52c4c..e9de4825a 100644 --- a/buildroot/package/php-amqp/php-amqp.mk +++ b/buildroot/package/php-amqp/php-amqp.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_AMQP_VERSION = 1.9.0 +PHP_AMQP_VERSION = 1.9.3 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/buildroot/package/php-zmq/Config.in b/buildroot/package/php-zmq/Config.in index 3f7406b26..058f93d9a 100644 --- a/buildroot/package/php-zmq/Config.in +++ b/buildroot/package/php-zmq/Config.in @@ -1,11 +1,11 @@ -comment "php-zmq needs a toolchain w/ C++, NPTL" - depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS_NPTL) +comment "php-zmq needs a toolchain w/ C++, threads" + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) config BR2_PACKAGE_PHP_ZMQ bool "php-zmq" depends on BR2_PACKAGE_PHP depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # zeromq + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_ZEROMQ help ZeroMQ messaging bindings for PHP diff --git a/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch b/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch index 9b530361c..2c08437e4 100644 --- a/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch +++ b/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch @@ -4,6 +4,8 @@ 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] --- ext/opcache/config.m4 | 34 ++-------------------------------- 1 file changed, 2 insertions(+), 32 deletions(-) @@ -21,12 +23,12 @@ index fbb9b21..ffddc8e 100644 -AC_TRY_RUN([ - #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]) @@ -37,15 +39,15 @@ index fbb9b21..ffddc8e 100644 -AC_TRY_RUN([ - #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_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) - AC_MSG_RESULT("yes") -], AC_MSG_RESULT("no") ) +flock_type=linux diff --git a/buildroot/package/php/0007-ext-xml-expat_compat.h-add-missing-php.h-include.patch b/buildroot/package/php/0007-ext-xml-expat_compat.h-add-missing-php.h-include.patch deleted file mode 100644 index daf004dcf..000000000 --- a/buildroot/package/php/0007-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/buildroot/package/php/Config.ext b/buildroot/package/php/Config.ext index 6b3d86925..7e6b3e0e2 100644 --- a/buildroot/package/php/Config.ext +++ b/buildroot/package/php/Config.ext @@ -113,9 +113,23 @@ endif config BR2_PACKAGE_PHP_EXT_MYSQLI bool "Mysqli" + select BR2_PACKAGE_PHP_EXT_HASH 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 @@ -131,6 +145,7 @@ if BR2_PACKAGE_PHP_EXT_PDO config BR2_PACKAGE_PHP_EXT_PDO_MYSQL bool "MySQL" + select BR2_PACKAGE_PHP_EXT_HASH help PDO driver for MySQL @@ -138,13 +153,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" @@ -185,14 +201,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/buildroot/package/php/php.hash b/buildroot/package/php/php.hash index 4ddef4427..cea6997aa 100644 --- a/buildroot/package/php/php.hash +++ b/buildroot/package/php/php.hash @@ -1,5 +1,5 @@ # From http://php.net/downloads.php -sha256 af70a33b3f7a51510467199b39af151333fbbe4cc21923bad9c7cf64268cddb2 php-7.2.5.tar.xz +sha256 989c04cc879ee71a5e1131db867f3c5102f1f7565f805e2bb8bde33f93147fe1 php-7.2.12.tar.xz # License file -sha256 00e567a8d50359d93ee1f9afdd9511277660c1e70a0cbf3229f84403aa9aebb1 LICENSE +sha256 f689b8fa63bea7950ce6a21bf52ed88ea0d77673ee76e6de12f51191174d91b8 LICENSE diff --git a/buildroot/package/php/php.mk b/buildroot/package/php/php.mk index 4c3a87118..ae7e742b6 100644 --- a/buildroot/package/php/php.mk +++ b/buildroot/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 7.2.5 +PHP_VERSION = 7.2.12 PHP_SITE = http://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES @@ -137,7 +137,7 @@ endif ifeq ($(BR2_PACKAGE_PHP_EXT_LIBXML2),y) PHP_CONF_ENV += php_cv_libxml_build_works=yes -PHP_CONF_OPTS += --enable-libxml --with-libxml-dir=${STAGING_DIR}/usr +PHP_CONF_OPTS += --enable-libxml --with-libxml-dir=$(STAGING_DIR)/usr PHP_DEPENDENCIES += libxml2 endif @@ -196,6 +196,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 diff --git a/buildroot/package/pigpio/Config.in b/buildroot/package/pigpio/Config.in new file mode 100644 index 000000000..2180ab0de --- /dev/null +++ b/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/buildroot/package/pigpio/pigpio.hash b/buildroot/package/pigpio/pigpio.hash new file mode 100644 index 000000000..db4390148 --- /dev/null +++ b/buildroot/package/pigpio/pigpio.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 4255310dd11ed81035b60711becad081a1eaad2905f704e3eb84e692ca7e4c3d pigpio-V67.tar.gz +sha256 6a90b88421a0d9b090e121daa11b3c6d55eed5eeb3281a2fcc454d6a28b5547c UNLICENCE diff --git a/buildroot/package/pigpio/pigpio.mk b/buildroot/package/pigpio/pigpio.mk new file mode 100644 index 000000000..48628a953 --- /dev/null +++ b/buildroot/package/pigpio/pigpio.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# pigpio +# +################################################################################ + +PIGPIO_VERSION = V67 +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/buildroot/package/pigz/Config.in b/buildroot/package/pigz/Config.in new file mode 100644 index 000000000..af229060c --- /dev/null +++ b/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/buildroot/package/pigz/pigz.hash b/buildroot/package/pigz/pigz.hash new file mode 100644 index 000000000..843fd4fba --- /dev/null +++ b/buildroot/package/pigz/pigz.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e228e7d18b34c4ece8d596eb6eee97bde533c6beedbb728d07d3abe90b4b1b52 pigz-v2.4.tar.gz +sha256 dc8f78258cdb4478b5922f4c00eb63d3cbac06c171dc829648fd414bb0cf4493 README diff --git a/buildroot/package/pigz/pigz.mk b/buildroot/package/pigz/pigz.mk new file mode 100644 index 000000000..ac4f94027 --- /dev/null +++ b/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/buildroot/package/pkg-download.mk b/buildroot/package/pkg-download.mk index 2ca6ccf44..0def845cb 100644 --- a/buildroot/package/pkg-download.mk +++ b/buildroot/package/pkg-download.mk @@ -32,8 +32,8 @@ else BR2_DL_DIR = $(DL_DIR) endif -# ensure it exists and a absolute path -DL_DIR := $(shell mkdir -p $(DL_DIR) && cd $(DL_DIR) >/dev/null && pwd) +# ensure it exists and a absolute path, derefrecing symlinks +DL_DIR := $(shell mkdir -p $(DL_DIR) && cd $(DL_DIR) >/dev/null && pwd -P) # # URI scheme helper functions @@ -92,12 +92,12 @@ endif define DOWNLOAD $(Q)mkdir -p $($(PKG)_DL_DIR) - $(EXTRA_ENV) $(FLOCK) $(DL_WRAPPER) \ + $(Q)$(EXTRA_ENV) $(FLOCK) $(DL_WRAPPER) \ -c '$($(PKG)_DL_VERSION)' \ -d '$($(PKG)_DL_DIR)' \ -D '$(DL_DIR)' \ -f '$(notdir $(1))' \ - -H '$(PKGDIR)/$($(PKG)_RAWNAME).hash' \ + -H '$($(PKG)_HASH_FILE)' \ -n '$($(PKG)_BASENAME_RAW)' \ -N '$($(PKG)_RAWNAME)' \ -o '$($(PKG)_DL_DIR)/$(notdir $(1))' \ diff --git a/buildroot/package/pkg-generic.mk b/buildroot/package/pkg-generic.mk index 7d4eaf946..7a95ea19c 100644 --- a/buildroot/package/pkg-generic.mk +++ b/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 @@ -132,6 +132,7 @@ 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 \ @@ -143,12 +144,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 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 +171,13 @@ $(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)") $(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) $($(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 @@ -428,6 +434,12 @@ 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 @@ -570,39 +582,53 @@ ifneq ($(1),host-skeleton) $(2)_DEPENDENCIES += host-skeleton endif -ifeq ($(filter host-tar host-skeleton host-fakedate,$(1)),) -$(2)_EXTRACT_DEPENDENCIES += $(BR2_TAR_HOST_DEPENDENCY) +ifneq ($$(filter cvs git svn,$$($(2)_SITE_METHOD)),) +$(2)_DOWNLOAD_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) +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_LZIP_HOST_DEPENDENCY) +ifeq ($$(filter host-tar host-skeleton host-xz host-lzip host-fakedate,$(1)),) +$(2)_EXTRACT_DEPENDENCIES += $$(BR2_XZCAT_HOST_DEPENDENCY) endif -ifeq ($(BR2_CCACHE),y) -ifeq ($(filter host-tar host-skeleton host-xz host-lzip host-fakedate host-ccache,$(1)),) +ifeq ($$(filter host-tar host-skeleton host-xz host-lzip host-fakedate,$(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)),) +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_DOWNLOAD_DEPENDENCIES) \ $$($(2)_FINAL_EXTRACT_DEPENDENCIES) \ $$($(2)_FINAL_PATCH_DEPENDENCIES)) +$(2)_FINAL_RECURSIVE_DEPENDENCIES = \ + $$(sort \ + $$(foreach p,\ + $$($(2)_FINAL_ALL_DEPENDENCIES),\ + $$(p)\ + $$($$(call UPPERCASE,$$(p))_FINAL_RECURSIVE_DEPENDENCIES)\ + )\ + ) $(2)_INSTALL_STAGING ?= NO $(2)_INSTALL_IMAGES ?= NO @@ -733,6 +759,7 @@ $$($(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 @@ -791,6 +818,7 @@ $(1)-show-recursive-rdepends: $$(TOPDIR)/support/scripts/graph-depends -p $(1) --reverse -f -q $(1)-show-build-order: $$(patsubst %,%-show-build-order,$$($(2)_FINAL_ALL_DEPENDENCIES)) + @: $$(info $(1)) $(1)-graph-depends: graph-depends-requirements @@ -900,7 +928,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) @@ -930,7 +958,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)) diff --git a/buildroot/package/pkg-golang.mk b/buildroot/package/pkg-golang.mk index bf178622b..4f2c7e77e 100644 --- a/buildroot/package/pkg-golang.mk +++ b/buildroot/package/pkg-golang.mk @@ -55,8 +55,10 @@ ifeq ($(BR2_STATIC_LIBS),y) $(2)_LDFLAGS += -extldflags '-static' endif -$(2)_BUILD_OPTS += -ldflags "$$($(2)_LDFLAGS)" -$(2)_BUILD_OPTS += -tags "$$($(2)_TAGS)" +$(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 @@ -77,9 +79,9 @@ $(2)_INSTALL_BINS ?= $(1) # 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_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) diff --git a/buildroot/package/pkg-kconfig.mk b/buildroot/package/pkg-kconfig.mk index 81bba5220..d6c95b897 100644 --- a/buildroot/package/pkg-kconfig.mk +++ b/buildroot/package/pkg-kconfig.mk @@ -41,6 +41,10 @@ endef 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 @@ -121,6 +125,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 diff --git a/buildroot/package/pkg-meson.mk b/buildroot/package/pkg-meson.mk new file mode 100644 index 000000000..507e68606 --- /dev/null +++ b/buildroot/package/pkg-meson.mk @@ -0,0 +1,160 @@ +################################################################################ +# 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 ?= +$(2)_SRCDIR = $$($(2)_DIR)/$$($(2)_SUBDIR) + +# +# 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 + 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=$(HOST_DIR)/etc/meson/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) -C $$($$(PKG)_SRCDIR)/build +endef +else +define $(2)_BUILD_CMDS + $$(HOST_MAKE_ENV) $$($$(PKG)_NINJA_ENV) \ + $$(NINJA) $$(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/buildroot/package/pkg-perl.mk b/buildroot/package/pkg-perl.mk index b0d5789ac..1ecf31eff 100644 --- a/buildroot/package/pkg-perl.mk +++ b/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/buildroot/package/pkg-utils.mk b/buildroot/package/pkg-utils.mk index c3acc22b1..bffd79dfb 100644 --- a/buildroot/package/pkg-utils.mk +++ b/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/buildroot/package/pkg-waf.mk b/buildroot/package/pkg-waf.mk index e5b606f06..3288dd63a 100644 --- a/buildroot/package/pkg-waf.mk +++ b/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 diff --git a/buildroot/package/pngquant/pngquant.hash b/buildroot/package/pngquant/pngquant.hash index a3f1005d3..f525e466c 100644 --- a/buildroot/package/pngquant/pngquant.hash +++ b/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 f57ce0112e86ac966c55270ccf5971deff241d4f pngquant-2.12.0-src.tar.gz # Locally computed -sha256 e07a21fe37b6ae9fa5524f1e20a8e73b698566d42d2cc3edd469531745faa850 pngquant-2.10.1-src.tar.gz +sha256 0e540c64bb58c05f2a05b4eaf1d3d165f0d3278500f15abfeac47f93f8fa8fa8 pngquant-2.12.0-src.tar.gz +sha256 e4f467f7abf860b4e620f5f60fdd88bc3a63a0fdb98a481fb002b5e511c9b826 COPYRIGHT diff --git a/buildroot/package/pngquant/pngquant.mk b/buildroot/package/pngquant/pngquant.mk index f181d6fb4..26c293bec 100644 --- a/buildroot/package/pngquant/pngquant.mk +++ b/buildroot/package/pngquant/pngquant.mk @@ -4,7 +4,7 @@ # ################################################################################ -PNGQUANT_VERSION = 2.10.1 +PNGQUANT_VERSION = 2.12.0 PNGQUANT_SOURCE = pngquant-$(PNGQUANT_VERSION)-src.tar.gz PNGQUANT_SITE = https://pngquant.org PNGQUANT_LICENSE = GPL-3.0+ diff --git a/buildroot/package/poco/0001-poco-add-the-staging-path-to-search-path.patch b/buildroot/package/poco/0001-poco-add-the-staging-path-to-search-path.patch index 5695b6261..5453cba13 100644 --- a/buildroot/package/poco/0001-poco-add-the-staging-path-to-search-path.patch +++ b/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/buildroot/package/poco/0002-Add-support-for-m68000-1856.patch b/buildroot/package/poco/0002-Add-support-for-m68000-1856.patch new file mode 100644 index 000000000..1cf99bf09 --- /dev/null +++ b/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/buildroot/package/poco/0002-fix-m68k-double-conv-detect.patch b/buildroot/package/poco/0002-fix-m68k-double-conv-detect.patch deleted file mode 100644 index 3ca03fc7b..000000000 --- a/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/buildroot/package/poco/0003-Foundation-src-utils.h-backport-double-conversion-ch.patch b/buildroot/package/poco/0003-Foundation-src-utils.h-backport-double-conversion-ch.patch new file mode 100644 index 000000000..8193457f9 --- /dev/null +++ b/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/buildroot/package/poco/poco.mk b/buildroot/package/poco/poco.mk index 018344d5c..aa96d5127 100644 --- a/buildroot/package/poco/poco.mk +++ b/buildroot/package/poco/poco.mk @@ -42,6 +42,11 @@ ifeq ($(BR2_sh4a)$(BR2_nios2),y) POCO_CONF_OPTS += --no-fpenvironment endif +# disable fpenvironment for soft floating point configuration +ifeq ($(BR2_SOFT_FLOAT),y) +POCO_CONF_OPTS += --no-fpenvironment +endif + ifeq ($(BR2_STATIC_LIBS),y) POCO_MAKE_TARGET = static_release else ifeq ($(BR2_SHARED_LIBS),y) diff --git a/buildroot/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch b/buildroot/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch index 3c0ddcc54..4cfe969a4 100644 --- a/buildroot/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch +++ b/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/buildroot/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch b/buildroot/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch index 32d2ae92e..0b5304418 100644 --- a/buildroot/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch +++ b/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/buildroot/package/policycoreutils/policycoreutils.hash b/buildroot/package/policycoreutils/policycoreutils.hash index 241905ca2..b6367b4bf 100644 --- a/buildroot/package/policycoreutils/policycoreutils.hash +++ b/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/buildroot/package/policycoreutils/policycoreutils.mk b/buildroot/package/policycoreutils/policycoreutils.mk index 21c5470ce..abd70e16c 100644 --- a/buildroot/package/policycoreutils/policycoreutils.mk +++ b/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/buildroot/package/polkit/Config.in b/buildroot/package/polkit/Config.in index debd1d9da..ac17cb4dc 100644 --- a/buildroot/package/polkit/Config.in +++ b/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/buildroot/package/polkit/polkit.hash b/buildroot/package/polkit/polkit.hash index 5e133b43e..1fe8607fb 100644 --- a/buildroot/package/polkit/polkit.hash +++ b/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/buildroot/package/polkit/polkit.mk b/buildroot/package/polkit/polkit.mk index e28318142..fb4c171c5 100644 --- a/buildroot/package/polkit/polkit.mk +++ b/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/buildroot/package/popt/0004-add-libiconv-to-popt.pc.patch b/buildroot/package/popt/0004-add-libiconv-to-popt.pc.patch new file mode 100644 index 000000000..087a30bb7 --- /dev/null +++ b/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/buildroot/package/postgresql/Config.in b/buildroot/package/postgresql/Config.in index 9dda54bf9..e548d3cb2 100644 --- a/buildroot/package/postgresql/Config.in +++ b/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/buildroot/package/postgresql/postgresql.hash b/buildroot/package/postgresql/postgresql.hash index 533c398d5..28d4a988d 100644 --- a/buildroot/package/postgresql/postgresql.hash +++ b/buildroot/package/postgresql/postgresql.hash @@ -1,5 +1,7 @@ -# From https://ftp.postgresql.org/pub/source/v10.3/postgresql-10.3.tar.bz2.sha256 -sha256 6ea268780ee35e88c65cdb0af7955ad90b7d0ef34573867f223f14e43467931a postgresql-10.3.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v11.1/postgresql-11.1.tar.bz2.md5 +md5 5e45f6d5b859cc76b5d62f1e328e9711 postgresql-11.1.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v11.1/postgresql-11.1.tar.bz2.sha256 +sha256 90815e812874831e9a4bf6e1136bf73bc2c5a0464ef142e2dfea40cda206db08 postgresql-11.1.tar.bz2 # License file, Locally calculated sha256 24cfc70cf16b3a23242c49ffce39510683bdd48cbedb8a46fe03976ee5f5c21e COPYRIGHT diff --git a/buildroot/package/postgresql/postgresql.mk b/buildroot/package/postgresql/postgresql.mk index 94b3e60e5..c4ba0daa1 100644 --- a/buildroot/package/postgresql/postgresql.mk +++ b/buildroot/package/postgresql/postgresql.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGRESQL_VERSION = 10.3 +POSTGRESQL_VERSION = 11.1 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,14 @@ 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 + define POSTGRESQL_USERS postgres -1 postgres -1 * /var/lib/pgsql /bin/sh - PostgreSQL Server endef diff --git a/buildroot/package/pound/pound.hash b/buildroot/package/pound/pound.hash index 6908b9060..7fbf01b89 100644 --- a/buildroot/package/pound/pound.hash +++ b/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/buildroot/package/pound/pound.mk b/buildroot/package/pound/pound.mk index 6f7cc848f..9a62cf7a5 100644 --- a/buildroot/package/pound/pound.mk +++ b/buildroot/package/pound/pound.mk @@ -4,7 +4,7 @@ # ################################################################################ -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+ diff --git a/buildroot/package/powerpc-utils/powerpc-utils.hash b/buildroot/package/powerpc-utils/powerpc-utils.hash index 437a5865c..b493be086 100644 --- a/buildroot/package/powerpc-utils/powerpc-utils.hash +++ b/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/buildroot/package/powerpc-utils/powerpc-utils.mk b/buildroot/package/powerpc-utils/powerpc-utils.mk index da7a3c9cd..a3bd8832f 100644 --- a/buildroot/package/powerpc-utils/powerpc-utils.mk +++ b/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/buildroot/package/pppd/0002-pppd-Use-openssl-for-the-DES-instead-of-the-libcrypt-glibc.patch b/buildroot/package/pppd/0002-pppd-Use-openssl-for-the-DES-instead-of-the-libcrypt-glibc.patch new file mode 100644 index 000000000..3804edc6d --- /dev/null +++ b/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/buildroot/package/pppd/0003-Add-OPENSSL_INCLUDE_DIR.patch b/buildroot/package/pppd/0003-Add-OPENSSL_INCLUDE_DIR.patch new file mode 100644 index 000000000..e629a2dec --- /dev/null +++ b/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/buildroot/package/pppd/Config.in b/buildroot/package/pppd/Config.in index ee89a577f..bf05689f5 100644 --- a/buildroot/package/pppd/Config.in +++ b/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/buildroot/package/pppd/pppd.mk b/buildroot/package/pppd/pppd.mk index 6b86a4d3d..4dffc1794 100644 --- a/buildroot/package/pppd/pppd.mk +++ b/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/buildroot/package/procps-ng/procps-ng.mk b/buildroot/package/procps-ng/procps-ng.mk index e1fddea32..03b74784d 100644 --- a/buildroot/package/procps-ng/procps-ng.mk +++ b/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/buildroot/package/proftpd/Config.in b/buildroot/package/proftpd/Config.in index e979d407c..b615a5ff4 100644 --- a/buildroot/package/proftpd/Config.in +++ b/buildroot/package/proftpd/Config.in @@ -20,4 +20,49 @@ 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 mode_sql support. + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB + bool "mod_quotatab support" + help + Compile ProFTPD with mode_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 endif diff --git a/buildroot/package/proftpd/proftpd.mk b/buildroot/package/proftpd/proftpd.mk index 3e165c6ad..8f3ff5088 100644 --- a/buildroot/package/proftpd/proftpd.mk +++ b/buildroot/package/proftpd/proftpd.mk @@ -24,7 +24,7 @@ PROFTPD_CONF_OPTS = \ --with-gnu-ld 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 +34,40 @@ 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_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 +86,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 diff --git a/buildroot/package/proj/proj.hash b/buildroot/package/proj/proj.hash index 6a791baae..aadbc385d 100644 --- a/buildroot/package/proj/proj.hash +++ b/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/buildroot/package/proj/proj.mk b/buildroot/package/proj/proj.mk index 6d029bba0..0b239b2bb 100644 --- a/buildroot/package/proj/proj.mk +++ b/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/buildroot/package/prosody/prosody.hash b/buildroot/package/prosody/prosody.hash index 898d21814..b38414294 100644 --- a/buildroot/package/prosody/prosody.hash +++ b/buildroot/package/prosody/prosody.hash @@ -1,8 +1,8 @@ -# Hashes from: https://prosody.im/downloads/source/{MD5,SHA1,SHA256,SHA512}SUMS -md5 0eebf7a18ce1fc7dd9954c94ebd85f54 prosody-0.10.0.tar.gz -sha1 57c1c5a665e6453bdde06727ef398cd69accd9d7 prosody-0.10.0.tar.gz -sha256 7414e447256c60b2645578c4a5913113cd74b419ca5a032b54db90d98a978498 prosody-0.10.0.tar.gz -sha512 ee66e240afba6a8cb286623da48d9b535798153fb65e32070cec93aafe360e91f7087eeb49dec0f7d145e24f04339ed0878e50835b52f682130b204e22990ce9 prosody-0.10.0.tar.gz +# Locally computed: +md5 4cb1ac0db2b739b933ded5038551d7c2 prosody-0.10.2.tar.gz +sha1 1d51e542475c3f3e712eace29537b042c941d6ab prosody-0.10.2.tar.gz +sha256 75b5f035e7a74d5f208eeeaf8419b94a85d09b40252d444cff8033fde3c9768e prosody-0.10.2.tar.gz +sha512 9fc05e34b45b0c16835ba94a73532fb3b4ee335f27d56bb9260e1b3e22614f89f44eb5d04b4e90d016db0b5bee6f5c7e7d099e1defb027e6823ee7667c1fe28f prosody-0.10.2.tar.gz # Hash for license file: sha256 bbbdc1c5426e5944cf869fc0faeaf19d88a220cd2b39ea98b7b8e86b0e88a2ef COPYING diff --git a/buildroot/package/prosody/prosody.mk b/buildroot/package/prosody/prosody.mk index d95578253..8c0964521 100644 --- a/buildroot/package/prosody/prosody.mk +++ b/buildroot/package/prosody/prosody.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROSODY_VERSION = 0.10.0 +PROSODY_VERSION = 0.10.2 PROSODY_SITE = https://prosody.im/downloads/source PROSODY_LICENSE = MIT PROSODY_LICENSE_FILES = COPYING @@ -14,7 +14,7 @@ PROSODY_CFLAGS = $(TARGET_CFLAGS) -fPIC -std=c99 \ $(if BR2_TOOLCHAIN_USES_MUSL,-DWITHOUT_MALLINFO) PROSODY_CONF_OPTS = \ - --with-lua-bin=$(HOST_DIR)/usr/bin \ + --with-lua-bin=$(HOST_DIR)/bin \ --with-lua=$(STAGING_DIR)/usr \ --lua-version=$(LUAINTERPRETER_ABIVER) \ --c-compiler=$(TARGET_CC) \ diff --git a/buildroot/package/protobuf-c/0001-Add-std-to-some-types.patch b/buildroot/package/protobuf-c/0001-Add-std-to-some-types.patch new file mode 100644 index 000000000..8f1a5d0be --- /dev/null +++ b/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/buildroot/package/protobuf-c/0002-Fix-build-with-protobuf-3.6.x.patch b/buildroot/package/protobuf-c/0002-Fix-build-with-protobuf-3.6.x.patch new file mode 100644 index 000000000..1469e0101 --- /dev/null +++ b/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/buildroot/package/protobuf-c/Config.in b/buildroot/package/protobuf-c/Config.in index 6f916c57f..6d7e7e11d 100644 --- a/buildroot/package/protobuf-c/Config.in +++ b/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/buildroot/package/protobuf-c/protobuf-c.mk b/buildroot/package/protobuf-c/protobuf-c.mk index 430661053..34f829441 100644 --- a/buildroot/package/protobuf-c/protobuf-c.mk +++ b/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/buildroot/package/protobuf/0001-Fix-to-allow-a-compilation-under-mips-big-endian-wit.patch b/buildroot/package/protobuf/0001-Fix-to-allow-a-compilation-under-mips-big-endian-wit.patch new file mode 100644 index 000000000..d2b34f15e --- /dev/null +++ b/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/buildroot/package/protobuf/Config.in b/buildroot/package/protobuf/Config.in index c91e40150..2829b2a5a 100644 --- a/buildroot/package/protobuf/Config.in +++ b/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/buildroot/package/protobuf/protobuf.hash b/buildroot/package/protobuf/protobuf.hash index fa02440a4..bcd1f64de 100644 --- a/buildroot/package/protobuf/protobuf.hash +++ b/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/buildroot/package/protobuf/protobuf.mk b/buildroot/package/protobuf/protobuf.mk index d2782ddcf..9caf87ed9 100644 --- a/buildroot/package/protobuf/protobuf.mk +++ b/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/buildroot/package/psmisc/0001-link-against-libintl.patch b/buildroot/package/psmisc/0001-link-against-libintl.patch deleted file mode 100644 index bf6b97175..000000000 --- a/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/buildroot/package/psmisc/0002-add-git-version-get.patch b/buildroot/package/psmisc/0002-add-git-version-get.patch deleted file mode 100644 index e75fb1d3c..000000000 --- a/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/buildroot/package/psmisc/psmisc.hash b/buildroot/package/psmisc/psmisc.hash index 8ce8e00d3..8e380a559 100644 --- a/buildroot/package/psmisc/psmisc.hash +++ b/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/buildroot/package/psmisc/psmisc.mk b/buildroot/package/psmisc/psmisc.mk index 3d9a80462..e9a7b00c9 100644 --- a/buildroot/package/psmisc/psmisc.mk +++ b/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 = 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/buildroot/package/ptpd2/0002-ntp_isc_md5-rename-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch b/buildroot/package/ptpd2/0002-ntp_isc_md5-rename-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch new file mode 100644 index 000000000..e655ff335 --- /dev/null +++ b/buildroot/package/ptpd2/0002-ntp_isc_md5-rename-EVP_MD_CTX-into-PTPD_EVP_MD_CTX.patch @@ -0,0 +1,46 @@ +From af1d16d90ff273413a57cd02689f4fb005403609 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Fri, 31 Aug 2018 18:46:56 +0200 +Subject: [PATCH] ntp_isc_md5: rename EVP_MD_CTX into PTPD_EVP_MD_CTX + +EVP_MD_CTX can conflict with openssl that defines a completely different +typedef with same name. + +Since this typedef is used only twice in the entire ptpd, +substitute EVP_MD_CTX with PTPD_EVP_MD_CTX. + +Signed-off-by: Giulio Benetti +--- + src/dep/ntpengine/ntp_isc_md5.c | 2 +- + src/dep/ntpengine/ntp_isc_md5.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/dep/ntpengine/ntp_isc_md5.c b/src/dep/ntpengine/ntp_isc_md5.c +index 850d004..3216de8 100644 +--- a/src/dep/ntpengine/ntp_isc_md5.c ++++ b/src/dep/ntpengine/ntp_isc_md5.c +@@ -262,7 +262,7 @@ MD5authencrypt( + { + u_char digest[64]; + u_int len; +- EVP_MD_CTX ctx; ++ PTPD_EVP_MD_CTX ctx; + pkt[length / 4] = htonl(keyid); + EVP_DigestInit(&ctx); + EVP_DigestUpdate(&ctx, (u_char *)key, (u_int)strlen(key)); +diff --git a/src/dep/ntpengine/ntp_isc_md5.h b/src/dep/ntpengine/ntp_isc_md5.h +index fa6e2ee..236c0e4 100644 +--- a/src/dep/ntpengine/ntp_isc_md5.h ++++ b/src/dep/ntpengine/ntp_isc_md5.h +@@ -80,7 +80,7 @@ isc_md5_final(isc_md5_t *ctx, unsigned char *digest); + # define MD5Init(c) isc_md5_init(c) + # define MD5Update(c, p, s) isc_md5_update(c, p, s) + # define MD5Final(d, c) isc_md5_final((c), (d)) /* swapped */ +- typedef MD5_CTX EVP_MD_CTX; ++ typedef MD5_CTX PTPD_EVP_MD_CTX; + # define EVP_DigestInit(c) MD5Init(c) + # define EVP_DigestUpdate(c, p, s) MD5Update(c, p, s) + # define EVP_DigestFinal(c, d, pdl) \ +-- +2.14.4 + diff --git a/buildroot/package/ptpd2/0003-Solve-issue-25-Removing-type-U64-from-net-snmp-relat.patch b/buildroot/package/ptpd2/0003-Solve-issue-25-Removing-type-U64-from-net-snmp-relat.patch new file mode 100644 index 000000000..f952755d3 --- /dev/null +++ b/buildroot/package/ptpd2/0003-Solve-issue-25-Removing-type-U64-from-net-snmp-relat.patch @@ -0,0 +1,28 @@ +From 84157b11e8f27318f7291823c657f6313c3b60af Mon Sep 17 00:00:00 2001 +From: Jan Breuer +Date: Tue, 12 Jul 2016 18:07:08 +0200 +Subject: [PATCH] Solve issue #25 - Removing type U64 from net-snmp related + code + +[Thomas: Backport to 2.3.1.] +Signed-off-by: Thomas Petazzoni +--- + src/dep/snmp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/dep/snmp.c b/src/dep/snmp.c +index 5c08aaa..3086c86 100644 +--- a/src/dep/snmp.c ++++ b/src/dep/snmp.c +@@ -221,7 +221,7 @@ snmpHeaderIndexBest(struct snmpHeaderIndex *idx) + + #define SNMP_LOCAL_VARIABLES \ + static unsigned long long_ret; \ +- static U64 counter64_ret; \ ++ static struct counter64 counter64_ret; \ + static uint32_t ipaddr; \ + Integer64 bigint; \ + struct snmpHeaderIndex idx; \ +-- +2.14.4 + diff --git a/buildroot/package/pugixml/0001-check-cxx_long_long_type-existence.patch b/buildroot/package/pugixml/0001-check-cxx_long_long_type-existence.patch deleted file mode 100644 index a53c84a29..000000000 --- a/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/buildroot/package/pugixml/pugixml.hash b/buildroot/package/pugixml/pugixml.hash index 9007f7cae..fb6566dab 100644 --- a/buildroot/package/pugixml/pugixml.hash +++ b/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/buildroot/package/pugixml/pugixml.mk b/buildroot/package/pugixml/pugixml.mk index 2e4f0ce56..e5188e5f5 100644 --- a/buildroot/package/pugixml/pugixml.mk +++ b/buildroot/package/pugixml/pugixml.mk @@ -4,12 +4,10 @@ # ################################################################################ -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 - $(eval $(cmake-package)) diff --git a/buildroot/package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch b/buildroot/package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch deleted file mode 100644 index 19842fadf..000000000 --- a/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/buildroot/package/pulseaudio/0002-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch b/buildroot/package/pulseaudio/0002-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch deleted file mode 100644 index 8f103bf20..000000000 --- a/buildroot/package/pulseaudio/0002-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch +++ /dev/null @@ -1,64 +0,0 @@ -From dfb0460fb4743aec047cdf755a660a9ac2d0f3fb Mon Sep 17 00:00:00 2001 -From: Tanu Kaskinen -Date: Wed, 24 Jan 2018 03:51:49 +0200 -Subject: [PATCH] memfd-wrappers: only define memfd_create() if not already - defined - -glibc 2.27 is to be released soon, and it will provide memfd_create(). -If glibc provides the function, we must not define it ourselves, -otherwise building fails due to conflict between the two implementations -of the same function. - -BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=104733 -Signed-off-by: Romain Naour ---- - configure.ac | 3 +++ - src/pulsecore/memfd-wrappers.h | 7 ++++--- - 2 files changed, 7 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 0084c86e..0eb44b08 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -610,6 +610,9 @@ AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"], - [AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory. - *** Use linux v3.17 or higher for such a feature.])]) - -+AS_IF([test "x$HAVE_MEMFD" = "x1"], -+ AC_CHECK_FUNCS([memfd_create])) -+ - AC_SUBST(HAVE_MEMFD) - AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1]) - AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.])) -diff --git a/src/pulsecore/memfd-wrappers.h b/src/pulsecore/memfd-wrappers.h -index 3bed9b2b..c7aadfd3 100644 ---- a/src/pulsecore/memfd-wrappers.h -+++ b/src/pulsecore/memfd-wrappers.h -@@ -20,13 +20,14 @@ - License along with PulseAudio; if not, see . - ***/ - --#ifdef HAVE_MEMFD -+#if defined(HAVE_MEMFD) && !defined(HAVE_MEMFD_CREATE) - - #include - #include - - /* -- * No glibc wrappers exist for memfd_create(2), so provide our own. -+ * Before glibc version 2.27 there was no wrapper for memfd_create(2), -+ * so we have to provide our own. - * - * Also define memfd fcntl sealing macros. While they are already - * defined in the kernel header file , that file as -@@ -63,6 +64,6 @@ static inline int memfd_create(const char *name, unsigned int flags) { - #define F_SEAL_WRITE 0x0008 /* prevent writes */ - #endif - --#endif /* HAVE_MEMFD */ -+#endif /* HAVE_MEMFD && !HAVE_MEMFD_CREATE */ - - #endif --- -2.14.3 - diff --git a/buildroot/package/pulseaudio/pulseaudio.hash b/buildroot/package/pulseaudio/pulseaudio.hash index 7e59afdf9..7e1ea1606 100644 --- a/buildroot/package/pulseaudio/pulseaudio.hash +++ b/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/buildroot/package/pulseaudio/pulseaudio.mk b/buildroot/package/pulseaudio/pulseaudio.mk index f59828d43..d1c35654c 100644 --- a/buildroot/package/pulseaudio/pulseaudio.mk +++ b/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 @@ -15,9 +15,6 @@ PULSEAUDIO_CONF_OPTS = \ --disable-legacy-database-entry-format \ --disable-manpages -# 0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch -PULSEAUDIO_AUTORECONF = YES - PULSEAUDIO_DEPENDENCIES = \ host-pkgconf libtool libsndfile speex host-intltool \ $(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \ diff --git a/buildroot/package/pure-ftpd/pure-ftpd.mk b/buildroot/package/pure-ftpd/pure-ftpd.mk index 457e67ea6..ae3ca9d1f 100644 --- a/buildroot/package/pure-ftpd/pure-ftpd.mk +++ b/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/buildroot/package/pv/0001-configure.in-tighten-AIX-test.patch b/buildroot/package/pv/0001-configure.in-tighten-AIX-test.patch new file mode 100644 index 000000000..2e0d2af24 --- /dev/null +++ b/buildroot/package/pv/0001-configure.in-tighten-AIX-test.patch @@ -0,0 +1,57 @@ +From cd7605723eb8e6d8231644f1cf62f1e80badf074 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 20 Aug 2018 15:57:22 +0200 +Subject: [PATCH] configure.in: tighten AIX test + +Depending on the configuration, the cpp output may contain the string 'yes' +in a comment if built under a path containing 'yes', confusing the _AIX +test: + +${CROSS}-cpp conftest.h +\# 1 "conftest.h" +\# 1 "" +\# 1 "" +\# 31 "" +\# 1 "/home/peko/source/buildroot/output-yes/host/x86_64-buildroot-linux-gnu/sysroot/usr/include/stdc-predef.h" 1 3 4 +\# 32 "" 2 +\# 1 "conftest.txt" + +Fix it by only matching on 'yes' on a line by itself. + +Upstream-status: submitted to author +Signed-off-by: Peter Korsgaard +--- + + autoconf/configure.in | 2 +- + configure | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/autoconf/configure.in b/autoconf/configure.in +index bd45004..487c42b 100644 +--- a/autoconf/configure.in ++++ b/autoconf/configure.in +@@ -86,7 +86,7 @@ AC_PROG_MAKE_SET + + dnl AIX needs -lc128 + dnl +-AC_EGREP_CPP([yes], [#ifdef _AIX ++AC_EGREP_CPP([^yes$], [#ifdef _AIX + yes + #endif + ], [LIBS="$LIBS -lc128"]) +diff --git a/configure b/configure +index 7c11be0..59267b9 100755 +--- a/configure ++++ b/configure +@@ -3377,7 +3377,7 @@ yes + + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "yes" >/dev/null 2>&1; then ++ $EGREP "^yes$" >/dev/null 2>&1; then + LIBS="$LIBS -lc128" + fi + rm -f conftest* +-- +2.11.0 + diff --git a/buildroot/package/python-asn1crypto/python-asn1crypto.hash b/buildroot/package/python-asn1crypto/python-asn1crypto.hash index ec5d7cfc2..41aa60230 100644 --- a/buildroot/package/python-asn1crypto/python-asn1crypto.hash +++ b/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/buildroot/package/python-asn1crypto/python-asn1crypto.mk b/buildroot/package/python-asn1crypto/python-asn1crypto.mk index 681dfd5c1..4cd30e8ca 100644 --- a/buildroot/package/python-asn1crypto/python-asn1crypto.mk +++ b/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/buildroot/package/python-async-timeout/Config.in b/buildroot/package/python-async-timeout/Config.in new file mode 100644 index 000000000..659a0fdec --- /dev/null +++ b/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/buildroot/package/python-async-timeout/python-async-timeout.hash b/buildroot/package/python-async-timeout/python-async-timeout.hash new file mode 100644 index 000000000..f99e1dadd --- /dev/null +++ b/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/buildroot/package/python-async-timeout/python-async-timeout.mk b/buildroot/package/python-async-timeout/python-async-timeout.mk new file mode 100644 index 000000000..093adc5c1 --- /dev/null +++ b/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/buildroot/package/python-attrs/python-attrs.hash b/buildroot/package/python-attrs/python-attrs.hash index 4434fa192..23a5efd58 100644 --- a/buildroot/package/python-attrs/python-attrs.hash +++ b/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/buildroot/package/python-attrs/python-attrs.mk b/buildroot/package/python-attrs/python-attrs.mk index c9633711c..9fbee2d34 100644 --- a/buildroot/package/python-attrs/python-attrs.mk +++ b/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/buildroot/package/python-autobahn/python-autobahn.hash b/buildroot/package/python-autobahn/python-autobahn.hash index 32c99167e..522e28b5e 100644 --- a/buildroot/package/python-autobahn/python-autobahn.hash +++ b/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 a3a0648371b41328282a9ab7fe48ccbe autobahn-18.11.1.tar.gz +sha256 c7e775e46fc033160fa89942de4953ca739f26167f74431dc2c8a3cd165b8755 autobahn-18.11.1.tar.gz +# Locally computed sha256 checksums +sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE diff --git a/buildroot/package/python-autobahn/python-autobahn.mk b/buildroot/package/python-autobahn/python-autobahn.mk index 3ba91c5e1..c5faacf96 100644 --- a/buildroot/package/python-autobahn/python-autobahn.mk +++ b/buildroot/package/python-autobahn/python-autobahn.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AUTOBAHN_VERSION = 17.10.1 +PYTHON_AUTOBAHN_VERSION = 18.11.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/01/ee/d401d58dc7732fadf4fd12d7fb87dd2f3e5e2d0ba65865495565f97c2c31 PYTHON_AUTOBAHN_LICENSE = MIT PYTHON_AUTOBAHN_LICENSE_FILES = LICENSE PYTHON_AUTOBAHN_SETUP_TYPE = setuptools diff --git a/buildroot/package/python-automat/python-automat.hash b/buildroot/package/python-automat/python-automat.hash index c0e350523..f974679b9 100644 --- a/buildroot/package/python-automat/python-automat.hash +++ b/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/buildroot/package/python-automat/python-automat.mk b/buildroot/package/python-automat/python-automat.mk index 96a4f5150..f3d8da49f 100644 --- a/buildroot/package/python-automat/python-automat.mk +++ b/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/buildroot/package/python-babel/python-babel.hash b/buildroot/package/python-babel/python-babel.hash index 4d7536799..a52da012c 100644 --- a/buildroot/package/python-babel/python-babel.hash +++ b/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/buildroot/package/python-babel/python-babel.mk b/buildroot/package/python-babel/python-babel.mk index d9bd0f048..a507cceae 100644 --- a/buildroot/package/python-babel/python-babel.mk +++ b/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/buildroot/package/python-bcrypt/python-bcrypt.hash b/buildroot/package/python-bcrypt/python-bcrypt.hash index 574cbe155..4c7c2eddf 100644 --- a/buildroot/package/python-bcrypt/python-bcrypt.hash +++ b/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 8408abc974446e64862a9742104e97b6 bcrypt-3.1.4.tar.gz +sha256 67ed1a374c9155ec0840214ce804616de49c3df9c5bc66740687c1c9b1cd9e8d bcrypt-3.1.4.tar.gz +# Locally computed sha256 checksums +sha256 8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90 LICENSE diff --git a/buildroot/package/python-bcrypt/python-bcrypt.mk b/buildroot/package/python-bcrypt/python-bcrypt.mk index aa6f9815a..d2dfdf552 100644 --- a/buildroot/package/python-bcrypt/python-bcrypt.mk +++ b/buildroot/package/python-bcrypt/python-bcrypt.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BCRYPT_VERSION = 3.1.3 +PYTHON_BCRYPT_VERSION = 3.1.4 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/f3/ec/bb6b384b5134fd881b91b6aa3a88ccddaad0103857760711a5ab8c799358 PYTHON_BCRYPT_SETUP_TYPE = setuptools PYTHON_BCRYPT_LICENSE = Apache-2.0 PYTHON_BCRYPT_LICENSE_FILES = LICENSE diff --git a/buildroot/package/python-can/Config.in b/buildroot/package/python-can/Config.in index 94b16ab33..f3ed1b77e 100644 --- a/buildroot/package/python-can/Config.in +++ b/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/buildroot/package/python-can/python-can.hash b/buildroot/package/python-can/python-can.hash index bd19d194b..b2dc1a33c 100644 --- a/buildroot/package/python-can/python-can.hash +++ b/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/buildroot/package/python-can/python-can.mk b/buildroot/package/python-can/python-can.mk index a271baea0..ca023ee89 100644 --- a/buildroot/package/python-can/python-can.mk +++ b/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/buildroot/package/python-certifi/Config.in b/buildroot/package/python-certifi/Config.in index 9390b4f89..015b8092a 100644 --- a/buildroot/package/python-certifi/Config.in +++ b/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/buildroot/package/python-certifi/python-certifi.hash b/buildroot/package/python-certifi/python-certifi.hash index e3e2f0777..596475fc2 100644 --- a/buildroot/package/python-certifi/python-certifi.hash +++ b/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 3f4ca75a66bc65fea0693b8040f66d13 certifi-2018.10.15.tar.gz +sha256 6d58c986d22b038c8c0df30d639f23a3e6d172a05c3583e766f4c0b785c0986a certifi-2018.10.15.tar.gz +# Locally computed sha256 checksums sha256 6a70a4bf6b010016d59a64b8ae4ad8dc7f5ef16f1fb453cc2ecd771c5a341131 LICENSE diff --git a/buildroot/package/python-certifi/python-certifi.mk b/buildroot/package/python-certifi/python-certifi.mk index 084893f5c..addb52fc1 100644 --- a/buildroot/package/python-certifi/python-certifi.mk +++ b/buildroot/package/python-certifi/python-certifi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CERTIFI_VERSION = 2018.1.18 +PYTHON_CERTIFI_VERSION = 2018.10.15 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/41/b6/4f0cefba47656583217acd6cd797bc2db1fede0d53090fdc28ad2c8e0716 PYTHON_CERTIFI_SETUP_TYPE = setuptools PYTHON_CERTIFI_LICENSE = ISC (Python code), MPL-2.0 (cacert.pem) PYTHON_CERTIFI_LICENSE_FILES = LICENSE diff --git a/buildroot/package/python-click/python-click.hash b/buildroot/package/python-click/python-click.hash index cae03c72e..911f13dfa 100644 --- a/buildroot/package/python-click/python-click.hash +++ b/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/buildroot/package/python-click/python-click.mk b/buildroot/package/python-click/python-click.mk index e6df63616..12539f557 100644 --- a/buildroot/package/python-click/python-click.mk +++ b/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/buildroot/package/python-crossbar/0002-Remove-idna-requirement.patch b/buildroot/package/python-crossbar/0002-Remove-idna-requirement.patch new file mode 100644 index 000000000..4948b91b0 --- /dev/null +++ b/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/buildroot/package/python-crossbar/0002-Rework-runtime-dependencies.patch b/buildroot/package/python-crossbar/0002-Rework-runtime-dependencies.patch deleted file mode 100644 index 784949c2d..000000000 --- a/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/buildroot/package/python-crossbar/Config.in b/buildroot/package/python-crossbar/Config.in index 96a25c2c6..526d9871b 100644 --- a/buildroot/package/python-crossbar/Config.in +++ b/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/buildroot/package/python-crossbar/python-crossbar.hash b/buildroot/package/python-crossbar/python-crossbar.hash index b9bfea893..aee07a738 100644 --- a/buildroot/package/python-crossbar/python-crossbar.hash +++ b/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 e3f0c51c6c496a3d7f1c62d7f64f23db crossbar-18.11.1.tar.gz +sha256 ab24031f40077ee283469aab5f270bdc223b29b1e6f45d69cf38bf4cad80df2a crossbar-18.11.1.tar.gz +# Locally computed sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 LICENSE diff --git a/buildroot/package/python-crossbar/python-crossbar.mk b/buildroot/package/python-crossbar/python-crossbar.mk index 5ebeddc76..de5dcea93 100644 --- a/buildroot/package/python-crossbar/python-crossbar.mk +++ b/buildroot/package/python-crossbar/python-crossbar.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CROSSBAR_VERSION = 17.6.1.post3 +PYTHON_CROSSBAR_VERSION = 18.11.1 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/99/02/7f7f7dee3e8787e44d9452cc1d712183e5903d8a76455693b15a900385eb PYTHON_CROSSBAR_LICENSE = AGPL-3.0 PYTHON_CROSSBAR_LICENSE_FILES = LICENSE PYTHON_CROSSBAR_SETUP_TYPE = setuptools diff --git a/buildroot/package/python-cryptography/Config.in b/buildroot/package/python-cryptography/Config.in index 14f950d4d..d1c2917ea 100644 --- a/buildroot/package/python-cryptography/Config.in +++ b/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/buildroot/package/python-cryptography/python-cryptography.hash b/buildroot/package/python-cryptography/python-cryptography.hash index a1162cf88..36da21c9c 100644 --- a/buildroot/package/python-cryptography/python-cryptography.hash +++ b/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/buildroot/package/python-cryptography/python-cryptography.mk b/buildroot/package/python-cryptography/python-cryptography.mk index 5373da820..91b680b2b 100644 --- a/buildroot/package/python-cryptography/python-cryptography.mk +++ b/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/buildroot/package/python-cython/python-cython.hash b/buildroot/package/python-cython/python-cython.hash index 3b918dc70..8326dfe13 100644 --- a/buildroot/package/python-cython/python-cython.hash +++ b/buildroot/package/python-cython/python-cython.hash @@ -1,6 +1,6 @@ -# md5 from https://pypi.python.org/pypi/Cython/json, sha256 locally computed -md5 6149238287d662bd5d5e572482252493 Cython-0.27.3.tar.gz -sha256 6a00512de1f2e3ce66ba35c5420babaef1fe2d9c43a8faab4080b0dbcc26bc64 Cython-0.27.3.tar.gz -# License files, locally calculated +# md5, sha256 from https://pypi.org/pypi/cython/json +md5 5cb227772fbb0318be3c73b532d249ac Cython-0.29.tar.gz +sha256 94916d1ede67682638d3cc0feb10648ff14dc51fb7a7f147f4fedce78eaaea97 Cython-0.29.tar.gz +# Locally computed sha256 checksums sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE.txt sha256 e1eb1c49a8508e8173dac30157e4a6439a44ad8846194746c424fbc3fc2b95d7 COPYING.txt diff --git a/buildroot/package/python-cython/python-cython.mk b/buildroot/package/python-cython/python-cython.mk index 88eab8341..f4cff975f 100644 --- a/buildroot/package/python-cython/python-cython.mk +++ b/buildroot/package/python-cython/python-cython.mk @@ -1,12 +1,12 @@ ################################################################################ # -# cython +# python-cython # ################################################################################ -PYTHON_CYTHON_VERSION = 0.27.3 +PYTHON_CYTHON_VERSION = 0.29 PYTHON_CYTHON_SOURCE = Cython-$(PYTHON_CYTHON_VERSION).tar.gz -PYTHON_CYTHON_SITE = https://pypi.python.org/packages/ee/2a/c4d2cdd19c84c32d978d18e9355d1ba9982a383de87d0fcb5928553d37f4 +PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/f0/66/6309291b19b498b672817bd237caec787d1b18013ee659f17b1ec5844887 PYTHON_CYTHON_SETUP_TYPE = setuptools PYTHON_CYTHON_LICENSE = Apache-2.0 PYTHON_CYTHON_LICENSE_FILES = COPYING.txt LICENSE.txt diff --git a/buildroot/package/python-dateutil/Config.in b/buildroot/package/python-dateutil/Config.in index 56a1d838f..1a36a150b 100644 --- a/buildroot/package/python-dateutil/Config.in +++ b/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/buildroot/package/python-dateutil/python-dateutil.hash b/buildroot/package/python-dateutil/python-dateutil.hash index adc24bdd1..353b6e576 100644 --- a/buildroot/package/python-dateutil/python-dateutil.hash +++ b/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 6357f8f42cbe0e0e0b1e543f3aad07b7 python-dateutil-2.7.5.tar.gz +sha256 88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02 python-dateutil-2.7.5.tar.gz +# Locally computed sha256 checksums +sha256 ba00f51a0d92823b5a1cde27d8b5b9d2321e67ed8da9bc163eff96d5e17e577e LICENSE diff --git a/buildroot/package/python-dateutil/python-dateutil.mk b/buildroot/package/python-dateutil/python-dateutil.mk index 41dee2d1c..5e9039833 100644 --- a/buildroot/package/python-dateutil/python-dateutil.mk +++ b/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.7.5 +PYTHON_DATEUTIL_SITE = https://files.pythonhosted.org/packages/0e/01/68747933e8d12263d41ce08119620d9a7e5eb72c876a3442257f74490da0 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/buildroot/package/python-decorator/python-decorator.hash b/buildroot/package/python-decorator/python-decorator.hash index 293f1ca68..ca7fb88e7 100644 --- a/buildroot/package/python-decorator/python-decorator.hash +++ b/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/buildroot/package/python-decorator/python-decorator.mk b/buildroot/package/python-decorator/python-decorator.mk index 3802f3dc1..67d9b8e71 100644 --- a/buildroot/package/python-decorator/python-decorator.mk +++ b/buildroot/package/python-decorator/python-decorator.mk @@ -8,6 +8,7 @@ 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)) diff --git a/buildroot/package/python-django/Config.in b/buildroot/package/python-django/Config.in index 75322d1bb..0a2e308d3 100644 --- a/buildroot/package/python-django/Config.in +++ b/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/buildroot/package/python-django/python-django.hash b/buildroot/package/python-django/python-django.hash index 09be18440..1b8ee8368 100644 --- a/buildroot/package/python-django/python-django.hash +++ b/buildroot/package/python-django/python-django.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/django/json, sha256 locally computed -md5 693dfeabad62c561cb205900d32c2a98 Django-1.10.7.tar.gz -sha256 593d779dbc2350a245c4f76d26bdcad58a39895e87304fe6d725bbdf84b5b0b8 Django-1.10.7.tar.gz +# md5, sha256 from https://pypi.org/pypi/django/json +md5 1a447e95c81e1c9b2a7ad61f4681f022 Django-2.1.3.tar.gz +sha256 1ffab268ada3d5684c05ba7ce776eaeedef360712358d6a6b340ae9f16486916 Django-2.1.3.tar.gz +# Locally computed sha256 checksums +sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/buildroot/package/python-django/python-django.mk b/buildroot/package/python-django/python-django.mk index 9056f00cf..29eb0b616 100644 --- a/buildroot/package/python-django/python-django.mk +++ b/buildroot/package/python-django/python-django.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_DJANGO_VERSION = 1.10.7 +PYTHON_DJANGO_VERSION = 2.1.3 PYTHON_DJANGO_SOURCE = Django-$(PYTHON_DJANGO_VERSION).tar.gz # The official Django site has an unpractical URL -PYTHON_DJANGO_SITE = https://pypi.python.org/packages/15/b4/d4bb7313e02386bd23a60e1eb5670321313fb67289c6f36ec43bce747aff +PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/93/b1/0d6febb88712c39aced7df232d432fa22f5613c4bff246a1f4841248a60d PYTHON_DJANGO_LICENSE = BSD-3-Clause PYTHON_DJANGO_LICENSE_FILES = LICENSE PYTHON_DJANGO_SETUP_TYPE = setuptools diff --git a/buildroot/package/python-engineio/python-engineio.hash b/buildroot/package/python-engineio/python-engineio.hash index b2c0669bc..7bf1a4941 100644 --- a/buildroot/package/python-engineio/python-engineio.hash +++ b/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 92d2e1b62083ce8f0dcd8fd905b0dd9d python-engineio-2.3.2.tar.gz +sha256 871f4d022eb9171e380281266ba2aef0759b264ba862350bc94e7a597a98a443 python-engineio-2.3.2.tar.gz +# Locally computed sha256 checksums +sha256 c9e97d3dbc1fbbcdb4f7808b282cd646db887aff4f5313fe6bbe8d4c31405a9c LICENSE diff --git a/buildroot/package/python-engineio/python-engineio.mk b/buildroot/package/python-engineio/python-engineio.mk index 61d5da9af..e730c39cd 100644 --- a/buildroot/package/python-engineio/python-engineio.mk +++ b/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 = 2.3.2 +PYTHON_ENGINEIO_SITE = https://files.pythonhosted.org/packages/66/18/09516793c68e0f7fb759d54c109a09a86e31c3e685eb77884613a1c1a7b3 PYTHON_ENGINEIO_SETUP_TYPE = setuptools PYTHON_ENGINEIO_LICENSE = MIT PYTHON_ENGINEIO_LICENSE_FILES = LICENSE diff --git a/buildroot/package/python-enum34/python-enum34.mk b/buildroot/package/python-enum34/python-enum34.mk index c612cb65e..09d1143ab 100644 --- a/buildroot/package/python-enum34/python-enum34.mk +++ b/buildroot/package/python-enum34/python-enum34.mk @@ -12,3 +12,4 @@ PYTHON_ENUM34_LICENSE = BSD-3-Clause PYTHON_ENUM34_LICENSE_FILES = enum/LICENSE $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/buildroot/package/python-falcon/Config.in b/buildroot/package/python-falcon/Config.in new file mode 100644 index 000000000..ffd66eec1 --- /dev/null +++ b/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/buildroot/package/python-falcon/python-falcon.hash b/buildroot/package/python-falcon/python-falcon.hash new file mode 100644 index 000000000..7f6ee6ea3 --- /dev/null +++ b/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/buildroot/package/python-falcon/python-falcon.mk b/buildroot/package/python-falcon/python-falcon.mk new file mode 100644 index 000000000..b724ffadb --- /dev/null +++ b/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/buildroot/package/python-fastentrypoints/Config.in.host b/buildroot/package/python-fastentrypoints/Config.in.host new file mode 100644 index 000000000..91605509a --- /dev/null +++ b/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/buildroot/package/python-fastentrypoints/python-fastentrypoints.hash b/buildroot/package/python-fastentrypoints/python-fastentrypoints.hash new file mode 100644 index 000000000..71165d61f --- /dev/null +++ b/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/buildroot/package/python-fastentrypoints/python-fastentrypoints.mk b/buildroot/package/python-fastentrypoints/python-fastentrypoints.mk new file mode 100644 index 000000000..7fa728929 --- /dev/null +++ b/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/buildroot/package/python-fire/Config.in b/buildroot/package/python-fire/Config.in new file mode 100644 index 000000000..2c6e55ab6 --- /dev/null +++ b/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/buildroot/package/python-fire/python-fire.hash b/buildroot/package/python-fire/python-fire.hash new file mode 100644 index 000000000..d6304369d --- /dev/null +++ b/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/buildroot/package/python-fire/python-fire.mk b/buildroot/package/python-fire/python-fire.mk new file mode 100644 index 000000000..bdb5ee191 --- /dev/null +++ b/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/buildroot/package/python-futures/python-futures.hash b/buildroot/package/python-futures/python-futures.hash index f0948ae4e..db6bb55ea 100644 --- a/buildroot/package/python-futures/python-futures.hash +++ b/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/buildroot/package/python-futures/python-futures.mk b/buildroot/package/python-futures/python-futures.mk index fabfa6ae3..d6366f30e 100644 --- a/buildroot/package/python-futures/python-futures.mk +++ b/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/buildroot/package/python-gunicorn/Config.in b/buildroot/package/python-gunicorn/Config.in index 79cda3eaa..098c3fa6b 100644 --- a/buildroot/package/python-gunicorn/Config.in +++ b/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/buildroot/package/python-gunicorn/python-gunicorn.hash b/buildroot/package/python-gunicorn/python-gunicorn.hash index a282bc995..402250ea7 100644 --- a/buildroot/package/python-gunicorn/python-gunicorn.hash +++ b/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/buildroot/package/python-gunicorn/python-gunicorn.mk b/buildroot/package/python-gunicorn/python-gunicorn.mk index cfb7da110..d113f7518 100644 --- a/buildroot/package/python-gunicorn/python-gunicorn.mk +++ b/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/buildroot/package/python-hyperlink/Config.in b/buildroot/package/python-hyperlink/Config.in index 11ac81423..8dad0af19 100644 --- a/buildroot/package/python-hyperlink/Config.in +++ b/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/buildroot/package/python-hyperlink/python-hyperlink.hash b/buildroot/package/python-hyperlink/python-hyperlink.hash index 565a34d16..fcf0cc921 100644 --- a/buildroot/package/python-hyperlink/python-hyperlink.hash +++ b/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/buildroot/package/python-hyperlink/python-hyperlink.mk b/buildroot/package/python-hyperlink/python-hyperlink.mk index 7b48e3634..6681df4f9 100644 --- a/buildroot/package/python-hyperlink/python-hyperlink.mk +++ b/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/buildroot/package/python-idna/python-idna.hash b/buildroot/package/python-idna/python-idna.hash index 839154a06..4b3c84e5d 100644 --- a/buildroot/package/python-idna/python-idna.hash +++ b/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 0e5bb69018ddef1b9d95f681182be82c idna-2.7.tar.gz +sha256 684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16 idna-2.7.tar.gz +# Locally computed sha256 checksums +sha256 0d4bc7abd48dcfb14e24254ee404066737ff0167144e222914a2113b8794683e LICENSE.rst diff --git a/buildroot/package/python-idna/python-idna.mk b/buildroot/package/python-idna/python-idna.mk index c8d1793e0..d5c57955a 100644 --- a/buildroot/package/python-idna/python-idna.mk +++ b/buildroot/package/python-idna/python-idna.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_IDNA_VERSION = 2.5 +PYTHON_IDNA_VERSION = 2.7 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/65/c4/80f97e9c9628f3cac9b98bfca0402ede54e0563b56482e3e6e45c43c4935 PYTHON_IDNA_LICENSE = BSD-3-Clause PYTHON_IDNA_LICENSE_FILES = LICENSE.rst PYTHON_IDNA_SETUP_TYPE = setuptools diff --git a/buildroot/package/python-incremental/python-incremental.hash b/buildroot/package/python-incremental/python-incremental.hash index 580e76c7c..c897f6e49 100644 --- a/buildroot/package/python-incremental/python-incremental.hash +++ b/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/buildroot/package/python-incremental/python-incremental.mk b/buildroot/package/python-incremental/python-incremental.mk index fc1975ffd..9c9d3a440 100644 --- a/buildroot/package/python-incremental/python-incremental.mk +++ b/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/buildroot/package/python-ipaddress/python-ipaddress.hash b/buildroot/package/python-ipaddress/python-ipaddress.hash index c4fdf6d6c..5a3e674fa 100644 --- a/buildroot/package/python-ipaddress/python-ipaddress.hash +++ b/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/buildroot/package/python-ipaddress/python-ipaddress.mk b/buildroot/package/python-ipaddress/python-ipaddress.mk index 646db5d2d..189efdfb1 100644 --- a/buildroot/package/python-ipaddress/python-ipaddress.mk +++ b/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/buildroot/package/python-ipython/python-ipython.hash b/buildroot/package/python-ipython/python-ipython.hash index af1ed94b7..41bdd70fe 100644 --- a/buildroot/package/python-ipython/python-ipython.hash +++ b/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/buildroot/package/python-ipython/python-ipython.mk b/buildroot/package/python-ipython/python-ipython.mk index 5d92546fe..79a48bf43 100644 --- a/buildroot/package/python-ipython/python-ipython.mk +++ b/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/buildroot/package/python-jinja2/python-jinja2.hash b/buildroot/package/python-jinja2/python-jinja2.hash index f5a09729c..fe34f7396 100644 --- a/buildroot/package/python-jinja2/python-jinja2.hash +++ b/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/buildroot/package/python-jinja2/python-jinja2.mk b/buildroot/package/python-jinja2/python-jinja2.mk index c7dd4902b..9ff36972d 100644 --- a/buildroot/package/python-jinja2/python-jinja2.mk +++ b/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/buildroot/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch b/buildroot/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch index b30efc124..ec7aec407 100644 --- a/buildroot/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch +++ b/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/buildroot/package/python-lmdb/python-lmdb.hash b/buildroot/package/python-lmdb/python-lmdb.hash index 7c2946044..ed96d6954 100644 --- a/buildroot/package/python-lmdb/python-lmdb.hash +++ b/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/buildroot/package/python-lmdb/python-lmdb.mk b/buildroot/package/python-lmdb/python-lmdb.mk index 62fb0465b..039656e2c 100644 --- a/buildroot/package/python-lmdb/python-lmdb.mk +++ b/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/buildroot/package/python-logbook/Config.in b/buildroot/package/python-logbook/Config.in index 9ae914432..d4fbf0fe6 100644 --- a/buildroot/package/python-logbook/Config.in +++ b/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/buildroot/package/python-logbook/python-logbook.hash b/buildroot/package/python-logbook/python-logbook.hash index 1a79046c3..a32ff3bde 100644 --- a/buildroot/package/python-logbook/python-logbook.hash +++ b/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 c9fab07b6a91aa7358155baa16802707 Logbook-1.4.1.tar.gz +sha256 32375ce706d04a46886f9818bb953e53e0eda636552d7c0a2e482dd670fa56db Logbook-1.4.1.tar.gz +# Locally computed sha256 checksums +sha256 2ca266337cc6947578654ab0dd6438de4d01fa78b2e6eb554b09757df1178f98 LICENSE diff --git a/buildroot/package/python-logbook/python-logbook.mk b/buildroot/package/python-logbook/python-logbook.mk index 5fcf301ba..ab1b2703e 100644 --- a/buildroot/package/python-logbook/python-logbook.mk +++ b/buildroot/package/python-logbook/python-logbook.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_LOGBOOK_VERSION = 1.0.0 +PYTHON_LOGBOOK_VERSION = 1.4.1 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/74/fc/3e7557ed1ef1bd4e3ee189fc670416abfc7192b550e8d3c1d858a63f41ab PYTHON_LOGBOOK_SETUP_TYPE = setuptools PYTHON_LOGBOOK_LICENSE = BSD-3-Clause +PYTHON_LOGBOOK_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/buildroot/package/python-lxml/Config.in b/buildroot/package/python-lxml/Config.in index 1ccaa5e38..fcb30d56e 100644 --- a/buildroot/package/python-lxml/Config.in +++ b/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/buildroot/package/python-lxml/python-lxml.hash b/buildroot/package/python-lxml/python-lxml.hash index 38607e1b8..610c0d6db 100644 --- a/buildroot/package/python-lxml/python-lxml.hash +++ b/buildroot/package/python-lxml/python-lxml.hash @@ -1,2 +1,6 @@ # Locally computed -sha256 f7bc9f702500e205b1560d620f14015fec76dcd6f9e889a946a2ddcc3c344fd0 lxml-4.0.0.tgz +sha256 36720698c29e7a9626a0dc802ef8885f8f0239bfd1689628ecd459a061f2807f lxml-4.2.5.tgz +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/buildroot/package/python-lxml/python-lxml.mk b/buildroot/package/python-lxml/python-lxml.mk index 7f1692d1b..61f81e636 100644 --- a/buildroot/package/python-lxml/python-lxml.mk +++ b/buildroot/package/python-lxml/python-lxml.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_LXML_VERSION = 4.0.0 +PYTHON_LXML_VERSION = 4.2.5 PYTHON_LXML_SITE = http://lxml.de/files PYTHON_LXML_SOURCE = lxml-$(PYTHON_LXML_VERSION).tgz diff --git a/buildroot/package/python-markdown/python-markdown.hash b/buildroot/package/python-markdown/python-markdown.hash index f2131edaf..623156b50 100644 --- a/buildroot/package/python-markdown/python-markdown.hash +++ b/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/buildroot/package/python-markdown/python-markdown.mk b/buildroot/package/python-markdown/python-markdown.mk index d5273f97a..8349638eb 100644 --- a/buildroot/package/python-markdown/python-markdown.mk +++ b/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/buildroot/package/python-markdown2/python-markdown2.hash b/buildroot/package/python-markdown2/python-markdown2.hash index 17ae7d901..59a9a13ad 100644 --- a/buildroot/package/python-markdown2/python-markdown2.hash +++ b/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/buildroot/package/python-markdown2/python-markdown2.mk b/buildroot/package/python-markdown2/python-markdown2.mk index 1e343b43f..8069ef918 100644 --- a/buildroot/package/python-markdown2/python-markdown2.mk +++ b/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/buildroot/package/python-mimeparse/Config.in b/buildroot/package/python-mimeparse/Config.in new file mode 100644 index 000000000..2437c3665 --- /dev/null +++ b/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/buildroot/package/python-mimeparse/python-mimeparse.hash b/buildroot/package/python-mimeparse/python-mimeparse.hash new file mode 100644 index 000000000..9721c5fa0 --- /dev/null +++ b/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/buildroot/package/python-mimeparse/python-mimeparse.mk b/buildroot/package/python-mimeparse/python-mimeparse.mk new file mode 100644 index 000000000..00bb1cf8f --- /dev/null +++ b/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/buildroot/package/python-msgpack/python-msgpack.hash b/buildroot/package/python-msgpack/python-msgpack.hash index 48313ff54..74785837d 100644 --- a/buildroot/package/python-msgpack/python-msgpack.hash +++ b/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-python/json +md5 6d644c06a87a5a111bbbf5b34b4be440 msgpack-python-0.5.6.tar.gz +sha256 378cc8a6d3545b532dfd149da715abae4fda2a3adb6d74e525d0d5e51f46909b msgpack-python-0.5.6.tar.gz +# Locally computed sha256 +sha256 492dedba85da5872f78e6091bcd1fea474d660d35acb4dee964b8aab3f007427 COPYING diff --git a/buildroot/package/python-msgpack/python-msgpack.mk b/buildroot/package/python-msgpack/python-msgpack.mk index 5be2b14bd..e0544f5d3 100644 --- a/buildroot/package/python-msgpack/python-msgpack.mk +++ b/buildroot/package/python-msgpack/python-msgpack.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MSGPACK_VERSION = 0.4.8 +PYTHON_MSGPACK_VERSION = 0.5.6 PYTHON_MSGPACK_SOURCE = msgpack-python-$(PYTHON_MSGPACK_VERSION).tar.gz -PYTHON_MSGPACK_SITE = https://pypi.python.org/packages/21/27/8a1d82041c7a2a51fcc73675875a5f9ea06c2663e02fcfeb708be1d081a0 +PYTHON_MSGPACK_SITE = https://files.pythonhosted.org/packages/8a/20/6eca772d1a5830336f84aca1d8198e5a3f4715cd1c7fc36d3cc7f7185091 PYTHON_MSGPACK_LICENSE = Apache-2.0 PYTHON_MSGPACK_LICENSE_FILES = COPYING PYTHON_MSGPACK_SETUP_TYPE = setuptools diff --git a/buildroot/package/python-multidict/Config.in b/buildroot/package/python-multidict/Config.in new file mode 100644 index 000000000..7bfaa36db --- /dev/null +++ b/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/buildroot/package/python-multidict/python-multidict.hash b/buildroot/package/python-multidict/python-multidict.hash new file mode 100644 index 000000000..aa15eed1c --- /dev/null +++ b/buildroot/package/python-multidict/python-multidict.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/multidict/json +md5 55d19168f955e5463c6f6b530e913da3 multidict-4.4.2.tar.gz +sha256 3c11e92c3dfc321014e22fb442bc9eb70e01af30d6ce442026b0c35723448c66 multidict-4.4.2.tar.gz +# Locally computed sha256 checksums +sha256 a1c5825513279d3085a0ba46880e148ea3710c149bbaedcf2d11605a5ed3c4ad LICENSE diff --git a/buildroot/package/python-multidict/python-multidict.mk b/buildroot/package/python-multidict/python-multidict.mk new file mode 100644 index 000000000..f88135cb6 --- /dev/null +++ b/buildroot/package/python-multidict/python-multidict.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-multidict +# +################################################################################ + +PYTHON_MULTIDICT_VERSION = 4.4.2 +PYTHON_MULTIDICT_SOURCE = multidict-$(PYTHON_MULTIDICT_VERSION).tar.gz +PYTHON_MULTIDICT_SITE = https://files.pythonhosted.org/packages/b3/5f/5c29cde8511c95fad045b9ecaf2e76f0da18761e8363a82594f5a58c2ced +PYTHON_MULTIDICT_SETUP_TYPE = setuptools +PYTHON_MULTIDICT_LICENSE = Apache-2.0 +PYTHON_MULTIDICT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/buildroot/package/python-mwclient/python-mwclient.hash b/buildroot/package/python-mwclient/python-mwclient.hash index 3fb643e60..fccfbcdcb 100644 --- a/buildroot/package/python-mwclient/python-mwclient.hash +++ b/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/buildroot/package/python-mwclient/python-mwclient.mk b/buildroot/package/python-mwclient/python-mwclient.mk index 5f18ef7d1..0e20dd626 100644 --- a/buildroot/package/python-mwclient/python-mwclient.mk +++ b/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/buildroot/package/python-numpy/0002-Add-support-of-ARC.patch b/buildroot/package/python-numpy/0002-Add-support-of-ARC.patch deleted file mode 100644 index c022487c7..000000000 --- a/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/buildroot/package/python-numpy/python-numpy.hash b/buildroot/package/python-numpy/python-numpy.hash index 854f20229..7c7f44611 100644 --- a/buildroot/package/python-numpy/python-numpy.hash +++ b/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/buildroot/package/python-numpy/python-numpy.mk b/buildroot/package/python-numpy/python-numpy.mk index d0d38371a..26a10c377 100644 --- a/buildroot/package/python-numpy/python-numpy.mk +++ b/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/buildroot/package/python-oauthlib/Config.in b/buildroot/package/python-oauthlib/Config.in index d6617f389..65016c1d0 100644 --- a/buildroot/package/python-oauthlib/Config.in +++ b/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/buildroot/package/python-oauthlib/python-oauthlib.hash b/buildroot/package/python-oauthlib/python-oauthlib.hash index f8e132424..f0a3dee82 100644 --- a/buildroot/package/python-oauthlib/python-oauthlib.hash +++ b/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/buildroot/package/python-oauthlib/python-oauthlib.mk b/buildroot/package/python-oauthlib/python-oauthlib.mk index ab3980024..3aa7ae227 100644 --- a/buildroot/package/python-oauthlib/python-oauthlib.mk +++ b/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/buildroot/package/python-paramiko/Config.in b/buildroot/package/python-paramiko/Config.in index 1f86af3be..e33199c82 100644 --- a/buildroot/package/python-paramiko/Config.in +++ b/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/buildroot/package/python-paramiko/python-paramiko.hash b/buildroot/package/python-paramiko/python-paramiko.hash index 3b4c779ce..cca2dd612 100644 --- a/buildroot/package/python-paramiko/python-paramiko.hash +++ b/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/buildroot/package/python-paramiko/python-paramiko.mk b/buildroot/package/python-paramiko/python-paramiko.mk index 0aed667c4..1f5818e3b 100644 --- a/buildroot/package/python-paramiko/python-paramiko.mk +++ b/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/buildroot/package/python-passlib/Config.in b/buildroot/package/python-passlib/Config.in new file mode 100644 index 000000000..23546a18a --- /dev/null +++ b/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/buildroot/package/python-passlib/python-passlib.hash b/buildroot/package/python-passlib/python-passlib.hash new file mode 100644 index 000000000..8e7f790af --- /dev/null +++ b/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/buildroot/package/python-passlib/python-passlib.mk b/buildroot/package/python-passlib/python-passlib.mk new file mode 100644 index 000000000..1a3726b60 --- /dev/null +++ b/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/buildroot/package/python-pathlib2/python-pathlib2.hash b/buildroot/package/python-pathlib2/python-pathlib2.hash index a9c294940..4d2b02f8d 100644 --- a/buildroot/package/python-pathlib2/python-pathlib2.hash +++ b/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 fd76fb5d0baa798bfe12fb7965da97f8 pathlib2-2.3.2.tar.gz +sha256 8eb170f8d0d61825e09a95b38be068299ddeda82f35e96c3301a8a5e7604cb83 pathlib2-2.3.2.tar.gz +# Locally computed sha256 checksums +sha256 f8e02f1a07e4c6fc59a4bee831ddde26b97064105c423b9e24340f35aaa80262 LICENSE.rst diff --git a/buildroot/package/python-pathlib2/python-pathlib2.mk b/buildroot/package/python-pathlib2/python-pathlib2.mk index 0116420ef..dadc97513 100644 --- a/buildroot/package/python-pathlib2/python-pathlib2.mk +++ b/buildroot/package/python-pathlib2/python-pathlib2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PATHLIB2_VERSION = 2.2.1 +PYTHON_PATHLIB2_VERSION = 2.3.2 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/db/a8/7d6439c1aec525ed70810abee5b7d7f3aa35347f59bc28343e8f62019aa2 PYTHON_PATHLIB2_LICENSE = MIT PYTHON_PATHLIB2_LICENSE_FILES = LICENSE.rst PYTHON_PATHLIB2_SETUP_TYPE = setuptools diff --git a/buildroot/package/python-pexpect/python-pexpect.hash b/buildroot/package/python-pexpect/python-pexpect.hash index e3836074e..bdeedefaa 100644 --- a/buildroot/package/python-pexpect/python-pexpect.hash +++ b/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/buildroot/package/python-pexpect/python-pexpect.mk b/buildroot/package/python-pexpect/python-pexpect.mk index f1f990394..5c385cefb 100644 --- a/buildroot/package/python-pexpect/python-pexpect.mk +++ b/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/buildroot/package/python-pigpio/Config.in b/buildroot/package/python-pigpio/Config.in new file mode 100644 index 000000000..08c37cb9b --- /dev/null +++ b/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.co.uk/rpi/pigpio/python.html diff --git a/buildroot/package/python-pigpio/python-pigpio.hash b/buildroot/package/python-pigpio/python-pigpio.hash new file mode 100644 index 000000000..a0ef093ec --- /dev/null +++ b/buildroot/package/python-pigpio/python-pigpio.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/pigpio/json +md5 32d7d5e2e042fb4f503b93858712e7ad pigpio-1.40.post1.tar.gz +sha256 38bdc1b4d58898e7b4a69de3b0d90e8e8ccd851ac7d03e30791769475ffd941f pigpio-1.40.post1.tar.gz diff --git a/buildroot/package/python-pigpio/python-pigpio.mk b/buildroot/package/python-pigpio/python-pigpio.mk new file mode 100644 index 000000000..7c4527ad9 --- /dev/null +++ b/buildroot/package/python-pigpio/python-pigpio.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-pigpio +# +################################################################################ + +PYTHON_PIGPIO_VERSION = 1.40.post1 +PYTHON_PIGPIO_SOURCE = pigpio-$(PYTHON_PIGPIO_VERSION).tar.gz +PYTHON_PIGPIO_SITE = https://files.pythonhosted.org/packages/da/91/80c893c398bc6805592f44267bbf4bf88323de3db0f5e8f94b0fa8e28426 +PYTHON_PIGPIO_SETUP_TYPE = setuptools +PYTHON_PIGPIO_LICENSE = Unlicense + +$(eval $(python-package)) diff --git a/buildroot/package/python-pillow/python-pillow.hash b/buildroot/package/python-pillow/python-pillow.hash index d8c083b4f..0f90a0be1 100644 --- a/buildroot/package/python-pillow/python-pillow.hash +++ b/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/buildroot/package/python-pillow/python-pillow.mk b/buildroot/package/python-pillow/python-pillow.mk index 79d6a77ca..c3a3d1331 100644 --- a/buildroot/package/python-pillow/python-pillow.mk +++ b/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/buildroot/package/python-pip/Config.in b/buildroot/package/python-pip/Config.in new file mode 100644 index 000000000..ac741da87 --- /dev/null +++ b/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/buildroot/package/python-pip/python-pip.hash b/buildroot/package/python-pip/python-pip.hash new file mode 100644 index 000000000..1a70f0f7c --- /dev/null +++ b/buildroot/package/python-pip/python-pip.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pip/json +md5 75cad449ad62c88b22de317a26781714 pip-18.1.tar.gz +sha256 c0a292bd977ef590379a3f05d7b7f65135487b67470f6281289a94e015650ea1 pip-18.1.tar.gz +# Locally computed sha256 checksums +sha256 391a8784e319dae5431477d4cc9bc504fc5d71fd9e89e1c80f1cd3855f5d7cfa LICENSE.txt diff --git a/buildroot/package/python-pip/python-pip.mk b/buildroot/package/python-pip/python-pip.mk new file mode 100644 index 000000000..9ae7e7324 --- /dev/null +++ b/buildroot/package/python-pip/python-pip.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pip +# +################################################################################ + +PYTHON_PIP_VERSION = 18.1 +PYTHON_PIP_SOURCE = pip-$(PYTHON_PIP_VERSION).tar.gz +PYTHON_PIP_SITE = https://files.pythonhosted.org/packages/45/ae/8a0ad77defb7cc903f09e551d88b443304a9bd6e6f124e75c0fbbf6de8f7 +PYTHON_PIP_SETUP_TYPE = setuptools +PYTHON_PIP_LICENSE = MIT +PYTHON_PIP_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/buildroot/package/python-ply/Config.in b/buildroot/package/python-ply/Config.in new file mode 100644 index 000000000..d6d265ad1 --- /dev/null +++ b/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/buildroot/package/python-ply/python-ply.hash b/buildroot/package/python-ply/python-ply.hash new file mode 100644 index 000000000..1eba3b0ff --- /dev/null +++ b/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/buildroot/package/python-ply/python-ply.mk b/buildroot/package/python-ply/python-ply.mk new file mode 100644 index 000000000..95a290a7c --- /dev/null +++ b/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/buildroot/package/python-posix-ipc/Config.in b/buildroot/package/python-posix-ipc/Config.in index eba36edd7..2c6267867 100644 --- a/buildroot/package/python-posix-ipc/Config.in +++ b/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/buildroot/package/python-posix-ipc/python-posix-ipc.hash b/buildroot/package/python-posix-ipc/python-posix-ipc.hash index 196f186de..d267cabc8 100644 --- a/buildroot/package/python-posix-ipc/python-posix-ipc.hash +++ b/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/buildroot/package/python-posix-ipc/python-posix-ipc.mk b/buildroot/package/python-posix-ipc/python-posix-ipc.mk index 6178c7549..d4429f117 100644 --- a/buildroot/package/python-posix-ipc/python-posix-ipc.mk +++ b/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/buildroot/package/python-protobuf/Config.in b/buildroot/package/python-protobuf/Config.in index 500c82a53..8a70e80ad 100644 --- a/buildroot/package/python-protobuf/Config.in +++ b/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/buildroot/package/python-protobuf/python-protobuf.hash b/buildroot/package/python-protobuf/python-protobuf.hash index 91cab4ecc..652751c7b 100644 --- a/buildroot/package/python-protobuf/python-protobuf.hash +++ b/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/buildroot/package/python-psutil/python-psutil.hash b/buildroot/package/python-psutil/python-psutil.hash index 19fb8a4fd..1f44281e2 100644 --- a/buildroot/package/python-psutil/python-psutil.hash +++ b/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 0f08bf02400f81c28c4581619ca3e6cb psutil-5.4.8.tar.gz +sha256 6e265c8f3da00b015d24b842bfeb111f856b13d24f2c57036582568dc650d6c3 psutil-5.4.8.tar.gz +# Locally computed sha256 checksums +sha256 bb073826b0dfb43b631c38ad5d9844cda74cc631d2a5569ad8798be4274a3e17 LICENSE diff --git a/buildroot/package/python-psutil/python-psutil.mk b/buildroot/package/python-psutil/python-psutil.mk index 2b41df743..18567702b 100644 --- a/buildroot/package/python-psutil/python-psutil.mk +++ b/buildroot/package/python-psutil/python-psutil.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PSUTIL_VERSION = 5.2.0 +PYTHON_PSUTIL_VERSION = 5.4.8 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/e3/58/0eae6e4466e5abf779d7e2b71fac7fba5f59e00ea36ddb3ed690419ccb0f PYTHON_PSUTIL_SETUP_TYPE = setuptools PYTHON_PSUTIL_LICENSE = BSD-3-Clause PYTHON_PSUTIL_LICENSE_FILES = LICENSE diff --git a/buildroot/package/python-psycopg2/0001-setup.py-avoid-installing-tests-to-site-packages.patch b/buildroot/package/python-psycopg2/0001-setup.py-avoid-installing-tests-to-site-packages.patch new file mode 100644 index 000000000..f2dc3adca --- /dev/null +++ b/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/buildroot/package/python-psycopg2/Config.in b/buildroot/package/python-psycopg2/Config.in index ec852bb49..ec27d706d 100644 --- a/buildroot/package/python-psycopg2/Config.in +++ b/buildroot/package/python-psycopg2/Config.in @@ -1,5 +1,6 @@ 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 @@ -20,3 +21,6 @@ config BR2_PACKAGE_PYTHON_PSYCOPG2 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/buildroot/package/python-psycopg2/python-psycopg2.hash b/buildroot/package/python-psycopg2/python-psycopg2.hash index ea4a07697..5dedd61ab 100644 --- a/buildroot/package/python-psycopg2/python-psycopg2.hash +++ b/buildroot/package/python-psycopg2/python-psycopg2.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/psycopg2/json, sha256 locally computed -md5 70fc57072e084565a42689d416cf2c5c psycopg2-2.7.4.tar.gz -sha256 8bf51191d60f6987482ef0cfe8511bbf4877a5aa7f313d7b488b53189cf26209 psycopg2-2.7.4.tar.gz -sha256 1752db3c786e12b62ca804178dca033adce8bff4c4b3d98d3449d407fe45210d LICENSE +# md5, sha256 from https://pypi.org/pypi/psycopg2/json +md5 9e7d6f695fc7f8d1c42a7905449246c9 psycopg2-2.7.5.tar.gz +sha256 eccf962d41ca46e6326b97c8fe0a6687b58dfc1a5f6540ed071ff1474cea749e psycopg2-2.7.5.tar.gz +# Locally computed sha256 checksums +sha256 3c2b037df24cb85ca1a48739dcab60a5037644b436f87173f6db0d101636b525 LICENSE diff --git a/buildroot/package/python-psycopg2/python-psycopg2.mk b/buildroot/package/python-psycopg2/python-psycopg2.mk index e9327f460..c8c328d80 100644 --- a/buildroot/package/python-psycopg2/python-psycopg2.mk +++ b/buildroot/package/python-psycopg2/python-psycopg2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PSYCOPG2_VERSION = 2.7.4 +PYTHON_PSYCOPG2_VERSION = 2.7.5 PYTHON_PSYCOPG2_SOURCE = psycopg2-$(PYTHON_PSYCOPG2_VERSION).tar.gz -PYTHON_PSYCOPG2_SITE = https://pypi.python.org/packages/74/83/51580322ed0e82cba7ad8e0af590b8fb2cf11bd5aaa1ed872661bd36f462 +PYTHON_PSYCOPG2_SITE = https://files.pythonhosted.org/packages/b2/c1/7bf6c464e903ffc4f3f5907c389e5a4199666bf57f6cd6bf46c17912a1f9 PYTHON_PSYCOPG2_SETUP_TYPE = setuptools PYTHON_PSYCOPG2_LICENSE = LGPL-3.0+ PYTHON_PSYCOPG2_LICENSE_FILES = LICENSE diff --git a/buildroot/package/python-py/Config.in b/buildroot/package/python-py/Config.in new file mode 100644 index 000000000..354372f5b --- /dev/null +++ b/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/buildroot/package/python-py/python-py.hash b/buildroot/package/python-py/python-py.hash new file mode 100644 index 000000000..67926527c --- /dev/null +++ b/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/buildroot/package/python-py/python-py.mk b/buildroot/package/python-py/python-py.mk new file mode 100644 index 000000000..87e19ac21 --- /dev/null +++ b/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/buildroot/package/python-pyasn1-modules/Config.in b/buildroot/package/python-pyasn1-modules/Config.in new file mode 100644 index 000000000..6aff4d935 --- /dev/null +++ b/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/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.hash b/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.hash new file mode 100644 index 000000000..7c7f02461 --- /dev/null +++ b/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyasn1-modules/json +md5 65ce1ea1021679bffe96065baab232de pyasn1-modules-0.2.2.tar.gz +sha256 a0cf3e1842e7c60fde97cb22d275eb6f9524f5c5250489e292529de841417547 pyasn1-modules-0.2.2.tar.gz +# Locally computed sha256 checksums +sha256 f82128f64d567c333936a12b99a21d0e8cd66ce628d51ce0a7770cc38dc7fe43 LICENSE.txt diff --git a/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.mk b/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.mk new file mode 100644 index 000000000..dbdf82e6e --- /dev/null +++ b/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyasn1-modules +# +################################################################################ + +PYTHON_PYASN1_MODULES_VERSION = 0.2.2 +PYTHON_PYASN1_MODULES_SOURCE = pyasn1-modules-$(PYTHON_PYASN1_MODULES_VERSION).tar.gz +PYTHON_PYASN1_MODULES_SITE = https://files.pythonhosted.org/packages/37/33/74ebdc52be534e683dc91faf263931bc00ae05c6073909fde53999088541 +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/buildroot/package/python-pyasn1/Config.in b/buildroot/package/python-pyasn1/Config.in new file mode 100644 index 000000000..fea63813b --- /dev/null +++ b/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/buildroot/package/python-pyasn1/python-pyasn1.hash b/buildroot/package/python-pyasn1/python-pyasn1.hash new file mode 100644 index 000000000..fd3462152 --- /dev/null +++ b/buildroot/package/python-pyasn1/python-pyasn1.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyasn1/json +md5 0d182b71e1f72fe147d7957bc90be7f2 pyasn1-0.4.4.tar.gz +sha256 f58f2a3d12fd754aa123e9fa74fb7345333000a035f3921dbdaa08597aa53137 pyasn1-0.4.4.tar.gz +# Locally computed sha256 checksums +sha256 f82128f64d567c333936a12b99a21d0e8cd66ce628d51ce0a7770cc38dc7fe43 LICENSE.rst diff --git a/buildroot/package/python-pyasn1/python-pyasn1.mk b/buildroot/package/python-pyasn1/python-pyasn1.mk new file mode 100644 index 000000000..f658fc918 --- /dev/null +++ b/buildroot/package/python-pyasn1/python-pyasn1.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyasn1 +# +################################################################################ + +PYTHON_PYASN1_VERSION = 0.4.4 +PYTHON_PYASN1_SOURCE = pyasn1-$(PYTHON_PYASN1_VERSION).tar.gz +PYTHON_PYASN1_SITE = https://files.pythonhosted.org/packages/10/46/059775dc8e50f722d205452bced4b3cc965d27e8c3389156acd3b1123ae3 +PYTHON_PYASN1_SETUP_TYPE = setuptools +PYTHON_PYASN1_LICENSE = BSD-2-Clause +PYTHON_PYASN1_LICENSE_FILES = LICENSE.rst + +$(eval $(python-package)) diff --git a/buildroot/package/python-pycparser/python-pycparser.hash b/buildroot/package/python-pycparser/python-pycparser.hash index 25747c3a9..6230f7cc8 100644 --- a/buildroot/package/python-pycparser/python-pycparser.hash +++ b/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/buildroot/package/python-pycparser/python-pycparser.mk b/buildroot/package/python-pycparser/python-pycparser.mk index 08a22b45c..c07edaaa2 100644 --- a/buildroot/package/python-pycparser/python-pycparser.mk +++ b/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/buildroot/package/python-pycryptodomex/Config.in b/buildroot/package/python-pycryptodomex/Config.in new file mode 100644 index 000000000..c7127fee5 --- /dev/null +++ b/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/buildroot/package/python-pycryptodomex/python-pycryptodomex.hash b/buildroot/package/python-pycryptodomex/python-pycryptodomex.hash new file mode 100644 index 000000000..3d98d19f6 --- /dev/null +++ b/buildroot/package/python-pycryptodomex/python-pycryptodomex.hash @@ -0,0 +1,6 @@ +# md5, sha256 from https://pypi.org/pypi/pycryptodomex/json +md5 80019e535efb0575b38217dd3c6c41bb pycryptodomex-3.7.0.tar.gz +sha256 9f11823636128acbe4e17c35ff668f4d0a9f3133450753a0675525b6413aa1b0 pycryptodomex-3.7.0.tar.gz +# Locally computed sha256 checksums +sha256 fc884f6492490d0f227613ee900ff2a27e6879b79ee637c53a4697238bf12970 LICENSE.rst +sha256 8e563c767164faa0831a333b57d23d4311cf566eb1b15d93250f4606be4eb549 Doc/LEGAL/COPYRIGHT.pycrypto diff --git a/buildroot/package/python-pycryptodomex/python-pycryptodomex.mk b/buildroot/package/python-pycryptodomex/python-pycryptodomex.mk new file mode 100644 index 000000000..1dcdb8418 --- /dev/null +++ b/buildroot/package/python-pycryptodomex/python-pycryptodomex.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-pycryptodomex +# +################################################################################ + +PYTHON_PYCRYPTODOMEX_VERSION = 3.7.0 +PYTHON_PYCRYPTODOMEX_SOURCE = pycryptodomex-$(PYTHON_PYCRYPTODOMEX_VERSION).tar.gz +PYTHON_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/69/e7/5c50af65e3d46a161181089aed939bce185ad61f6cc86779994e9d8280d0 +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/buildroot/package/python-pydal/python-pydal.hash b/buildroot/package/python-pydal/python-pydal.hash index 9a3fad370..8e6fa90e6 100644 --- a/buildroot/package/python-pydal/python-pydal.hash +++ b/buildroot/package/python-pydal/python-pydal.hash @@ -1,3 +1,2 @@ -# 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 59b28cbad92743c76134fc078b62f49d5c02b86c55cbdee527f75995d2681735 pyDAL-17.11.tar.gz diff --git a/buildroot/package/python-pydal/python-pydal.mk b/buildroot/package/python-pydal/python-pydal.mk index c8d4b44cf..9de56bff6 100644 --- a/buildroot/package/python-pydal/python-pydal.mk +++ b/buildroot/package/python-pydal/python-pydal.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYDAL_VERSION = 17.8 +PYTHON_PYDAL_VERSION = 17.11 PYTHON_PYDAL_SOURCE = pyDAL-$(PYTHON_PYDAL_VERSION).tar.gz -PYTHON_PYDAL_SITE = https://pypi.python.org/packages/e3/bd/1d5ca8be486d845074161456637f7d73acc09dc6c8d69bf0e7ad55ce9027 +PYTHON_PYDAL_SITE = https://files.pythonhosted.org/packages/d2/64/a119cb70ed91a6273aad811fd250b8a55d4bc8b0d900757723ec5a4f0ba9 PYTHON_PYDAL_LICENSE = BSD-3-Clause PYTHON_PYDAL_LICENSE_FILES = LICENSE PYTHON_PYDAL_SETUP_TYPE = setuptools diff --git a/buildroot/package/python-pyhamcrest/Config.in b/buildroot/package/python-pyhamcrest/Config.in new file mode 100644 index 000000000..c2a4dc06f --- /dev/null +++ b/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/buildroot/package/python-pyhamcrest/python-pyhamcrest.hash b/buildroot/package/python-pyhamcrest/python-pyhamcrest.hash new file mode 100644 index 000000000..0c1660e08 --- /dev/null +++ b/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/buildroot/package/python-pyhamcrest/python-pyhamcrest.mk b/buildroot/package/python-pyhamcrest/python-pyhamcrest.mk new file mode 100644 index 000000000..244aa8c60 --- /dev/null +++ b/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/buildroot/package/python-pynacl/python-pynacl.hash b/buildroot/package/python-pynacl/python-pynacl.hash index 7035ac763..84d8674bf 100644 --- a/buildroot/package/python-pynacl/python-pynacl.hash +++ b/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/buildroot/package/python-pynacl/python-pynacl.mk b/buildroot/package/python-pynacl/python-pynacl.mk index 469ddda47..1203a6e11 100644 --- a/buildroot/package/python-pynacl/python-pynacl.mk +++ b/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/buildroot/package/python-pyopenssl/python-pyopenssl.hash b/buildroot/package/python-pyopenssl/python-pyopenssl.hash index 74fa4e56b..ebd16cf28 100644 --- a/buildroot/package/python-pyopenssl/python-pyopenssl.hash +++ b/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 c92e9c85b520b7e153fef0f7f3c5dda7 pyOpenSSL-18.0.0.tar.gz +sha256 6488f1423b00f73b7ad5167885312bb0ce410d3312eb212393795b53c8caa580 pyOpenSSL-18.0.0.tar.gz +# Locally computed sha256 +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/buildroot/package/python-pyopenssl/python-pyopenssl.mk b/buildroot/package/python-pyopenssl/python-pyopenssl.mk index 3fbaf8d16..afdd06500 100644 --- a/buildroot/package/python-pyopenssl/python-pyopenssl.mk +++ b/buildroot/package/python-pyopenssl/python-pyopenssl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYOPENSSL_VERSION = 17.0.0 +PYTHON_PYOPENSSL_VERSION = 18.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/9b/7c/ee600b2a9304d260d96044ab5c5e57aa489755b92bbeb4c0803f9504f480 PYTHON_PYOPENSSL_LICENSE = Apache-2.0 PYTHON_PYOPENSSL_LICENSE_FILES = LICENSE PYTHON_PYOPENSSL_SETUP_TYPE = setuptools diff --git a/buildroot/package/python-pyqt5/0004-drop-qttest-qtestmouse-waitforevents.patch b/buildroot/package/python-pyqt5/0004-drop-qttest-qtestmouse-waitforevents.patch new file mode 100644 index 000000000..352be9aee --- /dev/null +++ b/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/buildroot/package/python-pyroute2/Config.in b/buildroot/package/python-pyroute2/Config.in index 4f13ab2c7..5df0a63d4 100644 --- a/buildroot/package/python-pyroute2/Config.in +++ b/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/buildroot/package/python-pyroute2/python-pyroute2.hash b/buildroot/package/python-pyroute2/python-pyroute2.hash index dbf09c97a..9078004d5 100644 --- a/buildroot/package/python-pyroute2/python-pyroute2.hash +++ b/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/buildroot/package/python-pyroute2/python-pyroute2.mk b/buildroot/package/python-pyroute2/python-pyroute2.mk index eed8eb415..7937bd236 100644 --- a/buildroot/package/python-pyroute2/python-pyroute2.mk +++ b/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/buildroot/package/python-pysmi/Config.in b/buildroot/package/python-pysmi/Config.in new file mode 100644 index 000000000..2e4453d88 --- /dev/null +++ b/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/buildroot/package/python-pysmi/python-pysmi.hash b/buildroot/package/python-pysmi/python-pysmi.hash new file mode 100644 index 000000000..ea4d7633e --- /dev/null +++ b/buildroot/package/python-pysmi/python-pysmi.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pysmi/json +md5 8df6d5ebc5d71bffb09f47787d8c7b9e pysmi-0.3.2.tar.gz +sha256 309039ab9bd458cc721692ffff10b4ad2c4a8e731e6507c34866ca2727323353 pysmi-0.3.2.tar.gz +# Locally computed sha256 checksums +sha256 ac2f8f67cae76e36a25496fbdf3293dd14b3d6db63f1ce4242ae9dd4fb7b90fd LICENSE.rst diff --git a/buildroot/package/python-pysmi/python-pysmi.mk b/buildroot/package/python-pysmi/python-pysmi.mk new file mode 100644 index 000000000..d4f2ef1cd --- /dev/null +++ b/buildroot/package/python-pysmi/python-pysmi.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pysmi +# +################################################################################ + +PYTHON_PYSMI_VERSION = 0.3.2 +PYTHON_PYSMI_SOURCE = pysmi-$(PYTHON_PYSMI_VERSION).tar.gz +PYTHON_PYSMI_SITE = https://files.pythonhosted.org/packages/46/be/8c1b68ec30992dd9f5127fff7bf518110ad4de8ae8533f921ad605d09a01 +PYTHON_PYSMI_SETUP_TYPE = setuptools +PYTHON_PYSMI_LICENSE = BSD-2-Clause +PYTHON_PYSMI_LICENSE_FILES = LICENSE.rst + +$(eval $(python-package)) diff --git a/buildroot/package/python-pysnmp/Config.in b/buildroot/package/python-pysnmp/Config.in index c7cdf3892..a034b1685 100644 --- a/buildroot/package/python-pysnmp/Config.in +++ b/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/buildroot/package/python-pysnmp/python-pysnmp.hash b/buildroot/package/python-pysnmp/python-pysnmp.hash index 7ecbf4c48..bb5fc2483 100644 --- a/buildroot/package/python-pysnmp/python-pysnmp.hash +++ b/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/buildroot/package/python-pysnmp/python-pysnmp.mk b/buildroot/package/python-pysnmp/python-pysnmp.mk index 2721ba8a7..0a916119d 100644 --- a/buildroot/package/python-pysnmp/python-pysnmp.mk +++ b/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/buildroot/package/python-pytrie/Config.in b/buildroot/package/python-pytrie/Config.in index fb1df41d0..156638476 100644 --- a/buildroot/package/python-pytrie/Config.in +++ b/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/buildroot/package/python-pytrie/python-pytrie.hash b/buildroot/package/python-pytrie/python-pytrie.hash index 88d2542a8..3bc1f6e9a 100644 --- a/buildroot/package/python-pytrie/python-pytrie.hash +++ b/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/buildroot/package/python-pytrie/python-pytrie.mk b/buildroot/package/python-pytrie/python-pytrie.mk index 0fe78fdb1..b8264fa2b 100644 --- a/buildroot/package/python-pytrie/python-pytrie.mk +++ b/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/buildroot/package/python-pytz/python-pytz.hash b/buildroot/package/python-pytz/python-pytz.hash index dd3ff2c2a..78234ace8 100644 --- a/buildroot/package/python-pytz/python-pytz.hash +++ b/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 4b91594c440aa20c76ac92043efa75e1 pytz-2018.7.tar.gz +sha256 31cb35c89bd7d333cd32c5f278fca91b523b0834369e757f4c5641ea252236ca pytz-2018.7.tar.gz +# Locally computed sha256 checksums +sha256 39f07c72a1bfda349cbd27bac9bcb1e6f8c5b4e5cc3fadf56900406e8cc0b792 LICENSE.txt diff --git a/buildroot/package/python-pytz/python-pytz.mk b/buildroot/package/python-pytz/python-pytz.mk index 1d3603389..dc6046d03 100644 --- a/buildroot/package/python-pytz/python-pytz.mk +++ b/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.7 +PYTHON_PYTZ_SOURCE = pytz-$(PYTHON_PYTZ_VERSION).tar.gz +PYTHON_PYTZ_SITE = https://files.pythonhosted.org/packages/cd/71/ae99fc3df1b1c5267d37ef2c51b7d79c44ba8a5e37b48e3ca93b4d74d98b PYTHON_PYTZ_SETUP_TYPE = setuptools PYTHON_PYTZ_LICENSE = MIT PYTHON_PYTZ_LICENSE_FILES = LICENSE.txt -define PYTHON_PYTZ_EXTRACT_CMDS - unzip $(PYTHON_PYTZ_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/buildroot/package/python-pyyaml/python-pyyaml.hash b/buildroot/package/python-pyyaml/python-pyyaml.hash index 209ab27e5..47a379ce6 100644 --- a/buildroot/package/python-pyyaml/python-pyyaml.hash +++ b/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 b78b96636d68ac581c0e2f38158c224f PyYAML-3.13.tar.gz +sha256 3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf PyYAML-3.13.tar.gz diff --git a/buildroot/package/python-pyyaml/python-pyyaml.mk b/buildroot/package/python-pyyaml/python-pyyaml.mk index beeaf88e9..cbf8df7b2 100644 --- a/buildroot/package/python-pyyaml/python-pyyaml.mk +++ b/buildroot/package/python-pyyaml/python-pyyaml.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYYAML_VERSION = 3.12 +PYTHON_PYYAML_VERSION = 3.13 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/9e/a3/1d13970c3f36777c583f136c136f804d70f500168edc1edea6daa7200769 PYTHON_PYYAML_SETUP_TYPE = distutils PYTHON_PYYAML_LICENSE = MIT PYTHON_PYYAML_LICENSE_FILES = LICENSE diff --git a/buildroot/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch b/buildroot/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch index cb52eaf6d..461ef4e5f 100644 --- a/buildroot/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch +++ b/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/buildroot/package/python-pyzmq/0002-replace-compile_and_run-with-compile_and_forget.patch b/buildroot/package/python-pyzmq/0002-replace-compile_and_run-with-compile_and_forget.patch deleted file mode 100644 index 278e939e0..000000000 --- a/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/buildroot/package/python-pyzmq/Config.in b/buildroot/package/python-pyzmq/Config.in index 250191251..8f33a635c 100644 --- a/buildroot/package/python-pyzmq/Config.in +++ b/buildroot/package/python-pyzmq/Config.in @@ -1,13 +1,13 @@ config BR2_PACKAGE_PYTHON_PYZMQ bool "python-pyzmq" depends on BR2_INSTALL_LIBSTDCPP # zeromq - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # zeromq + depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq select BR2_PACKAGE_ZEROMQ help This package contains the python language binding for zeromq. http://zeromq.org/bindings:python -comment "python-pyzmq needs a toolchain w/ C++, NPTL" +comment "python-pyzmq needs a toolchain w/ C++, threads" depends on BR2_PACKAGE_PYTHON - depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS_NPTL) + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) diff --git a/buildroot/package/python-pyzmq/python-pyzmq.hash b/buildroot/package/python-pyzmq/python-pyzmq.hash index 6cdd0b9f1..eb8cf0923 100644 --- a/buildroot/package/python-pyzmq/python-pyzmq.hash +++ b/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/buildroot/package/python-pyzmq/python-pyzmq.mk b/buildroot/package/python-pyzmq/python-pyzmq.mk index c34c5af26..1f7cb5d61 100644 --- a/buildroot/package/python-pyzmq/python-pyzmq.mk +++ b/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 diff --git a/buildroot/package/python-raven/python-raven.hash b/buildroot/package/python-raven/python-raven.hash index ce21886e7..1e451ba41 100644 --- a/buildroot/package/python-raven/python-raven.hash +++ b/buildroot/package/python-raven/python-raven.hash @@ -1,5 +1,5 @@ -# md5, sha256 from https://pypi.python.org/pypi/raven/json -md5 35398b2447d337315e0069c2580d3468 raven-6.7.0.tar.gz -sha256 f908e9b39f02580e7f822030d119ed3b2e8d32300a2fec6373e5827d588bbae7 raven-6.7.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/buildroot/package/python-raven/python-raven.mk b/buildroot/package/python-raven/python-raven.mk index 4aa49f5b3..b822fcda7 100644 --- a/buildroot/package/python-raven/python-raven.mk +++ b/buildroot/package/python-raven/python-raven.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_RAVEN_VERSION = 6.7.0 +PYTHON_RAVEN_VERSION = 6.9.0 PYTHON_RAVEN_SOURCE = raven-$(PYTHON_RAVEN_VERSION).tar.gz -PYTHON_RAVEN_SITE = https://files.pythonhosted.org/packages/d7/54/7d199f893a0ac01f8df9b7ec39c0f3ac19146e78b33401b1f4984c9d3583 +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/buildroot/package/python-reentry/Config.in b/buildroot/package/python-reentry/Config.in new file mode 100644 index 000000000..18518f2c3 --- /dev/null +++ b/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/buildroot/package/python-reentry/python-reentry.hash b/buildroot/package/python-reentry/python-reentry.hash new file mode 100644 index 000000000..7a3bbf4d9 --- /dev/null +++ b/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/buildroot/package/python-reentry/python-reentry.mk b/buildroot/package/python-reentry/python-reentry.mk new file mode 100644 index 000000000..d3f0e03ef --- /dev/null +++ b/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/buildroot/package/python-request-id/Config.in b/buildroot/package/python-request-id/Config.in new file mode 100644 index 000000000..39b5456d0 --- /dev/null +++ b/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/buildroot/package/python-request-id/python-request-id.hash b/buildroot/package/python-request-id/python-request-id.hash new file mode 100644 index 000000000..f412502b9 --- /dev/null +++ b/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/buildroot/package/python-request-id/python-request-id.mk b/buildroot/package/python-request-id/python-request-id.mk new file mode 100644 index 000000000..96601b975 --- /dev/null +++ b/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/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.hash b/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.hash index be0f644b8..733d29338 100644 --- a/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.hash +++ b/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/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.mk b/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.mk index 02e3114e5..a8761b18b 100644 --- a/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.mk +++ b/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/buildroot/package/python-requests/python-requests.hash b/buildroot/package/python-requests/python-requests.hash index 2f182ea3b..e3b77744a 100644 --- a/buildroot/package/python-requests/python-requests.hash +++ b/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 2918817ea4688f4ea21cb4b11e353448 requests-2.20.1.tar.gz +sha256 ea881206e59f41dbd0bd445437d792e43906703fff75ca8ff43ccdb11f33f263 requests-2.20.1.tar.gz +# Locally computed sha256 checksums +sha256 be41abac2c40f8530307e8d172c590b476f4a488bc6a68f8de57b7cf64786687 LICENSE diff --git a/buildroot/package/python-requests/python-requests.mk b/buildroot/package/python-requests/python-requests.mk index 504eb8d0a..0c327759b 100644 --- a/buildroot/package/python-requests/python-requests.mk +++ b/buildroot/package/python-requests/python-requests.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REQUESTS_VERSION = 2.18.1 +PYTHON_REQUESTS_VERSION = 2.20.1 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/40/35/298c36d839547b50822985a2cf0611b3b978a5ab7a5af5562b8ebe3e1369 PYTHON_REQUESTS_SETUP_TYPE = setuptools PYTHON_REQUESTS_LICENSE = Apache-2.0 PYTHON_REQUESTS_LICENSE_FILES = LICENSE diff --git a/buildroot/package/python-scandir/python-scandir.hash b/buildroot/package/python-scandir/python-scandir.hash index aecd9a58c..5918291ba 100644 --- a/buildroot/package/python-scandir/python-scandir.hash +++ b/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/buildroot/package/python-scandir/python-scandir.mk b/buildroot/package/python-scandir/python-scandir.mk index 9b7ba7007..1008fcad0 100644 --- a/buildroot/package/python-scandir/python-scandir.mk +++ b/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/buildroot/package/python-scapy/Config.in b/buildroot/package/python-scapy/Config.in new file mode 100644 index 000000000..6575a33af --- /dev/null +++ b/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/buildroot/package/python-scapy/python-scapy.hash b/buildroot/package/python-scapy/python-scapy.hash new file mode 100644 index 000000000..4d8001b75 --- /dev/null +++ b/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/buildroot/package/python-scapy/python-scapy.mk b/buildroot/package/python-scapy/python-scapy.mk new file mode 100644 index 000000000..c44b2cb2e --- /dev/null +++ b/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/buildroot/package/python-sdnotify/python-sdnotify.hash b/buildroot/package/python-sdnotify/python-sdnotify.hash index 6d3ad6ba8..b4106418e 100644 --- a/buildroot/package/python-sdnotify/python-sdnotify.hash +++ b/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/buildroot/package/python-sdnotify/python-sdnotify.mk b/buildroot/package/python-sdnotify/python-sdnotify.mk index 7c24d3272..1b0f2276d 100644 --- a/buildroot/package/python-sdnotify/python-sdnotify.mk +++ b/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/buildroot/package/python-semver/Config.in b/buildroot/package/python-semver/Config.in new file mode 100644 index 000000000..c66231a73 --- /dev/null +++ b/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/buildroot/package/python-semver/python-semver.hash b/buildroot/package/python-semver/python-semver.hash new file mode 100644 index 000000000..e18cc1c67 --- /dev/null +++ b/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/buildroot/package/python-semver/python-semver.mk b/buildroot/package/python-semver/python-semver.mk new file mode 100644 index 000000000..afdd34564 --- /dev/null +++ b/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/buildroot/package/python-serial-asyncio/Config.in b/buildroot/package/python-serial-asyncio/Config.in new file mode 100644 index 000000000..5520b7250 --- /dev/null +++ b/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/buildroot/package/python-serial-asyncio/python-serial-asyncio.hash b/buildroot/package/python-serial-asyncio/python-serial-asyncio.hash new file mode 100644 index 000000000..268c7d83f --- /dev/null +++ b/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/buildroot/package/python-serial-asyncio/python-serial-asyncio.mk b/buildroot/package/python-serial-asyncio/python-serial-asyncio.mk new file mode 100644 index 000000000..39c3476d9 --- /dev/null +++ b/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/buildroot/package/python-serial/python-serial.hash b/buildroot/package/python-serial/python-serial.hash index f98a8b91b..96209a996 100644 --- a/buildroot/package/python-serial/python-serial.hash +++ b/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/buildroot/package/python-serial/python-serial.mk b/buildroot/package/python-serial/python-serial.mk index ce7ec0706..d583ac65a 100644 --- a/buildroot/package/python-serial/python-serial.mk +++ b/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/buildroot/package/python-setuptools/python-setuptools.hash b/buildroot/package/python-setuptools/python-setuptools.hash index f116a69f7..05d9312c7 100644 --- a/buildroot/package/python-setuptools/python-setuptools.hash +++ b/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 12f8546ead968a0c237732d53fe7fcb1 setuptools-40.5.0.zip +sha256 2a2a200f4a760adbded23a091a00be2eca4e28efed65c6120ea275f7e89a1eab setuptools-40.5.0.zip sha256 c32a3ac395af6321efd28be73d06a00f0db6ab887d1c21d4fec46128d2056d5a LICENSE diff --git a/buildroot/package/python-setuptools/python-setuptools.mk b/buildroot/package/python-setuptools/python-setuptools.mk index 004fc0db2..3dca7094e 100644 --- a/buildroot/package/python-setuptools/python-setuptools.mk +++ b/buildroot/package/python-setuptools/python-setuptools.mk @@ -4,20 +4,24 @@ # ################################################################################ -PYTHON_SETUPTOOLS_VERSION = v38.4.0 -PYTHON_SETUPTOOLS_SITE = $(call github,pypa,setuptools,$(PYTHON_SETUPTOOLS_VERSION)) +PYTHON_SETUPTOOLS_VERSION = 40.5.0 +PYTHON_SETUPTOOLS_SOURCE = setuptools-$(PYTHON_SETUPTOOLS_VERSION).zip +PYTHON_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/26/e5/9897eee1100b166a61f91b68528cb692e8887300d9cbdaa1a349f6304b79 PYTHON_SETUPTOOLS_LICENSE = MIT PYTHON_SETUPTOOLS_LICENSE_FILES = LICENSE PYTHON_SETUPTOOLS_SETUP_TYPE = setuptools -# 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/buildroot/package/python-sortedcontainers/python-sortedcontainers.hash b/buildroot/package/python-sortedcontainers/python-sortedcontainers.hash index 11fa07660..c68d78a17 100644 --- a/buildroot/package/python-sortedcontainers/python-sortedcontainers.hash +++ b/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 5f079b1131d8b1a3ed025e7e679b1497 sortedcontainers-2.0.5.tar.gz +sha256 b74f2756fb5e23512572cc76f0fe0832fd86310f77dfee54335a35fb33f6b950 sortedcontainers-2.0.5.tar.gz +# Locally computed sha256 checksums +sha256 7dcf4a5137118a925727b8a1690bc6ea70b156ee6739dbb51fd4d386718d6ce5 LICENSE diff --git a/buildroot/package/python-sortedcontainers/python-sortedcontainers.mk b/buildroot/package/python-sortedcontainers/python-sortedcontainers.mk index 99606816a..c32f9e404 100644 --- a/buildroot/package/python-sortedcontainers/python-sortedcontainers.mk +++ b/buildroot/package/python-sortedcontainers/python-sortedcontainers.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SORTEDCONTAINERS_VERSION = 1.5.7 +PYTHON_SORTEDCONTAINERS_VERSION = 2.0.5 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/b9/30/accbf5c09c5fa25a3d5f762761e0d7ece6fdb12f2a9c43b840f73cef43ef PYTHON_SORTEDCONTAINERS_SETUP_TYPE = setuptools PYTHON_SORTEDCONTAINERS_LICENSE = Apache-2.0 PYTHON_SORTEDCONTAINERS_LICENSE_FILES = LICENSE diff --git a/buildroot/package/python-subprocess32/python-subprocess32.hash b/buildroot/package/python-subprocess32/python-subprocess32.hash index 17a54b003..e96505d3d 100644 --- a/buildroot/package/python-subprocess32/python-subprocess32.hash +++ b/buildroot/package/python-subprocess32/python-subprocess32.hash @@ -1,4 +1,5 @@ -# sha256 from https://pypi.org/pypi/subprocess32/json -sha256 1e450a4a4c53bf197ad6402c564b9f7a53539385918ef8f12bdf430a61036590 subprocess32-3.2.7.tar.gz +# 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/buildroot/package/python-subprocess32/python-subprocess32.mk b/buildroot/package/python-subprocess32/python-subprocess32.mk index 483bf5333..d6c57fb8b 100644 --- a/buildroot/package/python-subprocess32/python-subprocess32.mk +++ b/buildroot/package/python-subprocess32/python-subprocess32.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_SUBPROCESS32_VERSION = 3.2.7 +PYTHON_SUBPROCESS32_VERSION = 3.5.3 PYTHON_SUBPROCESS32_SOURCE = subprocess32-$(PYTHON_SUBPROCESS32_VERSION).tar.gz -PYTHON_SUBPROCESS32_SITE = https://files.pythonhosted.org/packages/b8/2f/49e53b0d0e94611a2dc624a1ad24d41b6d94d0f1b0a078443407ea2214c2 -PYTHON_SUBPROCESS32_SETUP_TYPE = distutils +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 diff --git a/buildroot/package/python-tornado/0001-Disable-SSL-checks.patch b/buildroot/package/python-tornado/0001-Disable-SSL-checks.patch new file mode 100644 index 000000000..272afd64f --- /dev/null +++ b/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/buildroot/package/python-tornado/Config.in b/buildroot/package/python-tornado/Config.in index a0ee78fb7..1afbdc572 100644 --- a/buildroot/package/python-tornado/Config.in +++ b/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/buildroot/package/python-tornado/python-tornado.hash b/buildroot/package/python-tornado/python-tornado.hash index 662db6f25..fbf5efa60 100644 --- a/buildroot/package/python-tornado/python-tornado.hash +++ b/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/buildroot/package/python-tornado/python-tornado.mk b/buildroot/package/python-tornado/python-tornado.mk index 6e6167564..71f536f02 100644 --- a/buildroot/package/python-tornado/python-tornado.mk +++ b/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/buildroot/package/python-twisted/Config.in b/buildroot/package/python-twisted/Config.in index 344edb4a0..b72952f97 100644 --- a/buildroot/package/python-twisted/Config.in +++ b/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/buildroot/package/python-twisted/python-twisted.hash b/buildroot/package/python-twisted/python-twisted.hash index c22f33643..884dce130 100644 --- a/buildroot/package/python-twisted/python-twisted.hash +++ b/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/buildroot/package/python-twisted/python-twisted.mk b/buildroot/package/python-twisted/python-twisted.mk index fe276d641..a62637f0d 100644 --- a/buildroot/package/python-twisted/python-twisted.mk +++ b/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/buildroot/package/python-txaio/python-txaio.hash b/buildroot/package/python-txaio/python-txaio.hash index 6fb8e78ce..8b43a3dc8 100644 --- a/buildroot/package/python-txaio/python-txaio.hash +++ b/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/buildroot/package/python-txaio/python-txaio.mk b/buildroot/package/python-txaio/python-txaio.mk index 5e4d71013..8f73f3674 100644 --- a/buildroot/package/python-txaio/python-txaio.mk +++ b/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/buildroot/package/python-txtorcon/python-txtorcon.hash b/buildroot/package/python-txtorcon/python-txtorcon.hash index 71a2ec508..d46a7769d 100644 --- a/buildroot/package/python-txtorcon/python-txtorcon.hash +++ b/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 31492e847973710f6533e9979a134ffa txtorcon-18.3.0.tar.gz +sha256 5601956b3a2452526cd1ea31662696a51ddbf8ed6452633ee464fc1ff275f8b0 txtorcon-18.3.0.tar.gz +# Locally computed sha256 checksums +sha256 3ada1c32ef38c23d96d7f4e8f4a226c527f51e0202883c7543b06f9cc5228a2b LICENSE diff --git a/buildroot/package/python-txtorcon/python-txtorcon.mk b/buildroot/package/python-txtorcon/python-txtorcon.mk index f75f50438..6ebcdb4f9 100644 --- a/buildroot/package/python-txtorcon/python-txtorcon.mk +++ b/buildroot/package/python-txtorcon/python-txtorcon.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TXTORCON_VERSION = 0.19.3 +PYTHON_TXTORCON_VERSION = 18.3.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/a2/71/2fe0c7d9350ff95cd22128f375dbf2b49438ca1a5d8ca0795311a964586b PYTHON_TXTORCON_SETUP_TYPE = setuptools PYTHON_TXTORCON_LICENSE = MIT PYTHON_TXTORCON_LICENSE_FILES = LICENSE diff --git a/buildroot/package/python-typing/Config.in b/buildroot/package/python-typing/Config.in new file mode 100644 index 000000000..81b7d71b4 --- /dev/null +++ b/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/buildroot/package/python-typing/python-typing.hash b/buildroot/package/python-typing/python-typing.hash new file mode 100644 index 000000000..5bdb8c62e --- /dev/null +++ b/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/buildroot/package/python-typing/python-typing.mk b/buildroot/package/python-typing/python-typing.mk new file mode 100644 index 000000000..acb531612 --- /dev/null +++ b/buildroot/package/python-typing/python-typing.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# 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)) diff --git a/buildroot/package/python-u-msgpack/python-u-msgpack.hash b/buildroot/package/python-u-msgpack/python-u-msgpack.hash index 12f2be37a..e24c9f3f9 100644 --- a/buildroot/package/python-u-msgpack/python-u-msgpack.hash +++ b/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/buildroot/package/python-u-msgpack/python-u-msgpack.mk b/buildroot/package/python-u-msgpack/python-u-msgpack.mk index 89240c3fb..bcb12b203 100644 --- a/buildroot/package/python-u-msgpack/python-u-msgpack.mk +++ b/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/buildroot/package/python-ubjson/python-ubjson.hash b/buildroot/package/python-ubjson/python-ubjson.hash index 30f65fe6b..f93ae1acd 100644 --- a/buildroot/package/python-ubjson/python-ubjson.hash +++ b/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/buildroot/package/python-ubjson/python-ubjson.mk b/buildroot/package/python-ubjson/python-ubjson.mk index a192cfb65..477cc400c 100644 --- a/buildroot/package/python-ubjson/python-ubjson.mk +++ b/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/buildroot/package/python-urllib3/python-urllib3.hash b/buildroot/package/python-urllib3/python-urllib3.hash index 226a82652..098c7940a 100644 --- a/buildroot/package/python-urllib3/python-urllib3.hash +++ b/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/buildroot/package/python-urllib3/python-urllib3.mk b/buildroot/package/python-urllib3/python-urllib3.mk index 454f75fa1..a2c3096a9 100644 --- a/buildroot/package/python-urllib3/python-urllib3.mk +++ b/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/buildroot/package/python-uvloop/Config.in b/buildroot/package/python-uvloop/Config.in new file mode 100644 index 000000000..76e06ac3f --- /dev/null +++ b/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/buildroot/package/python-uvloop/python-uvloop.hash b/buildroot/package/python-uvloop/python-uvloop.hash new file mode 100644 index 000000000..ac65fbaac --- /dev/null +++ b/buildroot/package/python-uvloop/python-uvloop.hash @@ -0,0 +1,6 @@ +# md5, sha256 from https://pypi.org/pypi/uvloop/json +md5 7d509d78b18a5863cc06697ccfd835ad uvloop-0.11.2.tar.gz +sha256 a97bd62ebbdf7e6e84bf44afe439d9b24ce4d8661a29a639626a8c03748f6f98 uvloop-0.11.2.tar.gz +# Locally computed sha256 checksums +sha256 2fdc436a67077941295c58647f521fbef8f50e46db0970552fa1a4dd8ae261c6 LICENSE-APACHE +sha256 9185f3c77e9f6ef8859a6ba4c94128ac1329876be3e813aad32d7645e51ae409 LICENSE-MIT diff --git a/buildroot/package/python-uvloop/python-uvloop.mk b/buildroot/package/python-uvloop/python-uvloop.mk new file mode 100644 index 000000000..a835a9952 --- /dev/null +++ b/buildroot/package/python-uvloop/python-uvloop.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-uvloop +# +################################################################################ + +PYTHON_UVLOOP_VERSION = 0.11.2 +PYTHON_UVLOOP_SOURCE = uvloop-$(PYTHON_UVLOOP_VERSION).tar.gz +PYTHON_UVLOOP_SITE = https://files.pythonhosted.org/packages/5c/37/6daa39aac42b2deda6ee77f408bec0419b600e27b89b374b0d440af32b10 +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/buildroot/package/python-validators/Config.in b/buildroot/package/python-validators/Config.in new file mode 100644 index 000000000..e70036991 --- /dev/null +++ b/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/buildroot/package/python-validators/python-validators.hash b/buildroot/package/python-validators/python-validators.hash new file mode 100644 index 000000000..8c6e3f9ec --- /dev/null +++ b/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/buildroot/package/python-validators/python-validators.mk b/buildroot/package/python-validators/python-validators.mk new file mode 100644 index 000000000..e94476f83 --- /dev/null +++ b/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/buildroot/package/python-web2py/python-web2py.hash b/buildroot/package/python-web2py/python-web2py.hash index adc7bc5d5..d23da1ea6 100644 --- a/buildroot/package/python-web2py/python-web2py.hash +++ b/buildroot/package/python-web2py/python-web2py.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 e432e051ebb826b77835bda03ddb16364b37d137b37ac33005b6ac0fd5d56280 python-web2py-R-2.15.4.tar.gz +sha256 d9ed52676e9becd53d2d73a849dea3d55b8b61231abf3428cf516dcc0083d451 python-web2py-R-2.16.1.tar.gz diff --git a/buildroot/package/python-web2py/python-web2py.mk b/buildroot/package/python-web2py/python-web2py.mk index 9ad5a7785..1e02fb7ca 100644 --- a/buildroot/package/python-web2py/python-web2py.mk +++ b/buildroot/package/python-web2py/python-web2py.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_WEB2PY_VERSION = R-2.15.4 +PYTHON_WEB2PY_VERSION = R-2.16.1 PYTHON_WEB2PY_SITE = $(call github,web2py,web2py,$(PYTHON_WEB2PY_VERSION)) PYTHON_WEB2PY_LICENSE = LGPL-3.0 PYTHON_WEB2PY_LICENSE_FILES = LICENSE diff --git a/buildroot/package/python-webob/Config.in b/buildroot/package/python-webob/Config.in new file mode 100644 index 000000000..fe77723f9 --- /dev/null +++ b/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/buildroot/package/python-webob/python-webob.hash b/buildroot/package/python-webob/python-webob.hash new file mode 100644 index 000000000..41e8af34f --- /dev/null +++ b/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/buildroot/package/python-webob/python-webob.mk b/buildroot/package/python-webob/python-webob.mk new file mode 100644 index 000000000..fdf479389 --- /dev/null +++ b/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/buildroot/package/python-websockets/0001-Fix-behavior-of-recv-in-the-CLOSING-state.patch b/buildroot/package/python-websockets/0001-Fix-behavior-of-recv-in-the-CLOSING-state.patch deleted file mode 100644 index cb97b36bd..000000000 --- a/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/buildroot/package/python-websockets/Config.in b/buildroot/package/python-websockets/Config.in index 7d80161a1..888bec616 100644 --- a/buildroot/package/python-websockets/Config.in +++ b/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/buildroot/package/python-websockets/python-websockets.hash b/buildroot/package/python-websockets/python-websockets.hash index 18947cc60..4939c7834 100644 --- a/buildroot/package/python-websockets/python-websockets.hash +++ b/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/buildroot/package/python-websockets/python-websockets.mk b/buildroot/package/python-websockets/python-websockets.mk index 7c5cf8c4e..4d547ada8 100644 --- a/buildroot/package/python-websockets/python-websockets.mk +++ b/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/buildroot/package/python-wrapt/Config.in b/buildroot/package/python-wrapt/Config.in new file mode 100644 index 000000000..da315c9a7 --- /dev/null +++ b/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/buildroot/package/python-wrapt/python-wrapt.hash b/buildroot/package/python-wrapt/python-wrapt.hash new file mode 100644 index 000000000..dbf893295 --- /dev/null +++ b/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/buildroot/package/python-wrapt/python-wrapt.mk b/buildroot/package/python-wrapt/python-wrapt.mk new file mode 100644 index 000000000..dd8b9a58e --- /dev/null +++ b/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/buildroot/package/python-yarl/Config.in b/buildroot/package/python-yarl/Config.in new file mode 100644 index 000000000..e52050451 --- /dev/null +++ b/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/buildroot/package/python-yarl/python-yarl.hash b/buildroot/package/python-yarl/python-yarl.hash new file mode 100644 index 000000000..118c7225d --- /dev/null +++ b/buildroot/package/python-yarl/python-yarl.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.python.org/pypi/yarl/json +md5 43380667129ebc52ac3c442daabb3f6d yarl-1.2.6.tar.gz +sha256 c8cbc21bbfa1dd7d5386d48cc814fe3d35b80f60299cdde9279046f399c3b0d8 yarl-1.2.6.tar.gz +# Locally computed sha256 checksums +sha256 14c0820503ceef15e814a89b037d9efc066870087018294b6ae0f27163872cc5 LICENSE diff --git a/buildroot/package/python-yarl/python-yarl.mk b/buildroot/package/python-yarl/python-yarl.mk new file mode 100644 index 000000000..591131e4a --- /dev/null +++ b/buildroot/package/python-yarl/python-yarl.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-yarl +# +################################################################################ + +PYTHON_YARL_VERSION = 1.2.6 +PYTHON_YARL_SOURCE = yarl-$(PYTHON_YARL_VERSION).tar.gz +PYTHON_YARL_SITE = https://files.pythonhosted.org/packages/43/b8/057c3e5b546ff4b24263164ecda13f6962d85c9dc477fcc0bcdcb3adb658 +PYTHON_YARL_LICENSE = Apache-2.0 +PYTHON_YARL_LICENSE_FILES = LICENSE +PYTHON_YARL_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/buildroot/package/python-zeroconf/Config.in b/buildroot/package/python-zeroconf/Config.in new file mode 100644 index 000000000..ac1acbbd8 --- /dev/null +++ b/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/buildroot/package/python-zeroconf/python-zeroconf.hash b/buildroot/package/python-zeroconf/python-zeroconf.hash new file mode 100644 index 000000000..1677affa1 --- /dev/null +++ b/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/buildroot/package/python-zeroconf/python-zeroconf.mk b/buildroot/package/python-zeroconf/python-zeroconf.mk new file mode 100644 index 000000000..7000a0da7 --- /dev/null +++ b/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/buildroot/package/python-zope-interface/python-zope-interface.hash b/buildroot/package/python-zope-interface/python-zope-interface.hash index 2aa07335a..2828d85c3 100644 --- a/buildroot/package/python-zope-interface/python-zope-interface.hash +++ b/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/buildroot/package/python-zope-interface/python-zope-interface.mk b/buildroot/package/python-zope-interface/python-zope-interface.mk index 7dd681297..f36aab692 100644 --- a/buildroot/package/python-zope-interface/python-zope-interface.mk +++ b/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/buildroot/package/python/0009-Fix-python-config-for-cross-builds.patch b/buildroot/package/python/0009-Fix-python-config-for-cross-builds.patch index 44ddbcec6..761d6d929 100644 --- a/buildroot/package/python/0009-Fix-python-config-for-cross-builds.patch +++ b/buildroot/package/python/0009-Fix-python-config-for-cross-builds.patch @@ -12,6 +12,8 @@ doesn't depend on the sysconfig import that usually leads to bad data/results. Signed-off-by: Gustavo Zacarias +[Bernd: rebased for Python 2.7.15] +Signed-off-by: Bernd Kuhls --- Makefile.pre.in | 13 +++--- Misc/python-config.sh.in | 102 +++++++++++++++++++++++++++++++++++++++++++++++ @@ -36,8 +38,8 @@ index 33b994d..beb0837 100644 # Default target all: @DEF_MAKE_ALL_RULE@ --build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks -+build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config +-build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks ++build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config # Compile a binary with profile guided optimization. profile-opt: diff --git a/buildroot/package/python/0035-GCC8-alignment-fix.patch b/buildroot/package/python/0035-GCC8-alignment-fix.patch deleted file mode 100644 index b742aa09d..000000000 --- a/buildroot/package/python/0035-GCC8-alignment-fix.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 0b91f8a668201fc58fa732b8acc496caedfdbae0 Mon Sep 17 00:00:00 2001 -From: Florian Weimer -Date: Sun, 29 Apr 2018 12:18:33 -0700 -Subject: [PATCH] Indicate that _PyGC_Head is only 8-byte aligned. (closes - bpo-33374) - -By spec, the "long double" in _PyGC_Head requires the union to always be 16-byte -aligned. However, obmalloc only yields 8-byte alignment. Compilers including GCC -8 are starting to use alignment information to do store-merging. So, the "long -double" needs to be changed to a simple "double" as was long ago done in Python -3 by e348c8d154cf6342c79d627ebfe89dfe9de23817. For 2.7, we need to add some -dummy padding to make sure _PyGC_Head stays the same size. - -Upstream: https://bugs.python.org/issue33374 -Signed-off-by: Stefan Becker ---- - Include/objimpl.h | 17 ++++++++++++++++- - .../2018-04-29-12-07-00.bpo-33374.-xegL6.rst | 3 +++ - 2 files changed, 19 insertions(+), 1 deletion(-) - create mode 100644 Misc/NEWS.d/next/Core and Builtins/2018-04-29-12-07-00.bpo-33374.-xegL6.rst - -diff --git a/Include/objimpl.h b/Include/objimpl.h -index 5f2868332955..cbf6bc3f8763 100644 ---- a/Include/objimpl.h -+++ b/Include/objimpl.h -@@ -248,6 +248,20 @@ PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, Py_ssize_t); - /* for source compatibility with 2.2 */ - #define _PyObject_GC_Del PyObject_GC_Del - -+/* -+ * Former over-aligned definition of PyGC_Head, used to compute the size of the -+ * padding for the new version below. -+ */ -+union _gc_head; -+union _gc_head_old { -+ struct { -+ union _gc_head_old *gc_next; -+ union _gc_head_old *gc_prev; -+ Py_ssize_t gc_refs; -+ } gc; -+ long double dummy; -+}; -+ - /* GC information is stored BEFORE the object structure. */ - typedef union _gc_head { - struct { -@@ -255,7 +269,8 @@ typedef union _gc_head { - union _gc_head *gc_prev; - Py_ssize_t gc_refs; - } gc; -- long double dummy; /* force worst-case alignment */ -+ double dummy; /* Force at least 8-byte alignment. */ -+ char dummy_padding[sizeof(union _gc_head_old)]; - } PyGC_Head; - - extern PyGC_Head *_PyGC_generation0; -diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-29-12-07-00.bpo-33374.-xegL6.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-29-12-07-00.bpo-33374.-xegL6.rst -new file mode 100644 -index 000000000000..9ec1a605c8f2 ---- /dev/null -+++ b/Misc/NEWS.d/next/Core and Builtins/2018-04-29-12-07-00.bpo-33374.-xegL6.rst -@@ -0,0 +1,3 @@ -+Tweak the definition of PyGC_Head, so compilers do not believe it is always -+16-byte aligned on x86. This prevents crashes with more aggressive -+optimizations present in GCC 8. diff --git a/buildroot/package/python/python.hash b/buildroot/package/python/python.hash index 77e0fc878..feadcfdcb 100644 --- a/buildroot/package/python/python.hash +++ b/buildroot/package/python/python.hash @@ -1,6 +1,5 @@ -# From https://www.python.org/downloads/release/python-2714/ -md5 1f6db41ad91d9eb0a6f0c769b8613c5b Python-2.7.14.tar.xz +# From https://www.python.org/downloads/release/python-2715/ +md5 a80ae3cc478460b922242f43a1b4094d Python-2.7.15.tar.xz # Locally calculated -sha256 71ffb26e09e78650e424929b2b457b9c912ac216576e6bd9e7d204ed03296a66 Python-2.7.14.tar.xz -# License files, locally calculated -sha256 d2d17b17388da74dc9c6bdbf78eb7237432c3f8a0c87852df740ec99de2ec680 LICENSE +sha256 22d9b1ac5b26135ad2b8c2901a9413537e08749a753356ee913c84dbd2df5574 Python-2.7.15.tar.xz +sha256 b9a6d9320b8f2693e8d41e496ce56caadacaddcca9be2a64a61749278f425cf2 LICENSE diff --git a/buildroot/package/python/python.mk b/buildroot/package/python/python.mk index aa7917ab4..79df3c462 100644 --- a/buildroot/package/python/python.mk +++ b/buildroot/package/python/python.mk @@ -5,7 +5,7 @@ ################################################################################ PYTHON_VERSION_MAJOR = 2.7 -PYTHON_VERSION = $(PYTHON_VERSION_MAJOR).14 +PYTHON_VERSION = $(PYTHON_VERSION_MAJOR).15 PYTHON_SOURCE = Python-$(PYTHON_VERSION).tar.xz PYTHON_SITE = https://python.org/ftp/python/$(PYTHON_VERSION) PYTHON_LICENSE = Python-2.0, others diff --git a/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch b/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch index 4a8e4e829..406f873aa 100644 --- a/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch +++ b/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/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch b/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch index e997f4769..537e23cbf 100644 --- a/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch +++ b/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/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch b/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch index 76555d290..6e07b292e 100644 --- a/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch +++ b/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/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch b/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch index 989943e47..649ab2058 100644 --- a/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch +++ b/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/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch b/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch index 250d6ec53..1579415be 100644 --- a/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch +++ b/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/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch b/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch index 220c54cde..71c064ad9 100644 --- a/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch +++ b/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/buildroot/package/python3/0007-Abort-on-failed-module-build.patch b/buildroot/package/python3/0007-Abort-on-failed-module-build.patch index a44d6b3ec..f95889df6 100644 --- a/buildroot/package/python3/0007-Abort-on-failed-module-build.patch +++ b/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/buildroot/package/python3/0008-Serial-ioctl-workaround.patch b/buildroot/package/python3/0008-Serial-ioctl-workaround.patch index f303bd04d..39d40f025 100644 --- a/buildroot/package/python3/0008-Serial-ioctl-workaround.patch +++ b/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/buildroot/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch b/buildroot/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch index 786e95875..68cba3497 100644 --- a/buildroot/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch +++ b/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/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch b/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch index 1c1484011..c5b301d43 100644 --- a/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch +++ b/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/buildroot/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch b/buildroot/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch index ed0ca26eb..5bc9bf498 100644 --- a/buildroot/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch +++ b/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/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch b/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch index fc27eda11..35aa73c36 100644 --- a/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch +++ b/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/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch b/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch index fc565cfe1..8055009d6 100644 --- a/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch +++ b/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/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch b/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch index e6a39383e..3d3c5de3b 100644 --- a/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch +++ b/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/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch b/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch index 675e8282b..e5192cc47 100644 --- a/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch +++ b/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/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch b/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch index 56196416a..96918f022 100644 --- a/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch +++ b/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/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch b/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch index b68369c16..8205d2fe9 100644 --- a/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch +++ b/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/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch b/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch index 0ec0b2155..6057a7f71 100644 --- a/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch +++ b/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/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch b/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch index 6b316d8eb..096278ca4 100644 --- a/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch +++ b/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/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch b/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch index f49b23f5c..ecddd46ec 100644 --- a/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch +++ b/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/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch b/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch index 9c207be68..8d2469215 100644 --- a/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch +++ b/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/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch b/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch index da77c4489..068ff2c1f 100644 --- a/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch +++ b/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/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch b/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch index 76ef50840..3dcaac968 100644 --- a/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch +++ b/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/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch b/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch index 418936cf0..83e1e3491 100644 --- a/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch +++ b/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/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch b/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch index 065e50620..ad4da1ada 100644 --- a/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch +++ b/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/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch b/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch index eb1967534..ec399a8d3 100644 --- a/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch +++ b/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/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch b/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch index 39330ace6..7753acf72 100644 --- a/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch +++ b/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/buildroot/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch b/buildroot/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch index 49137f27e..2e45bee15 100644 --- a/buildroot/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch +++ b/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/buildroot/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch b/buildroot/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch new file mode 100644 index 000000000..93df02f6a --- /dev/null +++ b/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/buildroot/package/python3/0031-Add-an-option-to-disable-uuid-module.patch b/buildroot/package/python3/0031-Add-an-option-to-disable-uuid-module.patch new file mode 100644 index 000000000..c429c59a3 --- /dev/null +++ b/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/buildroot/package/python3/0032-fix-building-on-older-distributions.patch b/buildroot/package/python3/0032-fix-building-on-older-distributions.patch new file mode 100644 index 000000000..0f7ee2a25 --- /dev/null +++ b/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/buildroot/package/python3/Config.in b/buildroot/package/python3/Config.in index 623fefe43..0c5018f0b 100644 --- a/buildroot/package/python3/Config.in +++ b/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/buildroot/package/python3/python3.hash b/buildroot/package/python3/python3.hash index 33adb188f..7cd9d750a 100644 --- a/buildroot/package/python3/python3.hash +++ b/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-371/ +md5 0a57e9022c07fad3dadb2eef58568edb Python-3.7.1.tar.xz # Locally computed -sha256 cda7d967c9a4bfa52337cdf551bcc5cff026b6ac50a8834e568ce4a794ca81da Python-3.6.3.tar.xz +sha256 fa7e2b8e8c9402f192ad56dc4f814089d1c4466c97d780f5e5acc02c04243d6d Python-3.7.1.tar.xz +sha256 b9a6d9320b8f2693e8d41e496ce56caadacaddcca9be2a64a61749278f425cf2 LICENSE diff --git a/buildroot/package/python3/python3.mk b/buildroot/package/python3/python3.mk index 6e6110866..8fbb95b9a 100644 --- a/buildroot/package/python3/python3.mk +++ b/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).1 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/buildroot/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch b/buildroot/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch index 6d6d024d9..a0c4a6203 100644 --- a/buildroot/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch +++ b/buildroot/package/qemu/0001-user-exec-fix-usage-of-mcontext-structure-on-ARM-uCl.patch @@ -17,11 +17,11 @@ Signed-off-by: Thomas Petazzoni user-exec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/user-exec.c b/user-exec.c +diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c index 6db0758..2b3d116 100644 ---- a/user-exec.c -+++ b/user-exec.c -@@ -409,7 +409,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, +--- a/accel/tcg/user-exec.c ++++ b/accel/tcg/user-exec.c +@@ -463,7 +463,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, #if defined(__NetBSD__) pc = uc->uc_mcontext.__gregs[_REG_R15]; diff --git a/buildroot/package/qemu/0002-memfd-fix-configure-test.patch b/buildroot/package/qemu/0002-memfd-fix-configure-test.patch deleted file mode 100644 index 3e06c0e93..000000000 --- a/buildroot/package/qemu/0002-memfd-fix-configure-test.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 75e5b70e6b5dcc4f2219992d7cffa462aa406af0 Mon Sep 17 00:00:00 2001 -From: Paolo Bonzini -Date: Tue, 28 Nov 2017 11:51:27 +0100 -Subject: [PATCH] memfd: fix configure test -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Recent glibc added memfd_create in sys/mman.h. This conflicts with -the definition in util/memfd.c: - - /builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error: static declaration of memfd_create follows non-static declaration - -Fix the configure test, and remove the sys/memfd.h inclusion since the -file actually does not exist---it is a typo in the memfd_create(2) man -page. - -Cc: Marc-André Lureau -Signed-off-by: Paolo Bonzini -Signed-off-by: Baruch Siach ---- -Upstream status: commit 75e5b70e6b5 - - configure | 2 +- - util/memfd.c | 4 +--- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/configure b/configure -index 9c8aa5a98bd4..99ccc1725ace 100755 ---- a/configure -+++ b/configure -@@ -3923,7 +3923,7 @@ fi - # check if memfd is supported - memfd=no - cat > $TMPC << EOF --#include -+#include - - int main(void) - { -diff --git a/util/memfd.c b/util/memfd.c -index 4571d1aba866..412e94a405fc 100644 ---- a/util/memfd.c -+++ b/util/memfd.c -@@ -31,9 +31,7 @@ - - #include "qemu/memfd.h" - --#ifdef CONFIG_MEMFD --#include --#elif defined CONFIG_LINUX -+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD - #include - #include - --- -2.16.2 - diff --git a/buildroot/package/qemu/Config.in b/buildroot/package/qemu/Config.in index 13b615bfb..33d4cccd7 100644 --- a/buildroot/package/qemu/Config.in +++ b/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,11 +118,15 @@ comment "Frontends" config BR2_PACKAGE_QEMU_SDL bool "Enable SDL frontend" - select BR2_PACKAGE_SDL + 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/buildroot/package/qemu/qemu.hash b/buildroot/package/qemu/qemu.hash index 1173c1bf3..2b27008b7 100644 --- a/buildroot/package/qemu/qemu.hash +++ b/buildroot/package/qemu/qemu.hash @@ -1,4 +1,4 @@ # Locally computed, tarball verified with GPG signature -sha256 fcfdaa1ecdaac8aead616fe811bfb8fe4a8f2cd59796aa446c5175b5af0e829f qemu-2.10.2.tar.xz +sha256 33583800e0006cd00b78226b85be5a27c8e3b156bed2e60e83ecbeb7b9b8364f qemu-2.12.1.tar.xz sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING sha256 48ffe9fc7f1d5462dbd19340bc4dd1d8a9e37c61ed535813e614cbe4a5f0d4df COPYING.LIB diff --git a/buildroot/package/qemu/qemu.mk b/buildroot/package/qemu/qemu.mk index 0a6a6c060..709535a4b 100644 --- a/buildroot/package/qemu/qemu.mk +++ b/buildroot/package/qemu/qemu.mk @@ -4,7 +4,7 @@ # ################################################################################ -QEMU_VERSION = 2.10.2 +QEMU_VERSION = 2.12.1 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 @@ -55,10 +55,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 @@ -95,14 +100,12 @@ define QEMU_CONFIGURE_CMDS ./configure \ --prefix=/usr \ --cross-prefix=$(TARGET_CROSS) \ - --with-system-pixman \ --audio-drv-list= \ --enable-kvm \ --enable-attr \ --enable-vhost-net \ --disable-bsd-user \ --disable-xen \ - --disable-slirp \ --disable-vnc \ --disable-virtfs \ --disable-brlapi \ @@ -120,6 +123,17 @@ define QEMU_CONFIGURE_CMDS --disable-strip \ --disable-seccomp \ --disable-sparse \ + --disable-mpath \ + --disable-sanitizers \ + --disable-hvf \ + --disable-whpx \ + --disable-malloc-trim \ + --disable-membarrier \ + --disable-vhost-crypto \ + --disable-libxml2 \ + --disable-capstone \ + --disable-git-update \ + --disable-opengl \ $(QEMU_OPTS) \ ) endef diff --git a/buildroot/package/qpdf/qpdf.hash b/buildroot/package/qpdf/qpdf.hash index d27c9834b..4bf2d3b30 100644 --- a/buildroot/package/qpdf/qpdf.hash +++ b/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/buildroot/package/qpdf/qpdf.mk b/buildroot/package/qpdf/qpdf.mk index 4776d22b1..2f6efdd73 100644 --- a/buildroot/package/qpdf/qpdf.mk +++ b/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/buildroot/package/qt/Config.in b/buildroot/package/qt/Config.in index 0ecfafada..a1218ecf3 100644 --- a/buildroot/package/qt/Config.in +++ b/buildroot/package/qt/Config.in @@ -309,9 +309,13 @@ choice 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 diff --git a/buildroot/package/qt/Config.sql.in b/buildroot/package/qt/Config.sql.in index 6d39bb974..1e7f6ba79 100644 --- a/buildroot/package/qt/Config.sql.in +++ b/buildroot/package/qt/Config.sql.in @@ -24,13 +24,14 @@ config BR2_PACKAGE_QT_ODBC config BR2_PACKAGE_QT_PSQL bool "PostgreSQL Driver" depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR 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 +comment "PostgreSQL driver needs a toolchain w/ wchar, dynamic library" + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR choice prompt "SQLite 3 support" diff --git a/buildroot/package/qt/qt.mk b/buildroot/package/qt/qt.mk index 1dcb05d6a..23cb94c11 100644 --- a/buildroot/package/qt/qt.mk +++ b/buildroot/package/qt/qt.mk @@ -7,7 +7,7 @@ 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-project.org/official_releases/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION) +QT_SITE = http://download.qt.io/archive/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION) QT_DEPENDENCIES = host-pkgconf QT_INSTALL_STAGING = YES @@ -32,6 +32,15 @@ QT_LDFLAGS = $(TARGET_LDFLAGS) # 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 diff --git a/buildroot/package/qt5/Config.in b/buildroot/package/qt5/Config.in index b7786f7a6..735824402 100644 --- a/buildroot/package/qt5/Config.in +++ b/buildroot/package/qt5/Config.in @@ -35,14 +35,14 @@ choice prompt "Qt5 version" config BR2_PACKAGE_QT5_VERSION_LATEST - bool "Latest (5.10)" + 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.10, 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/buildroot/package/qt5/qt5.mk b/buildroot/package/qt5/qt5.mk index 14a2b938a..5b7a6d697 100644 --- a/buildroot/package/qt5/qt5.mk +++ b/buildroot/package/qt5/qt5.mk @@ -5,8 +5,8 @@ ################################################################################ ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5_VERSION_MAJOR = 5.10 -QT5_VERSION = $(QT5_VERSION_MAJOR).1 +QT5_VERSION_MAJOR = 5.11 +QT5_VERSION = $(QT5_VERSION_MAJOR).2 QT5_SOURCE_TARBALL_PREFIX = everywhere-src else QT5_VERSION_MAJOR = 5.6 diff --git a/buildroot/package/qt5/qt53d/qt53d.hash b/buildroot/package/qt5/qt53d/qt53d.hash index 9d9ff8f69..789ea29d9 100644 --- a/buildroot/package/qt5/qt53d/qt53d.hash +++ b/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.10/5.10.1/submodules/qt3d-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 041fb42536a72bbf9be17a6f52d4b73ce93fb98b456fd63503cc47d80d196b3b qt3d-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qt3d-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 7f72c823ec10a2effba95d08d9439215472d2cb1e3229de50a6b3d2523c8f962 qt3d-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPL diff --git a/buildroot/package/qt5/qt5base/5.10.1/0001-qtbase-Fix-build-error-when-using-EGL.patch b/buildroot/package/qt5/qt5base/5.11.2/0001-qtbase-Fix-build-error-when-using-EGL.patch similarity index 100% rename from buildroot/package/qt5/qt5base/5.10.1/0001-qtbase-Fix-build-error-when-using-EGL.patch rename to buildroot/package/qt5/qt5base/5.11.2/0001-qtbase-Fix-build-error-when-using-EGL.patch diff --git a/buildroot/package/qt5/qt5base/5.11.2/0002-double-conversion-enable-for-aarch64_be.patch b/buildroot/package/qt5/qt5base/5.11.2/0002-double-conversion-enable-for-aarch64_be.patch new file mode 100644 index 000000000..838f4dd7a --- /dev/null +++ b/buildroot/package/qt5/qt5base/5.11.2/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/buildroot/package/qt5/qt5base/5.11.2/0003-double-conversion-enable-for-or1k.patch b/buildroot/package/qt5/qt5base/5.11.2/0003-double-conversion-enable-for-or1k.patch new file mode 100644 index 000000000..53c5a3183 --- /dev/null +++ b/buildroot/package/qt5/qt5base/5.11.2/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/buildroot/package/qt5/qt5base/5.11.2/0004-double-conversion-enable-for-microblaze.patch b/buildroot/package/qt5/qt5base/5.11.2/0004-double-conversion-enable-for-microblaze.patch new file mode 100644 index 000000000..2d7164b67 --- /dev/null +++ b/buildroot/package/qt5/qt5base/5.11.2/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/buildroot/package/qt5/qt5base/5.11.2/0005-Export-qt_open64-from-QtCore.patch b/buildroot/package/qt5/qt5base/5.11.2/0005-Export-qt_open64-from-QtCore.patch new file mode 100644 index 000000000..2fd14a282 --- /dev/null +++ b/buildroot/package/qt5/qt5base/5.11.2/0005-Export-qt_open64-from-QtCore.patch @@ -0,0 +1,35 @@ +From 4fc4f7b0ce0e6ee186a7d7fe9b5dd20e94efe432 Mon Sep 17 00:00:00 2001 +From: Thiago Macieira +Date: Fri, 21 Sep 2018 09:04:24 -0700 +Subject: [PATCH] Export qt_open64 from QtCore + +Other libs use qcore_unix_p.h. + +qopenglprogrambinarycache.cpp:function QOpenGLProgramBinaryCache::load(QByteArray const&, unsigned int): error: undefined reference to 'qt_open64(char const*, int, unsigned int)' + +Change-Id: I44e7d800c68141bdaae0fffd155675d15eded2e4 +Reviewed-by: Simon Hausmann +Reviewed-by: Eric Lemanissier + +Upstream: http://code.qt.io/cgit/qt/qtbase.git/commit/?id=4fc4f7b0ce0e6ee186a7d7fe9b5dd20e94efe432 +Signed-off-by: Peter Seiderer +--- + src/corelib/kernel/qcore_unix_p.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/corelib/kernel/qcore_unix_p.h b/src/corelib/kernel/qcore_unix_p.h +index cb98bef347..5a2a29a327 100644 +--- a/src/corelib/kernel/qcore_unix_p.h ++++ b/src/corelib/kernel/qcore_unix_p.h +@@ -178,7 +178,7 @@ inline void qt_ignore_sigpipe() + + #if defined(Q_PROCESSOR_X86_32) && defined(__GLIBC__) + # if !__GLIBC_PREREQ(2, 22) +-int qt_open64(const char *pathname, int flags, mode_t); ++Q_CORE_EXPORT int qt_open64(const char *pathname, int flags, mode_t); + # undef QT_OPEN + # define QT_OPEN qt_open64 + # endif +-- +2.19.0 + diff --git a/buildroot/package/qt5/qt5base/5.11.2/qt5base.hash b/buildroot/package/qt5/qt5base/5.11.2/qt5base.hash new file mode 100644 index 000000000..1c11adba2 --- /dev/null +++ b/buildroot/package/qt5/qt5base/5.11.2/qt5base.hash @@ -0,0 +1,11 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtbase-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 6381e7c3468d5a1dcfe3683b29eeced192faa0f8a32434fec071a59b8bcd0107 qtbase-everywhere-src-5.11.2.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/buildroot/package/qt5/qt5base/5.6.3/qt5base.hash b/buildroot/package/qt5/qt5base/5.6.3/qt5base.hash index f113f82c7..2dae2e8bf 100644 --- a/buildroot/package/qt5/qt5base/5.6.3/qt5base.hash +++ b/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/buildroot/package/qt5/qt5base/Config.in b/buildroot/package/qt5/qt5base/Config.in index b9aba2d38..1340ea48f 100644 --- a/buildroot/package/qt5/qt5base/Config.in +++ b/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" diff --git a/buildroot/package/qt5/qt5base/qt5base.hash b/buildroot/package/qt5/qt5base/qt5base.hash index d788c071d..5316f03b1 100644 --- a/buildroot/package/qt5/qt5base/qt5base.hash +++ b/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.10/5.10.1/submodules/qtbase-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969 qtbase-everywhere-src-5.10.1.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/buildroot/package/qt5/qt5base/qt5base.mk b/buildroot/package/qt5/qt5base/qt5base.mk index 93adb03d8..2b6fd3926 100644 --- a/buildroot/package/qt5/qt5base/qt5base.mk +++ b/buildroot/package/qt5/qt5base/qt5base.mk @@ -35,14 +35,21 @@ endif QT5BASE_CONFIGURE_OPTS += $(call qstrip,$(BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS)) -# Uses libgbm from mesa3d -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) -QT5BASE_CONFIGURE_OPTS += -kms -gbm -QT5BASE_DEPENDENCIES += mesa3d +ifeq ($(BR2_PACKAGE_LIBDRM),y) +QT5BASE_CONFIGURE_OPTS += -kms +QT5BASE_DEPENDENCIES += libdrm else QT5BASE_CONFIGURE_OPTS += -no-kms endif +# Uses libgbm from mesa3d +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) +QT5BASE_CONFIGURE_OPTS += -gbm +QT5BASE_DEPENDENCIES += mesa3d +else +QT5BASE_CONFIGURE_OPTS += -no-gbm +endif + ifeq ($(BR2_ENABLE_DEBUG),y) QT5BASE_CONFIGURE_OPTS += -debug else @@ -56,7 +63,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 @@ -277,8 +284,6 @@ define QT5BASE_CONFIGURE_CMDS (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 \ diff --git a/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.hash b/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.hash index d15fde9df..1fe8ecab1 100644 --- a/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.hash +++ b/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.10/5.10.1/submodules/qtcanvas3d-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 de829a8e6aa4b8496048e9b6f3bff306a80c35935855a94426025ddfb8bcb0c0 qtcanvas3d-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtcanvas3d-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 fd9ca31268e81d4864da961de7635ef7316a815b8fc77910e512647eb4ceea40 qtcanvas3d-everywhere-src-5.11.2.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/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.mk b/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.mk index 13e233f23..ef5b373d0 100644 --- a/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.mk +++ b/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.mk @@ -10,8 +10,13 @@ QT5CANVAS3D_SOURCE = qtcanvas3d-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5CANVAS3D_VERSI 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/buildroot/package/qt5/qt5charts/Config.in b/buildroot/package/qt5/qt5charts/Config.in index 78f08fe63..db199922d 100644 --- a/buildroot/package/qt5/qt5charts/Config.in +++ b/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/buildroot/package/qt5/qt5charts/qt5charts.hash b/buildroot/package/qt5/qt5charts/qt5charts.hash index 5a5845ef9..fa4e615cf 100644 --- a/buildroot/package/qt5/qt5charts/qt5charts.hash +++ b/buildroot/package/qt5/qt5charts/qt5charts.hash @@ -1,5 +1,8 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/qtcharts-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 4f0d577bf73dd2bbb2765c2cfb493a2d68790fc2c64f42544d31dba806321ec9 qtcharts-everywhere-src-5.10.1.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.2/submodules/qtcharts-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 f6a312c596bfffa5074a3a5606dff1ef197dac075b3c1bd6443e3a6db1c3a114 qtcharts-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/buildroot/package/qt5/qt5charts/qt5charts.mk b/buildroot/package/qt5/qt5charts/qt5charts.mk index 9eed43d6d..9e2e6de88 100644 --- a/buildroot/package/qt5/qt5charts/qt5charts.mk +++ b/buildroot/package/qt5/qt5charts/qt5charts.mk @@ -4,7 +4,12 @@ # ################################################################################ +# 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-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5CHARTS_VERSION).tar.xz QT5CHARTS_DEPENDENCIES = qt5base diff --git a/buildroot/package/qt5/qt5connectivity/5.11.2/qt5connectivity.hash b/buildroot/package/qt5/qt5connectivity/5.11.2/qt5connectivity.hash new file mode 100644 index 000000000..921f2e80a --- /dev/null +++ b/buildroot/package/qt5/qt5connectivity/5.11.2/qt5connectivity.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtconnectivity-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 58901bbd14d3bc472f27fe305fd8dc33cffbd10da83616e9691c04c3290d42c5 qtconnectivity-everywhere-src-5.11.2.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/buildroot/package/qt5/qt5connectivity/5.6.3/qt5connectivity.hash b/buildroot/package/qt5/qt5connectivity/5.6.3/qt5connectivity.hash new file mode 100644 index 000000000..c1a03c5e0 --- /dev/null +++ b/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/buildroot/package/qt5/qt5connectivity/qt5connectivity.hash b/buildroot/package/qt5/qt5connectivity/qt5connectivity.hash index 836453630..5316f03b1 100644 --- a/buildroot/package/qt5/qt5connectivity/qt5connectivity.hash +++ b/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.10/5.10.1/submodules/qtconnectivity-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 652821dc6819658ec4bc1a6bf149fd7a61008748ff4745b54f038ccf276d3ec9 qtconnectivity-everywhere-src-5.10.1.tar.xz +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/buildroot/package/qt5/qt5declarative/5.11.2/0001-qsgtexture-fix-debug-build-with-uclibc.patch b/buildroot/package/qt5/qt5declarative/5.11.2/0001-qsgtexture-fix-debug-build-with-uclibc.patch new file mode 100644 index 000000000..1c0f6eccc --- /dev/null +++ b/buildroot/package/qt5/qt5declarative/5.11.2/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/buildroot/package/qt5/qt5declarative/qt5declarative.hash b/buildroot/package/qt5/qt5declarative/qt5declarative.hash index 1634a88ec..e1af61fbe 100644 --- a/buildroot/package/qt5/qt5declarative/qt5declarative.hash +++ b/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.10/5.10.1/submodules/qtdeclarative-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 3af9ed51bce5b5c6f04c4a67a6008f98765ccde897c43fff670621ab70789553 qtdeclarative-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtdeclarative-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 220d86f8031e9d45f3c369c3fd517aaa4c5783ad62c843a21fa7cc3c0a36f2cd qtdeclarative-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash b/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash index 0eb188f13..f871e0b77 100644 --- a/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash +++ b/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.10/5.10.1/submodules/qtgraphicaleffects-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 3f3b0631b579630bf58e99f3ca0d8dfdb6a44153c63cf90ac9e07041b4b1847f qtgraphicaleffects-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtgraphicaleffects-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 a9dcaaa3932f7b71717a393700e1387bcd6f9c03538d0ffca2a64128a0e4a9fd qtgraphicaleffects-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/buildroot/package/qt5/qt5imageformats/qt5imageformats.hash b/buildroot/package/qt5/qt5imageformats/qt5imageformats.hash index ac858ea24..b4684bb76 100644 --- a/buildroot/package/qt5/qt5imageformats/qt5imageformats.hash +++ b/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.10/5.10.1/submodules/qtimageformats-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 2804baa2779eae015096820e233d7f86bb7fde9853b7c9150a321a453422a283 qtimageformats-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtimageformats-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 27e5d10551d0b5bf4799d09e5412ea2e6898b09aa1521ea24bce660ee6183a68 qtimageformats-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/buildroot/package/qt5/qt5location/5.11.2/0001-qdeclarativegeomap-fix-building-with-GCC-5.x.patch b/buildroot/package/qt5/qt5location/5.11.2/0001-qdeclarativegeomap-fix-building-with-GCC-5.x.patch new file mode 100644 index 000000000..f893c33d5 --- /dev/null +++ b/buildroot/package/qt5/qt5location/5.11.2/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/buildroot/package/qt5/qt5location/Config.in b/buildroot/package/qt5/qt5location/Config.in index e1778182a..7c39979ef 100644 --- a/buildroot/package/qt5/qt5location/Config.in +++ b/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/buildroot/package/qt5/qt5location/qt5location.hash b/buildroot/package/qt5/qt5location/qt5location.hash index f18c83880..7c7f007bc 100644 --- a/buildroot/package/qt5/qt5location/qt5location.hash +++ b/buildroot/package/qt5/qt5location/qt5location.hash @@ -1,8 +1,8 @@ # 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.10/5.10.1/submodules/qtlocation-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 5e5cc05517c701a2c8ebba1fbe3ddff2b6b90d5aa554d307b1c477fe0cfd72c9 qtlocation-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtlocation-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 d698911edfb2d45b7adca6557b3de880e966cb8823a8adf1beb3a3079560024e qtlocation-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/buildroot/package/qt5/qt5location/qt5location.mk b/buildroot/package/qt5/qt5location/qt5location.mk index 05cd1168a..da0aad796 100644 --- a/buildroot/package/qt5/qt5location/qt5location.mk +++ b/buildroot/package/qt5/qt5location/qt5location.mk @@ -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/buildroot/package/qt5/qt5multimedia/qt5multimedia.hash b/buildroot/package/qt5/qt5multimedia/qt5multimedia.hash index 0fb25b6e0..fb8285116 100644 --- a/buildroot/package/qt5/qt5multimedia/qt5multimedia.hash +++ b/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.10/5.10.1/submodules/qtmultimedia-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 a1fa98015ee5a6b81f2d337abc98d8b297c6718f7714a1f13fccfd2934c23649 qtmultimedia-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtmultimedia-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 25608f3d08636026387394956fe72cedcb78eb786fb32fd87deb41d574cf726d qtmultimedia-everywhere-src-5.11.2.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/buildroot/package/qt5/qt5multimedia/qt5multimedia.mk b/buildroot/package/qt5/qt5multimedia/qt5multimedia.mk index c97aebfd9..d044b7b96 100644 --- a/buildroot/package/qt5/qt5multimedia/qt5multimedia.mk +++ b/buildroot/package/qt5/qt5multimedia/qt5multimedia.mk @@ -71,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/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.hash b/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.hash index 809cb6b88..a4fc20ebc 100644 --- a/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.hash +++ b/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.10/5.10.1/submodules/qtquickcontrols-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 d231a1993dc6a3f0dbc60a21d01fc0be15b0c26e881bd0631573952ea61682b7 qtquickcontrols-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtquickcontrols-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 9c772e30fb1ba107168498328585063f4303c6562baf4a5cfedd0c5250b621e0 qtquickcontrols-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.mk b/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.mk index 5517cc153..3e0c5effb 100644 --- a/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.mk +++ b/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.mk @@ -11,7 +11,12 @@ QT5QUICKCONTROLS_DEPENDENCIES = qt5base qt5declarative QT5QUICKCONTROLS_INSTALL_STAGING = YES QT5QUICKCONTROLS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs) + +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5QUICKCONTROLS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.LGPL3 LICENSE.FDL +else +QT5QUICKCONTROLS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3 LICENSE.FDL +endif define QT5QUICKCONTROLS_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) @@ -25,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 @@ -43,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/buildroot/package/qt5/qt5quickcontrols2/5.11.2/qt5quickcontrols2.hash b/buildroot/package/qt5/qt5quickcontrols2/5.11.2/qt5quickcontrols2.hash new file mode 100644 index 000000000..bdf844eb9 --- /dev/null +++ b/buildroot/package/qt5/qt5quickcontrols2/5.11.2/qt5quickcontrols2.hash @@ -0,0 +1,7 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtquickcontrols2-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 aa0549f9a4135f9d600b57f53347ebf344e60d21f90c6d844109755da12dcb84 qtquickcontrols2-everywhere-src-5.11.2.tar.xz + +# Hashes for license files: +sha256 d2cfc059acb4abd8e513cd0a73cd8489f34cbafa7bc34d5d31fb3210821cf8ca LICENSE.GPLv3 +sha256 9e63a04ce021b8bf811b30881fa51c8c3db88afeead942cd59322f2fb69c75bc LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/buildroot/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash b/buildroot/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash index 6f5bf2940..01fe5dcd6 100644 --- a/buildroot/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash +++ b/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/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash b/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash index f446980e8..5316f03b1 100644 --- a/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash +++ b/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.10/5.10.1/submodules/qtquickcontrols2-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 5dc64a1b901e418b76fd3bf65dfa87a0cb11338741fb8970211c1df6df0e604a qtquickcontrols2-everywhere-src-5.10.1.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/buildroot/package/qt5/qt5script/qt5script.hash b/buildroot/package/qt5/qt5script/qt5script.hash index 6038f315c..0efc40bb4 100644 --- a/buildroot/package/qt5/qt5script/qt5script.hash +++ b/buildroot/package/qt5/qt5script/qt5script.hash @@ -1,8 +1,8 @@ # 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.10/5.10.1/submodules/qtscript-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 e0618af7cb1f1f30d292c04cf484e3507cf6f4815f79870e35d2b0ce7ac9532d qtscript-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtscript-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 b2c2466a83653a9473ea4810462d8a88e0fb1fb691f85d1c6e60d8bc4283f976 qtscript-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/buildroot/package/qt5/qt5script/qt5script.mk b/buildroot/package/qt5/qt5script/qt5script.mk index fe0ad9e88..4a292c95a 100644 --- a/buildroot/package/qt5/qt5script/qt5script.mk +++ b/buildroot/package/qt5/qt5script/qt5script.mk @@ -41,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/buildroot/package/qt5/qt5scxml/qt5scxml.hash b/buildroot/package/qt5/qt5scxml/qt5scxml.hash index d27288184..ecaf50745 100644 --- a/buildroot/package/qt5/qt5scxml/qt5scxml.hash +++ b/buildroot/package/qt5/qt5scxml/qt5scxml.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/qtscxml-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 0b42d201e4f96af1c404a61f01da6726bab9bfba4e280cc4a82c717f0db26103 qtscxml-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtscxml-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 d625cb2149f5bfef5747b1d40b22327fd36132307c8b76d358f235d5422ff7a4 qtscxml-everywhere-src-5.11.2.tar.xz # Hashes for license files: diff --git a/buildroot/package/qt5/qt5sensors/qt5sensors.hash b/buildroot/package/qt5/qt5sensors/qt5sensors.hash index 0b7222f14..4795356e6 100644 --- a/buildroot/package/qt5/qt5sensors/qt5sensors.hash +++ b/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.10/5.10.1/submodules/qtsensors-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 bb0df76c0e53cf2b39d10dbf0964706a264413aae74a4596119143ab4d165c96 qtsensors-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtsensors-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 0e27c38824f7a1deb506f6195156eed79b80aa7034356272c3be0611667d63c7 qtsensors-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/buildroot/package/qt5/qt5sensors/qt5sensors.mk b/buildroot/package/qt5/qt5sensors/qt5sensors.mk index 805abcccd..2d5cf327a 100644 --- a/buildroot/package/qt5/qt5sensors/qt5sensors.mk +++ b/buildroot/package/qt5/qt5sensors/qt5sensors.mk @@ -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/buildroot/package/qt5/qt5serialbus/5.11.2/qt5serialbus.hash b/buildroot/package/qt5/qt5serialbus/5.11.2/qt5serialbus.hash new file mode 100644 index 000000000..9c4aa16fd --- /dev/null +++ b/buildroot/package/qt5/qt5serialbus/5.11.2/qt5serialbus.hash @@ -0,0 +1,8 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtserialbus-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 1774c2c162f85f7cbcb2bdd2ef47507b110a01bc261627b46aa718e87079641e qtserialbus-everywhere-src-5.11.2.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/buildroot/package/qt5/qt5serialbus/5.6.3/qt5serialbus.hash b/buildroot/package/qt5/qt5serialbus/5.6.3/qt5serialbus.hash new file mode 100644 index 000000000..6715392eb --- /dev/null +++ b/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/buildroot/package/qt5/qt5serialbus/qt5serialbus.hash b/buildroot/package/qt5/qt5serialbus/qt5serialbus.hash index d39289781..5316f03b1 100644 --- a/buildroot/package/qt5/qt5serialbus/qt5serialbus.hash +++ b/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.10/5.10.1/submodules/qtserialbus-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 0650a17950f140130ec20520b06592618850cc5673a815cb4fd585590d922257 qtserialbus-everywhere-src-5.10.1.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/buildroot/package/qt5/qt5serialbus/qt5serialbus.mk b/buildroot/package/qt5/qt5serialbus/qt5serialbus.mk index c9a213955..98c4466cb 100644 --- a/buildroot/package/qt5/qt5serialbus/qt5serialbus.mk +++ b/buildroot/package/qt5/qt5serialbus/qt5serialbus.mk @@ -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/buildroot/package/qt5/qt5serialport/5.11.2/qt5serialport.hash b/buildroot/package/qt5/qt5serialport/5.11.2/qt5serialport.hash new file mode 100644 index 000000000..4dda77e44 --- /dev/null +++ b/buildroot/package/qt5/qt5serialport/5.11.2/qt5serialport.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtserialport-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 b01b69ce421d449402363c0cf617fcc8856e39d6d2c28aa3d06d1f5359dc6f6e qtserialport-everywhere-src-5.11.2.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/buildroot/package/qt5/qt5serialport/5.6.3/qt5serialport.hash b/buildroot/package/qt5/qt5serialport/5.6.3/qt5serialport.hash new file mode 100644 index 000000000..e6f46c1c5 --- /dev/null +++ b/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/buildroot/package/qt5/qt5serialport/qt5serialport.hash b/buildroot/package/qt5/qt5serialport/qt5serialport.hash index d73056cec..5316f03b1 100644 --- a/buildroot/package/qt5/qt5serialport/qt5serialport.hash +++ b/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.10/5.10.1/submodules/qtserialport-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 08e4cb13bbf165eb99857301f3cffe280a4946ff58a34ccc542ad1f790194a9e qtserialport-everywhere-src-5.10.1.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/buildroot/package/qt5/qt5serialport/qt5serialport.mk b/buildroot/package/qt5/qt5serialport/qt5serialport.mk index 1cddaf857..2b0953586 100644 --- a/buildroot/package/qt5/qt5serialport/qt5serialport.mk +++ b/buildroot/package/qt5/qt5serialport/qt5serialport.mk @@ -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/buildroot/package/qt5/qt5svg/qt5svg.hash b/buildroot/package/qt5/qt5svg/qt5svg.hash index 3a10080e2..fa4d6f445 100644 --- a/buildroot/package/qt5/qt5svg/qt5svg.hash +++ b/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.10/5.10.1/submodules/qtsvg-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 00e00c04abcc8363cf7d94ca8b16af61840995a4af23685d49fa4ccafa1c7f5a qtsvg-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtsvg-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 bc16bbf855b466e77dda996d8c91fa73db7fe14d3aa98ce6d92145ca1a1bd166 qtsvg-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/buildroot/package/qt5/qt5svg/qt5svg.mk b/buildroot/package/qt5/qt5svg/qt5svg.mk index 168c4c063..48ff04bd7 100644 --- a/buildroot/package/qt5/qt5svg/qt5svg.mk +++ b/buildroot/package/qt5/qt5svg/qt5svg.mk @@ -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/buildroot/package/qt5/qt5tools/qt5tools.hash b/buildroot/package/qt5/qt5tools/qt5tools.hash index 83e6ef41b..7c78866c8 100644 --- a/buildroot/package/qt5/qt5tools/qt5tools.hash +++ b/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.10/5.10.1/submodules/qttools-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 f1ea441e5fe138756e6de3b60ab7d8d3051799eabe85a9408c995dfd4d048a53 qttools-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qttools-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 f0e8332c771958b4aa373ac643d35e2fabb1a2dcdbaca756ebf3d1ace7c631b8 qttools-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/buildroot/package/qt5/qt5virtualkeyboard/2.0/0001-remove-weird-install-path-for-example.patch b/buildroot/package/qt5/qt5virtualkeyboard/2.0/0001-remove-weird-install-path-for-example.patch new file mode 100644 index 000000000..367cc4a1f --- /dev/null +++ b/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/buildroot/package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash b/buildroot/package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash new file mode 100644 index 000000000..0cc4f9c82 --- /dev/null +++ b/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/buildroot/package/qt5/qt5virtualkeyboard/5.11.2/qt5virtualkeyboard.hash b/buildroot/package/qt5/qt5virtualkeyboard/5.11.2/qt5virtualkeyboard.hash new file mode 100644 index 000000000..c065a9e80 --- /dev/null +++ b/buildroot/package/qt5/qt5virtualkeyboard/5.11.2/qt5virtualkeyboard.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtvirtualkeyboard-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 2709500071e7e98ca6f6eecef0f5c80d19ae22aba562293352debd516633b197 qtvirtualkeyboard-everywhere-src-5.11.2.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/buildroot/package/qt5/qt5virtualkeyboard/Config.in b/buildroot/package/qt5/qt5virtualkeyboard/Config.in index f0e4f03f6..57b0c703b 100644 --- a/buildroot/package/qt5/qt5virtualkeyboard/Config.in +++ b/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 diff --git a/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash b/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash index 44ef1f230..5316f03b1 100644 --- a/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash +++ b/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash @@ -1,6 +1,2 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/qtvirtualkeyboard-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 4319f90e68a571974d03f39507dde548971412e31f971081ca7eaf388187d52e qtvirtualkeyboard-everywhere-src-5.10.1.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/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk index bd943b08a..4aa5fc957 100644 --- a/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk +++ b/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-$(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,12 @@ 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 ifdef QT5VIRTUALKEYBOARD_3RDPARTY_PARTS define QT5VIRTUALKEYBOARD_INSTALL_TARGET_3RDPARTY_PARTS @@ -60,6 +71,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 +93,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/buildroot/package/qt5/qt5wayland/5.10.1/0001-Fix-compilation-for-Renesas-R-Car-M3.patch b/buildroot/package/qt5/qt5wayland/5.10.1/0001-Fix-compilation-for-Renesas-R-Car-M3.patch deleted file mode 100644 index df09d4f38..000000000 --- a/buildroot/package/qt5/qt5wayland/5.10.1/0001-Fix-compilation-for-Renesas-R-Car-M3.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 1619f8bcdd1680c9557996b4977580090a749037 Mon Sep 17 00:00:00 2001 -From: Johan Klokkhammer Helsing -Date: Thu, 9 Feb 2017 12:53:56 +0100 -Subject: [PATCH] Fix compilation for Renesas R-Car M3 - -Change-Id: Ib85001884bb880a18d8aa1241da0eb614a6b58ba -Reviewed-by: Paul Olav Tvete - -Upstream: http://code.qt.io/cgit/qt/qtwayland.git/patch/?id=8b204b2c56be5e7c1fd21144ae140c9b865dd86b -Signed-off-by: Peter Seiderer ---- - .../client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp | 2 +- - .../compositor/xcomposite-egl/xcompositeeglintegration.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp -index 431cb14..9c3dee3 100644 ---- a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp -+++ b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp -@@ -121,7 +121,7 @@ void QWaylandXCompositeEGLWindow::createEglSurface() - XCompositeRedirectWindow(m_glxIntegration->xDisplay(), m_xWindow, CompositeRedirectManual); - XMapWindow(m_glxIntegration->xDisplay(), m_xWindow); - -- m_surface = eglCreateWindowSurface(m_glxIntegration->eglDisplay(), m_config, m_xWindow,0); -+ m_surface = eglCreateWindowSurface(m_glxIntegration->eglDisplay(), m_config, reinterpret_cast(m_xWindow), nullptr); - if (m_surface == EGL_NO_SURFACE) { - qFatal("Could not make eglsurface"); - } -diff --git a/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp b/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp -index 3cc0ba0..071b088 100644 ---- a/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp -+++ b/src/hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp -@@ -129,7 +129,7 @@ QOpenGLTexture *XCompositeEglClientBuffer::toOpenGlTexture(int plane) - attribList.append(EGL_TEXTURE_2D); - attribList.append(EGL_NONE); - -- EGLSurface surface = eglCreatePixmapSurface(m_integration->eglDisplay(),config,pixmap,attribList.constData()); -+ EGLSurface surface = eglCreatePixmapSurface(m_integration->eglDisplay(), config, reinterpret_cast(pixmap), attribList.constData()); - if (surface == EGL_NO_SURFACE) { - qDebug() << "Failed to create eglsurface" << pixmap << compositorBuffer->window(); - } --- -2.16.3 - diff --git a/buildroot/package/qt5/qt5wayland/Config.in b/buildroot/package/qt5/qt5wayland/Config.in index 0182d3ca5..0d5a10891 100644 --- a/buildroot/package/qt5/qt5wayland/Config.in +++ b/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/buildroot/package/qt5/qt5wayland/qt5wayland.hash b/buildroot/package/qt5/qt5wayland/qt5wayland.hash index b28677ad2..01305c950 100644 --- a/buildroot/package/qt5/qt5wayland/qt5wayland.hash +++ b/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.10/5.10.1/submodules/qtwayland-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 f5a7643a5ebcdc50d02b293191e675f387f67dc360c27bf6f94345372fba6356 qtwayland-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtwayland-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 4e35e15da360480a5aef414246f70d29b0252b6a9c7e129e63afba3fb2ecb771 qtwayland-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/buildroot/package/qt5/qt5wayland/qt5wayland.mk b/buildroot/package/qt5/qt5wayland/qt5wayland.mk index d018cccd6..d6fb6e188 100644 --- a/buildroot/package/qt5/qt5wayland/qt5wayland.mk +++ b/buildroot/package/qt5/qt5wayland/qt5wayland.mk @@ -7,9 +7,13 @@ QT5WAYLAND_VERSION = $(QT5_VERSION) QT5WAYLAND_SITE = $(QT5_SITE) QT5WAYLAND_SOURCE = qtwayland-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WAYLAND_VERSION).tar.xz -QT5WAYLAND_DEPENDENCIES = qt5base qt5declarative wayland +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 @@ -51,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/buildroot/package/qt5/qt5webchannel/qt5webchannel.hash b/buildroot/package/qt5/qt5webchannel/qt5webchannel.hash index f94942f57..1ed2bddb6 100644 --- a/buildroot/package/qt5/qt5webchannel/qt5webchannel.hash +++ b/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.10/5.10.1/submodules/qtwebchannel-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 c22c449fecb052597d12f8dd59498db39767037f9098123f3defc04eb20a3764 qtwebchannel-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtwebchannel-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 945fdae8f1ea8dfc8e47a6d8421cef00690d6d4bfe26ce61bb59c0d0326c02fc qtwebchannel-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/buildroot/package/qt5/qt5webengine/Config.in b/buildroot/package/qt5/qt5webengine/Config.in index 38486c6dc..744d65956 100644 --- a/buildroot/package/qt5/qt5webengine/Config.in +++ b/buildroot/package/qt5/qt5webengine/Config.in @@ -31,7 +31,7 @@ config BR2_PACKAGE_QT5WEBENGINE 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_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 diff --git a/buildroot/package/qt5/qt5webengine/chromium-latest.inc b/buildroot/package/qt5/qt5webengine/chromium-latest.inc new file mode 100644 index 000000000..671b2383a --- /dev/null +++ b/buildroot/package/qt5/qt5webengine/chromium-latest.inc @@ -0,0 +1,431 @@ +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/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/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/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/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/gif_player/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/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/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/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/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/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/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.1 \ + 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/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/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/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/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/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/buildroot/package/qt5/qt5webengine/chromium.inc b/buildroot/package/qt5/qt5webengine/chromium-lts.inc similarity index 66% rename from buildroot/package/qt5/qt5webengine/chromium.inc rename to buildroot/package/qt5/qt5webengine/chromium-lts.inc index da709fd5a..d45e9692d 100644 --- a/buildroot/package/qt5/qt5webengine/chromium.inc +++ b/buildroot/package/qt5/qt5webengine/chromium-lts.inc @@ -1,310 +1,248 @@ -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/sdch/open-vcdiff/COPYING \ + src/3rdparty/chromium/tools/gyp/LICENSE \ + src/3rdparty/chromium/v8/LICENSE.v8 \ + src/3rdparty/chromium/v8/LICENSE.strongtalk \ + src/3rdparty/chromium/v8/LICENSE.valgrind \ + src/3rdparty/chromium/v8/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/fdlibm/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/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/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/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/testing/gmock/scripts/generator/LICENSE \ + src/3rdparty/chromium/testing/gmock/LICENSE \ + src/3rdparty/chromium/ppapi/LICENSE \ + src/3rdparty/chromium/third_party/class-dump/LICENSE \ + 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/webtreemap/src/COPYING \ + src/3rdparty/chromium/third_party/usb_ids/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/crashpad/crashpad/LICENSE \ + src/3rdparty/chromium/third_party/Python-Markdown/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/flatbuffers/LICENSE \ - src/3rdparty/chromium/third_party/flatbuffers/src/LICENSE.txt \ - src/3rdparty/chromium/third_party/flot/LICENSE.txt \ + src/3rdparty/chromium/third_party/talloc/LICENSE \ + src/3rdparty/chromium/third_party/libvpx_new/source/libvpx/third_party/libwebm/LICENSE.TXT \ + src/3rdparty/chromium/third_party/libvpx_new/source/libvpx/third_party/googletest/src/LICENSE \ + src/3rdparty/chromium/third_party/libvpx_new/source/libvpx/third_party/x86inc/LICENSE \ + src/3rdparty/chromium/third_party/libvpx_new/source/libvpx/LICENSE \ + 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/cld/LICENSE \ + src/3rdparty/chromium/third_party/jsoncpp/LICENSE \ + src/3rdparty/chromium/third_party/bintrees/LICENSE.txt \ + src/3rdparty/chromium/third_party/yasm/source/patched-yasm/COPYING \ + src/3rdparty/chromium/third_party/libva/COPYING \ + src/3rdparty/chromium/third_party/bspatch/LICENSE \ + src/3rdparty/chromium/third_party/lzma_sdk/LICENSE \ + src/3rdparty/chromium/third_party/v4l2capture/LICENSE \ + src/3rdparty/chromium/third_party/boringssl/src/LICENSE \ + src/3rdparty/chromium/third_party/cardboard-java/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/python_gflags/COPYING \ 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/libexif/sources/COPYING \ + src/3rdparty/chromium/third_party/sinonjs/LICENSE \ + src/3rdparty/chromium/third_party/lcov/COPYING \ 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/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/speech-dispatcher/COPYING \ + src/3rdparty/chromium/third_party/skia/third_party/libpng/LICENSE \ + src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE \ + src/3rdparty/chromium/third_party/skia/platform_tools/android/third_party/ashmem/LICENSE \ + src/3rdparty/chromium/third_party/skia/LICENSE \ + src/3rdparty/chromium/third_party/drmemory/LICENSE \ + src/3rdparty/chromium/third_party/v4l-utils/COPYING.libv4l \ + src/3rdparty/chromium/third_party/iccjpeg/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/minigbm/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/mesa/src/src/mapi/glapi/gen/license.py \ + src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md \ + src/3rdparty/chromium/third_party/usrsctp/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCDemo/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_THIRD_PARTY \ + src/3rdparty/chromium/third_party/webrtc/LICENSE \ + src/3rdparty/chromium/third_party/libwebp/LICENSE \ + 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/robolectric/LICENSE \ + src/3rdparty/chromium/third_party/flot/LICENSE.txt \ + src/3rdparty/chromium/third_party/openmax_dl/LICENSE \ + src/3rdparty/chromium/third_party/safe_browsing/testing/LICENSE \ + src/3rdparty/chromium/third_party/harfbuzz-ng/COPYING \ + src/3rdparty/chromium/third_party/protobuf/COPYING.txt \ + src/3rdparty/chromium/third_party/typ/LICENSE \ + src/3rdparty/chromium/third_party/d3/src/LICENSE \ + src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.txt \ + 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/closure_compiler/compiler/COPYING \ + src/3rdparty/chromium/third_party/closure_compiler/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-APPLE \ + src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2.1 \ + src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2 \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/scripts/closure/COPYING \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm_modes/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/acorn/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/build/scripts/license.py \ + 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/LICENSE_FOR_ABOUT_CREDITS \ + src/3rdparty/chromium/third_party/WebKit/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE \ + 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/freetype2/src/docs/LICENSE.TXT \ + src/3rdparty/chromium/third_party/molokocacao/LICENSE \ + src/3rdparty/chromium/third_party/wayland/LICENSE \ + src/3rdparty/chromium/third_party/wayland/src/COPYING \ + 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 \ + src/3rdparty/chromium/third_party/hwcplus/LICENSE \ + src/3rdparty/chromium/third_party/libsecret/LICENSE \ + src/3rdparty/chromium/third_party/nss/nspr/LICENSE \ + src/3rdparty/chromium/third_party/nss/nss/COPYING \ + src/3rdparty/chromium/third_party/jinja2/LICENSE \ + src/3rdparty/chromium/third_party/decklink/LICENSE \ + 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.myspell \ + src/3rdparty/chromium/third_party/hunspell/src/hunspell/license.hunspell \ + 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/requests/LICENSE \ + src/3rdparty/chromium/third_party/ijar/LICENSE \ + src/3rdparty/chromium/third_party/pycoverage/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/pywebsocket/src/LICENSE \ + src/3rdparty/chromium/third_party/closure_linter/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/ipfw_win32/LICENSE \ + src/3rdparty/chromium/third_party/webpagereplay/third_party/ipaddr/COPYING \ + src/3rdparty/chromium/third_party/libusb/src/COPYING \ + src/3rdparty/chromium/third_party/libsrtp/srtp/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/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/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/ots/LICENSE \ + src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE \ + src/3rdparty/chromium/third_party/brotli/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/third_party/murmurhash/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE \ + src/3rdparty/chromium/third_party/npapi/LICENSE \ 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/typ/LICENSE \ + src/3rdparty/chromium/third_party/libjpeg/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/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/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/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/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/six/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/woff2/LICENSE \ + src/3rdparty/chromium/third_party/appurify-python/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/dom_distiller_js/LICENSE \ + src/3rdparty/chromium/third_party/mocha/LICENSE \ src/3rdparty/chromium/third_party/x86inc/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/pymock/LICENSE.txt \ + src/3rdparty/chromium/third_party/sqlite/sqlite-src-3080704/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/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/py_trace_event/src/LICENSE \ + 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/third_party/gflags/LICENSE \ + src/3rdparty/chromium/third_party/libyuv/LICENSE \ + src/3rdparty/chromium/third_party/mojo/LICENSE \ + src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE \ + src/3rdparty/chromium/third_party/chaijs/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/third_party/libjingle/source/talk/LICENSE_THIRD_PARTY \ + src/3rdparty/chromium/third_party/libjingle/source/talk/COPYING \ + 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/crypto/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/buildroot/package/qt5/qt5webengine/qt5webengine.hash b/buildroot/package/qt5/qt5webengine/qt5webengine.hash index 3b5443582..e8e57d5d9 100644 --- a/buildroot/package/qt5/qt5webengine/qt5webengine.hash +++ b/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.10/5.10.1/submodules/qtwebengine-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 12644f8d2ba8354a2a533d5a7f3f5139c6ff168c2f51aa3e21b701db6dbc01de qtwebengine-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtwebengine-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 3ff9bba5f631cfdd454ce298489360b3e2d9a2de4eb82bb121d838ef65f9b772 qtwebengine-everywhere-src-5.11.2.tar.xz diff --git a/buildroot/package/qt5/qt5webengine/qt5webengine.mk b/buildroot/package/qt5/qt5webengine/qt5webengine.mk index e527e6bc3..a3cfcec26 100644 --- a/buildroot/package/qt5/qt5webengine/qt5webengine.mk +++ b/buildroot/package/qt5/qt5webengine/qt5webengine.mk @@ -12,10 +12,14 @@ QT5WEBENGINE_DEPENDENCIES = ffmpeg libglib2 libvpx opus webp qt5base \ host-pkgconf host-python QT5WEBENGINE_INSTALL_STAGING = YES -include package/qt5/qt5webengine/chromium.inc +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +include package/qt5/qt5webengine/chromium-latest.inc +else +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 \ @@ -48,6 +52,8 @@ 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 diff --git a/buildroot/package/qt5/qt5webkit/5.9.1/0005-Fix-installation-of-class-headers.patch b/buildroot/package/qt5/qt5webkit/5.9.1/0005-Fix-installation-of-class-headers.patch new file mode 100644 index 000000000..abddfe5d1 --- /dev/null +++ b/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/buildroot/package/qt5/qt5websockets/qt5websockets.hash b/buildroot/package/qt5/qt5websockets/qt5websockets.hash index 34cd6e6ce..1b340b989 100644 --- a/buildroot/package/qt5/qt5websockets/qt5websockets.hash +++ b/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.10/5.10.1/submodules/qtwebsockets-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 6ecf790955ffe42dce731e10557f4ba625e359e867953d73f7fb453c0bad53ea qtwebsockets-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtwebsockets-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 ae6197619ce0c4104bdc43e097d79082f90ba6567fa286eae6306ce7aec88b8d qtwebsockets-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/buildroot/package/qt5/qt5x11extras/5.11.2/qt5x11extras.hash b/buildroot/package/qt5/qt5x11extras/5.11.2/qt5x11extras.hash new file mode 100644 index 000000000..21702b91f --- /dev/null +++ b/buildroot/package/qt5/qt5x11extras/5.11.2/qt5x11extras.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtx11extras-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 f407ca61052d44bfb06e831fc6db7595bb2b64882b1f0af23f5db2d1ee519089 qtx11extras-everywhere-src-5.11.2.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/buildroot/package/qt5/qt5x11extras/qt5x11extras.hash b/buildroot/package/qt5/qt5x11extras/5.6.3/qt5x11extras.hash similarity index 64% rename from buildroot/package/qt5/qt5x11extras/qt5x11extras.hash rename to buildroot/package/qt5/qt5x11extras/5.6.3/qt5x11extras.hash index 173e9e6b5..b34c05998 100644 --- a/buildroot/package/qt5/qt5x11extras/qt5x11extras.hash +++ b/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.10/5.10.1/submodules/qtx11extras-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 c38a371fd50b2da976ed809230678284f029cefb02d240253dcbb3d575dc97b4 qtx11extras-everywhere-src-5.10.1.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/buildroot/package/qt5/qt5x11extras/qt5x11extras.mk b/buildroot/package/qt5/qt5x11extras/qt5x11extras.mk index c439e2d31..9d54c1106 100644 --- a/buildroot/package/qt5/qt5x11extras/qt5x11extras.mk +++ b/buildroot/package/qt5/qt5x11extras/qt5x11extras.mk @@ -12,7 +12,7 @@ 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/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash b/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash index 0aa062c13..61788dd3b 100644 --- a/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash +++ b/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.10/5.10.1/submodules/qtxmlpatterns-everywhere-src-5.10.1.tar.xz.mirrorlist -sha256 3cdef59ce96a796606e5adc5756c63c8607fb29b281fddb38acee3e674d5e9fe qtxmlpatterns-everywhere-src-5.10.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.2/submodules/qtxmlpatterns-everywhere-src-5.11.2.tar.xz.mirrorlist +sha256 5fd5f680ba40dadf81665417501e1f3778982aea0e268bf4f75a420d54a86746 qtxmlpatterns-everywhere-src-5.11.2.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/buildroot/package/quagga/quagga.mk b/buildroot/package/quagga/quagga.mk index b2b4e2a1f..8c2b80631 100644 --- a/buildroot/package/quagga/quagga.mk +++ b/buildroot/package/quagga/quagga.mk @@ -45,7 +45,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 diff --git a/buildroot/package/quazip/quazip.hash b/buildroot/package/quazip/quazip.hash index 87bf7c2c5..9f43643d6 100644 --- a/buildroot/package/quazip/quazip.hash +++ b/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/buildroot/package/quazip/quazip.mk b/buildroot/package/quazip/quazip.mk index 09037a54c..872340ab4 100644 --- a/buildroot/package/quazip/quazip.mk +++ b/buildroot/package/quazip/quazip.mk @@ -4,8 +4,8 @@ # ################################################################################ -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 \ diff --git a/buildroot/package/rabbitmq-c/rabbitmq-c.hash b/buildroot/package/rabbitmq-c/rabbitmq-c.hash index 45e8cbd82..0af88774e 100644 --- a/buildroot/package/rabbitmq-c/rabbitmq-c.hash +++ b/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/buildroot/package/rabbitmq-c/rabbitmq-c.mk b/buildroot/package/rabbitmq-c/rabbitmq-c.mk index d496a4c09..a3c4f8219 100644 --- a/buildroot/package/rabbitmq-c/rabbitmq-c.mk +++ b/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,6 +13,11 @@ 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 diff --git a/buildroot/package/rauc/0002-build-make-eMMC-boot-partition-support-optional.patch b/buildroot/package/rauc/0002-build-make-eMMC-boot-partition-support-optional.patch new file mode 100644 index 000000000..f6177c9d5 --- /dev/null +++ b/buildroot/package/rauc/0002-build-make-eMMC-boot-partition-support-optional.patch @@ -0,0 +1,116 @@ +From d66502532fea652d8743bfb61f9843c796d305cf Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 24 Aug 2018 14:30:19 +0200 +Subject: [PATCH] build: make eMMC boot partition support optional + +The eMMC boot partition support, added in commit +ea5cc7ff606c65536da218bd1ef6d0ca279c9b17 ("src/update_handler: add +support for updating eMMC boot partitions"), requires +, only available starting from kernel headers 3.0. + +Even though it is pretty likely that people are going to use Linux >= +3.0 on their embedded systems these days, RAUC also needs to be built +natively on the build machine to produce update artifacts, and the +build machine is sometimes using an ancient Linux system, especially +in an enterprise contexts. + +In order to make sure that RAUC builds fine in this context, this +commit makes the eMMC boot partition support optional, by verifying +the availability of . + +Signed-off-by: Thomas Petazzoni +--- + Makefile.am | 5 ++++- + configure.ac | 6 ++++++ + src/update_handler.c | 6 ++++++ + 3 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 23eb2d1..7b4682d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -39,7 +39,6 @@ librauc_la_SOURCES = \ + src/checksum.c \ + src/config_file.c \ + src/context.c \ +- src/emmc.c \ + src/install.c \ + src/manifest.c \ + src/mark.c \ +@@ -63,6 +62,10 @@ librauc_la_SOURCES = \ + include/update_handler.h \ + include/utils.h + ++if WANT_EMMC_BOOT_SUPPORT ++librauc_la_SOURCES += src/emmc.c ++endif ++ + if WANT_NETWORK + librauc_la_SOURCES += src/network.c include/network.h + endif +diff --git a/configure.ac b/configure.ac +index 2d6f940..1ec124b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -102,6 +102,12 @@ AC_SUBST(DBUS_SYSTEMSERVICEDIR) + + # Checks for header files. + ++AC_CHECK_HEADER([linux/mmc/ioctl.h], ++ AC_DEFINE([ENABLE_EMMC_BOOT_SUPPORT], [1], [Define to 1 to enable eMMC boot support]), ++ AC_DEFINE([ENABLE_EMMC_BOOT_SUPPORT], [0])) ++ ++AM_CONDITIONAL([WANT_EMMC_BOOT_SUPPORT], [test x$ac_cv_header_linux_mmc_ioctl_h != xno]) ++ + # Checks for typedefs, structures, and compiler characteristics. + + # Checks for library functions. +diff --git a/src/update_handler.c b/src/update_handler.c +index 62115ec..a9f233a 100644 +--- a/src/update_handler.c ++++ b/src/update_handler.c +@@ -57,6 +57,7 @@ out: + return outstream; + } + ++#if ENABLE_EMMC_BOOT_SUPPORT == 1 + static gboolean clear_slot(RaucSlot *slot, GError **error) + { + GError *ierror = NULL; +@@ -99,6 +100,7 @@ out: + g_clear_object(&outstream); + return res; + } ++#endif + + static gboolean ubifs_ioctl(RaucImage *image, int fd, GError **error) + { +@@ -1085,6 +1087,7 @@ out: + return res; + } + ++#if ENABLE_EMMC_BOOT_SUPPORT == 1 + static gboolean img_to_boot_emmc_handler(RaucImage *image, RaucSlot *dest_slot, const gchar *hook_name, GError **error) + { + +@@ -1245,6 +1248,7 @@ out: + + return res; + } ++#endif + + static gboolean img_to_raw_handler(RaucImage *image, RaucSlot *dest_slot, const gchar *hook_name, GError **error) + { +@@ -1329,7 +1333,9 @@ RaucUpdatePair updatepairs[] = { + {"*.img", "nand", img_to_nand_handler}, + {"*.img", "ubivol", img_to_ubivol_handler}, + {"*.squashfs", "ubivol", img_to_ubivol_handler}, ++#if ENABLE_EMMC_BOOT_SUPPORT == 1 + {"*.img", "boot-emmc", img_to_boot_emmc_handler}, ++#endif + {"*.img", "*", img_to_raw_handler}, /* fallback */ + {0} + }; +-- +2.14.4 + diff --git a/buildroot/package/rauc/rauc.mk b/buildroot/package/rauc/rauc.mk index f1705a8c3..36119c061 100644 --- a/buildroot/package/rauc/rauc.mk +++ b/buildroot/package/rauc/rauc.mk @@ -9,6 +9,8 @@ RAUC_SITE = https://github.com/rauc/rauc/releases/download/v$(RAUC_VERSION) RAUC_SOURCE = rauc-$(RAUC_VERSION).tar.xz RAUC_LICENSE = LGPL-2.1 RAUC_DEPENDENCIES = host-pkgconf openssl libglib2 +# 0002-build-make-eMMC-boot-partition-support-optional.patch +RAUC_AUTORECONF = YES ifeq ($(BR2_PACKAGE_RAUC_NETWORK),y) RAUC_CONF_OPTS += --enable-network diff --git a/buildroot/package/rdesktop/0002-openssl11.patch b/buildroot/package/rdesktop/0002-openssl11.patch new file mode 100644 index 000000000..050d6f690 --- /dev/null +++ b/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/buildroot/package/redis/Config.in b/buildroot/package/redis/Config.in index 5d7edd813..2450ccdf7 100644 --- a/buildroot/package/redis/Config.in +++ b/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/buildroot/package/redis/redis.hash b/buildroot/package/redis/redis.hash index d9a14cef6..0b4e25c61 100644 --- a/buildroot/package/redis/redis.hash +++ b/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/buildroot/package/redis/redis.mk b/buildroot/package/redis/redis.mk index cbd2d7bdc..da2307d69 100644 --- a/buildroot/package/redis/redis.mk +++ b/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/buildroot/package/restorecond/restorecond.hash b/buildroot/package/restorecond/restorecond.hash index f52bbd216..d171c5052 100644 --- a/buildroot/package/restorecond/restorecond.hash +++ b/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/buildroot/package/restorecond/restorecond.mk b/buildroot/package/restorecond/restorecond.mk index aaa59b335..7e43d9c8d 100644 --- a/buildroot/package/restorecond/restorecond.mk +++ b/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/buildroot/package/riemann-c-client/Config.in b/buildroot/package/riemann-c-client/Config.in index 91b13b790..c241487c7 100644 --- a/buildroot/package/riemann-c-client/Config.in +++ b/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/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.hash b/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.hash index 553a7e429..eeb7b605f 100644 --- a/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.hash +++ b/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 beade89c5c072158b6cf18cf741d2695980fd6a4533dab3897bebf90c0631a30 rpi-bt-firmware-18d7c931aff0a8a78360b9b9eaeb15d1224fb907.tar.gz +sha256 155ebd5f08b819e0ce4e1950fcc972b2086cee3c16d36aba348beba1910c1fd2 rpi-bt-firmware-8c1e2bff1da9850f68efcfff3da5d939ec27a2ee.tar.gz sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx diff --git a/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.mk b/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.mk index bbb40854e..f9f300da4 100644 --- a/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.mk +++ b/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.mk @@ -4,17 +4,14 @@ # ################################################################################ -RPI_BT_FIRMWARE_VERSION = 18d7c931aff0a8a78360b9b9eaeb15d1224fb907 +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 -RPI_BT_FIRMWARE_FILES = brcm/BCM43430A1.hcd BCM4345C0.hcd - define RPI_BT_FIRMWARE_INSTALL_TARGET_CMDS - $(foreach file,$(RPI_BT_FIRMWARE_FILES),\ - $(INSTALL) -D -m 0644 $(@D)/firmware/$(file) $(TARGET_DIR)/lib/firmware/$(notdir $(file)) - ) + $(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/buildroot/package/rpi-userland/0003-Disable-Werror-everywhere.patch b/buildroot/package/rpi-userland/0003-Disable-Werror-everywhere.patch index 64ae8ed25..7fb2f9797 100644 --- a/buildroot/package/rpi-userland/0003-Disable-Werror-everywhere.patch +++ b/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/buildroot/package/rpi-userland/0006-host-apps-dtoverlay-don-t-install-script-in-random-l.patch b/buildroot/package/rpi-userland/0006-host-apps-dtoverlay-don-t-install-script-in-random-l.patch deleted file mode 100644 index 2900eb74f..000000000 --- a/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/buildroot/package/rpi-userland/rpi-userland.hash b/buildroot/package/rpi-userland/rpi-userland.hash index f1bb5e678..fc135e475 100644 --- a/buildroot/package/rpi-userland/rpi-userland.hash +++ b/buildroot/package/rpi-userland/rpi-userland.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 8ed745ea28ef9d5e6d2e5534acabe1ea1a6c6be9bab7f683527ce5da5a3f77cb rpi-userland-a7976021a89451de0d008aa48f16c4e88872899b.tar.gz +sha256 01ece7088e38864bb20a165746a43e8ceeb4fb71f7b0e6974aa5ba587b4a76b2 rpi-userland-8f0abfb07b96e7ee85f46e59d895014ec5e25f5e.tar.gz diff --git a/buildroot/package/rpi-userland/rpi-userland.mk b/buildroot/package/rpi-userland/rpi-userland.mk index a798795ba..ede8c242e 100644 --- a/buildroot/package/rpi-userland/rpi-userland.mk +++ b/buildroot/package/rpi-userland/rpi-userland.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_USERLAND_VERSION = a7976021a89451de0d008aa48f16c4e88872899b +RPI_USERLAND_VERSION = 8f0abfb07b96e7ee85f46e59d895014ec5e25f5e RPI_USERLAND_SITE = $(call github,raspberrypi,userland,$(RPI_USERLAND_VERSION)) RPI_USERLAND_LICENSE = BSD-3-Clause RPI_USERLAND_LICENSE_FILES = LICENCE diff --git a/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.hash b/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.hash index 946a55fac..84e02f3c8 100644 --- a/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.hash +++ b/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 163fc0629d9ddcf7b729fefd3129f8d4f43b8fc912fa487b6d8bc57cf57232a7 rpi-wifi-firmware-86e88fbf0345da49555d0ec34c80b4fbae7d0cd3.tar.gz +sha256 95d26fadfa73505b1fdcc0080728655109ceef9b5a0e63f36d9383e9ada57ab2 rpi-wifi-firmware-b518de45ced519e8f7a499f4778100173402ae43.tar.gz sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx diff --git a/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.mk b/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.mk index 248b0a262..da915bd49 100644 --- a/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.mk +++ b/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_WIFI_FIRMWARE_VERSION = 86e88fbf0345da49555d0ec34c80b4fbae7d0cd3 +RPI_WIFI_FIRMWARE_VERSION = b518de45ced519e8f7a499f4778100173402ae43 RPI_WIFI_FIRMWARE_SITE = $(call github,RPi-Distro,firmware-nonfree,$(RPI_WIFI_FIRMWARE_VERSION)) RPI_WIFI_FIRMWARE_LICENSE = PROPRIETARY RPI_WIFI_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx diff --git a/buildroot/package/rpm/rpm.mk b/buildroot/package/rpm/rpm.mk index 159ae72aa..87c2059e7 100644 --- a/buildroot/package/rpm/rpm.mk +++ b/buildroot/package/rpm/rpm.mk @@ -8,10 +8,10 @@ RPM_VERSION_MAJOR = 4.13 RPM_VERSION = $(RPM_VERSION_MAJOR).0.1 RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2 RPM_SITE = http://ftp.rpm.org/releases/rpm-$(RPM_VERSION_MAJOR).x -RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib +RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib \ + $(TARGET_NLS_DEPENDENCIES) RPM_LICENSE = GPL-2.0 or LGPL-2.0 (library only) RPM_LICENSE_FILES = COPYING -RPM_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) # 0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch # 0002-configure-ac-correct-stack-protector-check.patch diff --git a/buildroot/package/rsyslog/rsyslog.mk b/buildroot/package/rsyslog/rsyslog.mk index e32505be2..61e08ba76 100644 --- a/buildroot/package/rsyslog/rsyslog.mk +++ b/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 diff --git a/buildroot/package/rtl8188eu/rtl8188eu.hash b/buildroot/package/rtl8188eu/rtl8188eu.hash index 6f68f4425..9ec2ffee8 100644 --- a/buildroot/package/rtl8188eu/rtl8188eu.hash +++ b/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/buildroot/package/rtl8188eu/rtl8188eu.mk b/buildroot/package/rtl8188eu/rtl8188eu.mk index 5c1cc73da..f292bba13 100644 --- a/buildroot/package/rtl8188eu/rtl8188eu.mk +++ b/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/buildroot/package/rtorrent/0001-cross_compile.patch b/buildroot/package/rtorrent/0001-cross_compile.patch index a8ad696e6..1c40eaebb 100644 --- a/buildroot/package/rtorrent/0001-cross_compile.patch +++ b/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/buildroot/package/rtorrent/Config.in b/buildroot/package/rtorrent/Config.in index 190e50fe2..6bbcaaf56 100644 --- a/buildroot/package/rtorrent/Config.in +++ b/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/buildroot/package/rtorrent/rtorrent.hash b/buildroot/package/rtorrent/rtorrent.hash index 15257acf4..9f5ef2b4f 100644 --- a/buildroot/package/rtorrent/rtorrent.hash +++ b/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/buildroot/package/rtorrent/rtorrent.mk b/buildroot/package/rtorrent/rtorrent.mk index 51dc9eecc..aaf86be64 100644 --- a/buildroot/package/rtorrent/rtorrent.mk +++ b/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/buildroot/package/ruby/ruby.hash b/buildroot/package/ruby/ruby.hash index d066186d5..b36d49461 100644 --- a/buildroot/package/ruby/ruby.hash +++ b/buildroot/package/ruby/ruby.hash @@ -1,6 +1,6 @@ -# From https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-4-2-released/ -sha256 748a8980d30141bd1a4124e11745bb105b436fb1890826e0d2b9ea31af27f735 ruby-2.4.2.tar.xz +# https://www.ruby-lang.org/en/news/2018/10/17/ruby-2-4-5-released/ +sha256 2f0cdcce9989f63ef7c2939bdb17b1ef244c4f384d85b8531d60e73d8cc31eeb ruby-2.4.5.tar.xz # License files, Locally calculated -sha256 5cda9584acd5e1096276a375085b7e659fa67a072fd69ec2c3931e54f7f563bb LEGAL +sha256 609292a6d848ab223073944fc2d844449391a5ba2055a8b5baf1726bc13b39cb LEGAL sha256 f5eb1b2956d5f7a67b2e5722a3749bc2fe86f9c580f2e3f5a08519cf073b5864 COPYING sha256 a5e3042dacb53eebda91f3b1caefbfec8307711df8c4ed1ed20e4e97c43307a4 BSDL diff --git a/buildroot/package/ruby/ruby.mk b/buildroot/package/ruby/ruby.mk index 365b8cead..3e71596bb 100644 --- a/buildroot/package/ruby/ruby.mk +++ b/buildroot/package/ruby/ruby.mk @@ -5,7 +5,7 @@ ################################################################################ RUBY_VERSION_MAJOR = 2.4 -RUBY_VERSION = $(RUBY_VERSION_MAJOR).2 +RUBY_VERSION = $(RUBY_VERSION_MAJOR).5 RUBY_VERSION_EXT = 2.4.0 RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR) RUBY_SOURCE = ruby-$(RUBY_VERSION).tar.xz diff --git a/buildroot/package/runc/runc.hash b/buildroot/package/runc/runc.hash index f403b6d9e..1636e5b8e 100644 --- a/buildroot/package/runc/runc.hash +++ b/buildroot/package/runc/runc.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 770e180d1cca1f3c1a67512ebf9720caafe97af4fc2fe12fa43a3cf7bfa77522 runc-v1.0.0-rc5.tar.gz +sha256 a221f8380e7b5806031f54d423af6dde24c305dad49868056cf70e5f5f4ef771 runc-v1.0.0-rc6.tar.gz +sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/buildroot/package/runc/runc.mk b/buildroot/package/runc/runc.mk index aa23fce3b..4bce0aa77 100644 --- a/buildroot/package/runc/runc.mk +++ b/buildroot/package/runc/runc.mk @@ -4,13 +4,16 @@ # ################################################################################ -RUNC_VERSION = v1.0.0-rc5 +# docker-engine/hack/dockerfile/install/runc.installer:4 RUNC_COMMIT=... +RUNC_VERSION = v1.0.0-rc6 RUNC_SITE = $(call github,opencontainers,runc,$(RUNC_VERSION)) RUNC_LICENSE = Apache-2.0 RUNC_LICENSE_FILES = LICENSE RUNC_WORKSPACE = Godeps/_workspace +RUNC_LDFLAGS = -X main.gitCommit=$(RUNC_VERSION) + RUNC_TAGS = cgo static_build apparmor ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) diff --git a/buildroot/package/rust-bin/rust-bin.hash b/buildroot/package/rust-bin/rust-bin.hash index d09654307..36f959f25 100644 --- a/buildroot/package/rust-bin/rust-bin.hash +++ b/buildroot/package/rust-bin/rust-bin.hash @@ -1,33 +1,33 @@ -# From https://static.rust-lang.org/dist/rustc-1.25.0-i686-unknown-linux-gnu.tar.xz.sha256 -sha256 2b9b7d1df84a2a591c7f02faf082045eb5520cec70162249f941d8da006e97ec rustc-1.25.0-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rustc-1.25.0-x86_64-unknown-linux-gnu.tar.xz.sha256 -sha256 f61766a970e067614037f2c788e3800d84b1bbc0c00c283ca0c6ecbc38559776 rustc-1.25.0-x86_64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-aarch64-unknown-linux-gnu.tar.xz.sha256 -sha256 a9257edc85e9159b5953a9d68a3c1fbfe1306e2a5b752284ee4e4410deb96d73 rust-std-1.25.0-aarch64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-arm-unknown-linux-gnueabi.tar.xz.sha256 -sha256 73ad54b1da0d100dc49e2a1ec425aecb6f38ffda334eb91fc6bb99fc30c301f5 rust-std-1.25.0-arm-unknown-linux-gnueabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-arm-unknown-linux-gnueabihf.tar.xz.sha256 -sha256 73bf215c2a5cc8068676f8d881a7464352e66f00946a0df81ac271fed16ebcfb rust-std-1.25.0-arm-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-armv7-unknown-linux-gnueabihf.tar.xz.sha256 -sha256 ebfb2a21b54d610c5454445380628854fc880c8f4f6add4ffac27db6aa65a1a6 rust-std-1.25.0-armv7-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-i686-unknown-linux-gnu.tar.xz.sha256 -sha256 6a6dba618372029f640d8a76342d957676cd9324084a1246ab6d5a89283e1d50 rust-std-1.25.0-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-mips-unknown-linux-gnu.tar.xz.sha256 -sha256 85774d422307499b120841c78de7e920f7d1bdb2b8a9aca29607be467c5de9a0 rust-std-1.25.0-mips-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-mips64-unknown-linux-gnuabi64.tar.xz.sha256 -sha256 51347ff3c2cf1a1c55c22a3fecba6b155841e2e5a86ff5a077a7e96de096ff19 rust-std-1.25.0-mips64-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-mips64el-unknown-linux-gnuabi64.tar.xz.sha256 -sha256 e18a7259e58798bcbd6ad68ade35ea46201b9f370f3d2ead2e3d293cb2938d60 rust-std-1.25.0-mips64el-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-mipsel-unknown-linux-gnu.tar.xz.sha256 -sha256 9e60e356bd755aa3525f3fc4327e5ef64103e1198b9fbba9ad874e49a66877d7 rust-std-1.25.0-mipsel-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-powerpc-unknown-linux-gnu.tar.xz.sha256 -sha256 6908b1819e6b64ce3a2cbc33cccca10afda686efa60d6d91d4ce19213912f87e rust-std-1.25.0-powerpc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-powerpc64-unknown-linux-gnu.tar.xz.sha256 -sha256 1ebe2c241514b41b492772eded30d6c601f41cd68e493cb31ebbdd39ffc5c2e9 rust-std-1.25.0-powerpc64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256 -sha256 28a6200b05b6ab870c0700eb371201f0790ca24e9b3b8982db62fd21c1e846e2 rust-std-1.25.0-powerpc64le-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.25.0-x86_64-unknown-linux-gnu.tar.xz.sha256 -sha256 30c724d3fa01eb7dd448ef4a1fe63f6caa59f70c250b7d2ec3ede6be29c2505f rust-std-1.25.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/buildroot/package/rust-bin/rust-bin.mk b/buildroot/package/rust-bin/rust-bin.mk index e10dbcebd..624ec94b4 100644 --- a/buildroot/package/rust-bin/rust-bin.mk +++ b/buildroot/package/rust-bin/rust-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUST_BIN_VERSION = 1.25.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,8 +14,11 @@ 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) @@ -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/buildroot/package/rust/rust.hash b/buildroot/package/rust/rust.hash index 495722e35..1caab5a4c 100644 --- a/buildroot/package/rust/rust.hash +++ b/buildroot/package/rust/rust.hash @@ -1,5 +1,5 @@ -# From https://static.rust-lang.org/dist/rustc-1.25.0-src.tar.xz.sha256 -sha256 14fcb82d5959df758aaf422539359300917217fa8420e34bd596e3fb6ed2de87 rustc-1.25.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/buildroot/package/rust/rust.mk b/buildroot/package/rust/rust.mk index af5c36649..bf110f8ad 100644 --- a/buildroot/package/rust/rust.mk +++ b/buildroot/package/rust/rust.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUST_VERSION = 1.25.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/buildroot/package/rustc/Config.in.host b/buildroot/package/rustc/Config.in.host index 1c79eeded..c58ffdf35 100644 --- a/buildroot/package/rustc/Config.in.host +++ b/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/buildroot/package/rustc/rustc.mk b/buildroot/package/rustc/rustc.mk index bed74f3c2..6eea9b4fc 100644 --- a/buildroot/package/rustc/rustc.mk +++ b/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/buildroot/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch b/buildroot/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch deleted file mode 100644 index 6e1f52871..000000000 --- a/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/buildroot/package/rygel/rygel.hash b/buildroot/package/rygel/rygel.hash index 879cbd714..0d8c95a69 100644 --- a/buildroot/package/rygel/rygel.hash +++ b/buildroot/package/rygel/rygel.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/rygel/0.36/rygel-0.36.1.sha256sum: -sha256 a67fdd801f6e4121ae44cfffabc0f35fff487cab173b6c6f052449ad7b5fb820 rygel-0.36.1.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/buildroot/package/rygel/rygel.mk b/buildroot/package/rygel/rygel.mk index d1bc30589..1f917b207 100644 --- a/buildroot/package/rygel/rygel.mk +++ b/buildroot/package/rygel/rygel.mk @@ -5,7 +5,7 @@ ################################################################################ RYGEL_VERSION_MAJOR = 0.36 -RYGEL_VERSION = $(RYGEL_VERSION_MAJOR).1 +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/buildroot/package/s6-linux-utils/0001-Include-sys-sysmacros.h-because-glibc-is-glibc.patch b/buildroot/package/s6-linux-utils/0001-Include-sys-sysmacros.h-because-glibc-is-glibc.patch new file mode 100644 index 000000000..ac31394f2 --- /dev/null +++ b/buildroot/package/s6-linux-utils/0001-Include-sys-sysmacros.h-because-glibc-is-glibc.patch @@ -0,0 +1,27 @@ +From bec661b6f037209c67fc7c9f022ee157c342ade6 Mon Sep 17 00:00:00 2001 +From: Laurent Bercot +Date: Thu, 5 Oct 2017 18:05:00 +0000 +Subject: [PATCH] Include sys/sysmacros.h because glibc is glibc + +Signed-off-by: Baruch Siach +--- +Upstream status: commit bec661b6f037 + + src/minutils/s6ps_ttycache.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/minutils/s6ps_ttycache.c b/src/minutils/s6ps_ttycache.c +index 7fa4bc09e624..319356044da9 100644 +--- a/src/minutils/s6ps_ttycache.c ++++ b/src/minutils/s6ps_ttycache.c +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.18.0 + diff --git a/buildroot/package/sam-ba/sam-ba.hash b/buildroot/package/sam-ba/sam-ba.hash index 61feb32d8..ae1fb5eec 100644 --- a/buildroot/package/sam-ba/sam-ba.hash +++ b/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/buildroot/package/sam-ba/sam-ba.mk b/buildroot/package/sam-ba/sam-ba.mk index 0d36b0dc5..49505589d 100644 --- a/buildroot/package/sam-ba/sam-ba.mk +++ b/buildroot/package/sam-ba/sam-ba.mk @@ -4,9 +4,9 @@ # ################################################################################ -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 \ diff --git a/buildroot/package/samba4/0001-libreplace-disable-libbsd-support.patch b/buildroot/package/samba4/0001-libreplace-disable-libbsd-support.patch index 4794cb02f..ae46c447f 100644 --- a/buildroot/package/samba4/0001-libreplace-disable-libbsd-support.patch +++ b/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/buildroot/package/samba4/0002-patch-source3__libads__kerberos_keytab.c.patch b/buildroot/package/samba4/0002-Fix-compilation-of-Samba-4.7.4-with-disabled-ADS.patch similarity index 58% rename from buildroot/package/samba4/0002-patch-source3__libads__kerberos_keytab.c.patch rename to buildroot/package/samba4/0002-Fix-compilation-of-Samba-4.7.4-with-disabled-ADS.patch index 1213659c8..45d3050a3 100644 --- a/buildroot/package/samba4/0002-patch-source3__libads__kerberos_keytab.c.patch +++ b/buildroot/package/samba4/0002-Fix-compilation-of-Samba-4.7.4-with-disabled-ADS.patch @@ -1,5 +1,7 @@ -From: Timur I. Bakeyev -Subject: Fix compilation of Samba 4.7.4 with disabled ADS +From da2f2cf8e7a1dfcb661b707e4649cec1e8a0e79c Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 9 Aug 2018 10:03:06 +0200 +Subject: [PATCH] Fix compilation of Samba 4.7.4 with disabled ADS Downloaded from upstream mailinglist https://lists.samba.org/archive/samba-technical/2017-December/124629.html @@ -8,9 +10,14 @@ Patch originates from FreeBSD: https://svnweb.freebsd.org/ports/head/net/samba47/files/patch-source3__libads__kerberos_keytab.c?revision=457119&view=markup Signed-off-by: Bernd Kuhls +--- + source3/libads/kerberos_keytab.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) ---- a/source3/libads/kerberos_keytab.c.orig 2017-12-23 14:23:53.247467000 +0100 -+++ b/source3/libads/kerberos_keytab.c 2017-12-23 18:57:07.135340000 +0100 +diff --git a/source3/libads/kerberos_keytab.c b/source3/libads/kerberos_keytab.c +index 37ac7ba985e..71250962090 100644 +--- a/source3/libads/kerberos_keytab.c ++++ b/source3/libads/kerberos_keytab.c @@ -32,8 +32,6 @@ #ifdef HAVE_KRB5 @@ -20,7 +27,7 @@ Signed-off-by: Bernd Kuhls /* This MAX_NAME_LEN is a constant defined in krb5.h */ #ifndef MAX_KEYTAB_NAME_LEN #define MAX_KEYTAB_NAME_LEN 1100 -@@ -85,6 +83,8 @@ +@@ -85,6 +83,8 @@ out: return ret; } @@ -29,3 +36,6 @@ Signed-off-by: Bernd Kuhls /********************************************************************** Adds a single service principal, i.e. 'host' to the system keytab ***********************************************************************/ +-- +2.14.4 + diff --git a/buildroot/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch b/buildroot/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch index 3b248e690..c1418bd88 100644 --- a/buildroot/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch +++ b/buildroot/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch @@ -1,7 +1,7 @@ -From 4a63f267efab2ef86adbeddda45909127135d7c8 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 1/1] Fix uClibc build on 64bit platforms by including stdint.h +Subject: [PATCH] Fix uClibc build on 64bit platforms by including stdint.h Fixes an error detected by buildroot autobuilders: http://autobuild.buildroot.net/results/573/573e2268e205e10d1352fa81122d8f225fdb4575/build-end.log @@ -20,15 +20,37 @@ define uintptr_t, this patch includes stdint.h when needed. 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, + 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 + - 3 files changed, 3 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 cf2288c7bce..4690594186e 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 @@ @@ -51,6 +73,54 @@ 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 ++++ b/libcli/auth/tests/ntlm_check.c +@@ -40,6 +40,7 @@ + */ + #include + #include ++#include + #include + #include + diff --git a/libcli/smb/test_smb1cli_session.c b/libcli/smb/test_smb1cli_session.c index d1e21d5431e..6a526c96b61 100644 --- a/libcli/smb/test_smb1cli_session.c @@ -62,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.11.0 +2.19.0 diff --git a/buildroot/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch b/buildroot/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch new file mode 100644 index 000000000..ad8712634 --- /dev/null +++ b/buildroot/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch @@ -0,0 +1,123 @@ +From 3cd608170b99492bdd5fe3b7b8e7db61af199845 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 9 Aug 2018 09:59:06 +0200 +Subject: [PATCH] Disable build of manpages and documentation + +This patch fixes a bug described in an upstream bug report +https://bugzilla.samba.org/show_bug.cgi?id=9515 +which was closed as WONTFIX by disabling the build of manpages and +documentation. + +If installed on the host, samba4 uses the docbook-xsl package to build +parts of the documentation. This package is broken, on Debian for +example the bug reported to samba4 was fixed in the docbook-xsl package: +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765567 + +Since we do not provide a host version of docbook-xsl we need to disable +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 | 40 ++++++++++++++++----------------- + source4/scripting/wscript_build | 4 ++-- + 3 files changed, 27 insertions(+), 27 deletions(-) + +diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py +index 4bb19d070e2..a255d841111 100644 +--- a/buildtools/wafsamba/wafsamba.py ++++ b/buildtools/wafsamba/wafsamba.py +@@ -335,9 +335,9 @@ def SAMBA_LIBRARY(bld, libname, source, + else: + bld.PKG_CONFIG_FILES(pc_files, vnum=vnum) + +- if (manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and +- bld.env['XSLTPROC_MANPAGES']): +- bld.MANPAGES(manpages, install) ++# if (manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and ++# bld.env['XSLTPROC_MANPAGES']): ++# bld.MANPAGES(manpages, install) + + + Build.BuildContext.SAMBA_LIBRARY = SAMBA_LIBRARY +@@ -442,8 +442,8 @@ def SAMBA_BINARY(bld, binname, source, + samba_ldflags = pie_ldflags + ) + +- if manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']: +- bld.MANPAGES(manpages, install) ++# if manpages is not None and 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']: ++# bld.MANPAGES(manpages, install) + + Build.BuildContext.SAMBA_BINARY = SAMBA_BINARY + +diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build +index ec5d28fc62a..f81c125bcd4 100644 +--- a/docs-xml/wscript_build ++++ b/docs-xml/wscript_build +@@ -148,23 +148,23 @@ bld.SAMBA_GENERATOR(parameter_all, + rule=smbdotconf_generate_parameter_list, + dep_vars=bld.dynconfig_varnames()) + +-def SMBDOTCONF_MANPAGE(bld, target): +- ''' assemble and build smb.conf.5 manual page''' +- bld.SAMBAMANPAGES(target, parameter_all) +- +-if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']): +- +- SMBDOTCONF_MANPAGE(bld, 'manpages/smb.conf.5') +- bld.SAMBAMANPAGES(manpages) +- +- if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'): +- bld.SAMBAMANPAGES(pam_winbind_manpages) +- +- 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): ++# ''' assemble and build smb.conf.5 manual page''' ++# bld.SAMBAMANPAGES(target, parameter_all) ++# ++#if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']): ++# ++# SMBDOTCONF_MANPAGE(bld, 'manpages/smb.conf.5') ++# bld.SAMBAMANPAGES(manpages) ++# ++# if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'): ++# bld.SAMBAMANPAGES(pam_winbind_manpages) ++# ++# 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 +index 2f53cce12b7..9841ae0a116 100644 +--- a/source4/scripting/wscript_build ++++ b/source4/scripting/wscript_build +@@ -12,8 +12,8 @@ if sbin_files: + bld.INSTALL_FILES('${SBINDIR}', + sbin_files, + chmod=MODE_755, python_fixup=True, flat=True) +- if 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']: +- bld.MANPAGES(man_files, True) ++# if 'XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']: ++# bld.MANPAGES(man_files, True) + + if bld.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'): + bld.INSTALL_FILES('${BINDIR}', +-- +2.18.0 + diff --git a/buildroot/package/samba4/0004-libgpo-fix-build-without-ads.patch b/buildroot/package/samba4/0004-libgpo-fix-build-without-ads.patch deleted file mode 100644 index 5e3af3c32..000000000 --- a/buildroot/package/samba4/0004-libgpo-fix-build-without-ads.patch +++ /dev/null @@ -1,49 +0,0 @@ -From a222b7506b53e689708834237f18877231dca589 Mon Sep 17 00:00:00 2001 -From: Volker Lendecke -Date: Sat, 3 Feb 2018 07:07:55 +0100 -Subject: [PATCH] libgpo: Fix the build --without-ads - -Signed-off-by: Volker Lendecke -Reviewed-by: David Disseldorp - -Autobuild-User(master): David Disseldorp -Autobuild-Date(master): Tue Feb 6 15:36:01 CET 2018 on sn-devel-144 - -Downloaded from upstream commit: -https://git.samba.org/samba.git/?p=samba.git;a=commit;h=a222b7506b53e689708834237f18877231dca589 - -Fixes https://bugzilla.samba.org/show_bug.cgi?id=13331 - -Signed-off-by: Bernd Kuhls ---- - libgpo/pygpo.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libgpo/pygpo.c b/libgpo/pygpo.c -index 7a02a0dc2aa..b6b53b76212 100644 ---- a/libgpo/pygpo.c -+++ b/libgpo/pygpo.c -@@ -319,6 +319,7 @@ static PyObject *py_gpo_get_sysvol_gpt_version(PyObject * self, - return result; - } - -+#ifdef HAVE_ADS - static ADS_STATUS find_samaccount(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, - const char *samaccountname, - uint32_t *uac_ret, const char **dn_ret) -@@ -468,11 +469,15 @@ static PyObject *py_ads_get_gpo_list(ADS *self, PyObject *args, PyObject *kwds) - return ret; - } - -+#endif -+ - static PyMethodDef ADS_methods[] = { - { "connect", (PyCFunction)py_ads_connect, METH_NOARGS, - "Connect to the LDAP server" }, -+#ifdef HAVE_ADS - { "get_gpo_list", (PyCFunction)py_ads_get_gpo_list, METH_KEYWORDS, - NULL }, -+#endif - { NULL } - }; - diff --git a/buildroot/package/samba4/Config.in b/buildroot/package/samba4/Config.in index 298fdc660..4ccd22aa2 100644 --- a/buildroot/package/samba4/Config.in +++ b/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/buildroot/package/samba4/samba4-cache.txt b/buildroot/package/samba4/samba4-cache.txt index 0485f0dbb..e3a3720fc 100644 --- a/buildroot/package/samba4/samba4-cache.txt +++ b/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/buildroot/package/samba4/samba4.hash b/buildroot/package/samba4/samba4.hash index 85d0e18b5..41c670059 100644 --- a/buildroot/package/samba4/samba4.hash +++ b/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.1.tar.asc -sha256 8ef7367507f16b7a5e2f6aed5bcdbd1143feca79aa2a07c9b21292b17d7f789d samba-4.8.1.tar.gz +# https://download.samba.org/pub/samba/stable/samba-4.9.3.tar.asc +sha256 cf8fd8707e9ad7bce7832006aac5644155165745ba371170661b3004fa2135cf samba-4.9.3.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/buildroot/package/samba4/samba4.mk b/buildroot/package/samba4/samba4.mk index b03af34cd..89e39dab5 100644 --- a/buildroot/package/samba4/samba4.mk +++ b/buildroot/package/samba4/samba4.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA4_VERSION = 4.8.1 +SAMBA4_VERSION = 4.9.3 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) @@ -150,13 +161,12 @@ define SAMBA4_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S91smb endef +ifeq ($(BR2_INIT_SYSTEMD),y) +SAMBA4_CONF_OPTS += --systemd-install-services +SAMBA4_DEPENDENCIES += systemd +endif + define SAMBA4_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 644 $(@D)/packaging/systemd/nmb.service \ - $(TARGET_DIR)/usr/lib/systemd/system/nmb.service - $(INSTALL) -D -m 644 $(@D)/packaging/systemd/smb.service \ - $(TARGET_DIR)/usr/lib/systemd/system/smb.service - $(INSTALL) -D -m 644 $(@D)/packaging/systemd/winbind.service \ - $(TARGET_DIR)/usr/lib/systemd/system/winbind.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants ln -sf ../../../../usr/lib/systemd/system/nmb.service \ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmb.service diff --git a/buildroot/package/sconeserver/Config.in b/buildroot/package/sconeserver/Config.in index 7027bd9a1..e984801de 100644 --- a/buildroot/package/sconeserver/Config.in +++ b/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/buildroot/package/sconeserver/sconeserver.hash b/buildroot/package/sconeserver/sconeserver.hash index 978b442f5..e1ff4486b 100644 --- a/buildroot/package/sconeserver/sconeserver.hash +++ b/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/buildroot/package/sconeserver/sconeserver.mk b/buildroot/package/sconeserver/sconeserver.mk index cf7bcbcb1..c160c8bf7 100644 --- a/buildroot/package/sconeserver/sconeserver.mk +++ b/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/buildroot/package/screen/0010-comm-h-now-depends-on-term-h.patch b/buildroot/package/screen/0010-comm-h-now-depends-on-term-h.patch new file mode 100644 index 000000000..6ff6f3da0 --- /dev/null +++ b/buildroot/package/screen/0010-comm-h-now-depends-on-term-h.patch @@ -0,0 +1,28 @@ +From 39c5f1c76f1fcef4b5958bf828a63f53426b6984 Mon Sep 17 00:00:00 2001 +From: Mike Gerwitz +Date: Tue, 24 Dec 2013 22:16:31 -0500 +Subject: comm.h now depends on term.h + +Signed-off-by: Fabrice Fontaine +[Patch retrieved and updated from: +http://git.savannah.gnu.org/cgit/screen.git/commit/?id=39c5f1c] +--- + src/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index e791e79..d4f7c0b 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -113,7 +113,7 @@ term.h: term.c term.sh + + kmapdef.c: term.h + +-comm.h: comm.c comm.sh config.h ++comm.h: comm.c comm.sh config.h term.h + AWK=$(AWK) CC="$(CC) $(CFLAGS)" srcdir=${srcdir} sh $(srcdir)/comm.sh + + docs: +-- +cgit v1.0-41-gc330 + diff --git a/buildroot/package/screen/0011-comm.h-needed-for-list_-display-generic-.o.patch b/buildroot/package/screen/0011-comm.h-needed-for-list_-display-generic-.o.patch new file mode 100644 index 000000000..f406a1afa --- /dev/null +++ b/buildroot/package/screen/0011-comm.h-needed-for-list_-display-generic-.o.patch @@ -0,0 +1,35 @@ +From b719314d201a3e9e1e57c65746a468c47bfc847f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 3 Oct 2018 22:29:32 +0200 +Subject: [PATCH] comm.h needed for list_{display,generic}.o + +comm.h is needed to build list_display.o and list_generic.o otherwise +parallel builds will sometimes fail + +Fixes: + - http://autobuild.buildroot.org/results/43105f14857dbe72d8878fc7b3db67f7bdca93cc + - http://autobuild.buildroot.org/results/47f4ecbec1355285633df287fc9c4e7cccde9378 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://savannah.gnu.org/bugs/index.php?54776] +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index af5938b..e6d5247 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -265,7 +265,7 @@ braille.h + viewport.o: layout.h viewport.h canvas.h viewport.c config.h screen.h os.h osdef.h ansi.h acls.h \ + comm.h layer.h term.h image.h display.h window.h extern.h \ + braille.h +-list_generic.o: list_generic.h list_generic.c layer.h screen.h osdef.h +-list_display.o: list_generic.h list_display.c layer.h screen.h osdef.h ++list_generic.o: list_generic.h list_generic.c layer.h screen.h osdef.h comm.h ++list_display.o: list_generic.h list_display.c layer.h screen.h osdef.h comm.h + list_window.o: list_generic.h list_window.c window.h layer.h screen.h osdef.h comm.h + +-- +2.17.1 + diff --git a/buildroot/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch b/buildroot/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch new file mode 100644 index 000000000..53926c03b --- /dev/null +++ b/buildroot/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch @@ -0,0 +1,42 @@ +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/buildroot/package/sed/sed.hash b/buildroot/package/sed/sed.hash index 652c57361..470e5f259 100644 --- a/buildroot/package/sed/sed.hash +++ b/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.5.tar.xz.sig +# with the key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE +sha256 7aad73c8839c2bdadca9476f884d2953cdace9567ecd0d90f9959f229d146b40 sed-4.5.tar.xz +# Locally calculated +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/buildroot/package/sed/sed.mk b/buildroot/package/sed/sed.mk index 28df140d3..4b2ed0313 100644 --- a/buildroot/package/sed/sed.mk +++ b/buildroot/package/sed/sed.mk @@ -4,7 +4,7 @@ # ################################################################################ -SED_VERSION = 4.4 +SED_VERSION = 4.5 SED_SOURCE = sed-$(SED_VERSION).tar.xz SED_SITE = $(BR2_GNU_MIRROR)/sed SED_LICENSE = GPL-3.0 diff --git a/buildroot/package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch b/buildroot/package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch new file mode 100644 index 000000000..9cf74b676 --- /dev/null +++ b/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/buildroot/package/sedutil/Config.in b/buildroot/package/sedutil/Config.in new file mode 100644 index 000000000..f3452b60f --- /dev/null +++ b/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/buildroot/package/sedutil/sedutil.hash b/buildroot/package/sedutil/sedutil.hash new file mode 100644 index 000000000..9db101137 --- /dev/null +++ b/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/buildroot/package/sedutil/sedutil.mk b/buildroot/package/sedutil/sedutil.mk new file mode 100644 index 000000000..c80e43448 --- /dev/null +++ b/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/buildroot/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch b/buildroot/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch deleted file mode 100644 index 156701a81..000000000 --- a/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/buildroot/package/selinux-python/selinux-python.hash b/buildroot/package/selinux-python/selinux-python.hash index 42fe575e7..99965004f 100644 --- a/buildroot/package/selinux-python/selinux-python.hash +++ b/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/buildroot/package/selinux-python/selinux-python.mk b/buildroot/package/selinux-python/selinux-python.mk index 25a2d0410..2de55f33c 100644 --- a/buildroot/package/selinux-python/selinux-python.mk +++ b/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/buildroot/package/semodule-utils/semodule-utils.hash b/buildroot/package/semodule-utils/semodule-utils.hash index 18c8217ca..be40918de 100644 --- a/buildroot/package/semodule-utils/semodule-utils.hash +++ b/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/buildroot/package/semodule-utils/semodule-utils.mk b/buildroot/package/semodule-utils/semodule-utils.mk index 8f07fa0a8..480e157c6 100644 --- a/buildroot/package/semodule-utils/semodule-utils.mk +++ b/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/buildroot/package/setools/setools.mk b/buildroot/package/setools/setools.mk index 1ed7e976d..63ca3651e 100644 --- a/buildroot/package/setools/setools.mk +++ b/buildroot/package/setools/setools.mk @@ -18,6 +18,7 @@ SETOOLS_PYLIBVER = python$(PYTHON3_VERSION_MAJOR) else SETOOLS_PYLIBVER = python$(PYTHON_VERSION_MAJOR) SETOOLS_DEPENDENCIES += python-enum34 +HOST_SETOOLS_DEPENDENCIES += host-python-enum34 endif define SETOOLS_FIX_SETUP diff --git a/buildroot/package/sg3_utils/sg3_utils.hash b/buildroot/package/sg3_utils/sg3_utils.hash index a884063f4..14b94947d 100644 --- a/buildroot/package/sg3_utils/sg3_utils.hash +++ b/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/buildroot/package/sg3_utils/sg3_utils.mk b/buildroot/package/sg3_utils/sg3_utils.mk index 88827f33b..0c17b30cd 100644 --- a/buildroot/package/sg3_utils/sg3_utils.mk +++ b/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) diff --git a/buildroot/package/shadowsocks-libev/Config.in b/buildroot/package/shadowsocks-libev/Config.in new file mode 100644 index 000000000..f58abdbcb --- /dev/null +++ b/buildroot/package/shadowsocks-libev/Config.in @@ -0,0 +1,22 @@ +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 + +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/buildroot/package/shadowsocks-libev/shadowsocks-libev.hash b/buildroot/package/shadowsocks-libev/shadowsocks-libev.hash new file mode 100644 index 000000000..fffe9fddf --- /dev/null +++ b/buildroot/package/shadowsocks-libev/shadowsocks-libev.hash @@ -0,0 +1,7 @@ +# Locally computed +sha256 5521cf623a07fd1e393528516a83acd2b66c5d4bb4535a52662806a6a060c606 shadowsocks-libev-3.2.0.tar.gz + +# License files, locally calculated +sha256 736883f97d44dbec288bb82819f18f4f86d02ae3192f6a9abefa00db76bace41 COPYING +sha256 c41a4bc2c4c43e4daa3051e77e31b2d5c8500498afaeac6d831d55a4bb8de3fb libbloom/LICENSE +sha256 4fa2ada54f8c0410ec243265378242ffe862386d5ac517f8dd30a1911d25ae93 libcork/COPYING diff --git a/buildroot/package/shadowsocks-libev/shadowsocks-libev.mk b/buildroot/package/shadowsocks-libev/shadowsocks-libev.mk new file mode 100644 index 000000000..caae2176b --- /dev/null +++ b/buildroot/package/shadowsocks-libev/shadowsocks-libev.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# shadowsocks-libev +# +################################################################################ + +SHADOWSOCKS_LIBEV_VERSION = 3.2.0 +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 +SHADOWSOCKS_LIBEV_CONF_OPTS = \ + --with-pcre=$(STAGING_DIR)/usr \ + --disable-ssp + +$(eval $(autotools-package)) diff --git a/buildroot/package/shairport-sync/0001-Sometimes-libsoxr-is-built-to-rely-on-libavutil.patch b/buildroot/package/shairport-sync/0001-Sometimes-libsoxr-is-built-to-rely-on-libavutil.patch new file mode 100644 index 000000000..32c52add3 --- /dev/null +++ b/buildroot/package/shairport-sync/0001-Sometimes-libsoxr-is-built-to-rely-on-libavutil.patch @@ -0,0 +1,63 @@ +From 5101ab2d13e2b89ea3c1276df5fb7413634eeccd Mon Sep 17 00:00:00 2001 +From: Mike Brady +Date: Sat, 25 Aug 2018 13:08:37 +0100 +Subject: [PATCH] Sometimes libsoxr is built to rely on libavutil. If libavutil + is detected, link to it when building libsoxr. Add pgk_config support to soxr + selection. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The Buildroot autobuilder detected a build issue [0] when building +shairport-sync statically: + +``` +arm-buildroot-linux-uclibcgnueabi/sysroot/usr//lib/libsoxr.a(soxr.c.o): In function `soxr_create': +soxr.c:(.text+0xd4c): undefined reference to `av_get_cpu_flags' +collect2: error: ld returned 1 exit status +``` + +A quick look at the soxr source code shows that `soxr_create()` might use +`av_get_cpu_flags()` depending on the architecture. + +For the sake of simplicity link with `-lavutil` if it is found when using soxr. + +Even better, as soxr provides a pkg-config file, this should be prefered. + +[0] http://autobuild.buildroot.org/results/53d/53d21686780aa2485745b59e812b6280dd39f1c5 + +Upstream status: 5101ab2d13e2b89ea3c1276df5fb7413634eeccd + +Signed-off-by: Jörg Krause +--- + configure.ac | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0c917a4..2b6fddb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -176,7 +176,20 @@ AC_ARG_WITH(ssl, [ choose --with-ssl=openssl, --with-ssl=mbedtls or --with-ssl=p + # Look for soxr flag + AC_ARG_WITH(soxr, [ --with-soxr = choose libsoxr for high-quality interpolation], [ + AC_MSG_RESULT(>>Including support for soxr-based interpolation) +- AC_CHECK_LIB([soxr],[soxr_create], , AC_MSG_ERROR(soxr support requested but libsoxr not found!))], ) ++ if test "x${with_pkg_config}" = xyes ; then ++ PKG_CHECK_MODULES( ++ [SOXR], [soxr], ++ [LIBS="${SOXR_LIBS} ${LIBS}"]) ++ else ++ AC_CHECK_LIB([avutil],[av_get_cpu_flags]) ++ if test "x${ac_cv_lib_avutil_av_get_cpu_flags}" = xyes ; then ++ # soxr may link against libavutil, depending on the architecture, but for the sake of simplicity link with it if it is found ++ AC_CHECK_LIB([soxr],[soxr_create], , AC_MSG_ERROR(soxr support requested but libsoxr not found!), [-lavutil]) ++ else ++ AC_CHECK_LIB([soxr],[soxr_create], , AC_MSG_ERROR(soxr support requested but libsoxr not found!)) ++ fi ++ fi ++], ) + + # Look for metadata flag -- set flag for conditional compilation + AC_ARG_WITH(metadata, [ --with-metadata = include support for a metadata feed], [ +-- +2.18.0 diff --git a/buildroot/package/shairport-sync/0002-Include-a-definition-of-HAVE_LIBSOXR-with-using-pkg_config.patch b/buildroot/package/shairport-sync/0002-Include-a-definition-of-HAVE_LIBSOXR-with-using-pkg_config.patch new file mode 100644 index 000000000..66ce961ab --- /dev/null +++ b/buildroot/package/shairport-sync/0002-Include-a-definition-of-HAVE_LIBSOXR-with-using-pkg_config.patch @@ -0,0 +1,35 @@ +From cd6a99a7cfde1c5e1c1cc74ee6a77041bb4012d9 Mon Sep 17 00:00:00 2001 +From: Mike Brady +Date: Sat, 8 Sep 2018 15:06:18 +0100 +Subject: [PATCH] Include a definition of HAVE_LIBSOXR with using pkg_config +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit e047dee241fe0660d92311a124757065c6c4c93d adds an upstream patch +to fix a build issue with soxr. The patch also adds detecting soxr +using pkg-config. Upstream detected a config issue [1], where the +resulting binary lacks soxr support, although libsoxr was correctly +detected. + +Backported from: cd6a99a7cfde1c5e1c1cc74ee6a77041bb4012d9 + +Signed-off-by: Jörg Krause +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index ceec4af..690a774 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -180,6 +180,7 @@ AC_ARG_WITH(soxr, [ --with-soxr = choose libsoxr for high-quality interpolation + PKG_CHECK_MODULES( + [SOXR], [soxr], + [LIBS="${SOXR_LIBS} ${LIBS}"]) ++ AC_DEFINE([HAVE_LIBSOXR],[1],[Define to 1 if you are including support for soxr interpolation]) + else + AC_CHECK_LIB([avutil],[av_get_cpu_flags]) + if test "x${ac_cv_lib_avutil_av_get_cpu_flags}" = xyes ; then +-- +2.18.0 diff --git a/buildroot/package/shairport-sync/shairport-sync.hash b/buildroot/package/shairport-sync/shairport-sync.hash index e0eea4c42..076f0a213 100644 --- a/buildroot/package/shairport-sync/shairport-sync.hash +++ b/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/buildroot/package/shairport-sync/shairport-sync.mk b/buildroot/package/shairport-sync/shairport-sync.mk index 53ebcc581..f1857b0da 100644 --- a/buildroot/package/shairport-sync/shairport-sync.mk +++ b/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/buildroot/package/shellinabox/0002-launcher.c-include-sys-ttydefaults.h.patch b/buildroot/package/shellinabox/0002-launcher.c-include-sys-ttydefaults.h.patch deleted file mode 100644 index caa545660..000000000 --- a/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/buildroot/package/shellinabox/shellinabox.hash b/buildroot/package/shellinabox/shellinabox.hash index 4bc110385..6e1920706 100644 --- a/buildroot/package/shellinabox/shellinabox.hash +++ b/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/buildroot/package/shellinabox/shellinabox.mk b/buildroot/package/shellinabox/shellinabox.mk index 1db62e609..70db551e3 100644 --- a/buildroot/package/shellinabox/shellinabox.mk +++ b/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/buildroot/package/smcroute/smcroute.hash b/buildroot/package/smcroute/smcroute.hash index 0487ef6ca..e5929bff7 100644 --- a/buildroot/package/smcroute/smcroute.hash +++ b/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/buildroot/package/smcroute/smcroute.mk b/buildroot/package/smcroute/smcroute.mk index e7e6ef152..aacf21138 100644 --- a/buildroot/package/smcroute/smcroute.mk +++ b/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/buildroot/package/snappy/snappy.hash b/buildroot/package/snappy/snappy.hash index 71a2500f8..e9ac4324c 100644 --- a/buildroot/package/snappy/snappy.hash +++ b/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/buildroot/package/snappy/snappy.mk b/buildroot/package/snappy/snappy.mk index a537ade57..74d398de8 100644 --- a/buildroot/package/snappy/snappy.mk +++ b/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/buildroot/package/spandsp/Config.in b/buildroot/package/spandsp/Config.in new file mode 100644 index 000000000..a2d5b85d7 --- /dev/null +++ b/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/buildroot/package/spandsp/spandsp.hash b/buildroot/package/spandsp/spandsp.hash new file mode 100644 index 000000000..1123e29c1 --- /dev/null +++ b/buildroot/package/spandsp/spandsp.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 0fcdda74bd9703dd66c3e9721bf2d81bd7c185c539d1887768c2b332ab703d51 spandsp-20180108.tar.gz +sha256 366576cb0b869cd9e95a4882878607314650488ac635e5df0692180382e9666a COPYING diff --git a/buildroot/package/spandsp/spandsp.mk b/buildroot/package/spandsp/spandsp.mk new file mode 100644 index 000000000..e02c15a77 --- /dev/null +++ b/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/buildroot/package/speex/0001-thumb2-support.patch b/buildroot/package/speex/0001-thumb2-support.patch index b6f736929..092fa1325 100644 --- a/buildroot/package/speex/0001-thumb2-support.patch +++ b/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/buildroot/package/speex/speex.hash b/buildroot/package/speex/speex.hash index c38a0a7b2..f5235d626 100644 --- a/buildroot/package/speex/speex.hash +++ b/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/buildroot/package/speex/speex.mk b/buildroot/package/speex/speex.mk index 3c188b631..522f8cc09 100644 --- a/buildroot/package/speex/speex.mk +++ b/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 diff --git a/buildroot/package/speexdsp/0001-port-resample-neon-to-aarch64.patch b/buildroot/package/speexdsp/0001-port-resample-neon-to-aarch64.patch new file mode 100644 index 000000000..7f3da9c40 --- /dev/null +++ b/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/buildroot/package/speexdsp/Config.in b/buildroot/package/speexdsp/Config.in new file mode 100644 index 000000000..2ae5b59d0 --- /dev/null +++ b/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/buildroot/package/speexdsp/speexdsp.hash b/buildroot/package/speexdsp/speexdsp.hash new file mode 100644 index 000000000..5c3d6b96f --- /dev/null +++ b/buildroot/package/speexdsp/speexdsp.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 e896489e045d11933723a94b9dd6f8e7d3d4e0d4b34c9612bcb2f4204261130c speexdsp-20ed3452074664ad07e380e51321b148acebdf20.tar.gz +sha256 671bb5d8fd3c6b05a2e831d90f978ac27965c92bd8ea6d16b3df76e3440c0e9f COPYING diff --git a/buildroot/package/speexdsp/speexdsp.mk b/buildroot/package/speexdsp/speexdsp.mk new file mode 100644 index 000000000..09c828568 --- /dev/null +++ b/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/buildroot/package/spi-tools/spi-tools.hash b/buildroot/package/spi-tools/spi-tools.hash index 25c73814b..8fe2d3e6b 100644 --- a/buildroot/package/spi-tools/spi-tools.hash +++ b/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/buildroot/package/spi-tools/spi-tools.mk b/buildroot/package/spi-tools/spi-tools.mk index e5f3774b5..d21e4d64d 100644 --- a/buildroot/package/spi-tools/spi-tools.mk +++ b/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/buildroot/package/spice-protocol/spice-protocol.hash b/buildroot/package/spice-protocol/spice-protocol.hash index c75c095cb..e72bb2d71 100644 --- a/buildroot/package/spice-protocol/spice-protocol.hash +++ b/buildroot/package/spice-protocol/spice-protocol.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 788f0d7195bec5b14371732b562eb55ca82712aab12273b0e87529fb30532efb spice-protocol-0.12.10.tar.bz2 +sha256 20350bc4309039fdf0d29ee4fd0033cde27bccf33501e13b3c1befafde9d0c9c spice-protocol-0.12.14.tar.bz2 diff --git a/buildroot/package/spice-protocol/spice-protocol.mk b/buildroot/package/spice-protocol/spice-protocol.mk index dcc6feeb1..7392e9533 100644 --- a/buildroot/package/spice-protocol/spice-protocol.mk +++ b/buildroot/package/spice-protocol/spice-protocol.mk @@ -4,7 +4,7 @@ # ################################################################################ -SPICE_PROTOCOL_VERSION = 0.12.10 +SPICE_PROTOCOL_VERSION = 0.12.14 SPICE_PROTOCOL_SOURCE = spice-protocol-$(SPICE_PROTOCOL_VERSION).tar.bz2 SPICE_PROTOCOL_SITE = http://www.spice-space.org/download/releases SPICE_PROTOCOL_LICENSE = BSD-3-Clause diff --git a/buildroot/package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch b/buildroot/package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch deleted file mode 100644 index 57a64d96b..000000000 --- a/buildroot/package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 1c6517973095a67c8cb57f3550fc1298404ab556 Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Tue, 13 Dec 2016 14:39:48 +0000 -Subject: [PATCH] Prevent possible DoS attempts during protocol handshake - -The limit for link message is specified using a 32 bit unsigned integer. -This could cause possible DoS due to excessive memory allocations and -some possible crashes. -For instance a value >= 2^31 causes a spice_assert to be triggered in -async_read_handler (reds-stream.c) due to an integer overflow at this -line: - - int n = async->end - async->now; - -This could be easily triggered with a program like - - #!/usr/bin/env python - - import socket - import time - from struct import pack - - server = '127.0.0.1' - port = 5900 - - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.connect((server, port)) - data = pack('<4sIII', 'REDQ', 2, 2, 0xaaaaaaaa) - s.send(data) - - time.sleep(1) - -without requiring any authentication (the same can be done -with TLS). - -[Peter: fixes CVE-2016-9578] -Signed-off-by: Frediano Ziglio -Acked-by: Christophe Fergeau -Signed-off-by: Peter Korsgaard ---- - server/reds.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/server/reds.c b/server/reds.c -index f40b65c1..86a33d53 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -2202,7 +2202,8 @@ static void reds_handle_read_header_done(void *opaque) - - reds->peer_minor_version = header->minor_version; - -- if (header->size < sizeof(SpiceLinkMess)) { -+ /* the check for 4096 is to avoid clients to cause arbitrary big memory allocations */ -+ if (header->size < sizeof(SpiceLinkMess) || header->size > 4096) { - reds_send_link_error(link, SPICE_LINK_ERR_INVALID_DATA); - spice_warning("bad size %u", header->size); - reds_link_free(link); --- -2.11.0 - diff --git a/buildroot/package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch b/buildroot/package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch deleted file mode 100644 index 5bf9b89d1..000000000 --- a/buildroot/package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch +++ /dev/null @@ -1,43 +0,0 @@ -From f66dc643635518e53dfbe5262f814a64eec54e4a Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Tue, 13 Dec 2016 14:40:10 +0000 -Subject: [PATCH] Prevent integer overflows in capability checks - -The limits for capabilities are specified using 32 bit unsigned integers. -This could cause possible integer overflows causing buffer overflows. -For instance the sum of num_common_caps and num_caps can be 0 avoiding -additional checks. -As the link message is now capped to 4096 and the capabilities are -contained in the link message limit the capabilities to 1024 -(capabilities are expressed in number of uint32_t items). - -[Peter: fixes CVE-2016-9578] -Signed-off-by: Frediano Ziglio -Acked-by: Christophe Fergeau -Signed-off-by: Peter Korsgaard ---- - server/reds.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/server/reds.c b/server/reds.c -index 86a33d53..91504544 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -2110,6 +2110,14 @@ static void reds_handle_read_link_done(void *opaque) - link_mess->num_channel_caps = GUINT32_FROM_LE(link_mess->num_channel_caps); - link_mess->num_common_caps = GUINT32_FROM_LE(link_mess->num_common_caps); - -+ /* Prevent DoS. Currently we defined only 13 capabilities, -+ * I expect 1024 to be valid for quite a lot time */ -+ if (link_mess->num_channel_caps > 1024 || link_mess->num_common_caps > 1024) { -+ reds_send_link_error(link, SPICE_LINK_ERR_INVALID_DATA); -+ reds_link_free(link); -+ return; -+ } -+ - num_caps = link_mess->num_common_caps + link_mess->num_channel_caps; - caps = (uint32_t *)((uint8_t *)link_mess + link_mess->caps_offset); - --- -2.11.0 - diff --git a/buildroot/package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch b/buildroot/package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch deleted file mode 100644 index f602d5f3b..000000000 --- a/buildroot/package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5f96b596353d73bdf4bb3cd2de61e48a7fd5b4c3 Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Tue, 29 Nov 2016 16:46:56 +0000 -Subject: [PATCH] main-channel: Prevent overflow reading messages from client - -Caller is supposed the function return a buffer able to store -size bytes. - -[Peter: fixes CVE-2016-9577] -Signed-off-by: Frediano Ziglio -Acked-by: Christophe Fergeau -Signed-off-by: Peter Korsgaard ---- - server/main_channel.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/server/main_channel.c b/server/main_channel.c -index 0ecc9df8..1fc39155 100644 ---- a/server/main_channel.c -+++ b/server/main_channel.c -@@ -1026,6 +1026,9 @@ static uint8_t *main_channel_alloc_msg_rcv_buf(RedChannelClient *rcc, - - if (type == SPICE_MSGC_MAIN_AGENT_DATA) { - return reds_get_agent_data_buffer(mcc, size); -+ } else if (size > sizeof(main_chan->recv_buf)) { -+ /* message too large, caller will log a message and close the connection */ -+ return NULL; - } else { - return main_chan->recv_buf; - } --- -2.11.0 - diff --git a/buildroot/package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch b/buildroot/package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch deleted file mode 100644 index 070259f2b..000000000 --- a/buildroot/package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch +++ /dev/null @@ -1,75 +0,0 @@ -From f1e7ec03e26ab6b8ca9b7ec060846a5b706a963d Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Mon, 15 May 2017 15:57:28 +0100 -Subject: [PATCH] reds: Disconnect when receiving overly big - ClientMonitorsConfig - -Total message size received from the client was unlimited. There is -a 2kiB size check on individual agent messages, but the MonitorsConfig -message can be split in multiple chunks, and the size of the -non-chunked MonitorsConfig message was never checked. This could easily -lead to memory exhaustion on the host. - -Signed-off-by: Frediano Ziglio -Signed-off-by: Peter Korsgaard ---- - server/reds.c | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -diff --git a/server/reds.c b/server/reds.c -index f439a366..7be85fdf 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -993,19 +993,34 @@ static void reds_client_monitors_config_cleanup(void) - static void reds_on_main_agent_monitors_config( - MainChannelClient *mcc, void *message, size_t size) - { -+ const unsigned int MAX_MONITORS = 256; -+ const unsigned int MAX_MONITOR_CONFIG_SIZE = -+ sizeof(VDAgentMonitorsConfig) + MAX_MONITORS * sizeof(VDAgentMonConfig); -+ - VDAgentMessage *msg_header; - VDAgentMonitorsConfig *monitors_config; - RedsClientMonitorsConfig *cmc = &reds->client_monitors_config; - -+ // limit size of message sent by the client as this can cause a DoS through -+ // memory exhaustion, or potentially some integer overflows -+ if (sizeof(VDAgentMessage) + MAX_MONITOR_CONFIG_SIZE - cmc->buffer_size < size) { -+ goto overflow; -+ } - cmc->buffer_size += size; - cmc->buffer = realloc(cmc->buffer, cmc->buffer_size); - spice_assert(cmc->buffer); - cmc->mcc = mcc; - memcpy(cmc->buffer + cmc->buffer_pos, message, size); - cmc->buffer_pos += size; -+ if (sizeof(VDAgentMessage) > cmc->buffer_size) { -+ spice_debug("not enough data yet. %d", cmc->buffer_size); -+ return; -+ } - msg_header = (VDAgentMessage *)cmc->buffer; -- if (sizeof(VDAgentMessage) > cmc->buffer_size || -- msg_header->size > cmc->buffer_size - sizeof(VDAgentMessage)) { -+ if (msg_header->size > MAX_MONITOR_CONFIG_SIZE) { -+ goto overflow; -+ } -+ if (msg_header->size > cmc->buffer_size - sizeof(VDAgentMessage)) { - spice_debug("not enough data yet. %d", cmc->buffer_size); - return; - } -@@ -1013,6 +1028,12 @@ static void reds_on_main_agent_monitors_config( - spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); - red_dispatcher_client_monitors_config(monitors_config); - reds_client_monitors_config_cleanup(); -+ return; -+ -+overflow: -+ spice_warning("received invalid MonitorsConfig request from client, disconnecting"); -+ red_channel_client_disconnect(main_channel_client_get_base(mcc)); -+ reds_client_monitors_config_cleanup(); - } - - void reds_on_main_agent_data(MainChannelClient *mcc, void *message, size_t size) --- -2.11.0 - diff --git a/buildroot/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch b/buildroot/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch deleted file mode 100644 index 98740520c..000000000 --- a/buildroot/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ec6229c79abe05d731953df5f7e9a05ec9f6df79 Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Mon, 15 May 2017 15:57:28 +0100 -Subject: [PATCH] reds: Avoid integer overflows handling monitor - configuration - -Avoid VDAgentMessage::size integer overflows. - -Signed-off-by: Frediano Ziglio -Signed-off-by: Peter Korsgaard ---- - server/reds.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/server/reds.c b/server/reds.c -index 7be85fdf..e1c8c108 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -1024,6 +1024,9 @@ static void reds_on_main_agent_monitors_config( - spice_debug("not enough data yet. %d", cmc->buffer_size); - return; - } -+ if (msg_header->size < sizeof(VDAgentMonitorsConfig)) { -+ goto overflow; -+ } - monitors_config = (VDAgentMonitorsConfig *)(cmc->buffer + sizeof(*msg_header)); - spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); - red_dispatcher_client_monitors_config(monitors_config); --- -2.11.0 - diff --git a/buildroot/package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch b/buildroot/package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch deleted file mode 100644 index 212645b44..000000000 --- a/buildroot/package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch +++ /dev/null @@ -1,48 +0,0 @@ -From a957a90baf2c62d31f3547e56bba7d0e812d2331 Mon Sep 17 00:00:00 2001 -From: Frediano Ziglio -Date: Mon, 15 May 2017 15:57:28 +0100 -Subject: [PATCH] reds: Avoid buffer overflows handling monitor - configuration - -It was also possible for a malicious client to set -VDAgentMonitorsConfig::num_of_monitors to a number larger -than the actual size of VDAgentMOnitorsConfig::monitors. -This would lead to buffer overflows, which could allow the guest to -read part of the host memory. This might cause write overflows in the -host as well, but controlling the content of such buffers seems -complicated. - -Signed-off-by: Frediano Ziglio -Signed-off-by: Peter Korsgaard ---- - server/reds.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/server/reds.c b/server/reds.c -index e1c8c108..3a42c375 100644 ---- a/server/reds.c -+++ b/server/reds.c -@@ -1000,6 +1000,7 @@ static void reds_on_main_agent_monitors_config( - VDAgentMessage *msg_header; - VDAgentMonitorsConfig *monitors_config; - RedsClientMonitorsConfig *cmc = &reds->client_monitors_config; -+ uint32_t max_monitors; - - // limit size of message sent by the client as this can cause a DoS through - // memory exhaustion, or potentially some integer overflows -@@ -1028,6 +1029,12 @@ static void reds_on_main_agent_monitors_config( - goto overflow; - } - monitors_config = (VDAgentMonitorsConfig *)(cmc->buffer + sizeof(*msg_header)); -+ // limit the monitor number to avoid buffer overflows -+ max_monitors = (msg_header->size - sizeof(VDAgentMonitorsConfig)) / -+ sizeof(VDAgentMonConfig); -+ if (monitors_config->num_of_monitors > max_monitors) { -+ goto overflow; -+ } - spice_debug("%s: %d", __func__, monitors_config->num_of_monitors); - red_dispatcher_client_monitors_config(monitors_config); - reds_client_monitors_config_cleanup(); --- -2.11.0 - diff --git a/buildroot/package/spice/spice.hash b/buildroot/package/spice/spice.hash index c9b591f41..1a25926ab 100644 --- a/buildroot/package/spice/spice.hash +++ b/buildroot/package/spice/spice.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 f901a5c5873d61acac84642f9eea5c4d6386fc3e525c2b68792322794e1c407d spice-0.12.8.tar.bz2 +sha256 1ead5de63d06eededed4017db37240f07bef0abffbaf621899647e7e685a1519 spice-0.14.1.tar.bz2 diff --git a/buildroot/package/spice/spice.mk b/buildroot/package/spice/spice.mk index 7b09f39fe..16e57441a 100644 --- a/buildroot/package/spice/spice.mk +++ b/buildroot/package/spice/spice.mk @@ -4,13 +4,14 @@ # ################################################################################ -SPICE_VERSION = 0.12.8 +SPICE_VERSION = 0.14.1 SPICE_SOURCE = spice-$(SPICE_VERSION).tar.bz2 -SPICE_SITE = http://www.spice-space.org/download/releases +SPICE_SITE = http://www.spice-space.org/download/releases/spice-server SPICE_LICENSE = LGPL-2.1+ SPICE_LICENSE_FILES = COPYING SPICE_INSTALL_STAGING = YES SPICE_DEPENDENCIES = \ + host-pkgconf \ jpeg \ libglib2 \ openssl \ @@ -20,9 +21,9 @@ SPICE_DEPENDENCIES = \ # We disable everything for now, because the dependency tree can become # quite deep if we try to enable some features, and I have not tested that. SPICE_CONF_OPTS = \ + --disable-gstreamer \ --disable-opengl \ --disable-smartcard \ - --disable-automated-tests \ --without-sasl \ --disable-manual @@ -42,6 +43,13 @@ else SPICE_CONF_OPTS += --disable-lz4 endif +ifeq ($(BR2_PACKAGE_OPUS),y) +SPICE_CONF_OPTS += --enable-opus +SPICE_DEPENDENCIES += opus +else +SPICE_CONF_OPTS += --disable-opus +endif + # no enable/disable, detected using pkg-config ifeq ($(BR2_PACKAGE_OPUS),y) SPICE_DEPENDENCIES += opus diff --git a/buildroot/package/sqlite/sqlite.hash b/buildroot/package/sqlite/sqlite.hash index 2aac7dc1d..eefa31ffb 100644 --- a/buildroot/package/sqlite/sqlite.hash +++ b/buildroot/package/sqlite/sqlite.hash @@ -1,6 +1,6 @@ -# From http://www.sqlite.org/download.html -sha1 2fb24ec12001926d5209d2da90d252b9825366ac sqlite-autoconf-3220000.tar.gz +# From https://www.sqlite.org/download.html +sha1 aedfbdc14eb700099434d6a743135743cff47393 sqlite-autoconf-3250200.tar.gz # Calculated based on the hash above -sha256 2824ab1238b706bc66127320afbdffb096361130e23291f26928a027b885c612 sqlite-autoconf-3220000.tar.gz +sha256 da9a1484423d524d3ac793af518cdf870c8255d209e369bd6a193e9f9d0e3181 sqlite-autoconf-3250200.tar.gz # Locally calculated sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 tea/license.terms diff --git a/buildroot/package/sqlite/sqlite.mk b/buildroot/package/sqlite/sqlite.mk index 5ae17e17f..34a0b9538 100644 --- a/buildroot/package/sqlite/sqlite.mk +++ b/buildroot/package/sqlite/sqlite.mk @@ -4,9 +4,9 @@ # ################################################################################ -SQLITE_VERSION = 3220000 +SQLITE_VERSION = 3250200 SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VERSION).tar.gz -SQLITE_SITE = http://www.sqlite.org/2018 +SQLITE_SITE = https://www.sqlite.org/2018 SQLITE_LICENSE = Public domain SQLITE_LICENSE_FILES = tea/license.terms SQLITE_INSTALL_STAGING = YES @@ -54,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/buildroot/package/squashfs/0001-include-sysmacros.patch b/buildroot/package/squashfs/0001-include-sysmacros.patch new file mode 100644 index 000000000..d794836c0 --- /dev/null +++ b/buildroot/package/squashfs/0001-include-sysmacros.patch @@ -0,0 +1,47 @@ +From 968aa53dd6d2c0831a9af01873441767c06b88d0 Mon Sep 17 00:00:00 2001 +From: Thomas De Schampheleire +Date: Wed, 1 Aug 2018 12:17:10 +0200 +Subject: [PATCH] mksquashfs/unsquashfs: fix compilation with glibc 2.25+ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From glibc 2.25 release notes: +https://sourceware.org/ml/libc-alpha/2017-02/msg00079.html +"* The inclusion of by is deprecated. + This means that in a future release, the macros “major”, “minor”, and + “makedev” will only be available from ." + +See glibc bug https://sourceware.org/bugzilla/show_bug.cgi?id=19239 . + +Fetch from: https://github.com/plougher/squashfs-tools/pull/52.patch +Signed-off-by: Richard Kunze +--- + squashfs-tools/mksquashfs.c | 1 + + squashfs-tools/unsquashfs.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c +index d696a51..8d57c3e 100644 +--- a/squashfs-tools/mksquashfs.c ++++ b/squashfs-tools/mksquashfs.c +@@ -35,6 +35,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/squashfs-tools/unsquashfs.c b/squashfs-tools/unsquashfs.c +index a57f85c..a492b27 100644 +--- a/squashfs-tools/unsquashfs.c ++++ b/squashfs-tools/unsquashfs.c +@@ -33,6 +33,7 @@ + #include "fnmatch_compat.h" + + #include ++#include + #include + #include + #include diff --git a/buildroot/package/squeezelite/0003-ffmpeg_2_9.patch b/buildroot/package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch similarity index 80% rename from buildroot/package/squeezelite/0003-ffmpeg_2_9.patch rename to buildroot/package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch index f69b829b3..74d8f1be5 100644 --- a/buildroot/package/squeezelite/0003-ffmpeg_2_9.patch +++ b/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/buildroot/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch b/buildroot/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch new file mode 100644 index 000000000..25a5db3ca --- /dev/null +++ b/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/buildroot/package/squeezelite/squeezelite.hash b/buildroot/package/squeezelite/squeezelite.hash index 1dbb4c155..d56f5da66 100644 --- a/buildroot/package/squeezelite/squeezelite.hash +++ b/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/buildroot/package/squid/0001-assume-get-certificate-ok.patch b/buildroot/package/squid/0001-assume-get-certificate-ok.patch deleted file mode 100644 index e26b50d7b..000000000 --- a/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/buildroot/package/squid/0001-configure.ac-use-pkg-config-to-find-libxml2.patch b/buildroot/package/squid/0001-configure.ac-use-pkg-config-to-find-libxml2.patch new file mode 100644 index 000000000..cc1a9f058 --- /dev/null +++ b/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/buildroot/package/squid/0002-missing-include-time_h.patch b/buildroot/package/squid/0002-missing-include-time_h.patch deleted file mode 100644 index 18b3ab3b5..000000000 --- a/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/buildroot/package/squid/0003-ESI-make-sure-endofName-never-exceeds-tagEnd-130.patch b/buildroot/package/squid/0003-ESI-make-sure-endofName-never-exceeds-tagEnd-130.patch deleted file mode 100644 index 6e71677a1..000000000 --- a/buildroot/package/squid/0003-ESI-make-sure-endofName-never-exceeds-tagEnd-130.patch +++ /dev/null @@ -1,35 +0,0 @@ -From eb2db98a676321b814fc4a51c4fb7928a8bb45d9 Mon Sep 17 00:00:00 2001 -From: Amos Jeffries -Date: Fri, 19 Jan 2018 13:54:14 +1300 -Subject: [PATCH] ESI: make sure endofName never exceeds tagEnd (#130) - -Signed-off-by: Peter Korsgaard ---- - src/esi/CustomParser.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/esi/CustomParser.cc b/src/esi/CustomParser.cc -index d86d2d309..db634d921 100644 ---- a/src/esi/CustomParser.cc -+++ b/src/esi/CustomParser.cc -@@ -121,7 +121,7 @@ ESICustomParser::parse(char const *dataToParse, size_t const lengthOfData, bool - - char * endofName = strpbrk(const_cast(tag), w_space); - -- if (endofName > tagEnd) -+ if (!endofName || endofName > tagEnd) - endofName = const_cast(tagEnd); - - *endofName = '\0'; -@@ -214,7 +214,7 @@ ESICustomParser::parse(char const *dataToParse, size_t const lengthOfData, bool - - char * endofName = strpbrk(const_cast(tag), w_space); - -- if (endofName > tagEnd) -+ if (!endofName || endofName > tagEnd) - endofName = const_cast(tagEnd); - - *endofName = '\0'; --- -2.11.0 - diff --git a/buildroot/package/squid/0004-Fix-indirect-IP-logging-for-transactions-without-a-c.patch b/buildroot/package/squid/0004-Fix-indirect-IP-logging-for-transactions-without-a-c.patch deleted file mode 100644 index 51fff3003..000000000 --- a/buildroot/package/squid/0004-Fix-indirect-IP-logging-for-transactions-without-a-c.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 8232b83d3fa47a1399f155cb829db829369fbae9 Mon Sep 17 00:00:00 2001 -From: squidadm -Date: Sun, 21 Jan 2018 08:07:08 +1300 -Subject: [PATCH] Fix indirect IP logging for transactions without a client - connection (#129) (#136) - -Signed-off-by: Peter Korsgaard ---- - src/client_side_request.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/client_side_request.cc b/src/client_side_request.cc -index be124f355..203f89d46 100644 ---- a/src/client_side_request.cc -+++ b/src/client_side_request.cc -@@ -488,9 +488,9 @@ clientFollowXForwardedForCheck(allow_t answer, void *data) - * Ensure that the access log shows the indirect client - * instead of the direct client. - */ -- ConnStateData *conn = http->getConn(); -- conn->log_addr = request->indirect_client_addr; -- http->al->cache.caddr = conn->log_addr; -+ http->al->cache.caddr = request->indirect_client_addr; -+ if (ConnStateData *conn = http->getConn()) -+ conn->log_addr = request->indirect_client_addr; - } - request->x_forwarded_for_iterator.clean(); - request->flags.done_follow_x_forwarded_for = true; --- -2.11.0 - diff --git a/buildroot/package/squid/Config.in b/buildroot/package/squid/Config.in index 141a5029d..50f65de43 100644 --- a/buildroot/package/squid/Config.in +++ b/buildroot/package/squid/Config.in @@ -1,13 +1,17 @@ -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_GCC_BUG_64735 || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 config BR2_PACKAGE_SQUID bool "squid" 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/buildroot/package/squid/squid.hash b/buildroot/package/squid/squid.hash index 8787cb25e..5e872707c 100644 --- a/buildroot/package/squid/squid.hash +++ b/buildroot/package/squid/squid.hash @@ -1,5 +1,6 @@ -# From http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.27.tar.xz.asc -md5 39ef8199675d48a314b540f92c00c545 squid-3.5.27.tar.xz -sha1 1e69c96d13cd49844da3bcf33a0b428fbe7b6f77 squid-3.5.27.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 58f5d05257af1fb964fde20e134d660fac9afa86b6fd8c70d63ead63068378fa COPYING +sha256 4905e6da7f5574d2583ba36f398bb062a12d51e70d67035078b6e85b09e9ee82 squid-4.4.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/buildroot/package/squid/squid.mk b/buildroot/package/squid/squid.mk index 2d21ad885..d6f186d97 100644 --- a/buildroot/package/squid/squid.mk +++ b/buildroot/package/squid/squid.mk @@ -4,15 +4,14 @@ # ################################################################################ -SQUID_VERSION_MAJOR = 3.5 -SQUID_VERSION = $(SQUID_VERSION_MAJOR).27 +SQUID_VERSION = 4.4 SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz -SQUID_SITE = http://www.squid-cache.org/Versions/v3/$(SQUID_VERSION_MAJOR) +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 \ @@ -25,7 +24,7 @@ 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 \ diff --git a/buildroot/package/start-stop-daemon/start-stop-daemon.mk b/buildroot/package/start-stop-daemon/start-stop-daemon.mk index 7071f5617..01a671976 100644 --- a/buildroot/package/start-stop-daemon/start-stop-daemon.mk +++ b/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/buildroot/package/strace/0001-m68k-fix-build.patch b/buildroot/package/strace/0001-m68k-fix-build.patch deleted file mode 100644 index 9675eaaa3..000000000 --- a/buildroot/package/strace/0001-m68k-fix-build.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Wed, 21 Feb 2018 23:03:27 +0000 -Subject: [PATCH] m68k: fix build - -When is included after , the build fails -on m68k with the following diagnostics: - - In file included from /usr/include/linux/ptrace.h:101:0, - from ptrace.h:51, - from sigreturn.c:2: - /usr/include/m68k-linux-gnu/sys/reg.h:26:3: error: expected identifier - before numeric constant - PT_D1 = 0, - ^ - -Apparently, the only architecture where strace needs definitions -provided by is x86_64, other three (m68k, tile, and x86) -are fine with definitions already provided by . - -Fix the issue by getting rid of and defining necessary -macros in linux/x86_64/arch_regs.h file. - -* configure.ac (AC_CHECK_HEADERS): Remove sys/reg.h. -* regs.h: Do not include . -* linux/x86_64/arch_regs.h (R15, R14, R13, R12, RBP, RBX, R11, R10, -R9, R8, RAX, RCX, RDX, RSI, RDI, ORIG_RAX, RIP, CS, EFLAGS, RSP, SS, -FS_BASE, GS_BASE, DS, ES, FS, GS): New macros. -* NEWS: Mention this fix. - -Fixes: v4.21~21 ("Include early") -[baruch: drop the NEWS and configure.ac hunks] -Signed-off-by: Baruch Siach ---- -Upstream status: commit 6ebf6c4f9e5e - - NEWS | 3 +++ - configure.ac | 1 - - linux/x86_64/arch_regs.h | 29 +++++++++++++++++++++++++++++ - regs.h | 5 ----- - 4 files changed, 32 insertions(+), 6 deletions(-) - -diff --git a/linux/x86_64/arch_regs.h b/linux/x86_64/arch_regs.h -index c2ccee671d4f..d502ca4bf202 100644 ---- a/linux/x86_64/arch_regs.h -+++ b/linux/x86_64/arch_regs.h -@@ -1,2 +1,31 @@ - extern uint32_t *const i386_esp_ptr; - extern uint64_t *const x86_64_rsp_ptr; -+ -+/* does not provide these definitions. */ -+#define R15 0 -+#define R14 1 -+#define R13 2 -+#define R12 3 -+#define RBP 4 -+#define RBX 5 -+#define R11 6 -+#define R10 7 -+#define R9 8 -+#define R8 9 -+#define RAX 10 -+#define RCX 11 -+#define RDX 12 -+#define RSI 13 -+#define RDI 14 -+#define ORIG_RAX 15 -+#define RIP 16 -+#define CS 17 -+#define EFLAGS 18 -+#define RSP 19 -+#define SS 20 -+#define FS_BASE 21 -+#define GS_BASE 22 -+#define DS 23 -+#define ES 24 -+#define FS 25 -+#define GS 26 -diff --git a/regs.h b/regs.h -index d89581d7dd3f..7a044cef8fbf 100644 ---- a/regs.h -+++ b/regs.h -@@ -2,11 +2,6 @@ - #define STRACE_REGS_H - - #include -- --#ifdef HAVE_SYS_REG_H --# include --#endif -- - #include "arch_regs.h" - - #endif /* !STRACE_REGS_H */ --- -2.17.0 - diff --git a/buildroot/package/strace/strace.hash b/buildroot/package/strace/strace.hash index 21da83058..c6450b1c5 100644 --- a/buildroot/package/strace/strace.hash +++ b/buildroot/package/strace/strace.hash @@ -1,4 +1,4 @@ -# Locally calculated after checking signature -# https://strace.io/files/4.21/strace-4.21.tar.xz.asc -sha256 5c7688db44073e94c59a5627744e5699454419824cc8166e8bcfd7ec58375c37 strace-4.21.tar.xz -sha256 ea7ff222f36c9df0aa2924a8f7c7d2aec3ea11e752feba4b15ec79b695b6236a COPYING +# Locally calculated after checking signature with RSA key 0xA8041FA839E16E36 +# https://strace.io/files/4.23/strace-4.23.tar.xz +sha256 7860a6965f1dd832747bd8281a04738274398d32c56e9fbd0a68b1bb9ec09aad strace-4.23.tar.xz +sha256 df862ba273812c589fd69acc74197a25d38c5295baccab00a62d39d1894c0253 COPYING diff --git a/buildroot/package/strace/strace.mk b/buildroot/package/strace/strace.mk index 1cb0c88c4..471dbc2e1 100644 --- a/buildroot/package/strace/strace.mk +++ b/buildroot/package/strace/strace.mk @@ -4,7 +4,7 @@ # ################################################################################ -STRACE_VERSION = 4.21 +STRACE_VERSION = 4.23 STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz STRACE_SITE = https://strace.io/files/$(STRACE_VERSION) STRACE_LICENSE = BSD-3-Clause @@ -26,6 +26,14 @@ 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 + define STRACE_REMOVE_STRACE_GRAPH rm -f $(TARGET_DIR)/usr/bin/strace-graph endef diff --git a/buildroot/package/stress-ng/stress-ng.hash b/buildroot/package/stress-ng/stress-ng.hash index e735439a7..e0185fad1 100644 --- a/buildroot/package/stress-ng/stress-ng.hash +++ b/buildroot/package/stress-ng/stress-ng.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 0e1d7733b35f594f7461dedbf836bd4966d0611da4cd4e85cde4804d2a425e6d stress-ng-0.06.15.tar.gz +sha256 485f6e7384614fd96955bea4d1f79cd75f8be7e8da30cb3a7e8724ff7b75cd9c stress-ng-0.09.39.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/buildroot/package/stress-ng/stress-ng.mk b/buildroot/package/stress-ng/stress-ng.mk index 794e87554..26e100f45 100644 --- a/buildroot/package/stress-ng/stress-ng.mk +++ b/buildroot/package/stress-ng/stress-ng.mk @@ -4,7 +4,8 @@ # ################################################################################ -STRESS_NG_VERSION = 0.06.15 +STRESS_NG_VERSION = 0.09.39 +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+ STRESS_NG_LICENSE_FILES = COPYING diff --git a/buildroot/package/strongswan/0001-af_alg-fix-crypt-definition-conflict.patch b/buildroot/package/strongswan/0001-af_alg-fix-crypt-definition-conflict.patch deleted file mode 100644 index 442e53eb9..000000000 --- a/buildroot/package/strongswan/0001-af_alg-fix-crypt-definition-conflict.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 0b906cb025a506be1b73e5b485179585d1a90be2 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Thu, 11 May 2017 14:04:47 +0300 -Subject: [PATCH] af_alg: fix crypt() definition conflict - -Rename the crypt() method to avoid conflict with POSIX crypt(). Fixes the -following build failure with musl libc: - -In file included from ../../../../src/libstrongswan/utils/utils.h:53:0, - from ../../../../src/libstrongswan/library.h:101, - from af_alg_ops.h:24, - from af_alg_ops.c:16: -af_alg_ops.c:110:22: error: conflicting types for 'crypt' - METHOD(af_alg_ops_t, crypt, bool, - ^ -../../../../src/libstrongswan/utils/utils/object.h:99:13: note: in definition of macro 'METHOD' - static ret name(union {iface *_public; this;} \ - ^ -In file included from af_alg_ops.c:18:0: -.../host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/unistd.h:144:7: note: previous declaration of 'crypt' was here - char *crypt(const char *, const char *); - ^ - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/strongswan/strongswan/pull/72 - - src/libstrongswan/plugins/af_alg/af_alg_ops.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/libstrongswan/plugins/af_alg/af_alg_ops.c b/src/libstrongswan/plugins/af_alg/af_alg_ops.c -index 331d1e8010aa..452cd1ac30c9 100644 ---- a/src/libstrongswan/plugins/af_alg/af_alg_ops.c -+++ b/src/libstrongswan/plugins/af_alg/af_alg_ops.c -@@ -107,7 +107,7 @@ METHOD(af_alg_ops_t, hash, bool, - return TRUE; - } - --METHOD(af_alg_ops_t, crypt, bool, -+METHOD(af_alg_ops_t, crypt_, bool, - private_af_alg_ops_t *this, u_int32_t type, chunk_t iv, chunk_t data, - char *out) - { -@@ -224,7 +224,7 @@ af_alg_ops_t *af_alg_ops_create(char *type, char *alg) - .public = { - .hash = _hash, - .reset = _reset, -- .crypt = _crypt, -+ .crypt = _crypt_, - .set_key = _set_key, - .destroy = _destroy, - }, --- -2.11.0 - diff --git a/buildroot/package/strongswan/0002-strongswan-add-missing-include-of-stdint.h.patch b/buildroot/package/strongswan/0002-strongswan-add-missing-include-of-stdint.h.patch deleted file mode 100644 index d5ca690b2..000000000 --- a/buildroot/package/strongswan/0002-strongswan-add-missing-include-of-stdint.h.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a8fd708ce89d5ffb64a5e8873d49a55094dde898 Mon Sep 17 00:00:00 2001 -From: Matt Weber -Date: Mon, 2 Oct 2017 10:16:36 -0500 -Subject: [PATCH] strongswan: add missing include of stdint.h - -Recent releases of glibc don't include the full stdint.h -header in some network headers included by utils.h. -Upstream is targetting a 5.6.1 release of the fix. - -Ustream: https://wiki.strongswan.org/issues/2425 - -Signed-off-by: Matthew Weber ---- - src/libstrongswan/utils/utils/memory.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/libstrongswan/utils/utils/memory.h b/src/libstrongswan/utils/utils/memory.h -index aef318f..c11624d 100644 ---- a/src/libstrongswan/utils/utils/memory.h -+++ b/src/libstrongswan/utils/utils/memory.h -@@ -14,6 +14,8 @@ - * for more details. - */ - -+#include /* for uintptr_t */ -+ - /** - * @defgroup memory_i memory - * @{ @ingroup utils_i --- -1.9.1 - diff --git a/buildroot/package/strongswan/strongswan.hash b/buildroot/package/strongswan/strongswan.hash index 820c71284..4d1a593a5 100644 --- a/buildroot/package/strongswan/strongswan.hash +++ b/buildroot/package/strongswan/strongswan.hash @@ -1,10 +1,9 @@ -# From http://download.strongswan.org/strongswan-5.4.0.tar.bz2.md5 -md5 9d7c77b0da9b69f859624897e5e9ebbf strongswan-5.4.0.tar.bz2 +# From http://download.strongswan.org/strongswan-5.6.3.tar.bz2.md5 +md5 a6a28eeb22aa58080a7581771a5b63f9 strongswan-5.6.3.tar.bz2 # Calculated based on the hash above -sha256 f8288faaea6a9cd8a7d413c0b76b7922be5da3dfcd01fd05cb30d2c55d3bbe89 strongswan-5.4.0.tar.bz2 +sha256 c3c7dc8201f40625bba92ffd32eb602a8909210d8b3fac4d214c737ce079bf24 strongswan-5.6.3.tar.bz2 # Locally calculated -sha256 f5ba7f46cf7ae81dd81bc86f9e4cfa0c5c7c6987149b3bc9c0b8bf08598a1063 strongswan-4.4.0-5.5.2_gmp_mpz_powm_sec.patch -sha256 03db8c7a4133e877e8992e155c046dd27ec4810d50f239abf55595f0280caf31 strongswan-5.0.0-5.5.2_asn1_choice.patch -sha256 c80e02c9a5eeaf10f0a8bdde3be6375dd2833e515af03dad3a700e93c4fd041a strongswan-4.4.0-5.5.3_gmp_mpz_export.patch +sha256 e66c243593ee0713f5fd13bcd7f624bc50eebc54bf87f790ced429ff698077e7 strongswan-5.6.1-5.6.3_gmp-pkcs1-verify.patch +sha256 415d104717cb0781770e9077d00b3df310b11e65e4b9c1d35b62fbba04549263 strongswan-4.4.0-5.7.0_gmp-pkcs1-overflow.patch sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 2292e21797754548dccdef9eef6aee7584e552fbd890fa914e1de8d3577d23f0 LICENSE diff --git a/buildroot/package/strongswan/strongswan.mk b/buildroot/package/strongswan/strongswan.mk index 65618af33..021a59cec 100644 --- a/buildroot/package/strongswan/strongswan.mk +++ b/buildroot/package/strongswan/strongswan.mk @@ -4,16 +4,16 @@ # ################################################################################ -STRONGSWAN_VERSION = 5.4.0 +STRONGSWAN_VERSION = 5.6.3 STRONGSWAN_SOURCE = strongswan-$(STRONGSWAN_VERSION).tar.bz2 STRONGSWAN_SITE = http://download.strongswan.org STRONGSWAN_PATCH = \ - $(STRONGSWAN_SITE)/patches/21_gmp_mpz_powm_sec_patch/strongswan-4.4.0-5.5.2_gmp_mpz_powm_sec.patch \ - $(STRONGSWAN_SITE)/patches/22_asn1_choice_patch/strongswan-5.0.0-5.5.2_asn1_choice.patch \ - $(STRONGSWAN_SITE)/patches/23_gmp_mpz_export_patch/strongswan-4.4.0-5.5.3_gmp_mpz_export.patch + $(STRONGSWAN_SITE)/patches/27_gmp_pkcs1_verify_patch/strongswan-5.6.1-5.6.3_gmp-pkcs1-verify.patch \ + $(STRONGSWAN_SITE)/patches/28_gmp_pkcs1_overflow_patch/strongswan-4.4.0-5.7.0_gmp-pkcs1-overflow.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 \ @@ -40,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/buildroot/package/sunxi-mali-mainline-driver/Config.in b/buildroot/package/sunxi-mali-mainline-driver/Config.in index c939d2a95..057f20db6 100644 --- a/buildroot/package/sunxi-mali-mainline-driver/Config.in +++ b/buildroot/package/sunxi-mali-mainline-driver/Config.in @@ -14,7 +14,7 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER 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/free-electrons/mali-blobs + https://github.com/bootlin/mali-blobs sunxi-mali-mainline-driver requires a Linux kernel >= 4.4 with the following options enabled: diff --git a/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash b/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash new file mode 100644 index 000000000..8a89d80d8 --- /dev/null +++ b/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 5e3bf2007c9b5201207f436f37c96f1386b81798288b8fef0ee35c71a1cadb5b sunxi-mali-mainline-driver-143ff2b17de63ce931c4f758771969e75c09a4c7.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk b/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk index 24817b07c..c7f294cbf 100644 --- a/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk +++ b/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk @@ -4,14 +4,15 @@ # ################################################################################ -SUNXI_MALI_MAINLINE_DRIVER_VERSION = 52ef1c5e133cc5fd791ca636239dc5e7b19c26d5 +SUNXI_MALI_MAINLINE_DRIVER_VERSION = 143ff2b17de63ce931c4f758771969e75c09a4c7 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 = \ - KDIR=$(LINUX_DIR) \ - CROSS_COMPILE=$(TARGET_CROSS) \ - INSTALL_MOD_PATH=$(TARGET_DIR) + $(LINUX_MAKE_FLAGS) \ + KDIR=$(LINUX_DIR) define SUNXI_MALI_MAINLINE_DRIVER_USE_APPLY_PATCHES ln -sf $(SUNXI_MALI_MAINLINE_REV)/series $(@D)/patches diff --git a/buildroot/package/sunxi-mali-mainline/Config.in b/buildroot/package/sunxi-mali-mainline/Config.in index 759bed86b..a2fb95bd7 100644 --- a/buildroot/package/sunxi-mali-mainline/Config.in +++ b/buildroot/package/sunxi-mali-mainline/Config.in @@ -1,14 +1,13 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE bool "sunxi-mali-mainline" - depends on BR2_arm - depends on BR2_ARM_EABIHF + 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/free-electrons/mali-blobs + https://github.com/bootlin/mali-blobs if BR2_PACKAGE_SUNXI_MALI_MAINLINE @@ -26,12 +25,15 @@ choice 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 diff --git a/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.hash b/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.hash new file mode 100644 index 000000000..978be0102 --- /dev/null +++ b/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/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.mk index 933e2beb0..701a1fbbb 100644 --- a/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.mk +++ b/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.mk @@ -4,20 +4,29 @@ # ################################################################################ -SUNXI_MALI_MAINLINE_VERSION = cb3e8ece9b2c3a70cbeb3204cd6f30eceaa32023 -SUNXI_MALI_MAINLINE_SITE = $(call github,free-electrons,mali-blobs,$(SUNXI_MALI_MAINLINE_VERSION)) +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)/fbdev/lib/lib_fb_dev/* \ + cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \ $(STAGING_DIR)/usr/lib/ - cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/fbdev/include/* \ - $(STAGING_DIR)/usr/include/ + 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 @@ -27,8 +36,14 @@ endef define SUNXI_MALI_MAINLINE_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/usr/lib - cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/fbdev/lib/lib_fb_dev/* \ + 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/buildroot/package/supertuxkart/0001-Fix-3091.patch b/buildroot/package/supertuxkart/0001-Fix-3091.patch new file mode 100644 index 000000000..dae2a37ce --- /dev/null +++ b/buildroot/package/supertuxkart/0001-Fix-3091.patch @@ -0,0 +1,59 @@ +From 813b08bc73e4e93714b972ee56c64b4771735e01 Mon Sep 17 00:00:00 2001 +From: Benau +Date: Sun, 14 Jan 2018 10:19:37 +0800 +Subject: [PATCH] Fix #3091 + +Signed-off-by: Fabrice Fontaine + #define CPU_MMX_SUPPORT (1) + #endif +-#if __SSE__ || _M_X64 || _M_IX86_FP >= 1 || CPU_ENABLE_SSE ++#if __SSE__ || defined(_M_X64) || ( defined(_M_IX86_FP) && ( _M_IX86_FP >= 1 ) ) || CPU_ENABLE_SSE + #include + #define CPU_SSE_SUPPORT (1) + #endif +-#if __SSE2__ || _M_X64 || _M_IX86_FP >= 2 || CPU_ENABLE_SSE2 ++#if __SSE2__ || defined(_M_X64) || ( defined(_M_IX86_FP) && ( _M_IX86_FP >= 2 ) ) || CPU_ENABLE_SSE2 + #include + #define CPU_SSE2_SUPPORT (1) + #endif +@@ -95,23 +95,23 @@ + #define CPU_POPCNT_SUPPORT (1) + #endif + #if __LZCNT__ || CPU_ENABLE_LZCNT +- #include ++ #include + #define CPU_LZCNT_SUPPORT (1) + #endif + #if __F16C__ || CPU_ENABLE_F16C +- #include ++ #include + #define CPU_F16C_SUPPORT (1) + #endif + #if __BMI__ || CPU_ENABLE_BMI +- #include ++ #include + #define CPU_BMI_SUPPORT (1) + #endif + #if __BMI2__ || CPU_ENABLE_BMI2 +- #include ++ #include + #define CPU_BMI2_SUPPORT (1) + #endif + #if __TBM__ || CPU_ENABLE_TBM +- #include ++ #include + #define CPU_TBM_SUPPORT (1) + #endif + diff --git a/buildroot/package/swig/Config.in.host b/buildroot/package/swig/Config.in.host new file mode 100644 index 000000000..fd2049d30 --- /dev/null +++ b/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/buildroot/package/sylpheed/sylpheed.hash b/buildroot/package/sylpheed/sylpheed.hash index 39c092773..08a5d0a22 100644 --- a/buildroot/package/sylpheed/sylpheed.hash +++ b/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/buildroot/package/sylpheed/sylpheed.mk b/buildroot/package/sylpheed/sylpheed.mk index 14107f0a6..0453fba52 100644 --- a/buildroot/package/sylpheed/sylpheed.mk +++ b/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/buildroot/package/synergy/0001-allow-building-of-synergy-without-tests.patch b/buildroot/package/synergy/0001-allow-building-of-synergy-without-tests.patch deleted file mode 100644 index 0c550eec1..000000000 --- a/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/buildroot/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch b/buildroot/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch deleted file mode 100644 index a261b6b10..000000000 --- a/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/buildroot/package/synergy/Config.in b/buildroot/package/synergy/Config.in index 3bb8b8e98..c1216c4ba 100644 --- a/buildroot/package/synergy/Config.in +++ b/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/buildroot/package/synergy/synergy.hash b/buildroot/package/synergy/synergy.hash index 52f9d74d6..664855fa3 100644 --- a/buildroot/package/synergy/synergy.hash +++ b/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/buildroot/package/synergy/synergy.mk b/buildroot/package/synergy/synergy.mk index 76a4004f0..46c4fbb1e 100644 --- a/buildroot/package/synergy/synergy.mk +++ b/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/buildroot/package/sysdig/Config.in b/buildroot/package/sysdig/Config.in index 6ccb706a5..672c44d21 100644 --- a/buildroot/package/sysdig/Config.in +++ b/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/buildroot/package/sysdig/sysdig.hash b/buildroot/package/sysdig/sysdig.hash index 63a9e385d..565b1e982 100644 --- a/buildroot/package/sysdig/sysdig.hash +++ b/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/buildroot/package/sysdig/sysdig.mk b/buildroot/package/sysdig/sysdig.mk index a9c9f21bb..9ac990e3e 100644 --- a/buildroot/package/sysdig/sysdig.mk +++ b/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/buildroot/package/sysklogd/sysklogd.mk b/buildroot/package/sysklogd/sysklogd.mk index 1c8259a9a..c4f064c10 100644 --- a/buildroot/package/sysklogd/sysklogd.mk +++ b/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" \ diff --git a/buildroot/package/syslog-ng/syslog-ng.mk b/buildroot/package/syslog-ng/syslog-ng.mk index 2b6f2c09e..793fea097 100644 --- a/buildroot/package/syslog-ng/syslog-ng.mk +++ b/buildroot/package/syslog-ng/syslog-ng.mk @@ -17,11 +17,6 @@ SYSLOG_NG_CONF_ENV = LIBS=-lrt 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 diff --git a/buildroot/package/sysstat/sysstat.hash b/buildroot/package/sysstat/sysstat.hash index a35631076..3bbefac18 100644 --- a/buildroot/package/sysstat/sysstat.hash +++ b/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/buildroot/package/sysstat/sysstat.mk b/buildroot/package/sysstat/sysstat.mk index bdc0610ea..490e8f1b2 100644 --- a/buildroot/package/sysstat/sysstat.mk +++ b/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/buildroot/package/systemd/0001-fix-getty-unit.patch b/buildroot/package/systemd/0001-fix-getty-unit.patch index b6947626c..d546e1ab3 100644 --- a/buildroot/package/systemd/0001-fix-getty-unit.patch +++ b/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 %I 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/buildroot/package/systemd/0002-install-don-t-use-ln-relative.patch b/buildroot/package/systemd/0002-install-don-t-use-ln-relative.patch index 61a139e2a..a024ac4a2 100644 --- a/buildroot/package/systemd/0002-install-don-t-use-ln-relative.patch +++ b/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 +@@ -559,7 +559,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/buildroot/package/systemd/0003-build-sys-Detect-whether-struct-statx-is-defined-in-.patch b/buildroot/package/systemd/0003-build-sys-Detect-whether-struct-statx-is-defined-in-.patch new file mode 100644 index 000000000..d849659c7 --- /dev/null +++ b/buildroot/package/systemd/0003-build-sys-Detect-whether-struct-statx-is-defined-in-.patch @@ -0,0 +1,111 @@ +From ebe5606eadb1241796ba9747d8e357bd6b3e912e Mon Sep 17 00:00:00 2001 +From: Filipe Brandenburger +Date: Sun, 15 Jul 2018 22:43:35 -0700 +Subject: [PATCH] build-sys: Detect whether struct statx is defined in + sys/stat.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Starting with glibc 2.27.9000-36.fc29, include file sys/stat.h will have a +definition for struct statx, in which case include file linux/stat.h should be +avoided, in order to prevent a duplicate definition. + + In file included from ../src/basic/missing.h:18, + from ../src/basic/util.h:28, + from ../src/basic/hashmap.h:10, + from ../src/shared/bus-util.h:12, + from ../src/libsystemd/sd-bus/bus-creds.c:11: + /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 ../src/basic/util.h:19, + from ../src/basic/hashmap.h:10, + from ../src/shared/bus-util.h:12, + from ../src/libsystemd/sd-bus/bus-creds.c:11: + /usr/include/bits/statx.h:36:8: note: originally defined here + struct statx + ^~~~~ + +Extend our meson.build to look for struct statx when only sys/stat.h is +included and, in that case, do not include linux/stat.h anymore. + +Tested that systemd builds correctly when using a glibc version that includes a +definition for struct statx. + +glibc Fedora RPM update: +https://src.fedoraproject.org/rpms/glibc/c/28cb5d31fc1e5887912283c889689c47076278ae + +glibc upstream commit: +https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=fd70af45528d59a00eb3190ef6706cb299488fcd + +(cherry picked from commit 75720bff62a84896e9a0654afc7cf9408cf89a38) +Signed-off-by: Romain Naour +--- + meson.build | 5 +++++ + src/basic/missing.h | 5 ++++- + src/basic/xattr-util.c | 1 - + 3 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 04331dd41..a0e724070 100644 +--- a/meson.build ++++ b/meson.build +@@ -425,6 +425,7 @@ decl_headers = ''' + #include + ''' + # FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail ++# FIXME: these should use -D_GNU_SOURCE, since that is defined at build time + + foreach decl : ['char16_t', + 'char32_t', +@@ -439,6 +440,10 @@ foreach decl : ['char16_t', + conf.set10('HAVE_' + decl.underscorify().to_upper(), have) + endforeach + ++conf.set10('HAVE_STRUCT_STATX_IN_SYS_STAT_H', cc.sizeof('struct statx', prefix : ''' ++#include ++''', args : '-D_GNU_SOURCE') > 0) ++ + foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'], + ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'], + ['IFLA_VRF_TABLE', 'linux/if_link.h'], +diff --git a/src/basic/missing.h b/src/basic/missing.h +index 71a07d057..14ad3d491 100644 +--- a/src/basic/missing.h ++++ b/src/basic/missing.h +@@ -15,7 +15,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -25,6 +24,10 @@ + #include + #include + ++#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H ++#include ++#endif ++ + #if HAVE_AUDIT + #include + #endif +diff --git a/src/basic/xattr-util.c b/src/basic/xattr-util.c +index c5c55ea84..0ee097983 100644 +--- a/src/basic/xattr-util.c ++++ b/src/basic/xattr-util.c +@@ -2,7 +2,6 @@ + + #include + #include +-#include + #include + #include + #include +-- +2.14.4 + diff --git a/buildroot/package/systemd/0003-fix-am-path-libgcrypt-no-found.patch b/buildroot/package/systemd/0003-fix-am-path-libgcrypt-no-found.patch deleted file mode 100644 index 1861a4212..000000000 --- a/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/buildroot/package/systemd/0004-core-dont-include-libmount-h-in-a-header-file.patch b/buildroot/package/systemd/0004-core-dont-include-libmount-h-in-a-header-file.patch deleted file mode 100644 index b91d09722..000000000 --- a/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/buildroot/package/systemd/0004-meson-unify-linux-stat.h-check-with-other-checks-and.patch b/buildroot/package/systemd/0004-meson-unify-linux-stat.h-check-with-other-checks-and.patch new file mode 100644 index 000000000..70c35c66e --- /dev/null +++ b/buildroot/package/systemd/0004-meson-unify-linux-stat.h-check-with-other-checks-and.patch @@ -0,0 +1,77 @@ +From 17bd864a04a0583cfb343c5621b591bdd76d79ad Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 18 Jul 2018 17:26:17 +0200 +Subject: [PATCH] meson: unify linux/stat.h check with other checks and use + _GNU_SOURCE + +Using _GNU_SOURCE is better because that's how we include the headers in the +actual build, and some headers define different stuff when it is defined. +sys/stat.h for example defines 'struct statx' conditionally. + +(cherry picked from commit 9c869d08d82c73f62ab3527567858ce4b0cf1257) +Signed-off-by: Romain Naour +--- + meson.build | 20 ++++++++++++++------ + src/basic/missing.h | 2 +- + 2 files changed, 15 insertions(+), 7 deletions(-) + +diff --git a/meson.build b/meson.build +index a0e724070..5dcabdc6c 100644 +--- a/meson.build ++++ b/meson.build +@@ -421,11 +421,9 @@ decl_headers = ''' + #include + #include + #include +-#include + #include + ''' + # FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail +-# FIXME: these should use -D_GNU_SOURCE, since that is defined at build time + + foreach decl : ['char16_t', + 'char32_t', +@@ -436,13 +434,23 @@ foreach decl : ['char16_t', + ] + + # We get -1 if the size cannot be determined +- have = cc.sizeof(decl, prefix : decl_headers) > 0 ++ have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') > 0 ++ ++ if decl == 'struct statx' ++ if have ++ want_linux_stat_h = false ++ else ++ have = cc.sizeof(decl, ++ prefix : decl_headers + '#include ', ++ args : '-D_GNU_SOURCE') > 0 ++ want_linux_stat_h = have ++ endif ++ endif ++ + conf.set10('HAVE_' + decl.underscorify().to_upper(), have) + endforeach + +-conf.set10('HAVE_STRUCT_STATX_IN_SYS_STAT_H', cc.sizeof('struct statx', prefix : ''' +-#include +-''', args : '-D_GNU_SOURCE') > 0) ++conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h) + + foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'], + ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'], +diff --git a/src/basic/missing.h b/src/basic/missing.h +index 14ad3d491..9044683b1 100644 +--- a/src/basic/missing.h ++++ b/src/basic/missing.h +@@ -24,7 +24,7 @@ + #include + #include + +-#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H ++#if WANT_LINUX_STAT_H + #include + #endif + +-- +2.14.4 + diff --git a/buildroot/package/systemd/0005-basic-macros-rename-noreturn.patch b/buildroot/package/systemd/0005-basic-macros-rename-noreturn.patch deleted file mode 100644 index 6cd847098..000000000 --- a/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/buildroot/package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch b/buildroot/package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch new file mode 100644 index 000000000..6a72a3898 --- /dev/null +++ b/buildroot/package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch @@ -0,0 +1,30 @@ +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/buildroot/package/systemd/0006-meson.build-fix-detection-of-Werror-shadow.patch b/buildroot/package/systemd/0006-meson.build-fix-detection-of-Werror-shadow.patch new file mode 100644 index 000000000..0aa318920 --- /dev/null +++ b/buildroot/package/systemd/0006-meson.build-fix-detection-of-Werror-shadow.patch @@ -0,0 +1,34 @@ +From 7bd6e6db3dbb980c099b444c61d9aff7fcc636cf Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 29 Nov 2018 13:22:08 +0100 +Subject: [PATCH] meson.build: fix detection of -Werror=shadow + +Pass -Werror=shadow in args of cc.compiles otherwise test will always +succeed +This fix a build failure with gcc 4.7.3 + +Fixes: + - http://autobuild.buildroot.org/results/ffd71c473d3b29618c18cd2e04705370266696f2 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/10993] +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 37ae27b4a..980150ac8 100644 +--- a/meson.build ++++ b/meson.build +@@ -396,7 +396,7 @@ if cc.compiles(''' + struct timespec now; + return 0; + } +-''', name : '-Werror=shadow with local shadowing') ++''', args: '-Werror=shadow', name : '-Werror=shadow with local shadowing') + add_project_arguments('-Werror=shadow', language : 'c') + endif + +-- +2.14.1 + diff --git a/buildroot/package/systemd/Config.in b/buildroot/package/systemd/Config.in index c5a109675..25f322e8f 100644 --- a/buildroot/package/systemd/Config.in +++ b/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" @@ -192,7 +192,6 @@ config BR2_PACKAGE_SYSTEMD_MACHINED config BR2_PACKAGE_SYSTEMD_MYHOSTNAME bool "enable myhostname NSS plugin" default y - depends on !BR2_TOOLCHAIN_USES_UCLIBC # needs nss.h help nss-myhostname is a plug-in module for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc), @@ -216,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 @@ -225,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 @@ -248,7 +251,6 @@ config BR2_PACKAGE_SYSTEMD_RANDOMSEED config BR2_PACKAGE_SYSTEMD_RESOLVED bool "enable resolve daemon" default y - depends on !BR2_TOOLCHAIN_USES_UCLIBC # needs nss.h help systemd-resolved is a system service that provides network name resolution to local applications. It implements a @@ -281,7 +283,6 @@ config BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT config BR2_PACKAGE_SYSTEMD_SYSUSERS bool "enable sysusers support" - depends on !BR2_TOOLCHAIN_USES_UCLIBC # needs gshadow.h help systemd-sysusers creates system users and groups, based on the file format and location specified in sysusers.d(5). diff --git a/buildroot/package/systemd/systemd.hash b/buildroot/package/systemd/systemd.hash index d580a29b8..012f1e595 100644 --- a/buildroot/package/systemd/systemd.hash +++ b/buildroot/package/systemd/systemd.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 c83dabbe1c9de6b9db1dafdb7e04140c7d0535705c68842f6c0768653ba4913c systemd-237.tar.gz +sha256 8a11b1b07d620f4c06a16e95bba4dd2a97e90efdf2a5ba47ed0a935085787a14 systemd-239.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 -sha256 9c7709aa401a41c4c3f33ea75c34ae5d5354d62c310c3391c2a5958952d8aadd README +sha256 37ab495827a3cdbbc35ceaba3066764d69b6490e514e0c8a1acdb3c2fdb9e921 README diff --git a/buildroot/package/systemd/systemd.mk b/buildroot/package/systemd/systemd.mk index aa71e83fc..e53f0b699 100644 --- a/buildroot/package/systemd/systemd.mk +++ b/buildroot/package/systemd/systemd.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSTEMD_VERSION = 237 +SYSTEMD_VERSION = 239 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 @@ -12,24 +12,13 @@ SYSTEMD_INSTALL_STAGING = YES SYSTEMD_DEPENDENCIES = \ 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 \ @@ -40,6 +29,8 @@ SYSTEMD_CONF_OPTS += \ -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 \ @@ -49,18 +40,9 @@ SYSTEMD_CONF_OPTS += \ -Dsulogin-path=/usr/sbin/sulogin \ -Dmount-path=/usr/bin/mount \ -Dumount-path=/usr/bin/umount \ - -Dnobody-group=nogroup - -# disable unsupported features for non-glibc toolchains -ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) -SYSTEMD_CONF_OPTS += \ + -Dnobody-group=nogroup \ -Didn=true \ -Dnss-systemd=true -else -SYSTEMD_CONF_OPTS += \ - -Didn=false \ - -Dnss-systemd=false -endif ifeq ($(BR2_PACKAGE_ACL),y) SYSTEMD_DEPENDENCIES += acl @@ -76,11 +58,22 @@ else SYSTEMD_CONF_OPTS += -Daudit=false endif -ifeq ($(BR2_PACKAGE_LIBIDN),y) -SYSTEMD_DEPENDENCIES += libidn -SYSTEMD_CONF_OPTS += -Dlibidn=true +ifeq ($(BR2_PACKAGE_ELFUTILS),y) +SYSTEMD_DEPENDENCIES += elfutils +SYSTEMD_CONF_OPTS += -Delfutils=true else -SYSTEMD_CONF_OPTS += -Dlibidn=false +SYSTEMD_CONF_OPTS += -Delfutils=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) @@ -146,6 +139,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 @@ -401,28 +401,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/buildroot/package/sysvinit/0001-fix-libcrypt-test.patch b/buildroot/package/sysvinit/0001-fix-libcrypt-test.patch deleted file mode 100644 index 6c22436d7..000000000 --- a/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/buildroot/package/sysvinit/0002-musl-fix-compilation-errors.patch b/buildroot/package/sysvinit/0002-musl-fix-compilation-errors.patch deleted file mode 100644 index 5dcdecf72..000000000 --- a/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/buildroot/package/sysvinit/inittab b/buildroot/package/sysvinit/inittab index 7eaef59d9..a31471031 100644 --- a/buildroot/package/sysvinit/inittab +++ b/buildroot/package/sysvinit/inittab @@ -6,9 +6,9 @@ id:3:initdefault: si0::sysinit:/bin/mount -t proc proc /proc si1::sysinit:/bin/mount -o remount,rw / -si2::sysinit:/bin/mkdir -p /dev/pts -si3::sysinit:/bin/mkdir -p /dev/shm -si4::sysinit:/bin/mount -a +si2::sysinit:/bin/mkdir -p /dev/pts /dev/shm +si3::sysinit:/bin/mount -a +si4::sysinit:/sbin/swapon -a si5::sysinit:/bin/ln -sf /proc/self/fd /dev/fd 2>/dev/null si6::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin 2>/dev/null si7::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout 2>/dev/null diff --git a/buildroot/package/sysvinit/sysvinit.hash b/buildroot/package/sysvinit/sysvinit.hash index 268b9841b..2161fb38b 100644 --- a/buildroot/package/sysvinit/sysvinit.hash +++ b/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/buildroot/package/sysvinit/sysvinit.mk b/buildroot/package/sysvinit/sysvinit.mk index a606ddabf..98aa5a417 100644 --- a/buildroot/package/sysvinit/sysvinit.mk +++ b/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/buildroot/package/szip/szip.hash b/buildroot/package/szip/szip.hash index c6caf3648..3b582d901 100644 --- a/buildroot/package/szip/szip.hash +++ b/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/buildroot/package/szip/szip.mk b/buildroot/package/szip/szip.mk index f3a47581b..7a8a5a82e 100644 --- a/buildroot/package/szip/szip.mk +++ b/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/buildroot/package/tar/Config.in b/buildroot/package/tar/Config.in index b0be7a389..caf12d6f1 100644 --- a/buildroot/package/tar/Config.in +++ b/buildroot/package/tar/Config.in @@ -12,4 +12,5 @@ config BR2_PACKAGE_TAR comment "tar needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR + depends on BR2_USE_MMU depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS diff --git a/buildroot/package/tar/tar.mk b/buildroot/package/tar/tar.mk index 9942e7773..6f609d7a0 100644 --- a/buildroot/package/tar/tar.mk +++ b/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 diff --git a/buildroot/package/terminology/terminology.hash b/buildroot/package/terminology/terminology.hash index 81ae5d8d6..f341d5c2f 100644 --- a/buildroot/package/terminology/terminology.hash +++ b/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/36317484/ +sha256 ac8673a129ed78ef669a8c04e7a136f5ca95226ce5ef375a451421bac41828c6 terminology-1.2.1.tar.xz +sha256 605988548c7a52562d6f64d936a579b53f690e62ca92261b6a440bf9023ff521 COPYING diff --git a/buildroot/package/terminology/terminology.mk b/buildroot/package/terminology/terminology.mk index ed811b3a8..af37187d9 100644 --- a/buildroot/package/terminology/terminology.mk +++ b/buildroot/package/terminology/terminology.mk @@ -4,13 +4,37 @@ # ################################################################################ -TERMINOLOGY_VERSION = 1.1.1 +TERMINOLOGY_VERSION = 1.2.1 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-meson host-pkgconf +TERMINOLOGY_MESON_OPTS = \ + --prefix=/usr \ + --buildtype=$(if $(BR2_ENABLE_DEBUG),debug,release) \ + --cross-file=$(HOST_DIR)/etc/meson/cross-compilation.conf \ + -Dedje-cc=$(HOST_DIR)/bin/edje_cc -$(eval $(autotools-package)) +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +TERMINOLOGY_MESON_OPTS += -Dnls=true +else +TERMINOLOGY_MESON_OPTS += -Dnls=false +endif + +define TERMINOLOGY_CONFIGURE_CMDS + rm -rf $(@D)/build + mkdir -p $(@D)/build + $(TARGET_MAKE_ENV) meson $(TERMINOLOGY_MESON_OPTS) $(@D) $(@D)/build +endef + +define TERMINOLOGY_BUILD_CMDS + $(TARGET_MAKE_ENV) ninja -C $(@D)/build +endef + +define TERMINOLOGY_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja -C $(@D)/build install +endef + +$(eval $(generic-package)) diff --git a/buildroot/package/tesseract-ocr/tesseract-ocr.hash b/buildroot/package/tesseract-ocr/tesseract-ocr.hash index 9bb5b522a..09c7a7191 100644 --- a/buildroot/package/tesseract-ocr/tesseract-ocr.hash +++ b/buildroot/package/tesseract-ocr/tesseract-ocr.hash @@ -1,5 +1,6 @@ # locally computed -sha256 3fe83e06d0f73b39f6e92ed9fc7ccba3ef734877b76aa5ddaaa778fac095d996 tesseract-ocr-3.05.00.tar.gz +sha256 494d64ffa7069498a97b909a0e65a35a213989e0184f1ea15332933a90d43445 tesseract-ocr-3.05.02.tar.gz +sha256 d770c1ac1235bc018530701da1ce453367f7952a3075d12b9029f81a26c05f13 COPYING sha256 c0515c9f1e0c79e1069fcc05c2b2f6a6841fb5e1082d695db160333c1154f06d eng.traineddata sha256 86afb23ad146467f263e8ade56fd3951b1cc28f8c4eebc34f993d3c02d88a7ab fra.traineddata sha256 cb7eb42a7e972cec7ef904fe81825d7b547c46df684c814fdb11a930b13bca3a deu.traineddata diff --git a/buildroot/package/tesseract-ocr/tesseract-ocr.mk b/buildroot/package/tesseract-ocr/tesseract-ocr.mk index 919a4360e..77b218121 100644 --- a/buildroot/package/tesseract-ocr/tesseract-ocr.mk +++ b/buildroot/package/tesseract-ocr/tesseract-ocr.mk @@ -4,7 +4,7 @@ # ################################################################################ -TESSERACT_OCR_VERSION = 3.05.00 +TESSERACT_OCR_VERSION = 3.05.02 TESSERACT_OCR_DATA_VERSION = 3.04.00 TESSERACT_OCR_SITE = $(call github,tesseract-ocr,tesseract,$(TESSERACT_OCR_VERSION)) TESSERACT_OCR_LICENSE = Apache-2.0 diff --git a/buildroot/package/tftpd/tftpd.mk b/buildroot/package/tftpd/tftpd.mk index 78df835aa..c42456afd 100644 --- a/buildroot/package/tftpd/tftpd.mk +++ b/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/buildroot/package/ti-sgx-km/Config.in b/buildroot/package/ti-sgx-km/Config.in index db3d3f9dd..348efdeb8 100644 --- a/buildroot/package/ti-sgx-km/Config.in +++ b/buildroot/package/ti-sgx-km/Config.in @@ -20,6 +20,10 @@ if BR2_PACKAGE_TI_SGX_KM choice prompt "Target" + 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. diff --git a/buildroot/package/ti-utils/Config.in b/buildroot/package/ti-utils/Config.in index 0b75c4d5b..992323487 100644 --- a/buildroot/package/ti-utils/Config.in +++ b/buildroot/package/ti-utils/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_TI_UTILS The calibrator and other useful utilities for TI wireless solution, based on wl12xx driver. - http://linuxwireless.org/en/users/Drivers/wl12xx/calibrator + http://linuxwireless.sipsolutions.net/en/users/Drivers/wl12xx/calibrator/ comment "ti-utils needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/buildroot/package/tidsp-binaries/Config.in b/buildroot/package/tidsp-binaries/Config.in deleted file mode 100644 index 48f85a5d9..000000000 --- a/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/buildroot/package/tidsp-binaries/tidsp-binaries.hash b/buildroot/package/tidsp-binaries/tidsp-binaries.hash deleted file mode 100644 index 6649c76ce..000000000 --- a/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/buildroot/package/tidsp-binaries/tidsp-binaries.mk b/buildroot/package/tidsp-binaries/tidsp-binaries.mk deleted file mode 100644 index 9736bc723..000000000 --- a/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/buildroot/package/tinc/tinc.hash b/buildroot/package/tinc/tinc.hash index b0cdde834..0daeb324e 100644 --- a/buildroot/package/tinc/tinc.hash +++ b/buildroot/package/tinc/tinc.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 7f6f5dc6444bc651ac635c81f4745bcce581bbd1d45ed60cbdc4ee11bebb10f4 tinc-1.0.33.tar.gz -sha256 10618781fe68ee0958d627f9f4b279b55eaff6c852f7742bbef64dc470c0077c COPYING +sha256 18c83b147cc3e2133a7ac2543eeb014d52070de01c7474287d3ccecc9b16895e tinc-1.0.35.tar.gz +sha256 3a112fd37b47d624e89b130d0e158bb8d14ec5bc9ecf5f18b448d2c07626e43d COPYING sha256 9bf76a8aa304d807df20bf3d221c21d259764be63e39b58f299b80ba3ac14b5b COPYING.README diff --git a/buildroot/package/tinc/tinc.mk b/buildroot/package/tinc/tinc.mk index 002785307..ae7ce97bf 100644 --- a/buildroot/package/tinc/tinc.mk +++ b/buildroot/package/tinc/tinc.mk @@ -4,7 +4,7 @@ # ################################################################################ -TINC_VERSION = 1.0.33 +TINC_VERSION = 1.0.35 TINC_SITE = http://www.tinc-vpn.org/packages TINC_DEPENDENCIES = lzo openssl zlib TINC_LICENSE = GPL-2.0+ with OpenSSL exception diff --git a/buildroot/package/tini/Config.in b/buildroot/package/tini/Config.in index 235fc1a8f..719e1e1f2 100644 --- a/buildroot/package/tini/Config.in +++ b/buildroot/package/tini/Config.in @@ -1,5 +1,6 @@ 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. diff --git a/buildroot/package/tini/tini.hash b/buildroot/package/tini/tini.hash index aeb460619..34f919f06 100644 --- a/buildroot/package/tini/tini.hash +++ b/buildroot/package/tini/tini.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 1097675352d6317b547e73f9dc7c6839fd0bb0d96dafc2e5c95506bb324049a2 tini-v0.18.0.tar.gz sha256 e5f46bca81266bdd511cf08018d66866870531794569c04f9b45f50dd23c28b0 LICENSE +sha256 1097675352d6317b547e73f9dc7c6839fd0bb0d96dafc2e5c95506bb324049a2 tini-v0.18.0.tar.gz diff --git a/buildroot/package/tini/tini.mk b/buildroot/package/tini/tini.mk index 0ac8aa966..b6d7d80b2 100644 --- a/buildroot/package/tini/tini.mk +++ b/buildroot/package/tini/tini.mk @@ -6,11 +6,12 @@ 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=\"\" +TINI_CFLAGS = $(TARGET_CFLAGS) \ + -DTINI_VERSION=\"$(TINI_VERSION)\" \ + -DTINI_GIT=\"\" TINI_CFLAGS += -static ifeq ($(BR2_PACKAGE_TINI_MINIMAL),y) @@ -22,13 +23,13 @@ define TINI_CONFIGURE_CMDS endef define TINI_BUILD_CMDS - $(TARGET_CC) \ - $(TINI_CFLAGS) \ - -o $(@D)/tini $(@D)/src/tini.c + 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)/tini $(TARGET_DIR)/usr/bin/tini + $(INSTALL) -D -m 0755 $(@D)/bin/tini $(TARGET_DIR)/usr/bin/tini endef # Tini's CMakeLists.txt is not suitable for Buildroot. diff --git a/buildroot/package/tinycbor/0001-fix-undefined-encode_half-in-json2cbor.patch b/buildroot/package/tinycbor/0001-fix-undefined-encode_half-in-json2cbor.patch new file mode 100644 index 000000000..0547758bd --- /dev/null +++ b/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/buildroot/package/tinycbor/tinycbor.hash b/buildroot/package/tinycbor/tinycbor.hash index db9c59573..6a7282dcb 100644 --- a/buildroot/package/tinycbor/tinycbor.hash +++ b/buildroot/package/tinycbor/tinycbor.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f9d2ec366a38382c1b7bb989c45620dca168ad28107b4ef9a306ee93c3dbb832 tinycbor-v0.5.1.tar.gz +sha256 dfa2a4550eb145a5f62ffff39e36accf2704987922c194e8e845124175c00441 tinycbor-v0.5.2.tar.gz sha256 3c6ba0b5bfa7830505301ffb336a17b0748e0d61c4d34216e9dc98f10e40395e LICENSE diff --git a/buildroot/package/tinycbor/tinycbor.mk b/buildroot/package/tinycbor/tinycbor.mk index 2aec68be7..40a828d54 100644 --- a/buildroot/package/tinycbor/tinycbor.mk +++ b/buildroot/package/tinycbor/tinycbor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TINYCBOR_VERSION = v0.5.1 +TINYCBOR_VERSION = v0.5.2 TINYCBOR_SITE = $(call github,intel,tinycbor,$(TINYCBOR_VERSION)) TINYCBOR_LICENSE = MIT TINYCBOR_LICENSE_FILES = LICENSE diff --git a/buildroot/package/tinymembench/tinymembench.hash b/buildroot/package/tinymembench/tinymembench.hash index 813a1df42..59ca70dcb 100644 --- a/buildroot/package/tinymembench/tinymembench.hash +++ b/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/buildroot/package/tinymembench/tinymembench.mk b/buildroot/package/tinymembench/tinymembench.mk index ab479d64e..b2ccc749f 100644 --- a/buildroot/package/tinymembench/tinymembench.mk +++ b/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/buildroot/package/tinyxml2/tinyxml2.hash b/buildroot/package/tinyxml2/tinyxml2.hash index e5e4d238a..5f3854646 100644 --- a/buildroot/package/tinyxml2/tinyxml2.hash +++ b/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/buildroot/package/tinyxml2/tinyxml2.mk b/buildroot/package/tinyxml2/tinyxml2.mk index e289ca9cf..9439c5cb8 100644 --- a/buildroot/package/tinyxml2/tinyxml2.mk +++ b/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/buildroot/package/tmux/tmux.hash b/buildroot/package/tmux/tmux.hash index 752bbb451..27a3ccaae 100644 --- a/buildroot/package/tmux/tmux.hash +++ b/buildroot/package/tmux/tmux.hash @@ -1,3 +1,4 @@ # Locally computed: -sha256 b17cd170a94d7b58c0698752e1f4f263ab6dc47425230df7e53a6435cc7cd7e8 tmux-2.6.tar.gz -sha256 94e2b1feb1202d3308cc7ab7ec42278d24f10562394bdf269f44649327c8198f README +sha256 9ded7d100313f6bc5a87404a4048b3745d61f2332f99ec1400a7c4ed9485d452 tmux-2.7.tar.gz +sha256 59ad3f5d323cb6b97bb3882c454e6176519cd580b2d4db43c5161517385569f1 README +sha256 ce75f1345a76c93bd0f413d1b93ff1baa0669f34a7242779a00c1b862b4f813a COPYING diff --git a/buildroot/package/tmux/tmux.mk b/buildroot/package/tmux/tmux.mk index e38022747..deae99717 100644 --- a/buildroot/package/tmux/tmux.mk +++ b/buildroot/package/tmux/tmux.mk @@ -4,10 +4,10 @@ # ################################################################################ -TMUX_VERSION = 2.6 +TMUX_VERSION = 2.7 TMUX_SITE = https://github.com/tmux/tmux/releases/download/$(TMUX_VERSION) TMUX_LICENSE = ISC -TMUX_LICENSE_FILES = README +TMUX_LICENSE_FILES = README COPYING TMUX_DEPENDENCIES = libevent ncurses host-pkgconf # Add /usr/bin/tmux to /etc/shells otherwise some login tools like dropbear diff --git a/buildroot/package/tor/0001-openssl-libz.patch b/buildroot/package/tor/0001-openssl-libz.patch index 62a9a4a0e..cb2ed46b3 100644 --- a/buildroot/package/tor/0001-openssl-libz.patch +++ b/buildroot/package/tor/0001-openssl-libz.patch @@ -3,8 +3,8 @@ 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] - +[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] Signed-off-by: Bernd Kuhls Signed-off-by: Vicente Olivert Riera @@ -17,9 +17,9 @@ diff -uNr tor-0.3.1.7.org/configure.ac tor-0.3.1.7/configure.ac 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 ], - [struct ssl_method_st; const struct ssl_method_st *TLSv1_1_method(void);], - [TLSv1_1_method();], [], + [#include + char *getenv(const char *);], + [struct ssl_cipher_st; 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 diff --git a/buildroot/package/tor/tor.hash b/buildroot/package/tor/tor.hash index 2841d4099..71aef25d7 100644 --- a/buildroot/package/tor/tor.hash +++ b/buildroot/package/tor/tor.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 60df77c31dcf94fdd686c8ca8c34f3b70243b33a7344ecc0b719d5ca2617cbee tor-0.3.2.10.tar.gz +sha256 1a171081f02b9a6ff9e28c0898defb7670e5bbb3bdbcaddfcf4e4304aedd164a tor-0.3.4.9.tar.gz sha256 f9a4f724d8037711dde7d3f1d17094fb7d211545b3a3bbb1b03e769e13ca5608 LICENSE diff --git a/buildroot/package/tor/tor.mk b/buildroot/package/tor/tor.mk index 4a1a48357..0a7691d4c 100644 --- a/buildroot/package/tor/tor.mk +++ b/buildroot/package/tor/tor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOR_VERSION = 0.3.2.10 +TOR_VERSION = 0.3.4.9 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/buildroot/package/tpm-tools/Config.in b/buildroot/package/tpm-tools/Config.in index e11568728..ca70adc80 100644 --- a/buildroot/package/tpm-tools/Config.in +++ b/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/buildroot/package/tpm-tools/tpm-tools.mk b/buildroot/package/tpm-tools/tpm-tools.mk index b6738251f..623e06fb9 100644 --- a/buildroot/package/tpm-tools/tpm-tools.mk +++ b/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/buildroot/package/trace-cmd/trace-cmd.mk b/buildroot/package/trace-cmd/trace-cmd.mk index 0dc145674..578e9f124 100644 --- a/buildroot/package/trace-cmd/trace-cmd.mk +++ b/buildroot/package/trace-cmd/trace-cmd.mk @@ -5,7 +5,7 @@ ################################################################################ TRACE_CMD_VERSION = trace-cmd-v2.6.1 -TRACE_CMD_SITE = $(BR2_KERNEL_MIRROR)/scm/linux/kernel/git/rostedt/trace-cmd.git +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 TRACE_CMD_LICENSE = GPL-2.0, LGPL-2.1 diff --git a/buildroot/package/traceroute/traceroute.mk b/buildroot/package/traceroute/traceroute.mk index d01c62d5e..a02982a6b 100644 --- a/buildroot/package/traceroute/traceroute.mk +++ b/buildroot/package/traceroute/traceroute.mk @@ -10,13 +10,8 @@ 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) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_MAKE_ENV) VPATH=$(STAGING_DIR)/usr/lib $(MAKE) $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" -C $(@D) endef diff --git a/buildroot/package/transmission/0004-fix-utp-include.patch b/buildroot/package/transmission/0003-fix-utp-include.patch similarity index 100% rename from buildroot/package/transmission/0004-fix-utp-include.patch rename to buildroot/package/transmission/0003-fix-utp-include.patch diff --git a/buildroot/package/transmission/0003-miniupnpc-cross.patch b/buildroot/package/transmission/0003-miniupnpc-cross.patch deleted file mode 100644 index 5037c2e67..000000000 --- a/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/buildroot/package/transmission/0005-uClibc-ng-since-1.0.18-has-sys-quota.h-synced-with-G.patch b/buildroot/package/transmission/0004-uClibc-ng-since-1.0.18-has-sys-quota.h-synced-with-G.patch similarity index 100% rename from buildroot/package/transmission/0005-uClibc-ng-since-1.0.18-has-sys-quota.h-synced-with-G.patch rename to buildroot/package/transmission/0004-uClibc-ng-since-1.0.18-has-sys-quota.h-synced-with-G.patch diff --git a/buildroot/package/transmission/0006-libsystemd.patch b/buildroot/package/transmission/0005-libsystemd.patch similarity index 100% rename from buildroot/package/transmission/0006-libsystemd.patch rename to buildroot/package/transmission/0005-libsystemd.patch diff --git a/buildroot/package/transmission/transmission.hash b/buildroot/package/transmission/transmission.hash index 4c1c3f9a3..0d2af32f4 100644 --- a/buildroot/package/transmission/transmission.hash +++ b/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/buildroot/package/transmission/transmission.mk b/buildroot/package/transmission/transmission.mk index 65add0d8c..00652e7f4 100644 --- a/buildroot/package/transmission/transmission.mk +++ b/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/buildroot/package/triggerhappy/triggerhappy.mk b/buildroot/package/triggerhappy/triggerhappy.mk index 4c39ab5e5..7c4bf4047 100644 --- a/buildroot/package/triggerhappy/triggerhappy.mk +++ b/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/buildroot/package/trinity/0003-configure-fix-build-with-kernel-headers-v4.17.patch b/buildroot/package/trinity/0003-configure-fix-build-with-kernel-headers-v4.17.patch new file mode 100644 index 000000000..89aa4219c --- /dev/null +++ b/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/buildroot/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch b/buildroot/package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch similarity index 97% rename from buildroot/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch rename to buildroot/package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch index 3275b76a2..b1179eb4a 100644 --- a/buildroot/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch +++ b/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/buildroot/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch b/buildroot/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch deleted file mode 100644 index b0db70b49..000000000 --- a/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/buildroot/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch b/buildroot/package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch similarity index 93% rename from buildroot/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch rename to buildroot/package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch index 7014ad7af..ab2418c7c 100644 --- a/buildroot/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch +++ b/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/buildroot/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch b/buildroot/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch deleted file mode 100644 index f88e47ac2..000000000 --- a/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/buildroot/package/trousers/Config.in b/buildroot/package/trousers/Config.in index 7a1470629..998df9839 100644 --- a/buildroot/package/trousers/Config.in +++ b/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/buildroot/package/trousers/trousers.hash b/buildroot/package/trousers/trousers.hash index 997cfa97c..20c65c450 100644 --- a/buildroot/package/trousers/trousers.hash +++ b/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/buildroot/package/trousers/trousers.mk b/buildroot/package/trousers/trousers.mk index e49c2ac14..1d5364959 100644 --- a/buildroot/package/trousers/trousers.mk +++ b/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/buildroot/package/tslib/tslib.hash b/buildroot/package/tslib/tslib.hash index 76cd79516..c5fc836d6 100644 --- a/buildroot/package/tslib/tslib.hash +++ b/buildroot/package/tslib/tslib.hash @@ -1,5 +1,5 @@ -# https://github.com/kergoth/tslib/releases/download/1.16/tslib-1.16.tar.xz.sha256 -sha256 c9a54651337a701a66b074c603c313225579995a7910e519bbc7b1dcdab9a755 tslib-1.16.tar.xz +# https://github.com/kergoth/tslib/releases/download/1.17/tslib-1.17.tar.xz.sha256 +sha256 9fdd33e66976bf9cc799be33824ba66672f892826e9b22de12b14df15cb0fddc tslib-1.17.tar.xz # Locally computed sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 COPYING diff --git a/buildroot/package/tslib/tslib.mk b/buildroot/package/tslib/tslib.mk index 0d8b31863..bd5311b93 100644 --- a/buildroot/package/tslib/tslib.mk +++ b/buildroot/package/tslib/tslib.mk @@ -4,7 +4,7 @@ # ################################################################################ -TSLIB_VERSION = 1.16 +TSLIB_VERSION = 1.17 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/buildroot/package/tvheadend/0002-sbuf-fix-uclibc-compilation-error.patch b/buildroot/package/tvheadend/0002-sbuf-fix-uclibc-compilation-error.patch deleted file mode 100644 index deed9f98f..000000000 --- a/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/buildroot/package/tvheadend/tvheadend.hash b/buildroot/package/tvheadend/tvheadend.hash index 4e890a827..43178b874 100644 --- a/buildroot/package/tvheadend/tvheadend.hash +++ b/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/buildroot/package/tvheadend/tvheadend.mk b/buildroot/package/tvheadend/tvheadend.mk index 45ea7bfc2..e92c11108 100644 --- a/buildroot/package/tvheadend/tvheadend.mk +++ b/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/buildroot/package/twolame/0001-Fix-static-linking-with-libmagic.patch b/buildroot/package/twolame/0001-Fix-static-linking-with-libmagic.patch new file mode 100644 index 000000000..094d7e997 --- /dev/null +++ b/buildroot/package/twolame/0001-Fix-static-linking-with-libmagic.patch @@ -0,0 +1,228 @@ +From 484275de103b2214cb8ff3868a2562e2c61ce0e1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 8 Nov 2018 20:57:08 +0100 +Subject: [PATCH] Fix static linking with libmagic + +libmagic (from file package) already provides the buffer_init function +so to avoid a build failure for applications wanting to statically link +with twolame and libmagic (for example sox), rename buffer_init into +bitbuffer_init (also rename buffer_deinit into bitbuffer_deinit and +buffer_sstell into bitbuffer_sstell for consistency) + +Fixes: + - http://autobuild.buildroot.org/results/b3fc62e7f372fe595966e84091c11ccdb4cfa77c + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/njh/twolame/pull/81] +--- + libtwolame/bitbuffer.c | 4 ++-- + libtwolame/bitbuffer.h | 6 +++--- + libtwolame/energy.c | 2 +- + libtwolame/twolame.c | 32 ++++++++++++++++---------------- + 4 files changed, 22 insertions(+), 22 deletions(-) + +diff --git a/libtwolame/bitbuffer.c b/libtwolame/bitbuffer.c +index 38a632b..5b2fc4b 100644 +--- a/libtwolame/bitbuffer.c ++++ b/libtwolame/bitbuffer.c +@@ -33,7 +33,7 @@ + + + /*create bit buffer*/ +-bit_stream *buffer_init(unsigned char *buffer, int buffer_size) ++bit_stream *bitbuffer_init(unsigned char *buffer, int buffer_size) + { + bit_stream *bs = (bit_stream *) TWOLAME_MALLOC(sizeof(bit_stream)); + +@@ -49,7 +49,7 @@ bit_stream *buffer_init(unsigned char *buffer, int buffer_size) + } + + /* Dellocate bit buffer */ +-void buffer_deinit(bit_stream ** bs) ++void bitbuffer_deinit(bit_stream ** bs) + { + + if (bs == NULL || *bs == NULL) +diff --git a/libtwolame/bitbuffer.h b/libtwolame/bitbuffer.h +index 0201347..f377c8f 100644 +--- a/libtwolame/bitbuffer.h ++++ b/libtwolame/bitbuffer.h +@@ -39,11 +39,11 @@ typedef struct bit_stream_struc { + } bit_stream; + + +-bit_stream *buffer_init(unsigned char *buffer, int buffer_size); +-void buffer_deinit(bit_stream ** bs); ++bit_stream *bitbuffer_init(unsigned char *buffer, int buffer_size); ++void bitbuffer_deinit(bit_stream ** bs); + + /*return the current bit stream length (in bits)*/ +-#define buffer_sstell(bs) (bs->totbit) ++#define bitbuffer_sstell(bs) (bs->totbit) + + #endif + +diff --git a/libtwolame/energy.c b/libtwolame/energy.c +index 219bd2c..312d8ae 100644 +--- a/libtwolame/energy.c ++++ b/libtwolame/energy.c +@@ -73,7 +73,7 @@ void do_energy_levels(twolame_options * glopts, bit_stream * bs) + unsigned char rhibyte, rlobyte, lhibyte, llobyte; + + // Get the position (in butes) of the end of the mpeg audio frame +- int frameEnd = buffer_sstell(bs) / 8; ++ int frameEnd = bitbuffer_sstell(bs) / 8; + + + // find the maximum in the left and right channels +diff --git a/libtwolame/twolame.c b/libtwolame/twolame.c +index fa4bcc0..d3b8450 100644 +--- a/libtwolame/twolame.c ++++ b/libtwolame/twolame.c +@@ -442,7 +442,7 @@ static int encode_frame(twolame_options * glopts, bit_stream * bs) + glopts->num_crc_bits = 0; + + // Store the number of bits initially in the bit buffer +- initial_bits = buffer_sstell(bs); ++ initial_bits = bitbuffer_sstell(bs); + + adb = available_bits(glopts); + +@@ -580,7 +580,7 @@ static int encode_frame(twolame_options * glopts, bit_stream * bs) + + + // Calulate the number of bits in this frame +- frameBits = buffer_sstell(bs) - initial_bits; ++ frameBits = bitbuffer_sstell(bs) - initial_bits; + if (frameBits % 8) { /* a program failure */ + fprintf(stderr, "Sent %ld bits = %ld slots plus %ld\n", frameBits, frameBits / 8, + frameBits % 8); +@@ -630,7 +630,7 @@ int twolame_encode_buffer(twolame_options * glopts, + + // now would be a great time to validate the size of the buffer. + // samples/1152 * sizeof(frame) < mp2buffer_size +- mybs = buffer_init(mp2buffer, mp2buffer_size); ++ mybs = bitbuffer_init(mp2buffer, mp2buffer_size); + + + // Use up all the samples in in_buffer +@@ -658,7 +658,7 @@ int twolame_encode_buffer(twolame_options * glopts, + if (glopts->samples_in_buffer >= TWOLAME_SAMPLES_PER_FRAME) { + int bytes = encode_frame(glopts, mybs); + if (bytes <= 0) { +- buffer_deinit(&mybs); ++ bitbuffer_deinit(&mybs); + return bytes; + } + mp2_size += bytes; +@@ -667,7 +667,7 @@ int twolame_encode_buffer(twolame_options * glopts, + } + + // free up the bit stream buffer structure +- buffer_deinit(&mybs); ++ bitbuffer_deinit(&mybs); + + return (mp2_size); + } +@@ -687,7 +687,7 @@ int twolame_encode_buffer_interleaved(twolame_options * glopts, + + // now would be a great time to validate the size of the buffer. + // samples/1152 * sizeof(frame) < mp2buffer_size +- mybs = buffer_init(mp2buffer, mp2buffer_size); ++ mybs = bitbuffer_init(mp2buffer, mp2buffer_size); + + // Use up all the samples in in_buffer + while (num_samples) { +@@ -714,7 +714,7 @@ int twolame_encode_buffer_interleaved(twolame_options * glopts, + if (glopts->samples_in_buffer >= TWOLAME_SAMPLES_PER_FRAME) { + int bytes = encode_frame(glopts, mybs); + if (bytes <= 0) { +- buffer_deinit(&mybs); ++ bitbuffer_deinit(&mybs); + return bytes; + } + mp2_size += bytes; +@@ -723,7 +723,7 @@ int twolame_encode_buffer_interleaved(twolame_options * glopts, + } + + // free up the bit stream buffer structure +- buffer_deinit(&mybs); ++ bitbuffer_deinit(&mybs); + + + return (mp2_size); +@@ -771,7 +771,7 @@ int twolame_encode_buffer_float32(twolame_options * glopts, + + // now would be a great time to validate the size of the buffer. + // samples/1152 * sizeof(frame) < mp2buffer_size +- mybs = buffer_init(mp2buffer, mp2buffer_size); ++ mybs = bitbuffer_init(mp2buffer, mp2buffer_size); + + + // Use up all the samples in in_buffer +@@ -800,7 +800,7 @@ int twolame_encode_buffer_float32(twolame_options * glopts, + if (glopts->samples_in_buffer >= TWOLAME_SAMPLES_PER_FRAME) { + int bytes = encode_frame(glopts, mybs); + if (bytes <= 0) { +- buffer_deinit(&mybs); ++ bitbuffer_deinit(&mybs); + return bytes; + } + mp2_size += bytes; +@@ -809,7 +809,7 @@ int twolame_encode_buffer_float32(twolame_options * glopts, + } + + // free up the bit stream buffer structure +- buffer_deinit(&mybs); ++ bitbuffer_deinit(&mybs); + + return (mp2_size); + } +@@ -829,7 +829,7 @@ int twolame_encode_buffer_float32_interleaved(twolame_options * glopts, + + // now would be a great time to validate the size of the buffer. + // samples/1152 * sizeof(frame) < mp2buffer_size +- mybs = buffer_init(mp2buffer, mp2buffer_size); ++ mybs = bitbuffer_init(mp2buffer, mp2buffer_size); + + // Use up all the samples in in_buffer + while (num_samples) { +@@ -857,7 +857,7 @@ int twolame_encode_buffer_float32_interleaved(twolame_options * glopts, + if (glopts->samples_in_buffer >= TWOLAME_SAMPLES_PER_FRAME) { + int bytes = encode_frame(glopts, mybs); + if (bytes <= 0) { +- buffer_deinit(&mybs); ++ bitbuffer_deinit(&mybs); + return bytes; + } + mp2_size += bytes; +@@ -866,7 +866,7 @@ int twolame_encode_buffer_float32_interleaved(twolame_options * glopts, + } + + // free up the bit stream buffer structure +- buffer_deinit(&mybs); ++ bitbuffer_deinit(&mybs); + + + return (mp2_size); +@@ -885,7 +885,7 @@ int twolame_encode_flush(twolame_options * glopts, unsigned char *mp2buffer, int + return 0; + } + // Create bit stream structure +- mybs = buffer_init(mp2buffer, mp2buffer_size); ++ mybs = bitbuffer_init(mp2buffer, mp2buffer_size); + + // Pad out the PCM buffers with 0 and encode the frame + for (i = glopts->samples_in_buffer; i < TWOLAME_SAMPLES_PER_FRAME; i++) { +@@ -897,7 +897,7 @@ int twolame_encode_flush(twolame_options * glopts, unsigned char *mp2buffer, int + glopts->samples_in_buffer = 0; + + // free up the bit stream buffer structure +- buffer_deinit(&mybs); ++ bitbuffer_deinit(&mybs); + + return mp2_size; + } +-- +2.17.1 + diff --git a/buildroot/package/tzdata/tzdata.hash b/buildroot/package/tzdata/tzdata.hash index cfcd49ef2..6a0ea17ce 100644 --- a/buildroot/package/tzdata/tzdata.hash +++ b/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/buildroot/package/tzdata/tzdata.mk b/buildroot/package/tzdata/tzdata.mk index 28323e84e..e20c94620 100644 --- a/buildroot/package/tzdata/tzdata.mk +++ b/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/buildroot/package/tzdump/tzdump.hash b/buildroot/package/tzdump/tzdump.hash index 71114e0be..b0d58c62d 100644 --- a/buildroot/package/tzdump/tzdump.hash +++ b/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/buildroot/package/tzdump/tzdump.mk b/buildroot/package/tzdump/tzdump.mk index baad978c4..f6b6a1a72 100644 --- a/buildroot/package/tzdump/tzdump.mk +++ b/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/buildroot/package/uboot-tools/uboot-tools.mk b/buildroot/package/uboot-tools/uboot-tools.mk index f5027d2da..5ac7b1c29 100644 --- a/buildroot/package/uboot-tools/uboot-tools.mk +++ b/buildroot/package/uboot-tools/uboot-tools.mk @@ -19,6 +19,7 @@ endef UBOOT_TOOLS_MAKE_OPTS = CROSS_COMPILE="$(TARGET_CROSS)" \ CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ + HOSTCFLAGS="$(HOST_CFLAGS)" \ STRIP=$(TARGET_STRIP) ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT),y) diff --git a/buildroot/package/uclibc-ng-test/0002-Add-NO_CRYPT-to-fix-build-with-glibc-2.28.patch b/buildroot/package/uclibc-ng-test/0002-Add-NO_CRYPT-to-fix-build-with-glibc-2.28.patch new file mode 100644 index 000000000..34760f3df --- /dev/null +++ b/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/buildroot/package/uclibc-ng-test/uclibc-ng-test.mk b/buildroot/package/uclibc-ng-test/uclibc-ng-test.mk index 0e6433c83..aeea799d8 100644 --- a/buildroot/package/uclibc-ng-test/uclibc-ng-test.mk +++ b/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/buildroot/package/uclibc/0003-ldso-arc-fix-LD_DEBUG-segv-when-printing-R_ARC_NONE.patch b/buildroot/package/uclibc/0003-ldso-arc-fix-LD_DEBUG-segv-when-printing-R_ARC_NONE.patch new file mode 100644 index 000000000..ad87698f5 --- /dev/null +++ b/buildroot/package/uclibc/0003-ldso-arc-fix-LD_DEBUG-segv-when-printing-R_ARC_NONE.patch @@ -0,0 +1,45 @@ +From 269a2a2a0f863e1b43dc02f2f4f0f3c50299456e Mon Sep 17 00:00:00 2001 +From: Vineet Gupta +Date: Tue, 26 Jun 2018 18:26:24 -0700 +Subject: [PATCH] ldso/arc: fix LD_DEBUG segv when printing R_ARC_NONE + +Signed-off-by: Vineet Gupta +Signed-off-by: Alexey Brodkin +--- + ldso/ldso/arc/elfinterp.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ldso/ldso/arc/elfinterp.c b/ldso/ldso/arc/elfinterp.c +index 5a02bc234..a30c19bcb 100644 +--- a/ldso/ldso/arc/elfinterp.c ++++ b/ldso/ldso/arc/elfinterp.c +@@ -64,7 +64,7 @@ _dl_linux_resolver(struct elf_resolve *tpnt, unsigned int plt_pc) + if (_dl_debug_bindings) { + _dl_dprintf(_dl_debug_file, "\nresolve function: %s", symname); + if (_dl_debug_detail) +- _dl_dprintf(_dl_debug_file, "\n\tpatched %x ==> %pc @ %pl\n", ++ _dl_dprintf(_dl_debug_file, "\n\tpatched %x ==> %pc @ %p\n", + *got_addr, new_addr, got_addr); + } + +@@ -178,7 +178,7 @@ _dl_do_reloc(struct elf_resolve *tpnt, struct r_scope_elem *scope, + + log_entry: + #if defined __SUPPORT_LD_DEBUG__ +- if (_dl_debug_detail) ++ if (_dl_debug_detail && (reloc_type != R_ARC_NONE)) + _dl_dprintf(_dl_debug_file,"\tpatched: %x ==> %x @ %x", + old_val, *reloc_addr, reloc_addr); + #endif +@@ -214,7 +214,7 @@ _dl_do_lazy_reloc(struct elf_resolve *tpnt, struct r_scope_elem *scope, + } + + #if defined __SUPPORT_LD_DEBUG__ +- if (_dl_debug_reloc && _dl_debug_detail) ++ if (_dl_debug_reloc && _dl_debug_detail && (reloc_type != R_ARC_NONE)) + _dl_dprintf(_dl_debug_file, "\tpatched: %x ==> %x @ %x\n", + old_val, *reloc_addr, reloc_addr); + #endif +-- +2.16.2 + diff --git a/buildroot/package/uclibc/0004-mkostemp64-clear-flags-as-mkostemp-does.patch b/buildroot/package/uclibc/0004-mkostemp64-clear-flags-as-mkostemp-does.patch new file mode 100644 index 000000000..f87abd884 --- /dev/null +++ b/buildroot/package/uclibc/0004-mkostemp64-clear-flags-as-mkostemp-does.patch @@ -0,0 +1,38 @@ +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/buildroot/package/uclibc/Config.in b/buildroot/package/uclibc/Config.in index 0747cc8d7..de2885bc9 100644 --- a/buildroot/package/uclibc/Config.in +++ b/buildroot/package/uclibc/Config.in @@ -70,6 +70,7 @@ config BR2_PTHREAD_DEBUG config BR2_TOOLCHAIN_BUILDROOT_USE_SSP bool "Enable stack protection support" + depends on BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI select BR2_TOOLCHAIN_HAS_SSP help Enable stack smashing protection support using GCCs @@ -106,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/buildroot/package/uclibc/uclibc.mk b/buildroot/package/uclibc/uclibc.mk index 7de921987..27e4d5873 100644 --- a/buildroot/package/uclibc/uclibc.mk +++ b/buildroot/package/uclibc/uclibc.mk @@ -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) @@ -82,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 @@ -387,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) @@ -439,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/buildroot/package/udftools/0003-Include-sys-sysmacros-h-to-prevent-build-breakage-with-glibc-2-25.patch b/buildroot/package/udftools/0003-Include-sys-sysmacros-h-to-prevent-build-breakage-with-glibc-2-25.patch new file mode 100644 index 000000000..ac56715d6 --- /dev/null +++ b/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/buildroot/package/udisks/Config.in b/buildroot/package/udisks/Config.in index 6573cda22..c1e5538fb 100644 --- a/buildroot/package/udisks/Config.in +++ b/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/buildroot/package/uemacs/02-skip-xcase-termios-flag.patch b/buildroot/package/uemacs/02-skip-xcase-termios-flag.patch deleted file mode 100644 index 2cc53579c..000000000 --- a/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/buildroot/package/uemacs/uemacs.hash b/buildroot/package/uemacs/uemacs.hash index a88be88b5..7dcbba926 100644 --- a/buildroot/package/uemacs/uemacs.hash +++ b/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/buildroot/package/uemacs/uemacs.mk b/buildroot/package/uemacs/uemacs.mk index 19fda1246..96868832d 100644 --- a/buildroot/package/uemacs/uemacs.mk +++ b/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/buildroot/package/uhubctl/uhubctl.hash b/buildroot/package/uhubctl/uhubctl.hash index 6afee905b..3724f3fbf 100644 --- a/buildroot/package/uhubctl/uhubctl.hash +++ b/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/buildroot/package/uhubctl/uhubctl.mk b/buildroot/package/uhubctl/uhubctl.mk index 74845001b..3d2adb347 100644 --- a/buildroot/package/uhubctl/uhubctl.mk +++ b/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/buildroot/package/unrar/unrar.hash b/buildroot/package/unrar/unrar.hash index 81688d7b7..95acb8576 100644 --- a/buildroot/package/unrar/unrar.hash +++ b/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/buildroot/package/unrar/unrar.mk b/buildroot/package/unrar/unrar.mk index d6c97dff2..75e932990 100644 --- a/buildroot/package/unrar/unrar.mk +++ b/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/buildroot/package/unzip/unzip.mk b/buildroot/package/unzip/unzip.mk index 7d48d2530..cff5951ac 100644 --- a/buildroot/package/unzip/unzip.mk +++ b/buildroot/package/unzip/unzip.mk @@ -7,8 +7,6 @@ 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 diff --git a/buildroot/package/usb_modeswitch/usb_modeswitch.mk b/buildroot/package/usb_modeswitch/usb_modeswitch.mk index d0c33cc18..bb0d6ab1b 100644 --- a/buildroot/package/usb_modeswitch/usb_modeswitch.mk +++ b/buildroot/package/usb_modeswitch/usb_modeswitch.mk @@ -10,6 +10,8 @@ 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 +USB_MODESWITCH_MAKE = $(MAKE1) USB_MODESWITCH_BUILD_TARGETS = static USB_MODESWITCH_INSTALL_TARGETS = install-static diff --git a/buildroot/package/usbutils/0001-add-gpl-license-files.patch b/buildroot/package/usbutils/0001-add-gpl-license-files.patch new file mode 100644 index 000000000..e6e335f14 --- /dev/null +++ b/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/buildroot/package/usbutils/usbutils.hash b/buildroot/package/usbutils/usbutils.hash index 4e55c9b10..3bdb657f8 100644 --- a/buildroot/package/usbutils/usbutils.hash +++ b/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/buildroot/package/usbutils/usbutils.mk b/buildroot/package/usbutils/usbutils.mk index 84702ebc1..4bd12f34f 100644 --- a/buildroot/package/usbutils/usbutils.mk +++ b/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/buildroot/package/ustr/ustr.mk b/buildroot/package/ustr/ustr.mk index 8346adbcf..c99ada527 100644 --- a/buildroot/package/ustr/ustr.mk +++ b/buildroot/package/ustr/ustr.mk @@ -28,5 +28,12 @@ USTR_MAKE_OPTS = all all-shared USTR_CONF_OPTS += LDCONFIG=/bin/true HOST_USTR_CONF_OPTS += LDCONFIG=/bin/true +# for some reason, ustr finds it useful to install its source code in +# /usr/share, which is totally useless on the target +define USTR_REMOVE_SOURCE_CODE + $(RM) -rf $(TARGET_DIR)/usr/share/ustr-$(USTR_VERSION) +endef +USTR_POST_INSTALL_TARGET_HOOKS += USTR_REMOVE_SOURCE_CODE + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/buildroot/package/ustream-ssl/ustream-ssl.hash b/buildroot/package/ustream-ssl/ustream-ssl.hash new file mode 100644 index 000000000..ba315f88d --- /dev/null +++ b/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/buildroot/package/ustream-ssl/ustream-ssl.mk b/buildroot/package/ustream-ssl/ustream-ssl.mk index 9b1078829..7804eb5d3 100644 --- a/buildroot/package/ustream-ssl/ustream-ssl.mk +++ b/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/buildroot/package/util-linux/util-linux.hash b/buildroot/package/util-linux/util-linux.hash index 8f93d793c..1b7d6db45 100644 --- a/buildroot/package/util-linux/util-linux.hash +++ b/buildroot/package/util-linux/util-linux.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/utils/util-linux/v2.32/sha256sums.asc -sha256 6c7397abc764e32e8159c2e96042874a190303e77adceb4ac5bd502a272a4734 util-linux-2.32.tar.xz +sha256 86e6707a379c7ff5489c218cfaf1e3464b0b95acf7817db0bc5f179e356a67b2 util-linux-2.32.1.tar.xz # License files, locally calculated sha256 1e4b65802b0df8115395c697029d03339f983d451a473a08643309c684410d9a README.licensing sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/licenses/COPYING.GPLv2 diff --git a/buildroot/package/util-linux/util-linux.mk b/buildroot/package/util-linux/util-linux.mk index 80a8a0805..d6b3c33b2 100644 --- a/buildroot/package/util-linux/util-linux.mk +++ b/buildroot/package/util-linux/util-linux.mk @@ -5,7 +5,7 @@ ################################################################################ UTIL_LINUX_VERSION_MAJOR = 2.32 -UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR) +UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).1 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) @@ -31,12 +31,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/buildroot/package/v4l2loopback/v4l2loopback.hash b/buildroot/package/v4l2loopback/v4l2loopback.hash index 2b69fd7fb..1f368121c 100644 --- a/buildroot/package/v4l2loopback/v4l2loopback.hash +++ b/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/buildroot/package/v4l2loopback/v4l2loopback.mk b/buildroot/package/v4l2loopback/v4l2loopback.mk index 669f8fc66..a6dedb2a3 100644 --- a/buildroot/package/v4l2loopback/v4l2loopback.mk +++ b/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/buildroot/package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch b/buildroot/package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch new file mode 100644 index 000000000..a5573d518 --- /dev/null +++ b/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/buildroot/package/valgrind/Config.in b/buildroot/package/valgrind/Config.in index 56e4af21f..c09be8629 100644 --- a/buildroot/package/valgrind/Config.in +++ b/buildroot/package/valgrind/Config.in @@ -2,7 +2,12 @@ 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/buildroot/package/valgrind/valgrind.hash b/buildroot/package/valgrind/valgrind.hash index ea05dd677..87fb49685 100644 --- a/buildroot/package/valgrind/valgrind.hash +++ b/buildroot/package/valgrind/valgrind.hash @@ -1,5 +1,5 @@ # From http://valgrind.org/downloads/current.html -md5 817dd08f1e8a66336b9ff206400a5369 valgrind-3.13.0.tar.bz2 +md5 74175426afa280184b62591b58c671b3 valgrind-3.14.0.tar.bz2 # License files sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/buildroot/package/valgrind/valgrind.mk b/buildroot/package/valgrind/valgrind.mk index 11dec607d..cae14f79b 100644 --- a/buildroot/package/valgrind/valgrind.mk +++ b/buildroot/package/valgrind/valgrind.mk @@ -4,7 +4,7 @@ # ################################################################################ -VALGRIND_VERSION = 3.13.0 +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 @@ -13,6 +13,9 @@ VALGRIND_CONF_OPTS = \ --disable-ubsan \ --without-mpicc VALGRIND_INSTALL_STAGING = YES +# 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 # pass -fno-stack-protector to override what Buildroot may have in @@ -31,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 @@ -46,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/buildroot/package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch b/buildroot/package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch new file mode 100644 index 000000000..5d76428eb --- /dev/null +++ b/buildroot/package/vboot-utils/0005-include-sys-sysmacros.h-for-major.patch @@ -0,0 +1,51 @@ +From 435fbcee218b37a87368e2b22fa33366875d458c Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Tue, 19 Apr 2016 13:58:49 -0400 +Subject: [PATCH] include sys/sysmacros.h for major() + +The major() func is defined in the sys/sysmacros.h header, so include it +explicitly for the prototype. Upstream C libs are moving away from having +sys/types.h include it all the time implicitly. + +BUG=None +TEST=precq passes +BRANCH=None + +Change-Id: I56b84138f08ded2376193403f9c9db22c5f24f71 +Reviewed-on: https://chromium-review.googlesource.com/339680 +Commit-Ready: Mike Frysinger +Tested-by: Mike Frysinger +Reviewed-by: Bill Richardson +Signed-off-by: Giulio Benetti +--- + cgpt/cgpt_wrapper.c | 1 + + futility/dump_kernel_config_lib.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/cgpt/cgpt_wrapper.c b/cgpt/cgpt_wrapper.c +index dcfaab9c..1716cdde 100644 +--- a/cgpt/cgpt_wrapper.c ++++ b/cgpt/cgpt_wrapper.c +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + #include + #include + +diff --git a/futility/dump_kernel_config_lib.c b/futility/dump_kernel_config_lib.c +index 4fe990c3..abf37ae1 100644 +--- a/futility/dump_kernel_config_lib.c ++++ b/futility/dump_kernel_config_lib.c +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + #include + #include + +-- +2.17.1 + diff --git a/buildroot/package/vim/vim.hash b/buildroot/package/vim/vim.hash index 28c6b97e3..bfbd55d1a 100644 --- a/buildroot/package/vim/vim.hash +++ b/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/buildroot/package/vim/vim.mk b/buildroot/package/vim/vim.mk index 5ee889882..ee0c8b61e 100644 --- a/buildroot/package/vim/vim.mk +++ b/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 \ @@ -65,9 +63,15 @@ define VIM_REMOVE_DOCS endef # Avoid oopses with vipw/vigr, lack of $EDITOR and 'vi' command expectation +ifeq ($(BR2_ROOTFS_MERGED_USR),y) define VIM_INSTALL_VI_SYMLINK - ln -sf /usr/bin/vim $(TARGET_DIR)/bin/vi + ln -sf vim $(TARGET_DIR)/usr/bin/vi endef +else +define VIM_INSTALL_VI_SYMLINK + ln -sf ../usr/bin/vim $(TARGET_DIR)/bin/vi +endef +endif VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_VI_SYMLINK ifeq ($(BR2_PACKAGE_VIM_RUNTIME),y) diff --git a/buildroot/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch b/buildroot/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch index 4caa170b0..784ffa35f 100644 --- a/buildroot/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch +++ b/buildroot/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch @@ -1,4 +1,4 @@ -From 0b701c37d8a409904ea80fb6b74f096d1f28cc84 Mon Sep 17 00:00:00 2001 +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 @@ -10,10 +10,10 @@ Signed-off-by: Bernd Kuhls 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am -index febdc63fe4..dca6354ec9 100644 +index 3ac82623ad..637504a3f5 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -933,7 +933,7 @@ libvlc: libvlccore +@@ -108,7 +108,7 @@ libvlc: libvlccore cd lib && $(MAKE) $(AM_MAKEFLAGS) libvlc.la core: libvlc vlc$(EXEEXT) @@ -23,18 +23,18 @@ index febdc63fe4..dca6354ec9 100644 doc: cd doc && $(MAKE) $(AM_MAKEFLAGS) doc diff --git a/bin/Makefile.am b/bin/Makefile.am -index 869ac561dc..5e48b70d0a 100644 +index 2877e8b0ea..bef4160e8b 100644 --- a/bin/Makefile.am +++ b/bin/Makefile.am -@@ -1,7 +1,7 @@ - # Building vlc - # +@@ -6,7 +6,7 @@ bin_PROGRAMS = vlc-osx + noinst_PROGRAMS = vlc-osx-static + else bin_PROGRAMS = vlc -noinst_PROGRAMS = vlc-static +noinst_PROGRAMS = - noinst_DATA = - vlclib_PROGRAMS = vlc-cache-gen - EXTRA_PROGRAMS = vlc-wrapper + endif + endif + EXTRA_DIST = vlc_win32_rc.rc.in -- -2.14.3 +2.14.4 diff --git a/buildroot/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch b/buildroot/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch deleted file mode 100644 index c1cb2fa10..000000000 --- a/buildroot/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch +++ /dev/null @@ -1,46 +0,0 @@ -From c0fb6c7662d7b514f20cbb92ab0b2e535cd3bb49 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 b49281cd77..b3841ea77b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4056,16 +4056,17 @@ dnl - 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 ] --- -2.14.3 - diff --git a/buildroot/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch b/buildroot/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch new file mode 100644 index 000000000..11eaaf3b2 --- /dev/null +++ b/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/buildroot/package/vlc/0003-automake-add-subdir-objects-option.patch b/buildroot/package/vlc/0003-automake-add-subdir-objects-option.patch index 877114a27..d4493bdf7 100644 --- a/buildroot/package/vlc/0003-automake-add-subdir-objects-option.patch +++ b/buildroot/package/vlc/0003-automake-add-subdir-objects-option.patch @@ -1,4 +1,4 @@ -From 7663c856db10274d8dfbf7fb4299d3f76e5847a8 Mon Sep 17 00:00:00 2001 +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 @@ -15,7 +15,7 @@ Signed-off-by: Arnout Vandecappelle (Essensium/Mind) 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b3841ea77b..9a37656ddd 100644 +index 206690b468..dfb4c1c329 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ AC_CANONICAL_BUILD @@ -26,7 +26,7 @@ index b3841ea77b..9a37656ddd 100644 +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.3 +2.14.4 diff --git a/buildroot/package/vlc/0004-Drop-error-implicit-function-declaration-compile-fla.patch b/buildroot/package/vlc/0004-Drop-error-implicit-function-declaration-compile-fla.patch deleted file mode 100644 index 62666b3da..000000000 --- a/buildroot/package/vlc/0004-Drop-error-implicit-function-declaration-compile-fla.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d4806743a059ec6720b5c29e7345390978614fc9 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 1 May 2018 22:29:29 +0200 -Subject: [PATCH] Drop error-implicit-function-declaration compile flag - -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 ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 9a37656ddd..b14ba46797 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -867,7 +867,7 @@ dnl - 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]) --- -2.14.3 - diff --git a/buildroot/package/vlc/0004-build-use-pkg-config-to-get-tremor-libs.patch b/buildroot/package/vlc/0004-build-use-pkg-config-to-get-tremor-libs.patch new file mode 100644 index 000000000..652718b01 --- /dev/null +++ b/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/buildroot/package/vlc/0005-Don-t-hardcode-the-name-of-the-vorbis-and-ogg-librar.patch b/buildroot/package/vlc/0005-Don-t-hardcode-the-name-of-the-vorbis-and-ogg-librar.patch deleted file mode 100644 index bd8231cd0..000000000 --- a/buildroot/package/vlc/0005-Don-t-hardcode-the-name-of-the-vorbis-and-ogg-librar.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 418e5e692a1f975d41eab3bd15895b2ba0a7eee1 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 1 May 2018 22:30:09 +0200 -Subject: [PATCH] Don't hardcode the name of the vorbis and ogg libraries - -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 ---- - modules/codec/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am -index bc39a4facc..c5cd2fb7f9 100644 ---- a/modules/codec/Makefile.am -+++ b/modules/codec/Makefile.am -@@ -234,7 +234,7 @@ codec_LTLIBRARIES += $(LTLIBtheora) - 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) - --- -2.14.3 - diff --git a/buildroot/package/vlc/0005-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch b/buildroot/package/vlc/0005-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch new file mode 100644 index 000000000..a1d718968 --- /dev/null +++ b/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/buildroot/package/vlc/0006-Don-t-assume-X11-is-available-when-Qt5-is-used.patch b/buildroot/package/vlc/0006-Don-t-assume-X11-is-available-when-Qt5-is-used.patch deleted file mode 100644 index 0a07dd735..000000000 --- a/buildroot/package/vlc/0006-Don-t-assume-X11-is-available-when-Qt5-is-used.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f87ef7f97e7e35cc1c922d5a3ff2a2275da7c22e Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 1 May 2018 22:30:39 +0200 -Subject: [PATCH] Don't assume X11 is available when Qt5 is used - -libX11 is an optional dependency for the qt4 module. - -Signed-off-by: Bernd Kuhls ---- - modules/gui/qt4/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/gui/qt4/Makefile.am b/modules/gui/qt4/Makefile.am -index 1a564cf1ea..4d12501eb7 100644 ---- a/modules/gui/qt4/Makefile.am -+++ b/modules/gui/qt4/Makefile.am -@@ -22,7 +22,7 @@ else - 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 --- -2.14.3 - diff --git a/buildroot/package/vlc/0007-Don-t-assume-strerror_l-is-available.patch b/buildroot/package/vlc/0006-Don-t-assume-strerror_l-is-available.patch similarity index 54% rename from buildroot/package/vlc/0007-Don-t-assume-strerror_l-is-available.patch rename to buildroot/package/vlc/0006-Don-t-assume-strerror_l-is-available.patch index e587b05d2..685befa6e 100644 --- a/buildroot/package/vlc/0007-Don-t-assume-strerror_l-is-available.patch +++ b/buildroot/package/vlc/0006-Don-t-assume-strerror_l-is-available.patch @@ -1,4 +1,4 @@ -From 02a0cf3635eab8b10a5a47a56aa905d925f669a8 Mon Sep 17 00:00:00 2001 +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 @@ -18,18 +18,18 @@ Signed-off-by: Bernd Kuhls 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b14ba46797..15cb4edcfd 100644 +index dfb4c1c329..bfe43512a2 100644 --- a/configure.ac +++ b/configure.ac -@@ -537,7 +537,7 @@ need_libc=false +@@ -590,7 +590,7 @@ dnl Check for system libs needed + need_libc=false 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.]) +-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 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 @@ -53,5 +53,5 @@ index db51004601..b4aa6fb3ca 100644 } -- -2.14.3 +2.14.4 diff --git a/buildroot/package/vlc/0007-posix-remove-ancient-run-time-fallback-to-real-time-.patch b/buildroot/package/vlc/0007-posix-remove-ancient-run-time-fallback-to-real-time-.patch new file mode 100644 index 000000000..4fc639e22 --- /dev/null +++ b/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/buildroot/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library-.patch b/buildroot/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library-.patch deleted file mode 100644 index d9f424130..000000000 --- a/buildroot/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From b5d4edd81bcb685cbea61b01d54afa1fe200b7d2 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 15cb4edcfd..16e44a8c61 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 07fa71eb3e..8b8595fcb8 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.14.3 - diff --git a/buildroot/package/vlc/0013-x264-drop-148-build-support-and-fix-10bit-support.patch b/buildroot/package/vlc/0008-x264-drop-148-build-support-and-fix-10bit-support.patch similarity index 87% rename from buildroot/package/vlc/0013-x264-drop-148-build-support-and-fix-10bit-support.patch rename to buildroot/package/vlc/0008-x264-drop-148-build-support-and-fix-10bit-support.patch index b9e3272fd..102ac7b65 100644 --- a/buildroot/package/vlc/0013-x264-drop-148-build-support-and-fix-10bit-support.patch +++ b/buildroot/package/vlc/0008-x264-drop-148-build-support-and-fix-10bit-support.patch @@ -1,4 +1,4 @@ -From 5d003fa5df276b62efe82329ef9ce2fd30a34f46 Mon Sep 17 00:00:00 2001 +From dd37405dc527c5653f512966263284e7e18b7f9f Mon Sep 17 00:00:00 2001 From: Ilkka Ollakka Date: Sat, 24 Mar 2018 11:23:33 +0200 Subject: [PATCH] x264: drop <148 build support and fix 10bit support @@ -9,7 +9,7 @@ Drop old #if as 148 is not that recent anymore. fixes #19581 -Rebased upstream commit +Downloaded from upstream commit http://git.videolan.org/?p=vlc.git;a=commitdiff;h=a8953ba707cca1f2de372ca24513296bcfcdaaa8 Signed-off-by: Bernd Kuhls @@ -18,10 +18,10 @@ Signed-off-by: Bernd Kuhls 1 file changed, 10 insertions(+), 55 deletions(-) diff --git a/modules/codec/x264.c b/modules/codec/x264.c -index be5d0006de..96a4b08524 100644 +index e02048f075..bcf3c89a10 100644 --- a/modules/codec/x264.c +++ b/modules/codec/x264.c -@@ -83,13 +83,7 @@ static void x264_log( void *, int i_level, const char *psz, va_list ); +@@ -84,13 +84,7 @@ static void x264_log( void *, int i_level, const char *psz, va_list ); "I-frames, but do not start a new GOP." ) #define OPENGOP_TEXT N_("Use recovery points to close GOPs") @@ -35,7 +35,7 @@ index be5d0006de..96a4b08524 100644 #define BLURAY_TEXT N_("Enable compatibility hacks for Blu-ray support") #define BLURAY_LONGTEXT N_("Enable hacks for Blu-ray support, this doesn't enforce every aspect of Blu-ray compatibility\n" \ -@@ -471,16 +465,10 @@ vlc_module_begin () +@@ -469,16 +463,10 @@ vlc_module_begin () add_integer( SOUT_CFG_PREFIX "min-keyint", 25, MIN_KEYINT_TEXT, MIN_KEYINT_LONGTEXT, true ) @@ -52,7 +52,7 @@ index be5d0006de..96a4b08524 100644 add_integer( SOUT_CFG_PREFIX "scenecut", 40, SCENE_TEXT, SCENE_LONGTEXT, true ) -@@ -500,13 +488,8 @@ vlc_module_begin () +@@ -498,13 +486,8 @@ vlc_module_begin () B_BIAS_LONGTEXT, true ) change_integer_range( -100, 100 ) @@ -66,14 +66,14 @@ index be5d0006de..96a4b08524 100644 change_string_list( bpyramid_list, bpyramid_list ) add_bool( SOUT_CFG_PREFIX "cabac", true, CABAC_TEXT, CABAC_LONGTEXT, -@@ -543,22 +526,18 @@ vlc_module_begin () +@@ -541,22 +524,18 @@ vlc_module_begin () add_bool( SOUT_CFG_PREFIX "interlaced", false, INTERLACED_TEXT, INTERLACED_LONGTEXT, true ) -#if X264_BUILD >= 111 add_integer( SOUT_CFG_PREFIX "frame-packing", -1, FRAMEPACKING_TEXT, FRAMEPACKING_LONGTEXT, true ) change_integer_list( framepacking_list, framepacking_list_text ) - change_integer_range( -1, 5) + change_integer_range( -1, 6) -#endif add_integer( SOUT_CFG_PREFIX "slices", 0, SLICE_COUNT, SLICE_COUNT_LONGTEXT, true ) @@ -89,8 +89,8 @@ index be5d0006de..96a4b08524 100644 /* Ratecontrol */ -@@ -843,20 +822,14 @@ static int Open ( vlc_object_t *p_this ) - fullrange = var_GetBool( p_enc, SOUT_CFG_PREFIX "fullrange" ); +@@ -842,20 +821,14 @@ static int Open ( vlc_object_t *p_this ) + fullrange |= p_enc->fmt_in.video.b_color_range_full; p_enc->fmt_in.i_codec = fullrange ? VLC_CODEC_J420 : VLC_CODEC_I420; p_sys->i_colorspace = X264_CSP_I420; -#if X264_BUILD >= 118 @@ -103,7 +103,7 @@ index be5d0006de..96a4b08524 100644 # ifdef MODULE_NAME_IS_x26410b - if( mask == 0) - { -- msg_Err( p_enc, "Only high bith depth encoding supported, bit depth:%d", x264_bit_depth); +- msg_Err( p_enc, "Only high bit depth encoding supported, bit depth:%d", x264_bit_depth); - return VLC_EGENERIC; - } + const int mask = X264_CSP_HIGH_DEPTH; @@ -115,7 +115,7 @@ index be5d0006de..96a4b08524 100644 if( !strcmp( psz_profile, "high10" ) ) { -@@ -879,7 +852,6 @@ static int Open ( vlc_object_t *p_this ) +@@ -878,7 +851,6 @@ static int Open ( vlc_object_t *p_this ) msg_Err( p_enc, "Only high-profiles and 10-bit are supported"); return VLC_EGENERIC; } @@ -123,7 +123,7 @@ index be5d0006de..96a4b08524 100644 # endif } # ifdef MODULE_NAME_IS_x26410b -@@ -890,7 +862,6 @@ static int Open ( vlc_object_t *p_this ) +@@ -889,7 +861,6 @@ static int Open ( vlc_object_t *p_this ) } # endif free( psz_profile ); @@ -131,7 +131,7 @@ index be5d0006de..96a4b08524 100644 p_enc->pf_encode_video = Encode; p_enc->pf_encode_audio = NULL; -@@ -913,6 +884,10 @@ static int Open ( vlc_object_t *p_this ) +@@ -912,6 +883,10 @@ static int Open ( vlc_object_t *p_this ) #else x264_param_default( &p_sys->param ); x264_param_default_preset( &p_sys->param, psz_preset, psz_tune ); @@ -142,7 +142,7 @@ index be5d0006de..96a4b08524 100644 #endif free( psz_preset ); free( psz_tune ); -@@ -1045,10 +1020,8 @@ static int Open ( vlc_object_t *p_this ) +@@ -1089,10 +1064,8 @@ static int Open ( vlc_object_t *p_this ) if( fabs( var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" ) - 1.0) > 0.005 ) p_sys->param.rc.f_aq_strength = var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" ); @@ -153,7 +153,7 @@ index be5d0006de..96a4b08524 100644 if( var_GetBool( p_enc, SOUT_CFG_PREFIX "verbose" ) ) p_sys->param.i_log_level = X264_LOG_DEBUG; -@@ -1064,26 +1037,14 @@ static int Open ( vlc_object_t *p_this ) +@@ -1108,26 +1081,14 @@ static int Open ( vlc_object_t *p_this ) i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "keyint" ); if( i_val > 0 && i_val != 250 ) p_sys->param.i_keyint_max = i_val; @@ -181,7 +181,7 @@ index be5d0006de..96a4b08524 100644 i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "bframes" ); if( i_val >= 0 && i_val <= 16 && i_val != 3 ) p_sys->param.i_bframe = i_val; -@@ -1121,14 +1082,12 @@ static int Open ( vlc_object_t *p_this ) +@@ -1165,14 +1126,12 @@ static int Open ( vlc_object_t *p_this ) if( i_val >= 1 && i_val != 7 ) p_sys->param.analyse.i_subpel_refine = i_val; @@ -196,7 +196,7 @@ index be5d0006de..96a4b08524 100644 //TODO: psz_val == NULL ? psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "me" ); -@@ -1486,11 +1445,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict ) +@@ -1531,11 +1490,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict ) int i_nal=0, i_out=0, i=0; /* init pic */ @@ -209,5 +209,5 @@ index be5d0006de..96a4b08524 100644 pic.i_pts = p_pict->date; pic.img.i_csp = p_sys->i_colorspace; -- -2.14.3 +2.14.4 diff --git a/buildroot/package/vlc/0009-Add-support-for-freerdp2.patch b/buildroot/package/vlc/0009-Add-support-for-freerdp2.patch new file mode 100644 index 000000000..75f095545 --- /dev/null +++ b/buildroot/package/vlc/0009-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/buildroot/package/vlc/0009-Changes-for-ffmpeg-3.0.patch b/buildroot/package/vlc/0009-Changes-for-ffmpeg-3.0.patch deleted file mode 100644 index a765a0a6c..000000000 --- a/buildroot/package/vlc/0009-Changes-for-ffmpeg-3.0.patch +++ /dev/null @@ -1,309 +0,0 @@ -From 960c98831ca75b08168530f1c74af07901e01963 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 1 May 2018 22:32:02 +0200 -Subject: [PATCH] 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 ---- - configure.ac | 14 +++++++------- - modules/codec/avcodec/audio.c | 2 +- - modules/codec/avcodec/encoder.c | 20 ++++++++++---------- - modules/codec/avcodec/vaapi.c | 2 +- - modules/codec/avcodec/video.c | 14 +++++++------- - modules/demux/avformat/demux.c | 10 +++++----- - 6 files changed, 31 insertions(+), 31 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 16e44a8c61..6886b2b872 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2319,7 +2319,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}" -@@ -2329,7 +2329,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" -@@ -2378,7 +2378,7 @@ AS_IF([test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"], [ - 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 -@@ -2412,7 +2412,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 -@@ -2504,7 +2504,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"]) -@@ -2533,7 +2533,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 - -@@ -3176,7 +3176,7 @@ AS_IF([test "${have_vdpau}" = "yes" -a "${have_avcodec}" = "yes"], [ - 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 -diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c -index 7068499d82..b5347ac896 100644 ---- a/modules/codec/avcodec/audio.c -+++ b/modules/codec/avcodec/audio.c -@@ -39,7 +39,7 @@ - #include - #include - --#include -+#include - - #include "avcodec.h" - -diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c -index 457078a06f..2bfc0c05f2 100644 ---- 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_t *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 *p_enc, picture_t *p_pict ) - 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 *p_enc, picture_t *p_pict ) - 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( encoder_t *p_enc, encoder_sys_t *p_sys, int - //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 *p_enc, block_t *p_aout_buf ) - 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(); -diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c -index 1d8f7fa97b..d9643d061c 100644 ---- a/modules/codec/avcodec/vaapi.c -+++ b/modules/codec/avcodec/vaapi.c -@@ -595,7 +595,7 @@ static int Create( vlc_va_t *p_va, AVCodecContext *ctx, - 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/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c -index ce5254423e..fd72d8d8e2 100644 ---- a/modules/codec/avcodec/video.c -+++ b/modules/codec/avcodec/video.c -@@ -108,8 +108,8 @@ static int lavc_GetFrame(struct AVCodecContext *, AVFrame *, int); - 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 ) - { -@@ -236,7 +236,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context, - 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 ); -@@ -448,7 +448,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context, - 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; -@@ -849,7 +849,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 ); -@@ -1336,8 +1336,8 @@ static void ffmpeg_ReleaseFrameBuf( struct AVCodecContext *p_context, - } - #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; -diff --git a/modules/demux/avformat/demux.c b/modules/demux/avformat/demux.c -index a99bdfa5b7..4e27d07d36 100644 ---- 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; - } - --- -2.14.3 - diff --git a/buildroot/package/vlc/0010-Fix-build-when-using-C99-and-C-11.patch b/buildroot/package/vlc/0010-Fix-build-when-using-C99-and-C-11.patch deleted file mode 100644 index 8f12f5325..000000000 --- a/buildroot/package/vlc/0010-Fix-build-when-using-C99-and-C-11.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 55e3ac26c1238df4c85877c32763a02c00da1345 Mon Sep 17 00:00:00 2001 -From: Thomas Guillem -Date: Thu, 30 Apr 2015 13:29:50 +0200 -Subject: [PATCH] Fix build when using C99 and C++11 - -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 ---- - include/vlc_fixups.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h -index 997f600d6a..0d4fcd0c8d 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 --- -2.14.3 - diff --git a/buildroot/package/vlc/0010-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch b/buildroot/package/vlc/0010-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch new file mode 100644 index 000000000..2b74fe0d3 --- /dev/null +++ b/buildroot/package/vlc/0010-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/buildroot/package/vlc/0011-compat-fix-static_assert.patch b/buildroot/package/vlc/0011-compat-fix-static_assert.patch deleted file mode 100644 index 7ad2414e4..000000000 --- a/buildroot/package/vlc/0011-compat-fix-static_assert.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 6b9c7e7595f8e36d3b221bedb623fa5334f62ce0 Mon Sep 17 00:00:00 2001 -From: Thomas Guillem -Date: Mon, 14 Dec 2015 09:08:25 +0100 -Subject: [PATCH] compat: fix static_assert -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -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 ---- - include/vlc_fixups.h | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h -index 0d4fcd0c8d..0990915e5f 100644 ---- a/include/vlc_fixups.h -+++ b/include/vlc_fixups.h -@@ -240,7 +240,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 - --- -2.14.3 - diff --git a/buildroot/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch b/buildroot/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch deleted file mode 100644 index 58ae02e35..000000000 --- a/buildroot/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 7ce9c408aea03da5787d952747df3be687c92da1 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.3 - diff --git a/buildroot/package/vlc/Config.in b/buildroot/package/vlc/Config.in index 166e7d256..70e1ca41a 100644 --- a/buildroot/package/vlc/Config.in +++ b/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/buildroot/package/vlc/vlc.hash b/buildroot/package/vlc/vlc.hash index 02b70ef94..af1d936f1 100644 --- a/buildroot/package/vlc/vlc.hash +++ b/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.4/vlc-3.0.4.tar.xz.sha256 +sha256 01f3db3790714038c01f5e23c709e31ecd6f1c046ac93d19e1dde38b3fc05a9e vlc-3.0.4.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.4/vlc-3.0.4.tar.xz.sha1 +sha1 218603f05ab5f30de0cc87b0ccceb57bb1efcfa4 vlc-3.0.4.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.4/vlc-3.0.4.tar.xz.md5 +md5 f5e49a0fb9594ab8debf934a710e92f1 vlc-3.0.4.tar.xz +# Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/buildroot/package/vlc/vlc.mk b/buildroot/package/vlc/vlc.mk index 56bfdced5..73f84d5eb 100644 --- a/buildroot/package/vlc/vlc.mk +++ b/buildroot/package/vlc/vlc.mk @@ -4,7 +4,7 @@ # ################################################################################ -VLC_VERSION = 2.2.8 +VLC_VERSION = 3.0.4 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/buildroot/package/vtun/0003-fixup-configure.in.patch b/buildroot/package/vtun/0003-fixup-configure.in.patch deleted file mode 100644 index cb2ac67aa..000000000 --- a/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/buildroot/package/vtun/0003-openssl11.patch b/buildroot/package/vtun/0003-openssl11.patch new file mode 100644 index 000000000..2c6bb812f --- /dev/null +++ b/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/buildroot/package/vtun/Config.in b/buildroot/package/vtun/Config.in index bb8919c3d..d63e7c76e 100644 --- a/buildroot/package/vtun/Config.in +++ b/buildroot/package/vtun/Config.in @@ -10,7 +10,4 @@ config BR2_PACKAGE_VTUN It supports IP, PPP, SLIP, Ethernet and other tunnel types. - NOTE: It uses start-stop-daemon in init script, so be sure - to enable that within busybox - http://vtun.sourceforge.net/ diff --git a/buildroot/package/vtun/vtun.hash b/buildroot/package/vtun/vtun.hash index baa6381f7..363c98098 100644 --- a/buildroot/package/vtun/vtun.hash +++ b/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/buildroot/package/vtun/vtun.mk b/buildroot/package/vtun/vtun.mk index 9c46559fb..86d452c0c 100644 --- a/buildroot/package/vtun/vtun.mk +++ b/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/buildroot/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch b/buildroot/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch new file mode 100644 index 000000000..ef54953e3 --- /dev/null +++ b/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/buildroot/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch b/buildroot/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch new file mode 100644 index 000000000..ffc1b5b8b --- /dev/null +++ b/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/buildroot/package/waffle/Config.in b/buildroot/package/waffle/Config.in new file mode 100644 index 000000000..ad622e958 --- /dev/null +++ b/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/buildroot/package/waffle/waffle.hash b/buildroot/package/waffle/waffle.hash new file mode 100644 index 000000000..5dfb976f2 --- /dev/null +++ b/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/buildroot/package/waffle/waffle.mk b/buildroot/package/waffle/waffle.mk new file mode 100644 index 000000000..c6dd0d545 --- /dev/null +++ b/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/buildroot/package/wampcc/Config.in b/buildroot/package/wampcc/Config.in new file mode 100644 index 000000000..92abc9cb2 --- /dev/null +++ b/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/buildroot/package/wampcc/wampcc.hash b/buildroot/package/wampcc/wampcc.hash new file mode 100644 index 000000000..162dcab0e --- /dev/null +++ b/buildroot/package/wampcc/wampcc.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 b3c3633b4c6a74d7ac8a676a7ea30fbfde7ae19aa1fc37de3b8aa3a553b674a2 wampcc-v1.6.tar.gz +sha256 bd185b1ec8a292d42b42346757ff6e198073e13c1e080e9ea548d34dd42d30d8 LICENSE diff --git a/buildroot/package/wampcc/wampcc.mk b/buildroot/package/wampcc/wampcc.mk new file mode 100644 index 000000000..dcd65f49d --- /dev/null +++ b/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/buildroot/package/wavemon/wavemon.hash b/buildroot/package/wavemon/wavemon.hash index 69bd2b4bf..99d738245 100644 --- a/buildroot/package/wavemon/wavemon.hash +++ b/buildroot/package/wavemon/wavemon.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c9ea57da4f8161401bcaaca17b37bcdf16ffb88baad2370afed2e15a7f71af73 wavemon-v0.8.1.tar.gz +sha256 4199e2ad11a036f4289f5ad42a8b0fe518f2b5ff77447f4c366dbcf3f23e91d5 wavemon-v0.8.2.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/buildroot/package/wavemon/wavemon.mk b/buildroot/package/wavemon/wavemon.mk index e87ab7a36..0639c3450 100644 --- a/buildroot/package/wavemon/wavemon.mk +++ b/buildroot/package/wavemon/wavemon.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAVEMON_VERSION = v0.8.1 +WAVEMON_VERSION = v0.8.2 WAVEMON_SITE = $(call github,uoaerg,wavemon,$(WAVEMON_VERSION)) WAVEMON_LICENSE = GPL-3.0+ WAVEMON_LICENSE_FILES = COPYING diff --git a/buildroot/package/waylandpp/0001-scanner-Fix-compiler-error-missing-stdexcept-to-use-.patch b/buildroot/package/waylandpp/0001-scanner-Fix-compiler-error-missing-stdexcept-to-use-.patch new file mode 100644 index 000000000..ad5b84257 --- /dev/null +++ b/buildroot/package/waylandpp/0001-scanner-Fix-compiler-error-missing-stdexcept-to-use-.patch @@ -0,0 +1,28 @@ +From 85b61589b0c73f6c6974862af678ed2f82806ac5 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 9 Aug 2018 21:44:46 +0200 +Subject: [PATCH] [scanner] Fix compiler error: missing to use + std::runtime_error + +Patch sent upstream as PR 50. + +Signed-off-by: Bernd Kuhls +--- + scanner/scanner.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/scanner/scanner.cpp b/scanner/scanner.cpp +index 9c97b7c..7019e0a 100644 +--- a/scanner/scanner.cpp ++++ b/scanner/scanner.cpp +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + #include "pugixml.hpp" + +-- +2.18.0 + diff --git a/buildroot/package/waylandpp/waylandpp.hash b/buildroot/package/waylandpp/waylandpp.hash index 3a580bf96..1b14814c4 100644 --- a/buildroot/package/waylandpp/waylandpp.hash +++ b/buildroot/package/waylandpp/waylandpp.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 e0c9012f3a5fb69922d5ecabdfbef739f1e0db3e68048b3f63537468ad5c4acd waylandpp-0.2.2.tar.gz +sha256 ebd4a8447bb65f288cad0e04538f6ec704e155213fc2b9cc1a851534c70aacac waylandpp-0.2.3.tar.gz sha256 49aa6d728fd13226952c9e3a5a9cae46379b2a501010064760172b5ce7cd94bb LICENSE sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 scanner/gpl-3.0.txt diff --git a/buildroot/package/waylandpp/waylandpp.mk b/buildroot/package/waylandpp/waylandpp.mk index 5c9c96b37..ff17c35c1 100644 --- a/buildroot/package/waylandpp/waylandpp.mk +++ b/buildroot/package/waylandpp/waylandpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLANDPP_VERSION = 0.2.2 +WAYLANDPP_VERSION = 0.2.3 WAYLANDPP_SITE = $(call github,NilsBrause,waylandpp,$(WAYLANDPP_VERSION)) WAYLANDPP_LICENSE = MIT, GPL-3.0+ (wayland_scanner) WAYLANDPP_LICENSE_FILES = LICENSE scanner/gpl-3.0.txt diff --git a/buildroot/package/webkitgtk/Config.in b/buildroot/package/webkitgtk/Config.in index 31794ed2a..8714677b6 100644 --- a/buildroot/package/webkitgtk/Config.in +++ b/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,19 +12,35 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt -comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 5, host gcc >= 4.8" +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 || \ !BR2_TOOLCHAIN_USES_GLIBC || \ !BR2_HOST_GCC_AT_LEAST_4_8 || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_5 + !BR2_TOOLCHAIN_GCC_AT_LEAST_6 depends on BR2_USE_MMU config BR2_PACKAGE_WEBKITGTK bool "webkitgtk" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_PACKAGE_LIBGTK3 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS @@ -41,6 +58,8 @@ config BR2_PACKAGE_WEBKITGTK select BR2_PACKAGE_LIBXSLT select BR2_PACKAGE_SQLITE select BR2_PACKAGE_WEBP + select BR2_PACKAGE_WEBP_DEMUX + select BR2_PACKAGE_WOFF2 select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11 select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11 select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11 @@ -67,6 +86,8 @@ comment "webkitgtk https support needs a toolchain w/ dynamic library" config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA bool "multimedia support" select BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_GST1_PLUGINS_BAD + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX select BR2_PACKAGE_GST1_PLUGINS_BASE select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP @@ -84,6 +105,21 @@ config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA This option pulls in all of the required dependencies to enable multimedia (video/audio) support. +if BR2_PACKAGE_WEBKITGTK_MULTIMEDIA + +config BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL + bool "use gstreamer-gl" + default y + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL + select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL + help + Use the GStreamer GL elements for handling video content. + This is recommended as it improves performance of video + playback. In some target configurations incorrect rendering + might be produced, and disabling this option may help. + +endif + config BR2_PACKAGE_WEBKITGTK_WEBDRIVER bool "WebDriver support" help diff --git a/buildroot/package/webkitgtk/webkitgtk.hash b/buildroot/package/webkitgtk/webkitgtk.hash index dd2b28d37..15b1b5668 100644 --- a/buildroot/package/webkitgtk/webkitgtk.hash +++ b/buildroot/package/webkitgtk/webkitgtk.hash @@ -1,7 +1,7 @@ -# From https://webkitgtk.org/releases/webkitgtk-2.18.6.tar.xz.sums -md5 c1a548595135ee75ad3bf2e18ac83112 webkitgtk-2.18.6.tar.xz -sha1 fb0daa85142cfe8822de518dfaa7bd5c3cdd6c23 webkitgtk-2.18.6.tar.xz -sha256 93912cc2f40f12e452be1ca4babdbdaac0ec4f828d441257a6b06c2963bbac3c webkitgtk-2.18.6.tar.xz +# 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 # Hashes for license files: sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE diff --git a/buildroot/package/webkitgtk/webkitgtk.mk b/buildroot/package/webkitgtk/webkitgtk.mk index eb39664b1..4cfddd1eb 100644 --- a/buildroot/package/webkitgtk/webkitgtk.mk +++ b/buildroot/package/webkitgtk/webkitgtk.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.18.6 +WEBKITGTK_VERSION = 2.22.4 WEBKITGTK_SITE = http://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES @@ -14,7 +14,7 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \ enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \ - libtasn1 libxml2 libxslt sqlite webp + libtasn1 libxml2 libxslt sqlite webp woff2 WEBKITGTK_CONF_OPTS = \ -DENABLE_API_TESTS=OFF \ -DENABLE_GEOLOCATION=OFF \ @@ -24,11 +24,10 @@ WEBKITGTK_CONF_OPTS = \ -DENABLE_SPELLCHECK=ON \ -DPORT=GTK \ -DUSE_LIBNOTIFY=OFF \ - -DUSE_LIBHYPHEN=OFF + -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 @@ -96,4 +95,11 @@ WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON endif endif +ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y) +WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON +WEBKITGTK_DEPENDENCIES += gst1-plugins-bad +else +WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF +endif + $(eval $(cmake-package)) diff --git a/buildroot/package/webp/webp.hash b/buildroot/package/webp/webp.hash index ffb63b8e2..7dd954ef0 100644 --- a/buildroot/package/webp/webp.hash +++ b/buildroot/package/webp/webp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 06503c782d9f151baa325591c3579c68ed700ffc62d4f5a32feead0ff017d8ab libwebp-0.6.1.tar.gz +sha256 84259c4388f18637af3c5a6361536d754a5394492f91be1abc2e981d4983225b libwebp-1.0.0.tar.gz sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf COPYING diff --git a/buildroot/package/webp/webp.mk b/buildroot/package/webp/webp.mk index f5ca34241..30364743e 100644 --- a/buildroot/package/webp/webp.mk +++ b/buildroot/package/webp/webp.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBP_VERSION = 0.6.1 +WEBP_VERSION = 1.0.0 WEBP_SOURCE = libwebp-$(WEBP_VERSION).tar.gz WEBP_SITE = http://downloads.webmproject.org/releases/webp WEBP_LICENSE = BSD-3-Clause diff --git a/buildroot/package/weston/0002-rdp-compositor-fix-compilation-against-FreeRDP-2.0.0.patch b/buildroot/package/weston/0002-rdp-compositor-fix-compilation-against-FreeRDP-2.0.0.patch new file mode 100644 index 000000000..1d02e0c0d --- /dev/null +++ b/buildroot/package/weston/0002-rdp-compositor-fix-compilation-against-FreeRDP-2.0.0.patch @@ -0,0 +1,181 @@ +From 029583e56e6eaad4139e39b4cf908158ab8cc91a Mon Sep 17 00:00:00 2001 +From: David Fort +Date: Sun, 27 May 2018 23:56:43 +0200 +Subject: [PATCH] rdp-compositor: fix compilation against FreeRDP 2.0.0 rc2 + +The SURFACE_BITS_COMMAND struct has changed and some members have been moved in the +bmp field. + +Reviewed-by: Pekka Paalanen +Tested-by: Pekka Paalanen +[yann.morin.1998@free.fr: backported from upstream] +Signed-off-by: "Yann E. MORIN" +--- + configure.ac | 9 +++++- + libweston/compositor-rdp.c | 69 +++++++++++++++++++++++++++++----------------- + 2 files changed, 52 insertions(+), 26 deletions(-) + +diff --git a/configure.ac b/configure.ac +index da3f7342..1dce05fa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -264,10 +264,17 @@ if test x$enable_rdp_compositor = xyes; then + [], + [PKG_CHECK_MODULES(RDP_COMPOSITOR, [freerdp >= 1.1.0],[])] + ) +- + SAVED_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $RDP_COMPOSITOR_CFLAGS" ++ + AC_CHECK_HEADERS([freerdp/version.h]) ++ AC_CHECK_MEMBER([SURFACE_BITS_COMMAND.bmp], ++ [AC_DEFINE([HAVE_SURFACE_BITS_BMP], [1], [SURFACE_BITS_CMD has bmp field])], ++ [], ++ [[#include ]] ++ ) ++ ++ + CPPFLAGS="$SAVED_CPPFLAGS" + fi + +diff --git a/libweston/compositor-rdp.c b/libweston/compositor-rdp.c +index fd0651af..134e7298 100644 +--- a/libweston/compositor-rdp.c ++++ b/libweston/compositor-rdp.c +@@ -66,6 +66,22 @@ + #define FREERDP_CB_RETURN(V) return TRUE + #endif + ++#ifdef HAVE_SURFACE_BITS_BMP ++#define SURFACE_BPP(cmd) cmd->bmp.bpp ++#define SURFACE_CODECID(cmd) cmd->bmp.codecID ++#define SURFACE_WIDTH(cmd) cmd->bmp.width ++#define SURFACE_HEIGHT(cmd) cmd->bmp.height ++#define SURFACE_BITMAP_DATA(cmd) cmd->bmp.bitmapData ++#define SURFACE_BITMAP_DATA_LEN(cmd) cmd->bmp.bitmapDataLength ++#else ++#define SURFACE_BPP(cmd) cmd->bpp ++#define SURFACE_CODECID(cmd) cmd->codecID ++#define SURFACE_WIDTH(cmd) cmd->width ++#define SURFACE_HEIGHT(cmd) cmd->height ++#define SURFACE_BITMAP_DATA(cmd) cmd->bitmapData ++#define SURFACE_BITMAP_DATA_LEN(cmd) cmd->bitmapDataLength ++#endif ++ + #include + #include + #include +@@ -200,10 +216,10 @@ rdp_peer_refresh_rfx(pixman_region32_t *damage, pixman_image_t *image, freerdp_p + cmd->destTop = damage->extents.y1; + cmd->destRight = damage->extents.x2; + cmd->destBottom = damage->extents.y2; +- cmd->bpp = 32; +- cmd->codecID = peer->settings->RemoteFxCodecId; +- cmd->width = width; +- cmd->height = height; ++ SURFACE_BPP(cmd) = 32; ++ SURFACE_CODECID(cmd) = peer->settings->RemoteFxCodecId; ++ SURFACE_WIDTH(cmd) = width; ++ SURFACE_HEIGHT(cmd) = height; + + ptr = pixman_image_get_data(image) + damage->extents.x1 + + damage->extents.y1 * (pixman_image_get_stride(image) / sizeof(uint32_t)); +@@ -226,8 +242,8 @@ rdp_peer_refresh_rfx(pixman_region32_t *damage, pixman_image_t *image, freerdp_p + pixman_image_get_stride(image) + ); + +- cmd->bitmapDataLength = Stream_GetPosition(context->encode_stream); +- cmd->bitmapData = Stream_Buffer(context->encode_stream); ++ SURFACE_BITMAP_DATA_LEN(cmd) = Stream_GetPosition(context->encode_stream); ++ SURFACE_BITMAP_DATA(cmd) = Stream_Buffer(context->encode_stream); + + update->SurfaceBits(update->context, cmd); + } +@@ -253,23 +269,26 @@ rdp_peer_refresh_nsc(pixman_region32_t *damage, pixman_image_t *image, freerdp_p + #else + memset(cmd, 0, sizeof(*cmd)); + #endif ++ + cmd->destLeft = damage->extents.x1; + cmd->destTop = damage->extents.y1; + cmd->destRight = damage->extents.x2; + cmd->destBottom = damage->extents.y2; +- cmd->bpp = 32; +- cmd->codecID = peer->settings->NSCodecId; +- cmd->width = width; +- cmd->height = height; ++ SURFACE_BPP(cmd) = 32; ++ SURFACE_CODECID(cmd) = peer->settings->NSCodecId; ++ SURFACE_WIDTH(cmd) = width; ++ SURFACE_HEIGHT(cmd) = height; + + ptr = pixman_image_get_data(image) + damage->extents.x1 + + damage->extents.y1 * (pixman_image_get_stride(image) / sizeof(uint32_t)); + + nsc_compose_message(context->nsc_context, context->encode_stream, (BYTE *)ptr, +- cmd->width, cmd->height, ++ width, height, + pixman_image_get_stride(image)); +- cmd->bitmapDataLength = Stream_GetPosition(context->encode_stream); +- cmd->bitmapData = Stream_Buffer(context->encode_stream); ++ ++ SURFACE_BITMAP_DATA_LEN(cmd) = Stream_GetPosition(context->encode_stream); ++ SURFACE_BITMAP_DATA(cmd) = Stream_Buffer(context->encode_stream); ++ + update->SurfaceBits(update->context, cmd); + } + +@@ -306,16 +325,16 @@ rdp_peer_refresh_raw(pixman_region32_t *region, pixman_image_t *image, freerdp_p + update->SurfaceFrameMarker(peer->context, marker); + + memset(cmd, 0, sizeof(*cmd)); +- cmd->bpp = 32; +- cmd->codecID = 0; ++ SURFACE_BPP(cmd) = 32; ++ SURFACE_CODECID(cmd) = 0; + + for (i = 0; i < nrects; i++, rect++) { + /*weston_log("rect(%d,%d, %d,%d)\n", rect->x1, rect->y1, rect->x2, rect->y2);*/ + cmd->destLeft = rect->x1; + cmd->destRight = rect->x2; +- cmd->width = rect->x2 - rect->x1; ++ SURFACE_WIDTH(cmd) = rect->x2 - rect->x1; + +- heightIncrement = peer->settings->MultifragMaxRequestSize / (16 + cmd->width * 4); ++ heightIncrement = peer->settings->MultifragMaxRequestSize / (16 + SURFACE_WIDTH(cmd) * 4); + remainingHeight = rect->y2 - rect->y1; + top = rect->y1; + +@@ -323,21 +342,21 @@ rdp_peer_refresh_raw(pixman_region32_t *region, pixman_image_t *image, freerdp_p + subrect.x2 = rect->x2; + + while (remainingHeight) { +- cmd->height = (remainingHeight > heightIncrement) ? heightIncrement : remainingHeight; ++ SURFACE_HEIGHT(cmd) = (remainingHeight > heightIncrement) ? heightIncrement : remainingHeight; + cmd->destTop = top; +- cmd->destBottom = top + cmd->height; +- cmd->bitmapDataLength = cmd->width * cmd->height * 4; +- cmd->bitmapData = (BYTE *)realloc(cmd->bitmapData, cmd->bitmapDataLength); ++ cmd->destBottom = top + SURFACE_HEIGHT(cmd); ++ SURFACE_BITMAP_DATA_LEN(cmd) = SURFACE_WIDTH(cmd) * SURFACE_HEIGHT(cmd) * 4; ++ SURFACE_BITMAP_DATA(cmd) = (BYTE *)realloc(SURFACE_BITMAP_DATA(cmd), SURFACE_BITMAP_DATA_LEN(cmd)); + + subrect.y1 = top; +- subrect.y2 = top + cmd->height; +- pixman_image_flipped_subrect(&subrect, image, cmd->bitmapData); ++ subrect.y2 = top + SURFACE_HEIGHT(cmd); ++ pixman_image_flipped_subrect(&subrect, image, SURFACE_BITMAP_DATA(cmd)); + + /*weston_log("* sending (%d,%d, %d,%d)\n", subrect.x1, subrect.y1, subrect.x2, subrect.y2); */ + update->SurfaceBits(peer->context, cmd); + +- remainingHeight -= cmd->height; +- top += cmd->height; ++ remainingHeight -= SURFACE_HEIGHT(cmd); ++ top += SURFACE_HEIGHT(cmd); + } + } + +-- +2.14.1 + diff --git a/buildroot/package/weston/weston.mk b/buildroot/package/weston/weston.mk index e9de56b2c..71211fe5e 100644 --- a/buildroot/package/weston/weston.mk +++ b/buildroot/package/weston/weston.mk @@ -10,6 +10,9 @@ WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz WESTON_LICENSE = MIT WESTON_LICENSE_FILES = COPYING +# 0002-rdp-compositor-fix-compilation-against-FreeRDP-2.0.0.patch +WESTON_AUTORECONF = YES + WESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \ libxkbcommon pixman libpng jpeg udev cairo libinput libdrm \ $(if $(BR2_PACKAGE_WEBP),webp) @@ -50,10 +53,9 @@ 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_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 \ diff --git a/buildroot/package/wf111/wf111.hash b/buildroot/package/wf111/wf111.hash new file mode 100644 index 000000000..e3a5c484f --- /dev/null +++ b/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/buildroot/package/wf111/wf111.mk b/buildroot/package/wf111/wf111.mk index 72526333f..fd9cb1960 100644 --- a/buildroot/package/wf111/wf111.mk +++ b/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/buildroot/package/wget/wget.mk b/buildroot/package/wget/wget.mk index 72a73cce7..28bd0a264 100644 --- a/buildroot/package/wget/wget.mk +++ b/buildroot/package/wget/wget.mk @@ -11,11 +11,6 @@ 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 diff --git a/buildroot/package/whois/whois.hash b/buildroot/package/whois/whois.hash index 29623b529..4fdfebce0 100644 --- a/buildroot/package/whois/whois.hash +++ b/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/20180715T153200Z/pool/main/w/whois/whois_5.3.2.dsc +sha256 79714ba89172bca08a2443f59885daa4af0c5f8d6a49bc9e7f2a83559a286354 whois_5.3.2.tar.xz + +# Hash for license file: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/buildroot/package/whois/whois.mk b/buildroot/package/whois/whois.mk index 22117cf3a..c162f1cf3 100644 --- a/buildroot/package/whois/whois.mk +++ b/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.3.2 +WHOIS_SITE = http://snapshot.debian.org/archive/debian/20180715T153200Z/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/buildroot/package/wine/wine.hash b/buildroot/package/wine/wine.hash index 176e0ee65..855130c6f 100644 --- a/buildroot/package/wine/wine.hash +++ b/buildroot/package/wine/wine.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 346a050aca5cd0d9978a655af11c30e68c201a58aea0c70d5e4c4f1b63c2fbec wine-3.0.tar.xz +sha256 eb645999ea6f6455a5275bf267e19a32497c8f5aac818ea40afe7c8c396a4da1 wine-3.0.3.tar.xz diff --git a/buildroot/package/wine/wine.mk b/buildroot/package/wine/wine.mk index b6b3aae50..fa672f0c7 100644 --- a/buildroot/package/wine/wine.mk +++ b/buildroot/package/wine/wine.mk @@ -4,7 +4,7 @@ # ################################################################################ -WINE_VERSION = 3.0 +WINE_VERSION = 3.0.3 WINE_SOURCE = wine-$(WINE_VERSION).tar.xz WINE_SITE = https://dl.winehq.org/wine/source/3.0 WINE_LICENSE = LGPL-2.1+ diff --git a/buildroot/package/wireguard/wireguard.hash b/buildroot/package/wireguard/wireguard.hash index d0cd65ad4..737f7b49c 100644 --- a/buildroot/package/wireguard/wireguard.hash +++ b/buildroot/package/wireguard/wireguard.hash @@ -1,4 +1,4 @@ -# From https://lists.zx2c4.com/pipermail/wireguard/2018-July/003112.html -sha256 5e38d554f7d1e3a64e3a5319ca1a3b790c84ed89c896586c490a93ac1f953a91 WireGuard-0.0.20180708.tar.xz +# From https://lists.zx2c4.com/pipermail/wireguard/2018-October/003479.html +sha256 af05824211b27cbeeea2b8d6b76be29552c0d80bfe716471215e4e43d259e327 WireGuard-0.0.20181018.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/buildroot/package/wireguard/wireguard.mk b/buildroot/package/wireguard/wireguard.mk index cc8ad7c4c..f3ea1bccf 100644 --- a/buildroot/package/wireguard/wireguard.mk +++ b/buildroot/package/wireguard/wireguard.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIREGUARD_VERSION = 0.0.20180708 +WIREGUARD_VERSION = 0.0.20181018 WIREGUARD_SITE = https://git.zx2c4.com/WireGuard/snapshot WIREGUARD_SOURCE = WireGuard-$(WIREGUARD_VERSION).tar.xz WIREGUARD_LICENSE = GPL-2.0 diff --git a/buildroot/package/wireless-regdb/Config.in b/buildroot/package/wireless-regdb/Config.in index d9c7b8d2d..17350a41d 100644 --- a/buildroot/package/wireless-regdb/Config.in +++ b/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. - http://linuxwireless.org/en/developers/Regulatory + 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/buildroot/package/wireless-regdb/wireless-regdb.hash b/buildroot/package/wireless-regdb/wireless-regdb.hash index 4163609d1..aa035d0ef 100644 --- a/buildroot/package/wireless-regdb/wireless-regdb.hash +++ b/buildroot/package/wireless-regdb/wireless-regdb.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/software/network/wireless-regdb/sha256sums.asc -sha256 371eafa3b26ece916ef83aca02c4bed2e54099eb5b8c6d22d3a4358dce6535b9 wireless-regdb-2017.03.07.tar.xz +sha256 a36b8147f1a3e98e1fd44321a4b8d7ad2f03cac98cdf527ccb1693342f08d65a wireless-regdb-2018.09.07.tar.xz +# Locally computed +sha256 678b0df753c86198fc496d1f1033429bbd57f101472132ee7eaaf9f5e0a7fae1 LICENSE diff --git a/buildroot/package/wireless-regdb/wireless-regdb.mk b/buildroot/package/wireless-regdb/wireless-regdb.mk index e3381adef..c509c7c7f 100644 --- a/buildroot/package/wireless-regdb/wireless-regdb.mk +++ b/buildroot/package/wireless-regdb/wireless-regdb.mk @@ -4,17 +4,23 @@ # ################################################################################ -WIRELESS_REGDB_VERSION = 2017.03.07 +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/buildroot/package/wireless_tools/Config.in b/buildroot/package/wireless_tools/Config.in index e33af25b8..349908dbd 100644 --- a/buildroot/package/wireless_tools/Config.in +++ b/buildroot/package/wireless_tools/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_WIRELESS_TOOLS help A collection of tools to configure wireless lan cards. - http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html + https://hewlettpackard.github.io/wireless-tools/ if BR2_PACKAGE_WIRELESS_TOOLS diff --git a/buildroot/package/wireless_tools/wireless_tools.mk b/buildroot/package/wireless_tools/wireless_tools.mk index 51320a9b2..b87ab20fb 100644 --- a/buildroot/package/wireless_tools/wireless_tools.mk +++ b/buildroot/package/wireless_tools/wireless_tools.mk @@ -6,7 +6,7 @@ WIRELESS_TOOLS_VERSION_MAJOR = 30 WIRELESS_TOOLS_VERSION = $(WIRELESS_TOOLS_VERSION_MAJOR).pre9 -WIRELESS_TOOLS_SITE = http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux +WIRELESS_TOOLS_SITE = https://hewlettpackard.github.io/wireless-tools WIRELESS_TOOLS_SOURCE = wireless_tools.$(WIRELESS_TOOLS_VERSION).tar.gz WIRELESS_TOOLS_LICENSE = GPL-2.0 WIRELESS_TOOLS_LICENSE_FILES = COPYING diff --git a/buildroot/package/wireshark/0001-configure.ac-do-not-assume-broken-inet_pton-in-case-.patch b/buildroot/package/wireshark/0001-configure.ac-do-not-assume-broken-inet_pton-in-case-.patch deleted file mode 100644 index 1e44ad094..000000000 --- a/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/buildroot/package/wireshark/0002-androiddump-add-missing-sys-time.h-header.patch b/buildroot/package/wireshark/0002-androiddump-add-missing-sys-time.h-header.patch deleted file mode 100644 index ae1198018..000000000 --- a/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/buildroot/package/wireshark/Config.in b/buildroot/package/wireshark/Config.in index 4d5a2157f..0cf14f2f8 100644 --- a/buildroot/package/wireshark/Config.in +++ b/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/buildroot/package/wireshark/wireshark.hash b/buildroot/package/wireshark/wireshark.hash index 4b9c646fa..a0178b9f5 100644 --- a/buildroot/package/wireshark/wireshark.hash +++ b/buildroot/package/wireshark/wireshark.hash @@ -1,4 +1,4 @@ -# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.15.txt -sha256 d73583e9282d47c42b69fc3a1ac9cafb6047d1305f5027d4cf18e95922d11844 wireshark-2.2.15.tar.bz2 +# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.6.4.txt +sha256 a06b007e6343f148b8b93443b2fcfc9bb3204311cd268565d54d1b71660bc861 wireshark-2.6.4.tar.xz # Locally calculated sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING diff --git a/buildroot/package/wireshark/wireshark.mk b/buildroot/package/wireshark/wireshark.mk index c9a4ef202..4720960e5 100644 --- a/buildroot/package/wireshark/wireshark.mk +++ b/buildroot/package/wireshark/wireshark.mk @@ -4,27 +4,21 @@ # ################################################################################ -WIRESHARK_VERSION = 2.2.15 -WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2 +WIRESHARK_VERSION = 2.6.4 +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)$(BR2_PACKAGE_LUA_5_2),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/buildroot/package/wiringpi/0001-Adjust-for-buildroot-build.patch b/buildroot/package/wiringpi/0001-Adjust-for-buildroot-build.patch index 520555c8e..2f4f0c1f0 100644 --- a/buildroot/package/wiringpi/0001-Adjust-for-buildroot-build.patch +++ b/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/buildroot/package/wiringpi/Config.in b/buildroot/package/wiringpi/Config.in index 2062a6208..92f5dc653 100644 --- a/buildroot/package/wiringpi/Config.in +++ b/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/buildroot/package/wiringpi/wiringpi.hash b/buildroot/package/wiringpi/wiringpi.hash index f4832e5fa..9c4fe22f5 100644 --- a/buildroot/package/wiringpi/wiringpi.hash +++ b/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/buildroot/package/wiringpi/wiringpi.mk b/buildroot/package/wiringpi/wiringpi.mk index f2e9e246d..0c3774917 100644 --- a/buildroot/package/wiringpi/wiringpi.mk +++ b/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/buildroot/package/wolfssl/wolfssl.mk b/buildroot/package/wolfssl/wolfssl.mk index ec83d7d1d..c246b0851 100644 --- a/buildroot/package/wolfssl/wolfssl.mk +++ b/buildroot/package/wolfssl/wolfssl.mk @@ -7,6 +7,7 @@ WOLFSSL_VERSION = 3.14.0 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 diff --git a/buildroot/package/wpa_supplicant/wpa_supplicant.hash b/buildroot/package/wpa_supplicant/wpa_supplicant.hash index 65a6ae246..dbc443821 100644 --- a/buildroot/package/wpa_supplicant/wpa_supplicant.hash +++ b/buildroot/package/wpa_supplicant/wpa_supplicant.hash @@ -7,3 +7,5 @@ sha256 793a54748161b5af430dd9de4a1988d19cb8e85ab29bc2340f886b0297cee20b rebase 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 diff --git a/buildroot/package/wpa_supplicant/wpa_supplicant.mk b/buildroot/package/wpa_supplicant/wpa_supplicant.mk index 75ecbaa53..2b451996e 100644 --- a/buildroot/package/wpa_supplicant/wpa_supplicant.mk +++ b/buildroot/package/wpa_supplicant/wpa_supplicant.mk @@ -13,7 +13,8 @@ WPA_SUPPLICANT_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/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/buildroot/package/x11r7/Config.in b/buildroot/package/x11r7/Config.in index ddceaa407..f1396bbf0 100644 --- a/buildroot/package/x11r7/Config.in +++ b/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/buildroot/package/x11r7/xapp_mkfontscale/Config.in b/buildroot/package/x11r7/xapp_mkfontscale/Config.in index 540dd455f..d0a9d8965 100644 --- a/buildroot/package/x11r7/xapp_mkfontscale/Config.in +++ b/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/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk b/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk index 12416b4d6..a07d2f4fb 100644 --- a/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk +++ b/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk @@ -9,9 +9,9 @@ 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/buildroot/package/x11r7/xapp_rgb/Config.in b/buildroot/package/x11r7/xapp_rgb/Config.in index 038b849d4..7198b5f1a 100644 --- a/buildroot/package/x11r7/xapp_rgb/Config.in +++ b/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/buildroot/package/x11r7/xapp_rgb/xapp_rgb.mk b/buildroot/package/x11r7/xapp_rgb/xapp_rgb.mk index 82878abad..d63576f44 100644 --- a/buildroot/package/x11r7/xapp_rgb/xapp_rgb.mk +++ b/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 $(eval $(autotools-package)) diff --git a/buildroot/package/x11r7/xapp_sessreg/Config.in b/buildroot/package/x11r7/xapp_sessreg/Config.in index 0796bc1bc..c9048b3b7 100644 --- a/buildroot/package/x11r7/xapp_sessreg/Config.in +++ b/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/buildroot/package/x11r7/xapp_sessreg/xapp_sessreg.mk b/buildroot/package/x11r7/xapp_sessreg/xapp_sessreg.mk index c6e9463d3..46935aed9 100644 --- a/buildroot/package/x11r7/xapp_sessreg/xapp_sessreg.mk +++ b/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/buildroot/package/x11r7/xapp_xconsole/Config.in b/buildroot/package/x11r7/xapp_xconsole/Config.in index 7baf4ff6a..3d796bd3c 100644 --- a/buildroot/package/x11r7/xapp_xconsole/Config.in +++ b/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/buildroot/package/x11r7/xapp_xconsole/xapp_xconsole.mk b/buildroot/package/x11r7/xapp_xconsole/xapp_xconsole.mk index 52656de83..a91b98dc6 100644 --- a/buildroot/package/x11r7/xapp_xconsole/xapp_xconsole.mk +++ b/buildroot/package/x11r7/xapp_xconsole/xapp_xconsole.mk @@ -10,7 +10,7 @@ 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 $(eval $(autotools-package)) diff --git a/buildroot/package/x11r7/xapp_xdm/Config.in b/buildroot/package/x11r7/xapp_xdm/Config.in index 69829701c..af816a134 100644 --- a/buildroot/package/x11r7/xapp_xdm/Config.in +++ b/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/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk b/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk index 8f846a82a..2c213a6bf 100644 --- a/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk +++ b/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk @@ -10,7 +10,15 @@ 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-utmp-file=/var/adm/utmpx \ --with-wtmp-file=/var/adm/wtmpx diff --git a/buildroot/package/x11r7/xapp_xdriinfo/Config.in b/buildroot/package/x11r7/xapp_xdriinfo/Config.in index 2b204d917..df65b491a 100644 --- a/buildroot/package/x11r7/xapp_xdriinfo/Config.in +++ b/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/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk b/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk index 00dea8c7a..7f7aac9e1 100644 --- a/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk +++ b/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk @@ -9,6 +9,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/buildroot/package/x11r7/xapp_xfindproxy/Config.in b/buildroot/package/x11r7/xapp_xfindproxy/Config.in index b186ab65b..e452dc965 100644 --- a/buildroot/package/x11r7/xapp_xfindproxy/Config.in +++ b/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/buildroot/package/x11r7/xapp_xfindproxy/xapp_xfindproxy.mk b/buildroot/package/x11r7/xapp_xfindproxy/xapp_xfindproxy.mk index 7662a902a..7832e0ca9 100644 --- a/buildroot/package/x11r7/xapp_xfindproxy/xapp_xfindproxy.mk +++ b/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/buildroot/package/x11r7/xapp_xfs/Config.in b/buildroot/package/x11r7/xapp_xfs/Config.in index b708af8c0..19e675b26 100644 --- a/buildroot/package/x11r7/xapp_xfs/Config.in +++ b/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/buildroot/package/x11r7/xapp_xfs/xapp_xfs.mk b/buildroot/package/x11r7/xapp_xfs/xapp_xfs.mk index f4fe35dfb..9177a65b9 100644 --- a/buildroot/package/x11r7/xapp_xfs/xapp_xfs.mk +++ b/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/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash b/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash index 56631411d..86fd033e3 100644 --- a/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash +++ b/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash @@ -1,7 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2018-March/002843.html -md5 07df9790d30f9a369d20a418af784de0 xkbcomp-1.4.1.tar.bz2 -sha1 e7585cdb357b9d20c8f3c8a9d06f7e897934a772 xkbcomp-1.4.1.tar.bz2 -sha256 748dc4cf58ac95684106bd9cf163ac6ab7de9a236faec02a6f4d4006d63a5736 xkbcomp-1.4.1.tar.bz2 -sha512 443397e112f67e2ebc5150ec0dbf0f4a072ea39585d964d2c7cbd0569b7e0ce7d8bed0bc2c2d886343fdb060c941e65b42aac16adf189c66e90849029e278f23 xkbcomp-1.4.1.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/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk b/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk index 369e1f3fe..9fcd8c058 100644 --- a/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk +++ b/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XKBCOMP_VERSION = 1.4.1 +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/buildroot/package/x11r7/xapp_xsetpointer/Config.in b/buildroot/package/x11r7/xapp_xsetpointer/Config.in index 2b0b4624e..0deb6d811 100644 --- a/buildroot/package/x11r7/xapp_xsetpointer/Config.in +++ b/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/buildroot/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.mk b/buildroot/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.mk index f56cdd58a..a34b7e637 100644 --- a/buildroot/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-evdev/Config.in b/buildroot/package/x11r7/xdriver_xf86-input-evdev/Config.in index 70e950dc7..fe4e451ed 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-evdev/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.mk b/buildroot/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.mk index 4933c42fd..ded7fa77f 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-joystick/Config.in b/buildroot/package/x11r7/xdriver_xf86-input-joystick/Config.in index ff9f25f54..892d1a161 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-joystick/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk b/buildroot/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk index 5bc2a5caf..0ec4be5e5 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-keyboard/Config.in b/buildroot/package/x11r7/xdriver_xf86-input-keyboard/Config.in index 0a0352424..ee23033b9 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-keyboard/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk b/buildroot/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk index 01a6859cd..fb1e28964 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-libinput/Config.in b/buildroot/package/x11r7/xdriver_xf86-input-libinput/Config.in index 0f2db1bd1..0cfbfc664 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-libinput/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash b/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash index 1c260d0b4..c6f2577bd 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash +++ b/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash @@ -1,7 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2018-April/002889.html -md5 bdad198a7a9f2ce2c1f90d5e6760462b xf86-input-libinput-0.27.1.tar.bz2 -sha1 70ba045975b6484f16d11b32fbbb7e7194d2e0fd xf86-input-libinput-0.27.1.tar.bz2 -sha256 d4ad8dc5ad6f962a3f15f61ba9e9f8e37fa0b57eee9f484e2bd721d60ca72ee6 xf86-input-libinput-0.27.1.tar.bz2 -sha512 01379f5d71bf39214c4dff428173512df57fd12e782f3fcde757be923aa0dbf4e010a0395a81bd8e4fb518edc7e05ca1ee64b1e313eb4df5d4990315580609a1 xf86-input-libinput-0.27.1.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/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk b/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk index 1723b3fcf..83de5c961 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk +++ b/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk @@ -4,12 +4,12 @@ # ################################################################################ -XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 0.27.1 +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/buildroot/package/x11r7/xdriver_xf86-input-mouse/Config.in b/buildroot/package/x11r7/xdriver_xf86-input-mouse/Config.in index 20e1803a9..efa181e55 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-mouse/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash b/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash index caba427b2..551ff9d84 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk b/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk index 5bcbeb70f..3886fa7aa 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-synaptics/Config.in b/buildroot/package/x11r7/xdriver_xf86-input-synaptics/Config.in index ffe1a2a44..b974265b3 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-synaptics/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk b/buildroot/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk index 6bd9cc49c..0708110e9 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-tslib/Config.in b/buildroot/package/x11r7/xdriver_xf86-input-tslib/Config.in index 4e77abcb1..9205cba6b 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-tslib/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk b/buildroot/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk index bf0ee4860..f8944f352 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/Config.in b/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/Config.in index de989eb34..d77def028 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/xdriver_xf86-input-vmmouse.mk b/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/xdriver_xf86-input-vmmouse.mk index 6e9cf8b78..b8c77de5f 100644 --- a/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/xdriver_xf86-input-vmmouse.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in index 968c5e767..43090c755 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash b/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash index d0fae63e6..999f97181 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash +++ b/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash @@ -1,7 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2018-March/002883.html -md5 d8368d204cb98d4387c8890562db1143 xf86-video-amdgpu-18.0.1.tar.bz2 -sha1 a9c7125eae9870f26afa5167d5683f8d5e1b43c0 xf86-video-amdgpu-18.0.1.tar.bz2 -sha256 7484682ccb403b3ca9e26d1c980572f08cdfa3469e2b2c9a9affc3d51b52691b xf86-video-amdgpu-18.0.1.tar.bz2 -sha512 eb3b76240d4e5084d68b5063b5b19ad5f5bb1f93ea9929301d9e17a48ddc1cb713b76529cb93d133b3547fe78ae8a4455f6b15f6ddf88c29349f82bb1a0db1c4 xf86-video-amdgpu-18.0.1.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/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk b/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk index 5c1fb3f84..6a8266d0b 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk +++ b/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_AMDGPU_VERSION = 18.0.1 +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/buildroot/package/x11r7/xdriver_xf86-video-ark/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-ark/Config.in index cecedde02..e1219affa 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-ark/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk b/buildroot/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk index c0b905b8d..3f2a63609 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-ast/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-ast/Config.in index 5dfe95e53..2ebe8fc2f 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-ast/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-ast/xdriver_xf86-video-ast.mk b/buildroot/package/x11r7/xdriver_xf86-video-ast/xdriver_xf86-video-ast.mk index 3c9eb9115..b39bbf9a1 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-ast/xdriver_xf86-video-ast.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-ati/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-ati/Config.in index 00d91bda5..fdf1ebd18 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-ati/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash b/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash index d37096e9e..e9581cb08 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash +++ b/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash @@ -1,7 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2018-March/002884.html -md5 40e7c0a5a69aba3d84e0958f58705ea7 xf86-video-ati-18.0.1.tar.bz2 -sha1 b5a0b6a2fa839d668a3fb90280fede95f0bc130d xf86-video-ati-18.0.1.tar.bz2 -sha256 72ea3b8127d4550b64f797457f5a7851a541fa4ee2cc3f345b6c1886b81714a0 xf86-video-ati-18.0.1.tar.bz2 -sha512 b468a78503a596bbf71a1b91b231ce1fa32908f619ff2dfe249352d046696a3641f2a9ff065e32545fff77100134b4b237591215e78ef885b6509d6b16112d14 xf86-video-ati-18.0.1.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/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk b/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk index 872669539..e89929d29 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk +++ b/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_ATI_VERSION = 18.0.1 +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/buildroot/package/x11r7/xdriver_xf86-video-cirrus/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-cirrus/Config.in index 11c9df8e0..2987c3f0f 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-cirrus/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-cirrus/xdriver_xf86-video-cirrus.mk b/buildroot/package/x11r7/xdriver_xf86-video-cirrus/xdriver_xf86-video-cirrus.mk index 78e8a9c05..fa776a24d 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-cirrus/xdriver_xf86-video-cirrus.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-dummy/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-dummy/Config.in index 00f7e1df4..58c70a841 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-dummy/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk b/buildroot/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk index fff1495ef..3127f6cb1 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-fbdev/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-fbdev/Config.in index 9f7c5402b..0ecba482f 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-fbdev/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk b/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk index 7d08c7da1..f39311e61 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/Config.in index 7825901e9..7acf93e26 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/xdriver_xf86-video-fbturbo.mk b/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/xdriver_xf86-video-fbturbo.mk index 15f4cd109..58a70416d 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/xdriver_xf86-video-fbturbo.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-geode/0001-Remove-call-to-LoaderGetOS.patch b/buildroot/package/x11r7/xdriver_xf86-video-geode/0001-Remove-call-to-LoaderGetOS.patch new file mode 100644 index 000000000..18e4a60da --- /dev/null +++ b/buildroot/package/x11r7/xdriver_xf86-video-geode/0001-Remove-call-to-LoaderGetOS.patch @@ -0,0 +1,53 @@ +From 09aaa3d1fae4aeb099b16e7a046151761bcdea95 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 24 Jan 2017 09:53:06 -0500 +Subject: Remove call to LoaderGetOS + +On OSes that don't have a /dev/videox we'll just fail the open() and not +initialize the Xv adaptor. + +Signed-off-by: Adam Jackson + +Downloaded from upstream commit +https://cgit.freedesktop.org/xorg/driver/xf86-video-geode/commit/?id=09aaa3d1fae4aeb099b16e7a046151761bcdea95 + +Signed-off-by: Bernd Kuhls +--- + src/z4l.c | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/src/z4l.c b/src/z4l.c +index eccefe8..be0d345 100644 +--- a/src/z4l.c ++++ b/src/z4l.c +@@ -1709,7 +1709,6 @@ _X_EXPORT XF86ModuleData ztvModuleData = { &z4lVersionRec, z4lSetup, NULL }; + static pointer + z4lSetup(pointer module, pointer opts, int *errmaj, int *errmin) + { +- const char *osname; + static Bool setupDone = FALSE; + + if (setupDone != FALSE) { +@@ -1719,19 +1718,7 @@ z4lSetup(pointer module, pointer opts, int *errmaj, int *errmin) + } + + setupDone = TRUE; +- LoaderGetOS(&osname, NULL, NULL, NULL); +- +- if (osname == NULL || strcmp(osname, "linux") != 0) { +- if (errmaj) +- *errmaj = LDR_BADOS; +- if (errmin) +- *errmin = 0; +- +- return NULL; +- } +- + xf86AddDriver(&Z4l, module, 0); +- + return (pointer) 1; + } + +-- +cgit v1.1 + diff --git a/buildroot/package/x11r7/xdriver_xf86-video-geode/0002-gx-Fix-RANDR-initialization-for-xserver-1.20.patch b/buildroot/package/x11r7/xdriver_xf86-video-geode/0002-gx-Fix-RANDR-initialization-for-xserver-1.20.patch new file mode 100644 index 000000000..37e4a25e7 --- /dev/null +++ b/buildroot/package/x11r7/xdriver_xf86-video-geode/0002-gx-Fix-RANDR-initialization-for-xserver-1.20.patch @@ -0,0 +1,35 @@ +From 8382e6bb0c76a8029493eae3f2d7a3dbfd0cfc12 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Mon, 5 Mar 2018 10:28:15 -0500 +Subject: gx: Fix RANDR initialization for xserver 1.20 + +xf86DisableRandR() doesn't exist anymore, and we don't need it anyway, +the core code will notice that we set up RANDR ourselves. + +Signed-off-by: Adam Jackson + +Downloaded from upstream commit +https://cgit.freedesktop.org/xorg/driver/xf86-video-geode/commit/?id=8382e6bb0c76a8029493eae3f2d7a3dbfd0cfc12 + +Signed-off-by: Bernd Kuhls +--- + src/gx_driver.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/gx_driver.c b/src/gx_driver.c +index ab57df1..4de336e 100644 +--- a/src/gx_driver.c ++++ b/src/gx_driver.c +@@ -1426,7 +1426,9 @@ GXScreenInit(SCREEN_INIT_ARGS_DECL) + + /* Set up RandR */ + ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 24 + xf86DisableRandR(); /* We provide our own RandR goodness */ ++#endif + + /* Try to set up the shadow FB for rotation */ + +-- +cgit v1.1 + diff --git a/buildroot/package/x11r7/xdriver_xf86-video-geode/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-geode/Config.in index fe217b922..b432f2d4a 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-geode/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk b/buildroot/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk index 9138abdbe..54616f65f 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-glint/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-glint/Config.in index acae30b0b..c474f6c91 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-glint/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.mk b/buildroot/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.mk index 52bc567e5..fba003075 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-i128/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-i128/Config.in index 30b240cc1..4f4810cc0 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-i128/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk b/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk index 1bb760cee..148fc3d1d 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk +++ b/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_I128_SOURCE = xf86-video-i128-$(XDRIVER_XF86_VIDEO_I128_VERSI 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/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/Config.in index 5a0257305..13cee14de 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk b/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk index 222d74ac4..091342754 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-imx/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-imx/Config.in index 398d49e1f..410a45841 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-imx/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk b/buildroot/package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk index 5684a6db1..b80c6b773 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-intel/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-intel/Config.in index dc2fabf40..c4152b7cf 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-intel/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash b/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash index 1852540cb..469649ec3 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash +++ b/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e3a107fadcdeef35830a12a305b09dfa793a33a54930a0ecd5e84a6156f546eb xdriver_xf86-video-intel-84eaaba2737b2765f3fe843a138002ad0056a52b.tar.gz +sha256 8a008db80964700c57db407fe9fab78884d6919bd5343a269f681625132b4687 xdriver_xf86-video-intel-3d395062ce73f85e8340218df01c2ebf4bc25023.tar.gz sha256 5808e89f4b9a30afc59f335bfa8219ecf2dacb89a81d16b322bc6d92993a48fa COPYING diff --git a/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk b/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk index fa0f650db..66b0f9def 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk +++ b/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_INTEL_VERSION = 84eaaba2737b2765f3fe843a138002ad0056a52b +XDRIVER_XF86_VIDEO_INTEL_VERSION = 3d395062ce73f85e8340218df01c2ebf4bc25023 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/buildroot/package/x11r7/xdriver_xf86-video-mach64/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-mach64/Config.in index 82de826ad..71c89dd29 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-mach64/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash b/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash index 43a7fa707..55acd7465 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk b/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk index 599036033..e6f8d7471 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-mga/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-mga/Config.in index a504ec0c2..15fb3b9f8 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-mga/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk b/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk index 065a68ea6..bdc9f3588 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk +++ b/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk @@ -10,7 +10,7 @@ XDRIVER_XF86_VIDEO_MGA_SITE = http://xorg.freedesktop.org/archive/individual/dri 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/buildroot/package/x11r7/xdriver_xf86-video-neomagic/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-neomagic/Config.in index f8c8c47fc..5f36a48f4 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-neomagic/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk b/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk index cfd55361e..93cd55a11 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk +++ b/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_NEOMAGIC_SOURCE = xf86-video-neomagic-$(XDRIVER_XF86_VIDEO_NE 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/buildroot/package/x11r7/xdriver_xf86-video-nouveau/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-nouveau/Config.in index 7e756e210..c9fd2e3d2 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-nouveau/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk b/buildroot/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk index e3969a264..41b6fd6d4 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-nv/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-nv/Config.in index 8898f5672..5ff8b798c 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-nv/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-nv/xdriver_xf86-video-nv.mk b/buildroot/package/x11r7/xdriver_xf86-video-nv/xdriver_xf86-video-nv.mk index 430ce4a1d..1e5fc26dd 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-nv/xdriver_xf86-video-nv.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-openchrome/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-openchrome/Config.in index 02723eca6..a93d14376 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-openchrome/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk b/buildroot/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk index 9ab032b6b..0a669e186 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-qxl/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-qxl/Config.in index 967ecaf52..40f61fd69 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-qxl/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk b/buildroot/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk index f410f8e95..ffbac05ec 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch b/buildroot/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch deleted file mode 100644 index 7b2ebd4b8..000000000 --- a/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/buildroot/package/x11r7/xdriver_xf86-video-r128/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-r128/Config.in index 22ba4931e..e1e2dd2f3 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-r128/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash b/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash index b6d8bd819..eee286509 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk b/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk index 344b48415..455cfbad8 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-savage/0002-xorg-xserver120.patch b/buildroot/package/x11r7/xdriver_xf86-video-savage/0002-xorg-xserver120.patch new file mode 100644 index 000000000..4c695960d --- /dev/null +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-savage/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-savage/Config.in index 77dde8761..bc6ca5237 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-savage/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk b/buildroot/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk index ae1dea34a..d7311aa91 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in index 727004a55..036a2f1c8 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.mk b/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.mk index 53b19f9fe..65fd84653 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-sis/0002-Remove-reference-to-virtualFrom.patch b/buildroot/package/x11r7/xdriver_xf86-video-sis/0002-Remove-reference-to-virtualFrom.patch new file mode 100644 index 000000000..c9e05efb7 --- /dev/null +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-sis/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-sis/Config.in index 3c86bd403..db01cf2af 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-sis/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk b/buildroot/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk index 833246e35..af80e15da 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-tdfx/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-tdfx/Config.in index 96a69ba25..959dc3104 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-tdfx/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk b/buildroot/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk index 471e6cf4d..6511eec7a 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-tga/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-tga/Config.in index 9d03db3b3..7c75661ac 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-tga/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.mk b/buildroot/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.mk index 8af5ac81e..421b09be2 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-trident/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-trident/Config.in index 15ac3ea72..ca7069c80 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-trident/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk b/buildroot/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk index 727744c53..20ec4bbc2 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-vesa/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-vesa/Config.in index 98f434704..fb4e4e8e9 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-vesa/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.mk b/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.mk index d2a920519..425280a11 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.mk +++ b/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_VESA_SOURCE = xf86-video-vesa-$(XDRIVER_XF86_VIDEO_VESA_VERSI 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/buildroot/package/x11r7/xdriver_xf86-video-vmware/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-vmware/Config.in index a3382d734..6d937b47b 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-vmware/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash b/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash index 8d948a7d4..f07e06147 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk b/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk index 1b2066d27..5f0cb77bf 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-voodoo/Config.in b/buildroot/package/x11r7/xdriver_xf86-video-voodoo/Config.in index f531676da..f4612120e 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-voodoo/Config.in +++ b/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/buildroot/package/x11r7/xdriver_xf86-video-voodoo/xdriver_xf86-video-voodoo.mk b/buildroot/package/x11r7/xdriver_xf86-video-voodoo/xdriver_xf86-video-voodoo.mk index e1ef0c6ca..d6deaa797 100644 --- a/buildroot/package/x11r7/xdriver_xf86-video-voodoo/xdriver_xf86-video-voodoo.mk +++ b/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/buildroot/package/x11r7/xkeyboard-config/Config.in b/buildroot/package/x11r7/xkeyboard-config/Config.in index 5d1d6a72e..c94174242 100644 --- a/buildroot/package/x11r7/xkeyboard-config/Config.in +++ b/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/buildroot/package/x11r7/xlib_libFS/Config.in b/buildroot/package/x11r7/xlib_libFS/Config.in index 0c8a7290c..6ff0bcc36 100644 --- a/buildroot/package/x11r7/xlib_libFS/Config.in +++ b/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/buildroot/package/x11r7/xlib_libFS/xlib_libFS.mk b/buildroot/package/x11r7/xlib_libFS/xlib_libFS.mk index a3c58b90d..56f2dc3cb 100644 --- a/buildroot/package/x11r7/xlib_libFS/xlib_libFS.mk +++ b/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/buildroot/package/x11r7/xlib_libICE/Config.in b/buildroot/package/x11r7/xlib_libICE/Config.in index d63f93560..ccdd40039 100644 --- a/buildroot/package/x11r7/xlib_libICE/Config.in +++ b/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/buildroot/package/x11r7/xlib_libICE/xlib_libICE.mk b/buildroot/package/x11r7/xlib_libICE/xlib_libICE.mk index e2a4e7d38..982e8fdef 100644 --- a/buildroot/package/x11r7/xlib_libICE/xlib_libICE.mk +++ b/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/buildroot/package/x11r7/xlib_libSM/Config.in b/buildroot/package/x11r7/xlib_libSM/Config.in index ef83b531f..02ee2bd23 100644 --- a/buildroot/package/x11r7/xlib_libSM/Config.in +++ b/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/buildroot/package/x11r7/xlib_libSM/xlib_libSM.hash b/buildroot/package/x11r7/xlib_libSM/xlib_libSM.hash index 79dc25c22..1653dc6d7 100644 --- a/buildroot/package/x11r7/xlib_libSM/xlib_libSM.hash +++ b/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/buildroot/package/x11r7/xlib_libSM/xlib_libSM.mk b/buildroot/package/x11r7/xlib_libSM/xlib_libSM.mk index 30640bd10..708224e2d 100644 --- a/buildroot/package/x11r7/xlib_libSM/xlib_libSM.mk +++ b/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/buildroot/package/x11r7/xlib_libX11/Config.in b/buildroot/package/x11r7/xlib_libX11/Config.in index 3ad8d00ae..d69c51b91 100644 --- a/buildroot/package/x11r7/xlib_libX11/Config.in +++ b/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/buildroot/package/x11r7/xlib_libX11/xlib_libX11.hash b/buildroot/package/x11r7/xlib_libX11/xlib_libX11.hash index b1a87b18e..5dac4f114 100644 --- a/buildroot/package/x11r7/xlib_libX11/xlib_libX11.hash +++ b/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/buildroot/package/x11r7/xlib_libX11/xlib_libX11.mk b/buildroot/package/x11r7/xlib_libX11/xlib_libX11.mk index 64344da73..87929c42e 100644 --- a/buildroot/package/x11r7/xlib_libX11/xlib_libX11.mk +++ b/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/buildroot/package/x11r7/xlib_libXScrnSaver/Config.in b/buildroot/package/x11r7/xlib_libXScrnSaver/Config.in index 5df9a00c7..05c96d74c 100644 --- a/buildroot/package/x11r7/xlib_libXScrnSaver/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash b/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash index d5340baf1..266840114 100644 --- a/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash +++ b/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/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.mk b/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.mk index f22ee983c..92abb902e 100644 --- a/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.mk +++ b/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/buildroot/package/x11r7/xlib_libXau/Config.in b/buildroot/package/x11r7/xlib_libXau/Config.in index a220f0197..0323faa3e 100644 --- a/buildroot/package/x11r7/xlib_libXau/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXau/xlib_libXau.mk b/buildroot/package/x11r7/xlib_libXau/xlib_libXau.mk index 1c50cb2e4..0fc78e706 100644 --- a/buildroot/package/x11r7/xlib_libXau/xlib_libXau.mk +++ b/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/buildroot/package/x11r7/xlib_libXaw/Config.in b/buildroot/package/x11r7/xlib_libXaw/Config.in index 3695bb679..bda4ded26 100644 --- a/buildroot/package/x11r7/xlib_libXaw/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXaw/xlib_libXaw.mk b/buildroot/package/x11r7/xlib_libXaw/xlib_libXaw.mk index d78adffed..17d51a957 100644 --- a/buildroot/package/x11r7/xlib_libXaw/xlib_libXaw.mk +++ b/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/buildroot/package/x11r7/xlib_libXcomposite/Config.in b/buildroot/package/x11r7/xlib_libXcomposite/Config.in index 14da977af..b417140ae 100644 --- a/buildroot/package/x11r7/xlib_libXcomposite/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.mk b/buildroot/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.mk index f0e59cba1..e84b52e3f 100644 --- a/buildroot/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.mk +++ b/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/buildroot/package/x11r7/xlib_libXcursor/Config.in b/buildroot/package/x11r7/xlib_libXcursor/Config.in index 6519cc766..0c70f9591 100644 --- a/buildroot/package/x11r7/xlib_libXcursor/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk b/buildroot/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk index b27aa653e..6ee76039e 100644 --- a/buildroot/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk +++ b/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/buildroot/package/x11r7/xlib_libXdamage/Config.in b/buildroot/package/x11r7/xlib_libXdamage/Config.in index 242748663..d1a07dea9 100644 --- a/buildroot/package/x11r7/xlib_libXdamage/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXdamage/xlib_libXdamage.mk b/buildroot/package/x11r7/xlib_libXdamage/xlib_libXdamage.mk index 9f982eef1..d52b4e0e2 100644 --- a/buildroot/package/x11r7/xlib_libXdamage/xlib_libXdamage.mk +++ b/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/buildroot/package/x11r7/xlib_libXdmcp/Config.in b/buildroot/package/x11r7/xlib_libXdmcp/Config.in index 218ff1598..832822e91 100644 --- a/buildroot/package/x11r7/xlib_libXdmcp/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk b/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk index ec1b861b9..44a6f0054 100644 --- a/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk +++ b/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/buildroot/package/x11r7/xlib_libXext/Config.in b/buildroot/package/x11r7/xlib_libXext/Config.in index 823a165bf..58c9ce55e 100644 --- a/buildroot/package/x11r7/xlib_libXext/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXext/xlib_libXext.mk b/buildroot/package/x11r7/xlib_libXext/xlib_libXext.mk index 211c85360..02fee222b 100644 --- a/buildroot/package/x11r7/xlib_libXext/xlib_libXext.mk +++ b/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/buildroot/package/x11r7/xlib_libXfixes/Config.in b/buildroot/package/x11r7/xlib_libXfixes/Config.in index 9bbabb255..2c3b6684f 100644 --- a/buildroot/package/x11r7/xlib_libXfixes/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk b/buildroot/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk index b7d835bb3..f563ba34e 100644 --- a/buildroot/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk +++ b/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/buildroot/package/x11r7/xlib_libXfont/Config.in b/buildroot/package/x11r7/xlib_libXfont/Config.in index cc1da0ea3..4658027da 100644 --- a/buildroot/package/x11r7/xlib_libXfont/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXfont/xlib_libXfont.mk b/buildroot/package/x11r7/xlib_libXfont/xlib_libXfont.mk index 30163eec6..a1acfba83 100644 --- a/buildroot/package/x11r7/xlib_libXfont/xlib_libXfont.mk +++ b/buildroot/package/x11r7/xlib_libXfont/xlib_libXfont.mk @@ -9,14 +9,13 @@ XLIB_LIBXFONT_SOURCE = libXfont-$(XLIB_LIBXFONT_VERSION).tar.bz2 XLIB_LIBXFONT_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXFONT_LICENSE = MIT XLIB_LIBXFONT_LICENSE_FILES = COPYING -XLIB_LIBXFONT_AUTORECONF = YES 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/buildroot/package/x11r7/xlib_libXfont2/Config.in b/buildroot/package/x11r7/xlib_libXfont2/Config.in index 6cba46586..fc2ebfe22 100644 --- a/buildroot/package/x11r7/xlib_libXfont2/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk b/buildroot/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk index 3f1bdee43..ba2c7540c 100644 --- a/buildroot/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk +++ b/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/buildroot/package/x11r7/xlib_libXft/Config.in b/buildroot/package/x11r7/xlib_libXft/Config.in index 6eef17017..84967a55e 100644 --- a/buildroot/package/x11r7/xlib_libXft/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXft/xlib_libXft.mk b/buildroot/package/x11r7/xlib_libXft/xlib_libXft.mk index de9b47093..9c5757e65 100644 --- a/buildroot/package/x11r7/xlib_libXft/xlib_libXft.mk +++ b/buildroot/package/x11r7/xlib_libXft/xlib_libXft.mk @@ -9,8 +9,7 @@ XLIB_LIBXFT_SOURCE = libXft-$(XLIB_LIBXFT_VERSION).tar.bz2 XLIB_LIBXFT_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXFT_LICENSE = MIT XLIB_LIBXFT_LICENSE_FILES = COPYING -XLIB_LIBXFT_AUTORECONF = YES 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/buildroot/package/x11r7/xlib_libXi/Config.in b/buildroot/package/x11r7/xlib_libXi/Config.in index 3ae22d630..313130690 100644 --- a/buildroot/package/x11r7/xlib_libXi/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXi/xlib_libXi.mk b/buildroot/package/x11r7/xlib_libXi/xlib_libXi.mk index d593c1e95..283373891 100644 --- a/buildroot/package/x11r7/xlib_libXi/xlib_libXi.mk +++ b/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/buildroot/package/x11r7/xlib_libXinerama/Config.in b/buildroot/package/x11r7/xlib_libXinerama/Config.in index 5a79b4eb7..f8ea95953 100644 --- a/buildroot/package/x11r7/xlib_libXinerama/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash b/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash index 6dfd7770d..995181dd1 100644 --- a/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash +++ b/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/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk b/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk index ee8bf5560..405faefa4 100644 --- a/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk +++ b/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/buildroot/package/x11r7/xlib_libXmu/Config.in b/buildroot/package/x11r7/xlib_libXmu/Config.in index ed239dc11..b58892083 100644 --- a/buildroot/package/x11r7/xlib_libXmu/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXmu/xlib_libXmu.mk b/buildroot/package/x11r7/xlib_libXmu/xlib_libXmu.mk index 261f87138..b3f3db3e5 100644 --- a/buildroot/package/x11r7/xlib_libXmu/xlib_libXmu.mk +++ b/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/buildroot/package/x11r7/xlib_libXpm/Config.in b/buildroot/package/x11r7/xlib_libXpm/Config.in index 528498cb4..9a15d77d8 100644 --- a/buildroot/package/x11r7/xlib_libXpm/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk b/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk index 09f897ea0..7e11c4b5a 100644 --- a/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk +++ b/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/buildroot/package/x11r7/xlib_libXrandr/Config.in b/buildroot/package/x11r7/xlib_libXrandr/Config.in index 3b3ebd579..e019ca5ef 100644 --- a/buildroot/package/x11r7/xlib_libXrandr/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXrandr/xlib_libXrandr.mk b/buildroot/package/x11r7/xlib_libXrandr/xlib_libXrandr.mk index 0fd298c50..1bfd78f73 100644 --- a/buildroot/package/x11r7/xlib_libXrandr/xlib_libXrandr.mk +++ b/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/buildroot/package/x11r7/xlib_libXrender/Config.in b/buildroot/package/x11r7/xlib_libXrender/Config.in index c723e4df4..4487ef1fa 100644 --- a/buildroot/package/x11r7/xlib_libXrender/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXrender/xlib_libXrender.mk b/buildroot/package/x11r7/xlib_libXrender/xlib_libXrender.mk index 6134c4538..870f94386 100644 --- a/buildroot/package/x11r7/xlib_libXrender/xlib_libXrender.mk +++ b/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/buildroot/package/x11r7/xlib_libXres/Config.in b/buildroot/package/x11r7/xlib_libXres/Config.in index 39abbbfd3..4e135ed3a 100644 --- a/buildroot/package/x11r7/xlib_libXres/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXres/xlib_libXres.mk b/buildroot/package/x11r7/xlib_libXres/xlib_libXres.mk index 0075e8f60..72f2ec442 100644 --- a/buildroot/package/x11r7/xlib_libXres/xlib_libXres.mk +++ b/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/buildroot/package/x11r7/xlib_libXt/Config.in b/buildroot/package/x11r7/xlib_libXt/Config.in index 6557e20bc..0f5578088 100644 --- a/buildroot/package/x11r7/xlib_libXt/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXt/xlib_libXt.mk b/buildroot/package/x11r7/xlib_libXt/xlib_libXt.mk index 4715ac642..946fd517a 100644 --- a/buildroot/package/x11r7/xlib_libXt/xlib_libXt.mk +++ b/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/buildroot/package/x11r7/xlib_libXtst/Config.in b/buildroot/package/x11r7/xlib_libXtst/Config.in index 8853bde8d..2c7db2246 100644 --- a/buildroot/package/x11r7/xlib_libXtst/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXtst/xlib_libXtst.mk b/buildroot/package/x11r7/xlib_libXtst/xlib_libXtst.mk index d71290ae4..e0d7e8217 100644 --- a/buildroot/package/x11r7/xlib_libXtst/xlib_libXtst.mk +++ b/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/buildroot/package/x11r7/xlib_libXv/Config.in b/buildroot/package/x11r7/xlib_libXv/Config.in index 90f07f34b..d3e57445a 100644 --- a/buildroot/package/x11r7/xlib_libXv/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXv/xlib_libXv.mk b/buildroot/package/x11r7/xlib_libXv/xlib_libXv.mk index 0e02439fa..0ff99b938 100644 --- a/buildroot/package/x11r7/xlib_libXv/xlib_libXv.mk +++ b/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/buildroot/package/x11r7/xlib_libXvMC/Config.in b/buildroot/package/x11r7/xlib_libXvMC/Config.in index 90c0e74e4..5cc6ec766 100644 --- a/buildroot/package/x11r7/xlib_libXvMC/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXvMC/xlib_libXvMC.mk b/buildroot/package/x11r7/xlib_libXvMC/xlib_libXvMC.mk index cb39c29f2..c970182fe 100644 --- a/buildroot/package/x11r7/xlib_libXvMC/xlib_libXvMC.mk +++ b/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/buildroot/package/x11r7/xlib_libXxf86dga/Config.in b/buildroot/package/x11r7/xlib_libXxf86dga/Config.in index 8276b7178..918ea0f15 100644 --- a/buildroot/package/x11r7/xlib_libXxf86dga/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk b/buildroot/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk index eea756bdb..59ebd2b41 100644 --- a/buildroot/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk +++ b/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/buildroot/package/x11r7/xlib_libXxf86vm/Config.in b/buildroot/package/x11r7/xlib_libXxf86vm/Config.in index 9e32188ec..c3b11f421 100644 --- a/buildroot/package/x11r7/xlib_libXxf86vm/Config.in +++ b/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/buildroot/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk b/buildroot/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk index f650fe4e2..2106451c7 100644 --- a/buildroot/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk +++ b/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/buildroot/package/x11r7/xlib_libdmx/Config.in b/buildroot/package/x11r7/xlib_libdmx/Config.in index 879f6895c..99cddb638 100644 --- a/buildroot/package/x11r7/xlib_libdmx/Config.in +++ b/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/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.hash b/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.hash index 9f715359b..1090e3c2d 100644 --- a/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.hash +++ b/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/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.mk b/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.mk index fbe3067fe..c67593e9a 100644 --- a/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.mk +++ b/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/buildroot/package/x11r7/xlib_libfontenc/Config.in b/buildroot/package/x11r7/xlib_libfontenc/Config.in index d25e96a5a..38cb8333c 100644 --- a/buildroot/package/x11r7/xlib_libfontenc/Config.in +++ b/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/buildroot/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk b/buildroot/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk index e2c4c6e8d..cb84ae4ee 100644 --- a/buildroot/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk +++ b/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_XLIB_LIBFONTENC_DEPENDENCIES = host-zlib host-xproto_xproto +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/buildroot/package/x11r7/xlib_libxkbfile/Config.in b/buildroot/package/x11r7/xlib_libxkbfile/Config.in index ccd35fa10..0d7e46600 100644 --- a/buildroot/package/x11r7/xlib_libxkbfile/Config.in +++ b/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/buildroot/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk b/buildroot/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk index c69d73118..97755fae8 100644 --- a/buildroot/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk +++ b/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/buildroot/package/x11r7/xlib_libxshmfence/Config.in b/buildroot/package/x11r7/xlib_libxshmfence/Config.in index d4e87b3e8..710476b35 100644 --- a/buildroot/package/x11r7/xlib_libxshmfence/Config.in +++ b/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/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk b/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk index f51cf0d5c..605408fff 100644 --- a/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk +++ b/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk @@ -10,9 +10,6 @@ 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 - -# 0001-configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch -XLIB_LIBXSHMFENCE_AUTORECONF = YES +XLIB_LIBXSHMFENCE_DEPENDENCIES = host-pkgconf xorgproto $(eval $(autotools-package)) diff --git a/buildroot/package/x11r7/xorgproto/Config.in b/buildroot/package/x11r7/xorgproto/Config.in new file mode 100644 index 000000000..af38eb436 --- /dev/null +++ b/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/buildroot/package/x11r7/xorgproto/xorgproto.hash b/buildroot/package/x11r7/xorgproto/xorgproto.hash new file mode 100644 index 000000000..c4e779575 --- /dev/null +++ b/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/buildroot/package/x11r7/xorgproto/xorgproto.mk b/buildroot/package/x11r7/xorgproto/xorgproto.mk new file mode 100644 index 000000000..3f7d25b06 --- /dev/null +++ b/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/buildroot/package/x11r7/xproto_applewmproto/Config.in b/buildroot/package/x11r7/xproto_applewmproto/Config.in deleted file mode 100644 index 51a5fd5ce..000000000 --- a/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/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.hash b/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.hash deleted file mode 100644 index 695de3cd1..000000000 --- a/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/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.mk b/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.mk deleted file mode 100644 index 998d0aa33..000000000 --- a/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/buildroot/package/x11r7/xproto_bigreqsproto/Config.in b/buildroot/package/x11r7/xproto_bigreqsproto/Config.in deleted file mode 100644 index c431ef2bb..000000000 --- a/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/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.hash b/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.hash deleted file mode 100644 index 7d70dca8c..000000000 --- a/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/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.mk b/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.mk deleted file mode 100644 index bca5a3cdf..000000000 --- a/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/buildroot/package/x11r7/xproto_compositeproto/Config.in b/buildroot/package/x11r7/xproto_compositeproto/Config.in deleted file mode 100644 index 136900a07..000000000 --- a/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/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.hash b/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.hash deleted file mode 100644 index c6ef73c21..000000000 --- a/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/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.mk b/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.mk deleted file mode 100644 index 21613582e..000000000 --- a/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/buildroot/package/x11r7/xproto_damageproto/Config.in b/buildroot/package/x11r7/xproto_damageproto/Config.in deleted file mode 100644 index 068ed2b40..000000000 --- a/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/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.hash b/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.hash deleted file mode 100644 index e5064b62a..000000000 --- a/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/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.mk b/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.mk deleted file mode 100644 index 0311ea490..000000000 --- a/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/buildroot/package/x11r7/xproto_dmxproto/Config.in b/buildroot/package/x11r7/xproto_dmxproto/Config.in deleted file mode 100644 index dc048b1fd..000000000 --- a/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/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.hash b/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.hash deleted file mode 100644 index 041f580e4..000000000 --- a/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/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.mk b/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.mk deleted file mode 100644 index 4cc795c21..000000000 --- a/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/buildroot/package/x11r7/xproto_dri2proto/Config.in b/buildroot/package/x11r7/xproto_dri2proto/Config.in deleted file mode 100644 index 3fe5aa1ad..000000000 --- a/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/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.hash b/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.hash deleted file mode 100644 index e3ea0bc1e..000000000 --- a/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/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.mk b/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.mk deleted file mode 100644 index e4ed7d8bf..000000000 --- a/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/buildroot/package/x11r7/xproto_dri3proto/Config.in b/buildroot/package/x11r7/xproto_dri3proto/Config.in deleted file mode 100644 index eead7d478..000000000 --- a/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/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.hash b/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.hash deleted file mode 100644 index 6e1da4d3f..000000000 --- a/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/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.mk b/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.mk deleted file mode 100644 index bdbff74ff..000000000 --- a/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/buildroot/package/x11r7/xproto_fixesproto/Config.in b/buildroot/package/x11r7/xproto_fixesproto/Config.in deleted file mode 100644 index d419fa13d..000000000 --- a/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/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.hash b/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.hash deleted file mode 100644 index d19f39244..000000000 --- a/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/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.mk b/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.mk deleted file mode 100644 index 55212b267..000000000 --- a/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/buildroot/package/x11r7/xproto_fontcacheproto/Config.in b/buildroot/package/x11r7/xproto_fontcacheproto/Config.in deleted file mode 100644 index daa6c7f20..000000000 --- a/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/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.hash b/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.hash deleted file mode 100644 index 7363e224b..000000000 --- a/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/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.mk b/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.mk deleted file mode 100644 index 0cb205ad5..000000000 --- a/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/buildroot/package/x11r7/xproto_fontsproto/Config.in b/buildroot/package/x11r7/xproto_fontsproto/Config.in deleted file mode 100644 index b00220c27..000000000 --- a/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/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.hash b/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.hash deleted file mode 100644 index 6a21058b9..000000000 --- a/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/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.mk b/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.mk deleted file mode 100644 index b4e6d6a84..000000000 --- a/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/buildroot/package/x11r7/xproto_glproto/Config.in b/buildroot/package/x11r7/xproto_glproto/Config.in deleted file mode 100644 index 28ceb9cc8..000000000 --- a/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/buildroot/package/x11r7/xproto_glproto/xproto_glproto.hash b/buildroot/package/x11r7/xproto_glproto/xproto_glproto.hash deleted file mode 100644 index fce6a2222..000000000 --- a/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/buildroot/package/x11r7/xproto_glproto/xproto_glproto.mk b/buildroot/package/x11r7/xproto_glproto/xproto_glproto.mk deleted file mode 100644 index ccfc6de66..000000000 --- a/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/buildroot/package/x11r7/xproto_inputproto/Config.in b/buildroot/package/x11r7/xproto_inputproto/Config.in deleted file mode 100644 index fcccb26ca..000000000 --- a/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/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.hash b/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.hash deleted file mode 100644 index 4ecdddc56..000000000 --- a/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/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.mk b/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.mk deleted file mode 100644 index 20169b5c4..000000000 --- a/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.mk +++ /dev/null @@ -1,16 +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 - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/buildroot/package/x11r7/xproto_kbproto/Config.in b/buildroot/package/x11r7/xproto_kbproto/Config.in deleted file mode 100644 index ce568d7ad..000000000 --- a/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/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.hash b/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.hash deleted file mode 100644 index c98e595a1..000000000 --- a/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/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.mk b/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.mk deleted file mode 100644 index b6c818f70..000000000 --- a/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/buildroot/package/x11r7/xproto_presentproto/Config.in b/buildroot/package/x11r7/xproto_presentproto/Config.in deleted file mode 100644 index 586008df4..000000000 --- a/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/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.hash b/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.hash deleted file mode 100644 index aa45d9167..000000000 --- a/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/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.mk b/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.mk deleted file mode 100644 index 0097b9cdd..000000000 --- a/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/buildroot/package/x11r7/xproto_randrproto/Config.in b/buildroot/package/x11r7/xproto_randrproto/Config.in deleted file mode 100644 index 097ec8f22..000000000 --- a/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/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.hash b/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.hash deleted file mode 100644 index c71df7f8a..000000000 --- a/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/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.mk b/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.mk deleted file mode 100644 index f6c487810..000000000 --- a/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/buildroot/package/x11r7/xproto_recordproto/Config.in b/buildroot/package/x11r7/xproto_recordproto/Config.in deleted file mode 100644 index 9fd5b884f..000000000 --- a/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/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.hash b/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.hash deleted file mode 100644 index bc03f8c4b..000000000 --- a/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/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.mk b/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.mk deleted file mode 100644 index 2d2cceac2..000000000 --- a/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/buildroot/package/x11r7/xproto_renderproto/Config.in b/buildroot/package/x11r7/xproto_renderproto/Config.in deleted file mode 100644 index 5b5806fa4..000000000 --- a/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/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.hash b/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.hash deleted file mode 100644 index 92763da92..000000000 --- a/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/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.mk b/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.mk deleted file mode 100644 index 41a844540..000000000 --- a/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/buildroot/package/x11r7/xproto_resourceproto/Config.in b/buildroot/package/x11r7/xproto_resourceproto/Config.in deleted file mode 100644 index 4aec708c4..000000000 --- a/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/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.hash b/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.hash deleted file mode 100644 index 5ceb1c04a..000000000 --- a/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/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.mk b/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.mk deleted file mode 100644 index 960ca1337..000000000 --- a/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/buildroot/package/x11r7/xproto_scrnsaverproto/Config.in b/buildroot/package/x11r7/xproto_scrnsaverproto/Config.in deleted file mode 100644 index 83176a0d5..000000000 --- a/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/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.hash b/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.hash deleted file mode 100644 index 36c10362b..000000000 --- a/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/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.mk b/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.mk deleted file mode 100644 index 57047cf5a..000000000 --- a/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/buildroot/package/x11r7/xproto_videoproto/Config.in b/buildroot/package/x11r7/xproto_videoproto/Config.in deleted file mode 100644 index 271c78f39..000000000 --- a/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/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.hash b/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.hash deleted file mode 100644 index 471a0a394..000000000 --- a/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/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.mk b/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.mk deleted file mode 100644 index 896398fc7..000000000 --- a/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/buildroot/package/x11r7/xproto_windowswmproto/Config.in b/buildroot/package/x11r7/xproto_windowswmproto/Config.in deleted file mode 100644 index d1a36acc5..000000000 --- a/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/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.hash b/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.hash deleted file mode 100644 index eb96c5fa9..000000000 --- a/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/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.mk b/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.mk deleted file mode 100644 index 067bccf01..000000000 --- a/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/buildroot/package/x11r7/xproto_xcmiscproto/Config.in b/buildroot/package/x11r7/xproto_xcmiscproto/Config.in deleted file mode 100644 index f7ba15349..000000000 --- a/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/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.hash b/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.hash deleted file mode 100644 index 08eb58bd3..000000000 --- a/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/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.mk b/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.mk deleted file mode 100644 index 3bef2e979..000000000 --- a/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/buildroot/package/x11r7/xproto_xextproto/Config.in b/buildroot/package/x11r7/xproto_xextproto/Config.in deleted file mode 100644 index d80d76cee..000000000 --- a/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/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.hash b/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.hash deleted file mode 100644 index 258c4ec7e..000000000 --- a/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/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.mk b/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.mk deleted file mode 100644 index c17dd938b..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86bigfontproto/Config.in b/buildroot/package/x11r7/xproto_xf86bigfontproto/Config.in deleted file mode 100644 index 7af30d03d..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.hash b/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.hash deleted file mode 100644 index b0ab8aeb2..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.mk b/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.mk deleted file mode 100644 index f88f5ecac..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86dgaproto/Config.in b/buildroot/package/x11r7/xproto_xf86dgaproto/Config.in deleted file mode 100644 index 7561b8a6d..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.hash b/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.hash deleted file mode 100644 index 36284fcd5..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.mk b/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.mk deleted file mode 100644 index d671bf009..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86driproto/Config.in b/buildroot/package/x11r7/xproto_xf86driproto/Config.in deleted file mode 100644 index 8aeac8728..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.hash b/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.hash deleted file mode 100644 index 85d4bfcc9..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.mk b/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.mk deleted file mode 100644 index e6bb0f12f..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86vidmodeproto/Config.in b/buildroot/package/x11r7/xproto_xf86vidmodeproto/Config.in deleted file mode 100644 index 395c17586..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.hash b/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.hash deleted file mode 100644 index d80749be6..000000000 --- a/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/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.mk b/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.mk deleted file mode 100644 index 41637983a..000000000 --- a/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/buildroot/package/x11r7/xproto_xineramaproto/Config.in b/buildroot/package/x11r7/xproto_xineramaproto/Config.in deleted file mode 100644 index 12c8e05b1..000000000 --- a/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/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.hash b/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.hash deleted file mode 100644 index 162c99489..000000000 --- a/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/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.mk b/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.mk deleted file mode 100644 index 4c9ae11d2..000000000 --- a/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/buildroot/package/x11r7/xproto_xproto/Config.in b/buildroot/package/x11r7/xproto_xproto/Config.in deleted file mode 100644 index a5f88ef7c..000000000 --- a/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/buildroot/package/x11r7/xproto_xproto/xproto_xproto.hash b/buildroot/package/x11r7/xproto_xproto/xproto_xproto.hash deleted file mode 100644 index 4b77d256a..000000000 --- a/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/buildroot/package/x11r7/xproto_xproto/xproto_xproto.mk b/buildroot/package/x11r7/xproto_xproto/xproto_xproto.mk deleted file mode 100644 index 76f9d32b1..000000000 --- a/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/buildroot/package/x11r7/xproto_xproxymanagementprotocol/Config.in b/buildroot/package/x11r7/xproto_xproxymanagementprotocol/Config.in deleted file mode 100644 index bb31f0306..000000000 --- a/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/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.hash b/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.hash deleted file mode 100644 index 27a9dfa8a..000000000 --- a/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/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.mk b/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.mk deleted file mode 100644 index a48269aa1..000000000 --- a/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/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0004-glx-Only-include-compositeext.h-if-COMPOSITE-is-supp.patch b/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 93be91ae7..000000000 --- a/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/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0001-modesettings-needs-dri2.patch b/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0001-modesettings-needs-dri2.patch similarity index 88% rename from buildroot/package/x11r7/xserver_xorg-server/1.19.6/0001-modesettings-needs-dri2.patch rename to buildroot/package/x11r7/xserver_xorg-server/1.20.3/0001-modesettings-needs-dri2.patch index 4ef95efc3..790371c45 100644 --- a/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0001-modesettings-needs-dri2.patch +++ b/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/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch b/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch similarity index 100% rename from buildroot/package/x11r7/xserver_xorg-server/1.19.6/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch rename to buildroot/package/x11r7/xserver_xorg-server/1.20.3/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch diff --git a/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0003-Remove-check-for-useSIGIO-option.patch b/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0003-Remove-check-for-useSIGIO-option.patch similarity index 100% rename from buildroot/package/x11r7/xserver_xorg-server/1.19.6/0003-Remove-check-for-useSIGIO-option.patch rename to buildroot/package/x11r7/xserver_xorg-server/1.20.3/0003-Remove-check-for-useSIGIO-option.patch diff --git a/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0004-include-misc.h-fix-uClibc-build.patch b/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0004-include-misc.h-fix-uClibc-build.patch new file mode 100644 index 000000000..562aa79fb --- /dev/null +++ b/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/buildroot/package/x11r7/xserver_xorg-server/Config.in b/buildroot/package/x11r7/xserver_xorg-server/Config.in index 3107e2c1e..7ccb2bd9c 100644 --- a/buildroot/package/x11r7/xserver_xorg-server/Config.in +++ b/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/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index 10285abf1..4cde15e5d 100644 --- a/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/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/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index d605a2c74..14f810476 100644 --- a/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/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 diff --git a/buildroot/package/x11r7/xutil_makedepend/Config.in b/buildroot/package/x11r7/xutil_makedepend/Config.in index 0b091b0e3..fdf2fb92c 100644 --- a/buildroot/package/x11r7/xutil_makedepend/Config.in +++ b/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/buildroot/package/x11r7/xutil_makedepend/xutil_makedepend.mk b/buildroot/package/x11r7/xutil_makedepend/xutil_makedepend.mk index 6fd3c1ae3..a50320ba9 100644 --- a/buildroot/package/x11r7/xutil_makedepend/xutil_makedepend.mk +++ b/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/buildroot/package/x264/x264.hash b/buildroot/package/x264/x264.hash index 920f3b74e..da4ff5945 100644 --- a/buildroot/package/x264/x264.hash +++ b/buildroot/package/x264/x264.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 cdae4489e0306938a46429824aa3511e7ec2a43f71fee8b4aa46ceea46d15888 x264-7d0ff22e8c96de126be9d3de4952edd6d1b75a8c.tar.gz +sha256 94a67986dcb2c659752df767e81fd59a494fb7fb5c9d4fc8aff4f004353a42df x264-snapshot-20181002-2245.tar.bz2 sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/buildroot/package/x264/x264.mk b/buildroot/package/x264/x264.mk index f2fb10c41..d529871a8 100644 --- a/buildroot/package/x264/x264.mk +++ b/buildroot/package/x264/x264.mk @@ -4,8 +4,9 @@ # ################################################################################ -X264_VERSION = 7d0ff22e8c96de126be9d3de4952edd6d1b75a8c -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/buildroot/package/x265/0002-fix-build-error-on-ppc64le.patch b/buildroot/package/x265/0002-fix-build-error-on-ppc64le.patch new file mode 100644 index 000000000..ca034477e --- /dev/null +++ b/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/buildroot/package/x265/0003-arm-asm-primitives.patch b/buildroot/package/x265/0003-arm-asm-primitives.patch new file mode 100644 index 000000000..e50044342 --- /dev/null +++ b/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/buildroot/package/x265/x265.hash b/buildroot/package/x265/x265.hash index e6f22db64..61e618119 100644 --- a/buildroot/package/x265/x265.hash +++ b/buildroot/package/x265/x265.hash @@ -1,2 +1,3 @@ # Locally generated -sha256 d5e75fa62ffe6ed49e691f8eb8ab8c1634ffcc0725dd553c6fdb4d5443b494a2 x265_2.7.tar.gz +sha256 6e59f9afc0c2b87a46f98e33b5159d56ffb3558a49d8e3d79cb7fdc6b7aaa863 x265_2.8.tar.gz +sha256 d8afb1bcc7a2cfc603683b168d6987ef0a48e59e0da3693bf55c5d33b67e2b49 COPYING diff --git a/buildroot/package/x265/x265.mk b/buildroot/package/x265/x265.mk index 243025c08..fe317d09d 100644 --- a/buildroot/package/x265/x265.mk +++ b/buildroot/package/x265/x265.mk @@ -4,13 +4,14 @@ # ################################################################################ -X265_VERSION = 2.7 +X265_VERSION = 2.8 X265_SOURCE = x265_$(X265_VERSION).tar.gz X265_SITE = https://bitbucket.org/multicoreware/x265/downloads X265_LICENSE = GPL-2.0+ X265_LICENSE_FILES = COPYING X265_SUBDIR = source X265_INSTALL_STAGING = YES +X265_MAKE = $(MAKE1) ifeq ($(BR2_i386)$(BR2_x86_64),y) X265_DEPENDENCIES += host-nasm diff --git a/buildroot/package/xapian/Config.in b/buildroot/package/xapian/Config.in new file mode 100644 index 000000000..5d54ed3a1 --- /dev/null +++ b/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/buildroot/package/xapian/xapian.hash b/buildroot/package/xapian/xapian.hash new file mode 100644 index 000000000..4fd0dd134 --- /dev/null +++ b/buildroot/package/xapian/xapian.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 13f08a0b649c7afa804fa0e85678d693fd6069dd394c9b9e7d41973d74a3b5d3 xapian-core-1.4.7.tar.xz +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/buildroot/package/xapian/xapian.mk b/buildroot/package/xapian/xapian.mk new file mode 100644 index 000000000..241f37b22 --- /dev/null +++ b/buildroot/package/xapian/xapian.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# xapian +# +################################################################################ + +XAPIAN_VERSION = 1.4.7 +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/buildroot/package/xen/0003-libxl-arm-Fix-build-on-arm64-acpi-w-gcc-8.2.patch b/buildroot/package/xen/0003-libxl-arm-Fix-build-on-arm64-acpi-w-gcc-8.2.patch new file mode 100644 index 000000000..db2bbe836 --- /dev/null +++ b/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/buildroot/package/xen/0003-memfd-fix-configure-test.patch b/buildroot/package/xen/0003-memfd-fix-configure-test.patch deleted file mode 100644 index 95cb49bcf..000000000 --- a/buildroot/package/xen/0003-memfd-fix-configure-test.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 75e5b70e6b5dcc4f2219992d7cffa462aa406af0 Mon Sep 17 00:00:00 2001 -From: Paolo Bonzini -Date: Tue, 28 Nov 2017 11:51:27 +0100 -Subject: [PATCH] memfd: fix configure test -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Recent glibc added memfd_create in sys/mman.h. This conflicts with -the definition in util/memfd.c: - - /builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error: static declaration of memfd_create follows non-static declaration - -Fix the configure test, and remove the sys/memfd.h inclusion since the -file actually does not exist---it is a typo in the memfd_create(2) man -page. - -Cc: Marc-André Lureau -Signed-off-by: Paolo Bonzini -Signed-off-by: Baruch Siach -[ Changes by AF: - - Port the patch to the qemu-xen tree -] -Signed-off-by: Alistair Francis ---- -Upstream status: commit 75e5b70e6b5 - - configure | 2 +- - util/memfd.c | 4 +--- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/configure b/configure -index 9c8aa5a98bd4..99ccc1725ace 100755 ---- a/tools/qemu-xen/configure -+++ b/tools/qemu-xen/configure -@@ -3923,7 +3923,7 @@ fi - # check if memfd is supported - memfd=no - cat > $TMPC << EOF --#include -+#include - - int main(void) - { -diff --git a/util/memfd.c b/util/memfd.c -index 4571d1aba866..412e94a405fc 100644 ---- a/tools/qemu-xen/util/memfd.c -+++ b/tools/qemu-xen/util/memfd.c -@@ -31,9 +31,7 @@ - - #include "qemu/memfd.h" - --#ifdef CONFIG_MEMFD --#include --#elif defined CONFIG_LINUX -+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD - #include - #include - --- -2.16.2 - diff --git a/buildroot/package/xen/Config.in b/buildroot/package/xen/Config.in index 819af37e4..57ab40eba 100644 --- a/buildroot/package/xen/Config.in +++ b/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/buildroot/package/xen/xen.hash b/buildroot/package/xen/xen.hash index 5daebd4d6..376013eb7 100644 --- a/buildroot/package/xen/xen.hash +++ b/buildroot/package/xen/xen.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 570d654f357d4085accdf752989c1cbc33e2075feac8fcc505d68bdb81b1a0cf xen-4.10.1.tar.gz +sha256 826e3a9f6d0eac94a825d272cc2c1294e22640ae75af906eb13920f9ad667643 xen-4.11.0.tar.gz sha256 dba0d79260259c013c52e5d4daeaea564a2fbb9ff7fc6778c377a401ec3898de COPYING diff --git a/buildroot/package/xen/xen.mk b/buildroot/package/xen/xen.mk index 29699cf0f..8d7b92ead 100644 --- a/buildroot/package/xen/xen.mk +++ b/buildroot/package/xen/xen.mk @@ -4,7 +4,7 @@ # ################################################################################ -XEN_VERSION = 4.10.1 +XEN_VERSION = 4.11.0 XEN_SITE = https://downloads.xenproject.org/release/xen/$(XEN_VERSION) XEN_LICENSE = GPL-2.0 XEN_LICENSE_FILES = COPYING @@ -45,7 +45,7 @@ XEN_DEPENDENCIES += argp-standalone endif XEN_INSTALL_TARGET_OPTS += DESTDIR=$(TARGET_DIR) install-tools XEN_MAKE_OPTS += dist-tools -XEN_CONF_OPTS += --with-extra-qemuu-configure-args="--disable-sdl" +XEN_CONF_OPTS += --with-extra-qemuu-configure-args="--disable-sdl --disable-opengl" define XEN_INSTALL_INIT_SYSV mv $(TARGET_DIR)/etc/init.d/xencommons $(TARGET_DIR)/etc/init.d/S50xencommons diff --git a/buildroot/package/xerces/0001-cmake-Allow-thread-checks-to-fail-and-fall-back-to-nothreads.patch b/buildroot/package/xerces/0001-cmake-Allow-thread-checks-to-fail-and-fall-back-to-nothreads.patch new file mode 100644 index 000000000..8bed7711c --- /dev/null +++ b/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/buildroot/package/xerces/0001-fix-CVE-2017-12627.patch b/buildroot/package/xerces/0001-fix-CVE-2017-12627.patch deleted file mode 100644 index 010be7e3d..000000000 --- a/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/buildroot/package/xerces/0002-fix-static-linking-with-curl.patch b/buildroot/package/xerces/0002-fix-static-linking-with-curl.patch new file mode 100644 index 000000000..db38de79f --- /dev/null +++ b/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/buildroot/package/xerces/xerces.hash b/buildroot/package/xerces/xerces.hash index c621f5cd5..28db0c606 100644 --- a/buildroot/package/xerces/xerces.hash +++ b/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/buildroot/package/xerces/xerces.mk b/buildroot/package/xerces/xerces.mk index a25641fb4..c75a8b0d3 100644 --- a/buildroot/package/xerces/xerces.mk +++ b/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/buildroot/package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch b/buildroot/package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch index 372a5301b..6778d069a 100644 --- a/buildroot/package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch +++ b/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/buildroot/package/xfsprogs/xfsprogs.hash b/buildroot/package/xfsprogs/xfsprogs.hash index 4df2e8d9e..839f4add2 100644 --- a/buildroot/package/xfsprogs/xfsprogs.hash +++ b/buildroot/package/xfsprogs/xfsprogs.hash @@ -1,3 +1,6 @@ # From https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/sha256sums.asc -sha256 3d5c2da46112b86cbd967fee43cea731d38a1b2aaf601b57674ed34e808652df xfsprogs-4.16.1.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/buildroot/package/xfsprogs/xfsprogs.mk b/buildroot/package/xfsprogs/xfsprogs.mk index 814e0cf21..bbb888707 100644 --- a/buildroot/package/xfsprogs/xfsprogs.mk +++ b/buildroot/package/xfsprogs/xfsprogs.mk @@ -4,15 +4,15 @@ # ################################################################################ -XFSPROGS_VERSION = 4.16.1 +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 \ diff --git a/buildroot/package/xl2tp/xl2tp.hash b/buildroot/package/xl2tp/xl2tp.hash index 152d615a2..9cc76e9d2 100644 --- a/buildroot/package/xl2tp/xl2tp.hash +++ b/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/buildroot/package/xl2tp/xl2tp.mk b/buildroot/package/xl2tp/xl2tp.mk index eee5c04de..63c798d88 100644 --- a/buildroot/package/xl2tp/xl2tp.mk +++ b/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/buildroot/package/xmlstarlet/xmlstarlet.mk b/buildroot/package/xmlstarlet/xmlstarlet.mk index 1d748dc59..b79c3f566 100644 --- a/buildroot/package/xmlstarlet/xmlstarlet.mk +++ b/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/buildroot/package/xorriso/0001-use-sys-xattr.h.patch b/buildroot/package/xorriso/0001-use-sys-xattr.h.patch new file mode 100644 index 000000000..5ae1aae72 --- /dev/null +++ b/buildroot/package/xorriso/0001-use-sys-xattr.h.patch @@ -0,0 +1,33 @@ +Use system + +The one from attr is no longer installed with latest version. + +Signed-off-by: "Yann E. MORIN" + +--- +Upstream status: alternate, more complex patch pending... + +diff -durN xorriso-1.4.6.orig/configure.ac xorriso-1.4.6/configure.ac +--- xorriso-1.4.6.orig/configure.ac 2016-09-16 15:51:33.000000000 +0200 ++++ xorriso-1.4.6/configure.ac 2018-05-06 23:45:38.377153069 +0200 +@@ -264,7 +264,7 @@ + dnl Check whether there is the header for Linux xattr. + dnl If not, erase this macro which would enable use of listxattr and others + XATTR_DEF="-DLibisofs_with_aaip_xattR" +- AC_CHECK_HEADER(attr/xattr.h, AC_CHECK_LIB(c, listxattr, X= , ++ AC_CHECK_HEADER(sys/xattr.h, AC_CHECK_LIB(c, listxattr, X= , + XATTR_DEF= ), XATTR_DEF= ) + fi + elif test x"$LIBBURNIA_SUPP_FATTR" = xextattr +diff -durN xorriso-1.4.6.orig/libisofs/aaip-os-linux.c xorriso-1.4.6/libisofs/aaip-os-linux.c +--- xorriso-1.4.6.orig/libisofs/aaip-os-linux.c 2016-09-16 15:51:34.000000000 +0200 ++++ xorriso-1.4.6/libisofs/aaip-os-linux.c 2018-05-06 23:47:25.764941583 +0200 +@@ -30,7 +30,7 @@ + #endif + + #ifdef Libisofs_with_aaip_xattR +-#include ++#include + #endif + + diff --git a/buildroot/package/xorriso/xorriso.mk b/buildroot/package/xorriso/xorriso.mk index 1f095911f..de431c3ab 100644 --- a/buildroot/package/xorriso/xorriso.mk +++ b/buildroot/package/xorriso/xorriso.mk @@ -8,6 +8,19 @@ XORRISO_VERSION = 1.4.6 XORRISO_SITE = $(BR2_GNU_MIRROR)/xorriso XORRISO_LICENSE = GPL-3.0+ XORRISO_LICENSE_FILES = COPYING COPYRIGHT + +# 0001-use-sys-xattr.h.patch +XORRISO_DEPENDENCIES = host-pkgconf +HOST_XORRISO_DEPENDENCIES = host-pkgconf +XORRISO_AUTORECONF = YES + +# Make autoreconf happy +define XORRISO_NEWS + touch $(@D)/NEWS +endef +XORRISO_POST_PATCH_HOOKS += XORRISO_NEWS +HOST_XORRISO_POST_PATCH_HOOKS += XORRISO_NEWS + # Disable everything until we actually need those features, and add the correct # host libraries HOST_XORRISO_CONF_OPTS = \ diff --git a/buildroot/package/xterm/Config.in b/buildroot/package/xterm/Config.in index f3bc4500a..eaa756a44 100644 --- a/buildroot/package/xterm/Config.in +++ b/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/buildroot/package/xxhash/xxhash.hash b/buildroot/package/xxhash/xxhash.hash index 31081c01d..8a00a427f 100644 --- a/buildroot/package/xxhash/xxhash.hash +++ b/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/buildroot/package/xxhash/xxhash.mk b/buildroot/package/xxhash/xxhash.mk index 7e0406634..9bb259a28 100644 --- a/buildroot/package/xxhash/xxhash.mk +++ b/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/buildroot/package/yaml-cpp/Config.in b/buildroot/package/yaml-cpp/Config.in index 6d34f4210..e02b85df1 100644 --- a/buildroot/package/yaml-cpp/Config.in +++ b/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/buildroot/package/yaml-cpp/yaml-cpp.hash b/buildroot/package/yaml-cpp/yaml-cpp.hash index 7d6753732..b2c021410 100644 --- a/buildroot/package/yaml-cpp/yaml-cpp.hash +++ b/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/buildroot/package/yaml-cpp/yaml-cpp.mk b/buildroot/package/yaml-cpp/yaml-cpp.mk index 6a01b02a3..97021ea42 100644 --- a/buildroot/package/yaml-cpp/yaml-cpp.mk +++ b/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/buildroot/package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch b/buildroot/package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch index a0c188a5c..233b36466 100644 --- a/buildroot/package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch +++ b/buildroot/package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch @@ -11,9 +11,11 @@ try fails, we try to link again with -latomic and add LIBS="-latomic" in case we succeeded. Signed-off-by: Asaf Kahlon +Signed-off-by: Fabrice Fontaine +[Update to use LIBS: https://github.com/zeromq/libzmq/pull/3250] --- - acinclude.m4 | 32 ++++++++++++++++++++++++++++---- - 1 file changed, 28 insertions(+), 4 deletions(-) + acinclude.m4 | 31 +++++++++++++++++++++++++++---- + 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index f648ed0f..aa35195f 100644 @@ -28,7 +30,7 @@ index f648ed0f..aa35195f 100644 /* atomic intrinsics test */ int v = 0; int main (int, char **) -@@ -677,9 +677,33 @@ int main (int, char **) +@@ -677,9 +677,32 @@ int main (int, char **) return t; } ])], @@ -39,8 +41,8 @@ index f648ed0f..aa35195f 100644 + [libzmq_cv_has_atomic_instrisics="no"]) + + if test "x$libzmq_cv_has_atomic_instrisics" = "xno"; then -+ save_LDFLAGS=$LDFLAGS -+ LDFLAGS="$LDFLAGS -latomic" ++ save_LIBS=$LIBS ++ LIBS="$LIBS -latomic" + AC_LINK_IFELSE([AC_LANG_SOURCE([ + /* atomic intrinsics test */ + int v = 0; @@ -50,9 +52,8 @@ index f648ed0f..aa35195f 100644 + return t; + } + ])], -+ [libzmq_cv_has_atomic_instrisics="yes" LIBS="-latomic"], -+ [libzmq_cv_has_atomic_instrisics="no"]) -+ LDFLAGS=$save_LDFLAGS ++ [libzmq_cv_has_atomic_instrisics="yes"], ++ [libzmq_cv_has_atomic_instrisics="no" LIBS=$save_LIBS]) + fi + + if test "x$libzmq_cv_has_atomic_instrisics" = "xyes"; then diff --git a/buildroot/package/zeromq/Config.in b/buildroot/package/zeromq/Config.in index 25e438ae0..69be9f002 100644 --- a/buildroot/package/zeromq/Config.in +++ b/buildroot/package/zeromq/Config.in @@ -1,10 +1,10 @@ -comment "zeromq needs a toolchain w/ C++, NPTL" - depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS_NPTL) +comment "zeromq needs a toolchain w/ C++, threads" + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) config BR2_PACKAGE_ZEROMQ bool "zeromq" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID help diff --git a/buildroot/package/zeromq/zeromq.mk b/buildroot/package/zeromq/zeromq.mk index 8273cad76..4b25c7d67 100644 --- a/buildroot/package/zeromq/zeromq.mk +++ b/buildroot/package/zeromq/zeromq.mk @@ -23,6 +23,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) diff --git a/buildroot/package/zic/zic.hash b/buildroot/package/zic/zic.hash index df578fe1b..6b7994731 100644 --- a/buildroot/package/zic/zic.hash +++ b/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/buildroot/package/zic/zic.mk b/buildroot/package/zic/zic.mk index aba8bc5b3..224b7ab40 100644 --- a/buildroot/package/zic/zic.mk +++ b/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/buildroot/package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch b/buildroot/package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch index 70caee816..04fad80f3 100644 --- a/buildroot/package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch +++ b/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/buildroot/package/zmqpp/0002-Install-static-library-for-static-builds.patch b/buildroot/package/zmqpp/0002-Install-static-library-for-static-builds.patch deleted file mode 100644 index 402f85e26..000000000 --- a/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/buildroot/package/zmqpp/Config.in b/buildroot/package/zmqpp/Config.in index b9d4dcfd6..2c80e2883 100644 --- a/buildroot/package/zmqpp/Config.in +++ b/buildroot/package/zmqpp/Config.in @@ -3,7 +3,8 @@ config BR2_PACKAGE_ZMQPP # c++1x support depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # zeromq + 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). @@ -13,10 +14,13 @@ config BR2_PACKAGE_ZMQPP http://github.com/benjamg/zmqpp -comment "zmqpp needs a toolchain w/ C++, NPTL, gcc >= 4.7" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ +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/buildroot/package/zmqpp/zmqpp.hash b/buildroot/package/zmqpp/zmqpp.hash index 63c6a34f0..c440b2aca 100644 --- a/buildroot/package/zmqpp/zmqpp.hash +++ b/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/buildroot/package/zmqpp/zmqpp.mk b/buildroot/package/zmqpp/zmqpp.mk index e57f7de4e..801766a7d 100644 --- a/buildroot/package/zmqpp/zmqpp.mk +++ b/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 diff --git a/buildroot/package/znc/znc.hash b/buildroot/package/znc/znc.hash index ee24816d0..7a1459590 100644 --- a/buildroot/package/znc/znc.hash +++ b/buildroot/package/znc/znc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c07e31439ac6b948a577bd61a9d5f61a6d191d387423779b937aa1404051b96f znc-1.7.0.tar.gz +sha256 44cfea7158ea05dc2547c7c6bc22371e66c869def90351de0ab90a9c200d39c4 znc-1.7.1.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/buildroot/package/znc/znc.mk b/buildroot/package/znc/znc.mk index 2a04c6637..5235fd919 100644 --- a/buildroot/package/znc/znc.mk +++ b/buildroot/package/znc/znc.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZNC_VERSION = 1.7.0 +ZNC_VERSION = 1.7.1 ZNC_SITE = http://znc.in/releases/archive ZNC_LICENSE = Apache-2.0 ZNC_LICENSE_FILES = LICENSE diff --git a/buildroot/package/zsh/zsh.hash b/buildroot/package/zsh/zsh.hash index 5931e4d46..4363e48af 100644 --- a/buildroot/package/zsh/zsh.hash +++ b/buildroot/package/zsh/zsh.hash @@ -1,7 +1,7 @@ # From http://www.zsh.org/pub/MD5SUM -md5 5c3b294e63b6cc8da8bcc364c72d954b zsh-5.5.tar.xz +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.5.tar.xz.asc -sha256 a8359b81d090425d497c6f3c724a7c21a81c614b03e7662ed347705d86958e53 zsh-5.5.tar.xz +# 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/buildroot/package/zsh/zsh.mk b/buildroot/package/zsh/zsh.mk index e79883892..31c940500 100644 --- a/buildroot/package/zsh/zsh.mk +++ b/buildroot/package/zsh/zsh.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZSH_VERSION = 5.5 +ZSH_VERSION = 5.6.2 ZSH_SITE = http://www.zsh.org/pub ZSH_SOURCE = zsh-$(ZSH_VERSION).tar.xz ZSH_DEPENDENCIES = ncurses diff --git a/buildroot/package/zstd/0001-Split-library-install-target-into-pc-static-shared-a.patch b/buildroot/package/zstd/0001-Split-library-install-target-into-pc-static-shared-a.patch deleted file mode 100644 index af9b2bf3f..000000000 --- a/buildroot/package/zstd/0001-Split-library-install-target-into-pc-static-shared-a.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 2623a12bff19049b6ad5bc066e3ef9c6259d415c Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Mon, 16 Apr 2018 20:44:49 +0200 -Subject: [PATCH] Split library install target into pc, static, shared and - include only target - -Signed-off-by: Peter Seiderer ---- - lib/Makefile | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git a/lib/Makefile b/lib/Makefile -index cdfdc5c..b592aa6 100644 ---- a/lib/Makefile -+++ b/lib/Makefile -@@ -159,20 +159,29 @@ libzstd.pc: libzstd.pc.in - -e 's|@VERSION@|$(VERSION)|' \ - $< >$@ - --install: libzstd.a libzstd libzstd.pc -+install: install-pc install-static install-shared install-includes -+ @echo zstd static and shared library installed -+ -+install-pc: libzstd.pc - @$(INSTALL) -d -m 755 $(DESTDIR)$(PKGCONFIGDIR)/ $(DESTDIR)$(INCLUDEDIR)/ - @$(INSTALL_DATA) libzstd.pc $(DESTDIR)$(PKGCONFIGDIR)/ -- @echo Installing libraries -+ -+install-static: libzstd.a -+ @echo Installing static library - @$(INSTALL_DATA) libzstd.a $(DESTDIR)$(LIBDIR) -+ -+install-shared: libzstd -+ @echo Installing shared library - @$(INSTALL_PROGRAM) $(LIBZSTD) $(DESTDIR)$(LIBDIR) - @ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR) - @ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT) -+ -+install-includes: - @echo Installing includes - @$(INSTALL_DATA) zstd.h $(DESTDIR)$(INCLUDEDIR) - @$(INSTALL_DATA) common/zstd_errors.h $(DESTDIR)$(INCLUDEDIR) - @$(INSTALL_DATA) deprecated/zbuff.h $(DESTDIR)$(INCLUDEDIR) # prototypes generate deprecation warnings - @$(INSTALL_DATA) dictBuilder/zdict.h $(DESTDIR)$(INCLUDEDIR) -- @echo zstd static and shared library installed - - uninstall: - @$(RM) $(DESTDIR)$(LIBDIR)/libzstd.a --- -2.16.3 - diff --git a/buildroot/package/zstd/0002-lib-Makefile-create-include-directory-before-headers.patch b/buildroot/package/zstd/0002-lib-Makefile-create-include-directory-before-headers.patch deleted file mode 100644 index e95f8c0be..000000000 --- a/buildroot/package/zstd/0002-lib-Makefile-create-include-directory-before-headers.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 9a0643b633c00e86db059e3790bdea7155fb6dc9 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 8 May 2018 20:43:28 +0300 -Subject: [PATCH] lib/Makefile: create include directory before headers - installation - -Make sure that $(INCLUDEDIR) exists before copying the headers there. -Otherwise, the contest of header files is copied over -$(DESTDIR)$(INCLUDEDIR), making it a regular file. - -While at it, remove $(DESTDIR)$(INCLUDEDIR) from the list of directories -to create in the install-pc target. The install-pc target does not need -this directory. - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/facebook/zstd/pull/1123 - - lib/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/lib/Makefile b/lib/Makefile -index f64f192d4724..d8178c7a58a0 100644 ---- a/lib/Makefile -+++ b/lib/Makefile -@@ -163,7 +163,7 @@ install: install-pc install-static install-shared install-includes - @echo zstd static and shared library installed - - install-pc: libzstd.pc -- @$(INSTALL) -d -m 755 $(DESTDIR)$(PKGCONFIGDIR)/ $(DESTDIR)$(INCLUDEDIR)/ -+ @$(INSTALL) -d -m 755 $(DESTDIR)$(PKGCONFIGDIR)/ - @$(INSTALL_DATA) libzstd.pc $(DESTDIR)$(PKGCONFIGDIR)/ - - install-static: libzstd.a -@@ -178,6 +178,7 @@ install-shared: libzstd - - install-includes: - @echo Installing includes -+ @$(INSTALL) -d -m 755 $(DESTDIR)$(INCLUDEDIR)/ - @$(INSTALL_DATA) zstd.h $(DESTDIR)$(INCLUDEDIR) - @$(INSTALL_DATA) common/zstd_errors.h $(DESTDIR)$(INCLUDEDIR) - @$(INSTALL_DATA) deprecated/zbuff.h $(DESTDIR)$(INCLUDEDIR) # prototypes generate deprecation warnings --- -2.17.0 - diff --git a/buildroot/package/zstd/Config.in.host b/buildroot/package/zstd/Config.in.host new file mode 100644 index 000000000..05751f8fb --- /dev/null +++ b/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/buildroot/package/zstd/zstd.hash b/buildroot/package/zstd/zstd.hash index 51e5fc245..95b227098 100644 --- a/buildroot/package/zstd/zstd.hash +++ b/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/buildroot/package/zstd/zstd.mk b/buildroot/package/zstd/zstd.mk index c74c8f24b..a1a11f9ab 100644 --- a/buildroot/package/zstd/zstd.mk +++ b/buildroot/package/zstd/zstd.mk @@ -4,7 +4,7 @@ # ################################################################################ -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 @@ -72,11 +72,15 @@ endef 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)) diff --git a/buildroot/package/zyre/Config.in b/buildroot/package/zyre/Config.in index 340e9775c..21a0884ec 100644 --- a/buildroot/package/zyre/Config.in +++ b/buildroot/package/zyre/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_ZYRE bool "zyre" depends on BR2_INSTALL_LIBSTDCPP # zeromq - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # zeromq + depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq depends on BR2_USE_MMU # czmq select BR2_PACKAGE_CZMQ select BR2_PACKAGE_ZEROMQ @@ -11,6 +11,6 @@ config BR2_PACKAGE_ZYRE http://zyre.org -comment "zyre needs a toolchain w/ C++, NPTL" +comment "zyre needs a toolchain w/ C++, threads" depends on BR2_USE_MMU - depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS_NPTL) + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) diff --git a/buildroot/support/config-fragments/autobuild/arm-aarch64.config b/buildroot/support/config-fragments/autobuild/arm-aarch64.config new file mode 100644 index 000000000..bed08dcb1 --- /dev/null +++ b/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/buildroot/support/config-fragments/autobuild/br-aarch64-glibc.config b/buildroot/support/config-fragments/autobuild/br-aarch64-glibc.config index 71b3a2635..19c9473a7 100644 --- a/buildroot/support/config-fragments/autobuild/br-aarch64-glibc.config +++ b/buildroot/support/config-fragments/autobuild/br-aarch64-glibc.config @@ -2,7 +2,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-aarch64-glibc-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y diff --git a/buildroot/support/config-fragments/autobuild/br-arm-basic.config b/buildroot/support/config-fragments/autobuild/br-arm-basic.config index e77d5e9ec..eadf78f71 100644 --- a/buildroot/support/config-fragments/autobuild/br-arm-basic.config +++ b/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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set diff --git a/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config b/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config index 160484dfb..f67d955e8 100644 --- a/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config +++ b/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config @@ -4,7 +4,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-glibc-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_7=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y diff --git a/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config b/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config index 19ee4174f..8db615c13 100644 --- a/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config +++ b/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config @@ -4,7 +4,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y diff --git a/buildroot/support/config-fragments/autobuild/br-arm-cortex-m4-full.config b/buildroot/support/config-fragments/autobuild/br-arm-cortex-m4-full.config index 6a299922c..1ce4bdc5b 100644 --- a/buildroot/support/config-fragments/autobuild/br-arm-cortex-m4-full.config +++ b/buildroot/support/config-fragments/autobuild/br-arm-cortex-m4-full.config @@ -3,7 +3,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-m4-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-arm-full-nothread.config b/buildroot/support/config-fragments/autobuild/br-arm-full-nothread.config index 6433d072d..1120f4619 100644 --- a/buildroot/support/config-fragments/autobuild/br-arm-full-nothread.config +++ b/buildroot/support/config-fragments/autobuild/br-arm-full-nothread.config @@ -3,7 +3,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm11-full-nothread-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-arm-full-static.config b/buildroot/support/config-fragments/autobuild/br-arm-full-static.config index 443d3fa6f..157fc0222 100644 --- a/buildroot/support/config-fragments/autobuild/br-arm-full-static.config +++ b/buildroot/support/config-fragments/autobuild/br-arm-full-static.config @@ -3,7 +3,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-static-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-arm-full.config b/buildroot/support/config-fragments/autobuild/br-arm-full.config index 72052a077..07c773e90 100644 --- a/buildroot/support/config-fragments/autobuild/br-arm-full.config +++ b/buildroot/support/config-fragments/autobuild/br-arm-full.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-full-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config b/buildroot/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config index a6eb58452..9eee78079 100644 --- a/buildroot/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config +++ b/buildroot/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config @@ -2,7 +2,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-i386-pentium-mmx-musl-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y diff --git a/buildroot/support/config-fragments/autobuild/br-i386-pentium4-full.config b/buildroot/support/config-fragments/autobuild/br-i386-pentium4-full.config index 7abd54927..e7a97351c 100644 --- a/buildroot/support/config-fragments/autobuild/br-i386-pentium4-full.config +++ b/buildroot/support/config-fragments/autobuild/br-i386-pentium4-full.config @@ -2,7 +2,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-i386-pentium4-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-m68k-5208-full.config b/buildroot/support/config-fragments/autobuild/br-m68k-5208-full.config index b8ea08e86..3f809ea4a 100644 --- a/buildroot/support/config-fragments/autobuild/br-m68k-5208-full.config +++ b/buildroot/support/config-fragments/autobuild/br-m68k-5208-full.config @@ -2,7 +2,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-5208-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-m68k-68040-full.config b/buildroot/support/config-fragments/autobuild/br-m68k-68040-full.config index ca9753379..27ce4e349 100644 --- a/buildroot/support/config-fragments/autobuild/br-m68k-68040-full.config +++ b/buildroot/support/config-fragments/autobuild/br-m68k-68040-full.config @@ -1,7 +1,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-68040-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-microblazeel-full.config b/buildroot/support/config-fragments/autobuild/br-microblazeel-full.config index 4bb5f2adf..8c4778770 100644 --- a/buildroot/support/config-fragments/autobuild/br-microblazeel-full.config +++ b/buildroot/support/config-fragments/autobuild/br-microblazeel-full.config @@ -1,7 +1,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-microblaze-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config b/buildroot/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config index 1ed280f7a..818f99e53 100644 --- a/buildroot/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config +++ b/buildroot/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config @@ -4,7 +4,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips32r6-el-hf-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y diff --git a/buildroot/support/config-fragments/autobuild/br-mips64-n64-full.config b/buildroot/support/config-fragments/autobuild/br-mips64-n64-full.config index e90f5d56f..ca625c9e4 100644 --- a/buildroot/support/config-fragments/autobuild/br-mips64-n64-full.config +++ b/buildroot/support/config-fragments/autobuild/br-mips64-n64-full.config @@ -3,7 +3,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64-n64-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_5=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config b/buildroot/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config index bb15d3168..96a333c6b 100644 --- a/buildroot/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config +++ b/buildroot/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config @@ -5,7 +5,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64r6-n64-el-hf-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y diff --git a/buildroot/support/config-fragments/autobuild/br-mipsel-o32-full.config b/buildroot/support/config-fragments/autobuild/br-mipsel-o32-full.config index b985dbb8a..aae01a919 100644 --- a/buildroot/support/config-fragments/autobuild/br-mipsel-o32-full.config +++ b/buildroot/support/config-fragments/autobuild/br-mipsel-o32-full.config @@ -2,7 +2,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mipsel-o32-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-nios2-glibc.config b/buildroot/support/config-fragments/autobuild/br-nios2-glibc.config index 1e10e34a7..be5cb7e29 100644 --- a/buildroot/support/config-fragments/autobuild/br-nios2-glibc.config +++ b/buildroot/support/config-fragments/autobuild/br-nios2-glibc.config @@ -2,7 +2,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-nios2-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y diff --git a/buildroot/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config b/buildroot/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config index 71694eee1..37c3989b5 100644 --- a/buildroot/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config +++ b/buildroot/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config @@ -3,7 +3,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-603e-basic-cpp-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set diff --git a/buildroot/support/config-fragments/autobuild/br-powerpc-e500mc-full.config b/buildroot/support/config-fragments/autobuild/br-powerpc-e500mc-full.config index 5f2a51390..08cb3f382 100644 --- a/buildroot/support/config-fragments/autobuild/br-powerpc-e500mc-full.config +++ b/buildroot/support/config-fragments/autobuild/br-powerpc-e500mc-full.config @@ -3,7 +3,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-e500mc-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config b/buildroot/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config index 6be80574a..bc9968263 100644 --- a/buildroot/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config +++ b/buildroot/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config @@ -2,7 +2,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64-power7-glibc-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y diff --git a/buildroot/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config b/buildroot/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config index 48c47621d..15703e60d 100644 --- a/buildroot/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config +++ b/buildroot/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config @@ -2,7 +2,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64le-power8-glibc-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y diff --git a/buildroot/support/config-fragments/autobuild/br-riscv64-internal-glibc.config b/buildroot/support/config-fragments/autobuild/br-riscv64-internal-glibc.config new file mode 100644 index 000000000..75aa5dd91 --- /dev/null +++ b/buildroot/support/config-fragments/autobuild/br-riscv64-internal-glibc.config @@ -0,0 +1,2 @@ +BR2_riscv=y +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y diff --git a/buildroot/support/config-fragments/autobuild/br-sh4-full.config b/buildroot/support/config-fragments/autobuild/br-sh4-full.config index 87796fb65..018706d9e 100644 --- a/buildroot/support/config-fragments/autobuild/br-sh4-full.config +++ b/buildroot/support/config-fragments/autobuild/br-sh4-full.config @@ -2,7 +2,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sh4-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-sparc-uclibc.config b/buildroot/support/config-fragments/autobuild/br-sparc-uclibc.config index 4b6b81957..2e13937b9 100644 --- a/buildroot/support/config-fragments/autobuild/br-sparc-uclibc.config +++ b/buildroot/support/config-fragments/autobuild/br-sparc-uclibc.config @@ -1,7 +1,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc-uclibc-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-sparc64-glibc.config b/buildroot/support/config-fragments/autobuild/br-sparc64-glibc.config index 5dbe6df5b..78a8216e2 100644 --- a/buildroot/support/config-fragments/autobuild/br-sparc64-glibc.config +++ b/buildroot/support/config-fragments/autobuild/br-sparc64-glibc.config @@ -1,7 +1,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc64-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y diff --git a/buildroot/support/config-fragments/autobuild/br-x86-64-core2-full.config b/buildroot/support/config-fragments/autobuild/br-x86-64-core2-full.config index 50edff5f7..7cdb738b3 100644 --- a/buildroot/support/config-fragments/autobuild/br-x86-64-core2-full.config +++ b/buildroot/support/config-fragments/autobuild/br-x86-64-core2-full.config @@ -3,7 +3,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-core2-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/br-x86-64-musl.config b/buildroot/support/config-fragments/autobuild/br-x86-64-musl.config index 6f5b23d30..5a59485aa 100644 --- a/buildroot/support/config-fragments/autobuild/br-x86-64-musl.config +++ b/buildroot/support/config-fragments/autobuild/br-x86-64-musl.config @@ -3,7 +3,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-musl-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y diff --git a/buildroot/support/config-fragments/autobuild/br-xtensa-full.config b/buildroot/support/config-fragments/autobuild/br-xtensa-full.config index d60a71a19..44845cd32 100644 --- a/buildroot/support/config-fragments/autobuild/br-xtensa-full.config +++ b/buildroot/support/config-fragments/autobuild/br-xtensa-full.config @@ -1,7 +1,7 @@ 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-2018.02-891-g046c5e2.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-xtensa-full-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y diff --git a/buildroot/support/config-fragments/autobuild/linaro-aarch64-be.config b/buildroot/support/config-fragments/autobuild/linaro-aarch64-be.config new file mode 100644 index 000000000..e075fe7eb --- /dev/null +++ b/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/buildroot/support/config-fragments/autobuild/toolchain-configs.csv b/buildroot/support/config-fragments/autobuild/toolchain-configs.csv index 64abfb3fd..f24ec9ced 100644 --- a/buildroot/support/config-fragments/autobuild/toolchain-configs.csv +++ b/buildroot/support/config-fragments/autobuild/toolchain-configs.csv @@ -22,6 +22,7 @@ support/config-fragments/autobuild/br-arm-full-static.config,x86_64 support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.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/armv7-ctng-linux-gnueabihf.config,x86 support/config-fragments/autobuild/br-aarch64-glibc.config,x86_64 support/config-fragments/autobuild/br-arc-full-internal.config,any @@ -50,6 +51,7 @@ 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-riscv64-internal-glibc.config,any 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 @@ -58,6 +60,7 @@ 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 diff --git a/buildroot/support/dependencies/check-host-bison-flex.mk b/buildroot/support/dependencies/check-host-bison-flex.mk new file mode 100644 index 000000000..233b6c51c --- /dev/null +++ b/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/buildroot/support/dependencies/check-host-make.mk b/buildroot/support/dependencies/check-host-make.mk new file mode 100644 index 000000000..66560ee85 --- /dev/null +++ b/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/buildroot/support/dependencies/check-host-make.sh b/buildroot/support/dependencies/check-host-make.sh new file mode 100755 index 000000000..0de7e9f6f --- /dev/null +++ b/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/buildroot/support/dependencies/dependencies.sh b/buildroot/support/dependencies/dependencies.sh index c5f29d32f..58c34d880 100755 --- a/buildroot/support/dependencies/dependencies.sh +++ b/buildroot/support/dependencies/dependencies.sh @@ -258,6 +258,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/buildroot/support/docker/Dockerfile b/buildroot/support/docker/Dockerfile index f01ac25f9..36cd3b28a 100644 --- a/buildroot/support/docker/Dockerfile +++ b/buildroot/support/docker/Dockerfile @@ -20,26 +20,35 @@ 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 \ - python-pip && \ + 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 -# For check-flake8 -RUN python -m pip install --upgrade pip setuptools wheel && \ - pip install -q \ - flake8==3.5.0 \ - mccabe==0.6.1 \ - pycodestyle==2.3.1 \ - pyflakes==1.6.0 - # To be able to generate a toolchain with locales, enable one UTF-8 locale RUN sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen && \ /usr/sbin/locale-gen diff --git a/buildroot/support/download/dl-wrapper b/buildroot/support/download/dl-wrapper index 4059c37eb..bb70c9825 100755 --- a/buildroot/support/download/dl-wrapper +++ b/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). @@ -27,9 +25,8 @@ main() { local -a uris # Parse our options; anything after '--' is for the backend - while getopts ":hc:d:D:o:n:N:H:rf:u:q" OPT; do + while getopts ":c:d:D:o:n:N:H:rf:u:q" OPT; do case "${OPT}" in - h) help; exit 0;; c) cset="${OPTARG}";; d) dl_dir="${OPTARG}";; D) old_dl_dir="${OPTARG}";; @@ -88,7 +85,8 @@ main() { download_and_check=0 rc=1 for uri in "${uris[@]}"; do - backend=${uri%%+*} + backend_urlencode="${uri%%+*}" + backend="${backend_urlencode%|*}" case "${backend}" in git|svn|cvs|bzr|file|scp|hg) ;; *) backend="wget" ;; @@ -212,48 +210,6 @@ main() { return ${rc} } -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. - - -u URIs - The URI to get the file from, the URI must respect the format given in - the example. - You may give as many '-u URI' as you want, the script will stop at the - frist successful download. - - Example: backend+URI; git+http://example.com or http+http://example.com - - -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_ -} - trace() { local msg="${1}"; shift; printf "%s: ${msg}" "${my_name}" "${@}"; } warn() { trace "${@}" >&2; } errorN() { local ret="${1}"; shift; warn "${@}"; exit ${ret}; } diff --git a/buildroot/support/download/git b/buildroot/support/download/git index 11bb52c1e..17ca04eb9 100755 --- a/buildroot/support/download/git +++ b/buildroot/support/download/git @@ -185,7 +185,7 @@ fi # the state of the remote server. It also would generate large tarballs # (gigabytes for some linux trees) when a full clone took place. find . -not -type d \ - -and -not -path "./.git/*" >"${output}.list" + -and -not -path "./.git/*" >"${output}.list" LC_ALL=C sort <"${output}.list" >"${output}.list.sorted" # Create GNU-format tarballs, since that's the format of the tarballs on diff --git a/buildroot/support/kconfig/Makefile b/buildroot/support/kconfig/Makefile index af6202386..b0bcc2627 100644 --- a/buildroot/support/kconfig/Makefile +++ b/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/buildroot/support/kconfig/README.buildroot b/buildroot/support/kconfig/README.buildroot index 3140713b3..76808f85b 100644 --- a/buildroot/support/kconfig/README.buildroot +++ b/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 diff --git a/buildroot/support/kconfig/check.sh b/buildroot/support/kconfig/check.sh index 854d9c7c6..97f0fee7d 100755 --- a/buildroot/support/kconfig/check.sh +++ b/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/buildroot/support/kconfig/conf.c b/buildroot/support/kconfig/conf.c index 553fc76d9..2d7a7ac43 100644 --- a/buildroot/support/kconfig/conf.c +++ b/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/buildroot/support/kconfig/confdata.c b/buildroot/support/kconfig/confdata.c index 2371fa817..892da74fd 100644 --- a/buildroot/support/kconfig/confdata.c +++ b/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/buildroot/support/kconfig/expr.c b/buildroot/support/kconfig/expr.c index d6626521f..e1a39e908 100644 --- a/buildroot/support/kconfig/expr.c +++ b/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/buildroot/support/kconfig/expr.h b/buildroot/support/kconfig/expr.h index ba663e1dc..94a383b21 100644 --- a/buildroot/support/kconfig/expr.h +++ b/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/buildroot/support/kconfig/gconf.c b/buildroot/support/kconfig/gconf.c index 7cbe68eb0..0c2d1c18f 100644 --- a/buildroot/support/kconfig/gconf.c +++ b/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/buildroot/support/kconfig/kconf_id.c b/buildroot/support/kconfig/kconf_id.c new file mode 100644 index 000000000..3ea9c5f9f --- /dev/null +++ b/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/buildroot/support/kconfig/kxgettext.c b/buildroot/support/kconfig/kxgettext.c index 2858738b2..240880a89 100644 --- a/buildroot/support/kconfig/kxgettext.c +++ b/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/buildroot/support/kconfig/list.h b/buildroot/support/kconfig/list.h index 685d80e1b..45cb237ab 100644 --- a/buildroot/support/kconfig/list.h +++ b/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/buildroot/support/kconfig/lkc.h b/buildroot/support/kconfig/lkc.h index 09f4edfdc..f4394af6e 100644 --- a/buildroot/support/kconfig/lkc.h +++ b/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/buildroot/support/kconfig/lkc_proto.h b/buildroot/support/kconfig/lkc_proto.h index ecdb9659b..9dc8abfb1 100644 --- a/buildroot/support/kconfig/lkc_proto.h +++ b/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/buildroot/support/kconfig/lxdialog/check-lxdialog.sh b/buildroot/support/kconfig/lxdialog/check-lxdialog.sh index 3ce0a2334..16cd9a318 100755 --- a/buildroot/support/kconfig/lxdialog/check-lxdialog.sh +++ b/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/buildroot/support/kconfig/lxdialog/checklist.c b/buildroot/support/kconfig/lxdialog/checklist.c index 3b15c08ec..8d016faa2 100644 --- a/buildroot/support/kconfig/lxdialog/checklist.c +++ b/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/buildroot/support/kconfig/lxdialog/dialog.h b/buildroot/support/kconfig/lxdialog/dialog.h index b4343d384..fcffd5b41 100644 --- a/buildroot/support/kconfig/lxdialog/dialog.h +++ b/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/buildroot/support/kconfig/lxdialog/inputbox.c b/buildroot/support/kconfig/lxdialog/inputbox.c index 447a58219..d58de1dc5 100644 --- a/buildroot/support/kconfig/lxdialog/inputbox.c +++ b/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/buildroot/support/kconfig/lxdialog/menubox.c b/buildroot/support/kconfig/lxdialog/menubox.c index b0d0d698e..185524901 100644 --- a/buildroot/support/kconfig/lxdialog/menubox.c +++ b/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/buildroot/support/kconfig/lxdialog/util.c b/buildroot/support/kconfig/lxdialog/util.c index 58a8289dd..f7abdeb92 100644 --- a/buildroot/support/kconfig/lxdialog/util.c +++ b/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/buildroot/support/kconfig/mconf.c b/buildroot/support/kconfig/mconf.c index 91c4df78f..279f4552a 100644 --- a/buildroot/support/kconfig/mconf.c +++ b/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/buildroot/support/kconfig/menu.c b/buildroot/support/kconfig/menu.c index db1512ae3..5c5c1374b 100644 --- a/buildroot/support/kconfig/menu.c +++ b/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/buildroot/support/kconfig/merge_config.sh b/buildroot/support/kconfig/merge_config.sh index e1d7ffa7b..50de5114d 100755 --- a/buildroot/support/kconfig/merge_config.sh +++ b/buildroot/support/kconfig/merge_config.sh @@ -32,11 +32,11 @@ 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)" } -MAKE=true +RUNMAKE=true ALLTARGET=alldefconfig WARNREDUN=false OUTPUT=. @@ -49,7 +49,7 @@ while true; do continue ;; "-m") - MAKE=false + RUNMAKE=false shift continue ;; @@ -83,9 +83,27 @@ 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" TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX) @@ -93,34 +111,36 @@ 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" + if [ ! -r "$MERGE_FILE" ]; then + echo "The merge file '$MERGE_FILE' does not exist. Exit." >&2 + exit 1 + fi CFG_LIST=$(sed -n "$SED_CONFIG_EXP" $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 @@ -144,7 +164,7 @@ make KCONFIG_ALLCONFIG=$TMP_FILE $EXTERNAL_ARG $OUTPUT_ARG $ALLTARGET for CFG in $(sed -n "$SED_CONFIG_EXP" $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/buildroot/support/kconfig/nconf.c b/buildroot/support/kconfig/nconf.c index 4fbecd247..003114779 100644 --- a/buildroot/support/kconfig/nconf.c +++ b/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/buildroot/support/kconfig/nconf.gui.c b/buildroot/support/kconfig/nconf.gui.c index 8275f0e55..88874acfd 100644 --- a/buildroot/support/kconfig/nconf.gui.c +++ b/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/buildroot/support/kconfig/nconf.h b/buildroot/support/kconfig/nconf.h index 0d5261705..9f6f21d3b 100644 --- a/buildroot/support/kconfig/nconf.h +++ b/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/buildroot/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch b/buildroot/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch index e76198a36..43ae61a9c 100644 --- a/buildroot/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch +++ b/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/buildroot/support/kconfig/patches/06-br-build-system-integration.patch b/buildroot/support/kconfig/patches/06-br-build-system-integration.patch index 3faa39ed6..35420cbb1 100644 --- a/buildroot/support/kconfig/patches/06-br-build-system-integration.patch +++ b/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/buildroot/support/kconfig/patches/10-br-build-system.patch b/buildroot/support/kconfig/patches/10-br-build-system.patch index be6fda07a..abf246369 100644 --- a/buildroot/support/kconfig/patches/10-br-build-system.patch +++ b/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/buildroot/support/kconfig/patches/11-use-mktemp-for-lxdialog.patch b/buildroot/support/kconfig/patches/11-use-mktemp-for-lxdialog.patch index b38af2621..387c633ae 100644 --- a/buildroot/support/kconfig/patches/11-use-mktemp-for-lxdialog.patch +++ b/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/buildroot/support/kconfig/patches/12-fix-glade-file-path.patch b/buildroot/support/kconfig/patches/12-fix-glade-file-path.patch index a5777da3e..7d5941fc9 100644 --- a/buildroot/support/kconfig/patches/12-fix-glade-file-path.patch +++ b/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/buildroot/support/kconfig/patches/14-support-out-of-tree-config.patch b/buildroot/support/kconfig/patches/14-support-out-of-tree-config.patch index ec3134f94..a3b33ba68 100644 --- a/buildroot/support/kconfig/patches/14-support-out-of-tree-config.patch +++ b/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/buildroot/support/kconfig/patches/15-fix-qconf-moc-rule.patch b/buildroot/support/kconfig/patches/15-fix-qconf-moc-rule.patch deleted file mode 100644 index c1848d764..000000000 --- a/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/buildroot/support/kconfig/patches/16-fix-space-to-de-select-options.patch b/buildroot/support/kconfig/patches/16-fix-space-to-de-select-options.patch index 972d2de9e..08f7ec5d9 100644 --- a/buildroot/support/kconfig/patches/16-fix-space-to-de-select-options.patch +++ b/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/buildroot/support/kconfig/patches/17-backport-kecho.patch b/buildroot/support/kconfig/patches/17-backport-kecho.patch new file mode 100644 index 000000000..9d1387661 --- /dev/null +++ b/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/buildroot/support/kconfig/patches/17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch b/buildroot/support/kconfig/patches/17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch deleted file mode 100644 index 1eb48ef97..000000000 --- a/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/buildroot/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch b/buildroot/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch deleted file mode 100644 index 3ca48d071..000000000 --- a/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/buildroot/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch b/buildroot/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch new file mode 100644 index 000000000..f2a261f30 --- /dev/null +++ b/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/buildroot/support/kconfig/patches/19-merge_config.sh-add-br2-external-support.patch b/buildroot/support/kconfig/patches/19-merge_config.sh-add-br2-external-support.patch new file mode 100644 index 000000000..1d0ef323b --- /dev/null +++ b/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/buildroot/support/kconfig/patches/series b/buildroot/support/kconfig/patches/series index 1a53ba995..e136de793 100644 --- a/buildroot/support/kconfig/patches/series +++ b/buildroot/support/kconfig/patches/series @@ -4,7 +4,7 @@ 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 diff --git a/buildroot/support/kconfig/qconf.cc b/buildroot/support/kconfig/qconf.cc index f630567c8..7896b584c 100644 --- a/buildroot/support/kconfig/qconf.cc +++ b/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/buildroot/support/kconfig/qconf.h b/buildroot/support/kconfig/qconf.h index bde0c6b6f..a40036d1b 100644 --- a/buildroot/support/kconfig/qconf.h +++ b/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/buildroot/support/kconfig/streamline_config.pl b/buildroot/support/kconfig/streamline_config.pl old mode 100644 new mode 100755 index 4606cdfb8..a2e83ab17 --- a/buildroot/support/kconfig/streamline_config.pl +++ b/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/buildroot/support/kconfig/symbol.c b/buildroot/support/kconfig/symbol.c index 7caabdb51..f0b2e3b31 100644 --- a/buildroot/support/kconfig/symbol.c +++ b/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/buildroot/support/kconfig/util.c b/buildroot/support/kconfig/util.c index 60eb56618..18a8e5239 100644 --- a/buildroot/support/kconfig/util.c +++ b/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/buildroot/support/kconfig/zconf.gperf b/buildroot/support/kconfig/zconf.gperf deleted file mode 100644 index f14ab4115..000000000 --- a/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/buildroot/support/kconfig/zconf.hash.c_shipped b/buildroot/support/kconfig/zconf.hash.c_shipped deleted file mode 100644 index 40df0005d..000000000 --- a/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/buildroot/support/kconfig/zconf.l b/buildroot/support/kconfig/zconf.l index 1a9f53e53..045093d82 100644 --- a/buildroot/support/kconfig/zconf.l +++ b/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/buildroot/support/kconfig/zconf.lex.c_shipped b/buildroot/support/kconfig/zconf.lex.c_shipped index a0521aa59..33913d43c 100644 --- a/buildroot/support/kconfig/zconf.lex.c_shipped +++ b/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/buildroot/support/kconfig/zconf.tab.c_shipped b/buildroot/support/kconfig/zconf.tab.c_shipped index f3430308a..4eca5b313 100644 --- a/buildroot/support/kconfig/zconf.tab.c_shipped +++ b/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/buildroot/support/kconfig/zconf.y b/buildroot/support/kconfig/zconf.y index 08ac041ff..7b34de28a 100644 --- a/buildroot/support/kconfig/zconf.y +++ b/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/buildroot/support/misc/Vagrantfile b/buildroot/support/misc/Vagrantfile index cca0a3db3..1ca5edc64 100644 --- a/buildroot/support/misc/Vagrantfile +++ b/buildroot/support/misc/Vagrantfile @@ -5,14 +5,14 @@ ################################################################################ # Buildroot version to use -RELEASE='2018.05' +RELEASE='2018.11' ### 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/buildroot/support/misc/toolchainfile.cmake.in b/buildroot/support/misc/toolchainfile.cmake.in index 1f5d2371e..6f3c8ca97 100644 --- a/buildroot/support/misc/toolchainfile.cmake.in +++ b/buildroot/support/misc/toolchainfile.cmake.in @@ -45,6 +45,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/buildroot/support/scripts/graph-build-time b/buildroot/support/scripts/graph-build-time index 415d431f2..892e08bf0 100755 --- a/buildroot/support/scripts/graph-build-time +++ b/buildroot/support/scripts/graph-build-time @@ -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/buildroot/support/scripts/graph-depends b/buildroot/support/scripts/graph-depends index 621e60327..3c091da5e 100755 --- a/buildroot/support/scripts/graph-depends +++ b/buildroot/support/scripts/graph-depends @@ -94,9 +94,10 @@ def get_all_depends(pkgs, get_depends_func): # The Graphviz "dot" utility doesn't like dashes in node names. So for -# node names, we strip all dashes. +# node names, we strip all dashes. Also, nodes can't start with a number, +# so we prepend an underscore. def pkg_node_name(pkg): - return pkg.replace("-", "") + return "_" + pkg.replace("-", "") TARGET_EXCEPTIONS = [ diff --git a/buildroot/support/scripts/mkmakefile b/buildroot/support/scripts/mkmakefile index 37162a317..c7569f2ca 100755 --- a/buildroot/support/scripts/mkmakefile +++ b/buildroot/support/scripts/mkmakefile @@ -20,6 +20,13 @@ echo " GEN $2/Makefile" cat << EOF > $2/Makefile # Automatically generated by $0: don't edit +ifeq ("\$(origin V)", "command line") +VERBOSE := \$(V) +endif +ifneq (\$(VERBOSE),1) +Q := @ +endif + lastword = \$(word \$(words \$(1)),\$(1)) makedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST))) @@ -33,7 +40,7 @@ MAKEFLAGS += --no-print-directory all := \$(filter-out Makefile,\$(MAKECMDGOALS)) _all: - umask 0022 && \$(MAKE) \$(MAKEARGS) \$(all) + \$(Q)umask 0022 && \$(MAKE) \$(MAKEARGS) \$(all) Makefile:; diff --git a/buildroot/support/scripts/mkusers b/buildroot/support/scripts/mkusers index 5bbec3e10..d00ba3382 100755 --- a/buildroot/support/scripts/mkusers +++ b/buildroot/support/scripts/mkusers @@ -75,6 +75,14 @@ get_gid() { '$1 == group { printf( "%d\n", $3 ); }' "${GROUP}" } +#---------------------------------------------------------------------------- +get_members() { + local group="${1}" + + awk -F: -v group="${group}" \ + '$1 == group { printf( "%s\n", $4 ); }' "${GROUP}" +} + #---------------------------------------------------------------------------- get_username() { local uid="${1}" @@ -211,16 +219,17 @@ generate_gid() { add_one_group() { local group="${1}" local gid="${2}" - local _f + local members # Generate a new GID if needed if [ ${gid} -eq -1 ]; then gid="$( generate_gid "${group}" )" fi + members=$(get_members "$group") # Remove any previous instance of this group, and re-add the new one sed -i --follow-symlinks -e '/^'"${group}"':.*/d;' "${GROUP}" - printf "%s:x:%d:\n" "${group}" "${gid}" >>"${GROUP}" + printf "%s:x:%d:%s\n" "${group}" "${gid}" "${members}" >>"${GROUP}" # Ditto for /etc/gshadow if it exists if [ -f "${GSHADOW}" ]; then diff --git a/buildroot/support/scripts/pkg-stats b/buildroot/support/scripts/pkg-stats index b7b00e863..d0b06b1e7 100755 --- a/buildroot/support/scripts/pkg-stats +++ b/buildroot/support/scripts/pkg-stats @@ -24,8 +24,11 @@ from collections import defaultdict import re import subprocess import sys +import requests # URL checking +from multiprocessing import Pool INFRA_RE = re.compile("\$\(eval \$\(([a-z-]*)-package\)\)") +URL_RE = re.compile("\s*https?://\S*\s*$") class Package: @@ -43,10 +46,30 @@ class Package: self.patch_count = 0 self.warnings = 0 self.current_version = None + self.url = None + self.url_status = None + self.url_worker = 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 @@ -255,6 +278,26 @@ def package_init_make_info(): 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 calculate_stats(packages): stats = defaultdict(int) for pkg in packages: @@ -311,6 +354,15 @@ td.somepatches { td.lotsofpatches { background: #ff9a69; } +td.good_url { + background: #d2ffc4; +} +td.missing_url { + background: #ffd870; +} +td.invalid_url { + background: #ff9a69; +} Statistics of Buildroot packages @@ -422,6 +474,20 @@ def dump_html_pkg(f, pkg): f.write(" %d\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(" %s\n" % + (" ".join(td_class), url_str)) + f.write(" \n") @@ -437,6 +503,7 @@ def dump_html_all_pkgs(f, packages): Hash file Current version Warnings +Upstream URL """) for pkg in sorted(packages): @@ -517,6 +584,9 @@ def __main__(): 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("Calculate stats") stats = calculate_stats(packages) print("Write HTML") diff --git a/buildroot/support/testing/conf/f2fs-kernel-fragment.config b/buildroot/support/testing/conf/f2fs-kernel-fragment.config new file mode 100644 index 000000000..0fca7e784 --- /dev/null +++ b/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/buildroot/support/testing/infra/__init__.py b/buildroot/support/testing/infra/__init__.py index b03e89177..e229e9085 100644 --- a/buildroot/support/testing/infra/__init__.py +++ b/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/buildroot/support/testing/infra/basetest.py b/buildroot/support/testing/infra/basetest.py index f3f13ad97..5014fefaf 100644 --- a/buildroot/support/testing/infra/basetest.py +++ b/buildroot/support/testing/infra/basetest.py @@ -46,8 +46,8 @@ class BRTest(unittest.TestCase): 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") diff --git a/buildroot/support/testing/infra/builder.py b/buildroot/support/testing/infra/builder.py index faf1eb149..fc318fe26 100644 --- a/buildroot/support/testing/infra/builder.py +++ b/buildroot/support/testing/infra/builder.py @@ -35,6 +35,11 @@ class Builder(object): def build(self): 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"] cmd = ["make", "-C", self.builddir] ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile, env=env) diff --git a/buildroot/support/testing/run-tests b/buildroot/support/testing/run-tests index 270e78cff..76dd15e9f 100755 --- a/buildroot/support/testing/run-tests +++ b/buildroot/support/testing/run-tests @@ -41,7 +41,7 @@ def main(): BRTest.logtofile = False if args.list: - print "List of tests" + print("List of tests") nose2.discover(argv=[script_path, "-s", test_dir, "-v", @@ -52,16 +52,16 @@ 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) 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 @@ -71,8 +71,8 @@ def main(): BRTest.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 @@ -80,8 +80,8 @@ def main(): 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 @@ -93,16 +93,16 @@ def main(): 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 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 diff --git a/buildroot/support/testing/tests/boot/test_atf.py b/buildroot/support/testing/tests/boot/test_atf.py index 75cea01fc..bb3701bae 100644 --- a/buildroot/support/testing/tests/boot/test_atf.py +++ b/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/buildroot/support/testing/tests/core/device_table2.txt b/buildroot/support/testing/tests/core/device_table2.txt new file mode 100644 index 000000000..f8323217f --- /dev/null +++ b/buildroot/support/testing/tests/core/device_table2.txt @@ -0,0 +1,7 @@ +# +/usr/sbin/getcap f 755 0 0 - - - - - +|xattr cap_sys_nice+eip +# leading spaces are ignored for xattr + |xattr cap_kill+eip +# leading tabs are ignored for xattr + |xattr cap_sys_time+eip diff --git a/buildroot/support/testing/tests/core/squashfs-xattr-kernel.config b/buildroot/support/testing/tests/core/squashfs-xattr-kernel.config new file mode 100644 index 000000000..81b21b94c --- /dev/null +++ b/buildroot/support/testing/tests/core/squashfs-xattr-kernel.config @@ -0,0 +1 @@ +CONFIG_SQUASHFS_XATTR=y diff --git a/buildroot/support/testing/tests/core/test_file_capabilities.py b/buildroot/support/testing/tests/core/test_file_capabilities.py new file mode 100644 index 000000000..945b48a4c --- /dev/null +++ b/buildroot/support/testing/tests/core/test_file_capabilities.py @@ -0,0 +1,47 @@ +import os +import subprocess + +import infra.basetest + + +class TestFileCapabilities(infra.basetest.BRTest): + config = \ + """ + BR2_arm=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt {}" + BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + 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_CONFIG_FRAGMENT_FILES="{}" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_PACKAGE_LIBCAP=y + BR2_PACKAGE_LIBCAP_TOOLS=y + BR2_TARGET_ROOTFS_SQUASHFS=y + # BR2_TARGET_ROOTFS_TAR is not set + """.format(infra.filepath("tests/core/device_table2.txt"), + infra.filepath("tests/core/squashfs-xattr-kernel.config")) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.squashfs") + subprocess.call(["truncate", "-s", "%1M", img]) + + self.emulator.boot(arch="armv7", + kernel=os.path.join(self.builddir, "images", "zImage"), + kernel_cmdline=["root=/dev/mmcblk0", + "rootfstype=squashfs"], + options=["-drive", "file={},if=sd,format=raw".format(img), + "-M", "vexpress-a9", + "-dtb", os.path.join(self.builddir, "images", "vexpress-v2p-ca9.dtb")]) + self.emulator.login() + + cmd = "getcap -v /usr/sbin/getcap" + output, _ = self.emulator.run(cmd) + self.assertIn("cap_kill", output[0]) + self.assertIn("cap_sys_nice", output[0]) + self.assertIn("cap_sys_time", output[0]) + self.assertIn("+eip", output[0]) diff --git a/buildroot/support/testing/tests/core/test_hardening.py b/buildroot/support/testing/tests/core/test_hardening.py new file mode 100644 index 000000000..82e0f3d8f --- /dev/null +++ b/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/buildroot/support/testing/tests/core/test_post_scripts.py b/buildroot/support/testing/tests/core/test_post_scripts.py index a0e5b6b45..40a36b790 100644 --- a/buildroot/support/testing/tests/core/test_post_scripts.py +++ b/buildroot/support/testing/tests/core/test_post_scripts.py @@ -41,8 +41,8 @@ class TestPostScripts(infra.basetest.BRTest): 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/target"), - os.path.join(self.builddir, "build/buildroot-fs/target")) + 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/buildroot/support/testing/tests/fs/test_f2fs.py b/buildroot/support/testing/tests/fs/test_f2fs.py new file mode 100644 index 000000000..819c619a3 --- /dev/null +++ b/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/buildroot/support/testing/tests/package/test_python_autobahn.py b/buildroot/support/testing/tests/package/test_python_autobahn.py new file mode 100644 index 000000000..2bc0f0ccc --- /dev/null +++ b/buildroot/support/testing/tests/package/test_python_autobahn.py @@ -0,0 +1,32 @@ +from tests.package.test_python import TestPythonBase + + +class TestPythonAutobahn(TestPythonBase): + def import_test(self): + cmd = self.interpreter + " -c 'import autobahn.wamp'" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + +class TestPythonPy2Autobahn(TestPythonAutobahn): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_AUTOBAHN=y + """ + + def test_run(self): + self.login() + self.import_test() + + +class TestPythonPy3Autobahn(TestPythonAutobahn): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_AUTOBAHN=y + """ + + def test_run(self): + self.login() + self.import_test() diff --git a/buildroot/support/testing/tests/package/test_python_incremental.py b/buildroot/support/testing/tests/package/test_python_incremental.py new file mode 100644 index 000000000..acf743cdd --- /dev/null +++ b/buildroot/support/testing/tests/package/test_python_incremental.py @@ -0,0 +1,34 @@ +from tests.package.test_python import TestPythonBase + + +class TestPythonIncremental(TestPythonBase): + def str_test(self): + cmd = self.interpreter + " -c 'import incremental;" + cmd += "v = incremental.Version(\"package\", 1, 2, 3, release_candidate=4);" + cmd += "assert(str(v) == \"[package, version 1.2.3rc4]\")'" + _, exit_code = self.emulator.run(cmd, timeout=30) + self.assertEqual(exit_code, 0) + + +class TestPythonPy2Incremental(TestPythonIncremental): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_INCREMENTAL=y + """ + + def test_run(self): + self.login() + self.str_test() + + +class TestPythonPy3Incremental(TestPythonIncremental): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_INCREMENTAL=y + """ + + def test_run(self): + self.login() + self.str_test() diff --git a/buildroot/support/testing/tests/package/test_python_twisted.py b/buildroot/support/testing/tests/package/test_python_twisted.py new file mode 100644 index 000000000..ccee07d61 --- /dev/null +++ b/buildroot/support/testing/tests/package/test_python_twisted.py @@ -0,0 +1,54 @@ +from tests.package.test_python import TestPythonBase + +TEST_SCRIPT = """ +from twisted.internet import protocol, reactor, endpoints +class F(protocol.Factory): + pass +endpoints.serverFromString(reactor, "tcp:1234").listen(F()) +reactor.run() +""" + + +class TestPythonTwisted(TestPythonBase): + def import_test(self): + cmd = "printf '{}' > test.py".format(TEST_SCRIPT) + _, exit_code = self.emulator.run(cmd) + 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, 1) + + cmd = self.interpreter + " test.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): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ + + def test_run(self): + self.login() + self.import_test() + + +class TestPythonPy3Twisted(TestPythonTwisted): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ + + def test_run(self): + self.login() + self.import_test() diff --git a/buildroot/support/testing/tests/package/test_python_txaio.py b/buildroot/support/testing/tests/package/test_python_txaio.py new file mode 100644 index 000000000..af93e031b --- /dev/null +++ b/buildroot/support/testing/tests/package/test_python_txaio.py @@ -0,0 +1,34 @@ +from tests.package.test_python import TestPythonBase + + +class TestPythonPy2Txaio(TestPythonBase): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TXAIO=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ + + def test_run(self): + self.login() + cmd = self.interpreter + " -c 'import txaio;" + cmd += "txaio.use_twisted();" + cmd += "f0 = txaio.create_future()'" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + +class TestPythonPy3Txaio(TestPythonBase): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TXAIO=y + """ + + def test_run(self): + self.login() + cmd = self.interpreter + " -c 'import txaio;" + cmd += "txaio.use_asyncio();" + cmd += "f0 = txaio.create_future()'" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) diff --git a/buildroot/support/testing/tests/package/test_python_txtorcon.py b/buildroot/support/testing/tests/package/test_python_txtorcon.py new file mode 100644 index 000000000..352ff6782 --- /dev/null +++ b/buildroot/support/testing/tests/package/test_python_txtorcon.py @@ -0,0 +1,32 @@ +from tests.package.test_python import TestPythonBase + + +class TestPythonTxtorcon(TestPythonBase): + def import_test(self): + cmd = self.interpreter + " -c 'import txtorcon'" + _, exit_code = self.emulator.run(cmd, timeout=30) + self.assertEqual(exit_code, 0) + + +class TestPythonPy2Txtorcon(TestPythonTxtorcon): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TXTORCON=y + """ + + def test_run(self): + self.login() + self.import_test() + + +class TestPythonPy3Txtorcon(TestPythonTxtorcon): + config = TestPythonBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TXTORCON=y + """ + + def test_run(self): + self.login() + self.import_test() diff --git a/buildroot/system/Config.in b/buildroot/system/Config.in index d14a864ca..9e34f11b6 100644 --- a/buildroot/system/Config.in +++ b/buildroot/system/Config.in @@ -127,9 +127,7 @@ config BR2_INIT_SYSV config BR2_INIT_SYSTEMD bool "systemd" depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC - depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_TOOLCHAIN_HAS_SSP depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS @@ -137,9 +135,12 @@ config BR2_INIT_SYSTEMD select BR2_ROOTFS_MERGED_USR select BR2_PACKAGE_SYSTEMD -comment "systemd needs a glibc or uClibc toolchain, headers >= 3.10" - depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC \ - && 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" diff --git a/buildroot/system/skeleton/etc/profile b/buildroot/system/skeleton/etc/profile index 3a97427fd..1255d23ff 100644 --- a/buildroot/system/skeleton/etc/profile +++ b/buildroot/system/skeleton/etc/profile @@ -8,7 +8,7 @@ if [ "$PS1" ]; then fi fi -export PAGER='/bin/more ' +export PAGER='/bin/more' export EDITOR='/bin/vi' # Source configuration files from /etc/profile.d @@ -16,5 +16,5 @@ for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then . $i fi - unset i done +unset i diff --git a/buildroot/toolchain/Config.in b/buildroot/toolchain/Config.in index ebd84509f..196612b8b 100644 --- a/buildroot/toolchain/Config.in +++ b/buildroot/toolchain/Config.in @@ -15,7 +15,6 @@ 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_SUPPORTS_PIE config BR2_TOOLCHAIN_USES_UCLIBC @@ -43,7 +42,6 @@ choice config BR2_TOOLCHAIN_BUILDROOT bool "Buildroot toolchain" depends on BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT - select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS config BR2_TOOLCHAIN_EXTERNAL bool "External toolchain" @@ -71,18 +69,40 @@ comment "Toolchain Generic Options" 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 +# 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 + +# 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_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 + 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. @@ -122,9 +142,6 @@ config BR2_TOOLCHAIN_HAS_THREADS_DEBUG config BR2_TOOLCHAIN_HAS_THREADS_NPTL bool -config BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS - bool - config BR2_TOOLCHAIN_HAS_SSP bool @@ -341,10 +358,20 @@ 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 + # 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.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 @@ -423,10 +450,15 @@ 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 diff --git a/buildroot/toolchain/helpers.mk b/buildroot/toolchain/helpers.mk index 1792286ad..e5520c00c 100644 --- a/buildroot/toolchain/helpers.mk +++ b/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/buildroot/toolchain/toolchain-buildroot/Config.in b/buildroot/toolchain/toolchain-buildroot/Config.in index 75e8191f4..beb17a218 100644 --- a/buildroot/toolchain/toolchain-buildroot/Config.in +++ b/buildroot/toolchain/toolchain-buildroot/Config.in @@ -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/buildroot/toolchain/toolchain-external/Config.in b/buildroot/toolchain/toolchain-external/Config.in index 6759e5cef..1f14f0350 100644 --- a/buildroot/toolchain/toolchain-external/Config.in +++ b/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" @@ -107,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/buildroot/toolchain/toolchain-external/pkg-toolchain-external.mk b/buildroot/toolchain/toolchain-external/pkg-toolchain-external.mk index 8b2c28365..db3570d96 100644 --- a/buildroot/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/buildroot/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -151,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 @@ -170,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 @@ -557,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/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in b/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in new file mode 100644 index 000000000..1e303c5ec --- /dev/null +++ b/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.08" + 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_18 + 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/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options b/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options new file mode 100644 index 000000000..add4adad2 --- /dev/null +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash b/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash new file mode 100644 index 000000000..9ab0eb519 --- /dev/null +++ b/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.08/gcc-arm-8.2-2018.08-x86_64-aarch64_be-linux-gnu.tar.xz.asc +md5 789171dc11bc2e37e90ea3c6de46c719 gcc-arm-8.2-2018.08-x86_64-aarch64_be-linux-gnu.tar.xz +# locally calculated +sha256 2cd8a1a35a892db5f0cd738a8b17bd1563f6d6e4be43a2b527b355bcfb295df8 gcc-arm-8.2-2018.08-x86_64-aarch64_be-linux-gnu.tar.xz diff --git a/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk b/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk new file mode 100644 index 000000000..4a4e5a01b --- /dev/null +++ b/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.08 +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/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in new file mode 100644 index 000000000..ba627129c --- /dev/null +++ b/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -0,0 +1,19 @@ +config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 + bool "Arm AArch64 2018.08" + 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_18 + 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/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options b/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options new file mode 100644 index 000000000..19b75805c --- /dev/null +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash b/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash new file mode 100644 index 000000000..d651bb018 --- /dev/null +++ b/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.08/gcc-arm-8.2-2018.08-x86_64-aarch64-linux-gnu.tar.xz.asc +md5 1c47f4edc431cf19604a9f1b09975269 gcc-arm-8.2-2018.08-x86_64-aarch64-linux-gnu.tar.xz +# locally calculated +sha256 3e60644846ac60693e58ad71a319d64c5f7bcf95ff34411272c8d9674f85648f gcc-arm-8.2-2018.08-x86_64-aarch64-linux-gnu.tar.xz diff --git a/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk b/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk new file mode 100644 index 000000000..515b66cd7 --- /dev/null +++ b/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.08 +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/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in new file mode 100644 index 000000000..4ec61f2d0 --- /dev/null +++ b/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.08" + 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_18 + 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/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options b/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options new file mode 100644 index 000000000..16e7d6ff3 --- /dev/null +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash b/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash new file mode 100644 index 000000000..f13c43a7e --- /dev/null +++ b/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.08/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.xz.asc +md5 dc7455746d90259337fb88c3e67f8855 gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.xz +# locally calculated +sha256 5b3f20e1327edc3073e545a5bd3d15f33e7f94181ff4e37a76e95924c1b439b9 gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf.tar.xz diff --git a/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk b/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk new file mode 100644 index 000000000..03de21a28 --- /dev/null +++ b/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.08 +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/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in b/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in index 50c5a2001..9187333b9 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in b/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in index 4ac9c95c8..9d785a4b6 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash b/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash index 3643f921b..518e677f3 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk b/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk index dfa4ea425..cb0fe760f 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/buildroot/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index 65d94d0ad..8665d2e2a 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/buildroot/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -27,6 +27,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX 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 @@ -37,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 @@ -117,6 +123,14 @@ choice m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF +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 @@ -277,9 +291,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/) @@ -394,6 +405,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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in new file mode 100644 index 000000000..9e7d2a623 --- /dev/null +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options new file mode 100644 index 000000000..d44750ff0 --- /dev/null +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash new file mode 100644 index 000000000..f93642eca --- /dev/null +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk new file mode 100644 index 000000000..7a01151bf --- /dev/null +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in index 9134c27f3..aabf2cffe 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash index fb24f1b34..938e37c77 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk index 93e00669e..1015d6301 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in index d383273c1..e880d5dbb 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash index 352cbb25c..bd09cb5a8 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk index 5437fe2d0..fda356bce 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in index a3dd3c903..ebc6edefb 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash index c61611c0c..a3b6b88b7 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk b/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk index 1daa1c93a..b8ea80ff6 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk +++ b/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/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in b/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in index fefbb47b1..423e4c7db 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in +++ b/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in @@ -1,5 +1,5 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC - bool "Synopsys ARC 2017.09 toolchain" + bool "Synopsys ARC 2018.03 toolchain" depends on BR2_arc depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 depends on BR2_HOSTARCH = "x86_64" @@ -11,7 +11,7 @@ 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_HEADERS_AT_LEAST_4_15 select BR2_TOOLCHAIN_GCC_AT_LEAST_7 help Toolchain for the ARC cores, from diff --git a/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash b/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash index 3479e18c6..df95897e4 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash +++ b/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.03-release +sha256 32e8500b65737b51058d84f443d7919d5b33c43f7dc5b8562e08d4e92c53a77f arc_gnu_2018.03_prebuilt_uclibc_le_arc700_linux_install.tar.gz +sha256 722e3656f60bafd632b6f2ae2c6efa6b9d3eae1bc1840f4d004aa30f5cb419ff arc_gnu_2018.03_prebuilt_uclibc_be_arc700_linux_install.tar.gz +sha256 8e736178343cea9a6cbe63a7d86fa9e81db6671f27fc8a9a7cea98cc6183bbcc arc_gnu_2018.03_prebuilt_uclibc_le_archs_linux_install.tar.gz +sha256 14024daa36f6ae7cf1e474780687e79af5aaa35d374b077f7036685d7eab3d72 arc_gnu_2018.03_prebuilt_uclibc_be_archs_linux_install.tar.gz diff --git a/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk b/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk index d751934c1..c60f296a8 100644 --- a/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk +++ b/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.03 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/buildroot/toolchain/toolchain-wrapper.c b/buildroot/toolchain/toolchain-wrapper.c index c5eb813dd..e9c5cd9d3 100644 --- a/buildroot/toolchain/toolchain-wrapper.c +++ b/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/buildroot/toolchain/toolchain-wrapper.mk b/buildroot/toolchain/toolchain-wrapper.mk index b8074efc3..613f5f6c5 100644 --- a/buildroot/toolchain/toolchain-wrapper.mk +++ b/buildroot/toolchain/toolchain-wrapper.mk @@ -45,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/buildroot/toolchain/toolchain.mk b/buildroot/toolchain/toolchain.mk index e7451e264..08d164960 100644 --- a/buildroot/toolchain/toolchain.mk +++ b/buildroot/toolchain/toolchain.mk @@ -7,16 +7,6 @@ # Those customisations are added to the TARGET_FINALIZE_HOOKS, to be applied # just after all packages have been built. -# 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 - # Install the gconv modules ifeq ($(BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY),y) TOOLCHAIN_GLIBC_GCONV_LIBS = $(call qstrip,$(BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST)) diff --git a/buildroot/toolchain/toolchain/toolchain.mk b/buildroot/toolchain/toolchain/toolchain.mk index 91c9ca2ef..17fb62147 100644 --- a/buildroot/toolchain/toolchain/toolchain.mk +++ b/buildroot/toolchain/toolchain/toolchain.mk @@ -37,4 +37,14 @@ TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_MUSL_KERNEL_HEADERS_COMPATIBIL TOOLCHAIN_INSTALL_STAGING = YES endif +# 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 + $(eval $(virtual-package)) diff --git a/buildroot/utils/checkpackagelib/lib_mk.py b/buildroot/utils/checkpackagelib/lib_mk.py index 86e9aa2d9..0e430a2f1 100644 --- a/buildroot/utils/checkpackagelib/lib_mk.py +++ b/buildroot/utils/checkpackagelib/lib_mk.py @@ -251,3 +251,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/buildroot/utils/diffconfig b/buildroot/utils/diffconfig index 5862a62f2..f1af23cfc 100755 --- a/buildroot/utils/diffconfig +++ b/buildroot/utils/diffconfig @@ -28,14 +28,14 @@ If no config files are specified, .config and .config.old are used. Example usage: $ diffconfig .config config-with-some-changes --LINUX_KERNEL_INTREE_DTS_NAME "vexpress-v2p-ca9" - LINUX_KERNEL_DTS_SUPPORT y -> n - LINUX_KERNEL_USE_INTREE_DTS y -> n - PACKAGE_DFU_UTIL n -> y - PACKAGE_LIBUSB n -> y - TARGET_GENERIC_HOSTNAME "buildroot" -> "Tuxie" - TARGET_GENERIC_ISSUE "Welcome to Buildroot" -> "Welcome to CustomBoard" -+PACKAGE_LIBUSB_COMPAT n +-BR2_LINUX_KERNEL_INTREE_DTS_NAME "vexpress-v2p-ca9" + BR2_LINUX_KERNEL_DTS_SUPPORT y -> n + BR2_LINUX_KERNEL_USE_INTREE_DTS y -> n + BR2_PACKAGE_DFU_UTIL n -> y + BR2_PACKAGE_LIBUSB n -> y + BR2_TARGET_GENERIC_HOSTNAME "buildroot" -> "Tuxie" + BR2_TARGET_GENERIC_ISSUE "Welcome to Buildroot" -> "Welcome to CustomBoard" ++BR2_PACKAGE_LIBUSB_COMPAT n """) sys.exit(0) @@ -44,12 +44,14 @@ Example usage: def readconfig(config_file): d = {} for line in config_file: - line = line[:-1] - if line[:4] == "BR2_": - name, val = line[4:].split("=", 1) - d[name] = val + line = line.strip() + if len(line) == 0: + continue if line[-11:] == " is not set": - d[line[6:-11]] = "n" + d[line[2:-11]] = "n" + elif line[0] != "#": + name, val = line.split("=", 1) + d[name] = val return d def print_config(op, config, value, new_value): @@ -58,9 +60,9 @@ def print_config(op, config, value, new_value): if merge_style: if new_value: if new_value=="n": - print("# BR2_%s is not set" % config) + print("# %s is not set" % config) else: - print("BR2_%s=%s" % (config, new_value)) + print("%s=%s" % (config, new_value)) else: if op=="-": print("-%s %s" % (config, value)) diff --git a/buildroot/utils/genrandconfig b/buildroot/utils/genrandconfig index 06701ce56..1d6ff990f 100755 --- a/buildroot/utils/genrandconfig +++ b/buildroot/utils/genrandconfig @@ -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] @@ -350,7 +351,7 @@ def gen_config(args): configlines += minimalf.readlines() # Allow hosts with old certificates to download over https - configlines.append("BR2_WGET=\"wget --passive-ftp -nd -t 3 --no-check-certificate\"") + configlines.append("BR2_WGET=\"wget --passive-ftp -nd -t 3 --no-check-certificate\"\n") # Amend the configuration with a few things. if randint(0, 20) == 0: diff --git a/buildroot/utils/get-developers b/buildroot/utils/get-developers index f525ff222..c88793885 100755 --- a/buildroot/utils/get-developers +++ b/buildroot/utils/get-developers @@ -18,11 +18,15 @@ def parse_args(): help='find developers in charge of these files') parser.add_argument('-c', dest='check', action='store_const', const=True, help='list files not handled by any developer') + parser.add_argument('-e', dest='email', action='store_const', + const=True, help='only list affected developer email addresses') return parser.parse_args() def __main__(): - devs = getdeveloperlib.parse_developers() + # 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() @@ -48,7 +52,7 @@ def __main__(): # Handle the check action if args.check: - files = getdeveloperlib.check_developers(devs) + files = getdeveloperlib.check_developers(devs, devs_dir) for f in files: print(f) @@ -90,12 +94,16 @@ def __main__(): if i in dev.infras: matching_devs.add(dev.name) - result = "--to buildroot@buildroot.org" - for dev in matching_devs: - result += " --cc \"%s\"" % dev + if args.email: + for dev in matching_devs: + print(dev) + else: + result = "--to buildroot@buildroot.org" + for dev in matching_devs: + result += " --cc \"%s\"" % dev - if result != "": - print("git send-email %s" % result) + if result != "": + print("git send-email %s" % result) __main__() diff --git a/buildroot/utils/getdeveloperlib.py b/buildroot/utils/getdeveloperlib.py index 2c8d47758..84665520c 100644 --- a/buildroot/utils/getdeveloperlib.py +++ b/buildroot/utils/getdeveloperlib.py @@ -158,6 +158,8 @@ 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/buildroot/utils/scancpan b/buildroot/utils/scancpan index 6d1cdc57a..78ea08c6e 100755 --- a/buildroot/utils/scancpan +++ b/buildroot/utils/scancpan @@ -483,6 +483,9 @@ 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 # bundled in Buildroot: @@ -518,12 +521,22 @@ my %need_host; # name -> 1 if host package is needed my %need_dlopen; # name -> 1 if requires dynamic library 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 +569,10 @@ 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 fetch { @@ -567,16 +583,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' ); + 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( $manifest ); - $license_files{$name} = find_license_files( $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 +610,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 +623,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 +636,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 +663,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 +688,14 @@ 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; + 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 +704,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 +723,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 +751,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 +768,41 @@ 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; } } -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__ @@ -819,7 +869,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 +880,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 diff --git a/buildroot/utils/scanpypi b/buildroot/utils/scanpypi index 8a2ae0043..3d3e60443 100755 --- a/buildroot/utils/scanpypi +++ b/buildroot/utils/scanpypi @@ -178,6 +178,7 @@ class BuildrootPackage(): """ Download a package using metadata from pypi """ + download = None try: self.metadata['urls'][0]['filename'] except IndexError: @@ -201,7 +202,7 @@ class BuildrootPackage(): continue try: print('Downloading package {pkg} from {url}...'.format( - pkg=self.real_name, url=download_url['url'])) + 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 @@ -213,11 +214,14 @@ class BuildrootPackage(): self.md5_sum = hashlib.md5(self.as_string).hexdigest() if self.md5_sum == download_url['digests']['md5']: break - else: - if download.__class__ == six.moves.urllib.error.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'] @@ -239,13 +243,14 @@ class BuildrootPackage(): os.makedirs(tmp_pkg) except OSError as exception: if exception.errno != errno.EEXIST: - print("ERROR: ", exception.message, file=sys.stderr) - return None, None - print('WARNING:', exception.message, file=sys.stderr) + print("ERROR: ", exception.strerror, file=sys.stderr) + return + print('WARNING:', exception.strerror, file=sys.stderr) print('Removing {pkg}...'.format(pkg=tmp_pkg)) shutil.rmtree(tmp_pkg) os.makedirs(tmp_pkg) as_zipfile.extractall(tmp_pkg) + pkg_filename = self.filename.split(".zip")[0] else: with tarfile.open(fileobj=as_file) as as_tarfile: tmp_pkg = os.path.join(tmp_path, self.buildroot_name) @@ -253,19 +258,19 @@ class BuildrootPackage(): os.makedirs(tmp_pkg) except OSError as exception: if exception.errno != errno.EEXIST: - print("ERROR: ", exception.message, file=sys.stderr) - return None, None - print('WARNING:', exception.message, file=sys.stderr) + print("ERROR: ", exception.strerror, file=sys.stderr) + return + print('WARNING:', exception.strerror, file=sys.stderr) print('Removing {pkg}...'.format(pkg=tmp_pkg)) shutil.rmtree(tmp_pkg) os.makedirs(tmp_pkg) as_tarfile.extractall(tmp_pkg) + pkg_filename = self.filename.split(".tar")[0] - tmp_extract = '{folder}/{name}-{version}' + tmp_extract = '{folder}/{name}' self.tmp_extract = tmp_extract.format( folder=tmp_pkg, - name=self.metadata_name, - version=self.version) + name=pkg_filename) def load_setup(self): """ @@ -391,7 +396,7 @@ class BuildrootPackage(): """ Try to determine the related license name. - There are two possibilities. Either the scripts tries to + There are two possibilities. Either the script tries to get license name from package's metadata or, if spdx_lookup package is available, the script compares license files with SPDX database. @@ -400,7 +405,7 @@ class BuildrootPackage(): if liclookup is None: license_dict = { 'Apache Software License': 'Apache-2.0', - 'BSD License': 'BSD', + 'BSD License': 'FIXME: please specify the exact BSD version', 'European Union Public Licence 1.0': 'EUPL-1.0', 'European Union Public Licence 1.1': 'EUPL-1.1', "GNU General Public License": "GPL", @@ -440,6 +445,8 @@ class BuildrootPackage(): match = liclookup.match(lic_file.read()) 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 =' diff --git a/scripts/build-all.sh b/scripts/build-all.sh index 00917982b..2e345c98e 100755 --- a/scripts/build-all.sh +++ b/scripts/build-all.sh @@ -6,7 +6,7 @@ mkdir -p /build/release all_platforms=(ova rpi rpi0_w rpi2 rpi3 rpi3_64 tinker odroid_c2) for platform in "${all_platforms[@]}"; do make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external \ - ${platform}_defconfig + "${platform}_defconfig" make -C /build/buildroot BR2_EXTERNAL=/build/buildroot-external cp -f /build/buildroot/output/images/hassos_* /build/release/ diff --git a/scripts/enter.sh b/scripts/enter.sh index 3d5f3d52e..c330c0703 100755 --- a/scripts/enter.sh +++ b/scripts/enter.sh @@ -2,4 +2,4 @@ modprobe overlayfs docker build -t hassbuildroot . -docker run -it --rm --privileged -v $(pwd):/build -v ${CACHE_DIR:=~/hassos-cache}:/cache hassbuildroot bash +docker run -it --rm --privileged -v "$(pwd):/build" -v "${CACHE_DIR:=$HOME/hassos-cache}:/cache" hassbuildroot bash diff --git a/scripts/ovf-create.sh b/scripts/ovf-create.sh deleted file mode 100755 index df370c517..000000000 --- a/scripts/ovf-create.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -e - -VboxManage createvm --name Hass.io --ostype Linux_64 --register -VBoxManage modifyvm Hass.io --cpus 2 --memory 1048 --firmware efi -VBoxManage modifyvm Hass.io --nic1 bridged -VBoxManage storageattach Hass.io --storagectl "SATA Controller" --device 0 --port 0 --type vmdk --medium $1 - -VBoxManage export Hass.io --ovf20 --vendor "Home Assistant" --vendorurl "http://hass.io" --output $2 diff --git a/scripts/patches.sh b/scripts/patches.sh index 3e94f764c..58ddd9434 100755 --- a/scripts/patches.sh +++ b/scripts/patches.sh @@ -2,5 +2,5 @@ set -e for patch_file in buildroot-patches/*; do - patch -d buildroot/ -p1 < ${patch_file}; + patch -d buildroot/ -p1 < "${patch_file}"; done