diff --git a/.gitlab-ci.yml.in b/.gitlab-ci.yml.in new file mode 100644 index 0000000000..a506840892 --- /dev/null +++ b/.gitlab-ci.yml.in @@ -0,0 +1,86 @@ +# Configuration for Gitlab-CI. +# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines +# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in. +# It needs to be regenerated every time a defconfig is added, using +# "make .gitlab-ci.yml". + +image: buildroot/base:20180318.1724 + +.defconfig_script: + script: + - echo 'Configure Buildroot' + - make ${CI_JOB_NAME} + - echo 'Build buildroot' + - | + make > >(tee build.log |grep '>>>') 2>&1 || { + echo 'Failed build last output' + tail -200 build.log + exit 1 + } + +check-gitlab-ci.yml: + script: + - mv .gitlab-ci.yml .gitlab-ci.yml.orig + - make .gitlab-ci.yml + - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml + +check-DEVELOPERS: + # get-developers should print just "No action specified"; if it prints + # anything else, it's a parse error. + # The initial ! is removed by YAML so we need to quote it. + script: + - "! utils/get-developers | grep -v 'No action specified'" + +check-flake8: + before_script: + # Help flake8 to find the Python files without .py extension. + - find * -type f -name '*.py' > files.txt + - find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt + - sort -u files.txt | tee files.processed + script: + - python -m flake8 --statistics --count $(cat files.processed) + after_script: + - wc -l files.processed + +check-package: + script: + - make check-package + +.defconfig: + extends: .defconfig_script + # Running the defconfigs for every push is too much, so limit to + # explicit triggers through the API. + only: + - triggers + - tags + - /-defconfigs$/ + artifacts: + when: always + expire_in: 2 weeks + paths: + - .config + - build.log + - output/images/ + - output/build/build-time.log + - output/build/packages-file-list.txt + - output/build/*/.config + +.runtime_test: + # Running the runtime tests for every push is too much, so limit to + # explicit triggers through the API. + only: + - triggers + - tags + - /-runtime-tests$/ + # Keep build directories so the rootfs can be an artifact of the job. The + # runner will clean up those files for us. + # Multiply every emulator timeout by 10 to avoid sporadic failures in + # elastic runners. + script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME} + artifacts: + when: always + expire_in: 2 weeks + paths: + - test-output/*.log + - test-output/*/.config + - test-output/*/images/* diff --git a/Config.in b/Config.in index 42cdf7a3eb..d58d8dc04a 100644 --- a/Config.in +++ b/Config.in @@ -136,10 +136,6 @@ config BR2_SCP string "Secure copy (scp) command" default "scp" -config BR2_SSH - string "Secure shell (ssh) command" - default "ssh" - config BR2_HG string "Mercurial (hg) command" default "hg" @@ -681,6 +677,18 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH and external toolchain backends (through the toolchain wrapper). +config BR2_FORCE_HOST_BUILD + bool "Force the building of host dependencies" + help + Build all available host dependencies, even if they are + already installed on the system. + + This option can be used to ensure that the download cache of + source archives for packages remain consistent between + different build hosts. + + This option will increase build time. + config BR2_REPRODUCIBLE bool "Make the build reproducible (experimental)" # SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4 @@ -812,6 +820,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 @@ -819,6 +829,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/Config.in.legacy b/Config.in.legacy index 29d5b6adcc..7e8b515088 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -142,9 +142,281 @@ comment "unpredictable ways. " comment "----------------------------------------------------" endif +############################################################################### + +comment "Legacy options removed in 2019.02" + +config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK + bool "gst-plugins-bad apexsink option removed" + select BR2_LEGACY + help + The gst-plugins-bad apexsink option was removed. + +config BR2_PACKAGE_QT + bool "qt package removed" + select BR2_LEGACY + help + The qt package was removed. + +config BR2_PACKAGE_QTUIO + bool "qtuio package removed" + select BR2_LEGACY + help + The qtuio package was removed. + +config BR2_PACKAGE_PINENTRY_QT4 + bool "pinentry-qt4 option removed" + select BR2_LEGACY + help + The pinentry-qt4 option was removed. + +config BR2_PACKAGE_POPPLER_QT + bool "poppler qt option removed" + select BR2_LEGACY + help + The poppler qt option was removed. + +config BR2_PACKAGE_OPENCV3_WITH_QT + bool "opencv3 qt backend option removed" + select BR2_LEGACY + help + The opencv3 qt backend option was removed. + +config BR2_PACKAGE_OPENCV_WITH_QT + bool "opencv qt backend option removed" + select BR2_LEGACY + help + The opencv qt backend option was removed. + +config BR2_PACKAGE_AMD_CATALYST_CCCLE + bool "catalyst control center option removed" + select BR2_LEGACY + help + The AMD Catalyst Control Center option was removed. + +config BR2_PACKAGE_SDL_QTOPIA + bool "sdl qtopia video driver option removed" + select BR2_LEGACY + help + The SDL QTopia video driver option was removed. + +config BR2_PACKAGE_PYTHON_PYQT + bool "python-pyqt package removed" + select BR2_LEGACY + help + The python-pyqt package was removed. Consider python-pyqt5 + instead. + +config BR2_PACKAGE_GNURADIO_QTGUI + bool "gnuradio gr-qtgui option removed" + select BR2_LEGACY + help + The gr-qtgui option was removed. + +config BR2_PACKAGE_LUACRYPTO + bool "luacrypto package removed" + select BR2_LEGACY + help + The luacrypto package was removed. Consider luaossl instead. + +config BR2_PACKAGE_TN5250 + bool "tn5250 package removed" + select BR2_LEGACY + help + The tn5250 package was removed. + +config BR2_PACKAGE_BOOST_SIGNALS + bool "Boost signals removed" + select BR2_LEGACY + help + Its removal was announced in boost 1.68 and its deprecation + was announced in 1.54. Users are encouraged to use Signals2 + instead. + +config BR2_PACKAGE_FFTW_PRECISION_SINGLE + bool "single" + select BR2_LEGACY + select BR2_PACKAGE_FFTW_SINGLE + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_SINGLE. + +config BR2_PACKAGE_FFTW_PRECISION_DOUBLE + bool "double" + select BR2_LEGACY + select BR2_PACKAGE_FFTW_DOUBLE + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_DOUBLE. + +config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE + bool "long double" + depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \ + (BR2_arm || BR2_mips || BR2_mipsel)) + select BR2_LEGACY + select BR2_PACKAGE_FFTW_LONG_DOUBLE + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_LONG_DOUBLE. + +config BR2_PACKAGE_FFTW_PRECISION_QUAD + bool "quad" + depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR + select BR2_LEGACY + select BR2_PACKAGE_FFTW_QUAD + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_QUAD. + +config BR2_PACKAGE_LUA_5_2 + bool "Lua 5.2.x version removed" + select BR2_LEGACY + select BR2_PACKAGE_LUA_5_3 + help + The Lua 5.2.x version was removed. + +config BR2_TARGET_GENERIC_PASSWD_MD5 + bool "target passwd md5 format support has been removed" + select BR2_LEGACY + help + The default has been moved to SHA256 and all C libraries + now support that method by default + +comment "Legacy options removed in 2018.11" + +config BR2_TARGET_XLOADER + bool "xloader has been removed" + select BR2_LEGACY + help + The package has been removed as u-boot SPL provides + similar functionality + +config BR2_PACKAGE_TIDSP_BINARIES + bool "tidsp-binaries package removed" + select BR2_LEGACY + help + The tidsp-binaries package was removed. + +config BR2_PACKAGE_DSP_TOOLS + bool "dsp-tools package removed" + select BR2_LEGACY + help + The dsp-tools package was removed. + +config BR2_PACKAGE_GST_DSP + bool "gst-dsp package removed" + select BR2_LEGACY + help + The gst-dsp package was removed. + +config BR2_PACKAGE_BOOTUTILS + bool "bootutils package removed" + select BR2_LEGACY + help + The bootutils package was removed. + +config BR2_PACKAGE_EXPEDITE + bool "expedite package has been removed" + select BR2_LEGACY + help + expedite is not actively maintained anymore. + https://sourceforge.net/p/enlightenment/mailman/message/36428571 + +config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT + bool "mesa3d opengl texture float option removed" + select BR2_LEGACY + help + mesa3d now unconditionally enables floating-point textures, + as the corresponding patent has expired. + +config BR2_KERNEL_HEADERS_4_10 + bool "kernel headers version 4.10.x are no longer supported" + select BR2_LEGACY + help + Version 4.10.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_11 + bool "kernel headers version 4.11.x are no longer supported" + select BR2_LEGACY + help + Version 4.11.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_12 + bool "kernel headers version 4.12.x are no longer supported" + select BR2_LEGACY + help + Version 4.12.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_13 + bool "kernel headers version 4.13.x are no longer supported" + select BR2_LEGACY + help + Version 4.13.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_15 + bool "kernel headers version 4.15.x are no longer supported" + select BR2_LEGACY + help + Version 4.15.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_17 + bool "kernel headers version 4.17.x are no longer supported" + select BR2_LEGACY + help + Version 4.17.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_LIBNFTNL_XML + bool "libnftl no longer supports XML output" + select BR2_LEGACY + help + libnftnl removed integration with libmxml. + +config BR2_KERNEL_HEADERS_3_2 + bool "kernel headers version 3.2.x are no longer supported" + select BR2_LEGACY + help + Version 3.2.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_1 + bool "kernel headers version 4.1.x are no longer supported" + select BR2_LEGACY + help + Version 4.1.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_16 + bool "kernel headers version 4.16.x are no longer supported" + select BR2_LEGACY + help + Version 4.16.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_18 + bool "kernel headers version 4.18.x are no longer supported" + select BR2_LEGACY + help + Version 4.18.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + ############################################################################### comment "Legacy options removed in 2018.08" +config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT + bool "docker-engine static client option renamed" + select BR2_LEGACY + select BR2_PACKAGE_DOCKER_CLI_STATIC + help + BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT has been renamed to + BR2_PACKAGE_DOCKER_CLI_STATIC, following the package split of + docker-engine and docker-cli. + config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 bool "Modular X.org server was updated to version 1.20.0" select BR2_LEGACY @@ -1060,33 +1332,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" @@ -1637,23 +1900,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" @@ -1676,43 +1933,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" @@ -1841,23 +2086,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" @@ -1932,24 +2171,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" @@ -2162,14 +2395,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" @@ -2310,14 +2540,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" @@ -2518,46 +2745,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" @@ -3384,13 +3599,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" @@ -3543,23 +3755,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" @@ -3721,33 +3927,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/Makefile b/Makefile index 3179ee759b..c510b7cbaa 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # # Copyright (C) 1999-2005 by Erik Andersen # Copyright (C) 2006-2014 by the Buildroot developers -# Copyright (C) 2014-2018 by the Buildroot developers +# Copyright (C) 2014-2019 by the Buildroot developers # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -92,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2018.08.2 +export BR2_VERSION := 2019.02.2 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1540470000 +BR2_VERSION_EPOCH = 1556527000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -105,22 +105,6 @@ ifneq ($(firstword $(sort $(RUNNING_MAKE_VERSION) $(MIN_MAKE_VERSION))),$(MIN_MA $(error You have make '$(RUNNING_MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required) endif -# Parallel execution of this Makefile is disabled because it changes -# the packages building order, that can be a problem for two reasons: -# - If a package has an unspecified optional dependency and that -# dependency is present when the package is built, it is used, -# otherwise it isn't (but compilation happily proceeds) so the end -# result will differ if the order is swapped due to parallel -# building. -# - Also changing the building order can be a problem if two packages -# manipulate the same file in the target directory. -# -# Taking into account the above considerations, if you still want to execute -# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and -# use the -j option when building, e.g: -# make -j$((`getconf _NPROCESSORS_ONLN`+1)) -.NOTPARALLEL: - # absolute path TOPDIR := $(CURDIR) CONFIG_CONFIG_IN = Config.in @@ -133,9 +117,9 @@ export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlo # List of targets and target patterns for which .config doesn't need to be read in noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \ - defconfig %_defconfig allyesconfig allnoconfig alldefconfig silentoldconfig release \ + defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \ randpackageconfig allyespackageconfig allnopackageconfig \ - print-version olddefconfig distclean manual manual-% + print-version olddefconfig distclean manual manual-% check-package # Some global targets do not trigger a build, but are used to collect # metadata, or do various checks. When such targets are triggered, @@ -151,7 +135,7 @@ nobuild_targets := source %-source \ clean distclean help show-targets graph-depends \ %-graph-depends %-show-depends %-show-version \ graph-build graph-size list-defconfigs \ - savedefconfig printvars + savedefconfig update-defconfig printvars ifeq ($(MAKECMDGOALS),) BR_BUILDING = y else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),) @@ -220,10 +204,7 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf) BUILD_DIR := $(BASE_DIR)/build BINARIES_DIR := $(BASE_DIR)/images -# The target directory is common to all packages, -# but there is one that is specific to each filesystem. BASE_TARGET_DIR := $(BASE_DIR)/target -TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR)) # initial definition so that 'make clean' works for most users, even without # .config. HOST_DIR will be overwritten later when .config is included. HOST_DIR := $(BASE_DIR)/host @@ -246,6 +227,22 @@ ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) -include $(BR2_CONFIG) endif +# Parallel execution of this Makefile is disabled because it changes +# the packages building order, that can be a problem for two reasons: +# - If a package has an unspecified optional dependency and that +# dependency is present when the package is built, it is used, +# otherwise it isn't (but compilation happily proceeds) so the end +# result will differ if the order is swapped due to parallel +# building. +# - Also changing the building order can be a problem if two packages +# manipulate the same file in the target directory. +# +# Taking into account the above considerations, if you still want to execute +# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and +# use the -j option when building, e.g: +# make -j$((`getconf _NPROCESSORS_ONLN`+1)) +.NOTPARALLEL: + # timezone and locale may affect build output ifeq ($(BR2_REPRODUCIBLE),y) export TZ = UTC @@ -422,6 +419,8 @@ unexport TERMINFO unexport MACHINE unexport O unexport GCC_COLORS +unexport PLATFORM +unexport OS GNU_HOST_NAME := $(shell support/gnuconfig/config.guess) @@ -444,6 +443,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/) @@ -456,6 +456,10 @@ TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf # packages compiled for the host go here HOST_DIR := $(call qstrip,$(BR2_HOST_DIR)) +# The target directory is common to all packages, +# but there is one that is specific to each filesystem. +TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR)) + ifneq ($(HOST_DIR),$(BASE_DIR)/host) HOST_DIR_SYMLINK = $(BASE_DIR)/host $(HOST_DIR_SYMLINK): $(BASE_DIR) @@ -467,14 +471,14 @@ BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)" # Location of a file giving a big fat warning that output/target # should not be used as the root filesystem. -TARGET_DIR_WARNING_FILE = $(BASE_TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM +TARGET_DIR_WARNING_FILE = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM ifeq ($(BR2_CCACHE),y) -CCACHE := $(HOST_DIR)/bin/ccache +CCACHE = $(HOST_DIR)/bin/ccache BR_CACHE_DIR ?= $(call qstrip,$(BR2_CCACHE_DIR)) export BR_CACHE_DIR -HOSTCC := $(CCACHE) $(HOSTCC) -HOSTCXX := $(CCACHE) $(HOSTCXX) +HOSTCC = $(CCACHE) $(HOSTCC_NOCCACHE) +HOSTCXX = $(CCACHE) $(HOSTCXX_NOCCACHE) else export BR_NO_CCACHE endif @@ -504,9 +508,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)) @@ -549,9 +553,16 @@ include $(BR2_EXTERNAL_MKS) # # Only trigger the check for default builds. If the user forces building # a package, even if not enabled in the configuration, we want to accept -# it. +# it. However; we also want to be able to force checking the dependencies +# if the user so desires. Forcing a dependency check is useful in the case +# of test-pkg, as we want to make sure during testing, that a package has +# all the dependencies selected in the config file. # ifeq ($(MAKECMDGOALS),) +BR_FORCE_CHECK_DEPENDENCIES = YES +endif + +ifeq ($(BR_FORCE_CHECK_DEPENDENCIES),YES) define CHECK_ONE_DEPENDENCY ifeq ($$($(2)_TYPE),target) @@ -571,12 +582,8 @@ $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\ endif -.PHONY: dirs -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 @@ -584,8 +591,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 @@ -593,29 +600,52 @@ sdk: world mkdir -p $(HOST_DIR)/share/buildroot echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location -# Populating the staging with the base directories is handled by the skeleton package -$(STAGING_DIR): - @mkdir -p $(STAGING_DIR) - @ln -snf $(STAGING_DIR) $(BASE_DIR)/staging +BR2_SDK_PREFIX ?= $(GNU_TARGET_NAME)_sdk-buildroot +.PHONY: sdk +sdk: prepare-sdk $(BR2_TAR_HOST_DEPENDENCY) + @$(call MESSAGE,"Generating SDK tarball") + $(if $(BR2_SDK_PREFIX),,$(error BR2_SDK_PREFIX can not be empty)) + $(Q)mkdir -p $(BINARIES_DIR) + $(TAR) czf "$(BINARIES_DIR)/$(BR2_SDK_PREFIX).tar.gz" \ + --owner=0 --group=0 --numeric-owner \ + --transform='s#^$(patsubst /%,%,$(HOST_DIR))#$(BR2_SDK_PREFIX)#' \ + -C / $(patsubst /%,%,$(HOST_DIR)) RSYNC_VCS_EXCLUSIONS = \ --exclude .svn --exclude .git --exclude .hg --exclude .bzr \ --exclude CVS -STRIP_FIND_CMD = find $(TARGET_DIR) -ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) -STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o -endif -STRIP_FIND_CMD += -type f \( -perm /111 -o -name '*.so*' \) -# file exclusions: +# When stripping, obey to BR2_STRIP_EXCLUDE_DIRS and +# BR2_STRIP_EXCLUDE_FILES +STRIP_FIND_COMMON_CMD = \ + find $(TARGET_DIR) \ + $(if $(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)), \ + \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) \ + -prune -o \ + ) \ + $(if $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES)), \ + -not \( $(call findfileclauses,$(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) ) + +# Regular stripping for everything, except libpthread, ld-*.so and +# kernel modules: # - libpthread.so: a non-stripped libpthread shared library is needed for # proper debugging of pthread programs using gdb. # - ld.so: a non-stripped dynamic linker library is needed for valgrind # - kernel modules (*.ko): do not function properly when stripped like normal # applications and libraries. Normally kernel modules are already excluded -# by the executable permission check above, so the explicit exclusion is only +# by the executable permission check, so the explicit exclusion is only # done for kernel modules with incorrect permissions. -STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print0 +STRIP_FIND_CMD = \ + $(STRIP_FIND_COMMON_CMD) \ + -type f \( -perm /111 -o -name '*.so*' \) \ + -not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko) \) \ + -print0 + +# Special stripping (only debugging symbols) for libpthread and ld-*.so. +STRIP_FIND_SPECIAL_LIBS_CMD = \ + $(STRIP_FIND_COMMON_CMD) \ + \( -name 'ld-*.so*' -o -name 'libpthread*.so*' \) \ + -print0 ifeq ($(BR2_ECLIPSE_REGISTER),y) define TOOLCHAIN_ECLIPSE_REGISTER @@ -698,8 +728,14 @@ $(TARGETS_ROOTFS): target-finalize # Avoid the rootfs name leaking down the dependency chain target-finalize: ROOTFS= +host-finalize: $(HOST_DIR_SYMLINK) + +.PHONY: staging-finalize +staging-finalize: + @ln -snf $(STAGING_DIR) $(BASE_DIR)/staging + .PHONY: target-finalize -target-finalize: $(PACKAGES) +target-finalize: $(PACKAGES) host-finalize @$(call MESSAGE,"Finalizing target directory") # Check files that are touched by more than one package ./support/scripts/check-uniq-files -t target $(BUILD_DIR)/packages-file-list.txt @@ -727,19 +763,8 @@ endif rm -rf $(TARGET_DIR)/usr/share/gtk-doc rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true $(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true + $(STRIP_FIND_SPECIAL_LIBS_CMD) | xargs -0 -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) 2>/dev/null || true -# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads -# besides the one in which crash occurred; or SIGTRAP kills my program when -# I set a breakpoint" -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) - find $(TARGET_DIR)/lib/ -type f -name 'libpthread*.so*' | \ - xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) -endif - -# Valgrind needs ld.so with enough information, so only strip -# debugging symbols. - find $(TARGET_DIR)/lib/ -type f -name 'ld-*.so*' | \ - xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) test -f $(TARGET_DIR)/etc/ld.so.conf && \ { echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true test -d $(TARGET_DIR)/etc/ld.so.conf.d && \ @@ -757,11 +782,25 @@ endif @$(call MESSAGE,"Sanitizing RPATH in target tree") $(TOPDIR)/support/scripts/fix-rpath target +# For a merged /usr, ensure that /lib, /bin and /sbin and their /usr +# counterparts are appropriately setup as symlinks ones to the others. +ifeq ($(BR2_ROOTFS_MERGED_USR),y) + + @$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \ + $(call MESSAGE,"Sanity check in overlay $(d)"); \ + not_merged_dirs="$$(support/scripts/check-merged-usr.sh $(d))"; \ + test -n "$$not_merged_dirs" && { \ + echo "ERROR: The overlay in $(d) is not" \ + "using a merged /usr for the following directories:" \ + $$not_merged_dirs; \ + exit 1; \ + } || true$(sep)) + +endif # merged /usr + @$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \ $(call MESSAGE,"Copying overlay $(d)"); \ - rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \ - --chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \ - $(d)/ $(TARGET_DIR)$(sep)) + $(call SYSTEM_RSYNC,$(d),$(TARGET_DIR))$(sep)) @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \ $(call MESSAGE,"Executing post-build script $(s)"); \ @@ -770,7 +809,7 @@ endif touch $(TARGET_DIR)/usr .PHONY: target-post-image -target-post-image: $(TARGETS_ROOTFS) target-finalize +target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize @rm -f $(ROOTFS_COMMON_TAR) @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \ $(call MESSAGE,"Executing post-image script $(s)"); \ @@ -791,15 +830,15 @@ legal-info-clean: .PHONY: legal-info-prepare legal-info-prepare: $(LEGAL_INFO_DIR) @$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info") - @$(call legal-license-file,buildroot,buildroot,support/legal-info,COPYING,COPYING,HOST) - @$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,TARGET) - @$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,HOST) - @$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved,HOST) + @$(call legal-license-file,buildroot,buildroot,support/legal-info/buildroot.hash,COPYING,COPYING,HOST) + @$(call legal-manifest,TARGET,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES) + @$(call legal-manifest,HOST,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES) + @$(call legal-manifest,HOST,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved) @$(call legal-warning,the Buildroot source code has not been saved) @cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config .PHONY: legal-info -legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \ +legal-info: legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \ $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) @cat support/legal-info/README.header >>$(LEGAL_REPORT) @if [ -r $(LEGAL_WARNINGS) ]; then \ @@ -933,7 +972,7 @@ randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot @rm -f $(CONFIG_DIR)/.config.nopkg @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null -oldconfig silentoldconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig @$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN) defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig @@ -947,13 +986,15 @@ define percent_defconfig endef $(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep))) +update-defconfig: savedefconfig + savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig @$(COMMON_CONFIG_ENV) $< \ --savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \ $(CONFIG_CONFIG_IN) @$(SED) '/BR2_DEFCONFIG=/d' $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) -.PHONY: defconfig savedefconfig +.PHONY: defconfig savedefconfig update-defconfig ################################################################################ # @@ -1029,12 +1070,13 @@ help: @echo ' xconfig - interactive Qt-based configurator' @echo ' gconfig - interactive GTK-based configurator' @echo ' oldconfig - resolve any unresolved symbols in .config' - @echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps' - @echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value' + @echo ' syncconfig - Same as oldconfig, but quietly, additionally update deps' + @echo ' olddefconfig - Same as syncconfig but sets new symbols to their default value' @echo ' randconfig - New config with random answer to all options' @echo ' defconfig - New config with default answer to all options;' @echo ' BR2_DEFCONFIG, if set on the command line, is used as input' @echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)' + @echo ' update-defconfig - Same as savedefconfig' @echo ' allyesconfig - New config where all options are accepted with yes' @echo ' allnoconfig - New config where all options are answered with no' @echo ' alldefconfig - New config where all options are set to default' @@ -1128,7 +1170,7 @@ release: OUT = buildroot-$(BR2_VERSION) release: git archive --format=tar --prefix=$(OUT)/ HEAD > $(OUT).tar $(MAKE) O=$(OUT) manual-html manual-text manual-pdf - $(MAKE) O=$(OUT) manual-clean + $(MAKE) O=$(OUT) clean tar rf $(OUT).tar $(OUT) gzip -9 -c < $(OUT).tar > $(OUT).tar.gz bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2 @@ -1137,11 +1179,13 @@ release: print-version: @echo $(BR2_VERSION_FULL) +check-package: + find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) \ + -exec ./utils/check-package {} + + .PHONY: .gitlab-ci.yml .gitlab-ci.yml: .gitlab-ci.yml.in - cp $< $@ - (cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' >> $@ - ./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@ + ./support/scripts/generate-gitlab-ci-yml $< > $@ include docs/manual/manual.mk -include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk))) diff --git a/arch/Config.in b/arch/Config.in index 7d1aeb2174..f50760a0cf 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -198,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 @@ -306,9 +317,6 @@ config BR2_GCC_TARGET_FP32_MODE config BR2_GCC_TARGET_CPU string -config BR2_GCC_TARGET_CPU_REVISION - string - # The value of this option will be passed as --with-fpu= when # building gcc (internal backend) or -mfpu= in the toolchain # wrapper (external toolchain) @@ -423,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/arch/Config.in.arm b/arch/Config.in.arm index f0488b4685..a9972978d4 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -376,25 +376,19 @@ config BR2_exynos_m1 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +if BR2_ARCH_IS_64 config BR2_falkor bool "falkor" - select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 config BR2_qdf24xx bool "qdf24xx" - select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 -if BR2_ARCH_IS_64 config BR2_thunderx bool "thunderx" select BR2_ARM_CPU_HAS_FP_ARMV8 @@ -440,32 +434,55 @@ if BR2_ARCH_IS_64 comment "armv8.1a cores" config BR2_thunderx2t99 bool "thunderx2t99" - select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 config BR2_thunderx2t99p1 bool "thunderx2t99p1" - select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 config BR2_vulcan bool "vulcan" - select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 endif # BR2_ARCH_IS_64 + +if BR2_ARCH_IS_64 +comment "armv8.2a cores" +config BR2_cortex_a55 + bool "cortex-A55" + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_cortex_a75 + bool "cortex-A75" + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_cortex_a75_a55 + bool "cortex-A75/A55 big.LITTLE" + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +endif # BR2_ARCH_IS_64 + +if BR2_ARCH_IS_64 +comment "armv8.3a cores" +config BR2_saphira + bool "saphira" + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +endif # BR2_ARCH_IS_64 endchoice config BR2_ARM_ENABLE_NEON @@ -811,6 +828,12 @@ config BR2_GCC_TARGET_CPU default "thunderx2t99" if BR2_thunderx2t99 default "thunderx2t99p1" if BR2_thunderx2t99p1 default "vulcan" if BR2_vulcan + # armv8.2a + default "cortex-a55" if BR2_cortex_a55 + default "cortex-a75" if BR2_cortex_a75 + default "cortex-a75.cortex-a55" if BR2_cortex_a75_a55 + # armv8.3a + default "saphira" if BR2_saphira config BR2_GCC_TARGET_ABI default "aapcs-linux" if BR2_arm || BR2_armeb diff --git a/arch/Config.in.mips b/arch/Config.in.mips index e45299f818..7f7aa63f06 100644 --- a/arch/Config.in.mips +++ b/arch/Config.in.mips @@ -5,6 +5,9 @@ config BR2_MIPS_CPU_MIPS32 config BR2_MIPS_CPU_MIPS32R2 bool select BR2_MIPS_NAN_LEGACY +config BR2_MIPS_CPU_MIPS32R3 + bool + select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS32R5 bool select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 @@ -18,6 +21,9 @@ config BR2_MIPS_CPU_MIPS64 config BR2_MIPS_CPU_MIPS64R2 bool select BR2_MIPS_NAN_LEGACY +config BR2_MIPS_CPU_MIPS64R3 + bool + select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS64R5 bool select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 @@ -34,8 +40,8 @@ choice help Specific CPU variant to use - 64bit cabable: 64, 64r2, 64r5, 64r6 - non-64bit capable: 32, 32r2, 32r5, 32r6 + 64bit capable: 64, 64r2, 64r3, 64r5, 64r6 + non-64bit capable: 32, 32r2, 32r3, 32r5, 32r6 config BR2_mips_32 bool "Generic MIPS32" @@ -45,6 +51,10 @@ config BR2_mips_32r2 bool "Generic MIPS32R2" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R2 +config BR2_mips_32r3 + bool "Generic MIPS32R3" + depends on !BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS32R3 config BR2_mips_32r5 bool "Generic MIPS32R5" depends on !BR2_ARCH_IS_64 @@ -95,6 +105,10 @@ config BR2_mips_64r2 bool "Generic MIPS64R2" depends on BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS64R2 +config BR2_mips_64r3 + bool "Generic MIPS64R3" + depends on BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS64R3 config BR2_mips_64r5 bool "Generic MIPS64R5" depends on BR2_ARCH_IS_64 @@ -108,6 +122,20 @@ config BR2_mips_i6400 depends on BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS64R6 select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_mips_octeon2 + bool "Octeon II" + depends on BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS64R2 + help + Marvell (formerly Cavium Networks) Octeon II CN60XX + processors. +config BR2_mips_octeon3 + bool "Octeon III" + depends on BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS64R3 + help + Marvell (formerly Cavium Networks) Octeon III CN7XXX + processors. config BR2_mips_p6600 bool "P6600" depends on BR2_ARCH_IS_64 @@ -135,6 +163,7 @@ endchoice config BR2_MIPS_SOFT_FLOAT bool "Use soft-float" default y + depends on !BR2_mips_octeon3 # hard-float only select BR2_SOFT_FLOAT help If your target CPU does not have a Floating Point Unit (FPU) @@ -213,6 +242,7 @@ config BR2_ENDIAN config BR2_GCC_TARGET_ARCH default "mips32" if BR2_mips_32 default "mips32r2" if BR2_mips_32r2 + default "mips32r3" if BR2_mips_32r3 default "mips32r5" if BR2_mips_32r5 default "mips32r6" if BR2_mips_32r6 default "interaptiv" if BR2_mips_interaptiv @@ -222,9 +252,12 @@ config BR2_GCC_TARGET_ARCH default "mips32r2" if BR2_mips_xburst default "mips64" if BR2_mips_64 default "mips64r2" if BR2_mips_64r2 + default "mips64r3" if BR2_mips_64r3 default "mips64r5" if BR2_mips_64r5 default "mips64r6" if BR2_mips_64r6 default "i6400" if BR2_mips_i6400 + default "octeon2" if BR2_mips_octeon2 + default "octeon3" if BR2_mips_octeon3 default "p6600" if BR2_mips_p6600 config BR2_MIPS_OABI32 diff --git a/arch/Config.in.riscv b/arch/Config.in.riscv new file mode 100644 index 0000000000..097719e846 --- /dev/null +++ b/arch/Config.in.riscv @@ -0,0 +1,127 @@ +# RISC-V CPU ISA extensions. + +config BR2_RISCV_ISA_RVI + bool + +config BR2_RISCV_ISA_RVM + bool + +config BR2_RISCV_ISA_RVA + bool + +config BR2_RISCV_ISA_RVF + bool + +config BR2_RISCV_ISA_RVD + bool + +config BR2_RISCV_ISA_RVC + bool + +choice + prompt "Target Architecture Variant" + default BR2_riscv_g + +config BR2_riscv_g + bool "General purpose (G)" + select BR2_RISCV_ISA_RVI + select BR2_RISCV_ISA_RVM + select BR2_RISCV_ISA_RVA + select BR2_RISCV_ISA_RVF + select BR2_RISCV_ISA_RVD + help + General purpose (G) is equivalent to IMAFD. + +config BR2_riscv_custom + bool "Custom architecture" + select BR2_RISCV_ISA_RVI + select BR2_RISCV_ISA_CUSTOM_RVA + +endchoice + +if BR2_riscv_custom + +comment "Instruction Set Extensions" + +config BR2_RISCV_ISA_CUSTOM_RVM + bool "Integer Multiplication and Division (M)" + select BR2_RISCV_ISA_RVM + +config BR2_RISCV_ISA_CUSTOM_RVA + bool "Atomic Instructions (A)" + select BR2_RISCV_ISA_RVA + +config BR2_RISCV_ISA_CUSTOM_RVF + bool "Single-precision Floating-point (F)" + select BR2_RISCV_ISA_RVF + +config BR2_RISCV_ISA_CUSTOM_RVD + bool "Double-precision Floating-point (D)" + depends on BR2_RISCV_ISA_RVF + select BR2_RISCV_ISA_RVD + +config BR2_RISCV_ISA_CUSTOM_RVC + bool "Compressed Instructions (C)" + select BR2_RISCV_ISA_RVC +endif + +choice + prompt "Target Architecture Size" + default BR2_RISCV_64 + +config BR2_RISCV_32 + bool "32-bit" + +config BR2_RISCV_64 + bool "64-bit" + select BR2_ARCH_IS_64 + +endchoice + +choice + prompt "Target ABI" + default BR2_RISCV_ABI_ILP32 if !BR2_ARCH_IS_64 + default BR2_RISCV_ABI_LP64 if BR2_ARCH_IS_64 + +config BR2_RISCV_ABI_ILP32 + bool "ilp32" + depends on !BR2_ARCH_IS_64 + +config BR2_RISCV_ABI_ILP32F + bool "ilp32f" + depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + +config BR2_RISCV_ABI_ILP32D + bool "ilp32d" + depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD + +config BR2_RISCV_ABI_LP64 + bool "lp64" + depends on BR2_ARCH_IS_64 + +config BR2_RISCV_ABI_LP64F + bool "lp64f" + depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + +config BR2_RISCV_ABI_LP64D + bool "lp64d" + depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD +endchoice + +config BR2_ARCH + default "riscv32" if !BR2_ARCH_IS_64 + default "riscv64" if BR2_ARCH_IS_64 + +config BR2_ENDIAN + default "LITTLE" + +config BR2_GCC_TARGET_ABI + default "ilp32" if BR2_RISCV_ABI_ILP32 + default "ilp32f" if BR2_RISCV_ABI_ILP32F + default "ilp32d" if BR2_RISCV_ABI_ILP32D + default "lp64" if BR2_RISCV_ABI_LP64 + default "lp64f" if BR2_RISCV_ABI_LP64F + default "lp64d" if BR2_RISCV_ABI_LP64D + +config BR2_READELF_ARCH_NAME + default "RISC-V" diff --git a/arch/arch.mk b/arch/arch.mk new file mode 100644 index 0000000000..289c5a1125 --- /dev/null +++ b/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/arch/arch.mk.riscv b/arch/arch.mk.riscv new file mode 100644 index 0000000000..f3bf2b3467 --- /dev/null +++ b/arch/arch.mk.riscv @@ -0,0 +1,30 @@ +# +# Configure the GCC_TARGET_ARCH variable and append the +# appropriate RISC-V ISA extensions. +# + +ifeq ($(BR2_riscv),y) + +ifeq ($(BR2_RISCV_64),y) +GCC_TARGET_ARCH := rv64i +else +GCC_TARGET_ARCH := rv32i +endif + +ifeq ($(BR2_RISCV_ISA_RVM),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)m +endif +ifeq ($(BR2_RISCV_ISA_RVA),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)a +endif +ifeq ($(BR2_RISCV_ISA_RVF),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)f +endif +ifeq ($(BR2_RISCV_ISA_RVD),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)d +endif +ifeq ($(BR2_RISCV_ISA_RVC),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)c +endif + +endif diff --git a/board/raspberrypi/overlay/etc/modules b/board/raspberrypi/overlay/etc/modules index d5499e6362..a761fa23fd 100644 --- a/board/raspberrypi/overlay/etc/modules +++ b/board/raspberrypi/overlay/etc/modules @@ -1,3 +1,4 @@ +bcm2835-wdt i2c-bcm2708 i2c-dev diff --git a/boot/Config.in b/boot/Config.in index 3687c41a2c..11856fd9c7 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -13,11 +13,12 @@ source "boot/gummiboot/Config.in" source "boot/lpc32xxcdl/Config.in" source "boot/mv-ddr-marvell/Config.in" source "boot/mxs-bootlets/Config.in" +source "boot/riscv-pk/Config.in" source "boot/s500-bootloader/Config.in" +source "boot/shim/Config.in" source "boot/syslinux/Config.in" source "boot/ts4800-mbrboot/Config.in" source "boot/uboot/Config.in" source "boot/vexpress-firmware/Config.in" -source "boot/xloader/Config.in" endmenu diff --git a/boot/afboot-stm32/afboot-stm32.mk b/boot/afboot-stm32/afboot-stm32.mk index 042b21fa55..5e221cf364 100644 --- a/boot/afboot-stm32/afboot-stm32.mk +++ b/boot/afboot-stm32/afboot-stm32.mk @@ -6,13 +6,15 @@ AFBOOT_STM32_VERSION = v0.1 AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,$(AFBOOT_STM32_VERSION)) +AFBOOT_STM32_INSTALL_IMAGES = YES +AFBOOT_STM32_INSTALL_TARGET = NO define AFBOOT_STM32_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all endef -define AFBOOT_STM32_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 $(@D)/stm32*.bin $(BINARIES_DIR) +define AFBOOT_STM32_INSTALL_IMAGES_CMDS + $(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/stm32*.bin endef $(eval $(generic-package)) diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in index 885d93e62f..823a3510b5 100644 --- a/boot/arm-trusted-firmware/Config.in +++ b/boot/arm-trusted-firmware/Config.in @@ -16,6 +16,11 @@ choice config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION bool "v1.4" +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION + bool "Custom version" + help + This option allows to use a specific official versions + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL bool "Custom tarball" @@ -31,12 +36,18 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION endif +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE + string "ATF version" + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION string default "v1.4" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \ if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT + default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE \ + if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 054a000a1d..8ca3864dd0 100644 --- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -13,15 +13,18 @@ ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL))) ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL)) -BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)) ARM_TRUSTED_FIRMWARE_SITE_METHOD = git -BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) else +# Handle stable official ATF versions ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION)) endif +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) +endif + ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM)) @@ -80,8 +83,8 @@ 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/') && \ - $(HOST_DIR)/bin/mkimage \ - -A arm64 -O arm-trusted-firmware -C none \ + $(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 @@ -94,17 +97,24 @@ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += RESET_TO_BL31=1 ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-uboot-tools endif +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y) +define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF + $(INSTALL) -D -m 0644 $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf \ + $(BINARIES_DIR)/bl31.elf +endef +endif + define ARM_TRUSTED_FIRMWARE_BUILD_CMDS $(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL) - $(TARGET_CONFIGURE_OPTS) \ - $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ - $(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ + $(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS) $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD) endef define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/*.bin $(BINARIES_DIR)/ $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL) + $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF) endef # Configuration check diff --git a/boot/at91bootstrap3/Config.in b/boot/at91bootstrap3/Config.in index 72270e3ac7..f6c310af23 100644 --- a/boot/at91bootstrap3/Config.in +++ b/boot/at91bootstrap3/Config.in @@ -12,8 +12,6 @@ config BR2_TARGET_AT91BOOTSTRAP3 https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap - https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap - if BR2_TARGET_AT91BOOTSTRAP3 choice diff --git a/boot/barebox/Config.in b/boot/barebox/Config.in index fd22d904bc..6a8d251548 100644 --- a/boot/barebox/Config.in +++ b/boot/barebox/Config.in @@ -12,7 +12,7 @@ choice Select the specific Barebox version you want to use config BR2_TARGET_BAREBOX_LATEST_VERSION - bool "2017.09.0" + bool "2018.12.0" config BR2_TARGET_BAREBOX_CUSTOM_VERSION bool "Custom version" @@ -40,7 +40,7 @@ endif config BR2_TARGET_BAREBOX_VERSION string - default "2017.09.0" if BR2_TARGET_BAREBOX_LATEST_VERSION + default "2018.12.0" if BR2_TARGET_BAREBOX_LATEST_VERSION default BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL default BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT diff --git a/boot/barebox/barebox.hash b/boot/barebox/barebox.hash index b24197024c..ec4e404b10 100644 --- a/boot/barebox/barebox.hash +++ b/boot/barebox/barebox.hash @@ -1,5 +1,5 @@ -# http://www.barebox.org/download/barebox-2017.09.0.tar.bz2.md5 -md5 b92e9c99cda7fbb61d01baf5679df261 barebox-2017.09.0.tar.bz2 +# From https://www.barebox.org/download/barebox-2018.12.0.tar.bz2.md5 +md5 f84d7d3562055c80c3eedce0b14d4a0d barebox-2018.12.0.tar.bz2 # Locally calculated -sha256 43283edc019f95a53fdb7d1b7c294afc4741bfcace348d6beeded5fe5147a81b barebox-2017.09.0.tar.bz2 +sha256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 barebox-2018.12.0.tar.bz2 diff --git a/boot/barebox/barebox.mk b/boot/barebox/barebox.mk index b811e322b5..9e8a9f67b5 100644 --- a/boot/barebox/barebox.mk +++ b/boot/barebox/barebox.mk @@ -28,7 +28,7 @@ $(1)_SITE_METHOD = git else # Handle stable official Barebox versions $(1)_SOURCE = barebox-$$($(1)_VERSION).tar.bz2 -$(1)_SITE = http://www.barebox.org/download +$(1)_SITE = https://www.barebox.org/download endif $(1)_DEPENDENCIES = host-lzop diff --git a/boot/binaries-marvell/Config.in b/boot/binaries-marvell/Config.in index d565e4dbfd..63052070bd 100644 --- a/boot/binaries-marvell/Config.in +++ b/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/boot/binaries-marvell/binaries-marvell.hash b/boot/binaries-marvell/binaries-marvell.hash index 94c66039c9..0d214502a7 100644 --- a/boot/binaries-marvell/binaries-marvell.hash +++ b/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/boot/binaries-marvell/binaries-marvell.mk b/boot/binaries-marvell/binaries-marvell.mk index 152c9cd97a..6c70148540 100644 --- a/boot/binaries-marvell/binaries-marvell.mk +++ b/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/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch b/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch new file mode 100644 index 0000000000..cd8b5e73ce --- /dev/null +++ b/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch @@ -0,0 +1,74 @@ +From 842c390469e2c2e10b5aa36700324cd3bde25875 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Sat, 17 Feb 2018 06:47:28 -0800 +Subject: [PATCH] x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32 + +Starting from binutils commit bd7ab16b4537788ad53521c45469a1bdae84ad4a: + +https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd7ab16b4537788ad53521c45469a1bdae84ad4a + +x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for +32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as +R_X86_64_PC32. + +Signed-off-by: H.J. Lu +Reviewed-by: Daniel Kiper +Signed-off-by: Romain Naour +--- + grub-core/efiemu/i386/loadcore64.c | 1 + + grub-core/kern/x86_64/dl.c | 1 + + util/grub-mkimagexx.c | 1 + + util/grub-module-verifier.c | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c +index e49d0b6..18facf4 100644 +--- a/grub-core/efiemu/i386/loadcore64.c ++++ b/grub-core/efiemu/i386/loadcore64.c +@@ -98,6 +98,7 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs, + break; + + case R_X86_64_PC32: ++ case R_X86_64_PLT32: + err = grub_efiemu_write_value (addr, + *addr32 + rel->r_addend + + sym.off +diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c +index 4406906..3a73e6e 100644 +--- a/grub-core/kern/x86_64/dl.c ++++ b/grub-core/kern/x86_64/dl.c +@@ -70,6 +70,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr, + break; + + case R_X86_64_PC32: ++ case R_X86_64_PLT32: + { + grub_int64_t value; + value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value - +diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c +index a2bb054..39d7efb 100644 +--- a/util/grub-mkimagexx.c ++++ b/util/grub-mkimagexx.c +@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections, + break; + + case R_X86_64_PC32: ++ case R_X86_64_PLT32: + { + grub_uint32_t *t32 = (grub_uint32_t *) target; + *t32 = grub_host_to_target64 (grub_target_to_host32 (*t32) +diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c +index 9179285..a79271f 100644 +--- a/util/grub-module-verifier.c ++++ b/util/grub-module-verifier.c +@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = { + -1 + }, (int[]){ + R_X86_64_PC32, ++ R_X86_64_PLT32, + -1 + } + }, +-- +2.7.4 + diff --git a/boot/grub2/Config.in b/boot/grub2/Config.in index 9a61b3b633..e45133999e 100644 --- a/boot/grub2/Config.in +++ b/boot/grub2/Config.in @@ -2,6 +2,9 @@ config BR2_TARGET_GRUB2_ARCH_SUPPORTS bool default y if BR2_i386 default y if BR2_x86_64 + default y if BR2_arm + default y if BR2_aarch64 + depends on BR2_USE_MMU config BR2_TARGET_GRUB2 bool "grub2" @@ -29,12 +32,14 @@ choice config BR2_TARGET_GRUB2_I386_PC bool "i386-pc" + depends on BR2_i386 || BR2_x86_64 help Select this option if the platform you're targetting is a x86 or x86-64 legacy BIOS based platform. config BR2_TARGET_GRUB2_I386_EFI bool "i386-efi" + depends on BR2_i386 || BR2_x86_64 help Select this option if the platform you're targetting has a 32 bits EFI BIOS. Note that some x86-64 platforms use a 32 @@ -42,14 +47,38 @@ config BR2_TARGET_GRUB2_I386_EFI config BR2_TARGET_GRUB2_X86_64_EFI bool "x86-64-efi" - depends on BR2_ARCH_IS_64 + depends on BR2_x86_64 help Select this option if the platform you're targetting has a 64 bits EFI BIOS. +config BR2_TARGET_GRUB2_ARM_UBOOT + bool "arm-uboot" + depends on BR2_arm + help + Select this option if the platform you're targetting is an + ARM u-boot platform, and you want to boot Grub 2 as an u-boot + compatible image. + +config BR2_TARGET_GRUB2_ARM_EFI + bool "arm-efi" + depends on BR2_arm + help + Select this option if the platform you're targetting is an + ARM platform and you want to boot Grub 2 as an EFI + application. + +config BR2_TARGET_GRUB2_ARM64_EFI + bool "arm64-efi" + depends on BR2_aarch64 + help + Select this option if the platform you're targetting is an + Aarch64 platform and you want to boot Grub 2 as an EFI + application. + endchoice -if BR2_TARGET_GRUB2_I386_PC +if BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_GRUB2_ARM_UBOOT config BR2_TARGET_GRUB2_BOOT_PARTITION string "boot partition" @@ -60,13 +89,15 @@ config BR2_TARGET_GRUB2_BOOT_PARTITION first disk if using a legacy partition table, or 'hd0,gpt1' if using GPT partition table. -endif # BR2_TARGET_GRUB2_I386_PC +endif # BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_GRUB2_ARM_UBOOT config BR2_TARGET_GRUB2_BUILTIN_MODULES string "builtin modules" default "boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" \ - if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI + if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI || \ + BR2_TARGET_GRUB2_ARM_EFI || BR2_TARGET_GRUB2_ARM64_EFI + default "linux ext2 fat part_msdos normal" if BR2_TARGET_GRUB2_ARM_UBOOT config BR2_TARGET_GRUB2_BUILTIN_CONFIG string "builtin config" @@ -76,6 +107,15 @@ config BR2_TARGET_GRUB2_BUILTIN_CONFIG device and other configuration parameters, but however menu entries cannot be described in this embedded configuration. +config BR2_TARGET_GRUB2_INSTALL_TOOLS + bool "install tools" + help + Install support tools to interact with GNU GRUB Multiboot + boot loader. + + This will also install the Grub 2 loadable modules to the + target. + endif # BR2_TARGET_GRUB2 comment "grub2 needs a toolchain w/ wchar" diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk index 35aea41287..65371f0170 100644 --- a/boot/grub2/grub2.mk +++ b/boot/grub2/grub2.mk @@ -9,7 +9,15 @@ GRUB2_SITE = http://ftp.gnu.org/gnu/grub GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz GRUB2_LICENSE = GPL-3.0+ GRUB2_LICENSE_FILES = COPYING -GRUB2_DEPENDENCIES = host-bison host-flex +GRUB2_DEPENDENCIES = host-bison host-flex host-grub2 +HOST_GRUB2_DEPENDENCIES = host-bison host-flex +GRUB2_INSTALL_IMAGES = YES + +ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y) +GRUB2_INSTALL_TARGET = YES +else +GRUB2_INSTALL_TARGET = NO +endif GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES)) GRUB2_BUILTIN_CONFIG = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG)) @@ -36,29 +44,48 @@ GRUB2_PREFIX = /EFI/BOOT GRUB2_TUPLE = x86_64-efi GRUB2_TARGET = x86_64 GRUB2_PLATFORM = efi +else ifeq ($(BR2_TARGET_GRUB2_ARM_UBOOT),y) +GRUB2_IMAGE = $(BINARIES_DIR)/boot-part/grub/grub.img +GRUB2_CFG = $(BINARIES_DIR)/boot-part/grub/grub.cfg +GRUB2_PREFIX = ($(GRUB2_BOOT_PARTITION))/boot/grub +GRUB2_TUPLE = arm-uboot +GRUB2_TARGET = arm +GRUB2_PLATFORM = uboot +else ifeq ($(BR2_TARGET_GRUB2_ARM_EFI),y) +GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootarm.efi +GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX = /EFI/BOOT +GRUB2_TUPLE = arm-efi +GRUB2_TARGET = arm +GRUB2_PLATFORM = efi +else ifeq ($(BR2_TARGET_GRUB2_ARM64_EFI),y) +GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootaa64.efi +GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX = /EFI/BOOT +GRUB2_TUPLE = arm64-efi +GRUB2_TARGET = aarch64 +GRUB2_PLATFORM = efi endif # Grub2 is kind of special: it considers CC, LD and so on to be the -# tools to build the native tools (i.e to be executed on the build -# machine), and uses TARGET_CC, TARGET_CFLAGS, TARGET_CPPFLAGS, -# TARGET_LDFLAGS to build the bootloader itself. However, to add to -# the confusion, it also uses NM, OBJCOPY and STRIP to build the -# bootloader itself; none of these are used to build the native -# tools. +# tools to build the host programs and uses TARGET_CC, TARGET_CFLAGS, +# TARGET_CPPFLAGS, TARGET_LDFLAGS to build the bootloader itself. # # NOTE: TARGET_STRIP is overridden by !BR2_STRIP_strip, so always # use the cross compile variant to ensure grub2 builds +HOST_GRUB2_CONF_ENV = \ + CPP="$(HOSTCC) -E" + GRUB2_CONF_ENV = \ - $(HOST_CONFIGURE_OPTS) \ - CPP="$(HOSTCC) -E" \ + CPP="$(TARGET_CC) -E" \ TARGET_CC="$(TARGET_CC)" \ TARGET_CFLAGS="$(TARGET_CFLAGS)" \ TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -fno-stack-protector" \ TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \ - NM="$(TARGET_NM)" \ - OBJCOPY="$(TARGET_OBJCOPY)" \ - STRIP="$(TARGET_CROSS)strip" + TARGET_NM="$(TARGET_NM)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" \ + TARGET_STRIP="$(TARGET_CROSS)strip" GRUB2_CONF_OPTS = \ --target=$(GRUB2_TARGET) \ @@ -72,12 +99,13 @@ GRUB2_CONF_OPTS = \ --enable-libzfs=no \ --disable-werror -# We don't want all the native tools and Grub2 modules to be installed -# in the target. So we in fact install everything into the host -# directory, and the image generation process (below) will use the -# grub-mkimage tool and Grub2 modules from the host directory. - -GRUB2_INSTALL_TARGET_OPTS = DESTDIR=$(HOST_DIR) install +HOST_GRUB2_CONF_OPTS = \ + --disable-grub-mkfont \ + --enable-efiemu=no \ + ac_cv_lib_lzma_lzma_code=no \ + --enable-device-mapper=no \ + --enable-libzfs=no \ + --disable-werror ifeq ($(BR2_TARGET_GRUB2_I386_PC),y) define GRUB2_IMAGE_INSTALL_ELTORITO @@ -86,10 +114,10 @@ define GRUB2_IMAGE_INSTALL_ELTORITO endef endif -define GRUB2_IMAGE_INSTALLATION +define GRUB2_INSTALL_IMAGES_CMDS mkdir -p $(dir $(GRUB2_IMAGE)) - $(HOST_DIR)/bin/grub-mkimage \ - -d $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE) \ + $(HOST_DIR)/usr/bin/grub-mkimage \ + -d $(@D)/grub-core/ \ -O $(GRUB2_TUPLE) \ -o $(GRUB2_IMAGE) \ -p "$(GRUB2_PREFIX)" \ @@ -99,14 +127,14 @@ define GRUB2_IMAGE_INSTALLATION $(INSTALL) -D -m 0644 boot/grub2/grub.cfg $(GRUB2_CFG) $(GRUB2_IMAGE_INSTALL_ELTORITO) endef -GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_IMAGE_INSTALLATION ifeq ($(GRUB2_PLATFORM),efi) define GRUB2_EFI_STARTUP_NSH echo $(notdir $(GRUB2_IMAGE)) > \ $(BINARIES_DIR)/efi-part/startup.nsh endef -GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_EFI_STARTUP_NSH +GRUB2_POST_INSTALL_IMAGES_HOOKS += GRUB2_EFI_STARTUP_NSH endif $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/boot/grub2/readme.txt b/boot/grub2/readme.txt index f6fd4566fe..0282fbdd13 100644 --- a/boot/grub2/readme.txt +++ b/boot/grub2/readme.txt @@ -53,8 +53,8 @@ To test your BIOS image in Qemu qemu-system-{i386,x86-64} -hda disk.img -Notes on using Grub2 for EFI-based platforms -============================================ +Notes on using Grub2 for x86/x86_64 EFI-based platforms +======================================================= 1. Create a disk image dd if=/dev/zero of=disk.img bs=1M count=32 @@ -83,16 +83,108 @@ Notes on using Grub2 for EFI-based platforms sudo losetup -d /dev/loop0 7. Your disk.img is ready! -To test your EFI image in Qemu ------------------------------- +To test your i386/x86-64 EFI image in Qemu +------------------------------------------ 1. Download the EFI BIOS for Qemu Version IA32 or X64 depending on the chosen Grub2 platform (i386-efi vs. x86-64-efi) - http://sourceforge.net/projects/edk2/files/OVMF/ + https://www.kraxel.org/repos/jenkins/edk2/ + (or use one provided by your distribution as OVMF) 2. Extract, and rename OVMF.fd to bios.bin and CirrusLogic5446.rom to vgabios-cirrus.bin. 3. qemu-system-{i386,x86-64} -L ovmf-dir/ -hda disk.img 4. Make sure to pass pci=nocrs to the kernel command line, to workaround a bug in the EFI BIOS regarding the EFI framebuffer. + +Notes on using Grub2 for ARM u-boot-based platforms +=================================================== + +The following steps show how to use the Grub2 arm-uboot platform +support in the simplest way possible and with a single +buildroot-generated filesystem. + + 1. Load qemu_arm_vexpress_defconfig + + 2. Enable u-boot with the vexpress_ca9x4 board name and with + u-boot.elf image format. + + 3. Enable grub2 for the arm-uboot platform. + + 4. Enable "Install kernel image to /boot in target" in the kernel + menu to populate a /boot directory with zImage in it. + + 5. The upstream u-boot vexpress_ca9x4 doesn't have CONFIG_API enabled + by default, which is required. + + Before building, patch u-boot (for example, make u-boot-extract to + edit the source before building) file + include/configs/vexpress_common.h to define: + + #define CONFIG_API + #define CONFIG_SYS_MMC_MAX_DEVICE 1 + + 6. Create a custom grub2 config file with the following contents and + set its path in BR2_TARGET_GRUB2_CFG: + + set default="0" + set timeout="5" + + menuentry "Buildroot" { + set root='(hd0)' + linux /boot/zImage root=/dev/mmcblk0 console=ttyAMA0 + devicetree /boot/vexpress-v2p-ca9.dtb + } + + 7. Create a custom builtin config file with the following contents + and set its path in BR2_TARGET_GRUB2_BUILTIN_CONFIG: + + set root=(hd0) + set prefix=/boot/grub + + 8. Create a custom post-build script which copies files from + ${BINARIES_DIR}/boot-part to $(TARGET_DIR)/boot (set its path in + BR2_ROOTFS_POST_BUILD_SCRIPT): + + #!/bin/sh + cp -r ${BINARIES_DIR}/boot-part/* ${TARGET_DIR}/boot/ + + 9. make + +10. Run qemu with: + + qemu-system-arm -M vexpress-a9 -kernel output/images/u-boot -m 1024 \ + -nographic -sd output/images/rootfs.ext2 + +11. In u-boot, stop at the prompt and run grub2 with: + + => ext2load mmc 0:0 ${loadaddr} /boot/grub/grub.img + => bootm + +12. This should bring the grub2 menu, upon which selecting the "Buildroot" + entry should boot Linux. + + +Notes on using Grub2 for Aarch64 EFI-based platforms +==================================================== + +The following steps show how to use the Grub2 arm64-efi platform, +using qemu and EFI firmware built for qemu. + + 1. Load aarch64_efi_defconfig + + 2. make + + 3. Download the EFI firmware for qemu aarch64 + https://www.kraxel.org/repos/jenkins/edk2/ + (or use one provided by your distribution as OVMF-aarch64 or AAVMF) + + 4. Run qemu with: + + qemu-system-aarch64 -M virt -cpu cortex-a57 -m 512 -nographic \ + -bios /QEMU_EFI.fd -hda output/images/disk.img \ + -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 + + 5. This should bring the grub2 menu, upon which selecting the + "Buildroot" entry should boot Linux. diff --git a/boot/gummiboot/Config.in b/boot/gummiboot/Config.in index 11dbc4f6b7..1b5c4279f7 100644 --- a/boot/gummiboot/Config.in +++ b/boot/gummiboot/Config.in @@ -1,6 +1,7 @@ config BR2_TARGET_GUMMIBOOT bool "gummiboot" depends on BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS select BR2_PACKAGE_GNU_EFI select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.hash b/boot/mv-ddr-marvell/mv-ddr-marvell.hash index b96d4d2bc8..90fab71d60 100644 --- a/boot/mv-ddr-marvell/mv-ddr-marvell.hash +++ b/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/boot/mv-ddr-marvell/mv-ddr-marvell.mk b/boot/mv-ddr-marvell/mv-ddr-marvell.mk index 0f98fc2cef..8d508215f8 100644 --- a/boot/mv-ddr-marvell/mv-ddr-marvell.mk +++ b/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/boot/riscv-pk/Config.in b/boot/riscv-pk/Config.in new file mode 100644 index 0000000000..b4fe36590f --- /dev/null +++ b/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/boot/riscv-pk/riscv-pk.mk b/boot/riscv-pk/riscv-pk.mk new file mode 100644 index 0000000000..0ab5879ee4 --- /dev/null +++ b/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/boot/shim/Config.in b/boot/shim/Config.in new file mode 100644 index 0000000000..ea6650f54c --- /dev/null +++ b/boot/shim/Config.in @@ -0,0 +1,19 @@ +config BR2_TARGET_SHIM + bool "shim" + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS + # ARM32 build currently broken + depends on !BR2_ARM_CPU_HAS_ARM + select BR2_PACKAGE_GNU_EFI + help + Boot loader to chain-load signed boot loaders under Secure + Boot. + + This package provides a minimalist boot loader which allows + verifying signatures of other UEFI binaries against either + the Secure Boot DB/DBX or against a built-in signature + database. Its purpose is to allow a small, + infrequently-changing binary to be signed by the UEFI CA, + while allowing an OS distributor to revision their main + bootloader independently of the CA. + + https://github.com/rhboot/shim diff --git a/boot/shim/shim.hash b/boot/shim/shim.hash new file mode 100644 index 0000000000..318390f80b --- /dev/null +++ b/boot/shim/shim.hash @@ -0,0 +1,3 @@ +# locally computed hash +sha256 279d19cc95b9974ea2379401a6a0653d949c3fa3d61f0c4bd6a7b9e840bdc425 shim-15.tar.gz +sha256 15edf527919ddcb2f514ab9d16ad07ef219e4bb490e0b79560be510f0c159cc2 COPYRIGHT diff --git a/boot/shim/shim.mk b/boot/shim/shim.mk new file mode 100644 index 0000000000..ba5bc51957 --- /dev/null +++ b/boot/shim/shim.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# shim +# +################################################################################ + +SHIM_VERSION = 15 +SHIM_SITE = $(call github,rhboot,shim,$(SHIM_VERSION)) +SHIM_LICENSE = BSD-2-Clause +SHIM_LICENSE_FILES = COPYRIGHT +SHIM_DEPENDENCIES = gnu-efi +SHIM_INSTALL_TARGET = NO +SHIM_INSTALL_IMAGES = YES + +SHIM_MAKE_OPTS = \ + ARCH="$(GNU_EFI_PLATFORM)" \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + DASHJ="-j$(PARALLEL_JOBS)" \ + EFI_INCLUDE="$(STAGING_DIR)/usr/include/efi" \ + EFI_PATH="$(STAGING_DIR)/usr/lib" \ + LIBDIR="$(STAGING_DIR)/usr/lib" + +define SHIM_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(SHIM_MAKE_OPTS) +endef + +define SHIM_INSTALL_IMAGES_CMDS + $(INSTALL) -m 0755 -t $(BINARIES_DIR) $(@D)/*.efi +endef + +$(eval $(generic-package)) diff --git a/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch b/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch new file mode 100644 index 0000000000..beba5cc245 --- /dev/null +++ b/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/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch b/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch new file mode 100644 index 0000000000..17a6d37cef --- /dev/null +++ b/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch @@ -0,0 +1,45 @@ +From 44a1b42e561b9a257209300e2860b901b100cc17 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Tue, 26 Feb 2019 08:07:22 -0300 +Subject: [PATCH] Fix build with gnu-efi version 3.0.9 + +Adapt a patch already applied upstream to prevent multiple definitions +of 'memset' and 'memcpy'. + +Signed-off-by: Carlos Santos +(adapted from commit 363d61c4f112b972649b19d67e96b9321f738f00) +--- + mk/lib.mk | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/mk/lib.mk b/mk/lib.mk +index ceb95bd0..c9b6eaf3 100644 +--- a/mk/lib.mk ++++ b/mk/lib.mk +@@ -186,9 +186,9 @@ MINLIBOBJS = \ + # $(LIBVESA_OBJS) + + CORELIBOBJS = \ +- memcpy.o memset.o memcmp.o printf.o strncmp.o vfprintf.o \ ++ memcmp.o printf.o strncmp.o vfprintf.o \ + strlen.o vsnprintf.o snprintf.o stpcpy.o strcmp.o strdup.o \ +- strcpy.o strncpy.o setjmp.o fopen.o fread.o fread2.o puts.o \ ++ strcpy.o strncpy.o fopen.o fread.o fread2.o puts.o \ + strtoul.o strntoumax.o strcasecmp.o \ + sprintf.o strlcat.o strchr.o strlcpy.o strncasecmp.o ctypes.o \ + fputs.o fwrite2.o fwrite.o fgetc.o fclose.o lmalloc.o \ +@@ -203,6 +203,11 @@ CORELIBOBJS = \ + $(LIBENTRY_OBJS) \ + $(LIBMODULE_OBJS) + ++ifndef EFI_BUILD ++# For EFI, these are part of gnu-efi ++CORELIBOBJS += setjmp.o memcpy.o memset.o ++endif ++ + LDFLAGS = -m elf_$(ARCH) --hash-style=gnu -T $(com32)/lib/$(ARCH)/elf.ld + + .SUFFIXES: .c .o .a .so .lo .i .S .s .ls .ss .lss +-- +2.14.5 + diff --git a/boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch b/boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch new file mode 100644 index 0000000000..fedd815691 --- /dev/null +++ b/boot/syslinux/0014-Fix-build-with-binutils-note-gnu-property-section.patch @@ -0,0 +1,47 @@ +From beb526ca925983c7da229043790ecd552d910650 Mon Sep 17 00:00:00 2001 +From: Christian Stewart +Date: Thu, 4 Apr 2019 23:24:31 -0700 +Subject: [PATCH] Fix build with binutils note gnu property section + +This fixes the following build error with newer binutils: + + objcopy -O binary mbr.elf mbr.bin + perl /build/syslinux/src/syslinux/mbr/checksize.pl mbr.bin + mbr.bin: too big (452 > 440) + +Corresponding bug reports: + + - https://bugs.archlinux.org/task/60405 + - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906414 + +Strips the .note.gnu.property in the linker scripts for the MBRs. + +Signed-off-by: Christian Stewart +--- + mbr/i386/mbr.ld | 1 + + mbr/x86_64/mbr.ld | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/mbr/i386/mbr.ld b/mbr/i386/mbr.ld +index d14ba802..53683461 100644 +--- a/mbr/i386/mbr.ld ++++ b/mbr/i386/mbr.ld +@@ -70,4 +70,5 @@ SECTIONS + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /DISCARD/ : { *(.note.GNU-stack) } ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/mbr/x86_64/mbr.ld b/mbr/x86_64/mbr.ld +index ae27d49a..b8c0d895 100644 +--- a/mbr/x86_64/mbr.ld ++++ b/mbr/x86_64/mbr.ld +@@ -69,4 +69,5 @@ SECTIONS + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /DISCARD/ : { *(.note.GNU-stack) } ++ /DISCARD/ : { *(.note.gnu.property) } + } +-- +2.21.0 + diff --git a/boot/syslinux/Config.in b/boot/syslinux/Config.in index e969d53fd0..339a97f0e4 100644 --- a/boot/syslinux/Config.in +++ b/boot/syslinux/Config.in @@ -44,6 +44,7 @@ config BR2_TARGET_SYSLINUX_MBR config BR2_TARGET_SYSLINUX_EFI bool "install efi" + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS select BR2_PACKAGE_GNU_EFI help Install the 'efi' image, to boot from an EFI environment. diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index 8e369cec04..bd1b248e94 100644 --- a/boot/uboot/Config.in +++ b/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.07" + 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.07" 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 @@ -171,6 +179,19 @@ config BR2_TARGET_UBOOT_NEEDS_ATF_BL31 variable pointing to ATF's BL31 binary, is passed during the Buildroot build. +choice + prompt "U-Boot ATF BL31 format" + default BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN + depends on BR2_TARGET_UBOOT_NEEDS_ATF_BL31 + +config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN + bool "bl31.bin" + +config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF + bool "bl31.elf" + +endchoice + menu "U-Boot binary format" config BR2_TARGET_UBOOT_FORMAT_AIS diff --git a/boot/uboot/uboot.hash b/boot/uboot/uboot.hash index 97d0bd0b5f..ea07fb584d 100644 --- a/boot/uboot/uboot.hash +++ b/boot/uboot/uboot.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2 +sha256 839bf23cfe8ce613a77e583a60375179d0ad324e92c82fbdd07bebf0fd142268 u-boot-2018.09.tar.bz2 diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index ae50a64c81..3c070b41b3 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -137,8 +137,12 @@ UBOOT_MAKE_OPTS += \ ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31),y) UBOOT_DEPENDENCIES += arm-trusted-firmware +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y) +UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.elf +else UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.bin endif +endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y) UBOOT_DEPENDENCIES += host-dtc @@ -152,6 +156,10 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSSL),y) UBOOT_DEPENDENCIES += host-openssl endif +ifeq ($(BR2_TARGET_UBOOT_NEEDS_LZOP),y) +UBOOT_DEPENDENCIES += host-lzop +endif + # prior to u-boot 2013.10 the license info was in COPYING. Copy it so # legal-info finds it define UBOOT_COPY_OLD_LICENSE_FILE @@ -223,8 +231,9 @@ UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig # (which is typically wchar) but link with # $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually # need any host-package for kconfig, so remove the HOSTCC/HOSTLDFLAGS -# override again. -UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC)" HOSTLDFLAGS="" +# override again. In addition, host-ccache is not ready at kconfig +# time, so use HOSTCC_NOCCACHE. +UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTLDFLAGS="" define UBOOT_HELP_CMDS @echo ' uboot-menuconfig - Run U-Boot menuconfig' @echo ' uboot-savedefconfig - Run U-Boot savedefconfig' @@ -282,7 +291,7 @@ 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 diff --git a/boot/xloader/Config.in b/boot/xloader/Config.in deleted file mode 100644 index f687b897ea..0000000000 --- a/boot/xloader/Config.in +++ /dev/null @@ -1,17 +0,0 @@ -config BR2_TARGET_XLOADER - bool "X-loader" - depends on BR2_cortex_a8 || BR2_cortex_a9 - help - The x-loader bootloader. It is mainly used on OMAP-based - platforms. - - http://omappedia.org/wiki/Linux_OMAP_Kernel_Main - -if BR2_TARGET_XLOADER -config BR2_TARGET_XLOADER_BOARDNAME - string "x-loader board name" - help - One of x-loader supported boards to be built. - This will be suffixed with _config to meet x-loader - standard naming. -endif diff --git a/boot/xloader/xloader.mk b/boot/xloader/xloader.mk deleted file mode 100644 index 7e0b286681..0000000000 --- a/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/configs/odroidxu4_defconfig.txt b/configs/odroidxu4_defconfig.txt new file mode 100644 index 0000000000..34a491900b --- /dev/null +++ b/configs/odroidxu4_defconfig.txt @@ -0,0 +1,76 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_CCACHE=y +BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-odroidxu4" +BR2_OPTIMIZE_2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_OPTIMIZATION="-pipe" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y +BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidxu4/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/be592282a08a2493692448e365e46b52ac715b3f.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="odroidxu4" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5422-odroidxu4" +BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config" +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_NTFS_3G=y +BR2_PACKAGE_B43_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y +BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y +BR2_PACKAGE_USB_MODESWITCH_DATA=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y +BR2_PACKAGE_LIBFUSE=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_CURL=y +BR2_PACKAGE_LIBCAP=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_AUTOSSH=y +BR2_PACKAGE_CRDA=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_CLIENT=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_NETCAT=y +BR2_PACKAGE_NET_TOOLS=y +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_PPPD=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_PACKAGE_WPA_SUPPLICANT_EAP=y +BR2_PACKAGE_WPA_SUPPLICANT_WPS=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_BASH=y +BR2_PACKAGE_LOGROTATE=y +BR2_PACKAGE_TAR=y +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_PARTX=y +BR2_PACKAGE_NANO=y diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt index f5e1e313d5..e6201bb86b 100644 --- a/docs/manual/adding-packages-directory.txt +++ b/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/docs/manual/adding-packages-luarocks.txt b/docs/manual/adding-packages-luarocks.txt index ec3d4e7ccd..df97cdd503 100644 --- a/docs/manual/adding-packages-luarocks.txt +++ b/docs/manual/adding-packages-luarocks.txt @@ -50,6 +50,16 @@ Finally, on line 16, we invoke the +luarocks-package+ macro that generates all the Makefile rules that actually allows the package to be built. +Most of these details can be retrieved from the +rock+ and +rockspec+. +So, this file and the Config.in file can be generated by running the +command +luarocks buildroot foo lua-foo+ in the Buildroot +directory. This command runs a specific Buildroot addon of +luarocks+ +that will automatically generate a Buildroot package. The result must +still be manually inspected and possibly modified. + +* The +package/Config.in+ file has to be updated manually to include the + generated Config.in files. + [[luarocks-package-reference]] ==== +luarocks-package+ reference diff --git a/docs/manual/adding-packages-meson.txt b/docs/manual/adding-packages-meson.txt index c52fe10506..30c338f486 100644 --- a/docs/manual/adding-packages-meson.txt +++ b/docs/manual/adding-packages-meson.txt @@ -85,6 +85,12 @@ A few additional variables, specific to the Meson infrastructure, can also be defined. Many of them are only useful in very specific cases, typical packages will therefore only use a few of them. +* +FOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main meson.build file. This is useful, + if for example, the main meson.build file is not at the root of + the tree extracted by the tarball. If +HOST_FOO_SUBDIR+ is not + specified, it defaults to +FOO_SUBDIR+. + * +FOO_CONF_ENV+, to specify additional environment variables to pass to +meson+ for the configuration step. By default, empty. @@ -94,3 +100,6 @@ will therefore only use a few of them. * +FOO_NINJA_ENV+, to specify additional environment variables to pass to +ninja+, meson companion tool in charge of the build operations. By default, empty. + +* +FOO_NINJA_OPTS+, to specify a space-separated list of targets to build. By + default, empty, to build the default target(s). diff --git a/docs/manual/adding-packages-perl.txt b/docs/manual/adding-packages-perl.txt index eb14d9de18..6ce693fd6e 100644 --- a/docs/manual/adding-packages-perl.txt +++ b/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/docs/manual/adding-packages-python.txt b/docs/manual/adding-packages-python.txt index 5eb6ba51b1..15137cfd6d 100644 --- a/docs/manual/adding-packages-python.txt +++ b/docs/manual/adding-packages-python.txt @@ -113,6 +113,12 @@ optionally be defined, depending on the package's needs. Many of them are only useful in very specific cases, typical packages will therefore only use a few of them, or none. +* +PYTHON_FOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main +setup.py+ file. This is useful, + if for example, the main +setup.py+ file is not at the root of + the tree extracted by the tarball. If +HOST_PYTHON_FOO_SUBDIR+ is not + specified, it defaults to +PYTHON_FOO_SUBDIR+. + * +PYTHON_FOO_ENV+, to specify additional environment variables to pass to the Python +setup.py+ script (for both the build and install steps). Note that the infrastructure is automatically passing diff --git a/docs/manual/adding-packages-rebar.txt b/docs/manual/adding-packages-rebar.txt index be9ede0113..d78b3171d8 100644 --- a/docs/manual/adding-packages-rebar.txt +++ b/docs/manual/adding-packages-rebar.txt @@ -86,6 +86,12 @@ If the package bundles a _rebar_ utility, but can use the generic * +ERLANG_FOOBAR_REBAR_ENV+, to specify additional environment variables to pass to the _rebar_ utility. +* +ERLANG_FOOBAR_KEEP_DEPENDENCIES+, to keep the dependencies + described in the rebar.config file. Valid values are +YES+ or +NO+ + (the default). Unless this variable is set to +YES+, the _rebar_ + infrastructure removes such dependencies in a post-patch hook to + ensure rebar does not download nor compile them. + With the rebar infrastructure, all the steps required to build and install the packages are already defined, and they generally work well for most rebar-based packages. However, when required, it is diff --git a/docs/manual/adding-packages-waf.txt b/docs/manual/adding-packages-waf.txt index 43b557c070..ffc004c290 100644 --- a/docs/manual/adding-packages-waf.txt +++ b/docs/manual/adding-packages-waf.txt @@ -60,10 +60,16 @@ the generic infrastructure also exist in the Waf infrastructure: An additional variable, specific to the Waf infrastructure, can also be defined. +* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main wscript file. This is useful, + if for example, the main wscript file is not at the root of + the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not + specified, it defaults to +LIBFOO_SUBDIR+. + * +LIBFOO_NEEDS_EXTERNAL_WAF+ can be set to +YES+ or +NO+ to tell Buildroot to use the bundled +waf+ executable. If set to +NO+, the default, then Buildroot will use the waf executable provided in the - package source tree; if set to +YES+, then Buidlroot will download, + package source tree; if set to +YES+, then Buildroot will download, install waf as a host tool and use it to build the package. * +LIBFOO_WAF_OPTS+, to specify additional options to pass to the diff --git a/docs/manual/contribute.txt b/docs/manual/contribute.txt index b531ea987e..5530ce1546 100644 --- a/docs/manual/contribute.txt +++ b/docs/manual/contribute.txt @@ -194,14 +194,29 @@ bisect+ to locate the origin of a problem. First of all, it is essential that the patch has a good commit message. The commit message should start with a separate line with a -brief summary of the change, starting with the name of the affected -package. The body of the commit message should describe _why_ this +brief summary of the change, prefixed by the area touched by the +patch. A few examples of good commit titles: + +* +package/linuxptp: bump version to 2.0+ + +* +configs/imx23evk: bump Linux version to 4.19+ + +* +package/pkg-generic: postpone evaluation of dependency conditions+ + +* +boot/uboot: needs host-{flex,bison}+ + +* +support/testing: add python-ubjson tests+ + +The description that follows the prefix should start with a lower case +letter (i.e "bump", "needs", "postpone", "add" in the above examples). + +Second, the body of the commit message should describe _why_ this change is needed, and if necessary also give details about _how_ it was done. When writing the commit message, think of how the reviewers will read it, but also think about how you will read it when you look at this change again a few years down the line. -Second, the patch itself should do only one change, but do it +Third, the patch itself should do only one change, but do it completely. Two unrelated or weakly related changes should usually be done in two separate patches. This usually means that a patch affects only a single package. If several changes are related, it is often @@ -308,6 +323,28 @@ Use the output of +get-developers+ to send your patches: $ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/* --------------------- +Alternatively, +get-developers -e+ can be used directly with the ++--cc-cmd+ argument to +git send-email+ to automatically CC the +affected developers: + +--------------------- +$ git send-email --to buildroot@buildroot.org \ + --cc-cmd './utils/get-developers -e' origin/master +--------------------- + ++git+ can be configured to automatically do this out of the box with: + +--------------------- +$ git config sendemail.to buildroot@buildroot.org +$ git config sendemail.ccCmd "$(pwd)/utils/get-developers -e" +--------------------- + +And then just do: + +--------------------- +$ git send-email origin/master +--------------------- + Note that +git+ should be configured to use your mail account. To configure +git+, see +man git-send-email+ or google it. diff --git a/docs/manual/customize-directory-structure.txt b/docs/manual/customize-directory-structure.txt index b177319f98..a3a7ad4cb9 100644 --- a/docs/manual/customize-directory-structure.txt +++ b/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/docs/manual/customize-rootfs.txt b/docs/manual/customize-rootfs.txt index 44fc460670..6b72a37b32 100644 --- a/docs/manual/customize-rootfs.txt +++ b/docs/manual/customize-rootfs.txt @@ -22,6 +22,12 @@ A filesystem overlay is a tree of files that is copied directly etc., files called +.empty+ and files ending in +~+ are excluded from the copy. + +When +BR2_ROOTFS_MERGED_USR+ is enabled, then the overlay must not + contain the '/bin', '/lib' or '/sbin' directories, as Buildroot will + create them as symbolic links to the relevant folders in '/usr'. In + such a situation, should the overlay have any programs or libraries, + they should be placed in '/usr/bin', '/usr/sbin' and '/usr/lib'. ++ As shown in xref:customize-dir-structure[], the recommended path for this overlay is +board///rootfs-overlay+. @@ -100,6 +106,15 @@ To enable this feature, enable config option +System configuration+ menu. If you specify a relative path, it will be relative to the root of the Buildroot tree. + +Custom skeletons don't need to contain the '/bin', '/lib' or '/sbin' + directories, since they are created automatically during the build. + When +BR2_ROOTFS_MERGED_USR+ is enabled, then the custom skeleton must + not contain the '/bin', '/lib' or '/sbin' directories, as Buildroot + will create them as symbolic links to the relevant folders in '/usr'. + In such a situation, should the skeleton have any programs or + libraries, they should be placed in '/usr/bin', '/usr/sbin' and + '/usr/lib'. ++ This method is not recommended because it duplicates the entire skeleton, which prevents taking advantage of the fixes or improvements brought to the default skeleton in later Buildroot releases. diff --git a/docs/manual/developers.txt b/docs/manual/developers.txt index a0a3668dbc..7058d57b20 100644 --- a/docs/manual/developers.txt +++ b/docs/manual/developers.txt @@ -6,7 +6,7 @@ The main Buildroot directory contains a file named +DEVELOPERS+ that lists the developers involved with various areas of Buildroot. Thanks -to this file, the +get-developer+ tool allows to: +to this file, the +get-developers+ tool allows to: - Calculate the list of developers to whom patches should be sent, by parsing the patches and matching the modified files with the @@ -26,20 +26,21 @@ to include in his patch the appropriate modification to the The +DEVELOPERS+ file format is documented in detail inside the file itself. -The +get-developer+ tool, located in +utils/+ allows to use +The +get-developers+ tool, located in +utils/+ allows to use the +DEVELOPERS+ file for various tasks: - When passing one or several patches as command line argument, - +get-developer+ will return the appropriate +git send-email+ - command. + +get-developers+ will return the appropriate +git send-email+ + command. If the +-e+ option is passed, only the email addresses are + printed in a format suitable for +git send-email --cc-cmd+. -- When using the +-a + command line option, +get-developer+ will +- When using the +-a + command line option, +get-developers+ will return the list of developers in charge of the given architecture. -- When using the +-p + command line option, +get-developer+ +- When using the +-p + command line option, +get-developers+ will return the list of developers in charge of the given package. -- When using the +-c+ command line option, +get-developer+ will look +- When using the +-c+ command line option, +get-developers+ will look at all files under version control in the Buildroot repository, and list the ones that are not handled by any developer. The purpose of this option is to help completing the +DEVELOPERS+ file. diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt index 9d5076047f..4eb4ba9bf0 100644 --- a/docs/manual/manual.txt +++ b/docs/manual/manual.txt @@ -12,7 +12,7 @@ It is licensed under the GNU General Public License, version 2. Refer to the http://git.buildroot.org/buildroot/tree/COPYING?id={sys:git rev-parse HEAD}[COPYING] file in the Buildroot sources for the full text of this license. -Copyright (C) 2004-2018 The Buildroot developers +Copyright (C) 2004-2019 The Buildroot developers image::logo.png[] diff --git a/docs/manual/package-make-target.txt b/docs/manual/package-make-target.txt index c91106e8e9..795c7d46de 100644 --- a/docs/manual/package-make-target.txt +++ b/docs/manual/package-make-target.txt @@ -59,14 +59,28 @@ Additionally, there are some other useful make targets: |=================================================== | command/target | Description -| +show-depends+ | Displays the dependencies required to build the +| +show-depends+ | Displays the first-order dependencies required to build the package +| +show-recursive-depends+ | Recursively displays the dependencies + required to build the package + +| +show-rdepends+ | Displays the first-order reverse dependencies of + the package (i.e packages that directly depend on it) + +| +show-recursive-rdepends+ | Recursively displays the reverse + dependencies of the package (i.e the packages that depend on it, + directly or indirectly) + | +graph-depends+ | Generate a dependency graph of the package, in the context of the current Buildroot configuration. See xref:graph-depends[this section] for more details about dependency graphs. +| +graph-rdepends+ | Generate a graph of this package reverse + dependencies (i.e the packages that depend on it, directly or + indirectly) + | +dirclean+ | Remove the whole package build directory | +reinstall+ | Re-run the install commands diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt index 66e1b88f16..dcd3fd255e 100644 --- a/docs/manual/prerequisite.txt +++ b/docs/manual/prerequisite.txt @@ -32,7 +32,7 @@ between distributions). ** +perl+ (version 5.8.7 or any later) ** +tar+ ** +cpio+ -** +python+ (version 2.6 or any later) +** +python+ (version 2.7 or any later) ** +unzip+ ** +rsync+ ** +file+ (must be in +/usr/bin/file+) diff --git a/docs/manual/using-buildroot-toolchain.txt b/docs/manual/using-buildroot-toolchain.txt index 3246dc2411..0c0c35fced 100644 --- a/docs/manual/using-buildroot-toolchain.txt +++ b/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/docs/website/association.html b/docs/website/association.html new file mode 100644 index 0000000000..0215f85874 --- /dev/null +++ b/docs/website/association.html @@ -0,0 +1,122 @@ + + +
+
+
+
+
Association
+
+ +

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

+ +

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

+ +

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

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

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

+ +

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

+
+
+ +
+
Becoming a member
+
+ +

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

+ +

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

+ +

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

+ +

There are two possibilities to pay the membership + fee:

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

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

+ +

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

+ +

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

+ +
+
+ +
+
+
+ + diff --git a/docs/website/contribute.html b/docs/website/contribute.html index 721729be3d..aa1cf93f1b 100644 --- a/docs/website/contribute.html +++ b/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/docs/website/copyright.txt b/docs/website/copyright.txt index b8ad36af99..600bf7df77 100644 --- a/docs/website/copyright.txt +++ b/docs/website/copyright.txt @@ -1,6 +1,6 @@ The code and graphics on this website (and it's mirror sites, if any) are -Copyright (c) 1999-2005 by Erik Andersen, 2006-2018 The Buildroot +Copyright (c) 1999-2005 by Erik Andersen, 2006-2019 The Buildroot developers. All rights reserved. Documents on this Web site including their graphical elements, design, and diff --git a/docs/website/download.html b/docs/website/download.html index 626b67a531..a3d69cdcd8 100644 --- a/docs/website/download.html +++ b/docs/website/download.html @@ -8,105 +8,105 @@
    Download
    -

    Latest long term support release: 2018.02.5

    +

    Latest stable / long term support release: 2019.02

    - -

    Latest stable release: 2018.08

    - - diff --git a/docs/website/footer.html b/docs/website/footer.html index 2811fc5c0e..82901b7ee6 100644 --- a/docs/website/footer.html +++ b/docs/website/footer.html @@ -1,6 +1,7 @@ - - - + + + + diff --git a/docs/website/header.html b/docs/website/header.html index ef6724f288..e1909291f6 100644 --- a/docs/website/header.html +++ b/docs/website/header.html @@ -10,12 +10,12 @@ Buildroot - Making Embedded Linux Easy - + @@ -43,6 +43,8 @@ Contribute
  • Sponsors
  • +
  • + Association
  • Download
  • diff --git a/docs/website/images/amarula-solutions-logo.png b/docs/website/images/amarula-solutions-logo.png new file mode 100644 index 0000000000..3fe4aeef81 Binary files /dev/null and b/docs/website/images/amarula-solutions-logo.png differ diff --git a/docs/website/images/bootlin-logo.png b/docs/website/images/bootlin-logo.png new file mode 100644 index 0000000000..4f918750ec Binary files /dev/null and b/docs/website/images/bootlin-logo.png differ diff --git a/docs/website/images/logilin-logo.png b/docs/website/images/logilin-logo.png new file mode 100644 index 0000000000..8e8396cf05 Binary files /dev/null and b/docs/website/images/logilin-logo.png differ diff --git a/docs/website/images/owi-smile-logo.png b/docs/website/images/owi-smile-logo.png deleted file mode 100644 index 9744ca1531..0000000000 Binary files a/docs/website/images/owi-smile-logo.png and /dev/null differ diff --git a/docs/website/images/rockwell-collins-logo.png b/docs/website/images/rockwell-collins-logo.png new file mode 100644 index 0000000000..b5956a82a7 Binary files /dev/null and b/docs/website/images/rockwell-collins-logo.png differ diff --git a/docs/website/images/scaleway-logo.png b/docs/website/images/scaleway-logo.png new file mode 100644 index 0000000000..1685914548 Binary files /dev/null and b/docs/website/images/scaleway-logo.png differ diff --git a/docs/website/images/smile-logo.png b/docs/website/images/smile-logo.png new file mode 100644 index 0000000000..7bcea3334c Binary files /dev/null and b/docs/website/images/smile-logo.png differ diff --git a/docs/website/images/tkos-logo.png b/docs/website/images/tkos-logo.png new file mode 100644 index 0000000000..6fe58826e1 Binary files /dev/null and b/docs/website/images/tkos-logo.png differ diff --git a/docs/website/images/zillabit-logo.png b/docs/website/images/zillabit-logo.png new file mode 100644 index 0000000000..6a2ac31f51 Binary files /dev/null and b/docs/website/images/zillabit-logo.png differ diff --git a/docs/website/js/buildroot.js b/docs/website/js/buildroot.js index ec28cbb750..48fafa67ac 100644 --- a/docs/website/js/buildroot.js +++ b/docs/website/js/buildroot.js @@ -1,52 +1,51 @@ function load_activity(feedurl, divid) { - var yqlURL = "https://query.yahooapis.com/v1/public/yql"; - var yqlQS = "?q=select%20entry%20from%20xml%20where%20url%20%3D%20'"; - var yqlOPTS = "'%20limit%2010&format=json&callback="; - var container = document.getElementById(divid); - var url = yqlURL + yqlQS + encodeURIComponent(feedurl) + yqlOPTS; - - $.getJSON(url, function(data){ - var result = data.query.results; - var loaded = 0; - var nb_display = 8; + let container = document.getElementById(divid); + $.ajax({ + url: "https://cors.io/?" + feedurl + }) + .done(function(data){ + let x2js = new X2JS(); + let result = x2js.xml_str2json(data); + let loaded = 0; + let nb_display = 8; if (result==null) return; - for (var i = 0; i < result.feed.length; i++) { - var entry = result.feed[i].entry; - if (entry.title.indexOf("git commit") != -1) + for (let i = 0; i < result.feed.entry.length; i++) { + let entry = result.feed.entry[i]; + if (entry.title.indexOf("git commit") !== -1) continue; loaded += 1; if (loaded > nb_display) break; - var div = document.createElement("p"); - var link = document.createElement("a"); - var d = new Date(entry.published); - var data = '[' + d.toLocaleDateString() + '] ' + entry.title - var text = document.createTextNode(data); + let div = document.createElement("p"); + let link = document.createElement("a"); + let d = new Date(entry.published); + let data = '[' + d.toLocaleDateString() + '] ' + entry.title; + let text = document.createTextNode(data); link.appendChild(text); link.title = entry.title; - link.href = entry.link.href; + link.href = entry.link._href; div.appendChild(link); container.appendChild(div); } - var empty = nb_display - loaded; - for (var i = 0; i < empty; i++) { + let empty = nb_display - loaded; + for (let i = 0; i < empty; i++) { container.appendChild(document.createElement("p")); } }); } function google_analytics() { - var _gaq = _gaq || []; + let _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-21761074-1']); _gaq.push(['_setDomainName', 'none']); _gaq.push(['_setAllowLinker', true]); _gaq.push(['_trackPageview']); - var ga = document.createElement('script'); + let ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; + ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + let s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); } @@ -55,11 +54,11 @@ function showTooltip(elem, msg) { elem.setAttribute('aria-label', msg); } -var clipboard = new Clipboard('.btn'); +let clipboard = new Clipboard('.btn'); $(function () { $('[data-toggle="tooltip"]').tooltip() -}) +}); clipboard.on('success', function(e) { e.clearSelection(); @@ -68,8 +67,8 @@ clipboard.on('success', function(e) { $(function() { $('a[href*=\\#]:not([href=\\#])').click(function() { - if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { - var target = $(this.hash); + if (location.pathname.replace(/^\//,'') === this.pathname.replace(/^\//,'') && location.hostname === this.hostname) { + let target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); if (target.length) { $('html,body').animate({ @@ -82,9 +81,9 @@ $(function() { }); jQuery(document).ready(function($) { - var url = window.location.href; + let url = window.location.href; // Get the basename of the URL - url = url.split(/[\\/]/).pop() + url = url.split(/[\\/]/).pop(); $('.nav a[href="/' + url + '"]').parent().addClass('active'); load_activity("http://buildroot-busybox.2317881.n4.nabble.com/Buildroot-busybox-ft2.xml", "mailing-list-activity"); diff --git a/docs/website/news.html b/docs/website/news.html index b46c69660f..6fe12c708a 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -9,6 +9,450 @@

    News

      +
    • +
      +
      +
      +

      2019.02 released

      +

      4 March 2019

      +
      +
      +

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

      + +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02-rc3 released

      +

      1 March 2019

      +
      +
      +

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

      + +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11.3 released

      +

      23 February 2019

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.11 released

      +

      23 February 2019

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02-rc2 released

      +

      23 February 2019

      +
      +
      +

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

      + +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2019.02-rc1 released

      +

      13 February 2019

      +
      +
      +

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

      + +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.10 released

      +

      31 January 2019

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11.2 released

      +

      30 January 2019

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.9 released

      +

      20 December 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08.4 released, 2018.08 series EOL

      +

      20 December 2018

      +
      +
      +

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

      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11.1 released

      +

      19 December 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11 released

      +

      1 December 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11-rc3 released

      +

      30 November 2018

      +
      +
      +

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

      + +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.8 released

      +

      26 November 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08.3 released

      +

      26 November 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11-rc2 released

      +

      21 November 2018

      +
      +
      +

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

      + +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.11-rc1 released

      +

      9 November 2018

      +
      +
      +

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

      + +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.7 released

      +

      25 October 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08.2 released

      +

      25 October 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.08.1 released

      +

      7 October 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.02.6 released

      +

      7 October 2018

      +
      +
      +

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

      +
      +
      +
    • + +
    • +
      +
      +
      +

      2018.05.3 released

      +

      6 October 2018

      +
      +
      +

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

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

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

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

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

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

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

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

      +

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

      +

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

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

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

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

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

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

      + +

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

      diff --git a/fs/Config.in b/fs/Config.in index c25b01c3de..527051ef54 100644 --- a/fs/Config.in +++ b/fs/Config.in @@ -1,10 +1,12 @@ menu "Filesystem images" source "fs/axfs/Config.in" +source "fs/btrfs/Config.in" source "fs/cloop/Config.in" source "fs/cpio/Config.in" source "fs/cramfs/Config.in" source "fs/ext2/Config.in" +source "fs/f2fs/Config.in" source "fs/initramfs/Config.in" source "fs/iso9660/Config.in" source "fs/jffs2/Config.in" diff --git a/fs/btrfs/Config.in b/fs/btrfs/Config.in new file mode 100644 index 0000000000..85be68e7e9 --- /dev/null +++ b/fs/btrfs/Config.in @@ -0,0 +1,50 @@ +config BR2_TARGET_ROOTFS_BTRFS + bool "btrfs root filesystem" + select BR2_PACKAGE_HOST_BTRFS_PROGS + help + Build a btrfs root filesystem. If you enable this option, you + probably want to enable the btrfs-progs package too. + +if BR2_TARGET_ROOTFS_BTRFS + +config BR2_TARGET_ROOTFS_BTRFS_LABEL + string "filesystem label" + +config BR2_TARGET_ROOTFS_BTRFS_SIZE + string "filesystem size" + default "100m" + help + The size of the filesystem image in bytes. + Suffix with k, m, g or t for power-of-two kilo-, mega-, giga- + or terabytes. + +config BR2_TARGET_ROOTFS_BTRFS_SIZE_SECTOR + string "sector size" + default "4096" + help + This value should be set to the page size in bytes. The + default value of 4096 is the the most common page size for + most systems. If the sectorsize differs from the page size, + the created filesystem may not be mountable by the kernel. + Therefore it is recommended to leave this value at + 4096. Unless you know that your kernel uses a different page + size. Suffix with k for power-of-two kilobytes. + +config BR2_TARGET_ROOTFS_BTRFS_SIZE_NODE + string "btree node size" + default "16384" + help + The tree block size in which btrfs stores metadata in bytes. + This must be a multiple of the sectorsize, but not larger + than 64KiB (65536). + Suffix with k for power-of-two kilobytes. + +config BR2_TARGET_ROOTFS_BTRFS_FEATURES + string "Filesystem Features" + help + A comma separated string of features that can be enabled + during creation time. + For a list of available options, use: + `.../host/bin/mkfs.btrfs -O list-all` + +endif # BR2_TARGET_ROOTFS_BTRFS diff --git a/fs/btrfs/btrfs.mk b/fs/btrfs/btrfs.mk new file mode 100644 index 0000000000..388516389b --- /dev/null +++ b/fs/btrfs/btrfs.mk @@ -0,0 +1,36 @@ +################################################################################ +# +# Build the btrfs root filesystem image +# +################################################################################ + +BTRFS_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE)) +ifeq ($(BR2_TARGET_ROOTFS_BTRFS)-$(BTRFS_SIZE),y-) +$(error BR2_TARGET_ROOTFS_BTRFS_SIZE cannot be empty) +endif + +BTRFS_SIZE_NODE = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE_NODE)) +BTRFS_SIZE_SECTOR = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE_SECTOR)) +BTRFS_FEATURES = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_FEATURES)) +# qstrip results in stripping consecutive spaces into a single one. So the +# variable is not qstrip-ed to preserve the integrity of the string value. +BTRFS_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_BTRFS_LABEL)) +# ") + +BTRFS_OPTS = \ + -f \ + -r '$(TARGET_DIR)' \ + -L '$(BTRFS_LABEL)' \ + --byte-count '$(BTRFS_SIZE)' \ + $(if $(BTRFS_SIZE_NODE),--nodesize '$(BTRFS_SIZE_NODE)') \ + $(if $(BTRFS_SIZE_SECTOR),--sectorsize '$(BTRFS_SIZE_SECTOR)') \ + $(if $(BTRFS_FEATURES),--features '$(BTRFS_FEATURES)') + +ROOTFS_BTRFS_DEPENDENCIES = host-btrfs-progs + +define ROOTFS_BTRFS_CMD + $(RM) -f $@ + $(HOST_DIR)/bin/mkfs.btrfs $(BTRFS_OPTS) $@ +endef + +$(eval $(rootfs)) diff --git a/fs/common.mk b/fs/common.mk index 453da6010a..b361ecce25 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -28,76 +28,43 @@ # macro will automatically generate a compressed filesystem image. FS_DIR = $(BUILD_DIR)/buildroot-fs -FULL_DEVICE_TABLE = $(FS_DIR)/device_table.txt ROOTFS_DEVICE_TABLES = $(call qstrip,$(BR2_ROOTFS_DEVICE_TABLE) \ $(BR2_ROOTFS_STATIC_DEVICE_TABLE)) -USERS_TABLE = $(FS_DIR)/users_table.txt + ROOTFS_USERS_TABLES = $(call qstrip,$(BR2_ROOTFS_USERS_TABLES)) +ROOTFS_FULL_DEVICES_TABLE = $(FS_DIR)/full_devices_table.txt +ROOTFS_FULL_USERS_TABLE = $(FS_DIR)/full_users_table.txt + ifeq ($(BR2_REPRODUCIBLE),y) define ROOTFS_REPRODUCIBLE find $(TARGET_DIR) -print0 | xargs -0 -r touch -hd @$(SOURCE_DATE_EPOCH) endef endif -ROOTFS_COMMON_TAR = $(FS_DIR)/rootfs.common.tar - -# Command to create the common tarball from the base target directory. -define ROOTFS_COMMON_TAR_CMD - tar cf $(ROOTFS_COMMON_TAR) --numeric-owner \ - --exclude=$(notdir $(TARGET_DIR_WARNING_FILE)) \ - -C $(TARGET_DIR) . -endef - -# Command to extract the common tarball into the per-rootfs target directory -define ROOTFS_COMMON_UNTAR_CMD - mkdir -p $(TARGET_DIR) - tar xf $(ROOTFS_COMMON_TAR) -C $(TARGET_DIR) -endef - -.PHONY: rootfs-common -rootfs-common: $(ROOTFS_COMMON_TAR) - -# Emulate being in a filesystem, so that we can have our own TARGET_DIR. -ROOTFS_COMMON_TARGET_DIR = $(FS_DIR)/target - ROOTFS_COMMON_DEPENDENCIES = \ host-fakeroot host-makedevs \ + $(BR2_TAR_HOST_DEPENDENCY) \ $(if $(PACKAGES_USERS)$(ROOTFS_USERS_TABLES),host-mkpasswd) -$(ROOTFS_COMMON_TAR): ROOTFS=COMMON -$(ROOTFS_COMMON_TAR): FAKEROOT_SCRIPT=$(FS_DIR)/fakeroot.fs -$(ROOTFS_COMMON_TAR): $(ROOTFS_COMMON_DEPENDENCIES) target-finalize - @$(call MESSAGE,"Generating common rootfs tarball") +.PHONY: rootfs-common +rootfs-common: $(ROOTFS_COMMON_DEPENDENCIES) target-finalize + @$(call MESSAGE,"Generating root filesystems common tables") rm -rf $(FS_DIR) mkdir -p $(FS_DIR) - rsync -auH $(BASE_TARGET_DIR)/ $(TARGET_DIR) - echo '#!/bin/sh' > $(FAKEROOT_SCRIPT) - echo "set -e" >> $(FAKEROOT_SCRIPT) - echo "chown -h -R 0:0 $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT) - $(call PRINTF,$(PACKAGES_USERS)) >> $(USERS_TABLE) + $(call PRINTF,$(PACKAGES_USERS)) >> $(ROOTFS_FULL_USERS_TABLE) ifneq ($(ROOTFS_USERS_TABLES),) - cat $(ROOTFS_USERS_TABLES) >> $(USERS_TABLE) + cat $(ROOTFS_USERS_TABLES) >> $(ROOTFS_FULL_USERS_TABLE) endif - PATH=$(BR_PATH) $(TOPDIR)/support/scripts/mkusers $(USERS_TABLE) $(TARGET_DIR) >> $(FAKEROOT_SCRIPT) + + $(call PRINTF,$(PACKAGES_PERMISSIONS_TABLE)) > $(ROOTFS_FULL_DEVICES_TABLE) ifneq ($(ROOTFS_DEVICE_TABLES),) - cat $(ROOTFS_DEVICE_TABLES) > $(FULL_DEVICE_TABLE) + cat $(ROOTFS_DEVICE_TABLES) >> $(ROOTFS_FULL_DEVICES_TABLE) +endif ifeq ($(BR2_ROOTFS_DEVICE_CREATION_STATIC),y) - $(call PRINTF,$(PACKAGES_DEVICES_TABLE)) >> $(FULL_DEVICE_TABLE) + $(call PRINTF,$(PACKAGES_DEVICES_TABLE)) >> $(ROOTFS_FULL_DEVICES_TABLE) endif -endif - $(call PRINTF,$(PACKAGES_PERMISSIONS_TABLE)) >> $(FULL_DEVICE_TABLE) - echo "$(HOST_DIR)/bin/makedevs -d $(FULL_DEVICE_TABLE) $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT) - $(foreach s,$(call qstrip,$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\ - echo "echo '$(TERM_BOLD)>>> Executing fakeroot script $(s)$(TERM_RESET)'" >> $(FAKEROOT_SCRIPT); \ - echo $(EXTRA_ENV) $(s) $(TARGET_DIR) $(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $(FAKEROOT_SCRIPT)$(sep)) - $(foreach hook,$(ROOTFS_PRE_CMD_HOOKS),\ - $(call PRINTF,$($(hook))) >> $(FAKEROOT_SCRIPT)$(sep)) - $(call PRINTF,$(ROOTFS_COMMON_TAR_CMD)) >> $(FAKEROOT_SCRIPT) - chmod a+x $(FAKEROOT_SCRIPT) - PATH=$(BR_PATH) $(HOST_DIR)/bin/fakeroot -- $(FAKEROOT_SCRIPT) - $(Q)rm -rf $(TARGET_DIR) rootfs-common-show-depends: @echo $(ROOTFS_COMMON_DEPENDENCIES) @@ -106,6 +73,8 @@ rootfs-common-show-depends: # all variable references except the arguments must be $$-quoted. define inner-rootfs +ROOTFS_$(2)_IMAGE_NAME ?= rootfs.$(1) +ROOTFS_$(2)_FINAL_IMAGE_NAME = $$(strip $$(ROOTFS_$(2)_IMAGE_NAME)) ROOTFS_$(2)_DIR = $$(FS_DIR)/$(1) ROOTFS_$(2)_TARGET_DIR = $$(ROOTFS_$(2)_DIR)/target @@ -140,21 +109,36 @@ ROOTFS_$(2)_COMPRESS_EXT = .xz ROOTFS_$(2)_COMPRESS_CMD = xz -9 -C crc32 -c endif -$$(BINARIES_DIR)/rootfs.$(1): ROOTFS=$(2) -$$(BINARIES_DIR)/rootfs.$(1): FAKEROOT_SCRIPT=$$(ROOTFS_$(2)_DIR)/fakeroot -$$(BINARIES_DIR)/rootfs.$(1): $$(ROOTFS_$(2)_DEPENDENCIES) - @$$(call MESSAGE,"Generating root filesystem image rootfs.$(1)") +$$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): ROOTFS=$(2) +$$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): FAKEROOT_SCRIPT=$$(ROOTFS_$(2)_DIR)/fakeroot +$$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES) + @$$(call MESSAGE,"Generating filesystem image $$(ROOTFS_$(2)_FINAL_IMAGE_NAME)") + mkdir -p $$(@D) rm -rf $$(ROOTFS_$(2)_DIR) mkdir -p $$(ROOTFS_$(2)_DIR) + rsync -auH \ + --exclude=/$$(notdir $$(TARGET_DIR_WARNING_FILE)) \ + $$(BASE_TARGET_DIR)/ \ + $$(TARGET_DIR) + echo '#!/bin/sh' > $$(FAKEROOT_SCRIPT) echo "set -e" >> $$(FAKEROOT_SCRIPT) - $$(call PRINTF,$$(ROOTFS_COMMON_UNTAR_CMD)) >> $$(FAKEROOT_SCRIPT) + + echo "chown -h -R 0:0 $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT) + PATH=$$(BR_PATH) $$(TOPDIR)/support/scripts/mkusers $$(ROOTFS_FULL_USERS_TABLE) $$(TARGET_DIR) >> $$(FAKEROOT_SCRIPT) + echo "$$(HOST_DIR)/bin/makedevs -d $$(ROOTFS_FULL_DEVICES_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT) + $$(foreach s,$$(call qstrip,$$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\ + echo "echo '$$(TERM_BOLD)>>> Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \ + echo $$(EXTRA_ENV) $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep)) + $$(foreach hook,$$(ROOTFS_PRE_CMD_HOOKS),\ + $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) + $$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),\ $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) $$(call PRINTF,$$(ROOTFS_REPRODUCIBLE)) >> $$(FAKEROOT_SCRIPT) $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT) chmod a+x $$(FAKEROOT_SCRIPT) - PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT) + PATH=$$(BR_PATH) FAKEROOTDONTTRYCHOWN=1 $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT) $(Q)rm -rf $$(TARGET_DIR) ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),) PATH=$$(BR_PATH) $$(ROOTFS_$(2)_COMPRESS_CMD) $$@ > $$@$$(ROOTFS_$(2)_COMPRESS_EXT) @@ -164,13 +148,13 @@ endif rootfs-$(1)-show-depends: @echo $$(ROOTFS_$(2)_DEPENDENCIES) -rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1) +rootfs-$(1): $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME) .PHONY: rootfs-$(1) rootfs-$(1)-show-depends ifeq ($$(BR2_TARGET_ROOTFS_$(2)),y) TARGETS_ROOTFS += rootfs-$(1) -PACKAGES += $$(filter-out rootfs-%,$$(ROOTFS_$(2)_DEPENDENCIES)) +PACKAGES += $$(filter-out rootfs-%,$$(ROOTFS_$(2)_DEPENDENCIES) $$(ROOTFS_COMMON_DEPENDENCIES)) endif # Check for legacy POST_TARGETS rules diff --git a/fs/f2fs/Config.in b/fs/f2fs/Config.in new file mode 100644 index 0000000000..20d70fbfa5 --- /dev/null +++ b/fs/f2fs/Config.in @@ -0,0 +1,59 @@ +config BR2_TARGET_ROOTFS_F2FS + bool "f2fs root filesystem" + select BR2_PACKAGE_HOST_F2FS_TOOLS + help + Build a f2fs root filesystem. If you enable this option, you + probably want to enable the f2fs-tools package too. + +if BR2_TARGET_ROOTFS_F2FS + +config BR2_TARGET_ROOTFS_F2FS_LABEL + string "filesystem label" + +config BR2_TARGET_ROOTFS_F2FS_SIZE + string "filesystem size" + default "100M" + help + The size of the filesystem image in bytes. + Suffix with K, M, G or T for power-of-two kilo-, mega-, giga- + or terabytes. + +config BR2_TARGET_ROOTFS_F2FS_COLD_FILES + string "extension list for cold files" + help + Specify a comma separated file extension list in order f2fs + to treat them as cold files. The default list includes most + of multimedia file extensions such as jpg, gif, mpeg, mkv, + and so on. + +config BR2_TARGET_ROOTFS_F2FS_HOT_FILES + string "extension list for hot files" + help + Specify a comma separated file extension list in order f2fs + to treat them as hot files. The default list includes only + a db extension. + +config BR2_TARGET_ROOTFS_F2FS_OVERPROVISION + int "overprovision ratio" + default 0 + help + The percentage over the volume size for overprovision + area. This area is hidden to users, and utilized by F2FS + cleaner. + + Leave at 0 for autocalculation according to the partition + size. + +config BR2_TARGET_ROOTFS_F2FS_DISCARD + bool "discard policy" + default y + help + Enable or disable discard policy. + +config BR2_TARGET_ROOTFS_F2FS_FEATURES + string "filesystem features" + help + List of features that the F2FS filesystem should support + (e.g "encrypt") + +endif # BR2_TARGET_ROOTFS_F2FS diff --git a/fs/f2fs/f2fs.mk b/fs/f2fs/f2fs.mk new file mode 100644 index 0000000000..f35bb60ad0 --- /dev/null +++ b/fs/f2fs/f2fs.mk @@ -0,0 +1,45 @@ +################################################################################ +# +# Build the f2fs root filesystem image +# +################################################################################ + +F2FS_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_SIZE)) +ifeq ($(BR2_TARGET_ROOTFS_F2FS)-$(F2FS_SIZE),y-) +$(error BR2_TARGET_ROOTFS_F2FS_SIZE cannot be empty) +endif + +# qstrip results in stripping consecutive spaces into a single one. So the +# variable is not qstrip-ed to preserve the integrity of the string value. +F2FS_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_F2FS_LABEL)) +# ") +F2FS_COLD_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_COLD_FILES)) +F2FS_HOT_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_HOT_FILES)) + +ifeq ($(BR2_TARGET_ROOTFS_F2FS_DISCARD),y) +F2FS_DISCARD = 1 +else +F2FS_DISCARD = 0 +endif + +F2FS_FEATURES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_FEATURES)) + +F2FS_OPTS = \ + -f \ + -l "$(F2FS_LABEL)" \ + -t $(F2FS_DISCARD) \ + -o $(BR2_TARGET_ROOTFS_F2FS_OVERPROVISION) \ + $(if $(F2FS_COLD_FILES),-e "$(F2FS_COLD_FILES)") \ + $(if $(F2FS_HOT_FILES),-E "$(F2FS_HOT_FILES)") \ + $(if $(F2FS_FEATURES),-O "$(F2FS_FEATURES)") + +ROOTFS_F2FS_DEPENDENCIES = host-f2fs-tools + +define ROOTFS_F2FS_CMD + $(RM) -f $@ + truncate -s $(F2FS_SIZE) $@ + $(HOST_DIR)/sbin/mkfs.f2fs $(F2FS_OPTS) $@ + $(HOST_DIR)/sbin/sload.f2fs -f $(TARGET_DIR) $@ +endef + +$(eval $(rootfs)) diff --git a/fs/tar/tar.mk b/fs/tar/tar.mk index 68149e9eb7..4c6327ace8 100644 --- a/fs/tar/tar.mk +++ b/fs/tar/tar.mk @@ -10,7 +10,7 @@ ROOTFS_TAR_DEPENDENCIES = $(BR2_TAR_HOST_DEPENDENCY) define ROOTFS_TAR_CMD (cd $(TARGET_DIR); find -print0 | LC_ALL=C sort -z | \ - tar $(TAR_OPTS) -cf $@ --null --no-recursion -T - --numeric-owner) + tar $(TAR_OPTS) -cf $@ --null --xattrs-include='*' --no-recursion -T - --numeric-owner) endef $(eval $(rootfs)) diff --git a/linux/Config.ext.in b/linux/Config.ext.in index acc8a04742..32dacbdf06 100644 --- a/linux/Config.ext.in +++ b/linux/Config.ext.in @@ -4,9 +4,11 @@ menu "Linux Kernel Extensions" # Xenomai config BR2_LINUX_KERNEL_EXT_XENOMAI bool "Adeos/Xenomai Real-time patch" - depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_TOOLCHAIN_USES_MUSL + depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS + depends on BR2_USE_MMU # xenomai + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xenomai + depends on BR2_TOOLCHAIN_HAS_THREADS # xenomai + depends on !BR2_TOOLCHAIN_USES_MUSL # xenomai select BR2_PACKAGE_XENOMAI help Xenomai is split in two parts: a kernel part and a userspace @@ -34,7 +36,9 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH and verify that your kernel version in buildroot matches. comment "xenomai needs a uClibc or glibc toolchain w/ threads" - depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS + depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL #------------------------------------------------------------------------------- diff --git a/linux/Config.in b/linux/Config.in index 69042af168..f35c9ec4d6 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -29,11 +29,13 @@ config BR2_LINUX_NEEDS_MODULES choice prompt "Kernel version" +# We are intentionally staying at 4.19 for the next Buildroot LTS +# release (2019.02) config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (4.17)" + bool "Latest version (4.19)" config BR2_LINUX_KERNEL_LATEST_CIP_VERSION - bool "Latest CIP SLTS version (v4.4.138-cip25)" + bool "Latest CIP SLTS version (v4.4.176-cip31)" help CIP launched in the spring of 2016 to address the needs of organizations in industries such as power generation and @@ -120,8 +122,8 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "4.17.19" if BR2_LINUX_KERNEL_LATEST_VERSION - default "v4.4.138-cip25" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION + default "4.19.36" if BR2_LINUX_KERNEL_LATEST_VERSION + default "v4.4.176-cip31" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL @@ -188,6 +190,14 @@ config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES A space-separated list of kernel configuration fragment files, that will be merged to the main kernel configuration file. +config BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH + string "Custom boot logo file path" + help + Use a custom Linux framebuffer boot logo. + Custom logo should be in PNG or JPEG format, it will be + converted to the linux kernel format (224 colors only) + and copied over the original logo file. + # # Binary format # @@ -247,7 +257,7 @@ config BR2_LINUX_KERNEL_SIMPLEIMAGE config BR2_LINUX_KERNEL_IMAGE bool "Image" - depends on BR2_aarch64 + depends on BR2_aarch64 || BR2_riscv config BR2_LINUX_KERNEL_LINUX_BIN bool "linux.bin" @@ -384,6 +394,14 @@ config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH You can provide a list of dts paths to copy and build, separated by spaces. +config BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT + bool "Build Device Tree with overlay support" + help + If enabled, pass the "-@" option to dtc, such that + symbols are generated in the compiled Device Tree. + Choose this option to support Device Tree overlays + on the target system. + endif config BR2_LINUX_KERNEL_INSTALL_TARGET diff --git a/linux/linux.hash b/linux/linux.hash new file mode 100644 index 0000000000..76cc547206 --- /dev/null +++ b/linux/linux.hash @@ -0,0 +1,6 @@ +# From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc +sha256 d011245629b980d4c15febf080b54804aaf215167b514a3577feddb2495f8a3e linux-4.20.17.tar.xz +sha256 b808b508177f9d288d94a3b9df7b01d5eac9fcc1804a794c913b2144de63f2bc linux-4.19.36.tar.xz +sha256 b24df2e37faaf2290999c507f9e29de98494f52429bcd35513c5b3e52eaddac2 linux-4.14.113.tar.xz +sha256 33887b40fc8e0b71f423bb7afe112a4ae190378145f4a3f3892c563b7e43131d linux-4.9.170.tar.xz +sha256 c3598c22b7994b3bebc3059e8ab85bc212c53550eb401baab3f29f8d007a043d linux-4.4.178.tar.xz diff --git a/linux/linux.mk b/linux/linux.mk index 675e7906a8..51fd41fa15 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -30,22 +30,17 @@ else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_SVN),y) LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) LINUX_SITE_METHOD = svn else ifeq ($(BR2_LINUX_KERNEL_LATEST_CIP_VERSION),y) -LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/bwh/linux-cip.git +LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git else ifneq ($(findstring -rc,$(LINUX_VERSION)),) # Since 4.12-rc1, -rc kernels are generated from cgit. This also works for # older -rc kernels. LINUX_SITE = https://git.kernel.org/torvalds/t else LINUX_SOURCE = linux-$(LINUX_VERSION).tar.xz -# 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. ifeq ($(findstring x2.6.,x$(LINUX_VERSION)),x2.6.) LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v2.6 -else ifeq ($(findstring x3.,x$(LINUX_VERSION)),x3.) -LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v3.x -else ifeq ($(findstring x4.,x$(LINUX_VERSION)),x4.) -LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v4.x +else +LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v$(firstword $(subst ., ,$(LINUX_VERSION))).x endif endif @@ -55,12 +50,19 @@ endif LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH)) +# We have no way to know the hashes for user-supplied patches. +BR_NO_CHECK_HASH_FOR += $(notdir $(LINUX_PATCHES)) + # We rely on the generic package infrastructure to download and apply # remote patches (downloaded from ftp, http or https). For local # patches, we can't rely on that infrastructure, because there might # be directories in the patch list (unlike for other packages). LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES)) +LINUX_MAKE_ENV = \ + $(TARGET_MAKE_ENV) \ + BR_BINARIES_DIR=$(BINARIES_DIR) + LINUX_INSTALL_IMAGES = YES LINUX_DEPENDENCIES = host-kmod @@ -97,7 +99,13 @@ LINUX_DEPENDENCIES += host-openssl endif ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y) -LINUX_DEPENDENCIES += host-elfutils +LINUX_DEPENDENCIES += host-elfutils host-pkgconf +LINUX_MAKE_ENV += \ + PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + PKG_CONFIG_SYSROOT_DIR="/" \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ + PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ + PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig" endif # If host-uboot-tools is selected by the user, assume it is needed to @@ -121,10 +129,6 @@ LINUX_MAKE_FLAGS = \ CROSS_COMPILE="$(TARGET_CROSS)" \ DEPMOD=$(HOST_DIR)/sbin/depmod -LINUX_MAKE_ENV = \ - $(TARGET_MAKE_ENV) \ - BR_BINARIES_DIR=$(BINARIES_DIR) - ifeq ($(BR2_REPRODUCIBLE),y) LINUX_MAKE_ENV += \ KBUILD_BUILD_VERSION=1 \ @@ -143,6 +147,10 @@ ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y) LINUX_MAKE_ENV += KCFLAGS=-Wno-attribute-alias endif +ifeq ($(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT),y) +LINUX_MAKE_ENV += DTC_FLAGS=-@ +endif + # Get the real Linux version, which tells us where kernel modules are # going to be installed in the target filesystem. LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null` @@ -248,6 +256,17 @@ define LINUX_TRY_PATCH_TIMECONST endef LINUX_POST_PATCH_HOOKS += LINUX_TRY_PATCH_TIMECONST +LINUX_KERNEL_CUSTOM_LOGO_PATH = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH)) +ifneq ($(LINUX_KERNEL_CUSTOM_LOGO_PATH),) +LINUX_DEPENDENCIES += host-imagemagick +define LINUX_KERNEL_CUSTOM_LOGO_CONVERT + $(HOST_DIR)/bin/convert $(LINUX_KERNEL_CUSTOM_LOGO_PATH) \ + -dither None -colors 224 -compress none \ + $(LINUX_DIR)/drivers/video/logo/logo_linux_clut224.ppm +endef +LINUX_PRE_BUILD_HOOKS += LINUX_KERNEL_CUSTOM_LOGO_CONVERT +endif + ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y) LINUX_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig else ifeq ($(BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG),y) @@ -258,13 +277,16 @@ endif LINUX_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES)) LINUX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig -# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find our -# host-openssl and host-libelf. However, this triggers a bug in the kconfig -# build script that causes it to build with /usr/include/ncurses.h (which is -# typically wchar) but link with $(HOST_DIR)/lib/libncurses.so (which is not). -# We don't actually need any host-package for kconfig, so remove the HOSTCC -# override again. -LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC)" +# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find +# our host-openssl and host-libelf. However, this triggers a bug in +# the kconfig build script that causes it to build with +# /usr/include/ncurses.h (which is typically wchar) but link with +# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually +# need any host-package for kconfig, so remove the HOSTCC override +# again. In addition, even though linux depends on the toolchain and +# therefore host-ccache would be ready, we use HOSTCC_NOCCACHE for +# consistency with other kconfig packages. +LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC_NOCCACHE)" # If no package has yet set it, set it from the Kconfig option LINUX_NEEDS_MODULES ?= $(BR2_LINUX_NEEDS_MODULES) @@ -300,6 +322,7 @@ define LINUX_KCONFIG_FIXUP_CMDS # replaced later by the real cpio archive, and the kernel will be # rebuilt using the linux-rebuild-with-initramfs target. $(if $(BR2_TARGET_ROOTFS_INITRAMFS), + mkdir -p $(BINARIES_DIR) touch $(BINARIES_DIR)/rootfs.cpio $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio",$(@D)/.config) $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0,$(@D)/.config) @@ -309,6 +332,12 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config)) $(if $(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV), $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config)) + $(if $(BR2_PACKAGE_AUDIT), + $(call KCONFIG_ENABLE_OPT,CONFIG_NET,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_AUDIT,$(@D)/.config)) + $(if $(BR2_PACKAGE_INTEL_MICROCODE), + $(call KCONFIG_ENABLE_OPT,CONFIG_MICROCODE,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_MICROCODE_INTEL,$(@D)/.config)) $(if $(BR2_PACKAGE_KTAP), $(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_ENABLE_DEFAULT_TRACERS,$(@D)/.config) @@ -316,6 +345,8 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config)) $(if $(BR2_PACKAGE_LINUX_TOOLS_PERF), $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config)) + $(if $(BR2_PACKAGE_PCM_TOOLS), + $(call KCONFIG_ENABLE_OPT,CONFIG_X86_MSR,$(@D)/.config)) $(if $(BR2_PACKAGE_SYSTEMD), $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config) @@ -349,6 +380,10 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config)) $(if $(BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV), $(call KCONFIG_DISABLE_OPT,CONFIG_MXC_GPU_VIV,$(@D)/.config)) + $(if $(LINUX_KERNEL_CUSTOM_LOGO_PATH), + $(call KCONFIG_ENABLE_OPT,CONFIG_FB,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_LOGO,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_LOGO_LINUX_CLUT224,$(@D)/.config)) endef ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y) @@ -404,15 +439,16 @@ endif endif # Compilation. We make sure the kernel gets rebuilt when the -# configuration has changed. +# configuration has changed. We call the 'all' and +# '$(LINUX_TARGET_NAME)' targets separately because calling them in +# the same $(MAKE) invocation has shown to cause parallel build +# issues. define LINUX_BUILD_CMDS $(foreach dts,$(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)), \ cp -f $(dts) $(LINUX_ARCH_PATH)/boot/dts/ ) + $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) all $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME) - @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ - $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \ - fi $(LINUX_BUILD_DTB) $(LINUX_APPEND_DTB) endef @@ -443,9 +479,7 @@ define LINUX_INSTALL_HOST_TOOLS # Installing dtc (device tree compiler) as host tool, if selected if grep -q "CONFIG_DTC=y" $(@D)/.config; then \ $(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/bin/linux-dtc ; \ - if [ ! -e $(HOST_DIR)/bin/dtc ]; then \ - ln -sf linux-dtc $(HOST_DIR)/bin/dtc ; \ - fi \ + $(if $(BR2_PACKAGE_HOST_DTC),,ln -sf linux-dtc $(HOST_DIR)/bin/dtc;) \ fi endef diff --git a/package/Config.in b/package/Config.in index b26f79c9e2..93d5b0d09d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -49,7 +49,6 @@ menu "Audio and video applications" source "package/sox/Config.in" source "package/streameye/Config.in" source "package/squeezelite/Config.in" - source "package/tidsp-binaries/Config.in" source "package/tovid/Config.in" source "package/tstools/Config.in" source "package/twolame/Config.in" @@ -85,6 +84,7 @@ menu "Debugging, profiling and benchmark" source "package/blktrace/Config.in" source "package/bonnie/Config.in" source "package/cache-calibrator/Config.in" + source "package/clinfo/Config.in" source "package/dhrystone/Config.in" source "package/dieharder/Config.in" source "package/dmalloc/Config.in" @@ -117,6 +117,7 @@ menu "Debugging, profiling and benchmark" source "package/nmon/Config.in" source "package/oprofile/Config.in" source "package/pax-utils/Config.in" + source "package/pcm-tools/Config.in" source "package/pv/Config.in" source "package/racehound/Config.in" source "package/ramsmp/Config.in" @@ -134,6 +135,7 @@ menu "Debugging, profiling and benchmark" source "package/trinity/Config.in" source "package/uclibc-ng-test/Config.in" source "package/valgrind/Config.in" + source "package/vmtouch/Config.in" source "package/whetstone/Config.in" endmenu @@ -144,6 +146,7 @@ menu "Development tools" source "package/check/Config.in" source "package/cmake/Config.in" source "package/cppunit/Config.in" + source "package/cunit/Config.in" source "package/cvs/Config.in" source "package/cxxtest/Config.in" source "package/diffutils/Config.in" @@ -262,7 +265,6 @@ endmenu menu "Graphic libraries and applications (graphic/text)" comment "Graphic applications" - source "package/expedite/Config.in" source "package/fswebcam/Config.in" source "package/ghostscript/Config.in" source "package/glmark2/Config.in" @@ -271,6 +273,7 @@ comment "Graphic applications" source "package/kmscube/Config.in" source "package/libva-utils/Config.in" source "package/mesa3d-demos/Config.in" + source "package/netsurf/Config.in" source "package/pngquant/Config.in" source "package/qt5cinex/Config.in" source "package/rrdtool/Config.in" @@ -311,16 +314,14 @@ comment "Graphic libraries" source "package/tk/Config.in" comment "Other GUIs" - source "package/qt/Config.in" source "package/qt5/Config.in" source "package/kf5/Config.in" -if BR2_PACKAGE_QT || BR2_PACKAGE_QT5 +if BR2_PACKAGE_QT5 comment "QT libraries and helper libraries" source "package/cutelyst/Config.in" source "package/grantlee/Config.in" source "package/qextserialport/Config.in" source "package/qjson/Config.in" - source "package/qtuio/Config.in" source "package/quazip/Config.in" source "package/qwt/Config.in" endif @@ -491,6 +492,7 @@ endmenu source "package/pdbg/Config.in" source "package/picocom/Config.in" source "package/pifmrds/Config.in" + source "package/pigpio/Config.in" source "package/powertop/Config.in" source "package/pps-tools/Config.in" source "package/pru-software-support/Config.in" @@ -500,6 +502,7 @@ endmenu source "package/rpi-armmem/Config.in" source "package/rpi-userland/Config.in" source "package/rs485conf/Config.in" + source "package/rtc-tools/Config.in" source "package/rtl8188eu/Config.in" source "package/rtl8189fs/Config.in" source "package/rtl8723bs/Config.in" @@ -507,6 +510,7 @@ endmenu source "package/rtl8821au/Config.in" source "package/sane-backends/Config.in" source "package/sdparm/Config.in" + source "package/sedutil/Config.in" source "package/setserial/Config.in" source "package/sg3_utils/Config.in" source "package/sigrok-cli/Config.in" @@ -554,6 +558,7 @@ menu "Interpreter languages and scripting" source "package/erlang/Config.in" if BR2_PACKAGE_ERLANG menu "Erlang libraries/modules" + source "package/erlang-eimp/Config.in" source "package/erlang-goldrush/Config.in" source "package/erlang-jiffy/Config.in" source "package/erlang-lager/Config.in" @@ -622,11 +627,12 @@ menu "Lua libraries/modules" source "package/lua-msgpack-native/Config.in" source "package/lua-periphery/Config.in" source "package/lua-sdl2/Config.in" + source "package/lua-std-debug/Config.in" + source "package/lua-std-normalize/Config.in" source "package/lua-stdlib/Config.in" source "package/lua-testmore/Config.in" source "package/lua-utf8/Config.in" source "package/luabitop/Config.in" - source "package/luacrypto/Config.in" source "package/luadbi/Config.in" source "package/luadbi-sqlite3/Config.in" source "package/luaexpat/Config.in" @@ -669,31 +675,62 @@ endif source "package/perl/Config.in" if BR2_PACKAGE_PERL menu "Perl libraries/modules" + source "package/perl-apache-logformat-compiler/Config.in" + source "package/perl-appconfig/Config.in" + source "package/perl-astro-suntime/Config.in" + source "package/perl-class-inspector/Config.in" + source "package/perl-class-load/Config.in" + source "package/perl-class-method-modifiers/Config.in" + source "package/perl-class-std/Config.in" + source "package/perl-class-std-fast/Config.in" source "package/perl-convert-asn1/Config.in" + source "package/perl-cookie-baker/Config.in" source "package/perl-crypt-blowfish/Config.in" source "package/perl-crypt-cbc/Config.in" source "package/perl-crypt-openssl-random/Config.in" source "package/perl-crypt-openssl-rsa/Config.in" + source "package/perl-data-dump/Config.in" + source "package/perl-data-optlist/Config.in" + source "package/perl-data-uuid/Config.in" + source "package/perl-date-manip/Config.in" source "package/perl-datetime-tiny/Config.in" + source "package/perl-dbd-mysql/Config.in" + source "package/perl-dbi/Config.in" + source "package/perl-devel-globaldestruction/Config.in" + source "package/perl-devel-stacktrace/Config.in" + source "package/perl-devel-stacktrace-ashtml/Config.in" + source "package/perl-device-serialport/Config.in" source "package/perl-digest-hmac/Config.in" source "package/perl-digest-md5/Config.in" source "package/perl-digest-sha1/Config.in" + source "package/perl-dist-checkconflicts/Config.in" source "package/perl-encode-detect/Config.in" source "package/perl-encode-locale/Config.in" + source "package/perl-exporter-tiny/Config.in" source "package/perl-file-listing/Config.in" + source "package/perl-file-sharedir/Config.in" + source "package/perl-file-slurp/Config.in" source "package/perl-file-util/Config.in" + source "package/perl-filesys-notify-simple/Config.in" source "package/perl-gd/Config.in" source "package/perl-gdgraph/Config.in" source "package/perl-gdtextutil/Config.in" + source "package/perl-hash-multivalue/Config.in" source "package/perl-html-parser/Config.in" source "package/perl-html-tagset/Config.in" source "package/perl-http-cookies/Config.in" source "package/perl-http-daemon/Config.in" source "package/perl-http-date/Config.in" + source "package/perl-http-entity-parser/Config.in" + source "package/perl-http-headers-fast/Config.in" source "package/perl-http-message/Config.in" + source "package/perl-http-multipartparser/Config.in" source "package/perl-http-negotiate/Config.in" source "package/perl-io-html/Config.in" + source "package/perl-io-interface/Config.in" + source "package/perl-io-socket-multicast/Config.in" source "package/perl-io-socket-ssl/Config.in" + source "package/perl-json-maybexs/Config.in" source "package/perl-json-tiny/Config.in" source "package/perl-libwww-perl/Config.in" source "package/perl-lwp-mediatypes/Config.in" @@ -701,8 +738,12 @@ menu "Perl libraries/modules" source "package/perl-mailtools/Config.in" source "package/perl-mime-base64-urlsafe/Config.in" source "package/perl-mime-base64/Config.in" + source "package/perl-mime-tools/Config.in" + source "package/perl-module-implementation/Config.in" + source "package/perl-module-runtime/Config.in" source "package/perl-mojolicious-plugin-authentication/Config.in" source "package/perl-mojolicious/Config.in" + source "package/perl-moo/Config.in" source "package/perl-net-dns/Config.in" source "package/perl-net-http/Config.in" source "package/perl-net-ping/Config.in" @@ -711,12 +752,28 @@ menu "Perl libraries/modules" source "package/perl-net-ssleay/Config.in" source "package/perl-net-telnet/Config.in" source "package/perl-netaddr-ip/Config.in" + source "package/perl-number-bytes-human/Config.in" + source "package/perl-package-stash/Config.in" + source "package/perl-params-util/Config.in" source "package/perl-path-tiny/Config.in" - source "package/perl-time-hires/Config.in" + source "package/perl-plack/Config.in" + source "package/perl-posix-strftime-compiler/Config.in" + source "package/perl-role-tiny/Config.in" + source "package/perl-stream-buffered/Config.in" + source "package/perl-sub-exporter-progressive/Config.in" + source "package/perl-sub-quote/Config.in" + source "package/perl-sub-install/Config.in" + source "package/perl-sys-cpu/Config.in" + source "package/perl-sys-meminfo/Config.in" + source "package/perl-sys-mmap/Config.in" + source "package/perl-time-parsedate/Config.in" source "package/perl-timedate/Config.in" source "package/perl-try-tiny/Config.in" + source "package/perl-type-tiny/Config.in" source "package/perl-uri/Config.in" + source "package/perl-www-form-urlencoded/Config.in" source "package/perl-www-robotrules/Config.in" + source "package/perl-x10/Config.in" source "package/perl-xml-libxml/Config.in" source "package/perl-xml-namespacesupport/Config.in" source "package/perl-xml-sax/Config.in" @@ -746,9 +803,17 @@ endif if BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 menu "External python modules" source "package/python-aiocoap/Config.in" + source "package/python-aiodns/Config.in" source "package/python-aiohttp/Config.in" source "package/python-aiohttp-apispec/Config.in" + source "package/python-aiohttp-jinja2/Config.in" + source "package/python-aiohttp-remotes/Config.in" + source "package/python-aiohttp-security/Config.in" + source "package/python-aiohttp-session/Config.in" + source "package/python-aiohttp-sse/Config.in" source "package/python-aiohttp-swagger/Config.in" + source "package/python-aiorwlock/Config.in" + source "package/python-aiojobs/Config.in" source "package/python-alsaaudio/Config.in" source "package/python-apispec/Config.in" source "package/python-argh/Config.in" @@ -769,6 +834,7 @@ menu "External python modules" source "package/python-cached-property/Config.in" source "package/python-can/Config.in" source "package/python-cbor/Config.in" + source "package/python-cchardet/Config.in" source "package/python-certifi/Config.in" source "package/python-cffi/Config.in" source "package/python-characteristic/Config.in" @@ -810,6 +876,8 @@ menu "External python modules" source "package/python-engineio/Config.in" source "package/python-enum/Config.in" source "package/python-enum34/Config.in" + source "package/python-falcon/Config.in" + source "package/python-fire/Config.in" source "package/python-flask/Config.in" source "package/python-flask-cors/Config.in" source "package/python-flask-babel/Config.in" @@ -864,6 +932,7 @@ menu "External python modules" source "package/python-marshmallow-peewee/Config.in" source "package/python-mbstrdecoder/Config.in" source "package/python-meld3/Config.in" + source "package/python-mimeparse/Config.in" source "package/python-mistune/Config.in" source "package/python-mock/Config.in" source "package/python-more-itertools/Config.in" @@ -883,6 +952,7 @@ menu "External python modules" source "package/python-paho-mqtt/Config.in" source "package/python-pam/Config.in" source "package/python-paramiko/Config.in" + source "package/python-passlib/Config.in" source "package/python-pathlib2/Config.in" source "package/python-pathpy/Config.in" source "package/python-pathtools/Config.in" @@ -891,9 +961,12 @@ menu "External python modules" source "package/python-peewee/Config.in" source "package/python-peewee-migrate/Config.in" source "package/python-pexpect/Config.in" - source "package/python-pickleshare/Config.in" source "package/python-picamera/Config.in" + source "package/python-pickleshare/Config.in" + source "package/python-pigpio/Config.in" source "package/python-pillow/Config.in" + source "package/python-pip/Config.in" + source "package/python-ply/Config.in" source "package/python-portend/Config.in" source "package/python-posix-ipc/Config.in" source "package/python-priority/Config.in" @@ -903,17 +976,23 @@ menu "External python modules" source "package/python-psycopg2/Config.in" source "package/python-ptyprocess/Config.in" source "package/python-pudb/Config.in" + source "package/python-py/Config.in" source "package/python-pyasn/Config.in" source "package/python-pyasn-modules/Config.in" + source "package/python-pyasn1/Config.in" + source "package/python-pyasn1-modules/Config.in" + source "package/python-pycares/Config.in" source "package/python-pycli/Config.in" source "package/python-pycparser/Config.in" source "package/python-pycrypto/Config.in" + source "package/python-pycryptodomex/Config.in" source "package/python-pycurl/Config.in" source "package/python-pydal/Config.in" source "package/python-pyelftools/Config.in" source "package/python-pyftpdlib/Config.in" source "package/python-pygame/Config.in" source "package/python-pygments/Config.in" + source "package/python-pyhamcrest/Config.in" source "package/python-pyicu/Config.in" source "package/python-pyinotify/Config.in" source "package/python-pyjwt/Config.in" @@ -928,13 +1007,13 @@ menu "External python modules" source "package/python-pyparted/Config.in" source "package/python-pypcap/Config.in" source "package/python-pyqrcode/Config.in" - source "package/python-pyqt/Config.in" source "package/python-pyqt5/Config.in" source "package/python-pyratemp/Config.in" source "package/python-pyro/Config.in" source "package/python-pyroute2/Config.in" source "package/python-pysendfile/Config.in" source "package/python-pysmb/Config.in" + source "package/python-pysmi/Config.in" source "package/python-pysnmp/Config.in" source "package/python-pysnmp-apps/Config.in" source "package/python-pysnmp-mibs/Config.in" @@ -960,12 +1039,16 @@ menu "External python modules" source "package/python-rq/Config.in" source "package/python-rtslib-fb/Config.in" source "package/python-scandir/Config.in" + source "package/python-scapy/Config.in" source "package/python-scapy3k/Config.in" source "package/python-schedule/Config.in" source "package/python-sdnotify/Config.in" source "package/python-secretstorage/Config.in" source "package/python-see/Config.in" + source "package/python-semver/Config.in" + source "package/python-sentry-sdk/Config.in" source "package/python-serial/Config.in" + source "package/python-serial-asyncio/Config.in" source "package/python-service-identity/Config.in" source "package/python-setproctitle/Config.in" source "package/python-setuptools/Config.in" @@ -999,12 +1082,14 @@ menu "External python modules" source "package/python-txaio/Config.in" source "package/python-txtorcon/Config.in" source "package/python-typepy/Config.in" + source "package/python-typing/Config.in" source "package/python-typing-extensions/Config.in" source "package/python-u-msgpack/Config.in" source "package/python-ubjson/Config.in" source "package/python-ujson/Config.in" source "package/python-urllib3/Config.in" source "package/python-urwid/Config.in" + source "package/python-uvloop/Config.in" source "package/python-validators/Config.in" source "package/python-versiontools/Config.in" source "package/python-visitor/Config.in" @@ -1018,8 +1103,10 @@ menu "External python modules" source "package/python-websockets/Config.in" source "package/python-werkzeug/Config.in" source "package/python-whoosh/Config.in" + source "package/python-wrapt/Config.in" source "package/python-ws4py/Config.in" source "package/python-wsaccel/Config.in" + source "package/python-wtforms/Config.in" source "package/python-xlib/Config.in" source "package/python-xlrd/Config.in" source "package/python-xlsxwriter/Config.in" @@ -1028,6 +1115,7 @@ menu "External python modules" source "package/python-xmltodict/Config.in" source "package/python-yarl/Config.in" source "package/python-yieldfrom/Config.in" + source "package/python-zeroconf/Config.in" source "package/python-zope-interface/Config.in" endmenu endif @@ -1085,6 +1173,7 @@ menu "Audio/Sound" source "package/opusfile/Config.in" source "package/portaudio/Config.in" source "package/sbc/Config.in" + source "package/spandsp/Config.in" source "package/speex/Config.in" source "package/speexdsp/Config.in" source "package/taglib/Config.in" @@ -1181,6 +1270,7 @@ menu "Graphics" source "package/cairomm/Config.in" source "package/chipmunk/Config.in" source "package/exiv2/Config.in" + source "package/exempi/Config.in" source "package/fltk/Config.in" source "package/fontconfig/Config.in" source "package/freetype/Config.in" @@ -1195,6 +1285,7 @@ menu "Graphics" source "package/harfbuzz/Config.in" source "package/ijs/Config.in" source "package/imlib2/Config.in" + source "package/intel-gmmlib/Config.in" source "package/irrlicht/Config.in" source "package/jasper/Config.in" source "package/jpeg/Config.in" @@ -1247,6 +1338,7 @@ menu "Graphics" source "package/poppler/Config.in" source "package/powervr/Config.in" source "package/tiff/Config.in" + source "package/waffle/Config.in" source "package/wayland/Config.in" source "package/wayland-protocols/Config.in" source "package/waylandpp/Config.in" @@ -1321,6 +1413,7 @@ menu "External AngularJS plugins" endmenu endif source "package/bootstrap/Config.in" + source "package/duktape/Config.in" source "package/explorercanvas/Config.in" source "package/flot/Config.in" source "package/jquery/Config.in" @@ -1430,6 +1523,7 @@ menu "Networking" source "package/azmq/Config.in" source "package/azure-iot-sdk-c/Config.in" source "package/batman-adv/Config.in" + source "package/bluez5_utils-headers/Config.in" source "package/c-ares/Config.in" source "package/canfestival/Config.in" source "package/cgic/Config.in" @@ -1437,12 +1531,14 @@ menu "Networking" source "package/curlpp/Config.in" source "package/czmq/Config.in" source "package/daq/Config.in" + source "package/davici/Config.in" source "package/filemq/Config.in" source "package/flickcurl/Config.in" source "package/fmlib/Config.in" source "package/freeradius-client/Config.in" source "package/geoip/Config.in" source "package/glib-networking/Config.in" + source "package/grpc/Config.in" source "package/gssdp/Config.in" source "package/gupnp/Config.in" source "package/gupnp-av/Config.in" @@ -1487,6 +1583,7 @@ menu "Networking" source "package/liboauth/Config.in" source "package/liboping/Config.in" source "package/libosip2/Config.in" + source "package/libpagekite/Config.in" source "package/libpcap/Config.in" source "package/libpjsip/Config.in" source "package/librsync/Config.in" @@ -1498,6 +1595,7 @@ menu "Networking" source "package/libstrophe/Config.in" source "package/libtirpc/Config.in" source "package/libtorrent/Config.in" + source "package/libtorrent-rasterbar/Config.in" source "package/libupnp/Config.in" source "package/libupnp18/Config.in" source "package/libupnpp/Config.in" @@ -1512,6 +1610,7 @@ menu "Networking" source "package/nghttp2/Config.in" source "package/norm/Config.in" source "package/nss-mdns/Config.in" + source "package/nss-myhostname/Config.in" source "package/nss-pam-ldapd/Config.in" source "package/omniorb/Config.in" source "package/openldap/Config.in" @@ -1530,6 +1629,7 @@ menu "Networking" source "package/thrift/Config.in" source "package/usbredir/Config.in" source "package/wampcc/Config.in" + source "package/websocketpp/Config.in" source "package/zeromq/Config.in" source "package/zmqpp/Config.in" source "package/zyre/Config.in" @@ -1555,6 +1655,7 @@ menu "Other" source "package/ding-libs/Config.in" source "package/eigen/Config.in" source "package/elfutils/Config.in" + source "package/ell/Config.in" source "package/fftw/Config.in" source "package/flann/Config.in" source "package/flatbuffers/Config.in" @@ -1575,11 +1676,14 @@ menu "Other" source "package/libcap/Config.in" source "package/libcap-ng/Config.in" source "package/libcgroup/Config.in" + source "package/libclc/Config.in" source "package/libcofi/Config.in" + source "package/libcorrect/Config.in" source "package/libcroco/Config.in" source "package/libcrossguid/Config.in" source "package/libcsv/Config.in" source "package/libdaemon/Config.in" + source "package/libeastl/Config.in" source "package/libee/Config.in" source "package/libev/Config.in" source "package/libevdev/Config.in" @@ -1645,6 +1749,7 @@ endif source "package/tinycbor/Config.in" source "package/tz/Config.in" source "package/tzdata/Config.in" + source "package/xapian/Config.in" endmenu menu "Security" @@ -1733,12 +1838,14 @@ menu "Networking applications" source "package/batctl/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" + source "package/bird/Config.in" source "package/bluez-tools/Config.in" source "package/bluez_utils/Config.in" source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" source "package/boa/Config.in" source "package/boinc/Config.in" + source "package/brcm-patchram-plus/Config.in" source "package/bridge-utils/Config.in" source "package/bwm-ng/Config.in" source "package/c-icap/Config.in" @@ -1768,6 +1875,7 @@ menu "Networking applications" source "package/ejabberd/Config.in" source "package/ethtool/Config.in" source "package/faifa/Config.in" + source "package/fail2ban/Config.in" source "package/fastd/Config.in" source "package/fcgiwrap/Config.in" source "package/flannel/Config.in" @@ -1775,11 +1883,13 @@ menu "Networking applications" source "package/fping/Config.in" source "package/freeswitch/Config.in" source "package/freeswitch-mod-bcg729/Config.in" + source "package/gerbera/Config.in" source "package/gesftpserver/Config.in" source "package/glorytun/Config.in" source "package/gupnp-tools/Config.in" source "package/gutenprint/Config.in" source "package/hans/Config.in" + source "package/haproxy/Config.in" source "package/hiawatha/Config.in" source "package/hostapd/Config.in" source "package/hplip/Config.in" @@ -1807,6 +1917,7 @@ menu "Networking applications" source "package/iputils/Config.in" source "package/irssi/Config.in" source "package/iw/Config.in" + source "package/iwd/Config.in" source "package/janus-gateway/Config.in" source "package/keepalived/Config.in" source "package/kismet/Config.in" @@ -1826,6 +1937,7 @@ menu "Networking applications" source "package/macchanger/Config.in" source "package/memcached/Config.in" source "package/mii-diag/Config.in" + source "package/mini-snmpd/Config.in" source "package/minidlna/Config.in" source "package/minissdpd/Config.in" source "package/mjpg-streamer/Config.in" @@ -1871,6 +1983,7 @@ endif source "package/open-plc-utils/Config.in" source "package/openntpd/Config.in" source "package/openobex/Config.in" + source "package/openresolv/Config.in" source "package/openssh/Config.in" source "package/openswan/Config.in" source "package/openvpn/Config.in" @@ -1930,7 +2043,6 @@ endif source "package/thttpd/Config.in" source "package/tinc/Config.in" source "package/tinyhttpd/Config.in" - source "package/tn5250/Config.in" source "package/tor/Config.in" source "package/traceroute/Config.in" source "package/transmission/Config.in" @@ -2024,6 +2136,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" @@ -2036,7 +2149,6 @@ menu "System tools" source "package/atop/Config.in" source "package/attr/Config.in" source "package/audit/Config.in" - source "package/bootutils/Config.in" source "package/cgroupfs-mount/Config.in" source "package/circus/Config.in" source "package/coreutils/Config.in" @@ -2046,11 +2158,11 @@ menu "System tools" source "package/dcron/Config.in" source "package/ddrescue/Config.in" source "package/debianutils/Config.in" + source "package/docker-cli/Config.in" source "package/docker-compose/Config.in" source "package/docker-containerd/Config.in" source "package/docker-engine/Config.in" source "package/docker-proxy/Config.in" - source "package/dsp-tools/Config.in" source "package/efibootmgr/Config.in" source "package/efivar/Config.in" source "package/emlog/Config.in" @@ -2072,6 +2184,7 @@ menu "System tools" source "package/numactl/Config.in" source "package/nut/Config.in" source "package/openvmtools/Config.in" + source "package/pamtester/Config.in" source "package/polkit/Config.in" source "package/powerpc-utils/Config.in" source "package/procps-ng/Config.in" diff --git a/package/Config.in.host b/package/Config.in.host index ef1cdbfb25..750fb1d279 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -2,9 +2,11 @@ menu "Host utilities" source "package/aespipe/Config.in.host" source "package/android-tools/Config.in.host" + source "package/btrfs-progs/Config.in.host" source "package/cargo/Config.in.host" source "package/cbootimage/Config.in.host" source "package/checkpolicy/Config.in.host" + source "package/checksec/Config.in.host" source "package/cmake/Config.in.host" source "package/cramfs/Config.in.host" source "package/cryptsetup/Config.in.host" @@ -14,6 +16,7 @@ menu "Host utilities" source "package/dtc/Config.in.host" source "package/e2fsprogs/Config.in.host" source "package/e2tools/Config.in.host" + source "package/f2fs-tools/Config.in.host" source "package/faketime/Config.in.host" source "package/fwup/Config.in.host" source "package/genext2fs/Config.in.host" @@ -51,15 +54,18 @@ menu "Host utilities" source "package/qemu/Config.in.host" source "package/raspberrypi-usbboot/Config.in.host" source "package/rauc/Config.in.host" + source "package/rcw/Config.in.host" source "package/rustc/Config.in.host" source "package/s6-rc/Config.in.host" source "package/sam-ba/Config.in.host" source "package/squashfs/Config.in.host" source "package/sunxi-tools/Config.in.host" + source "package/swig/Config.in.host" source "package/tegrarcm/Config.in.host" source "package/ti-cgt-pru/Config.in.host" source "package/uboot-tools/Config.in.host" source "package/util-linux/Config.in.host" + source "package/utp_com/Config.in.host" source "package/vboot-utils/Config.in.host" source "package/xorriso/Config.in.host" source "package/zip/Config.in.host" diff --git a/package/Makefile.in b/package/Makefile.in index 91b3e8f936..dc818a2c18 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -141,38 +141,34 @@ ifeq ($(BR2_DEBUG_3),y) TARGET_DEBUGGING = -g3 endif -TARGET_CFLAGS_RELRO = -Wl,-z,relro -TARGET_CFLAGS_RELRO_FULL = -Wl,-z,now $(TARGET_CFLAGS_RELRO) - TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS)) -ifeq ($(BR2_SSP_REGULAR),y) -TARGET_CPPFLAGS += -fstack-protector -else ifeq ($(BR2_SSP_STRONG),y) -TARGET_CPPFLAGS += -fstack-protector-strong -else ifeq ($(BR2_SSP_ALL),y) -TARGET_CPPFLAGS += -fstack-protector-all -endif - -ifeq ($(BR2_RELRO_PARTIAL),y) -TARGET_CPPFLAGS += $(TARGET_CFLAGS_RELRO) -TARGET_LDFLAGS += $(TARGET_CFLAGS_RELRO) -else ifeq ($(BR2_RELRO_FULL),y) -TARGET_CPPFLAGS += -fPIE $(TARGET_CFLAGS_RELRO_FULL) -TARGET_LDFLAGS += -pie -endif - +# By design, _FORTIFY_SOURCE requires gcc optimization to be enabled. +# Therefore, we need to pass _FORTIFY_SOURCE and the optimization level +# through the same mechanism, i.e currently through CFLAGS. Passing +# _FORTIFY_SOURCE through the wrapper and the optimization level +# through CFLAGS would not work, because CFLAGS are sometimes +# ignored/overridden by packages, but the flags passed by the wrapper +# are enforced: this would cause _FORTIFY_SOURCE to be used without any +# optimization level, leading to a build / configure failure. So we keep +# passing _FORTIFY_SOURCE and the optimization level both through CFLAGS. ifeq ($(BR2_FORTIFY_SOURCE_1),y) -TARGET_CPPFLAGS += -D_FORTIFY_SOURCE=1 +TARGET_HARDENED += -D_FORTIFY_SOURCE=1 else ifeq ($(BR2_FORTIFY_SOURCE_2),y) -TARGET_CPPFLAGS += -D_FORTIFY_SOURCE=2 +TARGET_HARDENED += -D_FORTIFY_SOURCE=2 endif TARGET_CPPFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) +TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_HARDENED) TARGET_CXXFLAGS = $(TARGET_CFLAGS) TARGET_FCFLAGS = $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 +ifeq ($(BR2_m68k_cf),y) +TARGET_CFLAGS += -fno-dwarf2-cfi-asm +TARGET_CXXFLAGS += -fno-dwarf2-cfi-asm +endif + ifeq ($(BR2_BINFMT_FLAT),y) TARGET_CFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\ -Wl$(comma)-elf2flt) diff --git a/package/acpica/acpica.mk b/package/acpica/acpica.mk index 57cc37f85e..c540061928 100644 --- a/package/acpica/acpica.mk +++ b/package/acpica/acpica.mk @@ -10,6 +10,7 @@ ACPICA_SITE = https://acpica.org/sites/acpica/files ACPICA_LICENSE = BSD-3-Clause or GPL-2.0 ACPICA_LICENSE_FILES = source/include/acpi.h ACPICA_DEPENDENCIES = host-bison host-flex +HOST_ACPICA_DEPENDENCIES = host-bison host-flex define ACPICA_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ diff --git a/package/acpid/Config.in b/package/acpid/Config.in index 2bd83ea8b9..0c8ecf2473 100644 --- a/package/acpid/Config.in +++ b/package/acpid/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_ACPID bool "acpid" - depends on BR2_x86_64 || BR2_i386 + depends on BR2_USE_MMU # fork() help Advanced Configuration and Power Interface event daemon. diff --git a/package/acpid/S02acpid b/package/acpid/S02acpid old mode 100755 new mode 100644 diff --git a/package/acpid/acpid.hash b/package/acpid/acpid.hash index 9cf91d9333..0286219621 100644 --- a/package/acpid/acpid.hash +++ b/package/acpid/acpid.hash @@ -1,3 +1,3 @@ # From https://sourceforge.net/projects/acpid2/files/ -md5 0432407b5ff75ae8e08afb43052fde2b acpid-2.0.28.tar.xz -sha1 a5cb34d53eb6965293c436db23dc81550273975b acpid-2.0.28.tar.xz +md5 1528040b5d34f8c24ebabd97befbf913 acpid-2.0.30.tar.xz +sha1 680bbb3fa9cdabb78fb19c6d24bb57224fbbbaed acpid-2.0.30.tar.xz diff --git a/package/acpid/acpid.mk b/package/acpid/acpid.mk index 87378d8106..adcc1757aa 100644 --- a/package/acpid/acpid.mk +++ b/package/acpid/acpid.mk @@ -4,12 +4,20 @@ # ################################################################################ -ACPID_VERSION = 2.0.28 +ACPID_VERSION = 2.0.30 ACPID_SOURCE = acpid-$(ACPID_VERSION).tar.xz ACPID_SITE = http://downloads.sourceforge.net/project/acpid2 ACPID_LICENSE = GPL-2.0+ ACPID_LICENSE_FILES = COPYING +define ACPID_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 package/acpid/acpid.service \ + $(TARGET_DIR)/usr/lib/systemd/system/acpid.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/acpid.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/acpid.service +endef + define ACPID_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/acpid/S02acpid \ $(TARGET_DIR)/etc/init.d/S02acpid diff --git a/package/acpid/acpid.service b/package/acpid/acpid.service new file mode 100644 index 0000000000..5252b52f5f --- /dev/null +++ b/package/acpid/acpid.service @@ -0,0 +1,9 @@ +[Unit] +Description=ACPI event daemon +Documentation=man:acpid(8) + +[Service] +ExecStart=/usr/sbin/acpid --foreground --netlink + +[Install] +WantedBy=multi-user.target diff --git a/package/acsccid/acsccid.mk b/package/acsccid/acsccid.mk index 06a04185e2..a59a16d76f 100644 --- a/package/acsccid/acsccid.mk +++ b/package/acsccid/acsccid.mk @@ -11,5 +11,6 @@ ACSCCID_LICENSE = LGPL-2.1+ ACSCCID_LICENSE_FILES = COPYING ACSCCID_INSTALL_STAGING = YES ACSCCID_DEPENDENCIES = pcsc-lite host-flex host-pkgconf libusb +ACSCCID_CONF_OPTS = --enable-usbdropdir=/usr/lib/pcsc/drivers $(eval $(autotools-package)) diff --git a/package/aircrack-ng/0001-Fix-build-with-mmx.patch b/package/aircrack-ng/0001-Fix-build-with-mmx.patch deleted file mode 100644 index 620d806d88..0000000000 --- a/package/aircrack-ng/0001-Fix-build-with-mmx.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 37078a46346f01141cc13026bb5ad426bb98f3a0 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Wed, 22 Aug 2018 20:01:07 +0200 -Subject: [PATCH] Fix build with mmx - -Commit 39387fc80f90f3a9ac9ef9f3aa32da5776a0721e removed mmx support -however aircrack-ng fails to build on platforms with mmx because an -error is raised if __MMX__ is defined. - -Fixes: - - http://autobuild.buildroot.net/results/b7362b69435e9ef6fb2aedc50743e88dbd7a5c72 - -Signed-off-by: Fabrice Fontaine -[Upstream status: merged (https://github.com/aircrack-ng/aircrack-ng/pull/1943)] ---- - src/aircrack-crypto/arch.h | 3 --- - src/aircrack-crypto/memory.h | 3 --- - src/aircrack-crypto/pseudo_intrinsics.h | 9 --------- - 3 files changed, 15 deletions(-) - -diff --git a/src/aircrack-crypto/arch.h b/src/aircrack-crypto/arch.h -index 1a19ddd6..78b9e619 100644 ---- a/src/aircrack-crypto/arch.h -+++ b/src/aircrack-crypto/arch.h -@@ -357,9 +357,6 @@ - #elif __SSE2__ - #define SIMD_COEF_32 4 - #define SIMD_COEF_64 2 --#elif __MMX__ --#define SIMD_COEF_32 2 --#define SIMD_COEF_64 1 - #endif - - /* -diff --git a/src/aircrack-crypto/memory.h b/src/aircrack-crypto/memory.h -index 83b048f0..24b1c95b 100644 ---- a/src/aircrack-crypto/memory.h -+++ b/src/aircrack-crypto/memory.h -@@ -70,9 +70,6 @@ - #elif __SSE2__ - #define SIMD_COEF_32 4 - #define SIMD_COEF_64 2 --#elif __MMX__ --#define SIMD_COEF_32 2 --#define SIMD_COEF_64 1 - #endif - - /* -diff --git a/src/aircrack-crypto/pseudo_intrinsics.h b/src/aircrack-crypto/pseudo_intrinsics.h -index dd0ca379..f5527bdd 100644 ---- a/src/aircrack-crypto/pseudo_intrinsics.h -+++ b/src/aircrack-crypto/pseudo_intrinsics.h -@@ -658,15 +658,6 @@ _inline __m128i _mm_set1_epi64(long long a) - (vtype)(vtype64) { x0, x1 } - #endif - --/******************************** MMX *********************************/ -- --#elif __MMX__ --#include -- --typedef __m64i vtype; -- --#error MMX intrinsics not implemented (contributions are welcome!) -- - #endif /* __SIMD__ elif __SIMD__ elif __SIMD__ */ - - /************************* COMMON STUFF BELOW *************************/ --- -2.14.1 - diff --git a/package/aircrack-ng/0001-autotools-Fix-optional-SIMD-on-PPC-arch.patch b/package/aircrack-ng/0001-autotools-Fix-optional-SIMD-on-PPC-arch.patch deleted file mode 100644 index 11568525e8..0000000000 --- a/package/aircrack-ng/0001-autotools-Fix-optional-SIMD-on-PPC-arch.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 7cf680386de051cb8308510680299aef810fe743 Mon Sep 17 00:00:00 2001 -From: Joseph Benden -Date: Fri, 17 Aug 2018 13:23:39 -0700 -Subject: [PATCH] autotools: Fix optional SIMD on PPC arch - -Resolves: -https://github.com/aircrack-ng/aircrack-ng/issues/1941 - -Upstream (applied to their master, not yet in a release): (squashed together) -https://github.com/aircrack-ng/aircrack-ng/commit/97838c6b903d33c8403a4bdcae60b8619fad7538 -https://github.com/aircrack-ng/aircrack-ng/commit/efc0b2718f4afd9582419902d205b242e546b9ab - -Signed-off-by: Joseph Benden -Signed-off-by: Matt Weber +From: Thomas Petazzoni Date: Fri, 13 Apr 2018 09:02:37 +0200 Subject: [PATCH] Don't use fork() on noMMU platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Signed-off-by: Thomas Petazzoni +Signed-off-by: Thomas Petazzoni [Jörg: update patch for 1.1.6] Signed-off-by: Jörg Krause +Upstream: http://mailman.alsa-project.org/pipermail/alsa-devel/2018-November/141376.html --- configure.ac | 2 ++ src/pcm/pcm_direct.c | 10 +++++++++- diff --git a/package/alsa-lib/0003-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch b/package/alsa-lib/0002-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch similarity index 94% rename from package/alsa-lib/0003-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch rename to package/alsa-lib/0002-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch index 181e56deb4..3aab64e5e8 100644 --- a/package/alsa-lib/0003-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch +++ b/package/alsa-lib/0002-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch @@ -17,6 +17,7 @@ result to conditionally add -ldl to the list of libraries. Signed-off-by: Thomas De Schampheleire [Jörg: update for 1.1.6] Signed-off-by: Jörg Krause +Upstream: http://mailman.alsa-project.org/pipermail/alsa-devel/2018-November/141377.html --- utils/alsa.m4 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package/alsa-lib/0002-alsa-lib-provide-dummy-definitions-of-RTLD_-if-neces.patch b/package/alsa-lib/0002-alsa-lib-provide-dummy-definitions-of-RTLD_-if-neces.patch deleted file mode 100644 index f489f913d9..0000000000 --- a/package/alsa-lib/0002-alsa-lib-provide-dummy-definitions-of-RTLD_-if-neces.patch +++ /dev/null @@ -1,57 +0,0 @@ -From ff91d50a250e10a419bcd35176f3069161ac33bb Mon Sep 17 00:00:00 2001 -From: Sonic Zhang -Date: Fri, 13 Apr 2018 09:11:23 +0200 -Subject: [PATCH] alsa-lib: provide dummy definitions of RTLD_* if necessary -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header -file, so we need to guard that include. Additionally, provide dummy -definitions for parameters RTLD_GLOBAL / RTLD_NOW which are normally -provided by dlfcn.h. - -Signed-off-by: Sonic Zhang -[Thomas: don't add separate dlmisc.h, move dummy defs to global.h] -Signed-off-by: Thomas De Schampheleire -[Jörg: update for 1.1.6] -Signed-off-by: Jörg Krause ---- - modules/mixer/simple/sbasedl.c | 4 +++- - src/mixer/simple_abst.c | 3 +++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c -index d8cbf0f1..daa0ab30 100644 ---- a/modules/mixer/simple/sbasedl.c -+++ b/modules/mixer/simple/sbasedl.c -@@ -27,8 +27,10 @@ - #include - #include - #include --#include - #include "config.h" -+#ifdef HAVE_DLFCN -+#include -+#endif - #include "asoundlib.h" - #include "mixer_abst.h" - #include "sbase.h" -diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c -index 9c61cb58..0ca58fe0 100644 ---- a/src/mixer/simple_abst.c -+++ b/src/mixer/simple_abst.c -@@ -34,7 +34,10 @@ - #include - #include - #include -+#include "config.h" -+#ifdef HAVE_DLFCN - #include -+#endif - #include "mixer_local.h" - #include "mixer_simple.h" - --- -2.14.3 - diff --git a/package/alsa-lib/alsa-lib.hash b/package/alsa-lib/alsa-lib.hash index c4f16d6df3..4373a2a592 100644 --- a/package/alsa-lib/alsa-lib.hash +++ b/package/alsa-lib/alsa-lib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 5f2cd274b272cae0d0d111e8a9e363f08783329157e8dd68b3de0c096de6d724 alsa-lib-1.1.6.tar.bz2 +sha256 9d6000b882a3b2df56300521225d69717be6741b71269e488bb20a20783bdc09 alsa-lib-1.1.7.tar.bz2 sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING sha256 bfe16cf823bcff261fc6a062c07ee96660e3c39678f42f39a788a68dbc234ced aserver/COPYING diff --git a/package/alsa-lib/alsa-lib.mk b/package/alsa-lib/alsa-lib.mk index 98fc486e2d..9de45d2089 100644 --- a/package/alsa-lib/alsa-lib.mk +++ b/package/alsa-lib/alsa-lib.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_LIB_VERSION = 1.1.6 +ALSA_LIB_VERSION = 1.1.7 ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2 ALSA_LIB_SITE = ftp://ftp.alsa-project.org/pub/lib ALSA_LIB_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (aserver) diff --git a/package/alsa-utils/0001-topology-topology.c-drop-unneeded-dlfcn.h-include.patch b/package/alsa-utils/0001-topology-topology.c-drop-unneeded-dlfcn.h-include.patch new file mode 100644 index 0000000000..2a8be0b0b7 --- /dev/null +++ b/package/alsa-utils/0001-topology-topology.c-drop-unneeded-dlfcn.h-include.patch @@ -0,0 +1,29 @@ +From 4c9462a5ef2f680b24ddf6bae7ac7c693fa6a136 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 1 Nov 2018 15:15:31 +0100 +Subject: [PATCH] topology/topology.c: drop unneeded include + +This include is not used/needed and prevents building on systems that +don't provide . + +Signed-off-by: Thomas Petazzoni +Upstream: http://mailman.alsa-project.org/pipermail/alsa-devel/2018-November/141375.html +--- + topology/topology.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/topology/topology.c b/topology/topology.c +index 097c255..b72e341 100644 +--- a/topology/topology.c ++++ b/topology/topology.c +@@ -27,7 +27,6 @@ + #include + #include + #include +-#include + #include + #include + +-- +2.14.4 + diff --git a/package/alsa-utils/Config.in b/package/alsa-utils/Config.in index edf5d39f26..012f28aef4 100644 --- a/package/alsa-utils/Config.in +++ b/package/alsa-utils/Config.in @@ -1,12 +1,11 @@ -comment "alsa-utils needs a toolchain w/ threads, dynamic library" +comment "alsa-utils needs a toolchain w/ threads" depends on BR2_USE_MMU # fork - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_THREADS menuconfig BR2_PACKAGE_ALSA_UTILS bool "alsa-utils" depends on BR2_USE_MMU # fork depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib - depends on !BR2_STATIC_LIBS # uses dlfcn.h select BR2_PACKAGE_ALSA_LIB help This package contains the command line utilities for the ALSA diff --git a/package/alsa-utils/alsa-utils.hash b/package/alsa-utils/alsa-utils.hash index ff8fd08013..f0468fb886 100644 --- a/package/alsa-utils/alsa-utils.hash +++ b/package/alsa-utils/alsa-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 155caecc40b2220f686f34ba3655a53e3bdbc0586adb1056733949feaaf7d36e alsa-utils-1.1.6.tar.bz2 +sha256 1db27fb54ab7fdeb54b00d68b8a174808ffea198cfbd67e3c959482194e1540a alsa-utils-1.1.7.tar.bz2 sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk index e9a45c675f..b5c36e0a46 100644 --- a/package/alsa-utils/alsa-utils.mk +++ b/package/alsa-utils/alsa-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_UTILS_VERSION = 1.1.6 +ALSA_UTILS_VERSION = 1.1.7 ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2 ALSA_UTILS_SITE = ftp://ftp.alsa-project.org/pub/utils ALSA_UTILS_LICENSE = GPL-2.0 @@ -41,7 +41,7 @@ endif ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y) ALSA_UTILS_CONF_OPTS += --enable-bat # Analysis support requires fftw single precision -ALSA_UTILS_DEPENDENCIES += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),fftw) +ALSA_UTILS_DEPENDENCIES += $(if $(BR2_PACKAGE_FFTW_SINGLE),fftw-single) else ALSA_UTILS_CONF_OPTS += --disable-bat endif @@ -82,4 +82,20 @@ define ALSA_UTILS_INSTALL_TARGET_CMDS fi endef +ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSACTL)$(BR2_INIT_SYSTEMD),yy) +ALSA_UTILS_DEPENDENCIES += systemd +ALSA_UTILS_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system +define ALSA_UTILS_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(@D)/alsactl/alsa-restore.service \ + $(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service + $(INSTALL) -D -m 0644 $(@D)/alsactl/alsa-state.service \ + $(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/sound.target.wants + ln -sf ../../../../lib/systemd/system/alsa-restore.service \ + $(TARGET_DIR)/etc/systemd/system/sound.target.wants/alsa-restore.service + ln -sf ../../../../lib/systemd/system/alsa-state.service \ + $(TARGET_DIR)/etc/systemd/system/sound.target.wants/alsa-state.service +endef +endif + $(eval $(autotools-package)) diff --git a/package/am33x-cm3/S93-am335x-pm-firmware-load b/package/am33x-cm3/S93-am335x-pm-firmware-load old mode 100755 new mode 100644 diff --git a/package/amd-catalyst/Config.in b/package/amd-catalyst/Config.in index 85551ed803..1a5bf02953 100644 --- a/package/amd-catalyst/Config.in +++ b/package/amd-catalyst/Config.in @@ -45,22 +45,6 @@ config BR2_PACKAGE_AMD_CATALYST_CMDLINE_TOOLS help Build and install the AMD command line tools. -comment "Catalyst Control Center needs Qt4 with X11 and PNG support" - depends on !BR2_PACKAGE_QT || !BR2_PACKAGE_QT_X11 \ - || BR2_PACKAGE_QT_NOPNG - -config BR2_PACKAGE_AMD_CATALYST_CCCLE - bool "Catalyst Control Center" - depends on BR2_PACKAGE_QT - depends on BR2_PACKAGE_QT_X11 - depends on !BR2_PACKAGE_QT_NOPNG - select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # procps-ng - select BR2_PACKAGE_PROCPS_NG # runtime - select BR2_PACKAGE_QT_ACCESSIBILITY - help - Installs the Catalyst Control Center, a Qt graphical tool to - control AMD graphics accelerators. - endif comment "amd-catalyst kernel module needs a kernel to be built" diff --git a/package/amd-catalyst/amd-catalyst.mk b/package/amd-catalyst/amd-catalyst.mk index d864095c31..fe8aa850f0 100644 --- a/package/amd-catalyst/amd-catalyst.mk +++ b/package/amd-catalyst/amd-catalyst.mk @@ -149,15 +149,6 @@ define AMD_CATALYST_INSTALL_CMDLINE_TOOLS endef endif -ifeq ($(BR2_PACKAGE_AMD_CATALYST_CCCLE), y) -define AMD_CATALYST_INSTALL_CCCLE - $(INSTALL) -m 0755 $(AMD_CATALYST_ARCH_DIR)/usr/X11R6/bin/amdcccle \ - $(TARGET_DIR)/usr/bin/amdcccle - $(INSTALL) -m 0755 $(AMD_CATALYST_ARCH_DIR)/usr/sbin/amdnotifyui \ - $(TARGET_DIR)/usr/sbin/amdnotifyui -endef -endif - define AMD_CATALYST_INSTALL_STAGING_CMDS $(call AMD_CATALYST_INSTALL_STAGING_XORG) endef @@ -165,7 +156,6 @@ endef define AMD_CATALYST_INSTALL_TARGET_CMDS $(call AMD_CATALYST_INSTALL_XORG) $(call AMD_CATALYST_INSTALL_CMDLINE_TOOLS) - $(call AMD_CATALYST_INSTALL_CCCLE) $(call AMD_CATALYST_INSTALL_OPENCL) endef diff --git a/package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch b/package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch new file mode 100644 index 0000000000..63ea1fb6a4 --- /dev/null +++ b/package/android-tools/0005-Use-pkgconf-to-get-libs-deps.patch @@ -0,0 +1,35 @@ +makefiles: use pkgconf to get libs deps + +LIBS lists library dependencies without taking into account static linking +that need ordered listing and more libraries listed since differently from +shared linking dependency is not transparent(i.e. -lcrypto could need +-latomic etc.). + +Replace -lcrypto with `pkg-config --libs libcrypto` command to be sure all +needed libraries are listed during linking. + +Signed-off-by: Giulio Benetti +--- +diff -urpN android-tools-4.2.2+git20130218.orig/debian/makefiles/adbd.mk android-tools-4.2.2+git20130218/debian/makefiles/adbd.mk +--- android-tools-4.2.2+git20130218.orig/debian/makefiles/adbd.mk 2019-04-08 16:05:02.967710428 +0200 ++++ android-tools-4.2.2+git20130218/debian/makefiles/adbd.mk 2019-04-08 16:30:42.463084426 +0200 +@@ -44,7 +44,7 @@ CPPFLAGS+= -DADBD_NON_ANDROID + CPPFLAGS+= -I$(SRCDIR)/core/adbd + CPPFLAGS+= -I$(SRCDIR)/core/include + +-LIBS+= -lc -lpthread -lz -lcrypto -lcrypt ++LIBS+= -lc -lpthread -lz `pkg-config --libs libcrypto` -lcrypt + + OBJS= $(patsubst %, %.o, $(basename $(SRCS))) + +diff -urpN android-tools-4.2.2+git20130218.orig/debian/makefiles/adb.mk android-tools-4.2.2+git20130218/debian/makefiles/adb.mk +--- android-tools-4.2.2+git20130218.orig/debian/makefiles/adb.mk 2019-04-08 16:05:02.959701400 +0200 ++++ android-tools-4.2.2+git20130218/debian/makefiles/adb.mk 2019-04-08 16:31:06.529426250 +0200 +@@ -41,7 +41,7 @@ CPPFLAGS+= -DHAVE_TERMIO_H + CPPFLAGS+= -I$(SRCDIR)/core/adb + CPPFLAGS+= -I$(SRCDIR)/core/include + +-LIBS+= -lc -lpthread -lz -lcrypto ++LIBS+= -lc -lpthread -lz `pkg-config --libs libcrypto` + + OBJS= $(SRCS:.c=.o) diff --git a/package/android-tools/0005-fix-static-link-zlib.patch b/package/android-tools/0005-fix-static-link-zlib.patch deleted file mode 100644 index dff4df6e79..0000000000 --- a/package/android-tools/0005-fix-static-link-zlib.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix static linking of adb/adbd - -Both adb and adbd use OpenSSL, which indirectly uses zlib. Since -adb/adbd also use zlib directly -lz is included in the linker flags, -but not at the right position to ensure that static linking works: to -make it possible for OpenSSL symbols to see zlib symbols, -lz must -appear after -lcrypto. - -Signed-off-by: Thomas Petazzoni - -Index: b/debian/makefiles/adb.mk -=================================================================== ---- a/debian/makefiles/adb.mk -+++ b/debian/makefiles/adb.mk -@@ -41,7 +41,7 @@ - CPPFLAGS+= -I$(SRCDIR)/core/adb - CPPFLAGS+= -I$(SRCDIR)/core/include - --LIBS+= -lc -lpthread -lz -lcrypto -+LIBS+= -lc -lpthread -lcrypto -lz - - OBJS= $(SRCS:.c=.o) - -Index: b/debian/makefiles/adbd.mk -=================================================================== ---- a/debian/makefiles/adbd.mk -+++ b/debian/makefiles/adbd.mk -@@ -44,7 +44,7 @@ - CPPFLAGS+= -I$(SRCDIR)/core/adbd - CPPFLAGS+= -I$(SRCDIR)/core/include - --LIBS+= -lc -lpthread -lz -lcrypto -lcrypt -+LIBS+= -lc -lpthread -lcrypto -lz -lcrypt - - OBJS= $(patsubst %, %.o, $(basename $(SRCS))) - diff --git a/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch b/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch new file mode 100644 index 0000000000..80ea1ec1fe --- /dev/null +++ b/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch @@ -0,0 +1,48 @@ +From d24abbec201975a5eb7f8589614cfb424b8c80b6 Mon Sep 17 00:00:00 2001 +From: Alex Kaplan +Date: Sat, 10 Nov 2018 19:50:51 -0800 +Subject: [PATCH] Fix makefiles for out-of-tree ext4_utils build + +Signed-off-by: Alex Kaplan +--- + debian/makefiles/ext4_utils.mk | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/debian/makefiles/ext4_utils.mk b/debian/makefiles/ext4_utils.mk +index cb64916..c5904bf 100644 +--- a/debian/makefiles/ext4_utils.mk ++++ b/debian/makefiles/ext4_utils.mk +@@ -1,6 +1,7 @@ + # Makefile for ext4_utils; based on https://heiher.info/2227.html + # Author: Dmitrijs Ledkovs + ++VPATH+=$(SRCDIR)/extras/ext4_utils + SRCS+=make_ext4fs.c + SRCS+=ext4fixup.c + SRCS+=ext4_utils.c +@@ -13,7 +14,7 @@ SRCS+=sha1.c + SRCS+=wipe.c + SRCS+=crc16.c + +-VPATH+=../../core/libsparse ++VPATH+=$(SRCDIR)/core/libsparse + SRCS+= backed_block.c + SRCS+= sparse_crc32.c + SRCS+= sparse.c +@@ -31,10 +32,9 @@ SRCS+=img2simg.c + SRCS+=simg2img.c + SRCS+=simg2simg.c + +-CPPFLAGS+= -I. +-CPPFLAGS+= -I/usr/include +-CPPFLAGS+= -I../../core/include +-CPPFLAGS+= -I../../core/libsparse/include/ ++CPPFLAGS+= -I$(SRCDIR) ++CPPFLAGS+= -I$(SRCDIR)/core/include ++CPPFLAGS+= -I$(SRCDIR)/core/libsparse/include/ + + LIBS+= -lz -lselinux + +-- +2.7.4 + diff --git a/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch b/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch new file mode 100644 index 0000000000..2de338368f --- /dev/null +++ b/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch @@ -0,0 +1,47 @@ +From bb3da0e32be4f2260940edf3ee0f88103dfd0dcc Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Tue, 5 Feb 2019 01:12:19 +0200 +Subject: [PATCH] adb: added patch for openssl 1.1.0 compatibility + +Signed-off-by: Eneas U de Queiroz + +[Vadim: took only adb related part from +https://github.com/lede-project/source/commit/f63f20fb93c7e67775cb01d97fc88b5b29452b81] +Signed-off-by: Vadim Kochan +--- + core/adb/adb_auth_host.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/core/adb/adb_auth_host.c b/core/adb/adb_auth_host.c +index 9039d42..debd2ef 100644 +--- a/core/adb/adb_auth_host.c ++++ b/core/adb/adb_auth_host.c +@@ -79,7 +79,13 @@ static int RSA_to_RSAPublicKey(RSA *rsa, RSAPublicKey *pkey) + } + + BN_set_bit(r32, 32); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ const BIGNUM *rsa_n, *rsa_e; ++ RSA_get0_key(rsa, &rsa_n, &rsa_e, NULL); ++ BN_copy(n, rsa_n); ++#else + BN_copy(n, rsa->n); ++#endif + BN_set_bit(r, RSANUMWORDS * 32); + BN_mod_sqr(rr, r, n, ctx); + BN_div(NULL, rem, n, r32, ctx); +@@ -93,7 +99,11 @@ static int RSA_to_RSAPublicKey(RSA *rsa, RSAPublicKey *pkey) + BN_div(n, rem, n, r32, ctx); + pkey->n[i] = BN_get_word(rem); + } ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ pkey->exponent = BN_get_word(rsa_e); ++#else + pkey->exponent = BN_get_word(rsa->e); ++#endif + + out: + BN_free(n0inv); +-- +2.14.1 + diff --git a/package/android-tools/Config.in.host b/package/android-tools/Config.in.host index 993c4c9fdc..433f4e384f 100644 --- a/package/android-tools/Config.in.host +++ b/package/android-tools/Config.in.host @@ -23,4 +23,11 @@ config BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB host, which can be used to interact with target devices implementing the ADB protocol. +config BR2_PACKAGE_HOST_ANDROID_TOOLS_EXT4_UTILS + bool "ext4 utils" + help + This option will build and install the ext4 utils for the + host, i.e. make_ext4fs, ext4fixup, ext2simg, img2simg, + simg2img and simg2simg. + endif diff --git a/package/android-tools/android-tools.mk b/package/android-tools/android-tools.mk index 879d788e3a..3d5c76a322 100644 --- a/package/android-tools/android-tools.mk +++ b/package/android-tools/android-tools.mk @@ -11,6 +11,8 @@ ANDROID_TOOLS_EXTRA_DOWNLOADS = android-tools_$(ANDROID_TOOLS_VERSION)-3ubuntu41 HOST_ANDROID_TOOLS_EXTRA_DOWNLOADS = $(ANDROID_TOOLS_EXTRA_DOWNLOADS) ANDROID_TOOLS_LICENSE = Apache-2.0 ANDROID_TOOLS_LICENSE_FILES = debian/copyright +ANDROID_TOOLS_DEPENDENCIES = host-pkgconf +HOST_ANDROID_TOOLS_DEPENDENCIES = host-pkgconf # Extract the Debian tarball inside the sources define ANDROID_TOOLS_DEBIAN_EXTRACT @@ -31,15 +33,24 @@ HOST_ANDROID_TOOLS_PRE_PATCH_HOOKS += ANDROID_TOOLS_DEBIAN_PATCH ANDROID_TOOLS_PRE_PATCH_HOOKS += ANDROID_TOOLS_DEBIAN_PATCH ifeq ($(BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT),y) -HOST_ANDROID_TOOLS_TARGETS += fastboot +HOST_ANDROID_TOOLS_BUILD_TARGETS += fastboot +HOST_ANDROID_TOOLS_INSTALL_TARGETS += build-fastboot/fastboot HOST_ANDROID_TOOLS_DEPENDENCIES += host-zlib host-libselinux endif ifeq ($(BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB),y) -HOST_ANDROID_TOOLS_TARGETS += adb +HOST_ANDROID_TOOLS_BUILD_TARGETS += adb +HOST_ANDROID_TOOLS_INSTALL_TARGETS += build-adb/adb HOST_ANDROID_TOOLS_DEPENDENCIES += host-zlib host-openssl endif +ifeq ($(BR2_PACKAGE_HOST_ANDROID_TOOLS_EXT4_UTILS),y) +HOST_ANDROID_TOOLS_BUILD_TARGETS += ext4_utils +HOST_ANDROID_TOOLS_INSTALL_TARGETS += \ + $(addprefix build-ext4_utils/,make_ext4fs ext4fixup ext2simg img2simg simg2img simg2simg) +HOST_ANDROID_TOOLS_DEPENDENCIES += host-libselinux +endif + ifeq ($(BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT),y) ANDROID_TOOLS_TARGETS += fastboot ANDROID_TOOLS_DEPENDENCIES += zlib libselinux @@ -58,7 +69,7 @@ endif # Build each tool in its own directory not to share object files define HOST_ANDROID_TOOLS_BUILD_CMDS - $(foreach t,$(HOST_ANDROID_TOOLS_TARGETS),\ + $(foreach t,$(HOST_ANDROID_TOOLS_BUILD_TARGETS),\ mkdir -p $(@D)/build-$(t) && \ $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) SRCDIR=$(@D) \ -C $(@D)/build-$(t) -f $(@D)/debian/makefiles/$(t).mk$(sep)) @@ -72,8 +83,8 @@ define ANDROID_TOOLS_BUILD_CMDS endef define HOST_ANDROID_TOOLS_INSTALL_CMDS - $(foreach t,$(HOST_ANDROID_TOOLS_TARGETS),\ - $(INSTALL) -D -m 0755 $(@D)/build-$(t)/$(t) $(HOST_DIR)/bin/$(t)$(sep)) + $(foreach t,$(HOST_ANDROID_TOOLS_INSTALL_TARGETS),\ + $(INSTALL) -D -m 0755 $(@D)/$(t) $(HOST_DIR)/bin/$(notdir $(t))$(sep)) endef define ANDROID_TOOLS_INSTALL_TARGET_CMDS diff --git a/package/apache/apache.hash b/package/apache/apache.hash index 32743656fd..0c3a1d5303 100644 --- a/package/apache/apache.hash +++ b/package/apache/apache.hash @@ -1,4 +1,4 @@ -# From http://archive.apache.org/dist/httpd/httpd-2.4.35.tar.bz2.sha256 -sha256 2607c6fdd4d12ac3f583127629291e9432b247b782396a563bec5678aae69b56 httpd-2.4.35.tar.bz2 +# From http://archive.apache.org/dist/httpd/httpd-2.4.39.tar.bz2.sha256 +sha256 b4ca9d05773aa59b54d66cd8f4744b945289f084d3be17d7981d1783a5decfa2 httpd-2.4.39.tar.bz2 # Locally computed sha256 c49c0819a726b70142621715dae3159c47b0349c2bc9db079070f28dadac0229 LICENSE diff --git a/package/apache/apache.mk b/package/apache/apache.mk index 3ac317216d..ebb28b653a 100644 --- a/package/apache/apache.mk +++ b/package/apache/apache.mk @@ -4,7 +4,7 @@ # ################################################################################ -APACHE_VERSION = 2.4.35 +APACHE_VERSION = 2.4.39 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 APACHE_SITE = http://archive.apache.org/dist/httpd APACHE_LICENSE = Apache-2.0 @@ -63,6 +63,15 @@ else APACHE_CONF_OPTS += --disable-lua endif +ifeq ($(BR2_PACKAGE_NGHTTP2),y) +APACHE_CONF_OPTS += \ + --enable-http2 \ + --with-nghttp2=$(STAGING_DIR)/usr +APACHE_DEPENDENCIES += nghttp2 +else +APACHE_CONF_OPTS += --disable-http2 +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) APACHE_DEPENDENCIES += openssl APACHE_CONF_OPTS += \ diff --git a/package/apr/apr.mk b/package/apr/apr.mk index 58b1d86b28..8f29e57c59 100644 --- a/package/apr/apr.mk +++ b/package/apr/apr.mk @@ -26,7 +26,12 @@ APR_CONF_ENV = \ ac_cv_sizeof_pid_t=4 \ ac_cv_struct_rlimit=yes \ ac_cv_o_nonblock_inherited=no \ - apr_cv_mutex_recursive=yes + apr_cv_mutex_recursive=yes \ + apr_cv_epoll=yes \ + apr_cv_epoll_create1=yes \ + apr_cv_dup3=yes \ + apr_cv_sock_cloexec=yes \ + apr_cv_accept4=yes APR_CONFIG_SCRIPTS = apr-1-config # Doesn't even try to guess when cross compiling diff --git a/package/argparse/argparse.hash b/package/argparse/argparse.hash index a4746bc6af..fa99609cc8 100644 --- a/package/argparse/argparse.hash +++ b/package/argparse/argparse.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 e00e5637c937d7bfca96025f2c598ba4fffe9eb818d69952e77b4c08167a6be3 argparse-0.5.0-1.src.rock +# computed by luarocks/buildroot +sha256 e4029f42d61cbdde1540e0a098a24b1fed0bc8a2803efe2a0d0d3e7f2f2f2c82 argparse-0.6.0-1.src.rock +sha256 c9b9a9667934d50f028a99b2617469db66663dc3b09d289b82e73e950b2b85eb argparse/LICENSE diff --git a/package/argparse/argparse.mk b/package/argparse/argparse.mk index 095f0a315c..04c46b5279 100644 --- a/package/argparse/argparse.mk +++ b/package/argparse/argparse.mk @@ -4,8 +4,7 @@ # ################################################################################ -ARGPARSE_VERSION_UPSTREAM = 0.5.0 -ARGPARSE_VERSION = $(ARGPARSE_VERSION_UPSTREAM)-1 +ARGPARSE_VERSION = 0.6.0-1 ARGPARSE_SUBDIR = argparse ARGPARSE_LICENSE = MIT ARGPARSE_LICENSE_FILES = $(ARGPARSE_SUBDIR)/LICENSE diff --git a/package/armadillo/Config.in b/package/armadillo/Config.in index 47c7cd9ffd..b2b61a3233 100644 --- a/package/armadillo/Config.in +++ b/package/armadillo/Config.in @@ -1,6 +1,5 @@ comment "armadillo needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP - depends on !(BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) depends on !BR2_powerpc depends on !BR2_m68k_cf @@ -11,7 +10,6 @@ comment "armadillo needs a glibc toolchain w/ C++" config BR2_PACKAGE_ARMADILLO bool "armadillo" depends on BR2_INSTALL_LIBSTDCPP - depends on !(BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) # clapack depends on !BR2_powerpc || BR2_TOOLCHAIN_USES_GLIBC # clapack depends on !BR2_m68k_cf # clapack select BR2_PACKAGE_CLAPACK diff --git a/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch b/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch deleted file mode 100644 index d6d02d2c3a..0000000000 --- a/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch +++ /dev/null @@ -1,58 +0,0 @@ -From cc5daff874779475742bdb89a9328bb4fc4c4e09 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Tue, 27 Dec 2016 11:20:19 +0100 -Subject: [PATCH] configure: do not configure in menuselect - -When cross-compiling, the arguments and environment for ./configure are -different for the host and the target, and we want menuselect to be -compiled for the build machine, not the target. - -Although we do not pass any option to ./configure for menuselect, the -environment may still reference variables for the target, like CC or -CFLAGS and so on... We can not build menuselect with those variables. - -Instead, just assume that menuselect will be pre-compiled. - -Signed-off-by: "Yann E. MORIN" ---- - configure | 16 ---------------- - configure.ac | 16 ---------------- - 2 files changed, 32 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 66c8971..121dd93 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2662,12 +2662,6 @@ fi - - AC_SUBST([PBX_SYSLOG]) - --if test -f makeopts; then -- ${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak --else -- touch makeopts.acbak --fi -- - AC_CONFIG_FILES([build_tools/menuselect-deps makeopts]) - AST_CHECK_MANDATORY - -@@ -2683,16 +2677,6 @@ fi - - AC_OUTPUT - --${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2 --if test "x${ac_cv_path_CMP}" = "x:"; then -- ( cd `pwd`/menuselect && ./configure ) --else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else -- ( cd `pwd`/menuselect && ./configure ) --fi ; fi -- --rm makeopts.acbak makeopts.acbak2 -- -- - if test "x${silent}" != "xyes" ; then - echo - echo " .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=.. " --- -2.7.4 - diff --git a/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch b/package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch similarity index 100% rename from package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch rename to package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch diff --git a/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch b/package/asterisk/0002-configure-fix-detection-of-libcrypt.patch similarity index 100% rename from package/asterisk/0003-configure-fix-detection-of-libcrypt.patch rename to package/asterisk/0002-configure-fix-detection-of-libcrypt.patch diff --git a/package/asterisk/0004-build-ensure-target-directory-for-modules-exists.patch b/package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch similarity index 100% rename from package/asterisk/0004-build-ensure-target-directory-for-modules-exists.patch rename to package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch diff --git a/package/asterisk/0005-install-samples-need-the-data-files.patch b/package/asterisk/0004-install-samples-need-the-data-files.patch similarity index 100% rename from package/asterisk/0005-install-samples-need-the-data-files.patch rename to package/asterisk/0004-install-samples-need-the-data-files.patch diff --git a/package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch b/package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch new file mode 100644 index 0000000000..bee8fdbb1b --- /dev/null +++ b/package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch @@ -0,0 +1,38 @@ +From 9b4070944578336506cd0a76de6f733c72d0ca74 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sat, 13 Oct 2018 11:11:15 +0200 +Subject: [PATCH] configure: fix detection of re-entrant resolver functions + +Fixes https://issues.asterisk.org/jira/browse/ASTERISK-21795 + +uClibc does not provide res_nsearch: +asterisk-16.0.0/main/dns.c:506: undefined reference to `res_nsearch' + +Patch coded by Yann E. MORIN: +http://lists.busybox.net/pipermail/buildroot/2018-October/232630.html + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index dd0c8edd13..ee1ca9ceb6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1388,7 +1388,11 @@ AC_LINK_IFELSE( + #include + #endif + #include ], +- [int foo = res_ninit(NULL);])], ++ [ ++ int foo; ++ foo = res_ninit(NULL); ++ foo = res_nsearch(NULL, NULL, 0, 0, NULL, 0); ++ ])], + AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_RES_NINIT], 1, [Define to 1 if your system has the re-entrant resolver functions.]) + AC_SEARCH_LIBS(res_9_ndestroy, resolv) +-- +2.19.1 + diff --git a/package/asterisk/0006-build-fix-issues-building-without-ssl.patch b/package/asterisk/0006-build-fix-issues-building-without-ssl.patch deleted file mode 100644 index b02031e5ab..0000000000 --- a/package/asterisk/0006-build-fix-issues-building-without-ssl.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 999e0c17d7e4139d36730752a34fbfde18a4f9f1 Mon Sep 17 00:00:00 2001 -From: Corey Farrell -Date: Sun, 19 Nov 2017 14:52:59 -0500 -Subject: [PATCH] Build: Fix issues building without SSL. - -* Fix conditional in libasteriskssl. -* Use variables produced by configure to link the SSL and uuid libraries - into libasteriskpj.so instead of hard-coding them. - -ASTERISK-27431 - -Change-Id: I3977931fd3ef8c4e4376349ccddb354eb839b58d - -Downloaded from upstream master branch -https://github.com/asterisk/asterisk/commit/999e0c17d7e4139d36730752a34fbfde18a4f9f1 - -Signed-off-by: Bernd Kuhls ---- - main/Makefile | 4 ++-- - main/libasteriskssl.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/main/Makefile b/main/Makefile -index 08d1f65580e..c724e2012b0 100644 ---- a/main/Makefile -+++ b/main/Makefile -@@ -273,7 +273,7 @@ endif - - $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): _ASTLDFLAGS+=-Wl,-soname=$(ASTPJ_LIB).$(ASTPJ_SO_VERSION) $(PJ_LDFLAGS) - $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): _ASTCFLAGS+=-fPIC -DAST_MODULE=\"asteriskpj\" -DAST_NOT_MODULE $(PJ_CFLAGS) --$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): LIBS+=$(PJPROJECT_LDLIBS) -lssl -lcrypto -luuid -lm -lpthread $(RT_LIB) -+$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): LIBS+=$(PJPROJECT_LDLIBS) $(OPENSSL_LIB) $(UUID_LIB) -lm -lpthread $(RT_LIB) - ifeq ($(GNU_LD),1) - $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): SO_SUPPRESS_SYMBOLS=-Wl,--version-script,libasteriskpj.exports,--warn-common - endif -@@ -298,7 +298,7 @@ ASTPJ_LIB:=libasteriskpj.dylib - # /lib or /usr/lib - $(ASTPJ_LIB): _ASTLDFLAGS+=-dynamiclib -install_name $(ASTLIBDIR)/$(ASTPJ_LIB) $(PJ_LDFLAGS) - $(ASTPJ_LIB): _ASTCFLAGS+=-fPIC -DAST_MODULE=\"asteriskpj\" $(PJ_CFLAGS) -DAST_NOT_MODULE --$(ASTPJ_LIB): LIBS+=$(PJPROJECT_LIBS) -lssl -lcrypto -luuid -lm -lpthread $(RT_LIB) -+$(ASTPJ_LIB): LIBS+=$(PJPROJECT_LIBS) $(OPENSSL_LIB) $(UUID_LIB) -lm -lpthread $(RT_LIB) - $(ASTPJ_LIB): SOLINK=$(DYLINK) - - # Special rules for building a shared library (not a dynamically loadable module) -diff --git a/main/libasteriskssl.c b/main/libasteriskssl.c -index 8b19e247da9..e2e256f8ffe 100644 ---- a/main/libasteriskssl.c -+++ b/main/libasteriskssl.c -@@ -37,7 +37,7 @@ - #endif - - #if defined(HAVE_OPENSSL) && \ -- !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) -+ (!defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)) - - #include - diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in index 17ac22bfd4..c52456f8fc 100644 --- a/package/asterisk/Config.in +++ b/package/asterisk/Config.in @@ -1,13 +1,16 @@ config BR2_PACKAGE_ASTERISK bool "asterisk" - # Uses glibc resolver function res_nsearch() - depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on !BR2_TOOLCHAIN_USES_MUSL + depends on BR2_USE_MMU # libedit + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_WCHAR # libedit select BR2_PACKAGE_JANSSON select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBEDIT select BR2_PACKAGE_LIBILBC select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_NCURSES select BR2_PACKAGE_SQLITE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID @@ -22,5 +25,8 @@ config BR2_PACKAGE_ASTERISK http://www.asterisk.org/ -comment "asterisk needs a glibc toolchain w/ C++" - depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP +comment "asterisk needs a glibc or uClibc toolchain w/ C++, dynamic library, threads, wchar" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_USES_MUSL || !BR2_INSTALL_LIBSTDCPP \ + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_USE_WCHAR diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash index a3e9d10aff..d8cc56695c 100644 --- a/package/asterisk/asterisk.hash +++ b/package/asterisk/asterisk.hash @@ -1,15 +1,15 @@ # Locally computed -sha256 249cf223ef4dd7aea01f0d250a6b9cad661ebd78910c73adb7f59c1c46f9fed8 asterisk-14.7.6.tar.gz +sha256 c022e9d5410ed94ab1aa51ba1e2a8b196f0dfa15bcd0bd545d06efee4c786578 asterisk-16.2.1.tar.gz # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases # sha256 locally computed -sha1 65ee068462c6645ed14a28d6b34eb0e9aa7a6c8d asterisk-core-sounds-en-gsm-1.5.tar.gz -sha256 8d1118c6e0a0c614fafe297e3789f924ef5b04285cf6a8cffb8501dfcf5bbf07 asterisk-core-sounds-en-gsm-1.5.tar.gz +sha1 721c512feaea102700d5bdce952fdc0bb29dc640 asterisk-core-sounds-en-gsm-1.6.1.tar.gz +sha256 d79c3d2044d41da8f363c447dfccc140be86b4fcc41b1ca5a60a80da52f24f2d asterisk-core-sounds-en-gsm-1.6.1.tar.gz sha1 f40fd6ea03dfe8d72ada2540b2288bfdc006381d asterisk-moh-opsound-wav-2.03.tar.gz sha256 449fb810d16502c3052fedf02f7e77b36206ac5a145f3dacf4177843a2fcb538 asterisk-moh-opsound-wav-2.03.tar.gz # License files, locally computed sha256 82af40ed7f49c08685360811993d9396320842f021df828801d733e8fdc0312f COPYING sha256 ac5571f00e558e3b7c9b3f13f421b874cc12cf4250c4f70094c71544cf486312 main/sha1.c -sha256 0fcdb946955d20c2819a51f3fe613d8f22da2ea793bd50acb30ce156499acc88 codecs/speex/speex_resampler.h -sha256 e6e7b7204d34a3dcdf17389a9c8cf64721ec0d15a797fd51c8c1ed8517cc3038 utils/db1-ast/include/db.h +sha256 309462c10e84f46bda22032ebe6359f3e9e3e23afcf1fc2aaed5b59daf800d84 codecs/speex/speex_resampler.h +sha256 1ca2c7a7a1ae7ccd75212a8c1e85dd9ec92bdbc9170aafd97ea60459387755fd utils/db1-ast/include/db.h diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk index 430b122655..65f8d3fdf9 100644 --- a/package/asterisk/asterisk.mk +++ b/package/asterisk/asterisk.mk @@ -4,14 +4,14 @@ # ################################################################################ -ASTERISK_VERSION = 14.7.6 +ASTERISK_VERSION = 16.2.1 # Use the github mirror: it's an official mirror maintained by Digium, and # provides tarballs, which the main Asterisk git tree (behind Gerrit) does not. ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION)) ASTERISK_SOUNDS_BASE_URL = http://downloads.asterisk.org/pub/telephony/sounds/releases ASTERISK_EXTRA_DOWNLOADS = \ - $(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.5.tar.gz \ + $(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.6.1.tar.gz \ $(ASTERISK_SOUNDS_BASE_URL)/asterisk-moh-opsound-wav-2.03.tar.gz ASTERISK_LICENSE = GPL-2.0, BSD-3c (SHA1, resample), BSD-4c (db1-ast) @@ -21,16 +21,16 @@ ASTERISK_LICENSE_FILES = \ codecs/speex/speex_resampler.h \ utils/db1-ast/include/db.h -# For patches 0001, 0003 and 0004 +# For patches 0002, 0003 and 0005 ASTERISK_AUTORECONF = YES -ASTERISK_AUTORECONF_OPTS = -Iautoconf -Ithird-party -Ithird-party/pjproject +ASTERISK_AUTORECONF_OPTS = -Iautoconf -Ithird-party -Ithird-party/pjproject -Ithird-party/jansson ASTERISK_DEPENDENCIES = \ host-asterisk \ jansson \ libcurl \ + libedit \ libxml2 \ - ncurses \ sqlite \ util-linux @@ -54,7 +54,6 @@ ASTERISK_CONF_OPTS = \ --without-curses \ --without-gtk2 \ --without-gmime \ - --without-h323 \ --without-hoard \ --without-iconv \ --without-iksemel \ @@ -67,7 +66,6 @@ ASTERISK_CONF_OPTS = \ --without-kqueue \ --without-libedit \ --without-libxslt \ - --without-ltdl \ --without-lua \ --without-misdn \ --without-mysqlclient \ @@ -79,12 +77,11 @@ ASTERISK_CONF_OPTS = \ --without-oss \ --without-postgres \ --without-pjproject \ + --without-pjproject-bundled \ --without-popt \ - --without-pwlib \ --without-resample \ --without-sdl \ --without-SDL_image \ - --without-spandsp \ --without-sqlite \ --without-suppserv \ --without-tds \ @@ -100,7 +97,7 @@ ASTERISK_CONF_OPTS = \ --with-libcurl \ --with-ilbc \ --with-libxml2 \ - --with-ncurses="$(STAGING_DIR)/usr" \ + --with-libedit="$(STAGING_DIR)/usr" \ --with-sqlite3="$(STAGING_DIR)/usr" \ --with-sounds-cache=$(ASTERISK_DL_DIR) @@ -111,8 +108,14 @@ ASTERISK_CONF_OPTS = \ ASTERISK_CONF_OPTS += --without-avcodec ASTERISK_CONF_ENV = \ + ac_cv_file_bridges_bridge_softmix_include_hrirs_h=true \ ac_cv_path_CONFIG_LIBXML2=$(STAGING_DIR)/usr/bin/xml2-config +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +ASTERISK_CONF_ENV += LIBS="-latomic" +endif + ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) ASTERISK_CONF_OPTS += --with-execinfo else @@ -229,6 +232,13 @@ else ASTERISK_CONF_OPTS += --without-ssl endif +ifeq ($(BR2_PACKAGE_SPANDSP),y) +ASTERISK_DEPENDENCIES += spandsp +ASTERISK_CONF_OPTS += --with-spandsp +else +ASTERISK_CONF_OPTS += --without-spandsp +endif + ifeq ($(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yy) ASTERISK_DEPENDENCIES += speex ASTERISK_CONF_OPTS += --with-speex --with-speexdsp @@ -236,7 +246,8 @@ else ASTERISK_CONF_OPTS += --without-speex --without-speexdsp endif -ifeq ($(BR2_PACKAGE_LIBSRTP),y) +# asterisk needs an openssl-enabled libsrtp +ifeq ($(BR2_PACKAGE_LIBSRTP)$(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yyx) ASTERISK_DEPENDENCIES += libsrtp ASTERISK_CONF_OPTS += --with-srtp else @@ -265,6 +276,11 @@ ASTERISK_DIRS = \ ASTERISK_MAKE_OPTS = $(ASTERISK_DIRS) +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +ASTERISK_MAKE_OPTS += ASTLDFLAGS="-latomic" +endif + # We want to install sample configuration files, too. ASTERISK_INSTALL_TARGET_OPTS = \ $(ASTERISK_DIRS) \ @@ -292,7 +308,7 @@ HOST_ASTERISK_CONF_ENV = CONFIG_LIBXML2=$(HOST_DIR)/bin/xml2-config HOST_ASTERISK_CONF_OPTS = \ --without-newt \ --without-curses \ - --with-ncurses=$(HOST_DIR)/usr + --with-ncurses=$(HOST_DIR) # Not an automake package, so does not inherit LDFLAGS et al. from # the configure run. diff --git a/package/at/Config.in b/package/at/Config.in index 17fabf7f6b..cbc5be47b8 100644 --- a/package/at/Config.in +++ b/package/at/Config.in @@ -8,3 +8,5 @@ config BR2_PACKAGE_AT at - run the job at a specified time batch - run the job when system load levels permit + + https://salsa.debian.org/debian/at diff --git a/package/at/S99at b/package/at/S99at old mode 100755 new mode 100644 index 666d39b546..f132a46ce9 --- a/package/at/S99at +++ b/package/at/S99at @@ -6,6 +6,15 @@ umask 077 start() { + # Since /var/spool can be linked to /tmp (tmpfs) + # /var/spool/cron/atjobs/.SEQ created could be not available + # Check if not exists otherwise create it + if [ ! -f /var/spool/cron/atjobs/.SEQ ]; then + mkdir -p /var/spool/cron/atjobs/ + touch /var/spool/cron/atjobs/.SEQ + printf "atd: created missing .SEQ file (atjobs will be lost on reboot)\n" + fi + printf "Starting atd: " start-stop-daemon --start --quiet --make-pidfile --pidfile /var/run/atd.pid --background --exec /usr/sbin/atd -- -f echo "OK" diff --git a/package/at/at.hash b/package/at/at.hash index 22c732cc7e..530b1257c1 100644 --- a/package/at/at.hash +++ b/package/at/at.hash @@ -1,2 +1,5 @@ -# From: http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/at/at_3.1.16-1.dsc -sha256 cb9af59c6a54edce9536ba629841055409d1f89d8ae26494727a97141fb4d5c1 at_3.1.16.orig.tar.gz +# Locally calculated +sha256 f5c7c8226fab0bc4e2d16a55e04d4026f3452db51fc5cbcc4bb5a3c79a79f7ef at-release_3.1.23.tar.gz + +sha256 01dccc0975aa9ba1a9f83e7c5e04f16077353d3c72a0a759b8846ee7a5b2b616 Copyright +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/package/at/at.mk b/package/at/at.mk index 058ebac5c8..36aa8c7a42 100644 --- a/package/at/at.mk +++ b/package/at/at.mk @@ -4,10 +4,11 @@ # ################################################################################ -AT_VERSION = 3.1.16 -AT_SOURCE = at_$(AT_VERSION).orig.tar.gz -AT_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/at -# missing deps for parsetime.l +AT_VERSION = release/3.1.23 +AT_SITE = https://salsa.debian.org/debian/at.git +AT_SITE_METHOD = git +# Tried to add missing deps for parsetime.l but still parallel build fails +# in some case, so at the moment let's keep MAKE1 AT_MAKE = $(MAKE1) AT_AUTORECONF = YES AT_DEPENDENCIES = $(if $(BR2_PACKAGE_FLEX),flex) host-bison host-flex diff --git a/package/atk/0001-atk-meson.build-replace-shared_library-by-library.patch b/package/atk/0001-atk-meson.build-replace-shared_library-by-library.patch new file mode 100644 index 0000000000..6260cca89f --- /dev/null +++ b/package/atk/0001-atk-meson.build-replace-shared_library-by-library.patch @@ -0,0 +1,33 @@ +From da08587d9a57b45cc8a76cb31390c79c1199959b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 10 Jan 2019 10:13:03 +0100 +Subject: [PATCH] atk/meson.build: replace shared_library by library + +Use library instead of shared_library to allow the user to build a +static libatk library + +Fixes: + - http://autobuild.buildroot.org/results/347a37dd2585974bdbf3bf99158e8ee9127d1202 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://gitlab.gnome.org/GNOME/atk/merge_requests/11] +--- + atk/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/atk/meson.build b/atk/meson.build +index 69ba6c5..0ad67e5 100644 +--- a/atk/meson.build ++++ b/atk/meson.build +@@ -122,7 +122,7 @@ endif + + atk_inc = include_directories('.') + +-libatk = shared_library('atk-@0@'.format(atk_api_version), ++libatk = library('atk-@0@'.format(atk_api_version), + sources: atk_sources + atk_enums + atk_marshals, + soversion: atk_soversion, + version: atk_libversion, +-- +2.14.1 + diff --git a/package/atk/atk.hash b/package/atk/atk.hash index 80aeecaee9..911e65fcc7 100644 --- a/package/atk/atk.hash +++ b/package/atk/atk.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atk/2.28/atk-2.28.1.sha256sum -sha256 cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc atk-2.28.1.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/atk/2.30/atk-2.30.0.sha256sum +sha256 dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b atk-2.30.0.tar.xz + +# Hash for license file +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/atk/atk.mk b/package/atk/atk.mk index 64950bfd08..228b24a7da 100644 --- a/package/atk/atk.mk +++ b/package/atk/atk.mk @@ -4,15 +4,13 @@ # ################################################################################ -ATK_VERSION_MAJOR = 2.28 -ATK_VERSION = $(ATK_VERSION_MAJOR).1 +ATK_VERSION_MAJOR = 2.30 +ATK_VERSION = $(ATK_VERSION_MAJOR).0 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR) ATK_LICENSE = LGPL-2.0+ ATK_LICENSE_FILES = COPYING ATK_INSTALL_STAGING = YES -ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install -ATK_CONF_OPTS = --disable-glibtest --enable-explicit-deps=no -ATK_DEPENDENCIES = libglib2 host-pkgconf +ATK_DEPENDENCIES = libglib2 -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/atop/Config.in b/package/atop/Config.in index d42a201bd9..9e42eddb57 100644 --- a/package/atop/Config.in +++ b/package/atop/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_ATOP bool "atop" depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 # PERF_FLAG_FD_CLOEXEC select BR2_PACKAGE_NCURSES select BR2_PACKAGE_ZLIB help @@ -16,3 +17,7 @@ config BR2_PACKAGE_ATOP username, state, and exit code. http://www.atoptool.nl + +comment "atop needs a toolchain w/ headers >= 3.14" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 diff --git a/package/atop/atop.hash b/package/atop/atop.hash index 9ee0d62bc6..80082d022d 100644 --- a/package/atop/atop.hash +++ b/package/atop/atop.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 73e4725de0bafac8c63b032e8479e2305e3962afbe977ec1abd45f9e104eb264 atop-2.3.0.tar.gz +sha256 be1c010a77086b7d98376fce96514afcd73c3f20a8d1fe01520899ff69a73d69 atop-2.4.0.tar.gz # Hash for license file: sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/atop/atop.mk b/package/atop/atop.mk index 2cc0da6afa..aaf02908c4 100644 --- a/package/atop/atop.mk +++ b/package/atop/atop.mk @@ -4,7 +4,7 @@ # ################################################################################ -ATOP_VERSION = 2.3.0 +ATOP_VERSION = 2.4.0 ATOP_SITE = http://www.atoptool.nl/download ATOP_LICENSE = GPL-2.0+ ATOP_LICENSE_FILES = COPYING diff --git a/package/attr/0002-Switch-back-to-syscall.patch b/package/attr/0002-Switch-back-to-syscall.patch new file mode 100644 index 0000000000..de879e23ab --- /dev/null +++ b/package/attr/0002-Switch-back-to-syscall.patch @@ -0,0 +1,126 @@ +From 14adc898a36948267bfe5c63b399996879e94c98 Mon Sep 17 00:00:00 2001 +From: Andreas Gruenbacher +Date: Fri, 17 Aug 2018 14:07:31 +0200 +Subject: Switch back to syscall() + +Switch back to syscall() for the *xattr system calls. The current +mechanism of forwarding those calls to glibc breaks libraries like +libfakeroot (fakeroot) and libasan (the gcc address sanitizer; gcc +-fsanitize=address). + +Those libraries provide wrappers for functions defined in other shared +libraries, usually glibc, do their own processing, and forward calls to +the original symbols looke dup via dlsym(RTLD_NEXT, "symbol_name"). In +our case, dlsym returns the libattr_*xattr wrappers. However, when our +wrappers try calling glibc, they end up calling the libfakeroot / +libasan wrappers instead because those override the original symbols => +recursion. + +The libattr_*xattr wrappers will only be used when symbols are looked up +at runtime (dlopen / dlsym). Programs linking against libattr will +directly use the glibc provided symbols. Therefore, the slightly worse +performance of syscall() won't affect any of the "normal" users of +libattr. + +[nicolas.cavallari: with uclibc-ng, the recursion always happen] +Signed-off-by: Nicolas Cavallari +--- + libattr/syscalls.c | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +diff --git a/libattr/syscalls.c b/libattr/syscalls.c +index 3013aa0..721ad7f 100644 +--- a/libattr/syscalls.c ++++ b/libattr/syscalls.c +@@ -22,6 +22,8 @@ + + #include "config.h" + ++#include ++#include + #include + + #ifdef HAVE_VISIBILITY_ATTRIBUTE +@@ -31,67 +33,67 @@ + int libattr_setxattr(const char *path, const char *name, + void *value, size_t size, int flags) + { +- return setxattr(path, name, value, size, flags); ++ return syscall(__NR_setxattr, path, name, value, size, flags); + } + + int libattr_lsetxattr(const char *path, const char *name, + void *value, size_t size, int flags) + { +- return lsetxattr(path, name, value, size, flags); ++ return syscall(__NR_lsetxattr, path, name, value, size, flags); + } + + int libattr_fsetxattr(int filedes, const char *name, + void *value, size_t size, int flags) + { +- return fsetxattr(filedes, name, value, size, flags); ++ return syscall(__NR_fsetxattr, filedes, name, value, size, flags); + } + + ssize_t libattr_getxattr(const char *path, const char *name, + void *value, size_t size) + { +- return getxattr(path, name, value, size); ++ return syscall(__NR_getxattr, path, name, value, size); + } + + ssize_t libattr_lgetxattr(const char *path, const char *name, + void *value, size_t size) + { +- return lgetxattr(path, name, value, size); ++ return syscall(__NR_lgetxattr, path, name, value, size); + } + + ssize_t libattr_fgetxattr(int filedes, const char *name, + void *value, size_t size) + { +- return fgetxattr(filedes, name, value, size); ++ return syscall(__NR_fgetxattr, filedes, name, value, size); + } + + ssize_t libattr_listxattr(const char *path, char *list, size_t size) + { +- return listxattr(path, list, size); ++ return syscall(__NR_listxattr, path, list, size); + } + + ssize_t libattr_llistxattr(const char *path, char *list, size_t size) + { +- return llistxattr(path, list, size); ++ return syscall(__NR_llistxattr, path, list, size); + } + + ssize_t libattr_flistxattr(int filedes, char *list, size_t size) + { +- return flistxattr(filedes, list, size); ++ return syscall(__NR_flistxattr, filedes, list, size); + } + + int libattr_removexattr(const char *path, const char *name) + { +- return removexattr(path, name); ++ return syscall(__NR_removexattr, path, name); + } + + int libattr_lremovexattr(const char *path, const char *name) + { +- return lremovexattr(path, name); ++ return syscall(__NR_lremovexattr, path, name); + } + + int libattr_fremovexattr(int filedes, const char *name) + { +- return fremovexattr(filedes, name); ++ return syscall(__NR_fremovexattr, filedes, name); + } + + #ifdef HAVE_VISIBILITY_ATTRIBUTE +-- +cgit v1.0-41-gc330 + diff --git a/package/aubio/0001-Fix-build-with-FFmpeg-4.0.patch b/package/aubio/0001-Fix-build-with-FFmpeg-4.0.patch new file mode 100644 index 0000000000..40ff2dfb89 --- /dev/null +++ b/package/aubio/0001-Fix-build-with-FFmpeg-4.0.patch @@ -0,0 +1,32 @@ +From 5690daf759b473b9d13b4547ef37adc2695cf524 Mon Sep 17 00:00:00 2001 +From: James Cowgill +Date: Sun, 25 Feb 2018 14:23:25 +0000 +Subject: [PATCH] Fix build with FFmpeg 4.0 + +Downloaded from upstream commit +https://git.aubio.org/?p=aubio.git;a=commitdiff;h=5690daf759b473b9d13b4547ef37adc2695cf524 + +Signed-off-by: Bernd Kuhls +--- + src/io/source_avcodec.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/io/source_avcodec.c b/src/io/source_avcodec.c +index ccdce807..8197445c 100644 +--- a/src/io/source_avcodec.c ++++ b/src/io/source_avcodec.c +@@ -58,7 +58,11 @@ + #include "fmat.h" + #include "source_avcodec.h" + ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(56, 56, 0) + #define AUBIO_AVCODEC_MAX_BUFFER_SIZE FF_MIN_BUFFER_SIZE ++#else ++#define AUBIO_AVCODEC_MAX_BUFFER_SIZE AV_INPUT_BUFFER_MIN_SIZE ++#endif + + struct _aubio_source_avcodec_t { + uint_t hop_size; +-- +2.14.4 + diff --git a/package/aubio/aubio.mk b/package/aubio/aubio.mk index b0cc8b899e..ba182d9bd7 100644 --- a/package/aubio/aubio.mk +++ b/package/aubio/aubio.mk @@ -27,7 +27,7 @@ AUBIO_CONF_OPTS += --disable-sndfile endif # Could not compile aubio in double precision mode with libsamplerate -ifeq ($(BR2_PACKAGE_LIBSAMPLERATE)$(BR2_PACKAGE_FFTW_PRECISION_SINGLE),yy) +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE):$(BR2_PACKAGE_FFTW_DOUBLE),y:) AUBIO_DEPENDENCIES += libsamplerate AUBIO_CONF_OPTS += --enable-samplerate else @@ -41,15 +41,14 @@ else AUBIO_CONF_OPTS += --disable-jack endif -ifeq ($(BR2_PACKAGE_FFTW),y) -AUBIO_DEPENDENCIES += fftw # fftw3 require double otherwise it will look for fftw3f -ifeq ($(BR2_PACKAGE_FFTW_PRECISION_DOUBLE),y) +ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y) AUBIO_CONF_OPTS += --enable-fftw3 --enable-double -else ifeq ($(BR2_PACKAGE_FFTW_PRECISION_SINGLE),y) +AUBIO_DEPENDENCIES += fftw-double +else ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y) AUBIO_CONF_OPTS += --enable-fftw3f --disable-double -endif -else # !BR2_PACKAGE_FFTW +AUBIO_DEPENDENCIES += fftw-single +else AUBIO_CONF_OPTS += --disable-fftw3 endif diff --git a/package/audit/0001-Fix-audispd-path-in-auditd.conf.patch b/package/audit/0001-Fix-audispd-path-in-auditd.conf.patch new file mode 100644 index 0000000000..ccf45db911 --- /dev/null +++ b/package/audit/0001-Fix-audispd-path-in-auditd.conf.patch @@ -0,0 +1,32 @@ +From 6e1fd09f7bc131c8f16d9cc43e2455ba4650c651 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Sat, 3 Nov 2018 08:25:58 -0300 +Subject: [PATCH] Fix audispd path in auditd.conf + +audispd is installed at /usr/sbin but the configuration file pointed +to /sbin, causing auditd to fail on startup. + +This patch cannot be sent upstream because audispd does not exist +anymore on the master branch (it was merged to auditd). + +Signed-off-by: Carlos Santos +--- + init.d/auditd.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/init.d/auditd.conf b/init.d/auditd.conf +index 4dcda83..998904f 100644 +--- a/init.d/auditd.conf ++++ b/init.d/auditd.conf +@@ -13,7 +13,7 @@ max_log_file = 8 + num_logs = 5 + priority_boost = 4 + disp_qos = lossy +-dispatcher = /sbin/audispd ++dispatcher = /usr/sbin/audispd + name_format = NONE + ##name = mydomain + max_log_file_action = ROTATE +-- +2.17.1 + diff --git a/package/audit/S01auditd b/package/audit/S02auditd similarity index 100% rename from package/audit/S01auditd rename to package/audit/S02auditd diff --git a/package/audit/audit.hash b/package/audit/audit.hash index fb37577782..d8c11a3d19 100644 --- a/package/audit/audit.hash +++ b/package/audit/audit.hash @@ -1,4 +1,4 @@ #Locally computed -sha256 67b59b2b77afee9ed87afa4d80ffc8e6f3a1f4bbedd5f2871f387c952147bcba audit-2.8.2.tar.gz +sha256 a410694d09fc5708d980a61a5abcb9633a591364f1ecc7e97ad5daef9c898c38 audit-2.8.4.tar.gz sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/package/audit/audit.mk b/package/audit/audit.mk index 2f6e6653b3..0988f88d8d 100644 --- a/package/audit/audit.mk +++ b/package/audit/audit.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUDIT_VERSION = 2.8.2 +AUDIT_VERSION = 2.8.4 AUDIT_SITE = http://people.redhat.com/sgrubb/audit AUDIT_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) AUDIT_LICENSE_FILES = COPYING COPYING.LIB @@ -38,7 +38,7 @@ AUDIT_CONF_OPTS += --disable-systemd endif define AUDIT_INSTALL_INIT_SYSV - $(INSTALL) -D -m 755 package/audit/S01auditd $(TARGET_DIR)/etc/init.d/S01auditd + $(INSTALL) -D -m 755 package/audit/S02auditd $(TARGET_DIR)/etc/init.d/S02auditd endef define AUDIT_INSTALL_INIT_SYSTEMD diff --git a/package/augeas/augeas.hash b/package/augeas/augeas.hash index 46b99dd8fe..d69ef8577e 100644 --- a/package/augeas/augeas.hash +++ b/package/augeas/augeas.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature from -# http://download.augeas.net/augeas-1.10.1.tar.gz.sig -sha256 52db256afab261d31cc147eaa1a71795a5fec59e888dfd0b65a84c7aacd6364d augeas-1.10.1.tar.gz +# http://download.augeas.net/augeas-1.11.0.tar.gz.sig +sha256 393ce8f4055af89cd4c20bf903eacbbd909cf427891f41b56dc2ba66243ea0b0 augeas-1.11.0.tar.gz sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING diff --git a/package/augeas/augeas.mk b/package/augeas/augeas.mk index c4b8b7e6c2..8cb4f74e41 100644 --- a/package/augeas/augeas.mk +++ b/package/augeas/augeas.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUGEAS_VERSION = 1.10.1 +AUGEAS_VERSION = 1.11.0 AUGEAS_SITE = http://download.augeas.net AUGEAS_INSTALL_STAGING = YES AUGEAS_LICENSE = LGPL-2.1+ diff --git a/package/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch b/package/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch new file mode 100644 index 0000000000..0e8408c830 --- /dev/null +++ b/package/avahi/0001-Drop-legacy-unicast-queries-from-address-not-on-loca.patch @@ -0,0 +1,48 @@ +From e111def44a7df4624a4aa3f85fe98054bffb6b4f Mon Sep 17 00:00:00 2001 +From: Trent Lloyd +Date: Sat, 22 Dec 2018 09:06:07 +0800 +Subject: [PATCH] Drop legacy unicast queries from address not on local link + +When handling legacy unicast queries, ensure that the source IP is +inside a subnet on the local link, otherwise drop the packet. + +Fixes #145 +Fixes #203 +CVE-2017-6519 +CVE-2018-100084 + +Backported from: e111def44a7df4624a4aa3f85fe98054bffb6b4f +Signed-off-by: Artem Panfilov +--- + avahi-core/server.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/avahi-core/server.c b/avahi-core/server.c +index a2cb19a8..a2580e38 100644 +--- a/avahi-core/server.c ++++ b/avahi-core/server.c +@@ -930,6 +930,7 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres + + if (avahi_dns_packet_is_query(p)) { + int legacy_unicast = 0; ++ char t[AVAHI_ADDRESS_STR_MAX]; + + /* For queries EDNS0 might allow ARCOUNT != 0. We ignore the + * AR section completely here, so far. Until the day we add +@@ -947,6 +948,13 @@ static void dispatch_packet(AvahiServer *s, AvahiDnsPacket *p, const AvahiAddres + legacy_unicast = 1; + } + ++ if (!is_mdns_mcast_address(dst_address) && ++ !avahi_interface_address_on_link(i, src_address)) { ++ ++ avahi_log_debug("Received non-local unicast query from host %s on interface '%s.%i'.", avahi_address_snprint(t, sizeof(t), src_address), i->hardware->name, i->protocol); ++ return; ++ } ++ + if (legacy_unicast) + reflect_legacy_unicast_query_packet(s, p, i, src_address, port); + +-- +2.19.1 + diff --git a/package/avahi/S05avahi-setup.sh b/package/avahi/S05avahi-setup.sh old mode 100755 new mode 100644 diff --git a/package/avahi/S50avahi-daemon b/package/avahi/S50avahi-daemon old mode 100755 new mode 100644 diff --git a/package/avrdude/avrdude.mk b/package/avrdude/avrdude.mk index 0e34076e38..ae378dfbac 100644 --- a/package/avrdude/avrdude.mk +++ b/package/avrdude/avrdude.mk @@ -15,8 +15,6 @@ AVRDUDE_AUTORECONF = YES AVRDUDE_CONF_OPTS = --enable-linuxgpio AVRDUDE_DEPENDENCIES = elfutils libusb libusb-compat ncurses \ host-flex host-bison -AVRDUDE_LICENSE = GPL-2.0+ -AVRDUDE_LICENSE_FILES = avrdude/COPYING ifeq ($(BR2_PACKAGE_LIBFTDI1),y) AVRDUDE_DEPENDENCIES += libftdi1 diff --git a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk index 504929aee6..8b3f670399 100644 --- a/package/azure-iot-sdk-c/azure-iot-sdk-c.mk +++ b/package/azure-iot-sdk-c/azure-iot-sdk-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -AZURE_IOT_SDK_C_VERSION = 2018-03-16 +AZURE_IOT_SDK_C_VERSION = 2018-12-13 AZURE_IOT_SDK_C_SITE = https://github.com/Azure/azure-iot-sdk-c AZURE_IOT_SDK_C_SITE_METHOD = git AZURE_IOT_SDK_C_GIT_SUBMODULES = YES diff --git a/package/bandwidthd/Config.in b/package/bandwidthd/Config.in index 8a19733c2c..5a3529e0c4 100644 --- a/package/bandwidthd/Config.in +++ b/package/bandwidthd/Config.in @@ -35,6 +35,7 @@ if BR2_PACKAGE_BANDWIDTHD config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL bool "enable postgresql log target support" depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR # postgresql select BR2_PACKAGE_POSTGRESQL help Enable support for logging the bandwidthd data to a remote @@ -42,8 +43,8 @@ config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL through a php site. See README in the source code (github.com/nroach44/bandwidthd) for more information. -comment "postgresql support needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +comment "postgresql support needs a toolchain w/ dynamic library, wchar" + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR config BR2_PACKAGE_BANDWIDTHD_SQLITE3 bool "enable sqlite3 log storage" diff --git a/package/bash/0001-bash44-019.patch b/package/bash/0001-bash44-019.patch new file mode 100644 index 0000000000..b3d2f331b6 --- /dev/null +++ b/package/bash/0001-bash44-019.patch @@ -0,0 +1,54 @@ +From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-019 + +Signed-off-by: Peter Korsgaard + + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-019 + +Bug-Reported-by: Kieran Grant +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2018-02/msg00002.html + +Bug-Description: + +With certain values for PS1, especially those that wrap onto three or more +lines, readline will miscalculate the number of invisible characters, +leading to crashes and core dumps. + +Patch (apply with `patch -p0'): + +*** bash-4.4.18/lib/readline/display.c 2016-07-28 14:49:33.000000000 -0400 +--- b/lib/readline/display.c 2018-02-03 19:19:35.000000000 -0500 +*************** +*** 772,776 **** + wadjust = (newlines == 0) + ? prompt_invis_chars_first_line +! : ((newlines == prompt_lines_estimate) ? wrap_offset : prompt_invis_chars_first_line); + + /* fix from Darin Johnson for prompt string with +--- b/788,794 ---- + wadjust = (newlines == 0) + ? prompt_invis_chars_first_line +! : ((newlines == prompt_lines_estimate) +! ? (wrap_offset - prompt_invis_chars_first_line) +! : 0); + + /* fix from Darin Johnson for prompt string with +*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */ +--- b/26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0002-bash44-020.patch b/package/bash/0002-bash44-020.patch new file mode 100644 index 0000000000..20f3abb586 --- /dev/null +++ b/package/bash/0002-bash44-020.patch @@ -0,0 +1,181 @@ +From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-020 + +Signed-off-by: Peter Korsgaard + + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-020 + +Bug-Reported-by: Graham Northup +Bug-Reference-ID: <537530c3-61f0-349b-9de6-fa4e2487f428@clarkson.edu> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2017-02/msg00025.html + +Bug-Description: + +In circumstances involving long-running scripts that create and reap many +processes, it is possible for the hash table bash uses to store exit +statuses from asynchronous processes to develop loops. This patch fixes +the loop causes and adds code to detect any future loops. + +Patch (apply with `patch -p0'): + +*** bash-4.4-patched/jobs.c 2016-11-11 13:42:55.000000000 -0500 +--- b/jobs.c 2017-02-22 15:16:28.000000000 -0500 +*************** +*** 813,818 **** + struct pidstat *ps; + +! bucket = pshash_getbucket (pid); +! psi = bgp_getindex (); + ps = &bgpids.storage[psi]; + +--- b/796,815 ---- + struct pidstat *ps; + +! /* bucket == existing chain of pids hashing to same value +! psi = where were going to put this pid/status */ +! +! bucket = pshash_getbucket (pid); /* index into pidstat_table */ +! psi = bgp_getindex (); /* bgpids.head, index into storage */ +! +! /* XXX - what if psi == *bucket? */ +! if (psi == *bucket) +! { +! #ifdef DEBUG +! internal_warning ("hashed pid %d (pid %d) collides with bgpids.head, skipping", psi, pid); +! #endif +! bgpids.storage[psi].pid = NO_PID; /* make sure */ +! psi = bgp_getindex (); /* skip to next one */ +! } +! + ps = &bgpids.storage[psi]; + +*************** +*** 842,845 **** +--- b/839,843 ---- + { + struct pidstat *ps; ++ ps_index_t *bucket; + + ps = &bgpids.storage[psi]; +*************** +*** 847,856 **** + return; + +! if (ps->bucket_next != NO_PID) + bgpids.storage[ps->bucket_next].bucket_prev = ps->bucket_prev; +! if (ps->bucket_prev != NO_PID) + bgpids.storage[ps->bucket_prev].bucket_next = ps->bucket_next; + else +! *(pshash_getbucket (ps->pid)) = ps->bucket_next; + } + +--- b/845,861 ---- + return; + +! if (ps->bucket_next != NO_PIDSTAT) + bgpids.storage[ps->bucket_next].bucket_prev = ps->bucket_prev; +! if (ps->bucket_prev != NO_PIDSTAT) + bgpids.storage[ps->bucket_prev].bucket_next = ps->bucket_next; + else +! { +! bucket = pshash_getbucket (ps->pid); +! *bucket = ps->bucket_next; /* deleting chain head in hash table */ +! } +! +! /* clear out this cell, just in case */ +! ps->pid = NO_PID; +! ps->bucket_next = ps->bucket_prev = NO_PIDSTAT; + } + +*************** +*** 859,863 **** + pid_t pid; + { +! ps_index_t psi; + + if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0) +--- b/864,868 ---- + pid_t pid; + { +! ps_index_t psi, orig_psi; + + if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0) +*************** +*** 865,871 **** + + /* Search chain using hash to find bucket in pidstat_table */ +! for (psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next) +! if (bgpids.storage[psi].pid == pid) +! break; + + if (psi == NO_PIDSTAT) +--- b/870,883 ---- + + /* Search chain using hash to find bucket in pidstat_table */ +! for (orig_psi = psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next) +! { +! if (bgpids.storage[psi].pid == pid) +! break; +! if (orig_psi == bgpids.storage[psi].bucket_next) /* catch reported bug */ +! { +! internal_warning ("bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next", psi); +! return 0; +! } +! } + + if (psi == NO_PIDSTAT) +*************** +*** 905,909 **** + pid_t pid; + { +! ps_index_t psi; + + if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0) +--- b/917,921 ---- + pid_t pid; + { +! ps_index_t psi, orig_psi; + + if (bgpids.storage == 0 || bgpids.nalloc == 0 || bgpids.npid == 0) +*************** +*** 911,917 **** + + /* Search chain using hash to find bucket in pidstat_table */ +! for (psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next) +! if (bgpids.storage[psi].pid == pid) +! return (bgpids.storage[psi].status); + + return -1; +--- b/923,936 ---- + + /* Search chain using hash to find bucket in pidstat_table */ +! for (orig_psi = psi = *(pshash_getbucket (pid)); psi != NO_PIDSTAT; psi = bgpids.storage[psi].bucket_next) +! { +! if (bgpids.storage[psi].pid == pid) +! return (bgpids.storage[psi].status); +! if (orig_psi == bgpids.storage[psi].bucket_next) /* catch reported bug */ +! { +! internal_warning ("bgp_search: LOOP: psi (%d) == storage[psi].bucket_next", psi); +! return -1; +! } +! } + + return -1; +*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ +--- b/26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0003-bash44-021.patch b/package/bash/0003-bash44-021.patch new file mode 100644 index 0000000000..52f3b75eac --- /dev/null +++ b/package/bash/0003-bash44-021.patch @@ -0,0 +1,61 @@ +From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-021 + +Signed-off-by: Peter Korsgaard + + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-021 + +Bug-Reported-by: werner@suse.de +Bug-Reference-ID: <201803281402.w2SE2VOa000476@noether.suse.de> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2018-03/msg00196.html + +Bug-Description: + +A SIGINT received inside a SIGINT trap handler can possibly cause the +shell to loop. + +Patch (apply with `patch -p0'): + +*** bash-20180329/jobs.c 2018-02-11 18:07:22.000000000 -0500 +--- b/jobs.c 2018-04-02 14:24:21.000000000 -0400 +*************** +*** 2690,2694 **** + if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB)) + { +! old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler); + waiting_for_child = 0; + if (old_sigint_handler == SIG_IGN) +--- b/2690,2704 ---- + if (job_control == 0 || (subshell_environment&SUBSHELL_COMSUB)) + { +! SigHandler *temp_sigint_handler; +! +! temp_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler); +! if (temp_sigint_handler == wait_sigint_handler) +! { +! #if defined (DEBUG) +! internal_warning ("wait_for: recursively setting old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap); +! #endif +! } +! else +! old_sigint_handler = temp_sigint_handler; + waiting_for_child = 0; + if (old_sigint_handler == SIG_IGN) +*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ +--- b/26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 21 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0004-bash44-022.patch b/package/bash/0004-bash44-022.patch new file mode 100644 index 0000000000..0db270a17e --- /dev/null +++ b/package/bash/0004-bash44-022.patch @@ -0,0 +1,65 @@ +From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-022 + +Signed-off-by: Peter Korsgaard + + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-022 + +Bug-Reported-by: Nuzhna Pomoshch +Bug-Reference-ID: <1317167476.1492079.1495999776464@mail.yahoo.com> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2017-05/msg00005.html + +Bug-Description: + +There are cases where a failing readline command (e.g., delete-char at the end +of a line) can cause a multi-character key sequence to `back up' and attempt +to re-read some of the characters in the sequence. + +Patch (apply with `patch -p0'): + +*** bash-4.4-patched/lib/readline/readline.c 2016-04-20 15:53:52.000000000 -0400 +--- b/lib/readline/readline.c 2018-05-26 17:19:00.000000000 -0400 +*************** +*** 1058,1062 **** + r = _rl_dispatch (ANYOTHERKEY, m); + } +! else if (r && map[ANYOTHERKEY].function) + { + /* We didn't match (r is probably -1), so return something to +--- b/1056,1060 ---- + r = _rl_dispatch (ANYOTHERKEY, m); + } +! else if (r < 0 && map[ANYOTHERKEY].function) + { + /* We didn't match (r is probably -1), so return something to +*************** +*** 1070,1074 **** + return -2; + } +! else if (r && got_subseq) + { + /* OK, back up the chain. */ +--- b/1068,1072 ---- + return -2; + } +! else if (r < 0 && got_subseq) /* XXX */ + { + /* OK, back up the chain. */ +*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 21 + + #endif /* _PATCHLEVEL_H_ */ +--- b/26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 22 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/0005-bash44-023.patch b/package/bash/0005-bash44-023.patch new file mode 100644 index 0000000000..05b18902a5 --- /dev/null +++ b/package/bash/0005-bash44-023.patch @@ -0,0 +1,56 @@ +From https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-023 + +Signed-off-by: Peter Korsgaard + + BASH PATCH REPORT + ================= + +Bash-Release: 4.4 +Patch-ID: bash44-023 + +Bug-Reported-by: Martijn Dekker +Bug-Reference-ID: <5326d6b9-2625-1d32-3e6e-ad1d15462c09@inlv.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00041.html + +Bug-Description: + +When sourcing a file from an interactive shell, setting the SIGINT handler +to the default and typing ^C will cause the shell to exit. + +Patch (apply with `patch -p0'): + +*** bash-4.4-patched/builtins/trap.def 2016-01-25 13:32:38.000000000 -0500 +--- b/builtins/trap.def 2016-11-06 12:04:35.000000000 -0500 +*************** +*** 99,102 **** +--- b/99,103 ---- + + extern int posixly_correct, subshell_environment; ++ extern int sourcelevel, running_trap; + + int +*************** +*** 213,216 **** +--- b/214,220 ---- + if (interactive) + set_signal_handler (SIGINT, sigint_sighandler); ++ /* special cases for interactive == 0 */ ++ else if (interactive_shell && (sourcelevel||running_trap)) ++ set_signal_handler (SIGINT, sigint_sighandler); + else + set_signal_handler (SIGINT, termsig_sighandler); +*** bash-4.4/patchlevel.h 2016-06-22 14:51:03.000000000 -0400 +--- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 22 + + #endif /* _PATCHLEVEL_H_ */ +--- b/26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 23 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch b/package/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch deleted file mode 100644 index 393ad9039a..0000000000 --- a/package/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch +++ /dev/null @@ -1,28 +0,0 @@ -configure.ac: add check for NO_GETCONTEXT definition - -Signed-off-by: Samuel Martin -[yann.morin.1998@free.fr: add a comment, change variable name, use - AS_IF, remove debug traces, use AC_CHECK_FUNCS (as suggested by - Thomas)] -Signed-off-by: "Yann E. MORIN" -Cc: Thomas Petazzoni - ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- bdwgc-7.2f.orig/configure.ac 2014-06-01 19:00:47.000000000 +0200 -+++ bdwgc-7.2f/configure.ac 2014-12-23 14:13:11.585716713 +0100 -@@ -365,6 +365,12 @@ - AC_MSG_RESULT($ac_cv_fno_strict_aliasing) - fi - -+# Check for getcontext (uClibc can be configured without it, for example) -+AC_CHECK_FUNCS([getcontext]) -+AS_IF([test "$ac_cv_func_getcontext" = "no"], -+ [CFLAGS="$CFLAGS -DNO_GETCONTEXT" -+ CPPFLAGS="$CPPFLAGS -DNO_GETCONTEXT"]) -+ - case "$host" in - # While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64 - # and unnecessary everywhere. diff --git a/package/bdwgc/0001-fix-link-with-of-bdw-gc-with-a-system-atomic_ops.patch b/package/bdwgc/0001-fix-link-with-of-bdw-gc-with-a-system-atomic_ops.patch new file mode 100644 index 0000000000..0d5e6b0905 --- /dev/null +++ b/package/bdwgc/0001-fix-link-with-of-bdw-gc-with-a-system-atomic_ops.patch @@ -0,0 +1,57 @@ +From b549c7faa9903340b09ef2592a2c7c213a110220 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 5 Nov 2018 22:50:40 +0100 +Subject: [PATCH] fix link with of bdw-gc with a system atomic_ops + +When bdw-gc is linked with libatomic_ops, bdw-gc.pc must contain the +needed libraries (such as -latomic_ops) otherwise build of applications +such as guile will fail on link stage: + +.libs/libguile_2.0_la-posix.o: In function `scm_tmpnam': +posix.c:(.text+0x2080): warning: the use of `tmpnam' is dangerous, better use `mkstemp' + CCLD guile +/home/buildroot/autobuild/run/instance-2/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libgc.so: undefined reference to `AO_fetch_compare_and_swap_emulation' +/home/buildroot/autobuild/run/instance-2/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libgc.so: undefined reference to `AO_store_full_emulation' + +So set ATOMIC_OPS_LIBS to -latomic_ops when a system atomic_ops library +is used and use ATOMIC_OPS_LIBS in bdw-gc.pc.in + +Fixes: + - http://autobuild.buildroot.org/results/2b23d445e57a5e0f417f5cb9417b0a668bb7bf1c + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/ivmai/bdwgc/pull/247] +--- + bdw-gc.pc.in | 2 +- + configure.ac | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/bdw-gc.pc.in b/bdw-gc.pc.in +index ef4c2341..9fc42465 100644 +--- a/bdw-gc.pc.in ++++ b/bdw-gc.pc.in +@@ -6,5 +6,5 @@ includedir=@includedir@ + Name: Boehm-Demers-Weiser Conservative Garbage Collector + Description: A garbage collector for C and C++ + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -lgc ++Libs: -L${libdir} -lgc @ATOMIC_OPS_LIBS@ + Cflags: -I${includedir} +diff --git a/configure.ac b/configure.ac +index 21abe8fa..9ffe81de 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1081,7 +1081,9 @@ AS_IF([test x"$with_libatomic_ops" = xno \ + AC_MSG_CHECKING([which libatomic_ops to use]) + AS_IF([test x"$with_libatomic_ops" != xno], + [ AS_IF([test x"$with_libatomic_ops" != xnone -a x"$THREADS" != xnone], +- [ AC_MSG_RESULT([external]) ], ++ [ AC_MSG_RESULT([external]) ++ ATOMIC_OPS_LIBS="-latomic_ops" ++ AC_SUBST([ATOMIC_OPS_LIBS]) ], + [ AC_MSG_RESULT([none]) + AS_IF([test x"$THREADS" != xnone], + [ AC_DEFINE([GC_BUILTIN_ATOMIC], [1], +-- +2.17.1 + diff --git a/package/bdwgc/0002-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch b/package/bdwgc/0002-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch deleted file mode 100644 index e17ed84666..0000000000 --- a/package/bdwgc/0002-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 31eef02317d59b4d204624efbddaea641e861390 Mon Sep 17 00:00:00 2001 -From: Mikael Djurfeldt -Date: Sun, 26 Feb 2017 20:09:56 +0100 -Subject: [PATCH] Fix 'size of tv is unknown' error in - brief_async_signal_safe_sleep (musl) (fix commits 62097c3, 9f48082) - -Include to get struct timeval defined and select() declared. - -* pthread_stop_world.c [GC_ENABLE_SUSPEND_THREAD]: Include sys/time.h -before GC_brief_async_signal_safe_sleep definition. - -Upstream status: upstream -commit ffad61d3bbe86c09ffe062dab393fcb0e4940580 - -[Romain: backported to 7.6.0] -Signed-off-by: Romain Naour ---- - pthread_stop_world.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pthread_stop_world.c b/pthread_stop_world.c -index dad1fdc..8c76944 100644 ---- a/pthread_stop_world.c -+++ b/pthread_stop_world.c -@@ -391,6 +391,7 @@ STATIC void GC_restart_handler(int sig) - # ifndef GC_TIME_LIMIT - # define GC_TIME_LIMIT 50 - # endif -+# include - - STATIC void GC_brief_async_signal_safe_sleep(void) - { --- -2.9.4 - diff --git a/package/bdwgc/bdwgc.hash b/package/bdwgc/bdwgc.hash index 0ebc41c76d..6cc4674e62 100644 --- a/package/bdwgc/bdwgc.hash +++ b/package/bdwgc/bdwgc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 bd112005563d787675163b5afff02c364fc8deb13a99c03f4e80fdf6608ad41e gc-7.6.2.tar.gz -sha256 9944acfcee6cca308d974933977c1608804f5ad4345aac7cb8608137104e3742 README.QUICK +sha256 8f23f9a20883d00af2bff122249807e645bdf386de0de8cbd6cce3e0c6968f04 gc-8.0.0.tar.gz +sha256 aeeaabbf44e67d413e18719f0c6ac9c23387ab0b33e7a15ee46cf59ddef12cc7 README.QUICK diff --git a/package/bdwgc/bdwgc.mk b/package/bdwgc/bdwgc.mk index 5603df8d9d..3979cd88c8 100644 --- a/package/bdwgc/bdwgc.mk +++ b/package/bdwgc/bdwgc.mk @@ -4,7 +4,7 @@ # ################################################################################ -BDWGC_VERSION = 7.6.2 +BDWGC_VERSION = 8.0.0 BDWGC_SOURCE = gc-$(BDWGC_VERSION).tar.gz BDWGC_SITE = http://www.hboehm.info/gc/gc_source BDWGC_INSTALL_STAGING = YES @@ -12,24 +12,26 @@ BDWGC_LICENSE = bdwgc license BDWGC_LICENSE_FILES = README.QUICK BDWGC_DEPENDENCIES = libatomic_ops host-pkgconf HOST_BDWGC_DEPENDENCIES = host-libatomic_ops host-pkgconf - -# The libtool shipped with the package is bogus and generates some -# -L/usr/lib flags. It uses a version not supported by Buildroot -# libtool patches, so autoreconfiguring the packages is the easiest -# solution. +# We're patching configure.ac BDWGC_AUTORECONF = YES -BDWGC_CFLAGS = $(TARGET_CFLAGS) +BDWGC_CONF_OPTS = CFLAGS_EXTRA="$(BDWGC_CFLAGS_EXTRA)" ifeq ($(BR2_sparc),y) -BDWGC_CFLAGS += -DAO_NO_SPARC_V9 +BDWGC_CFLAGS_EXTRA += -DAO_NO_SPARC_V9 endif ifeq ($(BR2_STATIC_LIBS),y) -BDWGC_CFLAGS += -DGC_NO_DLOPEN +BDWGC_CFLAGS_EXTRA += -DGC_NO_DLOPEN endif # Ensure we use the system libatomic_ops, and not the internal one. -BDWGC_CONF_OPTS = --with-libatomic-ops=yes CFLAGS="$(BDWGC_CFLAGS)" +BDWGC_CONF_OPTS += --with-libatomic-ops=yes HOST_BDWGC_CONF_OPTS = --with-libatomic-ops=yes +ifeq ($(BR2_INSTALL_LIBSTDCPP),y) +BDWGC_CONF_OPTS += --enable-cplusplus +else +BDWGC_CONF_OPTS += --disable-cplusplus +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch b/package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch new file mode 100644 index 0000000000..32f167996f --- /dev/null +++ b/package/beecrypt/0003-don-t-check-for-cplusplus-compiler.patch @@ -0,0 +1,27 @@ +configure.ac: don't check for C++ compiler + +Signed-off-by: Fabrice Fontaine + +diff -durN beecrypt-4.2.1-orig/configure.ac beecrypt-4.2.1/configure.ac +--- beecrypt-4.2.1-orig/configure.ac 2019-03-01 19:58:16.516117640 +0100 ++++ beecrypt-4.2.1/configure.ac 2019-03-01 21:10:17.707391803 +0100 +@@ -119,9 +119,6 @@ + + # Checks for C compiler and preprocessor + AC_PROG_CC +-AC_PROG_CPP +-AC_PROG_CXX +-AC_PROG_CXXCPP + AM_PROG_AS + AC_PROG_LD + AC_PROG_LN_S +@@ -133,9 +130,6 @@ + AC_LANG_PUSH(C) + AC_OPENMP + AC_LANG_POP(C) +-AC_LANG_PUSH(C++) +-AC_OPENMP +-AC_LANG_POP(C++) + + # Checks for compiler characteristics and flags + if test "$ac_enable_expert_mode" = no; then diff --git a/package/berkeleydb/berkeleydb.mk b/package/berkeleydb/berkeleydb.mk index a315943ee6..e5c11bddcf 100644 --- a/package/berkeleydb/berkeleydb.mk +++ b/package/berkeleydb/berkeleydb.mk @@ -20,18 +20,11 @@ BERKELEYDB_BINARIES = db_archive db_checkpoint db_deadlock db_dump \ db_hotbackup db_load db_log_verify db_printlog db_recover db_replicate \ db_stat db_tuner db_upgrade db_verify -# Internal error, aborting at dw2gencfi.c:214 in emit_expr_encoded -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 -ifeq ($(BR2_m68k_cf),y) -BERKELEYDB_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -fno-dwarf2-cfi-asm" -endif - # build directory can't be the directory where configure are there, so.. define BERKELEYDB_CONFIGURE_CMDS (cd $(@D)/build_unix; rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_ARGS) \ - $(BERKELEYDB_CONF_ENV) \ ../dist/configure $(QUIET) \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ diff --git a/package/bind/0002-cross.patch b/package/bind/0001-cross.patch similarity index 100% rename from package/bind/0002-cross.patch rename to package/bind/0001-cross.patch diff --git a/package/bind/0002-Replace-atomic-operations-in-bin-named-client.c-with.patch b/package/bind/0002-Replace-atomic-operations-in-bin-named-client.c-with.patch new file mode 100644 index 0000000000..2701de766a --- /dev/null +++ b/package/bind/0002-Replace-atomic-operations-in-bin-named-client.c-with.patch @@ -0,0 +1,133 @@ +From ef49780d30d3ddc5735cfc32561b678a634fa72f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= +Date: Wed, 17 Apr 2019 15:22:27 +0200 +Subject: [PATCH] Replace atomic operations in bin/named/client.c with + isc_refcount reference counting + +Signed-off-by: Peter Korsgaard +--- + bin/named/client.c | 18 +++++++----------- + bin/named/include/named/interfacemgr.h | 5 +++-- + bin/named/interfacemgr.c | 7 +++++-- + 3 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/bin/named/client.c b/bin/named/client.c +index 845326abc0..29fecadca8 100644 +--- a/bin/named/client.c ++++ b/bin/named/client.c +@@ -402,12 +402,10 @@ tcpconn_detach(ns_client_t *client) { + static void + mark_tcp_active(ns_client_t *client, bool active) { + if (active && !client->tcpactive) { +- isc_atomic_xadd(&client->interface->ntcpactive, 1); ++ isc_refcount_increment0(&client->interface->ntcpactive, NULL); + client->tcpactive = active; + } else if (!active && client->tcpactive) { +- uint32_t old = +- isc_atomic_xadd(&client->interface->ntcpactive, -1); +- INSIST(old > 0); ++ isc_refcount_decrement(&client->interface->ntcpactive, NULL); + client->tcpactive = active; + } + } +@@ -554,7 +552,7 @@ exit_check(ns_client_t *client) { + if (client->mortal && TCP_CLIENT(client) && + client->newstate != NS_CLIENTSTATE_FREED && + !ns_g_clienttest && +- isc_atomic_xadd(&client->interface->ntcpaccepting, 0) == 0) ++ isc_refcount_current(&client->interface->ntcpaccepting) == 0) + { + /* Nobody else is accepting */ + client->mortal = false; +@@ -3328,7 +3326,6 @@ client_newconn(isc_task_t *task, isc_event_t *event) { + isc_result_t result; + ns_client_t *client = event->ev_arg; + isc_socket_newconnev_t *nevent = (isc_socket_newconnev_t *)event; +- uint32_t old; + + REQUIRE(event->ev_type == ISC_SOCKEVENT_NEWCONN); + REQUIRE(NS_CLIENT_VALID(client)); +@@ -3348,8 +3345,7 @@ client_newconn(isc_task_t *task, isc_event_t *event) { + INSIST(client->naccepts == 1); + client->naccepts--; + +- old = isc_atomic_xadd(&client->interface->ntcpaccepting, -1); +- INSIST(old > 0); ++ isc_refcount_decrement(&client->interface->ntcpaccepting, NULL); + + /* + * We must take ownership of the new socket before the exit +@@ -3480,8 +3476,8 @@ client_accept(ns_client_t *client) { + * quota is tcp-clients plus the number of listening + * interfaces plus 1.) + */ +- exit = (isc_atomic_xadd(&client->interface->ntcpactive, 0) > +- (client->tcpactive ? 1 : 0)); ++ exit = (isc_refcount_current(&client->interface->ntcpactive) > ++ (client->tcpactive ? 1U : 0U)); + if (exit) { + client->newstate = NS_CLIENTSTATE_INACTIVE; + (void)exit_check(client); +@@ -3539,7 +3535,7 @@ client_accept(ns_client_t *client) { + * listening for connections itself to prevent the interface + * going dead. + */ +- isc_atomic_xadd(&client->interface->ntcpaccepting, 1); ++ isc_refcount_increment0(&client->interface->ntcpaccepting, NULL); + } + + static void +diff --git a/bin/named/include/named/interfacemgr.h b/bin/named/include/named/interfacemgr.h +index 3535ef22a8..6e10f210fd 100644 +--- a/bin/named/include/named/interfacemgr.h ++++ b/bin/named/include/named/interfacemgr.h +@@ -45,6 +45,7 @@ + #include + #include + #include ++#include + + #include + +@@ -75,11 +76,11 @@ struct ns_interface { + /*%< UDP dispatchers. */ + isc_socket_t * tcpsocket; /*%< TCP socket. */ + isc_dscp_t dscp; /*%< "listen-on" DSCP value */ +- int32_t ntcpaccepting; /*%< Number of clients ++ isc_refcount_t ntcpaccepting; /*%< Number of clients + ready to accept new + TCP connections on this + interface */ +- int32_t ntcpactive; /*%< Number of clients ++ isc_refcount_t ntcpactive; /*%< Number of clients + servicing TCP queries + (whether accepting or + connected) */ +diff --git a/bin/named/interfacemgr.c b/bin/named/interfacemgr.c +index d9f6df5802..135533be6b 100644 +--- a/bin/named/interfacemgr.c ++++ b/bin/named/interfacemgr.c +@@ -386,8 +386,8 @@ ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr, + * connections will be handled in parallel even though there is + * only one client initially. + */ +- ifp->ntcpaccepting = 0; +- ifp->ntcpactive = 0; ++ isc_refcount_init(&ifp->ntcpaccepting, 0); ++ isc_refcount_init(&ifp->ntcpactive, 0); + + ifp->nudpdispatch = 0; + +@@ -618,6 +618,9 @@ ns_interface_destroy(ns_interface_t *ifp) { + + ns_interfacemgr_detach(&ifp->mgr); + ++ isc_refcount_destroy(&ifp->ntcpactive); ++ isc_refcount_destroy(&ifp->ntcpaccepting); ++ + ifp->magic = 0; + isc_mem_put(mctx, ifp, sizeof(*ifp)); + } +-- +2.11.0 + diff --git a/package/bind/0003-Rename-ptrsize-to-ptr_size.patch b/package/bind/0003-Rename-ptrsize-to-ptr_size.patch deleted file mode 100644 index e3b58e202d..0000000000 --- a/package/bind/0003-Rename-ptrsize-to-ptr_size.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 254dc19788ba2a03504fc6d1036fef477a60035f Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Fri, 22 Jan 2016 08:31:02 -0300 -Subject: [PATCH] Rename ptrsize to ptr_size - -This is to compensate for a uClibc mess caused by commit -70a04a287a2875c82e6822c36e071afba5b63a62 where ptrsize is defined for -mips, hence causing build breakage under certain conditions for programs -that use this variable name. - -Status: definitely not upstreamable. - -Signed-off-by: Gustavo Zacarias ---- - lib/dns/rbt.c | 6 +++--- - lib/dns/rbtdb.c | 4 ++-- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/lib/dns/rbt.c b/lib/dns/rbt.c -index 86b5183..5fd55de 100644 ---- a/lib/dns/rbt.c -+++ b/lib/dns/rbt.c -@@ -113,7 +113,7 @@ struct file_header { - * information about the system on which the map file was generated - * will be used to tell if we can load the map file or not - */ -- isc_uint32_t ptrsize; -+ isc_uint32_t ptr_size; - unsigned int bigendian:1; /* big or little endian system */ - unsigned int rdataset_fixed:1; /* compiled with --enable-rrset-fixed */ - unsigned int nodecount; /* shadow from rbt structure */ -@@ -517,7 +517,7 @@ write_header(FILE *file, dns_rbt_t *rbt, isc_uint64_t first_node_offset, - memmove(header.version1, FILE_VERSION, sizeof(header.version1)); - memmove(header.version2, FILE_VERSION, sizeof(header.version2)); - header.first_node_offset = first_node_offset; -- header.ptrsize = (isc_uint32_t) sizeof(void *); -+ header.ptr_size = (isc_uint32_t) sizeof(void *); - header.bigendian = (1 == htonl(1)) ? 1 : 0; - - #ifdef DNS_RDATASET_FIXED -@@ -902,7 +902,7 @@ dns_rbt_deserialize_tree(void *base_address, size_t filesize, - } - #endif - -- if (header->ptrsize != (isc_uint32_t) sizeof(void *)) { -+ if (header->ptr_size != (isc_uint32_t) sizeof(void *)) { - result = ISC_R_INVALIDFILE; - goto cleanup; - } -diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c -index c7168cb..dbcf944 100644 ---- a/lib/dns/rbtdb.c -+++ b/lib/dns/rbtdb.c -@@ -114,7 +114,7 @@ typedef struct rbtdb_file_header rbtdb_file_header_t; - - struct rbtdb_file_header { - char version1[32]; -- isc_uint32_t ptrsize; -+ isc_uint32_t ptr_size; - unsigned int bigendian:1; - isc_uint64_t tree; - isc_uint64_t nsec; -@@ -7593,7 +7593,7 @@ rbtdb_write_header(FILE *rbtfile, off_t tree_location, off_t nsec_location, - memset(&header, 0, sizeof(rbtdb_file_header_t)); - memmove(header.version1, FILE_VERSION, sizeof(header.version1)); - memmove(header.version2, FILE_VERSION, sizeof(header.version2)); -- header.ptrsize = (isc_uint32_t) sizeof(void *); -+ header.ptr_size = (isc_uint32_t) sizeof(void *); - header.bigendian = (1 == htonl(1)) ? 1 : 0; - header.tree = (isc_uint64_t) tree_location; - header.nsec = (isc_uint64_t) nsec_location; --- -2.4.10 - diff --git a/package/bind/bind.hash b/package/bind/bind.hash index 19d5f61f6d..cdd4bdd312 100644 --- a/package/bind/bind.hash +++ b/package/bind/bind.hash @@ -1,4 +1,4 @@ -# Verified from https://ftp.isc.org/isc/bind9/9.11.4-P1/bind-9.11.4-P1.tar.gz.asc -# with key BE0E9748B718253A28BB89FFF1B11BF05CF02E57 -sha256 a85af7b629109d41285c7adeae1515daac638bbe4d5dc30d1f4b343dff09d811 bind-9.11.4-P2.tar.gz -sha256 336f3c40e37a1a13690efb4c63e20908faa4c40498cc02f3579fb67d3a1933a5 COPYRIGHT +# Verified from https://ftp.isc.org/isc/bind9/9.11.6-P1/bind-9.11.6-P1.tar.gz.asc +# with key 156890685EA0DF6A1371EF2017CC5DB1F0088407 +sha256 58ace2abb4d048b67abcdef0649ecd6cbd3b0652734a41a1d34f942d5500f8ef bind-9.11.6-P1.tar.gz +sha256 cd02c93b8dcda794f55dfd1231828d69633072a98eee4874f9cf732d22d9dcde COPYRIGHT diff --git a/package/bind/bind.mk b/package/bind/bind.mk index 95f615bf81..42c240a747 100644 --- a/package/bind/bind.mk +++ b/package/bind/bind.mk @@ -4,8 +4,8 @@ # ################################################################################ -BIND_VERSION = 9.11.4-P2 -BIND_SITE = http://ftp.isc.org/isc/bind9/$(BIND_VERSION) +BIND_VERSION = 9.11.6-P1 +BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. BIND_MAKE = $(MAKE1) BIND_INSTALL_STAGING = YES @@ -74,8 +74,11 @@ else BIND_CONF_OPTS += --with-openssl=no endif -# Used by dnssec-checkds and dnssec-coverage -ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),) +# Used by dnssec-keymgr +ifeq ($(BR2_PACKAGE_PYTHON_PLY),y) +BIND_DEPENDENCIES += host-python-ply +BIND_CONF_OPTS += --with-python=$(HOST_DIR)/usr/bin/python +else BIND_CONF_OPTS += --with-python=no endif diff --git a/package/binutils/2.30/0010-gas-use-literals-const16-for-xtensa-loop-relaxation.patch b/package/binutils/2.30/0010-gas-use-literals-const16-for-xtensa-loop-relaxation.patch new file mode 100644 index 0000000000..ed617bcaf7 --- /dev/null +++ b/package/binutils/2.30/0010-gas-use-literals-const16-for-xtensa-loop-relaxation.patch @@ -0,0 +1,294 @@ +From 0dbdfb7918d0b0cfcb8883b24c1291574bf5bb7c Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 2 Apr 2019 14:32:42 -0700 +Subject: [PATCH] gas: use literals/const16 for xtensa loop relaxation + +Loop opcode relaxation that uses addi/addmi doesn't work well with other +relaxations that may cause code movement. Instead of encoding fixed loop +end offset in the relaxed sequence use l32r or a pair of const16 to load +loop end address. This way the address of the loop end gets a relocation +record and it gets updated appropriately. + +gas/ +2019-04-02 Max Filippov + + * config/tc-xtensa.c (convert_frag_immed): Drop + convert_frag_immed_finish_loop invocation. + (convert_frag_immed_finish_loop): Drop declaration and + definition. + * config/xtensa-relax.c (widen_spec_list): Replace loop + widening that uses addi/addmi with widening that uses l32r + and const16. + +Signed-off-by: Max Filippov +--- + gas/config/tc-xtensa.c | 120 ---------------------------------------------- + gas/config/xtensa-relax.c | 77 ++++++++++++++++++++--------- + 2 files changed, 55 insertions(+), 142 deletions(-) + +diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c +index 3bdbbc931cfc..0cc06361cf6f 100644 +--- a/gas/config/tc-xtensa.c ++++ b/gas/config/tc-xtensa.c +@@ -10668,7 +10668,6 @@ convert_frag_fill_nop (fragS *fragP) + static fixS *fix_new_exp_in_seg + (segT, subsegT, fragS *, int, int, expressionS *, int, + bfd_reloc_code_real_type); +-static void convert_frag_immed_finish_loop (segT, fragS *, TInsn *); + + static void + convert_frag_immed (segT segP, +@@ -10910,9 +10909,6 @@ convert_frag_immed (segT segP, + } + } + +- if (expanded && xtensa_opcode_is_loop (isa, orig_tinsn.opcode) == 1) +- convert_frag_immed_finish_loop (segP, fragP, &orig_tinsn); +- + if (expanded && is_direct_call_opcode (orig_tinsn.opcode)) + { + /* Add an expansion note on the expanded instruction. */ +@@ -10949,122 +10945,6 @@ fix_new_exp_in_seg (segT new_seg, + } + + +-/* Relax a loop instruction so that it can span loop >256 bytes. +- +- loop as, .L1 +- .L0: +- rsr as, LEND +- wsr as, LBEG +- addi as, as, lo8 (label-.L1) +- addmi as, as, mid8 (label-.L1) +- wsr as, LEND +- isync +- rsr as, LCOUNT +- addi as, as, 1 +- .L1: +- <> +- label: +-*/ +- +-static void +-convert_frag_immed_finish_loop (segT segP, fragS *fragP, TInsn *tinsn) +-{ +- TInsn loop_insn; +- TInsn addi_insn; +- TInsn addmi_insn; +- unsigned long target; +- static xtensa_insnbuf insnbuf = NULL; +- unsigned int loop_length, loop_length_hi, loop_length_lo; +- xtensa_isa isa = xtensa_default_isa; +- addressT loop_offset; +- addressT addi_offset = 9; +- addressT addmi_offset = 12; +- fragS *next_fragP; +- int target_count; +- +- if (!insnbuf) +- insnbuf = xtensa_insnbuf_alloc (isa); +- +- /* Get the loop offset. */ +- loop_offset = get_expanded_loop_offset (tinsn->opcode); +- +- /* Validate that there really is a LOOP at the loop_offset. Because +- loops are not bundleable, we can assume that the instruction will be +- in slot 0. */ +- tinsn_from_chars (&loop_insn, fragP->fr_opcode + loop_offset, 0); +- tinsn_immed_from_frag (&loop_insn, fragP, 0); +- +- gas_assert (xtensa_opcode_is_loop (isa, loop_insn.opcode) == 1); +- addi_offset += loop_offset; +- addmi_offset += loop_offset; +- +- gas_assert (tinsn->ntok == 2); +- if (tinsn->tok[1].X_op == O_constant) +- target = tinsn->tok[1].X_add_number; +- else if (tinsn->tok[1].X_op == O_symbol) +- { +- /* Find the fragment. */ +- symbolS *sym = tinsn->tok[1].X_add_symbol; +- gas_assert (S_GET_SEGMENT (sym) == segP +- || S_GET_SEGMENT (sym) == absolute_section); +- target = (S_GET_VALUE (sym) + tinsn->tok[1].X_add_number); +- } +- else +- { +- as_bad (_("invalid expression evaluation type %d"), tinsn->tok[1].X_op); +- target = 0; +- } +- +- loop_length = target - (fragP->fr_address + fragP->fr_fix); +- loop_length_hi = loop_length & ~0x0ff; +- loop_length_lo = loop_length & 0x0ff; +- if (loop_length_lo >= 128) +- { +- loop_length_lo -= 256; +- loop_length_hi += 256; +- } +- +- /* Because addmi sign-extends the immediate, 'loop_length_hi' can be at most +- 32512. If the loop is larger than that, then we just fail. */ +- if (loop_length_hi > 32512) +- as_bad_where (fragP->fr_file, fragP->fr_line, +- _("loop too long for LOOP instruction")); +- +- tinsn_from_chars (&addi_insn, fragP->fr_opcode + addi_offset, 0); +- gas_assert (addi_insn.opcode == xtensa_addi_opcode); +- +- tinsn_from_chars (&addmi_insn, fragP->fr_opcode + addmi_offset, 0); +- gas_assert (addmi_insn.opcode == xtensa_addmi_opcode); +- +- set_expr_const (&addi_insn.tok[2], loop_length_lo); +- tinsn_to_insnbuf (&addi_insn, insnbuf); +- +- fragP->tc_frag_data.is_insn = TRUE; +- xtensa_insnbuf_to_chars +- (isa, insnbuf, (unsigned char *) fragP->fr_opcode + addi_offset, 0); +- +- set_expr_const (&addmi_insn.tok[2], loop_length_hi); +- tinsn_to_insnbuf (&addmi_insn, insnbuf); +- xtensa_insnbuf_to_chars +- (isa, insnbuf, (unsigned char *) fragP->fr_opcode + addmi_offset, 0); +- +- /* Walk through all of the frags from here to the loop end +- and mark them as no_transform to keep them from being modified +- by the linker. If we ever have a relocation for the +- addi/addmi of the difference of two symbols we can remove this. */ +- +- target_count = 0; +- for (next_fragP = fragP; next_fragP != NULL; +- next_fragP = next_fragP->fr_next) +- { +- next_fragP->tc_frag_data.is_no_transform = TRUE; +- if (next_fragP->tc_frag_data.is_loop_target) +- target_count++; +- if (target_count == 2) +- break; +- } +-} +- + + /* A map that keeps information on a per-subsegment basis. This is + maintained during initial assembly, but is invalid once the +diff --git a/gas/config/xtensa-relax.c b/gas/config/xtensa-relax.c +index cb296ed85ed2..daf15d52c259 100644 +--- a/gas/config/xtensa-relax.c ++++ b/gas/config/xtensa-relax.c +@@ -87,13 +87,7 @@ + when the first and second operands are not the same as specified + by the "| %at!=%as" precondition clause. + {"l32i %at,%as,%imm | %at!=%as", +- "LITERAL %imm; l32r %at,%LITERAL; add %at,%at,%as; l32i %at,%at,0"} +- +- There is special case for loop instructions here, but because we do +- not currently have the ability to represent the difference of two +- symbols, the conversion requires special code in the assembler to +- write the operands of the addi/addmi pair representing the +- difference of the old and new loop end label. */ ++ "LITERAL %imm; l32r %at,%LITERAL; add %at,%at,%as; l32i %at,%at,0"} */ + + #include "as.h" + #include "xtensa-isa.h" +@@ -306,44 +300,83 @@ static string_pattern_pair widen_spec_list[] = + {"l32i %at,%as,%imm | %at!=%as ? IsaUseConst16", + "const16 %at,HI16U(%imm); const16 %at,LOW16U(%imm); add %at,%at,%as; l32i %at,%at,0"}, + +- /* This is only PART of the loop instruction. In addition, +- hardcoded into its use is a modification of the final operand in +- the instruction in bytes 9 and 12. */ +- {"loop %as,%label | %as!=1 ? IsaUseLoops", ++ /* Widening loops with literals. */ ++ {"loop %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "loop %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ {"loopgtz %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "beqz %as,%label;" ++ "bltz %as,%label;" ++ "loopgtz %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ {"loopnez %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "beqz %as,%label;" ++ "loopnez %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ ++ /* Widening loops with const16. */ ++ {"loop %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "loop %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, +- {"loopgtz %as,%label | %as!=1 ? IsaUseLoops", ++ {"loopgtz %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "beqz %as,%label;" + "bltz %as,%label;" + "loopgtz %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, +- {"loopnez %as,%label | %as!=1 ? IsaUseLoops", ++ {"loopnez %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "beqz %as,%label;" + "loopnez %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, + + /* Relaxing to wide branches. Order is important here. With wide +-- +2.11.0 + diff --git a/package/binutils/2.31.1/0002-ld-makefile.patch b/package/binutils/2.31.1/0002-ld-makefile.patch deleted file mode 100644 index 6893d65aa0..0000000000 --- a/package/binutils/2.31.1/0002-ld-makefile.patch +++ /dev/null @@ -1,41 +0,0 @@ -From ae435bc27e1eb59e4ad571a37a144bf99dc68f55 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:40:53 +0100 -Subject: [PATCH] ld-makefile - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/Makefile.am | 2 +- - ld/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ld/Makefile.am b/ld/Makefile.am -index d86ad0940c9..c95b0ef0252 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -57,7 +57,7 @@ endif - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff --git a/ld/Makefile.in b/ld/Makefile.in -index 4792b2b013c..789df2d01b9 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -563,7 +563,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include --- -2.14.4 - diff --git a/package/binutils/2.31.1/0003-check-ldrunpath-length.patch b/package/binutils/2.31.1/0003-check-ldrunpath-length.patch deleted file mode 100644 index 6cdf085422..0000000000 --- a/package/binutils/2.31.1/0003-check-ldrunpath-length.patch +++ /dev/null @@ -1,36 +0,0 @@ -From a216bfcd91363a8e8c14db320a2870fff2985d78 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:41:47 +0100 -Subject: [PATCH] check-ldrunpath-length - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/emultempl/elf32.em | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em -index 1ad9d6b6fa8..637a5d5d585 100644 ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1471,6 +1471,8 @@ fragment <link.next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) --- -2.14.4 - diff --git a/package/binutils/2.31.1/0004-add-sysroot-fix-from-bug-3049.patch b/package/binutils/2.31.1/0004-add-sysroot-fix-from-bug-3049.patch deleted file mode 100644 index 1ef1385062..0000000000 --- a/package/binutils/2.31.1/0004-add-sysroot-fix-from-bug-3049.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 73ecf6f6a1f327c9fa3af1fc924d152321aac801 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:42:48 +0100 -Subject: [PATCH] add sysroot fix from bug #3049 - -Always try to prepend the sysroot prefix to absolute filenames first. - -http://bugs.gentoo.org/275666 -http://sourceware.org/bugzilla/show_bug.cgi?id=10340 - -Signed-off-by: Sven Rebhan -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/ldfile.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/ld/ldfile.c b/ld/ldfile.c -index a72ff135264..b3d166cbd60 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -338,18 +338,24 @@ ldfile_open_file_search (const char *arch, - directory first. */ - if (!entry->flags.maybe_archive) - { -- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) -+ /* For absolute pathnames, try to always open the file in the -+ sysroot first. If this fails, try to open the file at the -+ given location. */ -+ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); -+ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) -+ && ld_sysroot) - { - char *name = concat (ld_sysroot, entry->filename, - (const char *) NULL); - if (ldfile_try_open_bfd (name, entry)) - { - entry->filename = name; -+ entry->flags.sysrooted = TRUE; - return TRUE; - } - free (name); - } -- else if (ldfile_try_open_bfd (entry->filename, entry)) -+ if (ldfile_try_open_bfd (entry->filename, entry)) - return TRUE; - - if (IS_ABSOLUTE_PATH (entry->filename)) --- -2.14.4 - diff --git a/package/binutils/2.31.1/0012-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch b/package/binutils/2.31.1/0012-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch new file mode 100644 index 0000000000..8a05af4bb6 --- /dev/null +++ b/package/binutils/2.31.1/0012-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch @@ -0,0 +1,568 @@ +From 6737a6b34f4823deb7142f27b4074831a37ac1e1 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Fri, 20 Jul 2018 09:18:47 -0700 +Subject: [PATCH] x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed + +When -z separate-code, which is enabled by default for Linux/x86, is +used to create executable, ld won't place any data in the code-only +PT_LOAD segment. If there are no data sections placed before the +code-only PT_LOAD segment, the program headers won't be mapped into +any PT_LOAD segment. When the executable tries to access it (based +on the program header address passed in AT_PHDR), it will lead to +segfault. This patch inserts a GNU_PROPERTY_X86_ISA_1_USED note if +there may be no data sections before the text section so that the +first PT_LOAD segment won't be code-only and will contain the program +header. + +Testcases are adjusted to either pass "-z noseparate-code" to ld or +discard the .note.gnu.property section. A Linux/x86 run-time test is +added. + +bfd/ + + PR ld/23428 + * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the + separate code program header is needed, make sure that the first + read-only PT_LOAD segment has no code by adding a + GNU_PROPERTY_X86_ISA_1_USED note. + +ld/ + + PR ld/23428 + * testsuite/ld-elf/linux-x86.S: New file. + * testsuite/ld-elf/linux-x86.exp: Likewise. + * testsuite/ld-elf/pr23428.c: Likewise. + * testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld + for Linux/x86 targets. + * testsuite/ld-i386/abs-iamcu.d: Likewise. + * testsuite/ld-i386/abs.d: Likewise. + * testsuite/ld-i386/pr12718.d: Likewise. + * testsuite/ld-i386/pr12921.d: Likewise. + * testsuite/ld-x86-64/abs-k1om.d: Likewise. + * testsuite/ld-x86-64/abs-l1om.d: Likewise. + * testsuite/ld-x86-64/abs.d: Likewise. + * testsuite/ld-x86-64/pr12718.d: Likewise. + * testsuite/ld-x86-64/pr12921.d: Likewise. + * testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property + section. + * testsuite/ld-scripts/print-memory-usage.t: Likewise. + * testsuite/ld-scripts/size-2.t: Likewise. + * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld + to create executable if language is "asm". + +(cherry picked from commit 241e64e3b42cd9eba514b8e0ad2ef39a337f10a5) +Signed-off-by: Norbert Lange +--- + bfd/ChangeLog | 8 ++++ + bfd/elfxx-x86.c | 60 +++++++++++++++++++------- + ld/ChangeLog | 24 +++++++++++ + ld/testsuite/ld-elf/linux-x86.S | 63 ++++++++++++++++++++++++++++ + ld/testsuite/ld-elf/linux-x86.exp | 46 ++++++++++++++++++++ + ld/testsuite/ld-elf/pr23428.c | 43 +++++++++++++++++++ + ld/testsuite/ld-elf/sec64k.exp | 2 + + ld/testsuite/ld-i386/abs-iamcu.d | 2 +- + ld/testsuite/ld-i386/abs.d | 2 +- + ld/testsuite/ld-i386/pr12718.d | 2 +- + ld/testsuite/ld-i386/pr12921.d | 2 +- + ld/testsuite/ld-linkonce/zeroeh.ld | 1 + + ld/testsuite/ld-scripts/print-memory-usage.t | 2 + + ld/testsuite/ld-scripts/size-2.t | 1 + + ld/testsuite/ld-x86-64/abs-k1om.d | 2 +- + ld/testsuite/ld-x86-64/abs-l1om.d | 2 +- + ld/testsuite/ld-x86-64/abs.d | 2 +- + ld/testsuite/ld-x86-64/pr12718.d | 2 +- + ld/testsuite/ld-x86-64/pr12921.d | 2 +- + ld/testsuite/lib/ld-lib.exp | 5 ++- + 20 files changed, 248 insertions(+), 25 deletions(-) + create mode 100644 ld/testsuite/ld-elf/linux-x86.S + create mode 100644 ld/testsuite/ld-elf/linux-x86.exp + create mode 100644 ld/testsuite/ld-elf/pr23428.c + +diff --git a/bfd/ChangeLog b/bfd/ChangeLog +index 1c1174a..d3831b7 100644 +--- a/bfd/ChangeLog ++++ b/bfd/ChangeLog +@@ -1,3 +1,11 @@ ++2018-07-23 H.J. Lu ++ ++ PR ld/23428 ++ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the ++ separate code program header is needed, make sure that the first ++ read-only PT_LOAD segment has no code by adding a ++ GNU_PROPERTY_X86_ISA_1_USED note. ++ + 2018-07-18 Nick Clifton + + * development.sh: Set to true. +diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c +index a2497aa..2e4ff88 100644 +--- a/bfd/elfxx-x86.c ++++ b/bfd/elfxx-x86.c +@@ -2524,6 +2524,7 @@ _bfd_x86_elf_link_setup_gnu_properties + const struct elf_backend_data *bed; + unsigned int class_align = ABI_64_P (info->output_bfd) ? 3 : 2; + unsigned int got_align; ++ bfd_boolean has_text = FALSE; + + features = 0; + if (info->ibt) +@@ -2538,24 +2539,59 @@ _bfd_x86_elf_link_setup_gnu_properties + if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour + && bfd_count_sections (pbfd) != 0) + { ++ if (!has_text) ++ { ++ /* Check if there is no non-empty text section. */ ++ sec = bfd_get_section_by_name (pbfd, ".text"); ++ if (sec != NULL && sec->size != 0) ++ has_text = TRUE; ++ } ++ + ebfd = pbfd; + + if (elf_properties (pbfd) != NULL) + break; + } + +- if (ebfd != NULL && features) ++ bed = get_elf_backend_data (info->output_bfd); ++ ++ htab = elf_x86_hash_table (info, bed->target_id); ++ if (htab == NULL) ++ return pbfd; ++ ++ if (ebfd != NULL) + { +- /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and +- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */ +- prop = _bfd_elf_get_property (ebfd, +- GNU_PROPERTY_X86_FEATURE_1_AND, +- 4); +- prop->u.number |= features; +- prop->pr_kind = property_number; ++ prop = NULL; ++ if (features) ++ { ++ /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and ++ GNU_PROPERTY_X86_FEATURE_1_SHSTK. */ ++ prop = _bfd_elf_get_property (ebfd, ++ GNU_PROPERTY_X86_FEATURE_1_AND, ++ 4); ++ prop->u.number |= features; ++ prop->pr_kind = property_number; ++ } ++ else if (has_text ++ && elf_properties (ebfd) == NULL ++ && elf_tdata (info->output_bfd)->o->build_id.sec == NULL ++ && !htab->elf.dynamic_sections_created ++ && !info->traditional_format ++ && (info->output_bfd->flags & D_PAGED) != 0 ++ && info->separate_code) ++ { ++ /* If the separate code program header is needed, make sure ++ that the first read-only PT_LOAD segment has no code by ++ adding a GNU_PROPERTY_X86_ISA_1_USED note. */ ++ prop = _bfd_elf_get_property (ebfd, ++ GNU_PROPERTY_X86_ISA_1_USED, ++ 4); ++ prop->u.number = GNU_PROPERTY_X86_ISA_1_486; ++ prop->pr_kind = property_number; ++ } + + /* Create the GNU property note section if needed. */ +- if (pbfd == NULL) ++ if (prop != NULL && pbfd == NULL) + { + sec = bfd_make_section_with_flags (ebfd, + NOTE_GNU_PROPERTY_SECTION_NAME, +@@ -2581,12 +2617,6 @@ error_alignment: + + pbfd = _bfd_elf_link_setup_gnu_properties (info); + +- bed = get_elf_backend_data (info->output_bfd); +- +- htab = elf_x86_hash_table (info, bed->target_id); +- if (htab == NULL) +- return pbfd; +- + htab->r_info = init_table->r_info; + htab->r_sym = init_table->r_sym; + +diff --git a/ld/ChangeLog b/ld/ChangeLog +index c07e442..cfadbd4 100644 +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,27 @@ ++2018-07-23 H.J. Lu ++ ++ PR ld/23428 ++ * testsuite/ld-elf/linux-x86.S: New file. ++ * testsuite/ld-elf/linux-x86.exp: Likewise. ++ * testsuite/ld-elf/pr23428.c: Likewise. ++ * testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld ++ for Linux/x86 targets. ++ * testsuite/ld-i386/abs-iamcu.d: Likewise. ++ * testsuite/ld-i386/abs.d: Likewise. ++ * testsuite/ld-i386/pr12718.d: Likewise. ++ * testsuite/ld-i386/pr12921.d: Likewise. ++ * testsuite/ld-x86-64/abs-k1om.d: Likewise. ++ * testsuite/ld-x86-64/abs-l1om.d: Likewise. ++ * testsuite/ld-x86-64/abs.d: Likewise. ++ * testsuite/ld-x86-64/pr12718.d: Likewise. ++ * testsuite/ld-x86-64/pr12921.d: Likewise. ++ * testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property ++ section. ++ * testsuite/ld-scripts/print-memory-usage.t: Likewise. ++ * testsuite/ld-scripts/size-2.t: Likewise. ++ * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld to ++ create executable if language is "asm". ++ + 2018-07-18 Nick Clifton + + 2.31.1 Release point. +diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S +new file mode 100644 +index 0000000..bdf40c6 +--- /dev/null ++++ b/ld/testsuite/ld-elf/linux-x86.S +@@ -0,0 +1,63 @@ ++ .text ++ .globl _start ++ .type _start,@function ++ .p2align 4 ++_start: ++ xorl %ebp, %ebp ++#ifdef __LP64__ ++ popq %rdi ++ movq %rsp, %rsi ++ andq $~15, %rsp ++#elif defined __x86_64__ ++ mov (%rsp),%edi ++ addl $4,%esp ++ movl %esp, %esi ++ andl $~15, %esp ++#else ++ popl %esi ++ movl %esp, %ecx ++ andl $~15, %esp ++ ++ subl $8,%esp ++ pushl %ecx ++ pushl %esi ++#endif ++ ++ call main ++ ++ hlt ++ ++ .type syscall, @function ++ .globl syscall ++ .p2align 4 ++syscall: ++#ifdef __x86_64__ ++ movq %rdi, %rax /* Syscall number -> rax. */ ++ movq %rsi, %rdi /* shift arg1 - arg5. */ ++ movq %rdx, %rsi ++ movq %rcx, %rdx ++ movq %r8, %r10 ++ movq %r9, %r8 ++ movq 8(%rsp),%r9 /* arg6 is on the stack. */ ++ syscall /* Do the system call. */ ++#else ++ push %ebp ++ push %edi ++ push %esi ++ push %ebx ++ mov 0x2c(%esp),%ebp ++ mov 0x28(%esp),%edi ++ mov 0x24(%esp),%esi ++ mov 0x20(%esp),%edx ++ mov 0x1c(%esp),%ecx ++ mov 0x18(%esp),%ebx ++ mov 0x14(%esp),%eax ++ int $0x80 ++ pop %ebx ++ pop %esi ++ pop %edi ++ pop %ebp ++#endif ++ ret /* Return to caller. */ ++ .size syscall, .-syscall ++ .section .note.GNU-stack,"",@progbits +diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp +new file mode 100644 +index 0000000..36217c6 +--- /dev/null ++++ b/ld/testsuite/ld-elf/linux-x86.exp +@@ -0,0 +1,46 @@ ++# Expect script for simple native Linux/x86 tests. ++# Copyright (C) 2018 Free Software Foundation, Inc. ++# ++# This file is part of the GNU Binutils. ++# ++# 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, write to the Free Software ++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, ++# MA 02110-1301, USA. ++# ++ ++# Test very simple native Linux/x86 programs with linux-x86.S. ++if { ![isnative] || [which $CC] == 0 \ ++ || (![istarget "i?86-*-linux*"] \ ++ && ![istarget "x86_64-*-linux*"] \ ++ && ![istarget "amd64-*-linux*"]) } { ++ return ++} ++ ++# Add $PLT_CFLAGS if PLT is expected. ++global PLT_CFLAGS ++# Add $NOPIE_CFLAGS and $NOPIE_LDFLAGS if non-PIE is required. ++global NOPIE_CFLAGS NOPIE_LDFLAGS ++ ++run_ld_link_exec_tests [list \ ++ [list \ ++ "Run PR ld/23428 test" \ ++ "--no-dynamic-linker -z separate-code" \ ++ "" \ ++ { linux-x86.S pr23428.c } \ ++ "pr23428" \ ++ "pass.out" \ ++ "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \ ++ "asm" \ ++ ] \ ++] +diff --git a/ld/testsuite/ld-elf/pr23428.c b/ld/testsuite/ld-elf/pr23428.c +new file mode 100644 +index 0000000..3631ed7 +--- /dev/null ++++ b/ld/testsuite/ld-elf/pr23428.c +@@ -0,0 +1,43 @@ ++#include ++#include ++#include ++ ++#define STRING_COMMA_LEN(STR) (STR), (sizeof (STR) - 1) ++ ++int ++main (int argc, char **argv) ++{ ++ char **ev = &argv[argc + 1]; ++ char **evp = ev; ++ ElfW(auxv_t) *av; ++ const ElfW(Phdr) *phdr = NULL; ++ size_t phnum = 0; ++ size_t loadnum = 0; ++ int fd = STDOUT_FILENO; ++ size_t i; ++ ++ while (*evp++ != NULL) ++ ; ++ ++ av = (ElfW(auxv_t) *) evp; ++ ++ for (; av->a_type != AT_NULL; ++av) ++ switch (av->a_type) ++ { ++ case AT_PHDR: ++ phdr = (const void *) av->a_un.a_val; ++ break; ++ case AT_PHNUM: ++ phnum = av->a_un.a_val; ++ break; ++ } ++ ++ for (i = 0; i < phnum; i++, phdr++) ++ if (phdr->p_type == PT_LOAD) ++ loadnum++; ++ ++ syscall (SYS_write, fd, STRING_COMMA_LEN ("PASS\n")); ++ ++ syscall (SYS_exit, !loadnum); ++ return 0; ++} +diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp +index b58139e..3909c0e 100644 +--- a/ld/testsuite/ld-elf/sec64k.exp ++++ b/ld/testsuite/ld-elf/sec64k.exp +@@ -177,6 +177,8 @@ if { ![istarget "d10v-*-*"] + foreach sfile $sfiles { puts $ofd "#source: $sfile" } + if { [istarget spu*-*-*] } { + puts $ofd "#ld: --local-store 0:0" ++ } elseif { [istarget "i?86-*-linux*"] || [istarget "x86_64-*-linux*"] } { ++ puts $ofd "#ld: -z noseparate-code" + } else { + puts $ofd "#ld:" + } +diff --git a/ld/testsuite/ld-i386/abs-iamcu.d b/ld/testsuite/ld-i386/abs-iamcu.d +index ac9beff..aba7d6b 100644 +--- a/ld/testsuite/ld-i386/abs-iamcu.d ++++ b/ld/testsuite/ld-i386/abs-iamcu.d +@@ -2,7 +2,7 @@ + #source: abs.s + #source: zero.s + #as: --32 -march=iamcu +-#ld: -m elf_iamcu ++#ld: -m elf_iamcu -z noseparate-code + #objdump: -rs -j .text + + .*: file format .* +diff --git a/ld/testsuite/ld-i386/abs.d b/ld/testsuite/ld-i386/abs.d +index e660aca..191ee44 100644 +--- a/ld/testsuite/ld-i386/abs.d ++++ b/ld/testsuite/ld-i386/abs.d +@@ -2,7 +2,7 @@ + #as: --32 + #source: abs.s + #source: zero.s +-#ld: -melf_i386 ++#ld: -melf_i386 -z noseparate-code + #objdump: -rs + + .*: file format .* +diff --git a/ld/testsuite/ld-i386/pr12718.d b/ld/testsuite/ld-i386/pr12718.d +index ec51540..7eba52d 100644 +--- a/ld/testsuite/ld-i386/pr12718.d ++++ b/ld/testsuite/ld-i386/pr12718.d +@@ -1,6 +1,6 @@ + #name: PR ld/12718 + #as: --32 +-#ld: -melf_i386 ++#ld: -melf_i386 -z noseparate-code + #readelf: -S + + There are 5 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/ld-i386/pr12921.d b/ld/testsuite/ld-i386/pr12921.d +index e49079b..ea2da3e 100644 +--- a/ld/testsuite/ld-i386/pr12921.d ++++ b/ld/testsuite/ld-i386/pr12921.d +@@ -1,6 +1,6 @@ + #name: PR ld/12921 + #as: --32 +-#ld: -melf_i386 ++#ld: -melf_i386 -z noseparate-code + #readelf: -S --wide + + There are 7 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/ld-linkonce/zeroeh.ld b/ld/testsuite/ld-linkonce/zeroeh.ld +index b22eaa1..f89855a 100644 +--- a/ld/testsuite/ld-linkonce/zeroeh.ld ++++ b/ld/testsuite/ld-linkonce/zeroeh.ld +@@ -2,4 +2,5 @@ SECTIONS { + .text 0xa00 : { *(.text); *(.gnu.linkonce.t.*) } + .gcc_except_table 0x2000 : { *(.gcc_except_table) } + .eh_frame 0x4000 : { *(.eh_frame) } ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/ld/testsuite/ld-scripts/print-memory-usage.t b/ld/testsuite/ld-scripts/print-memory-usage.t +index 5ff057a..6eda1d2 100644 +--- a/ld/testsuite/ld-scripts/print-memory-usage.t ++++ b/ld/testsuite/ld-scripts/print-memory-usage.t +@@ -11,4 +11,6 @@ SECTIONS + *(.data) + *(.rw) + } ++ ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/ld/testsuite/ld-scripts/size-2.t b/ld/testsuite/ld-scripts/size-2.t +index 7238639..c3c4edd 100644 +--- a/ld/testsuite/ld-scripts/size-2.t ++++ b/ld/testsuite/ld-scripts/size-2.t +@@ -18,4 +18,5 @@ SECTIONS + LONG (SIZEOF (.tdata)) + LONG (SIZEOF (.tbss)) + } :image ++ /DISCARD/ : { *(.note.gnu.property) } + } +diff --git a/ld/testsuite/ld-x86-64/abs-k1om.d b/ld/testsuite/ld-x86-64/abs-k1om.d +index 2c26639..6b0fde0 100644 +--- a/ld/testsuite/ld-x86-64/abs-k1om.d ++++ b/ld/testsuite/ld-x86-64/abs-k1om.d +@@ -2,7 +2,7 @@ + #source: ../ld-i386/abs.s + #source: ../ld-i386/zero.s + #as: --64 -march=k1om +-#ld: -m elf_k1om ++#ld: -m elf_k1om -z noseparate-code + #objdump: -rs -j .text + + .*: file format .* +diff --git a/ld/testsuite/ld-x86-64/abs-l1om.d b/ld/testsuite/ld-x86-64/abs-l1om.d +index 1fb96d4..f87869f 100644 +--- a/ld/testsuite/ld-x86-64/abs-l1om.d ++++ b/ld/testsuite/ld-x86-64/abs-l1om.d +@@ -2,7 +2,7 @@ + #source: ../ld-i386/abs.s + #source: ../ld-i386/zero.s + #as: --64 -march=l1om +-#ld: -m elf_l1om ++#ld: -m elf_l1om -z noseparate-code + #objdump: -rs -j .text + #target: x86_64-*-linux* + +diff --git a/ld/testsuite/ld-x86-64/abs.d b/ld/testsuite/ld-x86-64/abs.d +index b24b018..d99ab46 100644 +--- a/ld/testsuite/ld-x86-64/abs.d ++++ b/ld/testsuite/ld-x86-64/abs.d +@@ -1,7 +1,7 @@ + #name: Absolute non-overflowing relocs + #source: ../ld-i386/abs.s + #source: ../ld-i386/zero.s +-#ld: ++#ld: -z noseparate-code + #objdump: -rs + + .*: file format .* +diff --git a/ld/testsuite/ld-x86-64/pr12718.d b/ld/testsuite/ld-x86-64/pr12718.d +index 07d1732..2c503ff 100644 +--- a/ld/testsuite/ld-x86-64/pr12718.d ++++ b/ld/testsuite/ld-x86-64/pr12718.d +@@ -1,6 +1,6 @@ + #name: PR ld/12718 + #as: --64 +-#ld: -melf_x86_64 ++#ld: -melf_x86_64 -z noseparate-code + #readelf: -S --wide + + There are 5 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/ld-x86-64/pr12921.d b/ld/testsuite/ld-x86-64/pr12921.d +index 6fe6abe..1162d55 100644 +--- a/ld/testsuite/ld-x86-64/pr12921.d ++++ b/ld/testsuite/ld-x86-64/pr12921.d +@@ -1,6 +1,6 @@ + #name: PR ld/12921 + #as: --64 +-#ld: -melf_x86_64 ++#ld: -melf_x86_64 -z noseparate-code + #readelf: -S --wide + + There are 7 section headers, starting at offset 0x[0-9a-f]+: +diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp +index cfbefe9..1095091 100644 +--- a/ld/testsuite/lib/ld-lib.exp ++++ b/ld/testsuite/lib/ld-lib.exp +@@ -1482,7 +1482,10 @@ proc run_ld_link_exec_tests { ldtests args } { + continue + } + +- if { [ string match "c++" $lang ] } { ++ if { [ string match "asm" $lang ] } { ++ set link_proc ld_link ++ set link_cmd $ld ++ } elseif { [ string match "c++" $lang ] } { + set link_proc ld_link + set link_cmd $CXX + } else { +-- +2.9.3 + diff --git a/package/binutils/2.31.1/0013-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch b/package/binutils/2.31.1/0013-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch new file mode 100644 index 0000000000..a4c48985d9 --- /dev/null +++ b/package/binutils/2.31.1/0013-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch @@ -0,0 +1,588 @@ +From d55c3e36094f06bb1fb02f5eac19fdccf1d91f7e Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Wed, 8 Aug 2018 06:09:15 -0700 +Subject: [PATCH] x86: Properly merge GNU_PROPERTY_X86_ISA_1_USED +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +Without the GNU_PROPERTY_X86_ISA_1_USED property, all ISAs may be used. +If a bit in the GNU_PROPERTY_X86_ISA_1_USED property is unset, the +corresponding x86 instruction set isn’t used. When merging properties +from 2 input files and one input file doesn't have the +GNU_PROPERTY_X86_ISA_1_USED property, the output file shouldn't have +it neither. This patch removes the GNU_PROPERTY_X86_ISA_1_USED +property if an input file doesn't have it. + +This patch replaces the GNU_PROPERTY_X86_ISA_1_USED property with the +GNU_PROPERTY_X86_ISA_1_NEEDED property which is the minimum ISA +requirement. + +bfd/ + + PR ld/23486 + * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove + GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it. + (_bfd_x86_elf_link_setup_gnu_properties): Adding the + GNU_PROPERTY_X86_ISA_1_NEEDED, instead of + GNU_PROPERTY_X86_ISA_1_USED, property. + +ld/ + + PR ld/23486 + * testsuite/ld-i386/i386.exp: Run PR ld/23486 tests. + * testsuite/ld-x86-64/x86-64.exp: Likewise. + * testsuite/ld-i386/pr23486a.d: New file. + * testsuite/ld-i386/pr23486b.d: Likewise. + * testsuite/ld-x86-64/pr23486a-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486a.d: Likewise. + * testsuite/ld-x86-64/pr23486a.s: Likewise. + * testsuite/ld-x86-64/pr23486b-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486b.d: Likewise. + * testsuite/ld-x86-64/pr23486b.s: Likewise. + * testsuite/ld-i386/property-3.r: Remove "x86 ISA used". + * testsuite/ld-i386/property-4.r: Likewise. + * testsuite/ld-i386/property-5.r: Likewise. + * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. + * testsuite/ld-i386/property-x86-ibt3b.d: Likewise. + * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. + * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. + * testsuite/ld-x86-64/property-3.r: Likewise. + * testsuite/ld-x86-64/property-4.r: Likewise. + * testsuite/ld-x86-64/property-5.r: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise. + +(cherry picked from commit f7309df20c4e787041cedc4a6aced89c15259e54) +Signed-off-by: Norbert Lange +--- + bfd/ChangeLog | 9 +++++++ + bfd/elfxx-x86.c | 25 ++++++++++++++---- + ld/ChangeLog | 32 +++++++++++++++++++++++ + ld/testsuite/ld-i386/i386.exp | 2 ++ + ld/testsuite/ld-i386/pr23486a.d | 10 +++++++ + ld/testsuite/ld-i386/pr23486b.d | 10 +++++++ + ld/testsuite/ld-i386/property-3.r | 1 - + ld/testsuite/ld-i386/property-4.r | 1 - + ld/testsuite/ld-i386/property-5.r | 1 - + ld/testsuite/ld-i386/property-x86-ibt3a.d | 5 ++-- + ld/testsuite/ld-i386/property-x86-ibt3b.d | 5 ++-- + ld/testsuite/ld-i386/property-x86-shstk3a.d | 5 ++-- + ld/testsuite/ld-i386/property-x86-shstk3b.d | 5 ++-- + ld/testsuite/ld-x86-64/pr23486a-x32.d | 10 +++++++ + ld/testsuite/ld-x86-64/pr23486a.d | 10 +++++++ + ld/testsuite/ld-x86-64/pr23486a.s | 30 +++++++++++++++++++++ + ld/testsuite/ld-x86-64/pr23486b-x32.d | 10 +++++++ + ld/testsuite/ld-x86-64/pr23486b.d | 10 +++++++ + ld/testsuite/ld-x86-64/pr23486b.s | 30 +++++++++++++++++++++ + ld/testsuite/ld-x86-64/property-3.r | 1 - + ld/testsuite/ld-x86-64/property-4.r | 1 - + ld/testsuite/ld-x86-64/property-5.r | 1 - + ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-ibt3a.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-ibt3b.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-shstk3a.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d | 5 ++-- + ld/testsuite/ld-x86-64/property-x86-shstk3b.d | 5 ++-- + ld/testsuite/ld-x86-64/x86-64.exp | 4 +++ + 31 files changed, 211 insertions(+), 47 deletions(-) + create mode 100644 ld/testsuite/ld-i386/pr23486a.d + create mode 100644 ld/testsuite/ld-i386/pr23486b.d + create mode 100644 ld/testsuite/ld-x86-64/pr23486a-x32.d + create mode 100644 ld/testsuite/ld-x86-64/pr23486a.d + create mode 100644 ld/testsuite/ld-x86-64/pr23486a.s + create mode 100644 ld/testsuite/ld-x86-64/pr23486b-x32.d + create mode 100644 ld/testsuite/ld-x86-64/pr23486b.d + create mode 100644 ld/testsuite/ld-x86-64/pr23486b.s + +diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c +index 2e4ff88..7ccfd25 100644 +--- a/bfd/elfxx-x86.c ++++ b/bfd/elfxx-x86.c +@@ -2407,12 +2407,27 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info, + switch (pr_type) + { + case GNU_PROPERTY_X86_ISA_1_USED: ++ if (aprop == NULL || bprop == NULL) ++ { ++ /* Only one of APROP and BPROP can be NULL. */ ++ if (aprop != NULL) ++ { ++ /* Remove this property since the other input file doesn't ++ have it. */ ++ aprop->pr_kind = property_remove; ++ updated = TRUE; ++ } ++ break; ++ } ++ goto or_property; ++ + case GNU_PROPERTY_X86_ISA_1_NEEDED: + if (aprop != NULL && bprop != NULL) + { ++or_property: + number = aprop->u.number; + aprop->u.number = number | bprop->u.number; +- /* Remove the property if ISA bits are empty. */ ++ /* Remove the property if all bits are empty. */ + if (aprop->u.number == 0) + { + aprop->pr_kind = property_remove; +@@ -2428,14 +2443,14 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info, + { + if (aprop->u.number == 0) + { +- /* Remove APROP if ISA bits are empty. */ ++ /* Remove APROP if all bits are empty. */ + aprop->pr_kind = property_remove; + updated = TRUE; + } + } + else + { +- /* Return TRUE if APROP is NULL and ISA bits of BPROP ++ /* Return TRUE if APROP is NULL and all bits of BPROP + aren't empty to indicate that BPROP should be added + to ABFD. */ + updated = bprop->u.number != 0; +@@ -2582,9 +2597,9 @@ _bfd_x86_elf_link_setup_gnu_properties + { + /* If the separate code program header is needed, make sure + that the first read-only PT_LOAD segment has no code by +- adding a GNU_PROPERTY_X86_ISA_1_USED note. */ ++ adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */ + prop = _bfd_elf_get_property (ebfd, +- GNU_PROPERTY_X86_ISA_1_USED, ++ GNU_PROPERTY_X86_ISA_1_NEEDED, + 4); + prop->u.number = GNU_PROPERTY_X86_ISA_1_486; + prop->pr_kind = property_number; +diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp +index 6d794fe..78dad02 100644 +--- a/ld/testsuite/ld-i386/i386.exp ++++ b/ld/testsuite/ld-i386/i386.exp +@@ -462,6 +462,8 @@ run_dump_test "pr23189" + run_dump_test "pr23194" + run_dump_test "pr23372a" + run_dump_test "pr23372b" ++run_dump_test "pr23486a" ++run_dump_test "pr23486b" + + if { !([istarget "i?86-*-linux*"] + || [istarget "i?86-*-gnu*"] +diff --git a/ld/testsuite/ld-i386/pr23486a.d b/ld/testsuite/ld-i386/pr23486a.d +new file mode 100644 +index 0000000..41a6dcf +--- /dev/null ++++ b/ld/testsuite/ld-i386/pr23486a.d +@@ -0,0 +1,10 @@ ++#source: ../ld-x86-64/pr23486a.s ++#source: ../ld-x86-64/pr23486b.s ++#as: --32 ++#ld: -r -m elf_i386 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-i386/pr23486b.d b/ld/testsuite/ld-i386/pr23486b.d +new file mode 100644 +index 0000000..08019b7 +--- /dev/null ++++ b/ld/testsuite/ld-i386/pr23486b.d +@@ -0,0 +1,10 @@ ++#source: ../ld-x86-64/pr23486b.s ++#source: ../ld-x86-64/pr23486a.s ++#as: --32 ++#ld: -r -m elf_i386 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-i386/property-3.r b/ld/testsuite/ld-i386/property-3.r +index 0ed91f5..d03203c 100644 +--- a/ld/testsuite/ld-i386/property-3.r ++++ b/ld/testsuite/ld-i386/property-3.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: 586, SSE + x86 ISA needed: i486, 586 + #pass +diff --git a/ld/testsuite/ld-i386/property-4.r b/ld/testsuite/ld-i386/property-4.r +index cb2bc15..da295eb 100644 +--- a/ld/testsuite/ld-i386/property-4.r ++++ b/ld/testsuite/ld-i386/property-4.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-i386/property-5.r b/ld/testsuite/ld-i386/property-5.r +index 5529650..e414159 100644 +--- a/ld/testsuite/ld-i386/property-5.r ++++ b/ld/testsuite/ld-i386/property-5.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x900000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-i386/property-x86-ibt3a.d b/ld/testsuite/ld-i386/property-x86-ibt3a.d +index 4bb35b0..0aedea1 100644 +--- a/ld/testsuite/ld-i386/property-x86-ibt3a.d ++++ b/ld/testsuite/ld-i386/property-x86-ibt3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-i386/property-x86-ibt3b.d b/ld/testsuite/ld-i386/property-x86-ibt3b.d +index 418d58a..bd69ac6 100644 +--- a/ld/testsuite/ld-i386/property-x86-ibt3b.d ++++ b/ld/testsuite/ld-i386/property-x86-ibt3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-i386/property-x86-shstk3a.d b/ld/testsuite/ld-i386/property-x86-shstk3a.d +index e261038..76d2a39 100644 +--- a/ld/testsuite/ld-i386/property-x86-shstk3a.d ++++ b/ld/testsuite/ld-i386/property-x86-shstk3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-i386/property-x86-shstk3b.d b/ld/testsuite/ld-i386/property-x86-shstk3b.d +index 25f3d23..e770ecf 100644 +--- a/ld/testsuite/ld-i386/property-x86-shstk3b.d ++++ b/ld/testsuite/ld-i386/property-x86-shstk3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: i486, 586, SSE2, SSE3 +- x86 ISA needed: 586, SSE, SSE3, SSE4_1 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1 +diff --git a/ld/testsuite/ld-x86-64/pr23486a-x32.d b/ld/testsuite/ld-x86-64/pr23486a-x32.d +new file mode 100644 +index 0000000..6d9fa68 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486a-x32.d +@@ -0,0 +1,10 @@ ++#source: pr23486a.s ++#source: pr23486b.s ++#as: --x32 ++#ld: -r -m elf32_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486a.d b/ld/testsuite/ld-x86-64/pr23486a.d +new file mode 100644 +index 0000000..dc2b7bf +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486a.d +@@ -0,0 +1,10 @@ ++#source: pr23486a.s ++#source: pr23486b.s ++#as: --64 -defsym __64_bit__=1 ++#ld: -r -m elf_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486a.s b/ld/testsuite/ld-x86-64/pr23486a.s +new file mode 100644 +index 0000000..a07d0c7 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486a.s +@@ -0,0 +1,30 @@ ++ .section ".note.gnu.property", "a" ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ .long 1f - 0f /* name length. */ ++ .long 4f - 1f /* data length. */ ++ /* NT_GNU_PROPERTY_TYPE_0 */ ++ .long 5 /* note type. */ ++0: ++ .asciz "GNU" /* vendor name. */ ++1: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ /* GNU_PROPERTY_X86_ISA_1_USED */ ++ .long 0xc0000000 /* pr_type. */ ++ .long 3f - 2f /* pr_datasz. */ ++2: ++ .long 0xa ++3: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++4: +diff --git a/ld/testsuite/ld-x86-64/pr23486b-x32.d b/ld/testsuite/ld-x86-64/pr23486b-x32.d +new file mode 100644 +index 0000000..0445e69 +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486b-x32.d +@@ -0,0 +1,10 @@ ++#source: pr23486b.s ++#source: pr23486a.s ++#as: --x32 ++#ld: -r -m elf32_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486b.d b/ld/testsuite/ld-x86-64/pr23486b.d +new file mode 100644 +index 0000000..dc2b7bf +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486b.d +@@ -0,0 +1,10 @@ ++#source: pr23486a.s ++#source: pr23486b.s ++#as: --64 -defsym __64_bit__=1 ++#ld: -r -m elf_x86_64 ++#readelf: -n ++ ++Displaying notes found in: .note.gnu.property ++ Owner Data size Description ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586 +diff --git a/ld/testsuite/ld-x86-64/pr23486b.s b/ld/testsuite/ld-x86-64/pr23486b.s +new file mode 100644 +index 0000000..c5167ee +--- /dev/null ++++ b/ld/testsuite/ld-x86-64/pr23486b.s +@@ -0,0 +1,30 @@ ++ .section ".note.gnu.property", "a" ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ .long 1f - 0f /* name length. */ ++ .long 4f - 1f /* data length. */ ++ /* NT_GNU_PROPERTY_TYPE_0 */ ++ .long 5 /* note type. */ ++0: ++ .asciz "GNU" /* vendor name. */ ++1: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++ /* GNU_PROPERTY_X86_ISA_1_NEEDED */ ++ .long 0xc0000001 /* pr_type. */ ++ .long 3f - 2f /* pr_datasz. */ ++2: ++ .long 0x3 ++3: ++.ifdef __64_bit__ ++ .p2align 3 ++.else ++ .p2align 2 ++.endif ++4: +diff --git a/ld/testsuite/ld-x86-64/property-3.r b/ld/testsuite/ld-x86-64/property-3.r +index 0ed91f5..d03203c 100644 +--- a/ld/testsuite/ld-x86-64/property-3.r ++++ b/ld/testsuite/ld-x86-64/property-3.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: 586, SSE + x86 ISA needed: i486, 586 + #pass +diff --git a/ld/testsuite/ld-x86-64/property-4.r b/ld/testsuite/ld-x86-64/property-4.r +index cb2bc15..da295eb 100644 +--- a/ld/testsuite/ld-x86-64/property-4.r ++++ b/ld/testsuite/ld-x86-64/property-4.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x800000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-x86-64/property-5.r b/ld/testsuite/ld-x86-64/property-5.r +index 5529650..e414159 100644 +--- a/ld/testsuite/ld-x86-64/property-5.r ++++ b/ld/testsuite/ld-x86-64/property-5.r +@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property + Owner Data size Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: stack size: 0x900000 +- x86 ISA used: i486, 586, SSE + x86 ISA needed: i486, 586, SSE + #pass +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d +index 011426f..4cec728 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d +index 1b4229a..a8df49a 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d +index 290ed6a..c112626 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d +index 1142e03..f10dffd 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d ++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d +index 819542d..0147a3c 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d +index 4c5d0e0..1f8c2dc 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d +index ba181e0..7ca2539 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d +index 5216f38..f66a40e 100644 +--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d ++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d +@@ -6,6 +6,5 @@ + + Displaying notes found in: .note.gnu.property + Owner Data size Description +- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 +- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1 +- x86 ISA needed: i486, 586, SSE2, SSE3 ++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 ++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3 +diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp +index 6edb9e8..ae21e55 100644 +--- a/ld/testsuite/ld-x86-64/x86-64.exp ++++ b/ld/testsuite/ld-x86-64/x86-64.exp +@@ -403,6 +403,10 @@ run_dump_test "pr23372a" + run_dump_test "pr23372a-x32" + run_dump_test "pr23372b" + run_dump_test "pr23372b-x32" ++run_dump_test "pr23486a" ++run_dump_test "pr23486a-x32" ++run_dump_test "pr23486b" ++run_dump_test "pr23486b-x32" + + if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} { + return +-- +2.9.3 + diff --git a/package/binutils/2.31.1/0014-x86-Properly-add-X86_ISA_1_NEEDED-property.patch b/package/binutils/2.31.1/0014-x86-Properly-add-X86_ISA_1_NEEDED-property.patch new file mode 100644 index 0000000000..356914c999 --- /dev/null +++ b/package/binutils/2.31.1/0014-x86-Properly-add-X86_ISA_1_NEEDED-property.patch @@ -0,0 +1,140 @@ +From 28a27bdbb9500797e6767f80c8128b09112aeed5 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Sat, 11 Aug 2018 06:41:33 -0700 +Subject: [PATCH] x86: Properly add X86_ISA_1_NEEDED property + +Existing properties may be removed during property merging. We avoid +adding X86_ISA_1_NEEDED property only if existing properties won't be +removed. + +bfd/ + + PR ld/23428 + * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't + add X86_ISA_1_NEEDED property only if existing properties won't + be removed. + +ld/ + + PR ld/23428 + * testsuite/ld-elf/dummy.s: New file. + * testsuite/ld-elf/linux-x86.S: Add X86_FEATURE_1_AND property. + * testsuite/ld-elf/linux-x86.exp: Add dummy.s to pr23428. + +(cherry picked from commit ab9e342807d132182892de1be1a92d6e91a5c1da) +Signed-off-by: Norbert Lange +--- + bfd/ChangeLog | 7 +++++++ + bfd/elfxx-x86.c | 28 ++++++++++++++++++++++------ + ld/ChangeLog | 7 +++++++ + ld/testsuite/ld-elf/dummy.s | 1 + + ld/testsuite/ld-elf/linux-x86.S | 28 ++++++++++++++++++++++++++++ + ld/testsuite/ld-elf/linux-x86.exp | 2 +- + 6 files changed, 66 insertions(+), 7 deletions(-) + create mode 100644 ld/testsuite/ld-elf/dummy.s + +diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c +index 7ccfd25..2d8f7b6 100644 +--- a/bfd/elfxx-x86.c ++++ b/bfd/elfxx-x86.c +@@ -2588,7 +2588,6 @@ _bfd_x86_elf_link_setup_gnu_properties + prop->pr_kind = property_number; + } + else if (has_text +- && elf_properties (ebfd) == NULL + && elf_tdata (info->output_bfd)->o->build_id.sec == NULL + && !htab->elf.dynamic_sections_created + && !info->traditional_format +@@ -2598,11 +2597,28 @@ _bfd_x86_elf_link_setup_gnu_properties + /* If the separate code program header is needed, make sure + that the first read-only PT_LOAD segment has no code by + adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */ +- prop = _bfd_elf_get_property (ebfd, +- GNU_PROPERTY_X86_ISA_1_NEEDED, +- 4); +- prop->u.number = GNU_PROPERTY_X86_ISA_1_486; +- prop->pr_kind = property_number; ++ elf_property_list *list; ++ bfd_boolean need_property = TRUE; ++ ++ for (list = elf_properties (ebfd); list; list = list->next) ++ switch (list->property.pr_type) ++ { ++ case GNU_PROPERTY_STACK_SIZE: ++ case GNU_PROPERTY_NO_COPY_ON_PROTECTED: ++ case GNU_PROPERTY_X86_ISA_1_NEEDED: ++ /* These properties won't be removed during merging. */ ++ need_property = FALSE; ++ break; ++ } ++ ++ if (need_property) ++ { ++ prop = _bfd_elf_get_property (ebfd, ++ GNU_PROPERTY_X86_ISA_1_NEEDED, ++ 4); ++ prop->u.number = GNU_PROPERTY_X86_ISA_1_486; ++ prop->pr_kind = property_number; ++ } + } + + /* Create the GNU property note section if needed. */ +diff --git a/ld/testsuite/ld-elf/dummy.s b/ld/testsuite/ld-elf/dummy.s +new file mode 100644 +index 0000000..403f980 +--- /dev/null ++++ b/ld/testsuite/ld-elf/dummy.s +@@ -0,0 +1 @@ ++# Dummy +diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S +index bdf40c6..d94abc1 100644 +--- a/ld/testsuite/ld-elf/linux-x86.S ++++ b/ld/testsuite/ld-elf/linux-x86.S +@@ -61,3 +61,31 @@ syscall: + ret /* Return to caller. */ + .size syscall, .-syscall + .section .note.GNU-stack,"",@progbits ++ ++ .section ".note.gnu.property", "a" ++#ifdef __LP64__ ++ .p2align 3 ++#else ++ .p2align 2 ++#endif ++ .long 1f - 0f /* name length */ ++ .long 5f - 2f /* data length */ ++ .long 5 /* note type */ ++0: .asciz "GNU" /* vendor name */ ++1: ++#ifdef __LP64__ ++ .p2align 3 ++#else ++ .p2align 2 ++#endif ++2: .long 0xc0000002 /* pr_type. */ ++ .long 4f - 3f /* pr_datasz. */ ++3: ++ .long 0x2 ++4: ++#ifdef __LP64__ ++ .p2align 3 ++#else ++ .p2align 2 ++#endif ++5: +diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp +index 36217c6..f6f5a80 100644 +--- a/ld/testsuite/ld-elf/linux-x86.exp ++++ b/ld/testsuite/ld-elf/linux-x86.exp +@@ -37,7 +37,7 @@ run_ld_link_exec_tests [list \ + "Run PR ld/23428 test" \ + "--no-dynamic-linker -z separate-code" \ + "" \ +- { linux-x86.S pr23428.c } \ ++ { linux-x86.S pr23428.c dummy.s } \ + "pr23428" \ + "pass.out" \ + "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \ +-- +2.9.3 + diff --git a/package/binutils/2.31.1/0015-bfd-xtensa-fix-shrink_dynamic_reloc_sections-for-exp.patch b/package/binutils/2.31.1/0015-bfd-xtensa-fix-shrink_dynamic_reloc_sections-for-exp.patch new file mode 100644 index 0000000000..b80e1fa7ce --- /dev/null +++ b/package/binutils/2.31.1/0015-bfd-xtensa-fix-shrink_dynamic_reloc_sections-for-exp.patch @@ -0,0 +1,41 @@ +From 278989f23735aa501be1052e085540c75c126dbb Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Thu, 28 Mar 2019 17:03:57 -0700 +Subject: [PATCH] bfd: xtensa: fix shrink_dynamic_reloc_sections for + export-dynamic + +shrink_dynamic_reloc_sections must remove PLT entry that was created for +an undefined weak symbol in the presence of --export-dynamic option when +relaxation coalesces literals pointing to that symbol. This fixes the +following assertion: + + ld: BFD (GNU Binutils) 2.31.1 internal error, aborting at + elf32-xtensa.c:3292 in elf_xtensa_finish_dynamic_sections + +2019-03-28 Max Filippov +bfd/ + * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add + info->export_dynamic to the conditional. + +Signed-off-by: Max Filippov +--- + bfd/elf32-xtensa.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index c3df3d6db756..37ea200eea74 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -10083,7 +10083,8 @@ shrink_dynamic_reloc_sections (struct bfd_link_info *info, + && (input_section->flags & SEC_ALLOC) != 0 + && (dynamic_symbol || bfd_link_pic (info)) + && (!h || h->root.type != bfd_link_hash_undefweak +- || (dynamic_symbol && bfd_link_dll (info)))) ++ || (dynamic_symbol ++ && (bfd_link_dll (info) || info->export_dynamic)))) + { + asection *srel; + bfd_boolean is_plt = FALSE; +-- +2.11.0 + diff --git a/package/binutils/2.31.1/0016-gas-use-literals-const16-for-xtensa-loop-relaxation.patch b/package/binutils/2.31.1/0016-gas-use-literals-const16-for-xtensa-loop-relaxation.patch new file mode 100644 index 0000000000..ed617bcaf7 --- /dev/null +++ b/package/binutils/2.31.1/0016-gas-use-literals-const16-for-xtensa-loop-relaxation.patch @@ -0,0 +1,294 @@ +From 0dbdfb7918d0b0cfcb8883b24c1291574bf5bb7c Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Tue, 2 Apr 2019 14:32:42 -0700 +Subject: [PATCH] gas: use literals/const16 for xtensa loop relaxation + +Loop opcode relaxation that uses addi/addmi doesn't work well with other +relaxations that may cause code movement. Instead of encoding fixed loop +end offset in the relaxed sequence use l32r or a pair of const16 to load +loop end address. This way the address of the loop end gets a relocation +record and it gets updated appropriately. + +gas/ +2019-04-02 Max Filippov + + * config/tc-xtensa.c (convert_frag_immed): Drop + convert_frag_immed_finish_loop invocation. + (convert_frag_immed_finish_loop): Drop declaration and + definition. + * config/xtensa-relax.c (widen_spec_list): Replace loop + widening that uses addi/addmi with widening that uses l32r + and const16. + +Signed-off-by: Max Filippov +--- + gas/config/tc-xtensa.c | 120 ---------------------------------------------- + gas/config/xtensa-relax.c | 77 ++++++++++++++++++++--------- + 2 files changed, 55 insertions(+), 142 deletions(-) + +diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c +index 3bdbbc931cfc..0cc06361cf6f 100644 +--- a/gas/config/tc-xtensa.c ++++ b/gas/config/tc-xtensa.c +@@ -10668,7 +10668,6 @@ convert_frag_fill_nop (fragS *fragP) + static fixS *fix_new_exp_in_seg + (segT, subsegT, fragS *, int, int, expressionS *, int, + bfd_reloc_code_real_type); +-static void convert_frag_immed_finish_loop (segT, fragS *, TInsn *); + + static void + convert_frag_immed (segT segP, +@@ -10910,9 +10909,6 @@ convert_frag_immed (segT segP, + } + } + +- if (expanded && xtensa_opcode_is_loop (isa, orig_tinsn.opcode) == 1) +- convert_frag_immed_finish_loop (segP, fragP, &orig_tinsn); +- + if (expanded && is_direct_call_opcode (orig_tinsn.opcode)) + { + /* Add an expansion note on the expanded instruction. */ +@@ -10949,122 +10945,6 @@ fix_new_exp_in_seg (segT new_seg, + } + + +-/* Relax a loop instruction so that it can span loop >256 bytes. +- +- loop as, .L1 +- .L0: +- rsr as, LEND +- wsr as, LBEG +- addi as, as, lo8 (label-.L1) +- addmi as, as, mid8 (label-.L1) +- wsr as, LEND +- isync +- rsr as, LCOUNT +- addi as, as, 1 +- .L1: +- <> +- label: +-*/ +- +-static void +-convert_frag_immed_finish_loop (segT segP, fragS *fragP, TInsn *tinsn) +-{ +- TInsn loop_insn; +- TInsn addi_insn; +- TInsn addmi_insn; +- unsigned long target; +- static xtensa_insnbuf insnbuf = NULL; +- unsigned int loop_length, loop_length_hi, loop_length_lo; +- xtensa_isa isa = xtensa_default_isa; +- addressT loop_offset; +- addressT addi_offset = 9; +- addressT addmi_offset = 12; +- fragS *next_fragP; +- int target_count; +- +- if (!insnbuf) +- insnbuf = xtensa_insnbuf_alloc (isa); +- +- /* Get the loop offset. */ +- loop_offset = get_expanded_loop_offset (tinsn->opcode); +- +- /* Validate that there really is a LOOP at the loop_offset. Because +- loops are not bundleable, we can assume that the instruction will be +- in slot 0. */ +- tinsn_from_chars (&loop_insn, fragP->fr_opcode + loop_offset, 0); +- tinsn_immed_from_frag (&loop_insn, fragP, 0); +- +- gas_assert (xtensa_opcode_is_loop (isa, loop_insn.opcode) == 1); +- addi_offset += loop_offset; +- addmi_offset += loop_offset; +- +- gas_assert (tinsn->ntok == 2); +- if (tinsn->tok[1].X_op == O_constant) +- target = tinsn->tok[1].X_add_number; +- else if (tinsn->tok[1].X_op == O_symbol) +- { +- /* Find the fragment. */ +- symbolS *sym = tinsn->tok[1].X_add_symbol; +- gas_assert (S_GET_SEGMENT (sym) == segP +- || S_GET_SEGMENT (sym) == absolute_section); +- target = (S_GET_VALUE (sym) + tinsn->tok[1].X_add_number); +- } +- else +- { +- as_bad (_("invalid expression evaluation type %d"), tinsn->tok[1].X_op); +- target = 0; +- } +- +- loop_length = target - (fragP->fr_address + fragP->fr_fix); +- loop_length_hi = loop_length & ~0x0ff; +- loop_length_lo = loop_length & 0x0ff; +- if (loop_length_lo >= 128) +- { +- loop_length_lo -= 256; +- loop_length_hi += 256; +- } +- +- /* Because addmi sign-extends the immediate, 'loop_length_hi' can be at most +- 32512. If the loop is larger than that, then we just fail. */ +- if (loop_length_hi > 32512) +- as_bad_where (fragP->fr_file, fragP->fr_line, +- _("loop too long for LOOP instruction")); +- +- tinsn_from_chars (&addi_insn, fragP->fr_opcode + addi_offset, 0); +- gas_assert (addi_insn.opcode == xtensa_addi_opcode); +- +- tinsn_from_chars (&addmi_insn, fragP->fr_opcode + addmi_offset, 0); +- gas_assert (addmi_insn.opcode == xtensa_addmi_opcode); +- +- set_expr_const (&addi_insn.tok[2], loop_length_lo); +- tinsn_to_insnbuf (&addi_insn, insnbuf); +- +- fragP->tc_frag_data.is_insn = TRUE; +- xtensa_insnbuf_to_chars +- (isa, insnbuf, (unsigned char *) fragP->fr_opcode + addi_offset, 0); +- +- set_expr_const (&addmi_insn.tok[2], loop_length_hi); +- tinsn_to_insnbuf (&addmi_insn, insnbuf); +- xtensa_insnbuf_to_chars +- (isa, insnbuf, (unsigned char *) fragP->fr_opcode + addmi_offset, 0); +- +- /* Walk through all of the frags from here to the loop end +- and mark them as no_transform to keep them from being modified +- by the linker. If we ever have a relocation for the +- addi/addmi of the difference of two symbols we can remove this. */ +- +- target_count = 0; +- for (next_fragP = fragP; next_fragP != NULL; +- next_fragP = next_fragP->fr_next) +- { +- next_fragP->tc_frag_data.is_no_transform = TRUE; +- if (next_fragP->tc_frag_data.is_loop_target) +- target_count++; +- if (target_count == 2) +- break; +- } +-} +- + + /* A map that keeps information on a per-subsegment basis. This is + maintained during initial assembly, but is invalid once the +diff --git a/gas/config/xtensa-relax.c b/gas/config/xtensa-relax.c +index cb296ed85ed2..daf15d52c259 100644 +--- a/gas/config/xtensa-relax.c ++++ b/gas/config/xtensa-relax.c +@@ -87,13 +87,7 @@ + when the first and second operands are not the same as specified + by the "| %at!=%as" precondition clause. + {"l32i %at,%as,%imm | %at!=%as", +- "LITERAL %imm; l32r %at,%LITERAL; add %at,%at,%as; l32i %at,%at,0"} +- +- There is special case for loop instructions here, but because we do +- not currently have the ability to represent the difference of two +- symbols, the conversion requires special code in the assembler to +- write the operands of the addi/addmi pair representing the +- difference of the old and new loop end label. */ ++ "LITERAL %imm; l32r %at,%LITERAL; add %at,%at,%as; l32i %at,%at,0"} */ + + #include "as.h" + #include "xtensa-isa.h" +@@ -306,44 +300,83 @@ static string_pattern_pair widen_spec_list[] = + {"l32i %at,%as,%imm | %at!=%as ? IsaUseConst16", + "const16 %at,HI16U(%imm); const16 %at,LOW16U(%imm); add %at,%at,%as; l32i %at,%at,0"}, + +- /* This is only PART of the loop instruction. In addition, +- hardcoded into its use is a modification of the final operand in +- the instruction in bytes 9 and 12. */ +- {"loop %as,%label | %as!=1 ? IsaUseLoops", ++ /* Widening loops with literals. */ ++ {"loop %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "loop %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ {"loopgtz %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "beqz %as,%label;" ++ "bltz %as,%label;" ++ "loopgtz %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ {"loopnez %as,%label | %as!=1 ? IsaUseLoops ? IsaUseL32R", ++ "beqz %as,%label;" ++ "loopnez %as,%LABEL;" ++ "rsr.lend %as;" /* LEND */ ++ "wsr.lbeg %as;" /* LBEG */ ++ "LITERAL %label;" ++ "l32r %as, %LITERAL;" ++ "nop;" ++ "wsr.lend %as;" ++ "isync;" ++ "rsr.lcount %as;" /* LCOUNT */ ++ "addi %as, %as, 1;" ++ "LABEL"}, ++ ++ /* Widening loops with const16. */ ++ {"loop %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "loop %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, +- {"loopgtz %as,%label | %as!=1 ? IsaUseLoops", ++ {"loopgtz %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "beqz %as,%label;" + "bltz %as,%label;" + "loopgtz %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, +- {"loopnez %as,%label | %as!=1 ? IsaUseLoops", ++ {"loopnez %as,%label | %as!=1 ? IsaUseLoops ? IsaUseConst16", + "beqz %as,%label;" + "loopnez %as,%LABEL;" + "rsr.lend %as;" /* LEND */ + "wsr.lbeg %as;" /* LBEG */ +- "addi %as, %as, 0;" /* lo8(%label-%LABEL1) */ +- "addmi %as, %as, 0;" /* mid8(%label-%LABEL1) */ ++ "const16 %as,HI16U(%label);" ++ "const16 %as,LOW16U(%label);" + "wsr.lend %as;" + "isync;" + "rsr.lcount %as;" /* LCOUNT */ +- "addi %as, %as, 1;" /* density -> addi.n %as, %as, 1 */ ++ "addi %as, %as, 1;" + "LABEL"}, + + /* Relaxing to wide branches. Order is important here. With wide +-- +2.11.0 + diff --git a/package/binutils/2.31.1/0017-xtensa-gas-put-.literal_position-at-section-start.patch b/package/binutils/2.31.1/0017-xtensa-gas-put-.literal_position-at-section-start.patch new file mode 100644 index 0000000000..b4bbc27b37 --- /dev/null +++ b/package/binutils/2.31.1/0017-xtensa-gas-put-.literal_position-at-section-start.patch @@ -0,0 +1,96 @@ +From 471702ac4a57878a06e8167f063274cf413e548d Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Mon, 8 Apr 2019 13:47:18 -0700 +Subject: [PATCH] xtensa: gas: put .literal_position at section start + +Provide literal position at the beginning of each section for literal +space reserved by relaxations when text-section-literals or +auto-litpools options are used. Remove code that adds fill frag to the +literal section for every .literal_position directive to avoid creation +of empty literal sections. + +Fix auto-litpools tests that got literal pool address changes. + +gas/ +2019-04-11 Max Filippov + + * config/tc-xtensa.c (xtensa_is_init_fini): Add declaration. + (xtensa_mark_literal_pool_location): Don't add fill frag to literal + section that records literal pool location. + (md_begin): Call xtensa_mark_literal_pool_location when text + section literals or auto litpools are used. + (xtensa_elf_section_change_hook): Call + xtensa_mark_literal_pool_location when text section literals or + auto litpools are used, there's no literal pool location defined + for the current section and it's not .init or .fini. + +Signed-off-by: Max Filippov +--- + gas/config/tc-xtensa.c | 22 +++++++++------------- + 1 file changed, 9 insertions(+), 13 deletions(-) + +diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c +index 0cc06361cf6f..6a80e76fed8c 100644 +--- a/gas/config/tc-xtensa.c ++++ b/gas/config/tc-xtensa.c +@@ -497,6 +497,7 @@ static fixS *xg_append_jump (fragS *fragP, symbolS *sym, offsetT offset); + static void xtensa_maybe_create_literal_pool_frag (bfd_boolean, bfd_boolean); + static bfd_boolean auto_litpools = FALSE; + static int auto_litpool_limit = 0; ++static bfd_boolean xtensa_is_init_fini (segT seg); + + /* Alignment Functions. */ + +@@ -4797,7 +4798,6 @@ xtensa_mark_literal_pool_location (void) + { + /* Any labels pointing to the current location need + to be adjusted to after the literal pool. */ +- emit_state s; + fragS *pool_location; + + if (use_literal_section) +@@ -4818,19 +4818,7 @@ xtensa_mark_literal_pool_location (void) + RELAX_LITERAL_POOL_END, NULL, 0, NULL); + xtensa_set_frag_assembly_state (frag_now); + +- /* Now put a frag into the literal pool that points to this location. */ + set_literal_pool_location (now_seg, pool_location); +- xtensa_switch_to_non_abs_literal_fragment (&s); +- frag_align (2, 0, 0); +- record_alignment (now_seg, 2); +- +- /* Close whatever frag is there. */ +- frag_variant (rs_fill, 0, 0, 0, NULL, 0, NULL); +- xtensa_set_frag_assembly_state (frag_now); +- frag_now->tc_frag_data.literal_frag = pool_location; +- frag_variant (rs_fill, 0, 0, 0, NULL, 0, NULL); +- xtensa_restore_emit_state (&s); +- xtensa_set_frag_assembly_state (frag_now); + } + + +@@ -5334,6 +5322,9 @@ md_begin (void) + /* Set up the assembly state. */ + if (!frag_now->tc_frag_data.is_assembly_state_set) + xtensa_set_frag_assembly_state (frag_now); ++ ++ if (!use_literal_section) ++ xtensa_mark_literal_pool_location (); + } + + +@@ -5933,6 +5924,11 @@ xtensa_elf_section_change_hook (void) + /* Set up the assembly state. */ + if (!frag_now->tc_frag_data.is_assembly_state_set) + xtensa_set_frag_assembly_state (frag_now); ++ ++ if (!use_literal_section ++ && seg_info (now_seg)->tc_segment_info_data.literal_pool_loc == NULL ++ && !xtensa_is_init_fini (now_seg)) ++ xtensa_mark_literal_pool_location (); + } + + +-- +2.11.0 + diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index 21dc84e498..924d1749cd 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -1,5 +1,11 @@ comment "Binutils Options" +config BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI + bool + default y + depends on !BR2_microblaze + depends on !(BR2_nios2 && (BR2_BINUTILS_VERSION_2_28_X || BR2_BINUTILS_VERSION_2_29_X)) + choice prompt "Binutils Version" default BR2_BINUTILS_VERSION_2_28_X if BR2_ARM_INSTRUCTIONS_THUMB @@ -12,9 +18,11 @@ choice config BR2_BINUTILS_VERSION_2_28_X bool "binutils 2.28.1" depends on !BR2_arc + depends on !BR2_riscv config BR2_BINUTILS_VERSION_2_29_X bool "binutils 2.29.1" + depends on !BR2_riscv config BR2_BINUTILS_VERSION_2_30_X bool "binutils 2.30" @@ -23,13 +31,13 @@ config BR2_BINUTILS_VERSION_2_31_X bool "binutils 2.31.1" config BR2_BINUTILS_VERSION_ARC - bool "binutils arc (2.29)" + bool "binutils arc (2.31)" depends on BR2_arc endchoice config BR2_BINUTILS_VERSION string - default "arc-2018.03" if BR2_BINUTILS_VERSION_ARC + default "arc-2018.09-release" if BR2_BINUTILS_VERSION_ARC default "2.28.1" if BR2_BINUTILS_VERSION_2_28_X default "2.29.1" if BR2_BINUTILS_VERSION_2_29_X default "2.30" if BR2_BINUTILS_VERSION_2_30_X diff --git a/package/binutils/arc-2018.03/0002-ld-makefile.patch b/package/binutils/arc-2018.03/0002-ld-makefile.patch deleted file mode 100644 index a7cd71e63c..0000000000 --- a/package/binutils/arc-2018.03/0002-ld-makefile.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d4e18ebc6ad810167a2de84b185a5f0d65b9ec2d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:40:53 +0100 -Subject: [PATCH] ld-makefile - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/Makefile.am | 2 +- - ld/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ld/Makefile.am b/ld/Makefile.am -index 625347f..d5334d2 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -57,7 +57,7 @@ endif - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff --git a/ld/Makefile.in b/ld/Makefile.in -index ba25177..a2cf228 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -446,7 +446,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include --- -2.9.4 - diff --git a/package/binutils/arc-2018.03/0003-check-ldrunpath-length.patch b/package/binutils/arc-2018.03/0003-check-ldrunpath-length.patch deleted file mode 100644 index 3fbc5031d1..0000000000 --- a/package/binutils/arc-2018.03/0003-check-ldrunpath-length.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 3bd211025c890ef2971958915d500a9bb2913a2a Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:41:47 +0100 -Subject: [PATCH] check-ldrunpath-length - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/emultempl/elf32.em | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em -index d2551b6..70fcb56 100644 ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1463,6 +1463,8 @@ fragment <link.next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) --- -2.9.4 - diff --git a/package/binutils/arc-2018.03/0004-add-sysroot-fix-from-bug-3049.patch b/package/binutils/arc-2018.03/0004-add-sysroot-fix-from-bug-3049.patch deleted file mode 100644 index 9e11840cee..0000000000 --- a/package/binutils/arc-2018.03/0004-add-sysroot-fix-from-bug-3049.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 378bda0e19d279535b3f4a0e448a658a534a5d67 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:42:48 +0100 -Subject: [PATCH] add sysroot fix from bug #3049 - -Always try to prepend the sysroot prefix to absolute filenames first. - -http://bugs.gentoo.org/275666 -http://sourceware.org/bugzilla/show_bug.cgi?id=10340 - -Signed-off-by: Sven Rebhan -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/ldfile.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 3b37a0a..f7e5473 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -338,18 +338,24 @@ ldfile_open_file_search (const char *arch, - directory first. */ - if (!entry->flags.maybe_archive) - { -- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) -+ /* For absolute pathnames, try to always open the file in the -+ sysroot first. If this fails, try to open the file at the -+ given location. */ -+ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); -+ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) -+ && ld_sysroot) - { - char *name = concat (ld_sysroot, entry->filename, - (const char *) NULL); - if (ldfile_try_open_bfd (name, entry)) - { - entry->filename = name; -+ entry->flags.sysrooted = TRUE; - return TRUE; - } - free (name); - } -- else if (ldfile_try_open_bfd (entry->filename, entry)) -+ if (ldfile_try_open_bfd (entry->filename, entry)) - return TRUE; - - if (IS_ABSOLUTE_PATH (entry->filename)) --- -2.9.4 - diff --git a/package/binutils/arc-2018.03/0005-poison-system-directories.patch b/package/binutils/arc-2018.09-release/0005-poison-system-directories.patch similarity index 89% rename from package/binutils/arc-2018.03/0005-poison-system-directories.patch rename to package/binutils/arc-2018.09-release/0005-poison-system-directories.patch index a7c2761a9d..90c7ac760a 100644 --- a/package/binutils/arc-2018.03/0005-poison-system-directories.patch +++ b/package/binutils/arc-2018.09-release/0005-poison-system-directories.patch @@ -1,4 +1,4 @@ -From b100e9d16bfe6725b2624902af457ecfa490b150 Mon Sep 17 00:00:00 2001 +From 7d1e6ed1d57e839207e0ece7561bd4709032de9f Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Fri, 25 Dec 2015 11:45:38 +0100 Subject: [PATCH] poison-system-directories @@ -70,7 +70,7 @@ Signed-off-by: Scott Garman ld/configure | 14 ++++++++++++++ ld/configure.ac | 10 ++++++++++ ld/ld.h | 8 ++++++++ - ld/ld.texinfo | 12 ++++++++++++ + ld/ld.texi | 12 ++++++++++++ ld/ldfile.c | 17 +++++++++++++++++ ld/ldlex.h | 2 ++ ld/ldmain.c | 2 ++ @@ -78,10 +78,10 @@ Signed-off-by: Scott Garman 9 files changed, 89 insertions(+) diff --git a/ld/config.in b/ld/config.in -index 5d91380..ffe84a7 100644 +index d93c9b0..5da2742 100644 --- a/ld/config.in +++ b/ld/config.in -@@ -21,6 +21,9 @@ +@@ -31,6 +31,9 @@ language is requested. */ #undef ENABLE_NLS @@ -92,10 +92,10 @@ index 5d91380..ffe84a7 100644 #undef EXTRA_SHLIB_EXTENSION diff --git a/ld/configure b/ld/configure -index da20ab5..63e3da7 100755 +index 300a272..d68890f 100755 --- a/ld/configure +++ b/ld/configure -@@ -785,6 +785,7 @@ with_lib_path +@@ -822,6 +822,7 @@ with_lib_path enable_targets enable_64_bit_bfd with_sysroot @@ -103,7 +103,7 @@ index da20ab5..63e3da7 100755 enable_gold enable_got enable_compressed_debug_sections -@@ -1443,6 +1444,8 @@ Optional Features: +@@ -1486,6 +1487,8 @@ Optional Features: --disable-largefile omit support for large files --enable-targets alternative target configurations --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) @@ -112,7 +112,7 @@ index da20ab5..63e3da7 100755 --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got= GOT handling scheme (target, single, negative, multigot) -@@ -15497,7 +15500,18 @@ else +@@ -15803,7 +15806,18 @@ else fi @@ -132,10 +132,10 @@ index da20ab5..63e3da7 100755 # Check whether --enable-got was given. if test "${enable_got+set}" = set; then : diff --git a/ld/configure.ac b/ld/configure.ac -index 34315e6..5ade9a0 100644 +index d10c553..9f1b57b 100644 --- a/ld/configure.ac +++ b/ld/configure.ac -@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) +@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) AC_SUBST(TARGET_SYSTEM_ROOT) AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) @@ -153,10 +153,10 @@ index 34315e6..5ade9a0 100644 dnl "install_as_default" is set to false if gold is the default linker. dnl "installed_linker" is the installed BFD linker name. diff --git a/ld/ld.h b/ld/ld.h -index 162e156..7d6d7ef 100644 +index ba914b9..9df17da 100644 --- a/ld/ld.h +++ b/ld/ld.h -@@ -177,6 +177,14 @@ typedef struct +@@ -180,6 +180,14 @@ typedef struct in the linker script. */ bfd_boolean force_group_allocation; @@ -171,11 +171,11 @@ index 162e156..7d6d7ef 100644 /* Big or little endian as set on command line. */ enum endian_enum endian; -diff --git a/ld/ld.texinfo b/ld/ld.texinfo -index bb5f719..78501e4 100644 ---- a/ld/ld.texinfo -+++ b/ld/ld.texinfo -@@ -2480,6 +2480,18 @@ string identifying the original linked file does not change. +diff --git a/ld/ld.texi b/ld/ld.texi +index 40d79dd..137d46c 100644 +--- a/ld/ld.texi ++++ b/ld/ld.texi +@@ -2479,6 +2479,18 @@ string identifying the original linked file does not change. Passing @code{none} for @var{style} disables the setting from any @code{--build-id} options earlier on the command line. @@ -195,7 +195,7 @@ index bb5f719..78501e4 100644 @c man end diff --git a/ld/ldfile.c b/ld/ldfile.c -index f7e5473..2cd84d3 100644 +index b3d166c..3dcbf66 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c @@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) @@ -223,10 +223,10 @@ index f7e5473..2cd84d3 100644 /* Try to open a BFD for a lang_input_statement. */ diff --git a/ld/ldlex.h b/ld/ldlex.h -index 5aa7f6b..cb655e0 100644 +index 04d6fd5..d7df005 100644 --- a/ld/ldlex.h +++ b/ld/ldlex.h -@@ -147,6 +147,8 @@ enum option_values +@@ -148,6 +148,8 @@ enum option_values OPTION_REQUIRE_DEFINED_SYMBOL, OPTION_ORPHAN_HANDLING, OPTION_FORCE_GROUP_ALLOCATION, @@ -236,10 +236,10 @@ index 5aa7f6b..cb655e0 100644 /* The initial parser states. */ diff --git a/ld/ldmain.c b/ld/ldmain.c -index ee5ab11..5f6effd 100644 +index f31eeb2..25f8497 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c -@@ -270,6 +270,8 @@ main (int argc, char **argv) +@@ -268,6 +268,8 @@ main (int argc, char **argv) command_line.warn_mismatch = TRUE; command_line.warn_search_mismatch = TRUE; command_line.check_section_addresses = -1; @@ -249,10 +249,10 @@ index ee5ab11..5f6effd 100644 /* We initialize DEMANGLING based on the environment variable COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the diff --git a/ld/lexsup.c b/ld/lexsup.c -index 08106bc..d619d50 100644 +index 86a033a..f07f095 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c -@@ -538,6 +538,14 @@ static const struct ld_option ld_options[] = +@@ -543,6 +543,14 @@ static const struct ld_option ld_options[] = { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, '\0', N_("=MODE"), N_("Control how orphan sections are handled."), TWO_DASHES }, @@ -267,7 +267,7 @@ index 08106bc..d619d50 100644 }; #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -550,6 +558,7 @@ parse_args (unsigned argc, char **argv) +@@ -555,6 +563,7 @@ parse_args (unsigned argc, char **argv) int ingroup = 0; char *default_dirlist = NULL; char *shortopts; @@ -275,9 +275,9 @@ index 08106bc..d619d50 100644 struct option *longopts; struct option *really_longopts; int last_optind; -@@ -1534,6 +1543,14 @@ parse_args (unsigned argc, char **argv) - } - break; +@@ -1543,6 +1552,14 @@ parse_args (unsigned argc, char **argv) + } + break; + case OPTION_NO_POISON_SYSTEM_DIRECTORIES: + command_line.poison_system_directories = FALSE; @@ -290,7 +290,7 @@ index 08106bc..d619d50 100644 case OPTION_PUSH_STATE: input_flags.pushed = xmemdup (&input_flags, sizeof (input_flags), -@@ -1577,6 +1594,10 @@ parse_args (unsigned argc, char **argv) +@@ -1586,6 +1603,10 @@ parse_args (unsigned argc, char **argv) command_line.soname = NULL; } @@ -302,5 +302,5 @@ index 08106bc..d619d50 100644 { lang_leave_group (); -- -2.9.4 +2.7.4 diff --git a/package/binutils/binutils.hash b/package/binutils/binutils.hash index d97f55da8a..ac0831ca27 100644 --- a/package/binutils/binutils.hash +++ b/package/binutils/binutils.hash @@ -5,4 +5,4 @@ sha512 e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b19 sha512 0fca326feb1d5f5fe505a827b20237fe3ec9c13eaf7ec7e35847fd71184f605ba1cefe1314b1b8f8a29c0aa9d88162849ee1c1a3e70c2f7407d88339b17edb30 binutils-2.31.1.tar.xz # Locally calculated (fetched from Github) -sha512 bea88164ed48733bad63393fe702e12e651efd113aa4f3fe2e253e05c4c1e5da20b5a99333f0b5528df6d32ce806f799211c568e1916845a87999901dde28817 binutils-arc-2018.03.tar.gz +sha512 a96dfcea6064fcd1aac1333ac0d631491bed8b0be9bdcf62f1447909c8f30d2cb8d9323ffeb7c9ad6b326ecddb72e3d28281684e73343189d0a4a37a11aef62f binutils-gdb-arc-2018.09-release.tar.gz diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index 090065a3e4..4531b8d9c8 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -9,15 +9,15 @@ BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION)) ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) -BINUTILS_VERSION = arc-2018.03 +BINUTILS_VERSION = arc-2018.09-release else BINUTILS_VERSION = 2.29.1 endif endif # BINUTILS_VERSION -ifeq ($(BINUTILS_VERSION),arc-2018.03) +ifeq ($(BINUTILS_VERSION),arc-2018.09-release) BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION)) -BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz +BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz BINUTILS_FROM_GIT = y endif BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils diff --git a/package/bird/Config.in b/package/bird/Config.in new file mode 100644 index 0000000000..a69551f94e --- /dev/null +++ b/package/bird/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_BIRD + bool "bird" + depends on BR2_USE_MMU # fork() + help + BIRD Internet Routing Daemon + + The BIRD project aims to develop a dynamic IP routing daemon + with full support of all modern routing protocols, easy to + use configuration interface and powerful route filtering + language + + http://bird.network.cz/ + +if BR2_PACKAGE_BIRD + +config BR2_PACKAGE_BIRD_CLIENT + bool "birdc" + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_READLINE + help + Enable the BIRD client + +endif diff --git a/package/bird/bird.hash b/package/bird/bird.hash new file mode 100644 index 0000000000..3f3a93b964 --- /dev/null +++ b/package/bird/bird.hash @@ -0,0 +1,2 @@ +sha256 0f49b38327d3109553acfa662ac0cf0377719226a03c124cd2e0ea2265ecb1de bird-2.0.3.tar.gz +sha256 94c53c84320078920ac1f0d49c81a4e9004512f534521a58bdf145acbcbc2cd2 README diff --git a/package/bird/bird.mk b/package/bird/bird.mk new file mode 100644 index 0000000000..da2f868070 --- /dev/null +++ b/package/bird/bird.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# bird +# +################################################################################ + +BIRD_VERSION = 2.0.3 +BIRD_SITE = ftp://bird.network.cz/pub/bird +BIRD_LICENSE = GPL-2.0+ +BIRD_LICENSE_FILES = README +BIRD_DEPENDENCIES = host-flex host-bison + +ifeq ($(BR2_PACKAGE_BIRD_CLIENT),y) +BIRD_CONF_OPTS += --enable-client +BIRD_DEPENDENCIES += ncurses readline +else +BIRD_CONF_OPTS += --disable-client +endif + +$(eval $(autotools-package)) diff --git a/package/bitstream/bitstream.hash b/package/bitstream/bitstream.hash index a62f733d86..89da7c6fd0 100644 --- a/package/bitstream/bitstream.hash +++ b/package/bitstream/bitstream.hash @@ -1,4 +1,6 @@ -# From https://get.videolan.org/bitstream/1.2/bitstream-1.2.tar.bz2 -sha256 ccfbb438711606de1fad881b58c8f134e2d82b4d53a88ea48f2d1bcb49ca5ad2 bitstream-1.2.tar.bz2 -# From https://get.videolan.org/bitstream/1.2/bitstream-1.2.tar.bz2.md5 -md5 c4b2dbd84eb5799f1525eb9a4e01dc56 bitstream-1.2.tar.bz2 +# From https://get.videolan.org/bitstream/1.4/bitstream-1.4.tar.bz2.md5 +md5 dfb1449194250b2d364d54b5bbac858d bitstream-1.4.tar.bz2 +# From https://get.videolan.org/bitstream/1.4/bitstream-1.4.tar.bz2.sha256 +sha256 b2484940d3b8733bec9dd1ec1731de428261dff31c9f95874264be9dc9ce786b bitstream-1.4.tar.bz2 +# Locally computed +sha256 9644a812f9a8377a59acb7092a36ce8882a39743425d9171a8fb84637e2f6e04 COPYING diff --git a/package/bitstream/bitstream.mk b/package/bitstream/bitstream.mk index 0b28ffe756..1746d1386c 100644 --- a/package/bitstream/bitstream.mk +++ b/package/bitstream/bitstream.mk @@ -4,7 +4,7 @@ # ################################################################################ -BITSTREAM_VERSION = 1.2 +BITSTREAM_VERSION = 1.4 BITSTREAM_SOURCE = bitstream-$(BITSTREAM_VERSION).tar.bz2 BITSTREAM_SITE = https://get.videolan.org/bitstream/$(BITSTREAM_VERSION) BITSTREAM_LICENSE = MIT diff --git a/package/blktrace/0001-iowatcher-link-with-lrt.patch b/package/blktrace/0001-iowatcher-link-with-lrt.patch deleted file mode 100644 index 689a67814a..0000000000 --- a/package/blktrace/0001-iowatcher-link-with-lrt.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 80d87b99d72034441ea4fbab81f5c80c1ef3b067 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 23 Aug 2016 16:36:14 +0200 -Subject: [PATCH] iowatcher: link with -lrt - -Some C libraries (notably uClibc) have the posix_spawn*() functions in -librt, so let's link iowatcher with -lrt. - -Signed-off-by: Thomas Petazzoni -Upstream-status: merged - (http://git.kernel.org/cgit/linux/kernel/git/axboe/blktrace.git/commit/?id=d1ab783430f5a832e973ed9a293da146c04c6702) ---- - iowatcher/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/iowatcher/Makefile b/iowatcher/Makefile -index 7b5101c..502476d 100644 ---- a/iowatcher/Makefile -+++ b/iowatcher/Makefile -@@ -19,7 +19,7 @@ all: $(ALL) - $(CC) -o $*.o -c $(ALL_CFLAGS) $< - - iowatcher: blkparse.o plot.o main.o tracers.o mpstat.o fio.o -- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -lm -+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -lm -lrt - - depend: - @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend --- -2.7.4 - diff --git a/package/blktrace/Config.in b/package/blktrace/Config.in index dedfa03f03..951caed531 100644 --- a/package/blktrace/Config.in +++ b/package/blktrace/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_BLKTRACE bool "blktrace" - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() + depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # system() select BR2_PACKAGE_LIBAIO help @@ -11,7 +10,6 @@ config BR2_PACKAGE_BLKTRACE http://git.kernel.dk/?p=blktrace.git;a=summary -comment "blktrace needs a toolchain w/ NPTL" +comment "blktrace needs a toolchain w/ threads" depends on BR2_USE_MMU - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/blktrace/blktrace.hash b/package/blktrace/blktrace.hash index acd42fb199..d4f6218486 100644 --- a/package/blktrace/blktrace.hash +++ b/package/blktrace/blktrace.hash @@ -1,2 +1,6 @@ # From http://brick.kernel.dk/snaps/MD5SUMS -md5 9a6ca62330c8adb0b6a4ea6cf8a55694 blktrace-1.1.0.tar.gz +md5 05abb873b4de96c5e7b2deba80695bf1 blktrace-1.2.0.tar.gz + +# Locally computed +sha256 d14029bc096026dacb206bf115c912dcdb795320b5aba6dff3e46d7f94c5242d blktrace-1.2.0.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/blktrace/blktrace.mk b/package/blktrace/blktrace.mk index bc29c250b8..6d1c8e3b92 100644 --- a/package/blktrace/blktrace.mk +++ b/package/blktrace/blktrace.mk @@ -4,7 +4,7 @@ # ################################################################################ -BLKTRACE_VERSION = 1.1.0 +BLKTRACE_VERSION = 1.2.0 BLKTRACE_SITE = http://brick.kernel.dk/snaps BLKTRACE_DEPENDENCIES = libaio BLKTRACE_LICENSE = GPL-2.0+ diff --git a/package/bluez-alsa/bluez-alsa.hash b/package/bluez-alsa/bluez-alsa.hash index 5036f82eaa..ba81eadf34 100644 --- a/package/bluez-alsa/bluez-alsa.hash +++ b/package/bluez-alsa/bluez-alsa.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 20005c4a153346ea7941973e9b7bd0b228417351f2e8ce88d1c02cc62bca188e bluez-alsa-v1.3.0.tar.gz -sha256 4738489ada14818fe4c53ce86223d7b2f4c1f57cb1f93d62c973c94a89080e83 LICENSE.txt +sha256 29dad23877d0cf46a16e2f8d3746219e89068c33d052059caf1caaacd8b40cac bluez-alsa-v1.3.1.tar.gz +sha256 9a18d8b11802d0cec100839a0676a6fc48a4179f8f70b8e12a7f3d6b7a8fd70a LICENSE.txt diff --git a/package/bluez-alsa/bluez-alsa.mk b/package/bluez-alsa/bluez-alsa.mk index fdf7e464a7..5c0bb4f12b 100644 --- a/package/bluez-alsa/bluez-alsa.mk +++ b/package/bluez-alsa/bluez-alsa.mk @@ -4,7 +4,7 @@ # ################################################################################ -BLUEZ_ALSA_VERSION = v1.3.0 +BLUEZ_ALSA_VERSION = v1.3.1 BLUEZ_ALSA_SITE = $(call github,Arkq,bluez-alsa,$(BLUEZ_ALSA_VERSION)) BLUEZ_ALSA_LICENSE = MIT BLUEZ_ALSA_LICENSE_FILES = LICENSE.txt diff --git a/package/bluez5_utils-headers/Config.in b/package/bluez5_utils-headers/Config.in new file mode 100644 index 0000000000..e29e3dfefa --- /dev/null +++ b/package/bluez5_utils-headers/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_BLUEZ5_UTILS_HEADERS + bool + help + Header files from bluez utils version 5.x + + http://www.bluez.org + http://www.kernel.org/pub/linux/bluetooth diff --git a/package/bluez5_utils-headers/bluez5_utils-headers.hash b/package/bluez5_utils-headers/bluez5_utils-headers.hash new file mode 120000 index 0000000000..1f489458fe --- /dev/null +++ b/package/bluez5_utils-headers/bluez5_utils-headers.hash @@ -0,0 +1 @@ +../bluez5_utils/bluez5_utils.hash \ No newline at end of file diff --git a/package/bluez5_utils-headers/bluez5_utils-headers.mk b/package/bluez5_utils-headers/bluez5_utils-headers.mk new file mode 100644 index 0000000000..020e8b4d4e --- /dev/null +++ b/package/bluez5_utils-headers/bluez5_utils-headers.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# bluez5_utils-headers +# +################################################################################ + +# Keep the version and patches in sync with bluez5_utils +BLUEZ5_UTILS_HEADERS_VERSION = 5.50 +BLUEZ5_UTILS_HEADERS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz +BLUEZ5_UTILS_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth +BLUEZ5_UTILS_HEADERS_DL_SUBDIR = bluez5_utils +BLUEZ5_UTILS_HEADERS_LICENSE = GPL-2.0+, LGPL-2.1+ +BLUEZ5_UTILS_HEADERS_LICENSE_FILES = COPYING COPYING.LIB + +BLUEZ5_UTILS_HEADERS_INSTALL_STAGING = YES +BLUEZ5_UTILS_HEADERS_INSTALL_TARGET = NO + +define BLUEZ5_UTILS_HEADERS_INSTALL_STAGING_CMDS + $(INSTALL) -d $(STAGING_DIR)/usr/include/bluetooth/ + $(INSTALL) -m 644 $(@D)/lib/*.h $(STAGING_DIR)/usr/include/bluetooth/ +endef + +$(eval $(generic-package)) diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk index 0133e1507f..15c9b670a7 100644 --- a/package/bluez5_utils/bluez5_utils.mk +++ b/package/bluez5_utils/bluez5_utils.mk @@ -4,18 +4,24 @@ # ################################################################################ +# Keep the version and patches in sync with bluez5_utils-headers BLUEZ5_UTILS_VERSION = 5.50 BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_INSTALL_STAGING = YES -BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2 BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB +BLUEZ5_UTILS_DEPENDENCIES = \ + $(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \ + dbus \ + libglib2 + BLUEZ5_UTILS_CONF_OPTS = \ --enable-tools \ --enable-library \ - --disable-cups + --disable-cups \ + --with-dbusconfdir=/etc ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y) BLUEZ5_UTILS_CONF_OPTS += --enable-obex diff --git a/package/boinc/boinc.hash b/package/boinc/boinc.hash index 289a3abf23..eeaaf68edd 100644 --- a/package/boinc/boinc.hash +++ b/package/boinc/boinc.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 8fcfa84d2c1c90f65b0f1a5b0edf8353341f0211acfaa7538428845d9817e2d7 boinc-7.12.1.tar.gz +sha256 970aedb9e25afa20be67f125ab05435df8eb2e66a3ac30ad316c54085e397c88 boinc-7.14.2.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSER diff --git a/package/boinc/boinc.mk b/package/boinc/boinc.mk index 1a34c71867..dd468c7678 100644 --- a/package/boinc/boinc.mk +++ b/package/boinc/boinc.mk @@ -4,8 +4,8 @@ # ################################################################################ -BOINC_VERSION_MAJOR = 7.12 -BOINC_VERSION = $(BOINC_VERSION_MAJOR).1 +BOINC_VERSION_MAJOR = 7.14 +BOINC_VERSION = $(BOINC_VERSION_MAJOR).2 # client_release can be used to build the Client and Manager but not the Server # part. The Server currently has no versioning (see # https://github.com/BOINC/boinc/pull/1798). diff --git a/package/boost/Config.in b/package/boost/Config.in index 389592fd32..4e6bbff6df 100644 --- a/package/boost/Config.in +++ b/package/boost/Config.in @@ -83,7 +83,7 @@ config BR2_PACKAGE_BOOST_CONTEXT bool "boost-context" depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 - select BR2_PACKAGE_BOOST_THREAD if !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + select BR2_PACKAGE_BOOST_THREAD if !BR2_TOOLCHAIN_GCC_AT_LEAST_6 help C++11 context switching library. @@ -279,11 +279,6 @@ config BR2_PACKAGE_BOOST_SERIALIZATION help Serialization for persistence and marshalling. -config BR2_PACKAGE_BOOST_SIGNALS - bool "boost-signals" - help - Managed signals & slots callback implementation. - config BR2_PACKAGE_BOOST_STACKTRACE bool "boost-stacktrace" depends on !BR2_STATIC_LIBS diff --git a/package/boost/boost.hash b/package/boost/boost.hash index fb1eb4291f..c67c3f4a54 100644 --- a/package/boost/boost.hash +++ b/package/boost/boost.hash @@ -1,5 +1,5 @@ -# From http://www.boost.org/users/history/version_1_67_0.html -sha256 2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba boost_1_67_0.tar.bz2 +# From http://www.boost.org/users/history/version_1_69_0.html +sha256 8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406 boost_1_69_0.tar.bz2 # Locally computed sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt diff --git a/package/boost/boost.mk b/package/boost/boost.mk index b2605a70b7..432730901a 100644 --- a/package/boost/boost.mk +++ b/package/boost/boost.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOOST_VERSION = 1.67.0 +BOOST_VERSION = 1.69.0 BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2 BOOST_SITE = http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VERSION) BOOST_INSTALL_STAGING = YES @@ -16,8 +16,7 @@ HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \ --without-libraries=$(subst $(space),$(comma),atomic chrono context \ contract coroutine date_time exception filesystem graph graph_parallel \ iostreams locale log math mpi program_options python random regex \ - serialization signals system test thread timer type_erasure \ - wave) + serialization system test thread timer type_erasure wave) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono) @@ -41,7 +40,6 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization) -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SIGNALS),,signals) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_STACKTRACE),,stacktrace) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test) diff --git a/package/bootutils/0001-fix-musl-compilation-issue.patch b/package/bootutils/0001-fix-musl-compilation-issue.patch deleted file mode 100644 index ccb6ef61ec..0000000000 --- a/package/bootutils/0001-fix-musl-compilation-issue.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e4c2c18b9d1d7a6dc17d8f7705b26fc2e2efc5a9 Mon Sep 17 00:00:00 2001 -From: Brendan Heading -Date: Sun, 30 Aug 2015 20:12:40 +0100 -Subject: [PATCH 1/1] fix musl compilation issue - -makedev(3) requires sys/types.h to be included. - -Note upstream has not issued releases since 2009. No mailing list activity -since January 2010, and even before then it seems to be mostly spam. - -Upstream-Status: dormant -Signed-off-by: Brendan Heading ---- - raidscan.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/raidscan.c b/raidscan.c -index fab3b02..3cb1a0d 100644 ---- a/raidscan.c -+++ b/raidscan.c -@@ -22,6 +22,7 @@ - #include "config.h" - - #include -+#include - #include - #include - #include --- -2.4.3 - diff --git a/package/bootutils/Config.in b/package/bootutils/Config.in deleted file mode 100644 index 30d647ab11..0000000000 --- a/package/bootutils/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_BOOTUTILS - bool "bootutils" - depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - help - BootUtils is a collection of utilities to facilitate booting - of Linux 2.6-based systems. The process of finding the root - volume either by label or explicit label= on the kernel - command line, mounting it, and 'switchroot'ing is automated. - - http://bootutils.sourceforge.net/ diff --git a/package/bootutils/bootutils.hash b/package/bootutils/bootutils.hash deleted file mode 100644 index 576c324c0f..0000000000 --- a/package/bootutils/bootutils.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 78549714e7c7fa246a4019c245f4da044aee6cfe48ad6887c4013ac4c749c7b9 bootutils-1.0.0.tar.gz diff --git a/package/bootutils/bootutils.mk b/package/bootutils/bootutils.mk deleted file mode 100644 index bc4b3e8438..0000000000 --- a/package/bootutils/bootutils.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# bootutils -# -################################################################################ - -BOOTUTILS_VERSION = 1.0.0 -BOOTUTILS_SITE = http://downloads.sourceforge.net/project/bootutils/Stable/v$(BOOTUTILS_VERSION) -BOOTUTILS_CONF_OPTS = --prefix=/ --exec-prefix=/ -BOOTUTILS_LICENSE = GPL-2.0+ -BOOTUTILS_LICENSE_FILES = COPYING - -$(eval $(autotools-package)) diff --git a/package/botan/0001-remove-mips64-explicit-mabi.patch b/package/botan/0001-remove-mips64-explicit-mabi.patch index 3fddd54e9a..9c9317755a 100644 --- a/package/botan/0001-remove-mips64-explicit-mabi.patch +++ b/package/botan/0001-remove-mips64-explicit-mabi.patch @@ -3,15 +3,17 @@ Remove explicit mips64 -mabi parameter This breaks when building for n32 ABI on mips64. Signed-off-by: Baruch Siach +[Bernd: rebased for botan-2.7.0] +Signed-off-by: Bernd Kuhls --- diff -Nuar Botan-1.10.8-orig/src/build-data/cc/gcc.txt Botan-1.10.8/src/build-data/cc/gcc.txt --- Botan-1.10.8-orig/src/build-data/cc/gcc.txt 2014-04-10 17:11:44.000000000 +0300 +++ Botan-1.10.8/src/build-data/cc/gcc.txt 2014-10-23 09:20:34.506722323 +0300 -@@ -92,7 +92,6 @@ - # The 'linking' bit means "use this for both compiling *and* linking" - - x86_64 -> "-m64" +@@ -83,7 +83,6 @@ + + openmp -> "-fopenmp" + -mips64 -> "-mabi=64" s390 -> "-m31" s390x -> "-m64" diff --git a/package/botan/Config.in b/package/botan/Config.in index 733dc8965a..a242a38efc 100644 --- a/package/botan/Config.in +++ b/package/botan/Config.in @@ -8,13 +8,22 @@ config BR2_PACKAGE_BOTAN_ARCH_SUPPORTS config BR2_PACKAGE_BOTAN bool "botan" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future + select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST help Botan is a crypto library for C++ http://botan.randombit.net -comment "botan needs a toolchain w/ C++, threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP +comment "botan needs a toolchain w/ C++, threads, gcc >= 4.8" + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS + +comment "botan needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/botan/botan.hash b/package/botan/botan.hash index 3d46a13584..faa467ec25 100644 --- a/package/botan/botan.hash +++ b/package/botan/botan.hash @@ -1,2 +1,4 @@ -# Locally calculated after checking pgp signature -sha256 6c5472401d06527e87adcb53dd270f3c9b1fb688703b04dd7a7cfb86289efe52 Botan-1.10.16.tgz +# From https://botan.randombit.net/releases/sha256sums.txt +sha256 e7159b127e91e0c158245d61c638c50d443ec7b440b6b0161328c47b3aba3960 Botan-2.8.0.tgz +# Locally computed +sha256 40cfd35a9e34d18463806f57553c968fdbaf254a2e2a636d1d8e32ff6b698495 license.txt diff --git a/package/botan/botan.mk b/package/botan/botan.mk index e42bb61cbe..a96a12178b 100644 --- a/package/botan/botan.mk +++ b/package/botan/botan.mk @@ -4,11 +4,11 @@ # ################################################################################ -BOTAN_VERSION = 1.10.16 +BOTAN_VERSION = 2.8.0 BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tgz BOTAN_SITE = http://botan.randombit.net/releases BOTAN_LICENSE = BSD-2-Clause -BOTAN_LICENSE_FILES = doc/license.txt +BOTAN_LICENSE_FILES = license.txt BOTAN_INSTALL_STAGING = YES @@ -17,10 +17,44 @@ BOTAN_CONF_OPTS = \ --os=linux \ --cc=gcc \ --cc-bin="$(TARGET_CXX)" \ - --prefix=/usr + --ldflags="$(BOTAN_LDFLAGS)" \ + --prefix=/usr \ + --without-documentation -ifeq ($(BR2_STATIC_LIBS),y) -BOTAN_CONF_OPTS += --disable-shared --no-autoload +BOTAN_LDFLAGS = $(TARGET_LDFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +BOTAN_LDFLAGS += -latomic +endif + +ifeq ($(BR2_SHARED_LIBS),y) +BOTAN_CONF_OPTS += \ + --disable-static-library \ + --enable-shared-library +else ifeq ($(BR2_STATIC_LIBS),y) +BOTAN_CONF_OPTS += \ + --disable-shared-library \ + --enable-static-library \ + --no-autoload +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +BOTAN_CONF_OPTS += \ + --enable-shared-library \ + --enable-static-library +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_SSP),y) +BOTAN_CONF_OPTS += --with-stack-protector +else +BOTAN_CONF_OPTS += --without-stack-protector +endif + +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) +BOTAN_CONF_OPTS += --without-os-feature=getauxval +endif + +ifeq ($(BR2_PACKAGE_BOOST),y) +BOTAN_DEPENDENCIES += boost +BOTAN_CONF_OPTS += --with-boost endif ifeq ($(BR2_PACKAGE_BZIP2),y) @@ -28,41 +62,48 @@ BOTAN_DEPENDENCIES += bzip2 BOTAN_CONF_OPTS += --with-bzip2 endif -ifeq ($(BR2_PACKAGE_GMP),y) -BOTAN_DEPENDENCIES += gmp -BOTAN_CONF_OPTS += --with-gnump -endif - ifeq ($(BR2_PACKAGE_OPENSSL),y) BOTAN_DEPENDENCIES += openssl BOTAN_CONF_OPTS += --with-openssl endif +ifeq ($(BR2_PACKAGE_SQLITE),y) +BOTAN_DEPENDENCIES += sqlite +BOTAN_CONF_OPTS += --with-sqlite +endif + +ifeq ($(BR2_PACKAGE_XZ),y) +BOTAN_DEPENDENCIES += xz +BOTAN_CONF_OPTS += --with-lzma +endif + ifeq ($(BR2_PACKAGE_ZLIB),y) BOTAN_DEPENDENCIES += zlib BOTAN_CONF_OPTS += --with-zlib endif -ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) -BOTAN_CONF_OPTS += --enable-altivec -else +ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),) BOTAN_CONF_OPTS += --disable-altivec endif +ifeq ($(BR2_ARM_CPU_HAS_NEON),) +BOTAN_CONF_OPTS += --disable-neon +endif + define BOTAN_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) ./configure.py $(BOTAN_CONF_OPTS)) endef define BOTAN_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) AR="$(TARGET_AR) crs" + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) AR="$(TARGET_AR)" endef define BOTAN_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)/usr" install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)" install endef define BOTAN_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)/usr" install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install endef $(eval $(generic-package)) diff --git a/package/brcm-patchram-plus/Config.in b/package/brcm-patchram-plus/Config.in new file mode 100644 index 0000000000..2742016eb7 --- /dev/null +++ b/package/brcm-patchram-plus/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_BRCM_PATCHRAM_PLUS + bool "brcm-patchram-plus" + help + Broadcom utility to flash Bluetooth firmwares, extended with + per-device Low Power Mode configuration. + + https://github.com/AsteroidOS/brcm-patchram-plus diff --git a/package/brcm-patchram-plus/brcm-patchram-plus.hash b/package/brcm-patchram-plus/brcm-patchram-plus.hash new file mode 100644 index 0000000000..f6910e714b --- /dev/null +++ b/package/brcm-patchram-plus/brcm-patchram-plus.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 febad69fbc9185b4c6a31188cf381fd280b88d93cb7f5a40dfdbab9c599c29a7 brcm-patchram-plus-95b7b6916d661a4da3f9c0adf52d5e1f4f8ab042.tar.gz +sha256 26324f5c563b7e338c2876c8abe90c3681c1e9a6163fc59b494c94ad6493eda4 COPYING diff --git a/package/brcm-patchram-plus/brcm-patchram-plus.mk b/package/brcm-patchram-plus/brcm-patchram-plus.mk new file mode 100644 index 0000000000..329571d9a9 --- /dev/null +++ b/package/brcm-patchram-plus/brcm-patchram-plus.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# brcm-patchram-plus +# +################################################################################ + +BRCM_PATCHRAM_PLUS_VERSION = 95b7b6916d661a4da3f9c0adf52d5e1f4f8ab042 +BRCM_PATCHRAM_PLUS_SITE = $(call github,AsteroidOS,brcm-patchram-plus,$(BRCM_PATCHRAM_PLUS_VERSION)) +BRCM_PATCHRAM_PLUS_LICENSE = Apache-2.0 +BRCM_PATCHRAM_PLUS_LICENSE_FILES = COPYING +BRCM_PATCHRAM_PLUS_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch b/package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch deleted file mode 100644 index e6a2005d59..0000000000 --- a/package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3ea213e47c6771b7e2481f64a98f30c02fcb4867 Mon Sep 17 00:00:00 2001 -From: Mario Lang -Date: Thu, 30 Nov 2017 13:14:47 +0100 -Subject: [PATCH] Prevent scancodes from generating spurious log messages. (ml) - -Signed-off-by: Mario Lang ---- -This patch was taken from upstream, and can be removed when 5.6 is out. - - Drivers/Braille/HandyTech/braille.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Drivers/Braille/HandyTech/braille.c b/Drivers/Braille/HandyTech/braille.c -index ef95fd15b..f7e605c1a 100644 ---- a/Drivers/Braille/HandyTech/braille.c -+++ b/Drivers/Braille/HandyTech/braille.c -@@ -1560,7 +1560,7 @@ brl_readCommand (BrailleDisplay *brl, KeyTableCommandContext context) { - case HT_EXTPKT_Scancode: { - while (length--) - enqueueCommand(BRL_CMD_BLK(PASSAT) | BRL_ARG_PUT(*bytes++)); -- break; -+ continue; - } - - case HT_EXTPKT_GetRTC: { --- -2.15.0 - diff --git a/package/brltty/0004-buildsys-fix-cross-compilation.patch b/package/brltty/0001-buildsys-fix-cross-compilation.patch similarity index 100% rename from package/brltty/0004-buildsys-fix-cross-compilation.patch rename to package/brltty/0001-buildsys-fix-cross-compilation.patch diff --git a/package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch b/package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch deleted file mode 100644 index 3dbacb3b57..0000000000 --- a/package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 28dde6749327fd15a1b8b7bcf5cc74a95598582a Mon Sep 17 00:00:00 2001 -From: Mario Lang -Date: Fri, 29 Dec 2017 10:35:05 +0100 -Subject: [PATCH] Check for ioperm to make sure the platform supports ports - I/O. (ml) - -Signed-off-by: Mario Lang ---- -This patch was taken from upstream, and can be removed when 5.6 is out. - - configure.ac | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 5e94d33bd..07119dd9f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1446,7 +1446,9 @@ BRLTTY_ARG_PACKAGE([ports], [I/O ports], [], [dnl - ports_package="kfreebsd" - ;; - linux*) -- ports_package="glibc" -+ AC_CHECK_FUNC([ioperm], [ -+ ports_package="glibc" -+ ]) - ;; - mingw*) - ports_package="windows" --- -2.15.0 - diff --git a/package/brltty/0002-Fix-linking-error-on-mips64el.patch b/package/brltty/0002-Fix-linking-error-on-mips64el.patch new file mode 100644 index 0000000000..4882a22608 --- /dev/null +++ b/package/brltty/0002-Fix-linking-error-on-mips64el.patch @@ -0,0 +1,42 @@ +From ddb06335935ef1458fe98f99cdc5d5fe6757fd02 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 3 Oct 2018 19:06:40 +0200 +Subject: [PATCH] Fix linking error on mips64el + +Patch that was fixing build on mips64el was reverted: +https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416 + +So fix the issue again, this time by checking if $(GCC) is available as +suggested by Arnout during review of buildroot patch: +https://patchwork.ozlabs.org/patch/972614 + +Fixes: + - http://autobuild.buildroot.org/results/31f682838b3d3b2c7103b5c51f2aba0b89d4f630 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/brltty/brltty/pull/149] +--- + configure.ac | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 1e2774abf..a488d3d52 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -481,7 +481,12 @@ AC_CACHE_CHECK([for make relocatable object command], [brltty_cv_prog_make_objec + case "${host_os}" + in + *) +- brltty_cv_prog_make_object_relocatable="\$(LD) -r -o" ++ if test "${GCC}" = "yes" ++ then ++ brltty_cv_prog_make_object_relocatable="\$(CC) -shared -o" ++ else ++ brltty_cv_prog_make_object_relocatable="\$(LD) -r -o" ++ fi + ;; + esac]) + MKREL="${brltty_cv_prog_make_object_relocatable}" +-- +2.17.1 + diff --git a/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch b/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch deleted file mode 100644 index c1980417aa..0000000000 --- a/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch +++ /dev/null @@ -1,64 +0,0 @@ -From b3b0e47015e9162f519730789976157c7cc38178 Mon Sep 17 00:00:00 2001 -From: Mario Lang -Date: Fri, 29 Dec 2017 14:52:37 +0100 -Subject: [PATCH] Remove MKOBJ in favour of MKMOD. (ml) - -Calling ld directly can lead to problems when cross-compiling. - -Upstream: https://github.com/brltty/brltty/commit/4c8aba42e246b96d10ffcbd57653682375499e46 -Signed-off-by: Mario Lang ---- - Drivers/Braille/EuroBraille/Makefile.in | 2 +- - config.mk.in | 1 - - configure.ac | 10 ---------- - 3 files changed, 1 insertion(+), 12 deletions(-) - -diff --git a/Drivers/Braille/EuroBraille/Makefile.in b/Drivers/Braille/EuroBraille/Makefile.in -index 0500aa70e..ce8a3d1a4 100644 ---- a/Drivers/Braille/EuroBraille/Makefile.in -+++ b/Drivers/Braille/EuroBraille/Makefile.in -@@ -28,7 +28,7 @@ SRC_FILES = eu_braille.c eu_clio.c eu_esysiris.c - OBJ_FILES = $(SRC_FILES:.c=.$O) - - braille.$O: $(OBJ_FILES) -- $(MKOBJ) $@ $(OBJ_FILES) -+ $(MKMOD) $@ $(OBJ_FILES) - - %.$O: $(SRC_DIR)/%.c - $(CC) $(BRL_CFLAGS) -o $@ -c $< -diff --git a/config.mk.in b/config.mk.in -index 686f547e6..8d1da79b4 100644 ---- a/config.mk.in -+++ b/config.mk.in -@@ -250,7 +250,6 @@ LD = @LD@ - LDFLAGS = @LDFLAGS@ - LDLIBS = $(ICU_LIBS) $(POLKIT_LIBS) $(SYSTEM_LIBS) @LIBS@ - --MKOBJ = @MKOBJ@ - MKMOD = @MKMOD@ - MKLIB = @MKLIB@ - CONFLIBDIR = @CONFLIBDIR@ -diff --git a/configure.ac b/configure.ac -index 07119dd9f..ad80b8d60 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -428,16 +428,6 @@ AC_SUBST([can_make_manual]) - test "${DOXYGEN}" = "false" && can_make_BrlAPIref=no || can_make_BrlAPIref=yes - AC_SUBST([can_make_BrlAPIref]) - --AC_CACHE_CHECK([for make relocatable object command], [brltty_cv_prog_mkobj], [dnl --case "${host_os}" --in -- *) -- brltty_cv_prog_mkobj="\$(LD) -r -o" -- ;; --esac]) --MKOBJ="${brltty_cv_prog_mkobj}" --AC_SUBST([MKOBJ]) -- - AC_CACHE_CHECK([for loadable module creation command], [brltty_cv_prog_mkmod], [dnl - case "${host_os}" - in --- -2.15.0 - diff --git a/package/brltty/Config.in b/package/brltty/Config.in index 48ceb04c99..de11af3bbe 100644 --- a/package/brltty/Config.in +++ b/package/brltty/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_BRLTTY A daemon providing access to the Linux console for a blind person using a refreshable braille display. - http://brltty.com/ + http://brltty.app/ if BR2_PACKAGE_BRLTTY diff --git a/package/brltty/brltty.hash b/package/brltty/brltty.hash index 01b4c13fcc..6b9470c82e 100644 --- a/package/brltty/brltty.hash +++ b/package/brltty/brltty.hash @@ -1,4 +1,3 @@ -sha256 4ebf1df5922df0efccac4795f5bd1c514fc850348c34d9ec0868e2798b565a36 brltty-5.5.tar.xz -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad LICENSE-GPL +sha256 6171258aca833bb2012afd9c63928573a48c3daab7b149a3e90001ba53beb80f brltty-5.6.tar.xz sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f LICENSE-LGPL -sha256 6ba58188449642de8adefd7adabb436185792c5c51a4b5d04650423c2151dc50 README +sha256 42685d8fa420f618e325d423be110c69abd976afdef183dfac385ccd44cb12e9 README diff --git a/package/brltty/brltty.mk b/package/brltty/brltty.mk index 0fcd4f4258..21f6877bb8 100644 --- a/package/brltty/brltty.mk +++ b/package/brltty/brltty.mk @@ -4,13 +4,13 @@ # ################################################################################ -BRLTTY_VERSION = 5.5 +BRLTTY_VERSION = 5.6 BRLTTY_SOURCE = brltty-$(BRLTTY_VERSION).tar.xz BRLTTY_SITE = http://brltty.com/archive BRLTTY_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install BRLTTY_INSTALL_TARGET_OPTS = INSTALL_ROOT=$(TARGET_DIR) install -BRLTTY_LICENSE = GPL-2.0+, LGPL-2.1+ (data, client side) -BRLTTY_LICENSE_FILES = LICENSE-GPL LICENSE-LGPL README +BRLTTY_LICENSE = LGPL-2.1+ +BRLTTY_LICENSE_FILES = LICENSE-LGPL README BRLTTY_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-autoconf host-pkgconf \ $(if $(BR2_PACKAGE_AT_SPI2_CORE),at-spi2-core) diff --git a/package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch b/package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch index 33b9bb70ce..ae5386b1ce 100644 --- a/package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch +++ b/package/brotli/0001-CMake-Allow-using-BUILD_SHARED_LIBS-to-choose-static.patch @@ -1,4 +1,4 @@ -From b60b613e7c2c9bf7a142c3c486ac6e77ad93f5d1 Mon Sep 17 00:00:00 2001 +From 7289e5a378ba13801996a84d89d8fe95c3fc4c11 Mon Sep 17 00:00:00 2001 From: Adrian Perez de Castro Date: Mon, 26 Mar 2018 19:08:31 +0100 Subject: [PATCH] CMake: Allow using BUILD_SHARED_LIBS to choose static/shared @@ -27,7 +27,7 @@ Signed-off-by: Adrian Perez de Castro Upstream-Status: Submitted [https://github.com/google/brotli/pull/655] diff --git a/CMakeLists.txt b/CMakeLists.txt -index 99b9258..3867931 100644 +index fc45f80..3f87f13 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,8 @@ cmake_minimum_required(VERSION 2.8.6) @@ -120,25 +120,25 @@ index 99b9258..3867931 100644 DIRECTORY ${BROTLI_INCLUDE_DIRS}/brotli DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" diff --git a/c/fuzz/test_fuzzer.sh b/c/fuzz/test_fuzzer.sh -index 5c754e1..e85e12f 100755 +index 9985194..4b99947 100755 --- a/c/fuzz/test_fuzzer.sh +++ b/c/fuzz/test_fuzzer.sh -@@ -14,12 +14,12 @@ mkdir bin +@@ -13,12 +13,12 @@ mkdir bin cd bin - cmake $BROTLI -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" \ + cmake $BROTLI -DCMAKE_C_COMPILER="$CC" \ - -DBUILD_TESTING=OFF -DENABLE_SANITIZER=address -make -j$(nproc) brotlidec-static + -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DENABLE_SANITIZER=address +make -j$(nproc) brotlidec - ${CXX} -o run_decode_fuzzer -std=c++11 -fsanitize=address -I$SRC/include \ - $SRC/fuzz/decode_fuzzer.cc $SRC/fuzz/run_decode_fuzzer.cc \ + ${CC} -o run_decode_fuzzer -std=c99 -fsanitize=address -I$SRC/include \ + $SRC/fuzz/decode_fuzzer.c $SRC/fuzz/run_decode_fuzzer.c \ - ./libbrotlidec-static.a ./libbrotlicommon-static.a + ./libbrotlidec.a ./libbrotlicommon.a mkdir decode_corpora unzip $BROTLI/java/org/brotli/integration/fuzz_data.zip -d decode_corpora -- -2.16.3 +2.19.1 diff --git a/package/brotli/0001-Tell-CMake-to-not-check-for-a-C-compiler.patch b/package/brotli/0001-Tell-CMake-to-not-check-for-a-C-compiler.patch deleted file mode 100644 index 410de2830e..0000000000 --- a/package/brotli/0001-Tell-CMake-to-not-check-for-a-C-compiler.patch +++ /dev/null @@ -1,31 +0,0 @@ -From fea0b1e46c486225d57e730cc0f94fa06b5b93fc Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro -Date: Mon, 26 Mar 2018 12:12:00 +0100 -Subject: [PATCH] Tell CMake to not check for a C++ compiler - -By default CMake checks both for C and C++ compilers, while the latter -is not needed. Setting the list of languages to just "C" in the call to -project() removes the unneeded check. ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Signed-off-by: Adrian Perez de Castro -Upstream-Status: Submitted [https://github.com/google/brotli/pull/653] - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2dc7232..3fbcbfb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -4,7 +4,7 @@ - # support 2.8.7. - cmake_minimum_required(VERSION 2.8.6) - --project(brotli) -+project(brotli LANGUAGES C) - - # If Brotli is being bundled in another project, we don't want to - # install anything. However, we want to let people override this, so --- -2.16.3 - diff --git a/package/brotli/brotli.hash b/package/brotli/brotli.hash index 954d44eb70..82163040d1 100644 --- a/package/brotli/brotli.hash +++ b/package/brotli/brotli.hash @@ -1,5 +1,5 @@ # Locally generated: -sha512 93adcf437d730ac403e444285ac8aefbb2c8a6b5e1b064e8ee33684c067287a8159e0ee73d2217c167881e87da73fa494792d963a15508fd42b2ac4a5b52823c v1.0.3.tar.gz +sha512 a82362aa36d2f2094bca0b2808d9de0d57291fb3a4c29d7c0ca0a37e73087ec5ac4df299c8c363e61106fccf2fe7f58b5cf76eb97729e2696058ef43b1d3930a v1.0.7.tar.gz # Hash for license files: sha512 bae78184c2f50f86d8c727826d3982c469454c42b9af81f4ef007e39036434fa894cf5be3bf5fc65b7de2301f0a72d067a8186e303327db8a96bd14867e0a3a8 LICENSE diff --git a/package/brotli/brotli.mk b/package/brotli/brotli.mk index cf1e811543..2c1ad48753 100644 --- a/package/brotli/brotli.mk +++ b/package/brotli/brotli.mk @@ -4,7 +4,7 @@ # ################################################################################ -BROTLI_VERSION = 1.0.3 +BROTLI_VERSION = 1.0.7 BROTLI_SOURCE = v$(BROTLI_VERSION).tar.gz BROTLI_SITE = https://github.com/google/brotli/archive BROTLI_LICENSE = MIT diff --git a/package/btrfs-progs/Config.in b/package/btrfs-progs/Config.in index ad86bab580..35dfc39193 100644 --- a/package/btrfs-progs/Config.in +++ b/package/btrfs-progs/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_BTRFS_PROGS bool "btrfs-progs" depends on BR2_USE_MMU # util-linux depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_E2FSPROGS select BR2_PACKAGE_LZO select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID diff --git a/package/btrfs-progs/Config.in.host b/package/btrfs-progs/Config.in.host new file mode 100644 index 0000000000..cdcd2e4ec4 --- /dev/null +++ b/package/btrfs-progs/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_BTRFS_PROGS + bool "host btrfs-progs" + help + Btrfs filesystem utilities + + https://btrfs.wiki.kernel.org/index.php/Main_Page diff --git a/package/btrfs-progs/btrfs-progs.hash b/package/btrfs-progs/btrfs-progs.hash index 71793d1c68..07d55ec332 100644 --- a/package/btrfs-progs/btrfs-progs.hash +++ b/package/btrfs-progs/btrfs-progs.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/sha256sums.asc -sha256 013403fb67b17975b21408fa9eb7523b0ecf94f84f8a4397cf972e8e254d2246 btrfs-progs-v4.16.1.tar.xz +sha256 bf0b34f1538c0b6e88f959937b0419678cadbf2ba7044336dcbfb2bcdc28cd74 btrfs-progs-v4.17.1.tar.xz # Locally computed sha256 0d5bf346df9e635a29dcdddf832dc5b002ca6cdc1c5c9c6c567d2a61bb0c5c15 COPYING sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 libbtrfsutil/COPYING diff --git a/package/btrfs-progs/btrfs-progs.mk b/package/btrfs-progs/btrfs-progs.mk index b4cc839352..585dcf364c 100644 --- a/package/btrfs-progs/btrfs-progs.mk +++ b/package/btrfs-progs/btrfs-progs.mk @@ -4,10 +4,10 @@ # ################################################################################ -BTRFS_PROGS_VERSION = 4.16.1 +BTRFS_PROGS_VERSION = 4.17.1 BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz -BTRFS_PROGS_DEPENDENCIES = host-pkgconf e2fsprogs lzo util-linux zlib +BTRFS_PROGS_DEPENDENCIES = host-pkgconf lzo util-linux zlib BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python BTRFS_PROGS_LICENSE = GPL-2.0, LGPL-3.0+ (libbtrfsutil) BTRFS_PROGS_LICENSE_FILES = COPYING libbtrfsutil/COPYING \ @@ -21,4 +21,22 @@ BTRFS_PROGS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-static BTRFS_PROGS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-static endif +# convert also supports conversion from reiserfs, which needs some +# reiserfs libraries, but we have no package for them in Buildroot, so +# we keep things simple and only handle ext2. +ifeq ($(BR2_PACKAGE_E2FSPROGS),y) +BTRFS_PROGS_CONF_OPTS += --enable-convert --with-convert=ext2 +BTRFS_PROGS_DEPENDENCIES += e2fsprogs +else +BTRFS_PROGS_CONF_OPTS += --disable-convert +endif + +HOST_BTRFS_PROGS_DEPENDENCIES = host-util-linux host-lzo host-zlib +HOST_BTRFS_PROGS_CONF_OPTS = \ + --disable-backtrace \ + --disable-zstd \ + --disable-python \ + --disable-convert + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/busybox/0003-Revert-libbb-remove-unnecessary-variable-in-xmalloc_.patch b/package/busybox/0003-Revert-libbb-remove-unnecessary-variable-in-xmalloc_.patch deleted file mode 100644 index ba2d214c29..0000000000 --- a/package/busybox/0003-Revert-libbb-remove-unnecessary-variable-in-xmalloc_.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0d598ab9f03dbf320f7b81c05e4a94cb303dfbc7 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Sun, 2 Sep 2018 18:35:29 +0200 -Subject: [PATCH] Revert "libbb: remove unnecessary variable in xmalloc_fgets" - -The variable is in fact necessary. - - commit 2da9724b56169f00bd7fb6b9a11c9409a7620981 - Author: Quentin Rameau - Date: Sun Apr 1 17:05:35 2018 +0200 - libbb: remove unnecessary variable in xmalloc_fgets - -Signed-off-by: Denys Vlasenko -[Thomas De Schampheleire: added to unbreak 'head -n -1', -see http://lists.busybox.net/pipermail/busybox/2018-August/086617.html ] -Signed-off-by: Thomas De Schampheleire - ---- - libbb/get_line_from_file.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/libbb/get_line_from_file.c b/libbb/get_line_from_file.c -index f3d6c6203..49ef093c2 100644 ---- a/libbb/get_line_from_file.c -+++ b/libbb/get_line_from_file.c -@@ -47,7 +47,9 @@ char* FAST_FUNC bb_get_chunk_from_file(FILE *file, size_t *end) - /* Get line, including trailing \n if any */ - char* FAST_FUNC xmalloc_fgets(FILE *file) - { -- return bb_get_chunk_from_file(file, NULL); -+ int i; -+ -+ return bb_get_chunk_from_file(file, &i); - } - /* Get line. Remove trailing \n */ - char* FAST_FUNC xmalloc_fgetline(FILE *file) --- -2.16.4 - diff --git a/package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch b/package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch new file mode 100644 index 0000000000..b40979e359 --- /dev/null +++ b/package/busybox/0004-udhcpc-check-that-4-byte-options-are-indeed-4-byte-closes-11506.patch @@ -0,0 +1,137 @@ +From 6d3b4bb24da9a07c263f3c1acf8df85382ff562c Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Mon, 17 Dec 2018 18:07:18 +0100 +Subject: udhcpc: check that 4-byte options are indeed 4-byte, closes 11506 + +function old new delta +udhcp_get_option32 - 27 +27 +udhcp_get_option 231 248 +17 +------------------------------------------------------------------------------ +(add/remove: 1/0 grow/shrink: 1/0 up/down: 44/0) Total: 44 bytes + +Signed-off-by: Denys Vlasenko +Signed-off-by: Jared Bents +--- + networking/udhcp/common.c | 19 +++++++++++++++++++ + networking/udhcp/common.h | 4 ++++ + networking/udhcp/dhcpc.c | 6 +++--- + networking/udhcp/dhcpd.c | 6 +++--- + 4 files changed, 29 insertions(+), 6 deletions(-) + +diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c +index e5fd74f91..41b05b855 100644 +--- a/networking/udhcp/common.c ++++ b/networking/udhcp/common.c +@@ -272,6 +272,15 @@ uint8_t* FAST_FUNC udhcp_get_option(struct dhcp_packet *packet, int code) + goto complain; /* complain and return NULL */ + + if (optionptr[OPT_CODE] == code) { ++ if (optionptr[OPT_LEN] == 0) { ++ /* So far no valid option with length 0 known. ++ * Having this check means that searching ++ * for DHCP_MESSAGE_TYPE need not worry ++ * that returned pointer might be unsafe ++ * to dereference. ++ */ ++ goto complain; /* complain and return NULL */ ++ } + log_option("option found", optionptr); + return optionptr + OPT_DATA; + } +@@ -289,6 +298,16 @@ uint8_t* FAST_FUNC udhcp_get_option(struct dhcp_packet *packet, int code) + return NULL; + } + ++uint8_t* FAST_FUNC udhcp_get_option32(struct dhcp_packet *packet, int code) ++{ ++ uint8_t *r = udhcp_get_option(packet, code); ++ if (r) { ++ if (r[-1] != 4) ++ r = NULL; ++ } ++ return r; ++} ++ + /* Return the position of the 'end' option (no bounds checking) */ + int FAST_FUNC udhcp_end_option(uint8_t *optionptr) + { +diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h +index 7ad603d33..9511152ff 100644 +--- a/networking/udhcp/common.h ++++ b/networking/udhcp/common.h +@@ -205,6 +205,10 @@ extern const uint8_t dhcp_option_lengths[] ALIGN1; + unsigned FAST_FUNC udhcp_option_idx(const char *name, const char *option_strings); + + uint8_t *udhcp_get_option(struct dhcp_packet *packet, int code) FAST_FUNC; ++/* Same as above + ensures that option length is 4 bytes ++ * (returns NULL if size is different) ++ */ ++uint8_t *udhcp_get_option32(struct dhcp_packet *packet, int code) FAST_FUNC; + int udhcp_end_option(uint8_t *optionptr) FAST_FUNC; + void udhcp_add_binary_option(struct dhcp_packet *packet, uint8_t *addopt) FAST_FUNC; + #if ENABLE_UDHCPC || ENABLE_UDHCPD +diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c +index 4b23e4d39..5b3fd531c 100644 +--- a/networking/udhcp/dhcpc.c ++++ b/networking/udhcp/dhcpc.c +@@ -1691,7 +1691,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) + * They say ISC DHCP client supports this case. + */ + server_addr = 0; +- temp = udhcp_get_option(&packet, DHCP_SERVER_ID); ++ temp = udhcp_get_option32(&packet, DHCP_SERVER_ID); + if (!temp) { + bb_error_msg("no server ID, using 0.0.0.0"); + } else { +@@ -1718,7 +1718,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) + struct in_addr temp_addr; + uint8_t *temp; + +- temp = udhcp_get_option(&packet, DHCP_LEASE_TIME); ++ temp = udhcp_get_option32(&packet, DHCP_LEASE_TIME); + if (!temp) { + bb_error_msg("no lease time with ACK, using 1 hour lease"); + lease_seconds = 60 * 60; +@@ -1813,7 +1813,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) + uint32_t svid; + uint8_t *temp; + +- temp = udhcp_get_option(&packet, DHCP_SERVER_ID); ++ temp = udhcp_get_option32(&packet, DHCP_SERVER_ID); + if (!temp) { + non_matching_svid: + log1("received DHCP NAK with wrong" +diff --git a/networking/udhcp/dhcpd.c b/networking/udhcp/dhcpd.c +index a8cd3f03b..477856d11 100644 +--- a/networking/udhcp/dhcpd.c ++++ b/networking/udhcp/dhcpd.c +@@ -640,7 +640,7 @@ static void add_server_options(struct dhcp_packet *packet) + static uint32_t select_lease_time(struct dhcp_packet *packet) + { + uint32_t lease_time_sec = server_config.max_lease_sec; +- uint8_t *lease_time_opt = udhcp_get_option(packet, DHCP_LEASE_TIME); ++ uint8_t *lease_time_opt = udhcp_get_option32(packet, DHCP_LEASE_TIME); + if (lease_time_opt) { + move_from_unaligned32(lease_time_sec, lease_time_opt); + lease_time_sec = ntohl(lease_time_sec); +@@ -987,7 +987,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv) + } + + /* Get SERVER_ID if present */ +- server_id_opt = udhcp_get_option(&packet, DHCP_SERVER_ID); ++ server_id_opt = udhcp_get_option32(&packet, DHCP_SERVER_ID); + if (server_id_opt) { + uint32_t server_id_network_order; + move_from_unaligned32(server_id_network_order, server_id_opt); +@@ -1011,7 +1011,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv) + } + + /* Get REQUESTED_IP if present */ +- requested_ip_opt = udhcp_get_option(&packet, DHCP_REQUESTED_IP); ++ requested_ip_opt = udhcp_get_option32(&packet, DHCP_REQUESTED_IP); + if (requested_ip_opt) { + move_from_unaligned32(requested_nip, requested_ip_opt); + } +-- +cgit v1.2.1 + diff --git a/package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch b/package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch new file mode 100644 index 0000000000..05939db4ab --- /dev/null +++ b/package/busybox/0005-udhcpc-when-decoding-DHCP_SUBNET-ensure-it-is-4-bytes-long.patch @@ -0,0 +1,58 @@ +From 74d9f1ba37010face4bd1449df4d60dd84450b06 Mon Sep 17 00:00:00 2001 +From: Denys Vlasenko +Date: Mon, 7 Jan 2019 15:33:42 +0100 +Subject: udhcpc: when decoding DHCP_SUBNET, ensure it is 4 bytes long + +function old new delta +udhcp_run_script 795 801 +6 + +Signed-off-by: Denys Vlasenko +Signed-off-by: Jared Bents +--- + networking/udhcp/common.c | 2 +- + networking/udhcp/common.h | 2 +- + networking/udhcp/dhcpc.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c +index 4c2221b77..fc4de5716 100644 +--- a/networking/udhcp/common.c ++++ b/networking/udhcp/common.c +@@ -302,7 +302,7 @@ uint8_t* FAST_FUNC udhcp_get_option32(struct dhcp_packet *packet, int code) + { + uint8_t *r = udhcp_get_option(packet, code); + if (r) { +- if (r[-1] != 4) ++ if (r[-OPT_DATA + OPT_LEN] != 4) + r = NULL; + } + return r; +diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h +index 9511152ff..62f9a2a4a 100644 +--- a/networking/udhcp/common.h ++++ b/networking/udhcp/common.h +@@ -119,7 +119,7 @@ enum { + //#define DHCP_TIME_SERVER 0x04 /* RFC 868 time server (32-bit, 0 = 1.1.1900) */ + //#define DHCP_NAME_SERVER 0x05 /* IEN 116 _really_ ancient kind of NS */ + //#define DHCP_DNS_SERVER 0x06 +-//#define DHCP_LOG_SERVER 0x07 /* port 704 UDP log (not syslog) ++//#define DHCP_LOG_SERVER 0x07 /* port 704 UDP log (not syslog) */ + //#define DHCP_COOKIE_SERVER 0x08 /* "quote of the day" server */ + //#define DHCP_LPR_SERVER 0x09 + #define DHCP_HOST_NAME 0x0c /* 12: either client informs server or server gives name to client */ +diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c +index 5b3fd531c..dcec8cdfd 100644 +--- a/networking/udhcp/dhcpc.c ++++ b/networking/udhcp/dhcpc.c +@@ -531,7 +531,7 @@ static char **fill_envp(struct dhcp_packet *packet) + temp = udhcp_get_option(packet, code); + *curr = xmalloc_optname_optval(temp, &dhcp_optflags[i], opt_name); + putenv(*curr++); +- if (code == DHCP_SUBNET) { ++ if (code == DHCP_SUBNET && temp[-OPT_DATA + OPT_LEN] == 4) { + /* Subnet option: make things like "$ip/$mask" possible */ + uint32_t subnet; + move_from_unaligned32(subnet, temp); +-- +cgit v1.2.1 + diff --git a/package/busybox/S01logging b/package/busybox/S01logging deleted file mode 100644 index fcb3e7d236..0000000000 --- a/package/busybox/S01logging +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# Start logging -# - -SYSLOGD_ARGS=-n -KLOGD_ARGS=-n -[ -r /etc/default/logging ] && . /etc/default/logging - -start() { - printf "Starting logging: " - start-stop-daemon -b -S -q -m -p /var/run/syslogd.pid --exec /sbin/syslogd -- $SYSLOGD_ARGS - start-stop-daemon -b -S -q -m -p /var/run/klogd.pid --exec /sbin/klogd -- $KLOGD_ARGS - echo "OK" -} - -stop() { - printf "Stopping logging: " - start-stop-daemon -K -q -p /var/run/syslogd.pid - start-stop-daemon -K -q -p /var/run/klogd.pid - echo "OK" -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - stop - start - ;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 -esac - -exit $? diff --git a/package/busybox/S01syslogd b/package/busybox/S01syslogd new file mode 100644 index 0000000000..15006bc06f --- /dev/null +++ b/package/busybox/S01syslogd @@ -0,0 +1,55 @@ +#!/bin/sh + +DAEMON="syslogd" +PIDFILE="/var/run/$DAEMON.pid" + +SYSLOGD_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +# BusyBox' syslogd does not create a pidfile, so pass "-n" in the command line +# and use "-m" to instruct start-stop-daemon to create one. +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + -- -n $SYSLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/busybox/S02klogd b/package/busybox/S02klogd new file mode 100644 index 0000000000..0677e1e5ca --- /dev/null +++ b/package/busybox/S02klogd @@ -0,0 +1,55 @@ +#!/bin/sh + +DAEMON="klogd" +PIDFILE="/var/run/$DAEMON.pid" + +KLOGD_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +# BusyBox' klogd does not create a pidfile, so pass "-n" in the command line +# and use "-m" to instruct start-stop-daemon to create one. +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + -- -n $KLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/busybox/S50telnet b/package/busybox/S50telnet old mode 100755 new mode 100644 diff --git a/package/busybox/busybox.config b/package/busybox/busybox.config index 38de13d4d9..1d9560d655 100644 --- a/package/busybox/busybox.config +++ b/package/busybox/busybox.config @@ -321,7 +321,7 @@ CONFIG_UNIQ=y CONFIG_UNLINK=y CONFIG_USLEEP=y CONFIG_UUDECODE=y -# CONFIG_BASE64 is not set +CONFIG_BASE64=y CONFIG_UUENCODE=y CONFIG_WC=y # CONFIG_FEATURE_WC_LARGE is not set diff --git a/package/busybox/busybox.hash b/package/busybox/busybox.hash index dc7c5613f8..b12bc21293 100644 --- a/package/busybox/busybox.hash +++ b/package/busybox/busybox.hash @@ -1,3 +1,3 @@ -# From https://busybox.net/downloads/busybox-1.29.2.tar.bz2.sha256 -sha256 67d2fa6e147a45875fe972de62d907ef866fe784c495c363bf34756c444a5d61 busybox-1.29.2.tar.bz2 +# From https://busybox.net/downloads/busybox-1.29.3.tar.bz2.sha256 +sha256 97648636e579462296478e0218e65e4bc1e9cd69089a3b1aeb810bff7621efb7 busybox-1.29.3.tar.bz2 sha256 bbfc9843646d483c334664f651c208b9839626891d8f17604db2146962f43548 LICENSE diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index ab0930a7fc..5c5a8ea839 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -4,7 +4,7 @@ # ################################################################################ -BUSYBOX_VERSION = 1.29.2 +BUSYBOX_VERSION = 1.29.3 BUSYBOX_SITE = http://www.busybox.net/downloads BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2 BUSYBOX_LICENSE = GPL-2.0 @@ -55,10 +55,8 @@ BUSYBOX_DEPENDENCIES = \ $(if $(BR2_PACKAGE_PCIUTILS),pciutils) \ $(if $(BR2_PACKAGE_PROCPS_NG),procps-ng) \ $(if $(BR2_PACKAGE_PSMISC),psmisc) \ - $(if $(BR2_PACKAGE_RSYSLOGD),rsyslog) \ $(if $(BR2_PACKAGE_START_STOP_DAEMON),start-stop-daemon) \ $(if $(BR2_PACKAGE_SYSKLOGD),sysklogd) \ - $(if $(BR2_PACKAGE_SYSLOG_NG),syslog-ng) \ $(if $(BR2_PACKAGE_SYSTEMD),systemd) \ $(if $(BR2_PACKAGE_SYSVINIT),sysvinit) \ $(if $(BR2_PACKAGE_TAR),tar) \ @@ -245,15 +243,21 @@ define BUSYBOX_INSTALL_INDIVIDUAL_BINARIES endef endif -# Only install our own if no other package already did. +# Only install our logging scripts if no other package does it. +ifeq ($(BR2_PACKAGE_SYSKLOGD)$(BR2_PACKAGE_RSYSLOG)$(BR2_PACKAGE_SYSLOG_NG),) define BUSYBOX_INSTALL_LOGGING_SCRIPT - if grep -q CONFIG_SYSLOGD=y $(@D)/.config && \ - [ ! -e $(TARGET_DIR)/etc/init.d/S01logging ]; \ + if grep -q CONFIG_SYSLOGD=y $(@D)/.config; \ then \ - $(INSTALL) -m 0755 -D package/busybox/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging; \ + $(INSTALL) -m 0755 -D package/busybox/S01syslogd \ + $(TARGET_DIR)/etc/init.d/S01syslogd; \ + fi; \ + if grep -q CONFIG_KLOGD=y $(@D)/.config; \ + then \ + $(INSTALL) -m 0755 -D package/busybox/S02klogd \ + $(TARGET_DIR)/etc/init.d/S02klogd; \ fi endef +endif ifeq ($(BR2_INIT_BUSYBOX),y) define BUSYBOX_INSTALL_INITTAB @@ -319,10 +323,6 @@ define BUSYBOX_KCONFIG_FIXUP_CMDS $(BUSYBOX_SET_INDIVIDUAL_BINARIES) endef -define BUSYBOX_CONFIGURE_CMDS - $(BUSYBOX_NOCLOBBER_INSTALL) -endef - define BUSYBOX_BUILD_CMDS $(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) endef diff --git a/package/c-ares/c-ares.hash b/package/c-ares/c-ares.hash index 832c4dfcfb..a3599aaa11 100644 --- a/package/c-ares/c-ares.hash +++ b/package/c-ares/c-ares.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 45d3c1fd29263ceec2afc8ff9cd06d5f8f889636eb4e80ce3cc7f0eaf7aadc6e c-ares-1.14.0.tar.gz +sha256 6cdb97871f2930530c97deb7cf5c8fa4be5a0b02c7cea6e7c7667672a39d6852 c-ares-1.15.0.tar.gz + +# Hash for license file +sha256 db4eb63fe09daebdf57d3f79b091bb5ee5070c0d761040e83264e648d307af4c LICENSE.md diff --git a/package/c-ares/c-ares.mk b/package/c-ares/c-ares.mk index 67254244a1..f9e440d9b1 100644 --- a/package/c-ares/c-ares.mk +++ b/package/c-ares/c-ares.mk @@ -4,14 +4,14 @@ # ################################################################################ -C_ARES_VERSION = 1.14.0 +C_ARES_VERSION = 1.15.0 C_ARES_SITE = http://c-ares.haxx.se/download C_ARES_INSTALL_STAGING = YES C_ARES_CONF_OPTS = --with-random=/dev/urandom # Rebuild configure to avoid XC_CHECK_USER_CFLAGS C_ARES_AUTORECONF = YES C_ARES_LICENSE = MIT -# No standalone, use some source file -C_ARES_LICENSE_FILES = ares_mkquery.c +C_ARES_LICENSE_FILES = LICENSE.md $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/c-periphery/c-periphery.hash b/package/c-periphery/c-periphery.hash index 524925ff97..745e44a71c 100644 --- a/package/c-periphery/c-periphery.hash +++ b/package/c-periphery/c-periphery.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c6cfaae7496ff6500b747106571de6b4ca7d80a383297e592ffcfa3413b66321 c-periphery-v1.1.1.tar.gz +sha256 50665a4f298b30e4cc8f7dbd38362fd860cc3746803d00325cb04806674e3166 c-periphery-v1.1.3.tar.gz +sha256 6b5669a90260126f0600aae98cb10fb5e219269dc9cbd0137f63927b96d5c31d LICENSE diff --git a/package/c-periphery/c-periphery.mk b/package/c-periphery/c-periphery.mk index 359c860e89..df26105541 100644 --- a/package/c-periphery/c-periphery.mk +++ b/package/c-periphery/c-periphery.mk @@ -4,7 +4,7 @@ # ################################################################################ -C_PERIPHERY_VERSION = v1.1.1 +C_PERIPHERY_VERSION = v1.1.3 C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,$(C_PERIPHERY_VERSION)) C_PERIPHERY_INSTALL_STAGING = YES # only a static library diff --git a/package/can-utils/Config.in b/package/can-utils/Config.in index 1800eca042..da56378866 100644 --- a/package/can-utils/Config.in +++ b/package/can-utils/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_CAN_UTILS bool "can-utils" depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() depends on !BR2_TOOLCHAIN_USES_MUSL # error() help SocketCAN is a set of open source CAN drivers and a @@ -10,6 +9,6 @@ config BR2_PACKAGE_CAN_UTILS https://github.com/linux-can/can-utils -comment "can-utils needs a glibc or uClibc toolchain w/ NPTL" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_TOOLCHAIN_USES_MUSL +comment "can-utils needs a glibc or uClibc toolchain" + depends on BR2_TOOLCHAIN_USES_MUSL depends on BR2_USE_MMU diff --git a/package/cargo-bin/cargo-bin.hash b/package/cargo-bin/cargo-bin.hash index ad2da2bc00..2673e157af 100644 --- a/package/cargo-bin/cargo-bin.hash +++ b/package/cargo-bin/cargo-bin.hash @@ -1,9 +1,12 @@ -# From https://static.rust-lang.org/dist/cargo-0.27.0-i686-unknown-linux-gnu.tar.xz.sha256 -sha256 64c2262c0577ef1824d3d885753362d68c04f36ea85a195894894c37e2445ef5 cargo-0.27.0-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/cargo-0.27.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256 -sha256 3688bea3d971615d9c4b33612c20783bd9a385539aa7f754e6543c196e1bcec2 cargo-0.27.0-powerpc64le-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/cargo-0.27.0-x86_64-unknown-linux-gnu.tar.xz.sha256 -sha256 d09c061daaafd735742e0b18a4da6eb656f61d4c57504d100a6ca9f766b38c71 cargo-0.27.0-x86_64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/cargo-0.30.0-i686-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/cargo-0.30.0-i686-unknown-linux-gnu.tar.xz.asc +sha256 43a5754d13fa0436b33c48b1f562b4198d6930efad3dc36284b88289ff20d74d cargo-0.30.0-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/cargo-0.30.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/cargo-0.30.0-powerpc64le-unknown-linux-gnu.tar.xz.asc +sha256 f8d7c27a40bba6343ee7dd39a324fe772b77824921adf3e9514a44d4e49059c8 cargo-0.30.0-powerpc64le-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/cargo-0.30.0-x86_64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/cargo-0.30.0-x86_64-unknown-linux-gnu.tar.xz.asc +sha256 cb7c63c166baa42ab0be08429e29fa59fc7108efd17ca512462b2645b1655a7f cargo-0.30.0-x86_64-unknown-linux-gnu.tar.xz # Locally generated sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/package/cargo-bin/cargo-bin.mk b/package/cargo-bin/cargo-bin.mk index 82b020a43a..7fb4508a52 100644 --- a/package/cargo-bin/cargo-bin.mk +++ b/package/cargo-bin/cargo-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -CARGO_BIN_VERSION = 0.27.0 +CARGO_BIN_VERSION = 0.30.0 CARGO_BIN_SITE = https://static.rust-lang.org/dist CARGO_BIN_SOURCE = cargo-$(CARGO_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz CARGO_BIN_LICENSE = Apache-2.0 or MIT diff --git a/package/cargo/cargo.mk b/package/cargo/cargo.mk index 1b1053ba41..a387281b4c 100644 --- a/package/cargo/cargo.mk +++ b/package/cargo/cargo.mk @@ -70,7 +70,7 @@ HOST_CARGO_SNAP_OPTS = \ $(if $(VERBOSE),--verbose) HOST_CARGO_ENV = \ - RUSTFLAGS="-Clink-arg=-Wl,-rpath,$(HOST_DIR)/lib" \ + RUSTFLAGS="$(addprefix -Clink-arg=,$(HOST_LDFLAGS))" \ CARGO_HOME=$(HOST_CARGO_HOME) define HOST_CARGO_BUILD_CMDS diff --git a/package/cc-tool/Config.in b/package/cc-tool/Config.in index b2cf97969b..8145b676c9 100644 --- a/package/cc-tool/Config.in +++ b/package/cc-tool/Config.in @@ -9,7 +9,6 @@ config BR2_PACKAGE_CC_TOOL select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_REGEX select BR2_PACKAGE_BOOST_FILESYSTEM - select BR2_PACKAGE_BOOST_SIGNALS help cc-tool provides support for Texas Instruments CC Debugger for Linux OS in order to program 8051-based System-On-Chip diff --git a/package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch b/package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch deleted file mode 100644 index 33db7d480f..0000000000 --- a/package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch +++ /dev/null @@ -1,43 +0,0 @@ -From fe42d6f7b739e8d42811bf46bcccfafa728847a2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mathias=20De=20Mar=C3=A9?= -Date: Mon, 19 Sep 2016 10:38:13 +0200 -Subject: [PATCH] Convert argument to '--sysroot' option to relative path - -Previously, only the argument to '--sysroot=' was converted. -This changeset adds support for '--sysroot'. - -Signed-off-by: Brandon Maier -Signed-off-by: Matt Weber ---- - ccache.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/ccache.c b/ccache.c -index 8ffadcc..76139b9 100644 ---- a/ccache.c -+++ b/ccache.c -@@ -2407,6 +2407,21 @@ cc_process_args(struct args *args, struct args **preprocessor_args, - free(option); - continue; - } -+ // Alternate form of specifying sysroot without = -+ if (str_eq(argv[i], "--sysroot")) { -+ if (i == argc-1) { -+ cc_log("Missing argument to %s", argv[i]); -+ stats_update(STATS_ARGS); -+ result = false; -+ goto out; -+ } -+ args_add(stripped_args, argv[i]); -+ char *relpath = make_relative_path(x_strdup(argv[i+1])); -+ args_add(stripped_args, relpath); -+ i++; -+ free(relpath); -+ continue; -+ } - if (str_startswith(argv[i], "-Wp,")) { - if (str_eq(argv[i], "-Wp,-P") - || strstr(argv[i], ",-P,") --- -2.8.3 - diff --git a/package/ccache/ccache.hash b/package/ccache/ccache.hash index c22394b13b..779a2abc7e 100644 --- a/package/ccache/ccache.hash +++ b/package/ccache/ccache.hash @@ -1,3 +1,4 @@ -# Verified key https://samba.org/ftp/ccache/ccache-3.3.4.tar.xz.asc - sha256 computed locally -sha256 24f15bf389e38c41548c9c259532187774ec0cb9686c3497bbb75504c8dc404f ccache-3.3.4.tar.xz -sha256 190576a6e938760ec8113523e6fd380141117303e90766cc4802e770422b30c6 ccache-3.3.5.tar.xz +# sha256 computed locally +sha256 a6b129576328fcefad00cb72035bc87bc98b6a76aec0f4b59bed76d67a399b1f ccache-3.6.tar.xz +sha256 ec6b1a326ff93b2cc21df88a697ae470ff6927a55b8929e7e491b315e1563361 GPL-3.0.txt +sha256 2af7b3ec0ea737e1542e58db016122f6d75df9ea3b4f00c8151ecfef7040b39b LICENSE.adoc diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index 9a11d46d30..4d9de0a074 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -4,11 +4,11 @@ # ################################################################################ -CCACHE_VERSION = 3.3.5 +CCACHE_VERSION = 3.6 CCACHE_SITE = https://www.samba.org/ftp/ccache CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.xz CCACHE_LICENSE = GPL-3.0+, others -CCACHE_LICENSE_FILES = LICENSE.txt GPL-3.0.txt +CCACHE_LICENSE_FILES = LICENSE.adoc GPL-3.0.txt # Force ccache to use its internal zlib. The problem is that without # this, ccache would link against the zlib of the build system, but we @@ -38,8 +38,8 @@ HOST_CCACHE_CONF_ENV = \ HOST_CCACHE_DEFAULT_CCACHE_DIR = $(patsubst $(HOME)/%,\%s/%,$(BR_CACHE_DIR)) define HOST_CCACHE_PATCH_CONFIGURATION - sed -i 's,getenv("CCACHE_DIR"),getenv("BR_CACHE_DIR"),' $(@D)/ccache.c - sed -i 's,"%s/.ccache","$(HOST_CCACHE_DEFAULT_CCACHE_DIR)",' $(@D)/conf.c + sed -i 's,getenv("CCACHE_DIR"),getenv("BR_CACHE_DIR"),' $(@D)/src/ccache.c + sed -i 's,"%s/.ccache","$(HOST_CCACHE_DEFAULT_CCACHE_DIR)",' $(@D)/src/conf.c endef HOST_CCACHE_POST_PATCH_HOOKS += HOST_CCACHE_PATCH_CONFIGURATION diff --git a/package/ccid/ccid.mk b/package/ccid/ccid.mk index c9b95a6234..73da9c4b8f 100644 --- a/package/ccid/ccid.mk +++ b/package/ccid/ccid.mk @@ -11,6 +11,7 @@ CCID_LICENSE = LGPL-2.1+ CCID_LICENSE_FILES = COPYING CCID_INSTALL_STAGING = YES CCID_DEPENDENCIES = pcsc-lite host-pkgconf libusb +CCID_CONF_OPTS = --enable-usbdropdir=/usr/lib/pcsc/drivers ifeq ($(BR2_PACKAGE_HAS_UDEV),y) define CCID_INSTALL_UDEV_RULES diff --git a/package/ccrypt/ccrypt.mk b/package/ccrypt/ccrypt.mk index d27e34618a..541a0e776d 100644 --- a/package/ccrypt/ccrypt.mk +++ b/package/ccrypt/ccrypt.mk @@ -5,7 +5,7 @@ ################################################################################ CCRYPT_VERSION = 1.10 -CCRYPT_SITE = http://ccrypt.sourceforge.net/download +CCRYPT_SITE = http://ccrypt.sourceforge.net/download/$(CCRYPT_VERSION) CCRYPT_LICENSE = GPL-2.0+ CCRYPT_LICENSE_FILES = COPYING diff --git a/package/cgilua/Config.in b/package/cgilua/Config.in index d1e7fbf0e8..a6761313e4 100644 --- a/package/cgilua/Config.in +++ b/package/cgilua/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_CGILUA bool "cgilua" - # Runtime dependency only - select BR2_PACKAGE_LUAFILESYSTEM + select BR2_PACKAGE_LUAFILESYSTEM # runtime help CGILua is a tool for creating dynamic HTML pages and manipulating input data from Web forms. diff --git a/package/cgilua/cgilua.hash b/package/cgilua/cgilua.hash index b932e80cb8..ac977ec38a 100644 --- a/package/cgilua/cgilua.hash +++ b/package/cgilua/cgilua.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 7d4883e6a89b3463a1d35b8084a6e2afbbb584af7aca1169380e92af0f848413 cgilua-5.2.1-1.src.rock +# computed by luarocks/buildroot +sha256 8e9ef583f8e1c5b600ebc6bb04924a61f72320130410191a9c56d7295fb02be1 cgilua-5.1.4-2.src.rock +sha256 e612df003d24aeaf6d3cc09a1e9255493c691866158b5962dc4c68fff8a56a8b cgilua-5.1.4/doc/us/license.html diff --git a/package/cgilua/cgilua.mk b/package/cgilua/cgilua.mk index cd78841fdb..17b3964259 100644 --- a/package/cgilua/cgilua.mk +++ b/package/cgilua/cgilua.mk @@ -4,7 +4,7 @@ # ################################################################################ -CGILUA_VERSION = 5.2.1-1 +CGILUA_VERSION = 5.1.4-2 CGILUA_LICENSE = MIT CGILUA_LICENSE_FILES = $(CGILUA_SUBDIR)/doc/us/license.html diff --git a/package/checkpolicy/checkpolicy.hash b/package/checkpolicy/checkpolicy.hash index 7397393a76..cf38d6e2f4 100644 --- a/package/checkpolicy/checkpolicy.hash +++ b/package/checkpolicy/checkpolicy.hash @@ -1,2 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 5413479f1dcde866c19896b4dbfec315d822aa431606e1d03c944408984c3201 checkpolicy-2.7.tar.gz +sha256 9dec811c24b88e58c3bf741365eacf1dbb945531a2fcb8f284aacf68098194c8 checkpolicy-2.8.tar.gz + +# Hash for license file +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/package/checkpolicy/checkpolicy.mk b/package/checkpolicy/checkpolicy.mk index 52f816098d..7143b2d7d2 100644 --- a/package/checkpolicy/checkpolicy.mk +++ b/package/checkpolicy/checkpolicy.mk @@ -4,8 +4,8 @@ # ################################################################################ -CHECKPOLICY_VERSION = 2.7 -CHECKPOLICY_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +CHECKPOLICY_VERSION = 2.8 +CHECKPOLICY_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524 CHECKPOLICY_LICENSE = GPL-2.0 CHECKPOLICY_LICENSE_FILES = COPYING diff --git a/package/checksec/0001-checksec-Fixed-issue-with-relative-path.patch b/package/checksec/0001-checksec-Fixed-issue-with-relative-path.patch new file mode 100644 index 0000000000..3ed75a3c34 --- /dev/null +++ b/package/checksec/0001-checksec-Fixed-issue-with-relative-path.patch @@ -0,0 +1,43 @@ +From b48a2dfae26fa3b4af8e65fb5953b3caf62c137b Mon Sep 17 00:00:00 2001 +From: Paresh Chaudhary +Date: Mon, 21 May 2018 14:34:23 -0500 +Subject: [PATCH] checksec: Fixed issue with relative path + +Before this patch, the checksec script was not able to find existing +directories when the user passed a relative path with --dir/-d, +the script aborted with a "No such file or directory". The same error +was reported when the script was executed through a relative path. + +https://github.com/slimm609/checksec.sh/issues/54 + +Signed-off-by: Paresh Chaudhary +Signed-off-by: Matt Weber +--- + checksec | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/checksec b/checksec +index 24b521f..baf8d63 100755 +--- a/checksec ++++ b/checksec +@@ -1193,7 +1193,7 @@ do + echo_message "RELRO STACK CANARY NX PIE RPATH RUNPATH FORTIFY Checked Total Filename\n" '' "\n" "{ \"dir\": { \"name\":\"$tempdir\" }," + fdircount=0 + fdirtotal=0 +- for N in $(find $tempdir -type f); do ++ for N in $(find . -type f); do + if [[ "$N" != "[A-Za-z1-0]*" ]]; then + out=$(file "$N") + if [[ $out =~ ELF ]] ; then +@@ -1201,7 +1201,7 @@ do + fi + fi + done +- for N in $(find $tempdir -type f); do ++ for N in $(find . -type f); do + if [[ "$N" != "[A-Za-z1-0]*" ]]; then + # read permissions? + if [[ ! -r "$N" ]]; then +-- +1.9.1 + diff --git a/package/checksec/Config.in.host b/package/checksec/Config.in.host new file mode 100644 index 0000000000..e4e8903b48 --- /dev/null +++ b/package/checksec/Config.in.host @@ -0,0 +1,17 @@ +config BR2_PACKAGE_HOST_CHECKSEC + bool "host checksec" + help + This tool provides a shell script to check the + properties of executables + (PIE,RELRO,Stack Canaries,Fortify Source). + It also has a kernel test mode that can run on target + for testing of PaX, ASLR, heap and config hardening. + + NOTE: when using this tool as a host tool, the tool + can offline check a target folder of elf files for + hardening features enabled in those elf files. There + are other features of this tool, like the kernel test + feature that are not functional offline, but require the + user to execute in a chroot or on target. + + https://github.com/slimm609/checksec.sh.git diff --git a/package/checksec/checksec.hash b/package/checksec/checksec.hash new file mode 100644 index 0000000000..e3d1ffd5d1 --- /dev/null +++ b/package/checksec/checksec.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 510b0b0528f15d0bf13fa1ae7140d2b9fc9261323c98ff76c011bef475a69c14 checksec-cdefe53eb72e6e8f23308417d2fc6b68cba9dbac.tar.gz +sha256 c5e2a8e188040fc34eb9362084778a2e25f8d1f888e47a2be09efa7cecd9c70d LICENSE.txt diff --git a/package/checksec/checksec.mk b/package/checksec/checksec.mk new file mode 100644 index 0000000000..bfe54c262e --- /dev/null +++ b/package/checksec/checksec.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# checksec +# +################################################################################ + +CHECKSEC_VERSION = cdefe53eb72e6e8f23308417d2fc6b68cba9dbac +CHECKSEC_SITE = $(call github,slimm609,checksec.sh,$(CHECKSEC_VERSION)) +CHECKSEC_LICENSE = BSD-3-Clause +CHECKSEC_LICENSE_FILES = LICENSE.txt + +define HOST_CHECKSEC_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/checksec $(HOST_DIR)/bin/checksec +endef + +$(eval $(host-generic-package)) diff --git a/package/chrony/0002-hash-include-util.h-for-MIN-macro.patch b/package/chrony/0002-hash-include-util.h-for-MIN-macro.patch new file mode 100644 index 0000000000..1fd5bd9984 --- /dev/null +++ b/package/chrony/0002-hash-include-util.h-for-MIN-macro.patch @@ -0,0 +1,28 @@ +From 948ecf84314f78da82e0e2b07b6570ca9cff86c8 Mon Sep 17 00:00:00 2001 +From: Miroslav Lichvar +Date: Thu, 20 Sep 2018 15:01:16 +0200 +Subject: [PATCH] hash: include util.h for MIN macro + +The hash_intmd5.c file inadvertently relied on the system headers to +provide the MIN macro, but it is missing with some libc implementations. + +Signed-off-by: Giulio Benetti +--- + hash_intmd5.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/hash_intmd5.c b/hash_intmd5.c +index 0b60f9b..49da1cf 100644 +--- a/hash_intmd5.c ++++ b/hash_intmd5.c +@@ -29,6 +29,7 @@ + #include "sysincl.h" + #include "hash.h" + #include "memory.h" ++#include "util.h" + + #include "md5.c" + +-- +2.17.1 + diff --git a/package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch b/package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch deleted file mode 100644 index d71685e5cd..0000000000 --- a/package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7c5bd948bb7e21fa0ee22f29e97748b2d0360319 Mon Sep 17 00:00:00 2001 -From: Miroslav Lichvar -Date: Thu, 17 May 2018 14:16:58 +0200 -Subject: [PATCH] util: fall back to reading /dev/urandom when getrandom() - blocks - -With recent changes in the Linux kernel, the getrandom() system call may -block for a long time after boot on machines that don't have enough -entropy. It blocks the chronyd's initialization before it can detach -from the terminal and may cause a chronyd service to fail to start due -to a timeout. - -At least for now, enable the GRND_NONBLOCK flag to make the system call -non-blocking and let the code fall back to reading /dev/urandom (which -never blocks) if the system call failed with EAGAIN or any other error. - -This makes the start of chronyd non-deterministic with respect to files -that it needs to open and possibly also makes it slightly easier to -guess the transmit/receive timestamp in client requests until the -urandom source is fully initialized. - -Signed-off-by: Peter Korsgaard ---- - util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/util.c b/util.c -index 4b3e455..76417d5 100644 ---- a/util.c -+++ b/util.c -@@ -1224,7 +1224,7 @@ get_random_bytes_getrandom(char *buf, unsigned int len) - if (disabled) - break; - -- if (getrandom(rand_buf, sizeof (rand_buf), 0) != sizeof (rand_buf)) { -+ if (getrandom(rand_buf, sizeof (rand_buf), GRND_NONBLOCK) != sizeof (rand_buf)) { - disabled = 1; - break; - } --- -2.11.0 - diff --git a/package/chrony/S49chrony b/package/chrony/S49chrony old mode 100755 new mode 100644 diff --git a/package/chrony/chrony.hash b/package/chrony/chrony.hash index 38f1534295..925240cf6a 100644 --- a/package/chrony/chrony.hash +++ b/package/chrony/chrony.hash @@ -1,5 +1,5 @@ -# From https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-announce/2017/09/msg00000.html -md5 f4c4eb0dc92f35ee4bb7d3dcd8029ecb chrony-3.2.tar.gz -sha1 64db6c31e013222cc0a2b66322192b4cedf6e048 chrony-3.2.tar.gz +# From https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-announce/2018/09/msg00000.html +md5 7170e750469c198fc6784047d6f71144 chrony-3.4.tar.gz +sha1 fa41e595e7041a9deda76a69e970a023091474f6 chrony-3.4.tar.gz # Locally calculated sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/chrony/chrony.mk b/package/chrony/chrony.mk index 8868e8481c..b5821b238d 100644 --- a/package/chrony/chrony.mk +++ b/package/chrony/chrony.mk @@ -4,7 +4,7 @@ # ################################################################################ -CHRONY_VERSION = 3.2 +CHRONY_VERSION = 3.4 CHRONY_SITE = http://download.tuxfamily.org/chrony CHRONY_LICENSE = GPL-2.0 CHRONY_LICENSE_FILES = COPYING diff --git a/package/circus/0001-circus-tests-rename-async-argument-of-_create_circus.patch b/package/circus/0001-circus-tests-rename-async-argument-of-_create_circus.patch new file mode 100644 index 0000000000..6af8d87254 --- /dev/null +++ b/package/circus/0001-circus-tests-rename-async-argument-of-_create_circus.patch @@ -0,0 +1,97 @@ +From 7fd0495cf3520508fb1cca301ad3d792b56b5656 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 8 Sep 2018 22:24:24 +0200 +Subject: [PATCH] circus/tests: rename async argument of _create_circus() to + use_async + +In Python 3.7.0, 'async' is now a reserved keyword of the language, so +it cannot be used as an method argument name. When used, it causes the +following byte-compilation failure: + +Traceback (most recent call last): + File "/home/thomas/projets/buildroot/output/host/lib/python3.7/py_compile.py", line 136, in compile + _optimize=optimize) + File "", line 763, in source_to_code + File "", line 219, in _call_with_frames_removed + File "usr/lib/python3.7/site-packages/circus/tests/support.py", line 210 + debug=debug, async=True, **kw) + ^ +SyntaxError: invalid syntax + +Signed-off-by: Thomas Petazzoni +Upstream-status: https://github.com/circus-tent/circus/pull/1079 +--- + circus/tests/support.py | 6 +++--- + circus/tests/test_client.py | 2 +- + circus/tests/test_watcher.py | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/circus/tests/support.py b/circus/tests/support.py +index 38964cc..794a9c7 100644 +--- a/circus/tests/support.py ++++ b/circus/tests/support.py +@@ -217,7 +217,7 @@ class TestCircus(AsyncTestCase): + stdout_stream=None, debug=True, **kw): + testfile, arbiter = self._create_circus( + cmd, stdout_stream=stdout_stream, +- debug=debug, async=True, **kw) ++ debug=debug, use_async=True, **kw) + self.test_file = testfile + self.arbiter = arbiter + self.arbiters.append(arbiter) +@@ -265,7 +265,7 @@ class TestCircus(AsyncTestCase): + + @classmethod + def _create_circus(cls, callable_path, plugins=None, stats=False, +- async=False, arbiter_kw=None, **kw): ++ use_async=False, arbiter_kw=None, **kw): + fd, testfile = mkstemp() + os.close(fd) + wdir = os.path.dirname(os.path.dirname(os.path.dirname( +@@ -292,7 +292,7 @@ class TestCircus(AsyncTestCase): + arbiter_kw['stats_endpoint'] = "tcp://127.0.0.1:%d" % _gp() + arbiter_kw['statsd_close_outputs'] = not debug + +- if async: ++ if use_async: + arbiter_kw['background'] = False + arbiter_kw['loop'] = get_ioloop() + else: +diff --git a/circus/tests/test_client.py b/circus/tests/test_client.py +index 9a56a11..a0cfca0 100644 +--- a/circus/tests/test_client.py ++++ b/circus/tests/test_client.py +@@ -90,7 +90,7 @@ class TestWithHook(TestCircus): + self.stream = QueueStream() + self.errstream = QueueStream() + dummy_process = 'circus.tests.support.run_process' +- return self._create_circus(dummy_process, async=True, ++ return self._create_circus(dummy_process, use_async=True, + stdout_stream={'stream': self.stream}, + stderr_stream={'stream': self.errstream}, + hooks=hooks) +diff --git a/circus/tests/test_watcher.py b/circus/tests/test_watcher.py +index 5dd857c..4299ed1 100644 +--- a/circus/tests/test_watcher.py ++++ b/circus/tests/test_watcher.py +@@ -376,7 +376,7 @@ class TestWatcherHooks(TestCircus): + return self._create_circus(dummy_process, + stdout_stream=stdout_stream, + stderr_stream=stderr_stream, +- hooks=hooks, debug=True, async=True) ++ hooks=hooks, debug=True, use_async=True) + + @tornado.gen.coroutine + def _stop(self): +@@ -601,7 +601,7 @@ class RespawnTest(TestCircus): + def test_not_respawning(self): + oneshot_process = 'circus.tests.test_watcher.oneshot_process' + testfile, arbiter = self._create_circus(oneshot_process, +- respawn=False, async=True) ++ respawn=False, use_async=True) + yield arbiter.start() + watcher = arbiter.watchers[-1] + try: +-- +2.14.4 + diff --git a/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch b/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch deleted file mode 100644 index aee3cfcbff..0000000000 --- a/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0821066f9adf8410891cd07684ecac50a9bc36a4 Mon Sep 17 00:00:00 2001 -From: Fabio Porcedda -Date: Wed, 25 Feb 2015 18:40:24 +0100 -Subject: [PATCH] Lua: fix a typo changing %(LFS_DIR) to $(LFS_DIR) - -Also this fix a error on GNU Make v4.0: - Makefile:203: *** mixed implicit and normal rules. Stop. - -Signed-off-by: Fabio Porcedda ---- - resources/Makefile.in-lua | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/resources/Makefile.in-lua b/resources/Makefile.in-lua -index 0902f11..f3d95fd 100644 ---- a/resources/Makefile.in-lua -+++ b/resources/Makefile.in-lua -@@ -57,5 +57,5 @@ LFS_CFLAGS = -I$(LFS_DIR) - - OBJECTS += $(LUA_OBJECTS) $(SQLITE_OBJECTS) $(LFS_OBJECTS) - CFLAGS += $(LUA_CFLAGS) $(SQLITE_CFLAGS) $(LFS_CFLAGS) -DUSE_LUA -DUSE_LUA_SQLITE3 -DUSE_LUA_FILE_SYSTEM --SOURCE_DIRS = $(LUA_DIR) $(SQLITE_DIR) %(LFS_DIR) -+SOURCE_DIRS = $(LUA_DIR) $(SQLITE_DIR) $(LFS_DIR) - --- -2.3.0 - diff --git a/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch b/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch new file mode 100644 index 0000000000..bd1b06aedf --- /dev/null +++ b/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch @@ -0,0 +1,34 @@ +From ca4325c6963e505d6fb628163abf2359427ea022 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 29 Nov 2018 21:43:28 +0100 +Subject: [PATCH] modlua.ini: include dlfcn.h + +dlfcn.h must be included to be able to use dlopen otherwise build will +fail on: +src/mod_lua.inl:2845:41: error: 'RTLD_LAZY' undeclared (first use in this function) + lib_handle_uuid = dlopen("libuuid.so", RTLD_LAZY); + +Fixes: + - http://autobuild.buildroot.org/results/7a189f49c5a8b6f7b3d4c57cda5982adc65dbc19 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/civetweb/civetweb/pull/706] +--- + src/mod_lua.inl | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/mod_lua.inl b/src/mod_lua.inl +index 97a5de1e..ce7a4b2e 100644 +--- a/src/mod_lua.inl ++++ b/src/mod_lua.inl +@@ -2,6 +2,7 @@ + * See https://github.com/civetweb/civetweb/ + */ + ++#include + #include "civetweb_lua.h" + #include "civetweb_private_lua.h" + +-- +2.14.1 + diff --git a/package/civetweb/Config.in b/package/civetweb/Config.in index d68a1ffd53..9e43969085 100644 --- a/package/civetweb/Config.in +++ b/package/civetweb/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_CIVETWEB bool "civetweb" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_CIVETWEB_SERVER if !BR2_PACKAGE_CIVETWEB_LIB help Full featured embedded web server with Lua support. @@ -9,6 +10,17 @@ config BR2_PACKAGE_CIVETWEB if BR2_PACKAGE_CIVETWEB +config BR2_PACKAGE_CIVETWEB_SERVER + bool "enable the web server application" + help + Include the web server and its config files. + +config BR2_PACKAGE_CIVETWEB_LIB + bool "enable library for embedding" + help + Enable the civetweb library for embedding in another + application. + config BR2_PACKAGE_CIVETWEB_WITH_LUA bool "enable Lua support" # required by the bundled Sqlite3 and Lua code diff --git a/package/civetweb/civetweb.hash b/package/civetweb/civetweb.hash index 745f4a8ce6..23f7c4acac 100644 --- a/package/civetweb/civetweb.hash +++ b/package/civetweb/civetweb.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 79a852a26068eb6d2f8de5ee72e021f0d2c8bd176eb81f41909a876b736815d9 civetweb-v1.5.tar.gz +sha256 de7d5e7a2d9551d325898c71e41d437d5f7b51e754b242af897f7be96e713a42 civetweb-v1.11.tar.gz +sha256 1cd00da00b8649b4005757f4019acfd3102ecd407f47998081697e8e9086f706 LICENSE.md diff --git a/package/civetweb/civetweb.mk b/package/civetweb/civetweb.mk index d29765b87d..1652239ebb 100644 --- a/package/civetweb/civetweb.mk +++ b/package/civetweb/civetweb.mk @@ -4,16 +4,26 @@ # ################################################################################ -CIVETWEB_VERSION = v1.5 -CIVETWEB_SITE = $(call github,sunsetbrew,civetweb,$(CIVETWEB_VERSION)) +CIVETWEB_VERSION = v1.11 +CIVETWEB_SITE = $(call github,civetweb,civetweb,$(CIVETWEB_VERSION)) CIVETWEB_LICENSE = MIT CIVETWEB_LICENSE_FILES = LICENSE.md -CIVETWEB_CONF_OPTS = TARGET_OS=LINUX WITH_IPV6=1 +CIVETWEB_CONF_OPTS = TARGET_OS=LINUX WITH_IPV6=1 \ + $(if $(BR2_INSTALL_LIBSTDCPP),WITH_CPP=1) CIVETWEB_COPT = -DHAVE_POSIX_FALLOCATE=0 CIVETWEB_LIBS = -lpthread -lm CIVETWEB_SYSCONFDIR = /etc CIVETWEB_HTMLDIR = /var/www +CIVETWEB_INSTALL_OPTS = \ + DOCUMENT_ROOT="$(CIVETWEB_HTMLDIR)" \ + CONFIG_FILE2="$(CIVETWEB_SYSCONFDIR)/civetweb.conf" \ + HTMLDIR="$(TARGET_DIR)$(CIVETWEB_HTMLDIR)" \ + SYSCONFDIR="$(TARGET_DIR)$(CIVETWEB_SYSCONFDIR)" + +ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),) +CIVETWEB_COPT += -DNO_ATOMICS=1 +endif ifeq ($(BR2_PACKAGE_CIVETWEB_WITH_LUA),y) CIVETWEB_CONF_OPTS += WITH_LUA=1 @@ -22,25 +32,54 @@ endif ifeq ($(BR2_PACKAGE_OPENSSL),y) CIVETWEB_COPT += -DNO_SSL_DL -CIVETWEB_LIBS += -lssl -lcrypto -lz -CIVETWEB_DEPENDENCIES += openssl +CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl` +CIVETWEB_DEPENDENCIES += openssl host-pkgconf else CIVETWEB_COPT += -DNO_SSL endif +ifeq ($(BR2_PACKAGE_CIVETWEB_SERVER),y) +CIVETWEB_BUILD_TARGETS += build +CIVETWEB_INSTALL_TARGETS += install +endif + +ifeq ($(BR2_PACKAGE_CIVETWEB_LIB),y) +CIVETWEB_INSTALL_STAGING = YES +CIVETWEB_INSTALL_TARGETS += install-headers + +ifeq ($(BR2_STATIC_LIBS)$(BR2_STATIC_SHARED_LIBS),y) +CIVETWEB_BUILD_TARGETS += lib +CIVETWEB_INSTALL_TARGETS += install-lib +endif + +ifeq ($(BR2_SHARED_LIBS)$(BR2_STATIC_SHARED_LIBS),y) +CIVETWEB_BUILD_TARGETS += slib +CIVETWEB_INSTALL_TARGETS += install-slib +CIVETWEB_COPT += -fPIC +endif + +endif # BR2_PACKAGE_CIVETWEB_LIB + define CIVETWEB_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) build \ + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_BUILD_TARGETS) \ $(CIVETWEB_CONF_OPTS) \ COPT="$(CIVETWEB_COPT)" LIBS="$(CIVETWEB_LIBS)" endef +define CIVETWEB_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/include + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \ + PREFIX="$(STAGING_DIR)/usr" \ + $(CIVETWEB_INSTALL_OPTS) \ + $(CIVETWEB_CONF_OPTS) \ + COPT='$(CIVETWEB_COPT)' +endef + define CIVETWEB_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install \ - DOCUMENT_ROOT="$(CIVETWEB_HTMLDIR)" \ - CONFIG_FILE2="$(CIVETWEB_SYSCONFDIR)/civetweb.conf" \ - HTMLDIR="$(TARGET_DIR)$(CIVETWEB_HTMLDIR)" \ - SYSCONFDIR="$(TARGET_DIR)$(CIVETWEB_SYSCONFDIR)" \ + mkdir -p $(TARGET_DIR)/usr/include + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \ PREFIX="$(TARGET_DIR)/usr" \ + $(CIVETWEB_INSTALL_OPTS) \ $(CIVETWEB_CONF_OPTS) \ COPT='$(CIVETWEB_COPT)' endef diff --git a/package/cjson/cjson.hash b/package/cjson/cjson.hash index 278484bdd3..32a05b3c05 100644 --- a/package/cjson/cjson.hash +++ b/package/cjson/cjson.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 6eb9d852a97ffbe149e747f54d63e39a674fa248bb24902a14c079803067949a cjson-v1.7.7.tar.gz +sha256 17ace0e31ebd639906983b05fe1d51576b948ca5411c2162f55dd34c122162ca cjson-v1.7.11.tar.gz sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE diff --git a/package/cjson/cjson.mk b/package/cjson/cjson.mk index e91ce9b4b2..e6ab71b92a 100644 --- a/package/cjson/cjson.mk +++ b/package/cjson/cjson.mk @@ -4,7 +4,7 @@ # ################################################################################ -CJSON_VERSION = v1.7.7 +CJSON_VERSION = v1.7.11 CJSON_SITE = $(call github,DaveGamble,cjson,$(CJSON_VERSION)) CJSON_INSTALL_STAGING = YES CJSON_LICENSE = MIT diff --git a/package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch b/package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch deleted file mode 100644 index 1d26b099b9..0000000000 --- a/package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 6b6ff53b5931c162be13504a1efc53fc5212f9d1 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 7 May 2018 22:57:34 +0200 -Subject: [PATCH] m4/reorganization/libs/curl.m4: fix curl-config detection - logic - -The current logic in curl.m4 doesn't behave properly when ---without-libcurl is passed to the ./configure script. - -Indeed, in this case what happens is that: - - (1) Since --without-libcurl is passed, LIBCURL_HOME is set to nothing - - (2) find_curl is set to "no" - - (3) Due to find_curl being "no", LIBCURL_HOME is not set to - /usr/local and remains empty - - (4) We test if $LIBCURL_HOME/bin/curl_config exists, which is - equivalent to testing if /bin/curl-config exists. So curl.m4 is - looking at /bin/curl-config, which is irrelevant in a - cross-compilation context: it is not because the build machine - has libcurl installed that it is available for the target. - - Due to this mistake, it sets have_curl="yes" - -Due to this, the ./configure script assumes it can build the -clamsubmit program, which fails at build time because curl/curl.h -doesn't exist. - -To fix this, this commit rewrites the curl-config detection logic with -a simpler loop. If find_curl=yes, it means we have to find libcurl -ourselves, so we iterate over /usr/local and /usr, and check if a -bin/curl-config binary is available there. If so, we use this path as -LIBCURL_HOME and set have_curl="yes". - -This preserves the existing behavior, while fixing the situation where ---without-libcurl is passed, but /bin/curl-config exists. - -Signed-off-by: Thomas Petazzoni -Upstream-status: https://github.com/Cisco-Talos/clamav-devel/pull/87 ---- - m4/reorganization/libs/curl.m4 | 15 +++++---------- - 1 file changed, 5 insertions(+), 10 deletions(-) - -diff --git a/m4/reorganization/libs/curl.m4 b/m4/reorganization/libs/curl.m4 -index 2a5966ee7..b6a9c2137 100644 ---- a/m4/reorganization/libs/curl.m4 -+++ b/m4/reorganization/libs/curl.m4 -@@ -19,17 +19,12 @@ fi - [find_curl="yes"]) - - if test "X$find_curl" = "Xyes"; then -- LIBCURL_HOME=/usr/local --fi --if test -f "$LIBCURL_HOME/bin/curl-config"; then -- have_curl="yes" --else -- if test "X$find_curl" = "Xyes"; then -- LIBCURL_HOME=/usr -- if test -f "$LIBCURL_HOME/bin/curl-config"; then -- have_curl="yes" -+ for p in /usr/local /usr ; do -+ if test -f "${p}/bin/curl-config"; then -+ LIBCURL_HOME=$p -+ have_curl="yes" - fi -- fi -+ done - fi - - if test "X$have_curl" = "Xyes"; then --- -2.14.3 - diff --git a/package/clamav/Config.in b/package/clamav/Config.in index bc934ea452..2017011b67 100644 --- a/package/clamav/Config.in +++ b/package/clamav/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_CLAMAV bool "clamav" + depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + depends on BR2_USE_WCHAR select BR2_PACKAGE_LIBTOOL select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB @@ -11,6 +13,7 @@ config BR2_PACKAGE_CLAMAV http://www.clamav.net -comment "clamav needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "clamav needs a toolchain w/ C++, threads, wchar" + depends on !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR depends on BR2_USE_MMU diff --git a/package/clamav/clamav.hash b/package/clamav/clamav.hash index 390251fc24..4b61cd9654 100644 --- a/package/clamav/clamav.hash +++ b/package/clamav/clamav.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 4a2e4f0cd41e62adb5a713b4a1857c49145cd09a69957e6d946ecad575206dd6 clamav-0.100.2.tar.gz +sha256 0a12ebdf6ff7a74c0bde2bdc2b55cae33449e6dd953ec90824a9e01291277634 clamav-0.101.2.tar.gz sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING.bzip2 sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING.file diff --git a/package/clamav/clamav.mk b/package/clamav/clamav.mk index 50990abad6..5bb0aa09d9 100644 --- a/package/clamav/clamav.mk +++ b/package/clamav/clamav.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLAMAV_VERSION = 0.100.2 +CLAMAV_VERSION = 0.101.2 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ @@ -16,14 +16,16 @@ CLAMAV_DEPENDENCIES = \ openssl \ zlib \ $(TARGET_NLS_DEPENDENCIES) -# 0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch -CLAMAV_AUTORECONF = YES # mmap cannot be detected when cross-compiling, needed for mempool support CLAMAV_CONF_ENV = \ ac_cv_c_mmap_private=yes \ have_cv_ipv6=yes +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +CLAMAV_CONF_ENV += LIBS=-latomic +endif + # UCLIBC_HAS_FTS is disabled, therefore disable fanotify (missing fts.h) CLAMAV_CONF_OPTS = \ --with-dbdir=/var/lib/clamav \ @@ -78,11 +80,21 @@ else CLAMAV_CONF_OPTS += --without-iconv endif -ifeq ($(BR2_PACKAGE_PCRE),y) +ifeq ($(BR2_PACKAGE_PCRE2),y) +CLAMAV_CONF_OPTS += --with-pcre=$(STAGING_DIR)/usr +CLAMAV_DEPENDENCIES += pcre2 +else ifeq ($(BR2_PACKAGE_PCRE),y) CLAMAV_CONF_OPTS += --with-pcre=$(STAGING_DIR)/usr CLAMAV_DEPENDENCIES += pcre else CLAMAV_CONF_OPTS += --without-pcre endif +ifeq ($(BR2_INIT_SYSTEMD),y) +CLAMAV_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system +CLAMAV_DEPENDENCIES += systemd +else +CLAMAV_CONF_OPTS += --with-systemdsystemunitdir=no +endif + $(eval $(autotools-package)) diff --git a/package/clang/clang.hash b/package/clang/clang.hash index f2bd3db4ed..fe868f5874 100644 --- a/package/clang/clang.hash +++ b/package/clang/clang.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 7c243f1485bddfdfedada3cd402ff4792ea82362ff91fbdac2dae67c6026b667 cfe-6.0.1.src.tar.xz -sha256 de4c79665f0f5688b0ace17cba6f8e0343925bb95e0949d66d47bbd4527310d6 LICENSE.TXT +sha256 a45b62dde5d7d5fdcdfa876b0af92f164d434b06e9e89b5d0b1cbc65dfe3f418 cfe-7.0.1.src.tar.xz +sha256 3f3f2e96e3b7319d2b4b49227d6da624a717340107ce2ca5342a25e0e57dfd35 LICENSE.TXT diff --git a/package/clang/clang.mk b/package/clang/clang.mk index 230d0c6b73..c15f2b0d2a 100644 --- a/package/clang/clang.mk +++ b/package/clang/clang.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLANG_VERSION = 6.0.1 +CLANG_VERSION = 7.0.1 CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION) CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz CLANG_LICENSE = NCSA @@ -49,10 +49,11 @@ CLANG_CONF_OPTS += \ -DCLANG_INCLUDE_DOCS=OFF \ -DCLANG_INCLUDE_TESTS=OFF -HOST_CLANG_CONF_OPTS += -DLLVM_CONFIG:FILEPATH=$(HOST_DIR)/bin/llvm-config +HOST_CLANG_CONF_OPTS += -DLLVM_CONFIG:FILEPATH=$(HOST_DIR)/bin/llvm-config \ + -DCLANG_DEFAULT_LINKER=$(TARGET_LD) CLANG_CONF_OPTS += -DLLVM_CONFIG:FILEPATH=$(STAGING_DIR)/usr/bin/llvm-config \ - -DCLANG_TABLEGEN:FILEPATH=$(HOST_DIR)/usr/bin/clang-tblgen \ - -DLLVM_TABLEGEN_EXE:FILEPATH=$(HOST_DIR)/usr/bin/llvm-tblgen + -DCLANG_TABLEGEN:FILEPATH=$(HOST_DIR)/bin/clang-tblgen \ + -DLLVM_TABLEGEN_EXE:FILEPATH=$(HOST_DIR)/bin/llvm-tblgen # Clang can't be used as compiler on the target since there are no # development files (headers) and other build tools. So remove clang @@ -81,7 +82,7 @@ CLANG_POST_INSTALL_TARGET_HOOKS += CLANG_CLEANUP_TARGET # for cross-compiling clang define HOST_CLANG_INSTALL_CLANG_TBLGEN $(INSTALL) -D -m 0755 $(HOST_CLANG_BUILDDIR)/bin/clang-tblgen \ - $(HOST_DIR)/usr/bin/clang-tblgen + $(HOST_DIR)/bin/clang-tblgen endef HOST_CLANG_POST_INSTALL_HOOKS = HOST_CLANG_INSTALL_CLANG_TBLGEN diff --git a/package/clapack/Config.in b/package/clapack/Config.in index af7834d985..a912eb6c91 100644 --- a/package/clapack/Config.in +++ b/package/clapack/Config.in @@ -4,7 +4,6 @@ comment "clapack needs a glibc toolchain" config BR2_PACKAGE_CLAPACK bool "cblas/clapack" - depends on !(BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) # _fpu_control is used on PowerPC, but not available with # uClibc or musl depends on !BR2_powerpc || BR2_TOOLCHAIN_USES_GLIBC diff --git a/package/clinfo/Config.in b/package/clinfo/Config.in new file mode 100644 index 0000000000..3df4feeca2 --- /dev/null +++ b/package/clinfo/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_CLINFO + bool "clinfo" + depends on BR2_PACKAGE_HAS_LIBOPENCL + help + clinfo is a simple command-line application that enumerates + all possible (known) properties of the OpenCL platform and + devices available on the system. + + https://github.com/Oblomov/clinfo + +comment "clinfo needs an OpenCL provider" + depends on !BR2_PACKAGE_HAS_LIBOPENCL diff --git a/package/clinfo/clinfo.hash b/package/clinfo/clinfo.hash new file mode 100644 index 0000000000..d5766e6322 --- /dev/null +++ b/package/clinfo/clinfo.hash @@ -0,0 +1,4 @@ +# locally calculated +sha256 64b02e68ccff3b95437bd0bd70dcb88438c58adec16a7145a5d4e5c26a898ccf clinfo-2.2.18.03.26.tar.gz +sha256 a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499 legalcode.txt +sha256 2a7a9321be169ea6edbc6b1010e8f7bb0f4c1482a2f65c34a49e9719f129b79a LICENSE diff --git a/package/clinfo/clinfo.mk b/package/clinfo/clinfo.mk new file mode 100644 index 0000000000..cf08692316 --- /dev/null +++ b/package/clinfo/clinfo.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# clinfo +# +################################################################################ + +CLINFO_VERSION = 2.2.18.03.26 +CLINFO_SITE = $(call github,Oblomov,clinfo,$(CLINFO_VERSION)) +CLINFO_LICENSE = CC0-1.0 +CLINFO_LICENSE_FILES = legalcode.txt LICENSE +CLINFO_DEPENDENCIES = libopencl + +define CLINFO_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) +endef + +define CLINFO_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 755 $(@D)/clinfo $(TARGET_DIR)/usr/bin/clinfo +endef + +$(eval $(generic-package)) diff --git a/package/cmocka/0001-cmocka-cmake-fix-stack-protect-check.patch b/package/cmocka/0001-cmocka-cmake-fix-stack-protect-check.patch deleted file mode 100644 index c7a2c2742a..0000000000 --- a/package/cmocka/0001-cmocka-cmake-fix-stack-protect-check.patch +++ /dev/null @@ -1,34 +0,0 @@ -From f9a964edde4011adf88902018cbb87723d78d0a2 Mon Sep 17 00:00:00 2001 -From: Joel Carlson -Date: Wed, 20 Jun 2018 14:35:13 -0600 -Subject: [PATCH 1/1] cmocka cmake: fix stack protect check - -The cmake check for if -fstack-protect is supported needs to use -CMAKE_REQUIRED_FLAGS and not CMAKE_REQUIRED_DEFINITIONS. - -Signed-off-by: Joel Carlson ---- -Upstream status: submitted to cmocka mailing list - - cmake/Modules/CheckCCompilerFlagSSP.cmake | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/cmake/Modules/CheckCCompilerFlagSSP.cmake b/cmake/Modules/CheckCCompilerFlagSSP.cmake -index 2fe4395..ed34eb3 100644 ---- a/cmake/Modules/CheckCCompilerFlagSSP.cmake -+++ b/cmake/Modules/CheckCCompilerFlagSSP.cmake -@@ -19,8 +19,8 @@ - include(CheckCSourceCompiles) - - function(CHECK_C_COMPILER_FLAG_SSP _FLAG _RESULT) -- set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}") -- set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}") -+ set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") -+ set(CMAKE_REQUIRED_FLAGS "${_FLAG}") - check_c_source_compiles("int main(int argc, char **argv) { char buffer[256]; return buffer[argc]=0;}" ${_RESULT}) -- set(CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}") -+ set(CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}") - endfunction(CHECK_C_COMPILER_FLAG_SSP) --- -2.7.4 - diff --git a/package/cmocka/0001-examples-uptime-include-stdint.h-before-cmocka.h.patch b/package/cmocka/0001-examples-uptime-include-stdint.h-before-cmocka.h.patch new file mode 100644 index 0000000000..68dbc11da8 --- /dev/null +++ b/package/cmocka/0001-examples-uptime-include-stdint.h-before-cmocka.h.patch @@ -0,0 +1,35 @@ +From dd8449ae3ba7fd05ac172f0227cd93af7f37005e Mon Sep 17 00:00:00 2001 +From: Joel Carlson +Date: Mon, 1 Oct 2018 15:01:56 -0600 +Subject: [PATCH] examples: uptime: include stdint.h before cmocka.h + +Fixes a build error encountered on one MIPS64 toolchain about uintptr_t +being declared twice, first by cmocka.h and then later by the toolchains +stdint.h. + +Fixes #7 + +Signed-off-by: Joel Carlson +Reviewed-by: Andreas Schneider +--- +Fixes build error with br-mips64-n64-full +Upstream commit: dd8449ae3ba7fd05ac172f0227cd93af7f37005e +--- + example/mock/uptime/test_uptime.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/example/mock/uptime/test_uptime.c b/example/mock/uptime/test_uptime.c +index badfac9..183c276 100644 +--- a/example/mock/uptime/test_uptime.c ++++ b/example/mock/uptime/test_uptime.c +@@ -16,6 +16,7 @@ + + #include + #include ++#include + #include + #include + +-- +2.17.1 + diff --git a/package/cmocka/cmocka.hash b/package/cmocka/cmocka.hash index 1de4a1240f..1cbda22428 100644 --- a/package/cmocka/cmocka.hash +++ b/package/cmocka/cmocka.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 f02ef48a7039aa77191d525c5b1aee3f13286b77a13615d11bc1148753fc0389 cmocka-1.1.1.tar.xz +sha256 43eabcf72a9c80e3d03f7c8a1c04e408c18d2db5121eb058a3ef732a9dfabfaf cmocka-1.1.3.tar.xz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/cmocka/cmocka.mk b/package/cmocka/cmocka.mk index 64f5a4ae18..281410abb3 100644 --- a/package/cmocka/cmocka.mk +++ b/package/cmocka/cmocka.mk @@ -4,7 +4,7 @@ # ################################################################################ -CMOCKA_VERSION = 1.1.1 +CMOCKA_VERSION = 1.1.3 CMOCKA_SOURCE = cmocka-$(CMOCKA_VERSION).tar.xz CMOCKA_SITE = https://cmocka.org/files/1.1 CMOCKA_LICENSE = Apache-2.0 diff --git a/package/collectd/0002-gps-plugin-fix-build-with-newer-gpsd.patch b/package/collectd/0002-gps-plugin-fix-build-with-newer-gpsd.patch new file mode 100644 index 0000000000..b5abf8159a --- /dev/null +++ b/package/collectd/0002-gps-plugin-fix-build-with-newer-gpsd.patch @@ -0,0 +1,43 @@ +From 991a6d3fd38c2435d94de3853fda36b3330cf6ab Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 9 Oct 2018 19:57:21 +0300 +Subject: [PATCH] gps plugin: fix build with newer gpsd + +gpsd version 3.18 changed the prototype of gps_read(). Make the +gps_read() call depend on GPSD_API_MAJOR_VERSION to fix that. + +This fixes build failures like: + +gps.c: In function 'cgps_thread': +gps.c:144:11: error: too few arguments to function 'gps_read' + if (gps_read(&gpsd_conn) == -1) { + ^~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/collectd/collectd/pull/2947 + + src/gps.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/gps.c b/src/gps.c +index 1d32d0492617..b22c3a2e5ecd 100644 +--- a/src/gps.c ++++ b/src/gps.c +@@ -141,7 +141,12 @@ static void *cgps_thread(void *pData) { + continue; + } + +- if (gps_read(&gpsd_conn) == -1) { ++#if GPSD_API_MAJOR_VERSION > 6 ++ if (gps_read(&gpsd_conn, NULL, 0) == -1) ++#else ++ if (gps_read(&gpsd_conn) == -1) ++#endif ++ { + WARNING("gps plugin: incorrect data! (err_count: %d)", err_count); + err_count++; + +-- +2.19.1 + diff --git a/package/collectd/0003-sensors-Removed-checks-for-upper-limit-of-SENSORS_AP.patch b/package/collectd/0003-sensors-Removed-checks-for-upper-limit-of-SENSORS_AP.patch new file mode 100644 index 0000000000..9270021dd6 --- /dev/null +++ b/package/collectd/0003-sensors-Removed-checks-for-upper-limit-of-SENSORS_AP.patch @@ -0,0 +1,89 @@ +From 069796bd76dd1ab0089a64f7c9c2a3c9f1475414 Mon Sep 17 00:00:00 2001 +From: Pavel Rochnyack +Date: Mon, 3 Dec 2018 18:34:14 +0700 +Subject: [PATCH] sensors: Removed checks for upper limit of + SENSORS_API_VERSION + +That makes no more sense after lm-sensors got new maintainers. + +Issue: #3006 + +[Vadim Kochan: backported to support 5.7.1 version] +Signed-off-by: Vadim Kochan +--- + src/sensors.c | 17 ++++++----------- + 1 file changed, 6 insertions(+), 11 deletions(-) + +diff --git a/src/sensors.c b/src/sensors.c +index 8f1824d..409dc38 100644 +--- a/src/sensors.c ++++ b/src/sensors.c +@@ -149,7 +149,7 @@ typedef struct featurelist { + static char *conffile = SENSORS_CONF_PATH; + /* #endif SENSORS_API_VERSION < 0x400 */ + +-#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) ++#elif (SENSORS_API_VERSION >= 0x400) + typedef struct featurelist { + const sensors_chip_name *chip; + const sensors_feature *feature; +@@ -159,11 +159,6 @@ typedef struct featurelist { + + static char *conffile = NULL; + static _Bool use_labels = 0; +-/* #endif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */ +- +-#else /* if SENSORS_API_VERSION >= 0x500 */ +-#error "This version of libsensors is not supported yet. Please report this " \ +- "as bug." + #endif + + static featurelist_t *first_feature = NULL; +@@ -223,7 +218,7 @@ static int sensors_config(const char *key, const char *value) { + if (IS_TRUE(value)) + ignorelist_set_invert(sensor_list, 0); + } +-#if (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) ++#if (SENSORS_API_VERSION >= 0x400) + else if (strcasecmp(key, "UseLabels") == 0) { + use_labels = IS_TRUE(value) ? 1 : 0; + } +@@ -353,7 +348,7 @@ static int sensors_load_conf(void) { + } /* while sensors_get_detected_chips */ + /* #endif SENSORS_API_VERSION < 0x400 */ + +-#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) ++#elif (SENSORS_API_VERSION >= 0x400) + chip_num = 0; + while ((chip = sensors_get_detected_chips(NULL, &chip_num)) != NULL) { + const sensors_feature *feature; +@@ -404,7 +399,7 @@ static int sensors_load_conf(void) { + } /* while (subfeature) */ + } /* while (feature) */ + } /* while (chip) */ +-#endif /* (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */ ++#endif /* (SENSORS_API_VERSION >= 0x400) */ + + if (first_feature == NULL) { + sensors_cleanup(); +@@ -479,7 +474,7 @@ static int sensors_read(void) { + } /* for fl = first_feature .. NULL */ + /* #endif SENSORS_API_VERSION < 0x400 */ + +-#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) ++#elif (SENSORS_API_VERSION >= 0x400) + for (featurelist_t *fl = first_feature; fl != NULL; fl = fl->next) { + double value; + int status; +@@ -518,7 +513,7 @@ static int sensors_read(void) { + + sensors_submit(plugin_instance, type, type_instance, value); + } /* for fl = first_feature .. NULL */ +-#endif /* (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */ ++#endif /* (SENSORS_API_VERSION >= 0x400) */ + + return (0); + } /* int sensors_read */ +-- +2.14.1 + diff --git a/package/collectd/Config.in b/package/collectd/Config.in index c9e61a5622..3222547b68 100644 --- a/package/collectd/Config.in +++ b/package/collectd/Config.in @@ -383,6 +383,7 @@ config BR2_PACKAGE_COLLECTD_PING config BR2_PACKAGE_COLLECTD_POSTGRESQL bool "postgresql" + depends on BR2_USE_WCHAR # postgresql select BR2_PACKAGE_POSTGRESQL help Connects to and executes SQL statements on a PostgreSQL @@ -390,6 +391,9 @@ config BR2_PACKAGE_COLLECTD_POSTGRESQL configuration, the returned values are then converted into collectd “value listsâ€. +comment "postgresql support needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR + config BR2_PACKAGE_COLLECTD_PROCESSES bool "processes" help diff --git a/package/connman/S45connman b/package/connman/S45connman old mode 100755 new mode 100644 diff --git a/package/copas/0001-Do-not-load-coxpcall-for-LuaJIT.patch b/package/copas/0001-Do-not-load-coxpcall-for-LuaJIT.patch new file mode 100644 index 0000000000..9a7f38c619 --- /dev/null +++ b/package/copas/0001-Do-not-load-coxpcall-for-LuaJIT.patch @@ -0,0 +1,49 @@ +From 8d1b5a9b973a9891d676dabf31807eb825d7f262 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Perrad?= +Date: Wed, 6 Sep 2017 00:00:56 +0200 +Subject: [PATCH] Do not load coxpcall for LuaJIT + +* coxpcall is only required with PUC Lua 5.1, but not with LuaJIT + +use the same logic as in copas.lua. +this fixes issue #63. + +Fetch from: https://github.com/keplerproject/copas/commit/8d1b5a9b973a9891d676dabf31807eb825d7f262 +Signed-off-by: Francois Perrad +--- + doc/us/index.html | 5 +++++ + src/copas/limit.lua | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/copas-2_0_2/doc/us/index.html b/doc/us/index.html +index 1d008c2..c4d85ef 100644 +--- a/copas-2_0_2/doc/us/index.html ++++ b/copas-2_0_2/doc/us/index.html +@@ -114,6 +114,11 @@ LuaSocket, Coxpcall (only +

      History

      + +
      ++
      Copas [unreleased]
      ++
        ++
      • Fixed: coxpcall dependency in limit.lua #63 (Francois Perrad)
      • ++
      ++ +
      Copas 2.0.2 [2017]
      +
        +
      • Added: copas.running flag
      • +diff --git a/copas-2_0_2/src/copas/limit.lua b/src/copas/limit.lua +index ea178be..f0dfe17 100644 +--- a/copas-2_0_2/src/copas/limit.lua ++++ b/copas-2_0_2/src/copas/limit.lua +@@ -10,7 +10,7 @@ local pack = table.pack or function(...) return {n=select('#',...),...} end + local unpack = function(t) return (table.unpack or unpack)(t, 1, t.n or #t) end + + local pcall = pcall +-if _VERSION=="Lua 5.1" then -- obsolete: only for Lua 5.1 compatibility ++if _VERSION=="Lua 5.1" and not jit then -- obsolete: only for Lua 5.1 compatibility + pcall = require("coxpcall").pcall + end + +-- +2.17.1 + diff --git a/package/copas/Config.in b/package/copas/Config.in index d7800b6ddc..2de1967102 100644 --- a/package/copas/Config.in +++ b/package/copas/Config.in @@ -1,12 +1,11 @@ config BR2_PACKAGE_COPAS bool "copas" - # Runtime dependency only - select BR2_PACKAGE_COXPCALL if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT - select BR2_PACKAGE_LUASOCKET + select BR2_PACKAGE_COXPCALL if BR2_PACKAGE_LUA_5_1 # runtime + select BR2_PACKAGE_LUASOCKET # runtime help Copas is a dispatcher based on coroutines that can be used for asynchronous networking. For example TCP or UDP based servers. But it also features timers and client support for http(s), ftp and smtp requests. - http://keplerproject.github.com/copas/ + http://www.keplerproject.org/copas/ diff --git a/package/copas/copas.hash b/package/copas/copas.hash index d894b86574..4e9e787842 100644 --- a/package/copas/copas.hash +++ b/package/copas/copas.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 efeded4f4633bc71551175b239199304640ef918ae8ea9dc9c5047359ae07107 copas-2.0.2-1.src.rock +sha256 3f59cccf38e9397f6fb34dcff983a24d336df982edb5b0cde549d0c32c28c9c0 copas-2_0_2/LICENSE diff --git a/package/copas/copas.mk b/package/copas/copas.mk index 988692c4a9..5b7ba9997a 100644 --- a/package/copas/copas.mk +++ b/package/copas/copas.mk @@ -7,6 +7,6 @@ COPAS_VERSION = 2.0.2-1 COPAS_SUBDIR = copas-2_0_2 COPAS_LICENSE = MIT -COPAS_LICENSE_FILES = $(COPAS_SUBDIR)/doc/us/license.html +COPAS_LICENSE_FILES = $(COPAS_SUBDIR)/LICENSE $(eval $(luarocks-package)) diff --git a/package/coreutils/coreutils.hash b/package/coreutils/coreutils.hash index 472cab55f5..d55e25a86f 100644 --- a/package/coreutils/coreutils.hash +++ b/package/coreutils/coreutils.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 8891d349ee87b9ff7870f52b6d9312a9db672d2439d289bc57084771ca21656b coreutils-8.27.tar.xz +sha256 e831b3a86091496cdba720411f9748de81507798f6130adeaef872d206e1b057 coreutils-8.30.tar.xz diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk index 7e7251ff73..3e8efbf047 100644 --- a/package/coreutils/coreutils.mk +++ b/package/coreutils/coreutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -COREUTILS_VERSION = 8.27 +COREUTILS_VERSION = 8.30 COREUTILS_SITE = $(BR2_GNU_MIRROR)/coreutils COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz COREUTILS_LICENSE = GPL-3.0+ diff --git a/package/coxpcall/coxpcall.hash b/package/coxpcall/coxpcall.hash index e037af9e80..953005e922 100644 --- a/package/coxpcall/coxpcall.hash +++ b/package/coxpcall/coxpcall.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 c1488ee08e5d25d59a11e19cb0322edae509202b246d0c93cb2de1676dbfdf2b coxpcall-1.16.0-1.src.rock +# computed by luarocks/buildroot +sha256 11feb07f08927c39b0b93e8c0bbaf15433f86155cba4820a31a09f4754ab3258 coxpcall-1.17.0-1.src.rock +sha256 11f0f03dda1a28eca658d5e3361c15fd4d048371364aacc5f6870d77a66866c8 coxpcall/doc/license.html diff --git a/package/coxpcall/coxpcall.mk b/package/coxpcall/coxpcall.mk index 3af81f2ceb..6633b925c4 100644 --- a/package/coxpcall/coxpcall.mk +++ b/package/coxpcall/coxpcall.mk @@ -4,7 +4,7 @@ # ################################################################################ -COXPCALL_VERSION = 1.16.0-1 +COXPCALL_VERSION = 1.17.0-1 COXPCALL_SUBDIR = coxpcall COXPCALL_LICENSE = MIT COXPCALL_LICENSE_FILES = $(COXPCALL_SUBDIR)/doc/license.html diff --git a/package/cppcms/cppcms.hash b/package/cppcms/cppcms.hash index 6bfc680ac0..86f86d94af 100644 --- a/package/cppcms/cppcms.hash +++ b/package/cppcms/cppcms.hash @@ -1,7 +1,8 @@ -# From http://sourceforge.net/projects/cppcms/files/cppcms/1.0.5/ -sha1 15f21897c14acfd4b0c74622e49d95857f2fe939 cppcms-1.0.5.tar.bz2 -md5 d668c201dd31fff8090380ebdc0bcc2b cppcms-1.0.5.tar.bz2 +# From http://sourceforge.net/projects/cppcms/files/cppcms/1.2.1/ +sha1 9cb25cc5d507d2f4235326ba3815eba252b4ac77 cppcms-1.2.1.tar.bz2 +md5 2bb259fefb86532e404207c71c094a0c cppcms-1.2.1.tar.bz2 # Locally computed: -sha256 84b685977bca97c3e997497f227bd5906adb80555066d811a7046b01c2f51865 cppcms-1.0.5.tar.bz2 -sha256 2ff22bab712c46dbadf9bae0f759bbc95d5d87614cacb7ebc3d5a50910603d6a COPYING.TXT -sha256 70fbf0194bee0f444c57ecd47e7d976a3e5a890e4421a21aab49f2d214267e69 THIRD_PARTY_SOFTWARE.TXT +sha256 10fec7710409c949a229b9019ea065e25ff5687103037551b6f05716bf6cac52 cppcms-1.2.1.tar.bz2 +sha256 fb7c15ddf590037d4cd18ebd61148a2304b9243369d238a64f599182377e32db COPYING.TXT +sha256 3e4012cc5950e05bedfdd2f00ceffe1ef71c46ac8c79f07e237ecb23c773f65f MIT.TXT +sha256 d6ce062e5cf4f7e3c536d7d2fee84c882c45245f1848ed3162401f2b29fa2b4b THIRD_PARTY_SOFTWARE.TXT diff --git a/package/cppcms/cppcms.mk b/package/cppcms/cppcms.mk index 5fb6375d80..b289617bbc 100644 --- a/package/cppcms/cppcms.mk +++ b/package/cppcms/cppcms.mk @@ -4,10 +4,10 @@ # ################################################################################ -CPPCMS_VERSION = 1.0.5 +CPPCMS_VERSION = 1.2.1 CPPCMS_SOURCE = cppcms-$(CPPCMS_VERSION).tar.bz2 -CPPCMS_LICENSE = LGPL-3.0, BSL-1.0 (boost), MIT (base64.cpp), Public Domain (json2.js), Zlib (md5) -CPPCMS_LICENSE_FILES = COPYING.TXT THIRD_PARTY_SOFTWARE.TXT +CPPCMS_LICENSE = MIT, BSL-1.0 (boost), Public Domain (json2.js), Zlib (md5) +CPPCMS_LICENSE_FILES = COPYING.TXT MIT.TXT THIRD_PARTY_SOFTWARE.TXT CPPCMS_SITE = http://downloads.sourceforge.net/project/cppcms/cppcms/$(CPPCMS_VERSION) CPPCMS_INSTALL_STAGING = YES CPPCMS_CXXFLAGS = $(TARGET_CXXFLAGS) diff --git a/package/cppzmq/0001-fix-install-without-static-libzmq.patch b/package/cppzmq/0001-fix-install-without-static-libzmq.patch new file mode 100644 index 0000000000..15936f3f8f --- /dev/null +++ b/package/cppzmq/0001-fix-install-without-static-libzmq.patch @@ -0,0 +1,47 @@ +From bffb0eda34195339f2af49f2879d9d0b9dee5c28 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 20 Sep 2018 19:37:26 +0200 +Subject: [PATCH] fix install without static libzmq + +If libzmq is only available as a shared library and not a static one +then cmake fails with: + +-- CMake libzmq package not found, trying again with pkg-config (normal install of zeromq) +-- Found PkgConfig: /home/fabrice/buildroot/output/host/bin/pkg-config (found version "0.28") +CMake Error at CMakeLists.txt:20 (message): + ZeroMQ was not found, neither as a CMake package nor via pkg-config + +This is due to the fact that ZeroMQ_FOUND is not set to ON even if +ZEROMQ_LIBRARY is TRUE: + +if(ZeroMQ_LIBRARY AND ZeroMQ_STATIC_LIBRARY) + set(ZeroMQ_FOUND ON) +endif() + +So change AND by OR as suggested in +https://github.com/zeromq/cppzmq/issues/266 + +Fix #266 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/zeromq/cppzmq/pull/267] +--- + libzmq-pkg-config/FindZeroMQ.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libzmq-pkg-config/FindZeroMQ.cmake b/libzmq-pkg-config/FindZeroMQ.cmake +index 89d8236..1b84c95 100644 +--- a/libzmq-pkg-config/FindZeroMQ.cmake ++++ b/libzmq-pkg-config/FindZeroMQ.cmake +@@ -8,7 +8,7 @@ find_library(ZeroMQ_LIBRARY NAMES libzmq.so libzmq.dylib libzmq.dll + find_library(ZeroMQ_STATIC_LIBRARY NAMES libzmq-static.a libzmq.a libzmq.dll.a + PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS}) + +-if(ZeroMQ_LIBRARY AND ZeroMQ_STATIC_LIBRARY) ++if(ZeroMQ_LIBRARY OR ZeroMQ_STATIC_LIBRARY) + set(ZeroMQ_FOUND ON) + endif() + +-- +2.17.1 + diff --git a/package/cppzmq/cppzmq.hash b/package/cppzmq/cppzmq.hash index 792fb17b2f..52308d1ea6 100644 --- a/package/cppzmq/cppzmq.hash +++ b/package/cppzmq/cppzmq.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 812b47f76c609e194b2607a186ff0d1b03b6a0c8ea13b20faa47570ddf38ef2c cppzmq-68a7b09cfce01c4c279fba2cf91686fcfc566848.tar.gz +sha256 27d1f56406ba94ee779e639203218820975cf68174f92fbeae0f645df0fcada4 cppzmq-v4.3.0.tar.gz +sha256 7e6db90e2e805c72b3daa77849d1cb5f1f92da0e69750c8a4aa1d86d70704748 LICENSE diff --git a/package/cppzmq/cppzmq.mk b/package/cppzmq/cppzmq.mk index 113b9a070e..d23366e1d3 100644 --- a/package/cppzmq/cppzmq.mk +++ b/package/cppzmq/cppzmq.mk @@ -4,15 +4,12 @@ # ################################################################################ -CPPZMQ_VERSION = 68a7b09cfce01c4c279fba2cf91686fcfc566848 +CPPZMQ_VERSION = v4.3.0 CPPZMQ_SITE = $(call github,zeromq,cppzmq,$(CPPZMQ_VERSION)) CPPZMQ_INSTALL_STAGING = YES -CPPZMQ_DEPENDENCIES = zeromq +CPPZMQ_DEPENDENCIES = host-pkgconf zeromq CPPZMQ_LICENSE = MIT CPPZMQ_LICENSE_FILES = LICENSE +CPPZMQ_CONF_OPTS = -DCPPZMQ_BUILD_TESTS=OFF -define CPPZMQ_INSTALL_STAGING_CMDS - $(INSTALL) -m 0644 -D $(@D)/zmq.hpp $(STAGING_DIR)/usr/include/zmq.hpp -endef - -$(eval $(generic-package)) +$(eval $(cmake-package)) diff --git a/package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch b/package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch index 99eb11cba7..fb46d58ed2 100644 --- a/package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch +++ b/package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch @@ -1,7 +1,7 @@ -From 797f2836c48f9ba2446629ae4b6867ca1a5ea512 Mon Sep 17 00:00:00 2001 +From 4c346aa9e816bddfedc8ac99809fd1ed91bfc8ee Mon Sep 17 00:00:00 2001 From: Taahir Ahmed Date: Wed, 30 Mar 2016 11:23:54 -0300 -Subject: [PATCH 1/2] crda: support python 3 in utils/key2pub.py +Subject: [PATCH] crda: support python 3 in utils/key2pub.py utils/key2pub.py can now be run under either python 2.7 or python 3.x. This required some minor syntactical changes as well as switching from @@ -18,16 +18,18 @@ fixed: [Gustavo: don't call /utils/key2pub.py since that doesn't compute] Signed-off-by: Gustavo Zacarias +[Rebased against crda-4.14] +Signed-off-by: Peter Seiderer --- Status: submitted upstream by author but not (yet) accepted URL: http://www.spinics.net/lists/linux-wireless/msg138936.html - +--- Makefile | 2 +- - utils/key2pub.py | 146 ++++++++++++++++++++++++++++--------------------------- + utils/key2pub.py | 146 ++++++++++++++++++++++++----------------------- 2 files changed, 75 insertions(+), 73 deletions(-) diff --git a/Makefile b/Makefile -index 1f25509..523a96e 100644 +index a3ead30..8da38d0 100644 --- a/Makefile +++ b/Makefile @@ -112,7 +112,7 @@ $(REG_BIN): @@ -40,7 +42,7 @@ index 1f25509..523a96e 100644 $(LIBREG): regdb.h reglib.h reglib.c $(NQ) ' CC ' $@ diff --git a/utils/key2pub.py b/utils/key2pub.py -index 3e84cd2..c76cbbb 100755 +index 9bb04cd..9f92ebd 100755 --- a/utils/key2pub.py +++ b/utils/key2pub.py @@ -1,126 +1,128 @@ @@ -223,7 +225,7 @@ index 3e84cd2..c76cbbb 100755 + .n = _n, .len_n = sizeof(_n), \\ } - static const struct key_params keys[] = { + static const struct key_params __attribute__ ((unused)) keys[] = { ''') - for n in xrange(n + 1): - output.write(' KEYS(e_%d, n_%d),\n' % (n, n)) @@ -267,5 +269,5 @@ index 3e84cd2..c76cbbb 100755 modes[mode][1](output, idx - 1) -- -2.7.3 +2.18.0 diff --git a/package/crda/crda.hash b/package/crda/crda.hash index 45b9d20407..edec55a019 100644 --- a/package/crda/crda.hash +++ b/package/crda/crda.hash @@ -1,2 +1,2 @@ -# From https://www.kernel.org/pub/software/network/crda/sha256sums.asc -sha256 43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf crda-3.18.tar.xz +# Locally computed +sha256 5a8f35bb8b27474f466b0e75d451ba917433d8aab1889678a64d9c4e72a8b8c2 crda-4.14.tar.gz diff --git a/package/crda/crda.mk b/package/crda/crda.mk index df879f68bb..eb43a7d772 100644 --- a/package/crda/crda.mk +++ b/package/crda/crda.mk @@ -4,9 +4,8 @@ # ################################################################################ -CRDA_VERSION = 3.18 -CRDA_SOURCE = crda-$(CRDA_VERSION).tar.xz -CRDA_SITE = $(BR2_KERNEL_MIRROR)/software/network/crda +CRDA_VERSION = 4.14 +CRDA_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git/snapshot CRDA_DEPENDENCIES = host-pkgconf host-python-pycrypto libnl libgcrypt CRDA_LICENSE = ISC CRDA_LICENSE_FILES = LICENSE diff --git a/package/cryptopp/0001-config.h-avx2-depends-on-gcc-4.9.patch b/package/cryptopp/0001-config.h-avx2-depends-on-gcc-4.9.patch new file mode 100644 index 0000000000..7f93bceacf --- /dev/null +++ b/package/cryptopp/0001-config.h-avx2-depends-on-gcc-4.9.patch @@ -0,0 +1,40 @@ +From c484938fb4a57430a2e47334f753b1d771aa0f1b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 21 Feb 2019 20:26:24 +0100 +Subject: [PATCH] config.h: avx2 depends on gcc 4.9 + +Build of cryptopp on x86 with gcc 4.8 fails on: +chacha_avx.cpp: In function 'void CryptoPP::ChaCha_OperateKeystream_AVX2(const word32*, const byte*, CryptoPP::byte*, unsigned int)': +chacha_avx.cpp:98:85: error: '_mm256_broadcastsi128_si256' was not declared in this scope + +This is due to the fact that _mm256_broadcastsi128_si256 has been added +only in gcc 4.9: +https://github.com/gcc-mirror/gcc/commit/78e8d5ffbf0ba5031b736d2c6fc6a44605047cbc + +So bump CRYPTOPP_GCC_VERSION from 4.7 to 4.9 for AVX2 support + +Fixes: + - http://autobuild.buildroot.org/results/195e40b34344f773da51a3fbff9d8e76c517eed1 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/weidai11/cryptopp/pull/809] +--- + config.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config.h b/config.h +index eccba009..4516d2b3 100644 +--- a/config.h ++++ b/config.h +@@ -591,7 +591,7 @@ NAMESPACE_END + // Requires Binutils 2.24 + #if !defined(CRYPTOPP_DISABLE_AVX2) && defined(CRYPTOPP_AVX_AVAILABLE) && \ + (defined(__AVX2__) || (CRYPTOPP_MSC_VERSION >= 1800) || (__SUNPRO_CC >= 0x5130) || \ +- (CRYPTOPP_GCC_VERSION >= 40700) || (__INTEL_COMPILER >= 1400) || \ ++ (CRYPTOPP_GCC_VERSION >= 40900) || (__INTEL_COMPILER >= 1400) || \ + (CRYPTOPP_LLVM_CLANG_VERSION >= 30100) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40600)) + #define CRYPTOPP_AVX2_AVAILABLE 1 + #endif +-- +2.14.1 + diff --git a/package/cryptopp/cryptopp.hash b/package/cryptopp/cryptopp.hash index 389f05f654..8d12a98dab 100644 --- a/package/cryptopp/cryptopp.hash +++ b/package/cryptopp/cryptopp.hash @@ -1,5 +1,5 @@ -# Hash from: https://www.cryptopp.com/release700.html: -sha256 a4bc939910edd3d29fb819a6fc0dfdc293f686fa62326f61c56d72d0a366ceb0 cryptopp700.zip +# Hash from: https://www.cryptopp.com/release800.html: +sha256 bbfd89b348846b920d97a1d32b88c85caf0d7bb423d4fcfab7c44349aaceb82c cryptopp800.zip # Hash for license file: sha256 fe5f5f187e6e38ac2f833956fc5c4cab2df08797cff07f540e4ee74f12f7ee5b License.txt diff --git a/package/cryptopp/cryptopp.mk b/package/cryptopp/cryptopp.mk index 08b18f2fbc..8e3277a941 100644 --- a/package/cryptopp/cryptopp.mk +++ b/package/cryptopp/cryptopp.mk @@ -4,9 +4,9 @@ # ################################################################################ -CRYPTOPP_VERSION = 7.0.0 +CRYPTOPP_VERSION = 8.0.0 CRYPTOPP_SOURCE = cryptopp$(subst .,,$(CRYPTOPP_VERSION)).zip -CRYPTOPP_SITE = http://cryptopp.com/ +CRYPTOPP_SITE = https://cryptopp.com CRYPTOPP_LICENSE = BSL-1.0 CRYPTOPP_LICENSE_FILES = License.txt CRYPTOPP_INSTALL_STAGING = YES diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in index 7322a4baf6..14b897a8a8 100644 --- a/package/cryptsetup/Config.in +++ b/package/cryptsetup/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_CRYPTSETUP select BR2_PACKAGE_LVM2 select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_JSON_C help This tool helps manipulate dm-crypt and luks partitions for diff --git a/package/cryptsetup/cryptsetup.hash b/package/cryptsetup/cryptsetup.hash index 1573d53080..748ea0eafb 100644 --- a/package/cryptsetup/cryptsetup.hash +++ b/package/cryptsetup/cryptsetup.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/cryptsetup/v2.0/sha256sums.asc -sha256 4d6cca04c1f5ff4a68d045d190efb2623087eda0274ded92f92a4b6911e501d4 cryptsetup-2.0.3.tar.xz +sha256 7c51fae0f0e7ea9af0f515b2ac77009fb2969a6619ebab47d097dca38b083d30 cryptsetup-2.0.6.tar.xz sha256 45670cce8b6a0ddd66c8016cd8ccef6cd71f35717cbacc7f1e895b3855207b33 COPYING sha256 8c33cc37871654ec7ed87e6fbb896c8cf33ef5ef05b1611a5aed857596ffafa5 COPYING.LGPL diff --git a/package/cryptsetup/cryptsetup.mk b/package/cryptsetup/cryptsetup.mk index d81aa7b341..7788bfb60b 100644 --- a/package/cryptsetup/cryptsetup.mk +++ b/package/cryptsetup/cryptsetup.mk @@ -5,7 +5,7 @@ ################################################################################ CRYPTSETUP_VERSION_MAJOR = 2.0 -CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).3 +CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).6 CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR) CRYPTSETUP_DEPENDENCIES = lvm2 popt util-linux host-pkgconf json-c \ @@ -14,6 +14,7 @@ CRYPTSETUP_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library) CRYPTSETUP_LICENSE_FILES = COPYING COPYING.LGPL CRYPTSETUP_INSTALL_STAGING = YES CRYPTSETUP_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)" +CRYPTSETUP_CONF_OPTS += --enable-blkid # cryptsetup uses libgcrypt by default, but can be configured to use OpenSSL # or kernel crypto modules instead @@ -37,7 +38,8 @@ HOST_CRYPTSETUP_DEPENDENCIES = \ host-openssl HOST_CRYPTSETUP_CONF_OPTS = --with-crypto_backend=openssl \ - --disable-kernel_crypto + --disable-kernel_crypto \ + --enable-blkid $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/cunit/Config.in b/package/cunit/Config.in new file mode 100644 index 0000000000..8bcfa2a4ec --- /dev/null +++ b/package/cunit/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_CUNIT + bool "cunit" + help + An automated testing framework in 'C'. + + http://cunit.sourceforge.net/ diff --git a/package/cunit/cunit.hash b/package/cunit/cunit.hash new file mode 100644 index 0000000000..bbd43a78ca --- /dev/null +++ b/package/cunit/cunit.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214 CUnit-2.1-3.tar.bz2 +sha256 5d9d73d41a57dd2f34487ef3978a2c13cdb97294baeeb81fcd274796399eb15f COPYING diff --git a/package/cunit/cunit.mk b/package/cunit/cunit.mk new file mode 100644 index 0000000000..9fc3b96141 --- /dev/null +++ b/package/cunit/cunit.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# cunit +# +################################################################################ + +CUNIT_VERSION = 2.1-3 +CUNIT_SITE = http://downloads.sourceforge.net/project/cunit/CUnit/$(CUNIT_VERSION) +CUNIT_SOURCE = CUnit-$(CUNIT_VERSION).tar.bz2 +CUNIT_INSTALL_STAGING = YES +CUNIT_LICENSE = LGPL-2.0+ +CUNIT_LICENSE_FILES = COPYING + +# The source archive does not have the autoconf/automake material generated. +CUNIT_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/package/cups-filters/0002-Poppler-removed-memCheck-and-gMemReport-functions.patch b/package/cups-filters/0002-Poppler-removed-memCheck-and-gMemReport-functions.patch new file mode 100644 index 0000000000..3eb2d35c3e --- /dev/null +++ b/package/cups-filters/0002-Poppler-removed-memCheck-and-gMemReport-functions.patch @@ -0,0 +1,79 @@ +From 6b0747c1630dd973acd138f927dbded4ea45e360 Mon Sep 17 00:00:00 2001 +From: Olivier Schonken +Date: Fri, 5 Oct 2018 12:05:31 +0200 +Subject: [PATCH] Poppler removed memCheck and gMemReport functions + +Only use gMemReport and memCheck functions if poppler version less +than 0.69.0 + +The poppler project removed the memCheck and gMemReport functions in +commits c362ab1b97f20c5b73b3bad8d52015f679178748 - Remove DEBUG_MEM +from Object since this uses RAII now and hence cannot leak. +(The existing tracking also is not thread-safe and hence unreliable.) + +and + +f89446f6917a869b0f1a80fcc8ce81a7213dade4 - Remove generic heap debugging +from gmem since external tools and compiler instrumentation achieve the +same effect. + +This commit solves https://github.com/OpenPrinting/cups-filters/issues/62 + +Signed-off-by: Olivier Schonken +--- + filter/pdftoijs.cxx | 2 ++ + filter/pdftoopvp/pdftoopvp.cxx | 2 ++ + filter/pdftoraster.cxx | 2 ++ + 3 files changed, 6 insertions(+) + +diff --git a/filter/pdftoijs.cxx b/filter/pdftoijs.cxx +index 22bc33f4..dd6b6fa0 100644 +--- a/filter/pdftoijs.cxx ++++ b/filter/pdftoijs.cxx +@@ -503,9 +503,11 @@ err1: + ppdClose(ppd); + free(outputfile); + ++#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 69 + // Check for memory leaks + Object::memCheck(stderr); + gMemReport(stderr); ++#endif + + return exitCode; + } +diff --git a/filter/pdftoopvp/pdftoopvp.cxx b/filter/pdftoopvp/pdftoopvp.cxx +index 024941ab..bf25983b 100644 +--- a/filter/pdftoopvp/pdftoopvp.cxx ++++ b/filter/pdftoopvp/pdftoopvp.cxx +@@ -763,9 +763,11 @@ err2: + err0: + delete globalParams; + ++#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 69 + // check for memory leaks + Object::memCheck(stderr); + gMemReport(stderr); ++#endif + + } + /* muntrace(); */ +diff --git a/filter/pdftoraster.cxx b/filter/pdftoraster.cxx +index 0c63ab8d..4ebf02b0 100644 +--- a/filter/pdftoraster.cxx ++++ b/filter/pdftoraster.cxx +@@ -2162,9 +2162,11 @@ err1: + cmsDeleteTransform(colorTransform); + } + ++#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 69 + // Check for memory leaks + Object::memCheck(stderr); + gMemReport(stderr); ++#endif + + return exitCode; + } +-- +2.17.1 + diff --git a/package/cups-filters/cups-filters.hash b/package/cups-filters/cups-filters.hash index 7bb00818df..e426ad8b86 100644 --- a/package/cups-filters/cups-filters.hash +++ b/package/cups-filters/cups-filters.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 aad95e35033154f54639923b439e0657fc9f616b9eac7490df89514362551f98 cups-filters-1.20.3.tar.gz -sha256 24cc91478ca68d6d982dfd86181210ad5f0931ec431bdb740793e3d6555fdcd8 COPYING +sha256 981b280bc5275a21c6f436aff6207e03cab36dc304c119bbac507db940e7421c cups-filters-1.21.3.tar.gz +sha256 8e697cf4681ebbca716bf8cc30dde51c264e32ceee41fa63ceb5213334204b83 COPYING diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk index 3c5e13da89..81d9195652 100644 --- a/package/cups-filters/cups-filters.mk +++ b/package/cups-filters/cups-filters.mk @@ -4,12 +4,13 @@ # ################################################################################ -CUPS_FILTERS_VERSION = 1.20.3 +CUPS_FILTERS_VERSION = 1.21.3 CUPS_FILTERS_SITE = http://openprinting.org/download/cups-filters CUPS_FILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+, MIT, BSD-4-Clause CUPS_FILTERS_LICENSE_FILES = COPYING # 0001-Replace-relative-linking-with-absolute-linking.patch CUPS_FILTERS_AUTORECONF = YES + CUPS_FILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg CUPS_FILTERS_CONF_OPTS = --disable-imagefilters \ diff --git a/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch b/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch deleted file mode 100644 index ff242f8276..0000000000 --- a/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch +++ /dev/null @@ -1,189 +0,0 @@ -From 570933a6a3597371bae1beeb754ee8711d6305ab Mon Sep 17 00:00:00 2001 -From: Michael R Sweet -Date: Mon, 2 Apr 2018 20:05:13 -0400 -Subject: [PATCH] Fix builds without PAM (Issue #5283) - -[baruch: drop CHANGES.md hunk] -Signed-off-by: Baruch Siach ---- -Upstream status: commit 570933a6a3 - - CHANGES.md | 8 ++- - scheduler/auth.c | 134 ++--------------------------------------------- - 2 files changed, 11 insertions(+), 131 deletions(-) - -diff --git a/scheduler/auth.c b/scheduler/auth.c -index 8b134b5d7257..fa4e2715de34 100644 ---- a/scheduler/auth.c -+++ b/scheduler/auth.c -@@ -1,8 +1,8 @@ - /* - * Authorization routines for the CUPS scheduler. - * -- * Copyright 2007-2016 by Apple Inc. -- * Copyright 1997-2007 by Easy Software Products, all rights reserved. -+ * Copyright © 2007-2018 by Apple Inc. -+ * Copyright © 1997-2007 by Easy Software Products, all rights reserved. - * - * This file contains Kerberos support code, copyright 2006 by - * Jelmer Vernooij. -@@ -71,9 +71,6 @@ static int check_authref(cupsd_client_t *con, const char *right); - static int compare_locations(cupsd_location_t *a, - cupsd_location_t *b); - static cupsd_authmask_t *copy_authmask(cupsd_authmask_t *am, void *data); --#if !HAVE_LIBPAM --static char *cups_crypt(const char *pw, const char *salt); --#endif /* !HAVE_LIBPAM */ - static void free_authmask(cupsd_authmask_t *am, void *data); - #if HAVE_LIBPAM - static int pam_func(int, const struct pam_message **, -@@ -694,14 +691,14 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */ - * client... - */ - -- pass = cups_crypt(password, pw->pw_passwd); -+ pass = crypt(password, pw->pw_passwd); - - if (!pass || strcmp(pw->pw_passwd, pass)) - { - # ifdef HAVE_SHADOW_H - if (spw) - { -- pass = cups_crypt(password, spw->sp_pwdp); -+ pass = crypt(password, spw->sp_pwdp); - - if (pass == NULL || strcmp(spw->sp_pwdp, pass)) - { -@@ -1995,129 +1992,6 @@ copy_authmask(cupsd_authmask_t *mask, /* I - Existing auth mask */ - } - - --#if !HAVE_LIBPAM --/* -- * 'cups_crypt()' - Encrypt the password using the DES or MD5 algorithms, -- * as needed. -- */ -- --static char * /* O - Encrypted password */ --cups_crypt(const char *pw, /* I - Password string */ -- const char *salt) /* I - Salt (key) string */ --{ -- if (!strncmp(salt, "$1$", 3)) -- { -- /* -- * Use MD5 passwords without the benefit of PAM; this is for -- * Slackware Linux, and the algorithm was taken from the -- * old shadow-19990827/lib/md5crypt.c source code... :( -- */ -- -- int i; /* Looping var */ -- unsigned long n; /* Output number */ -- int pwlen; /* Length of password string */ -- const char *salt_end; /* End of "salt" data for MD5 */ -- char *ptr; /* Pointer into result string */ -- _cups_md5_state_t state; /* Primary MD5 state info */ -- _cups_md5_state_t state2; /* Secondary MD5 state info */ -- unsigned char digest[16]; /* MD5 digest result */ -- static char result[120]; /* Final password string */ -- -- -- /* -- * Get the salt data between dollar signs, e.g. $1$saltdata$md5. -- * Get a maximum of 8 characters of salt data after $1$... -- */ -- -- for (salt_end = salt + 3; *salt_end && (salt_end - salt) < 11; salt_end ++) -- if (*salt_end == '$') -- break; -- -- /* -- * Compute the MD5 sum we need... -- */ -- -- pwlen = strlen(pw); -- -- _cupsMD5Init(&state); -- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); -- _cupsMD5Append(&state, (unsigned char *)salt, salt_end - salt); -- -- _cupsMD5Init(&state2); -- _cupsMD5Append(&state2, (unsigned char *)pw, pwlen); -- _cupsMD5Append(&state2, (unsigned char *)salt + 3, salt_end - salt - 3); -- _cupsMD5Append(&state2, (unsigned char *)pw, pwlen); -- _cupsMD5Finish(&state2, digest); -- -- for (i = pwlen; i > 0; i -= 16) -- _cupsMD5Append(&state, digest, i > 16 ? 16 : i); -- -- for (i = pwlen; i > 0; i >>= 1) -- _cupsMD5Append(&state, (unsigned char *)((i & 1) ? "" : pw), 1); -- -- _cupsMD5Finish(&state, digest); -- -- for (i = 0; i < 1000; i ++) -- { -- _cupsMD5Init(&state); -- -- if (i & 1) -- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); -- else -- _cupsMD5Append(&state, digest, 16); -- -- if (i % 3) -- _cupsMD5Append(&state, (unsigned char *)salt + 3, salt_end - salt - 3); -- -- if (i % 7) -- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); -- -- if (i & 1) -- _cupsMD5Append(&state, digest, 16); -- else -- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); -- -- _cupsMD5Finish(&state, digest); -- } -- -- /* -- * Copy the final sum to the result string and return... -- */ -- -- memcpy(result, salt, (size_t)(salt_end - salt)); -- ptr = result + (salt_end - salt); -- *ptr++ = '$'; -- -- for (i = 0; i < 5; i ++, ptr += 4) -- { -- n = ((((unsigned)digest[i] << 8) | (unsigned)digest[i + 6]) << 8); -- -- if (i < 4) -- n |= (unsigned)digest[i + 12]; -- else -- n |= (unsigned)digest[5]; -- -- to64(ptr, n, 4); -- } -- -- to64(ptr, (unsigned)digest[11], 2); -- ptr += 2; -- *ptr = '\0'; -- -- return (result); -- } -- else -- { -- /* -- * Use the standard crypt() function... -- */ -- -- return (crypt(pw, salt)); -- } --} --#endif /* !HAVE_LIBPAM */ -- -- - /* - * 'free_authmask()' - Free function for auth masks. - */ --- -2.17.0 - diff --git a/package/cups/cups.hash b/package/cups/cups.hash index a19b3b09a6..3d238d61e6 100644 --- a/package/cups/cups.hash +++ b/package/cups/cups.hash @@ -1,3 +1,3 @@ # Locally calculated: -sha256 3c4b637b737077565ccdfbd5f61785d03f49461ae736fcc2c0ffaf41d2c6ea6a cups-2.2.7-source.tar.gz +sha256 77c8b2b3bb7fe8b5fbfffc307f2c817b2d7ec67b657f261a1dd1c61ab81205bb cups-2.2.10-source.tar.gz sha256 6e0e0ffbde118aae709f7ef65590de9071e8b2cd322f84fd645c6b64f3cc452c LICENSE.txt diff --git a/package/cups/cups.mk b/package/cups/cups.mk index 8f33824879..b91fe7ac4c 100644 --- a/package/cups/cups.mk +++ b/package/cups/cups.mk @@ -4,7 +4,7 @@ # ################################################################################ -CUPS_VERSION = 2.2.7 +CUPS_VERSION = 2.2.10 CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz CUPS_SITE = https://github.com/apple/cups/releases/download/v$(CUPS_VERSION) CUPS_LICENSE = GPL-2.0, LGPL-2.0 diff --git a/package/cutelyst/Config.in b/package/cutelyst/Config.in index 3e28cff95d..8eff938d51 100644 --- a/package/cutelyst/Config.in +++ b/package/cutelyst/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_CUTELYST depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 - select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_QT5BASE_GUI help A C++ Web Framework built on top of Qt, using diff --git a/package/cutelyst/cutelyst.hash b/package/cutelyst/cutelyst.hash index edc83f3886..87506ab90c 100644 --- a/package/cutelyst/cutelyst.hash +++ b/package/cutelyst/cutelyst.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 d088e6dbbb9a1ef03b4481d44746a2b086724842f5ee85abe8095e2eb6fe0da4 cutelyst-2.5.2.tar.gz +sha256 f87c2f04b148a50f5df13aa5d75b45bf20e56be2e2cd6e17c2aef5231db4b467 cutelyst-2.7.0.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/cutelyst/cutelyst.mk b/package/cutelyst/cutelyst.mk index 8e117e3286..42a317e765 100644 --- a/package/cutelyst/cutelyst.mk +++ b/package/cutelyst/cutelyst.mk @@ -4,7 +4,7 @@ # ################################################################################ -CUTELYST_VERSION = 2.5.2 +CUTELYST_VERSION = 2.7.0 CUTELYST_SITE = https://github.com/cutelyst/cutelyst/archive/v$(CUTELYST_VERSION) CUTELYST_INSTALL_STAGING = YES CUTELYST_SUPPORTS_IN_SOURCE_BUILD = NO diff --git a/package/dado/dado.hash b/package/dado/dado.hash index 973bdb3ff8..a57f52b888 100644 --- a/package/dado/dado.hash +++ b/package/dado/dado.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 5a10ed7ff7be34ac004d10d6ea62ee8efc2b594c50ffc93e840e7fb7a2e6b4d0 dado-1.8.3-1.src.rock +sha256 141953aa7714e3145a6adfd71d6acbbe377e07ab920bc8ec4039394774da8a6e dado-1.8.3/doc/license.html diff --git a/package/dante/dante.mk b/package/dante/dante.mk index 687567e100..0bd036d37e 100644 --- a/package/dante/dante.mk +++ b/package/dante/dante.mk @@ -9,10 +9,17 @@ DANTE_SITE = http://www.inet.no/dante/files DANTE_LICENSE = BSD-3-Clause DANTE_LICENSE_FILES = LICENSE -# Dante uses a *VERY* old configure.ac -DANTE_LIBTOOL_PATCH = NO +# 0002-compiler.m4-do-not-remove-g-flag.patch touches a m4 file +DANTE_AUTORECONF = YES -DANTE_CONF_OPTS += --disable-client --disable-preload +DANTE_CONF_OPTS += --disable-client --disable-preload --without-pam + +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +DANTE_DEPENDENCIES += linux-pam +DANTE_CONF_OPTS += --with-pam +else +DANTE_CONF_OPTS += --without-pam +endif define DANTE_INSTALL_CONFIG_FILE $(INSTALL) -D -m 644 $(@D)/example/sockd.conf \ diff --git a/package/darkhttpd/S50darkhttpd b/package/darkhttpd/S50darkhttpd old mode 100755 new mode 100644 diff --git a/package/dash/dash.mk b/package/dash/dash.mk index f699f40686..3014aafe92 100644 --- a/package/dash/dash.mk +++ b/package/dash/dash.mk @@ -28,7 +28,7 @@ DASH_CONF_OPTS += --without-libedit endif define DASH_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 $(@D)/src/dash $(TARGET_DIR)/bin/dash + $(INSTALL) -m 0755 -D $(@D)/src/dash $(TARGET_DIR)/bin/dash endef # Add /bin/dash to /etc/shells otherwise some login tools like dropbear diff --git a/package/davfs2/0002-fix-iconv.patch b/package/davfs2/0002-fix-iconv.patch new file mode 100644 index 0000000000..f2bae8f8e9 --- /dev/null +++ b/package/davfs2/0002-fix-iconv.patch @@ -0,0 +1,48 @@ +webdav.c: fix iconv calls + +Replace HAVE_ICONV_H by HAVE_ICONV to fix build with iconv indeed +HAVE_ICONV_H is never set as AC_CHECK_HEADERS is not called to check for +iconv.h + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://savannah.nongnu.org/bugs/index.php?56178] + +diff -Naurp davfs2-1.5.4-orig/src/webdav.c davfs2-1.5.4/src/webdav.c +--- davfs2-1.5.4-orig/src/webdav.c 2019-04-20 12:12:38.252599230 +0200 ++++ davfs2-1.5.4/src/webdav.c 2019-04-20 12:13:33.012925300 +0200 +@@ -25,7 +25,7 @@ + #ifdef HAVE_FCNTL_H + #include + #endif +-#ifdef HAVE_ICONV_H ++#ifdef HAVE_ICONV + #include + #endif + #ifdef HAVE_LANGINFO_H +@@ -231,7 +231,7 @@ static int initialized; + Needed by ssl_verify() which may be called at any time. */ + static int have_terminal; + +-#ifdef HAVE_ICONV_H ++#ifdef HAVE_ICONV + /* Handle to convert character encoding from utf-8 to LC_CTYPE. + If NULL no conversion is done. */ + static iconv_t from_utf_8; +@@ -264,7 +264,7 @@ static char **cookie_list; + /* Private function prototypes and inline functions */ + /*==================================================*/ + +-#ifdef HAVE_ICONV_H ++#ifdef HAVE_ICONV + static void + convert(char **s, iconv_t conv); + #endif +@@ -337,7 +337,7 @@ dav_init_webdav(const dav_args *args) + if (args->neon_debug & ~NE_DBG_HTTPPLAIN) + syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Initializing webdav"); + +-#ifdef HAVE_ICONV_H ++#ifdef HAVE_ICONV + char *lc_charset = nl_langinfo(CODESET); + if (lc_charset && strcasecmp(lc_charset, "UTF-8") != 0) { + from_utf_8 = iconv_open(lc_charset, "UTF-8"); diff --git a/package/davfs2/davfs2.mk b/package/davfs2/davfs2.mk index c1f8477f8b..f2b2fdbe41 100644 --- a/package/davfs2/davfs2.mk +++ b/package/davfs2/davfs2.mk @@ -9,9 +9,13 @@ DAVFS2_SITE = http://download.savannah.nongnu.org/releases/davfs2 DAVFS2_LICENSE = GPL-3.0+ DAVFS2_LICENSE_FILES = COPYING -DAVFS2_DEPENDENCIES = neon +DAVFS2_DEPENDENCIES = \ + neon \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ + $(TARGET_NLS_DEPENDENCIES) DAVFS2_CONF_ENV += \ - ac_cv_path_NEON_CONFIG=$(STAGING_DIR)/usr/bin/neon-config + ac_cv_path_NEON_CONFIG=$(STAGING_DIR)/usr/bin/neon-config \ + LIBS=$(TARGET_NLS_LIBS) $(eval $(autotools-package)) diff --git a/package/davici/Config.in b/package/davici/Config.in new file mode 100644 index 0000000000..9dfa0ec130 --- /dev/null +++ b/package/davici/Config.in @@ -0,0 +1,18 @@ +comment "davici needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + +config BR2_PACKAGE_DAVICI + bool "davici" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_STRONGSWAN + help + davici is an alternative implementation of the VICI + client protocol, targeting better integration in other + software stacks. + + https://github.com/strongswan/davici diff --git a/package/davici/davici.hash b/package/davici/davici.hash new file mode 100644 index 0000000000..257e902ce7 --- /dev/null +++ b/package/davici/davici.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d3e5e806ecca841d7e133a3df768062df59f4b4c76bf98e0f90aa8064721b3bd davici-v1.3.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/davici/davici.mk b/package/davici/davici.mk new file mode 100644 index 0000000000..5c4b9774ea --- /dev/null +++ b/package/davici/davici.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# davici +# +################################################################################ + +DAVICI_VERSION = v1.3 +DAVICI_SITE = $(call github,strongswan,davici,$(DAVICI_VERSION)) +DAVICI_LICENSE = LGPL-2.1+ +DAVICI_LICENSE_FILES = COPYING +DAVICI_DEPENDENCIES = strongswan +DAVICI_INSTALL_STAGING = YES +DAVICI_AUTORECONF = YES + +define DAVICI_CREATE_M4 + mkdir -p $(@D)/m4 +endef +DAVICI_POST_PATCH_HOOKS += DAVICI_CREATE_M4 + +$(eval $(autotools-package)) diff --git a/package/dbus-python/dbus-python.hash b/package/dbus-python/dbus-python.hash index 080aada081..991bb42787 100644 --- a/package/dbus-python/dbus-python.hash +++ b/package/dbus-python/dbus-python.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 e2f1d6871f74fba23652e51d10873e54f71adab0525833c19bad9e99b1b2f9cc dbus-python-1.2.4.tar.gz +sha256 abf12bbb765e300bf8e2a1b2f32f85949eab06998dbda127952c31cb63957b6f dbus-python-1.2.8.tar.gz diff --git a/package/dbus-python/dbus-python.mk b/package/dbus-python/dbus-python.mk index da04b7404f..d6af7454af 100644 --- a/package/dbus-python/dbus-python.mk +++ b/package/dbus-python/dbus-python.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_PYTHON_VERSION = 1.2.4 +DBUS_PYTHON_VERSION = 1.2.8 DBUS_PYTHON_SITE = http://dbus.freedesktop.org/releases/dbus-python DBUS_PYTHON_INSTALL_STAGING = YES DBUS_PYTHON_LICENSE = MIT diff --git a/package/dc3dd/0003-fix-for-glibc-2.28.patch b/package/dc3dd/0003-fix-for-glibc-2.28.patch new file mode 100644 index 0000000000..79e52b1e6d --- /dev/null +++ b/package/dc3dd/0003-fix-for-glibc-2.28.patch @@ -0,0 +1,87 @@ +Fix build with glibc 2.28 + +glibc 2.28 hides a number of internal macros that used to be visible. gnulib +relied on these macros. Add a patch based on upstream gnulib commit +4af4a4a71827c0 (fflush: adjust to glibc 2.28 libio.h removal) to fix the +build. + +Signed-off-by: Baruch Siach +--- +Upstream status: gnulib commit 4af4a4a7182 + +diff -Nuar dc3dd-7.2.641.orig/lib/freadahead.c dc3dd-7.2.641/lib/freadahead.c +--- dc3dd-7.2.641.orig/lib/freadahead.c 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/freadahead.c 2018-10-26 08:46:36.612492230 +0300 +@@ -24,7 +24,7 @@ + size_t + freadahead (FILE *fp) + { +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return 0; + return (fp->_IO_read_end - fp->_IO_read_ptr) +diff -Nuar dc3dd-7.2.641.orig/lib/freadptr.c dc3dd-7.2.641/lib/freadptr.c +--- dc3dd-7.2.641.orig/lib/freadptr.c 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/freadptr.c 2018-10-26 08:36:53.965310494 +0300 +@@ -29,7 +29,7 @@ + size_t size; + + /* Keep this code in sync with freadahead! */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return NULL; + size = fp->_IO_read_end - fp->_IO_read_ptr; +diff -Nuar dc3dd-7.2.641.orig/lib/freadseek.c dc3dd-7.2.641/lib/freadseek.c +--- dc3dd-7.2.641.orig/lib/freadseek.c 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/freadseek.c 2018-10-26 08:49:35.387912087 +0300 +@@ -34,7 +34,7 @@ + freadptrinc (FILE *fp, size_t increment) + { + /* Keep this code in sync with freadptr! */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + fp->_IO_read_ptr += increment; + #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ + fp_->_p += increment; +diff -Nuar dc3dd-7.2.641.orig/lib/fseeko.c dc3dd-7.2.641/lib/fseeko.c +--- dc3dd-7.2.641.orig/lib/fseeko.c 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/fseeko.c 2018-10-26 08:51:02.841583936 +0300 +@@ -44,7 +44,7 @@ + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +diff -Nuar dc3dd-7.2.641.orig/lib/fseterr.c dc3dd-7.2.641/lib/fseterr.c +--- dc3dd-7.2.641.orig/lib/fseterr.c 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/fseterr.c 2018-10-26 08:47:51.209919605 +0300 +@@ -29,7 +29,7 @@ + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + fp->_flags |= _IO_ERR_SEEN; + #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ + fp_->_flags |= __SERR; +diff -Nuar dc3dd-7.2.641.orig/lib/stdio-impl.h dc3dd-7.2.641/lib/stdio-impl.h +--- dc3dd-7.2.641.orig/lib/stdio-impl.h 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/stdio-impl.h 2018-10-26 08:46:26.136291709 +0300 +@@ -18,6 +18,12 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ + diff --git a/package/devmem2/Config.in b/package/devmem2/Config.in index 64d6400bd8..1ccb0553b4 100644 --- a/package/devmem2/Config.in +++ b/package/devmem2/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_DEVMEM2 help Simple program to read/write from/to any location in memory. - http://free-electrons.com/pub/mirror/devmem2.c + http://bootlin.com/pub/mirror/devmem2.c diff --git a/package/devmem2/devmem2.mk b/package/devmem2/devmem2.mk index 044e6fa596..e1bbee3b78 100644 --- a/package/devmem2/devmem2.mk +++ b/package/devmem2/devmem2.mk @@ -4,7 +4,7 @@ # ################################################################################ -DEVMEM2_SITE = http://free-electrons.com/pub/mirror +DEVMEM2_SITE = http://bootlin.com/pub/mirror DEVMEM2_SOURCE = devmem2.c DEVMEM2_VERSION = 1 DEVMEM2_LICENSE = GPL-2.0+ diff --git a/package/dhcp/S80dhcp-relay b/package/dhcp/S80dhcp-relay old mode 100755 new mode 100644 diff --git a/package/dhcp/S80dhcp-server b/package/dhcp/S80dhcp-server old mode 100755 new mode 100644 diff --git a/package/dhcpcd/S41dhcpcd b/package/dhcpcd/S41dhcpcd old mode 100755 new mode 100644 diff --git a/package/dhcpcd/dhcpcd.mk b/package/dhcpcd/dhcpcd.mk index 92a78cd7ad..ae16c340d6 100644 --- a/package/dhcpcd/dhcpcd.mk +++ b/package/dhcpcd/dhcpcd.mk @@ -36,6 +36,10 @@ define DHCPCD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install DESTDIR=$(TARGET_DIR) endef +# When network-manager is enabled together with dhcpcd, it will use +# dhcpcd as a DHCP client, and will be in charge of running, so we +# don't want the init script or service file to be installed. +ifeq ($(BR2_PACKAGE_NETWORK_MANAGER),) define DHCPCD_INSTALL_INIT_SYSV $(INSTALL) -m 755 -D package/dhcpcd/S41dhcpcd \ $(TARGET_DIR)/etc/init.d/S41dhcpcd @@ -48,6 +52,7 @@ define DHCPCD_INSTALL_INIT_SYSTEMD ln -sf ../../../../usr/lib/systemd/system/dhcpcd.service \ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpcd.service endef +endif # NOTE: Even though this package has a configure script, it is not generated # using the autotools, so we have to use the generic package infrastructure. diff --git a/package/dhcpdump/0002-fix-strsep-feature-test.patch b/package/dhcpdump/0002-fix-strsep-feature-test.patch deleted file mode 100644 index 06bab947c0..0000000000 --- a/package/dhcpdump/0002-fix-strsep-feature-test.patch +++ /dev/null @@ -1,27 +0,0 @@ -Use the official _BSD_SOURCE feature test macro instead of the meaningless -HAVE_STRSEP macro in order to detect the availability of strsep(). - -This allows toolchains supporting strsep() to use it instead of the custom -implementation from dhcpdump, which also avoids the following error with some -toolchains: - - In file included from dhcpdump.c:30:0: - dhcpdump.c: At top level: - strsep.c:65:23: error: register name not specified for ‘delim’ - register const char *delim; - ^ - -Signed-off-by: Benoît Thébaudeau - -diff -Nrdup dhcpdump-1.8.orig/dhcpdump.c dhcpdump-1.8/dhcpdump.c ---- dhcpdump-1.8.orig/dhcpdump.c 2008-06-24 05:26:52.000000000 +0200 -+++ dhcpdump-1.8/dhcpdump.c 2011-05-31 19:22:15.987388498 +0200 -@@ -26,7 +26,7 @@ - #include - #include "dhcp_options.h" - --#ifndef HAVE_STRSEP -+#ifndef _BSD_SOURCE - #include "strsep.c" - #endif - diff --git a/package/dhcpdump/dhcpdump.mk b/package/dhcpdump/dhcpdump.mk index 96f231962d..2413812880 100644 --- a/package/dhcpdump/dhcpdump.mk +++ b/package/dhcpdump/dhcpdump.mk @@ -15,8 +15,11 @@ ifeq ($(BR2_STATIC_LIBS),y) DHCPDUMP_LIBS += `$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs` endif +# glibc, uclibc and musl have strsep() +DHCPDUMP_CFLAGS = $(TARGET_CFLAGS) -DHAVE_STRSEP + define DHCPDUMP_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC) $(TARGET_CFLAGS) \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC) $(DHCPDUMP_CFLAGS) \ -D_GNU_SOURCE" LIBS="$(DHCPDUMP_LIBS)" endef diff --git a/package/dmalloc/0005-fix-strdup.patch b/package/dmalloc/0005-fix-strdup.patch new file mode 100644 index 0000000000..5884df6a89 --- /dev/null +++ b/package/dmalloc/0005-fix-strdup.patch @@ -0,0 +1,24 @@ +From 59d73a473f1c1a31bcba90d314f956d0bcc3de95 Mon Sep 17 00:00:00 2001 +From: Siana Gearz +Date: Sat, 8 Sep 2012 22:55:17 +0200 +Subject: [PATCH] Fix strdup + +[Retrieved from: +https://github.com/siana/dmalloc/commit/59d73a473f1c1a31bcba90d314f956d0bcc3de95] +Signed-off-by: Fabrice Fontaine +--- + dmalloc.h.3 | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dmalloc.h.3 b/dmalloc.h.3 +index d3d1c13..3fc573a 100644 +--- a/dmalloc.h.3 ++++ b/dmalloc.h.3 +@@ -459,6 +459,7 @@ DMALLOC_PNT valloc(DMALLOC_SIZE size); + * + * string -> String we are duplicating. + */ ++#undef strdup + extern + char *strdup(const char *string); + #endif /* ifndef DMALLOC_STRDUP_MACRO */ diff --git a/package/dmalloc/0006-fix-strndup.patch b/package/dmalloc/0006-fix-strndup.patch new file mode 100644 index 0000000000..a1865acb85 --- /dev/null +++ b/package/dmalloc/0006-fix-strndup.patch @@ -0,0 +1,24 @@ +From 005d92c2cebbde5c8623daa29725f7a62b18df7c Mon Sep 17 00:00:00 2001 +From: Siana Gearz +Date: Sat, 8 Sep 2012 22:44:35 +0200 +Subject: [PATCH] Fix strndup + +[Retrieved from: +https://github.com/siana/dmalloc/commit/005d92c2cebbde5c8623daa29725f7a62b18df7c] +Signed-off-by: Fabrice Fontaine +--- + dmalloc.h.3 | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dmalloc.h.3 b/dmalloc.h.3 +index 8bda997..fb538a8 100644 +--- a/dmalloc.h.3 ++++ b/dmalloc.h.3 +@@ -429,6 +429,7 @@ char *strdup(const char *string); + * + * len -> Length of the string to duplicate. + */ ++#undef strndup + extern + char *strndup(const char *string, const DMALLOC_SIZE len); + diff --git a/package/dnsmasq/S80dnsmasq b/package/dnsmasq/S80dnsmasq old mode 100755 new mode 100644 diff --git a/package/docker-cli/Config.in b/package/docker-cli/Config.in new file mode 100644 index 0000000000..82c35c453d --- /dev/null +++ b/package/docker-cli/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_DOCKER_CLI + bool "docker-cli" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + help + Docker is a platform to build, ship, + and run applications as lightweight containers. + + https://github.com/docker/cli + +if BR2_PACKAGE_DOCKER_CLI + +config BR2_PACKAGE_DOCKER_CLI_STATIC + bool "build static client" + depends on !BR2_STATIC_LIBS + help + Build a static docker client. + +endif + +comment "docker-cli needs a toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/docker-cli/docker-cli.hash b/package/docker-cli/docker-cli.hash new file mode 100644 index 0000000000..41686f0de8 --- /dev/null +++ b/package/docker-cli/docker-cli.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 f9be44f395617f3f75faac69ad90f93c94ee4050c193bfa05eddb520a27c5d44 docker-cli-v18.09.4.tar.gz +sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/package/docker-cli/docker-cli.mk b/package/docker-cli/docker-cli.mk new file mode 100644 index 0000000000..65701d1530 --- /dev/null +++ b/package/docker-cli/docker-cli.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# docker-cli +# +################################################################################ + +DOCKER_CLI_VERSION = v18.09.4 +DOCKER_CLI_SITE = $(call github,docker,cli,$(DOCKER_CLI_VERSION)) +DOCKER_CLI_WORKSPACE = gopath + +DOCKER_CLI_LICENSE = Apache-2.0 +DOCKER_CLI_LICENSE_FILES = LICENSE + +DOCKER_CLI_DEPENDENCIES = host-pkgconf + +DOCKER_CLI_TAGS = autogen +DOCKER_CLI_BUILD_TARGETS = cmd/docker + +DOCKER_CLI_LDFLAGS = \ + -X github.com/docker/cli/cli.GitCommit=$(DOCKER_CLI_VERSION) \ + -X github.com/docker/cli/cli.Version=$(DOCKER_CLI_VERSION) + +ifeq ($(BR2_PACKAGE_DOCKER_CLI_STATIC),y) +DOCKER_CLI_LDFLAGS += -extldflags '-static' +DOCKER_CLI_TAGS += osusergo netgo +DOCKER_CLI_GO_ENV = CGO_ENABLED=no +endif + +DOCKER_CLI_INSTALL_BINS = $(notdir $(DOCKER_CLI_BUILD_TARGETS)) + +$(eval $(golang-package)) diff --git a/package/docker-compose/0001-setup.py-allow-all-recent-2.x-requests-releases.patch b/package/docker-compose/0001-setup.py-allow-all-recent-2.x-requests-releases.patch new file mode 100644 index 0000000000..1378c3b81a --- /dev/null +++ b/package/docker-compose/0001-setup.py-allow-all-recent-2.x-requests-releases.patch @@ -0,0 +1,34 @@ +From a79152d1d621ea9d477ecc6862a03cae80b2425b Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 15 Dec 2018 14:04:57 +0100 +Subject: [PATCH] setup.py: allow all recent 2.x requests releases + +Instead of having to update this for each new requests release. + +It it not quite clear why the restriction was added in the first place in +commit b0480b4d04e (Bump SDK version to latest), but change it to simply +disallow the upcoming 3.0 release to match what is done for the other +modules. + +Submitted upstream: https://github.com/docker/compose/pull/6415 +Signed-off-by: Peter Korsgaard +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 96530726..3c8c7d0e 100644 +--- a/setup.py ++++ b/setup.py +@@ -33,7 +33,7 @@ install_requires = [ + 'cached-property >= 1.2.0, < 2', + 'docopt >= 0.6.1, < 0.7', + 'PyYAML >= 3.10, < 4', +- 'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0, < 2.19', ++ 'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0, < 3.0', + 'texttable >= 0.9.0, < 0.10', + 'websocket-client >= 0.32.0, < 1.0', + 'docker >= 3.1.4, < 4.0', +-- +2.11.0 + diff --git a/package/docker-compose/0002-Upgrade-pyyaml-to-4.2b1.patch b/package/docker-compose/0002-Upgrade-pyyaml-to-4.2b1.patch new file mode 100644 index 0000000000..a3b4bfb853 --- /dev/null +++ b/package/docker-compose/0002-Upgrade-pyyaml-to-4.2b1.patch @@ -0,0 +1,27 @@ +From 8419a670aed3364c39b86a0608782aaeae3ce5df Mon Sep 17 00:00:00 2001 +From: Quentin Brunet +Date: Tue, 8 Jan 2019 14:04:54 +0100 +Subject: [PATCH] Upgrade pyyaml to 4.2b1 + +Signed-off-by: Quentin Brunet +Signed-off-by: Peter Korsgaard +--- + setup.py | 2 +- + 1 file changed, 1 insertions(+), 1 deletions(-) + +diff --git a/setup.py b/setup.py +index 4c49bab7..8b5f9d99 100644 +--- a/setup.py ++++ b/setup.py +@@ -32,7 +32,7 @@ def find_version(*file_paths): + install_requires = [ + 'cached-property >= 1.2.0, < 2', + 'docopt >= 0.6.1, < 0.7', +- 'PyYAML >= 3.10, < 4', ++ 'PyYAML >= 3.10, < 4.3', + 'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0, < 3.0', + 'texttable >= 0.9.0, < 0.10', + 'websocket-client >= 0.32.0, < 1.0', +-- +2.11.0 + diff --git a/package/docker-containerd/Config.in b/package/docker-containerd/Config.in index 2f7bf71af1..72ca9313b8 100644 --- a/package/docker-containerd/Config.in +++ b/package/docker-containerd/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_DOCKER_CONTAINERD depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc depends on BR2_USE_MMU # util-linux select BR2_PACKAGE_RUNC # runtime dependency select BR2_PACKAGE_UTIL_LINUX # runtime dependency @@ -13,10 +14,22 @@ config BR2_PACKAGE_DOCKER_CONTAINERD help containerd is a daemon to control runC. - https://github.com/docker/containerd + https://containerd.io/ -comment "docker-containerd needs a toolchain w/ threads" +if BR2_PACKAGE_DOCKER_CONTAINERD + +config BR2_PACKAGE_DOCKER_CONTAINERD_DRIVER_BTRFS + bool "btrfs snapshot driver" + depends on BR2_USE_MMU # btrfs-progs + depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs + select BR2_PACKAGE_BTRFS_PROGS + help + Build the btrfs snapshot driver for containerd. + +endif + +comment "docker-containerd needs a glibc or musl toolchain w/ threads" depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/docker-containerd/docker-containerd.hash b/package/docker-containerd/docker-containerd.hash index 992eb5b01a..fc7b6fcb49 100644 --- a/package/docker-containerd/docker-containerd.hash +++ b/package/docker-containerd/docker-containerd.hash @@ -1,2 +1,3 @@ # Computed locally -sha256 da89086a7c643702a2ddecec67a45d3d8e4b0d610dd19036be63e6bd54cc1a85 docker-containerd-9048e5e50717ea4497b757314bad98ea3763c145.tar.gz +sha256 b92819bde71de947329814a3c649b8adb106cc03be16aae217b94297f4b843a1 docker-containerd-v1.2.5.tar.gz +sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/package/docker-containerd/docker-containerd.mk b/package/docker-containerd/docker-containerd.mk index 09e89f1aba..586fd1fa08 100644 --- a/package/docker-containerd/docker-containerd.mk +++ b/package/docker-containerd/docker-containerd.mk @@ -4,20 +4,31 @@ # ################################################################################ -DOCKER_CONTAINERD_VERSION = 9048e5e50717ea4497b757314bad98ea3763c145 -DOCKER_CONTAINERD_SITE = $(call github,docker,containerd,$(DOCKER_CONTAINERD_VERSION)) +DOCKER_CONTAINERD_VERSION = v1.2.5 +DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,$(DOCKER_CONTAINERD_VERSION)) DOCKER_CONTAINERD_LICENSE = Apache-2.0 -DOCKER_CONTAINERD_LICENSE_FILES = LICENSE.code +DOCKER_CONTAINERD_LICENSE_FILES = LICENSE DOCKER_CONTAINERD_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_INSTALL_BINS = containerd containerd-shim +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +DOCKER_CONTAINERD_DEPENDENCIES += libseccomp host-pkgconf +DOCKER_CONTAINERD_TAGS += seccomp +endif + +ifeq ($(BR2_PACKAGE_DOCKER_CONTAINERD_DRIVER_BTRFS),y) +DOCKER_CONTAINERD_DEPENDENCIES += btrfs-progs +else +DOCKER_CONTAINERD_TAGS += no_btrfs +endif + define DOCKER_CONTAINERD_INSTALL_SYMLINKS ln -fs runc $(TARGET_DIR)/usr/bin/docker-runc ln -fs containerd-shim $(TARGET_DIR)/usr/bin/docker-containerd-shim diff --git a/package/docker-engine/0001-Fix-faulty-runc-version-commit-scrape.patch b/package/docker-engine/0001-Fix-faulty-runc-version-commit-scrape.patch new file mode 100644 index 0000000000..dc47a8f9ef --- /dev/null +++ b/package/docker-engine/0001-Fix-faulty-runc-version-commit-scrape.patch @@ -0,0 +1,45 @@ +From 324e7be4b252c13002bca6a9d82e7b2e43664634 Mon Sep 17 00:00:00 2001 +From: Christian Stewart +Date: Mon, 26 Nov 2018 22:59:32 -0800 +Subject: [PATCH] Fix faulty runc version commit scrape + +This commit replaces faulty logic to determine the runc version commit hash. + +The original logic takes the second line of the output of "runc --version" and +does not work if there are a different number of lines printed from the command +than expected. The buildroot version of runc outputs two lines instead of the +expected three, causing the error: + +unknown output format: runc version commit: ... + +This patch replaces this logic with a simple scan of the "runc --version" +output, searching for the "runc version commit" prefixed line. + +Signed-off-by: Christian Stewart +--- + daemon/info_unix.go | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/daemon/info_unix.go b/daemon/info_unix.go +index 60b2f99870..688a510796 100644 +--- a/daemon/info_unix.go ++++ b/daemon/info_unix.go +@@ -32,10 +32,11 @@ func (daemon *Daemon) fillPlatformInfo(v *types.Info, sysInfo *sysinfo.SysInfo) + defaultRuntimeBinary := daemon.configStore.GetRuntime(v.DefaultRuntime).Path + if rv, err := exec.Command(defaultRuntimeBinary, "--version").Output(); err == nil { + parts := strings.Split(strings.TrimSpace(string(rv)), "\n") +- if len(parts) == 3 { +- parts = strings.Split(parts[1], ": ") +- if len(parts) == 2 { +- v.RuncCommit.ID = strings.TrimSpace(parts[1]) ++ for _, pt := range parts { ++ ptKv := strings.Split(pt, ":") ++ if strings.HasSuffix(strings.TrimSpace(ptKv[0]), "commit") { ++ v.RuncCommit.ID = strings.TrimSpace(ptKv[1]) ++ break + } + } + +-- +2.18.1 + diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in index 8feb11b48c..3c97310484 100644 --- a/package/docker-engine/Config.in +++ b/package/docker-engine/Config.in @@ -3,6 +3,12 @@ config BR2_PACKAGE_DOCKER_ENGINE depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_UCLIBC # docker-containerd -> runc + depends on BR2_USE_MMU # docker-containerd + select BR2_PACKAGE_DOCKER_CONTAINERD # runtime dependency + select BR2_PACKAGE_DOCKER_PROXY # runtime dependency + select BR2_PACKAGE_IPTABLES # runtime dependency + select BR2_PACKAGE_SQLITE # runtime dependency help Docker is a platform to build, ship, and run applications as lightweight containers. @@ -11,29 +17,9 @@ config BR2_PACKAGE_DOCKER_ENGINE if BR2_PACKAGE_DOCKER_ENGINE -config BR2_PACKAGE_DOCKER_ENGINE_DAEMON - bool "docker daemon" - default y - depends on BR2_USE_MMU # docker-containerd - select BR2_PACKAGE_DOCKER_CONTAINERD # runtime dependency - select BR2_PACKAGE_DOCKER_PROXY # runtime dependency - select BR2_PACKAGE_IPTABLES # runtime dependency - select BR2_PACKAGE_SQLITE # runtime dependency - help - Build the Docker system daemon. - If not selected, will build client only. - config BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL bool "build experimental features" -config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT - bool "build static client" - depends on !BR2_STATIC_LIBS - help - Build a static docker client. - -if BR2_PACKAGE_DOCKER_ENGINE_DAEMON - config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS bool "btrfs filesystem driver" depends on BR2_USE_MMU # btrfs-progs @@ -64,9 +50,8 @@ config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS endif -endif - -comment "docker-engine needs a toolchain w/ threads" +comment "docker-engine needs a glibc or musl toolchain w/ threads" depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC + depends on BR2_USE_MMU diff --git a/package/docker-engine/S60dockerd b/package/docker-engine/S60dockerd new file mode 100644 index 0000000000..def8bea149 --- /dev/null +++ b/package/docker-engine/S60dockerd @@ -0,0 +1,38 @@ +#!/bin/sh + +NAME=dockerd +DAEMON=/usr/bin/$NAME +PIDFILE=/var/run/$NAME.pid +DAEMON_ARGS="" + +[ -r /etc/default/$NAME ] && . /etc/default/$NAME $1 + +do_start() { + echo -n "Starting $NAME: " + start-stop-daemon --start --quiet --background --make-pidfile \ + --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS \ + && echo "OK" || echo "FAIL" +} + +do_stop() { + echo -n "Stopping $NAME: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + && echo "OK" || echo "FAIL" +} + +case "$1" in + start) + do_start + ;; + stop) + do_stop + ;; + restart) + do_stop + sleep 1 + do_start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash index 6c0ed338a5..b268b7f330 100644 --- a/package/docker-engine/docker-engine.hash +++ b/package/docker-engine/docker-engine.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 4716df117d867b82ddab2e82395cd40aa3d0925a689eedcec8919729e4c9f121 docker-engine-v17.05.0-ce.tar.gz +sha256 1f4bd15d799420b587024fe3c6d7bd4eb584e509d30c8193db31411579780f2a docker-engine-v18.09.4.tar.gz +sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk index ba84b4cf0a..92e364e60d 100644 --- a/package/docker-engine/docker-engine.mk +++ b/package/docker-engine/docker-engine.mk @@ -4,25 +4,21 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = v17.05.0-ce -DOCKER_ENGINE_COMMIT = 89658bed64c2a8fe05a978e5b87dbec409d57a0f -DOCKER_ENGINE_SITE = $(call github,docker,docker,$(DOCKER_ENGINE_VERSION)) +DOCKER_ENGINE_VERSION = v18.09.4 +DOCKER_ENGINE_SITE = $(call github,docker,engine,$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 DOCKER_ENGINE_LICENSE_FILES = LICENSE -DOCKER_ENGINE_DEPENDENCIES = host-go host-pkgconf +DOCKER_ENGINE_DEPENDENCIES = host-pkgconf +DOCKER_ENGINE_SRC_SUBDIR = github.com/docker/docker DOCKER_ENGINE_LDFLAGS = \ -X main.GitCommit=$(DOCKER_ENGINE_VERSION) \ -X main.Version=$(DOCKER_ENGINE_VERSION) -ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT),y) -DOCKER_ENGINE_LDFLAGS += -extldflags '-static' -endif - DOCKER_ENGINE_TAGS = cgo exclude_graphdriver_zfs autogen -DOCKER_ENGINE_BUILD_TARGETS = cmd/docker +DOCKER_ENGINE_BUILD_TARGETS = cmd/dockerd ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) DOCKER_ENGINE_TAGS += seccomp @@ -30,15 +26,9 @@ DOCKER_ENGINE_DEPENDENCIES += libseccomp endif ifeq ($(BR2_INIT_SYSTEMD),y) -DOCKER_ENGINE_TAGS += journald DOCKER_ENGINE_DEPENDENCIES += systemd +DOCKER_ENGINE_TAGS += systemd journald endif - -ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON),y) -DOCKER_ENGINE_TAGS += daemon -DOCKER_ENGINE_BUILD_TARGETS += cmd/dockerd -endif - ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL),y) DOCKER_ENGINE_TAGS += experimental endif @@ -65,7 +55,6 @@ DOCKER_ENGINE_INSTALL_BINS = $(notdir $(DOCKER_ENGINE_BUILD_TARGETS)) define DOCKER_ENGINE_RUN_AUTOGEN cd $(@D) && \ - GITCOMMIT="$$(echo $(DOCKER_ENGINE_COMMIT) | head -c7)" \ BUILDTIME="$$(date)" \ VERSION="$(patsubst v%,%,$(DOCKER_ENGINE_VERSION))" \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" $(TARGET_MAKE_ENV) \ @@ -74,8 +63,6 @@ endef DOCKER_ENGINE_POST_CONFIGURE_HOOKS += DOCKER_ENGINE_RUN_AUTOGEN -ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON),y) - define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.service \ $(TARGET_DIR)/usr/lib/systemd/system/docker.service @@ -86,10 +73,13 @@ define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/docker.service endef +define DOCKER_ENGINE_INSTALL_INIT_SYSV + $(INSTALL) -D -m 755 package/docker-engine/S60dockerd \ + $(TARGET_DIR)/etc/init.d/S60dockerd +endef + define DOCKER_ENGINE_USERS - - docker -1 * - - - Docker Application Container Framework endef -endif - $(eval $(golang-package)) diff --git a/package/domoticz/0002-CMakeLists.txt-fix-build-with-python-and-cmake-3.7.patch b/package/domoticz/0002-CMakeLists.txt-fix-build-with-python-and-cmake-3.7.patch new file mode 100644 index 0000000000..a0adbdfed9 --- /dev/null +++ b/package/domoticz/0002-CMakeLists.txt-fix-build-with-python-and-cmake-3.7.patch @@ -0,0 +1,40 @@ +From 4b77662232c806b8aba7680405144ad51ac3671b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 29 Nov 2018 00:36:00 +0100 +Subject: [PATCH] CMakeLists.txt: fix build with python and cmake <= 3.7 + +domoticz will fail to build with python and older cmake +Indeed, find_package(PythonLibs 3.4) will not recognize python 3.7 until +cmake 3.7 and the following commit: +https://github.com/Kitware/CMake/commit/c31573b9641e0f1bc7a34149506db51f3494323b + +To fix this, add a call to find_package(PythonInterp 3.4). Indeed, if +FindPythonInterp has already found the major and minor version, that +version will be inserted between the user supplied versions and the +stock version list since cmake in version 3.1 and +https://github.com/Kitware/CMake/commit/3816cd2dc7a7cc220e4f1b1e87fee986545b9cb3 + +Fixes: + - http://autobuild.buildroot.org/results/8e82501a7b49da628ec026132ffca44c0c813040 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/domoticz/domoticz/pull/2889] +--- + CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f4e38b88..41003a0c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -125,6 +125,7 @@ ENDIF(USE_BUILTIN_SQLITE) + + option(USE_PYTHON "Use Python for Plugins and Event-Scripts" YES) + IF(USE_PYTHON) ++ find_package(PythonInterp 3.4) + find_package(PythonLibs 3.4) + IF(PYTHONLIBS_FOUND) + MESSAGE(STATUS "Python3 includes found at: ${PYTHON_INCLUDE_PATH}") +-- +2.14.1 + diff --git a/package/domoticz/Config.in b/package/domoticz/Config.in index 4c5338df0a..b99e548012 100644 --- a/package/domoticz/Config.in +++ b/package/domoticz/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_DOMOTICZ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - depends on BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3 + depends on BR2_PACKAGE_LUA_5_3 depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_DATE_TIME @@ -28,14 +28,14 @@ config BR2_PACKAGE_DOMOTICZ http://domoticz.com -comment "domoticz needs lua >= 5.2 and a toolchain w/ C++, gcc >= 4.8, NPTL, wchar, dynamic library" +comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 4.8, NPTL, wchar, dynamic library" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ - !(BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3) + !BR2_PACKAGE_LUA_5_3 comment "domoticz needs exception_ptr" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index 8d34ee2d48..a1d88d49e2 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.hash +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.hash @@ -1,3 +1,3 @@ # Locally computed after checking signature -sha256 950e8e15c58e539761255e140dd3678dd2477fa432a5f2b804e53821bdc02535 dovecot-2.3-pigeonhole-0.5.2.tar.gz +sha256 cbaa106e1c2b23824420efdd6a9f8572c64c8dccf75a3101a899b6ddb25149a5 dovecot-2.3-pigeonhole-0.5.5.tar.gz sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING diff --git a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index f78b1acccc..2a7626733f 100644 --- a/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.5.2 +DOVECOT_PIGEONHOLE_VERSION = 0.5.5 DOVECOT_PIGEONHOLE_SOURCE = dovecot-2.3-pigeonhole-$(DOVECOT_PIGEONHOLE_VERSION).tar.gz DOVECOT_PIGEONHOLE_SITE = https://pigeonhole.dovecot.org/releases/2.3 DOVECOT_PIGEONHOLE_LICENSE = LGPL-2.1 diff --git a/package/dovecot/dovecot.hash b/package/dovecot/dovecot.hash index 857c976a8f..2b8492a3c8 100644 --- a/package/dovecot/dovecot.hash +++ b/package/dovecot/dovecot.hash @@ -1,5 +1,5 @@ # Locally computed after checking signature -sha256 4a65118508dc7a562e5f90dd7c3f56219fff22367c496f17d77cd0c7e2724e34 dovecot-2.3.2.1.tar.gz +sha256 ba14e41aefd81a868a35b83bcb54194116106424d37690519b50ea83c0f31bf2 dovecot-2.3.5.2.tar.gz sha256 a363b132e494f662d98c820d1481297e6ae72f194c2c91b6c39e1518b86240a8 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL sha256 52b8c95fabb19575281874b661ef7968ea47e8f5d74ba0dd40ce512e52b3fc97 COPYING.MIT diff --git a/package/dovecot/dovecot.mk b/package/dovecot/dovecot.mk index c93d4ff4a3..d9b94eb83a 100644 --- a/package/dovecot/dovecot.mk +++ b/package/dovecot/dovecot.mk @@ -5,7 +5,7 @@ ################################################################################ DOVECOT_VERSION_MAJOR = 2.3 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).2.1 +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).5.2 DOVECOT_SITE = https://www.dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 diff --git a/package/doxygen/0001-Bug-776791-1.8.13-Regression-Segfault-building-the-b.patch b/package/doxygen/0001-Bug-776791-1.8.13-Regression-Segfault-building-the-b.patch deleted file mode 100644 index b64158ca6e..0000000000 --- a/package/doxygen/0001-Bug-776791-1.8.13-Regression-Segfault-building-the-b.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0f02761a158a5e9ddbd5801682482af8986dbc35 Mon Sep 17 00:00:00 2001 -From: albert-github -Date: Wed, 4 Jan 2017 12:24:55 +0100 -Subject: [PATCH] Bug 776791 - [1.8.13 Regression] Segfault building the - breathe docs - -Protected against NULL pointer of variable al - -[Romain: backport from upstream] -Signed-off-by: Romain Naour ---- - src/xmlgen.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp -index fe95c7a..70e198a 100644 ---- a/src/xmlgen.cpp -+++ b/src/xmlgen.cpp -@@ -620,7 +620,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De - if (md->isInline()) t << "yes"; else t << "no"; - t << "\""; - -- if (al->refQualifier!=RefQualifierNone) -+ if (al!=0 && al->refQualifier!=RefQualifierNone) - { - t << " refqual=\""; - if (al->refQualifier==RefQualifierLValue) t << "lvalue"; else t << "rvalue"; --- -2.9.4 - diff --git a/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch b/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch deleted file mode 100644 index 282b2bdcd8..0000000000 --- a/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch +++ /dev/null @@ -1,58 +0,0 @@ -From f9a3aa72c2bf15726bcdafd140fd21f790de555d Mon Sep 17 00:00:00 2001 -From: Bartosz Golaszewski -Date: Wed, 21 Jun 2017 14:32:25 +0200 -Subject: [PATCH] build: fix the way lang_cfg.h is generated - -This header is generated by running cmake/lang_cfg.cmake and -redirecting its stderr. If any warning is emitted by this script, it -ends up in the generated header and breaks the build. - -To avoid such problems: pass the path to the header as an argument to -the cmake script and use the cmake 'file' command instead of 'message'. - -We can't even use message(STATUS...) as - although it prints to stdout -as opposed to other types of messages - it prepends all output with -a double hyphen. - -Signed-off-by: Bartosz Golaszewski ---- - cmake/lang_cfg.cmake | 10 +++++----- - src/CMakeLists.txt | 2 +- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/cmake/lang_cfg.cmake b/cmake/lang_cfg.cmake -index c57d3ed..86c2d9a 100644 ---- a/cmake/lang_cfg.cmake -+++ b/cmake/lang_cfg.cmake -@@ -1,10 +1,10 @@ --if(${CMAKE_ARGC} GREATER 1) -- if ("${CMAKE_ARGV3}" STREQUAL "ENONLY") -- message("#define ENGLISH_ONLY") -+if(${CMAKE_ARGC} GREATER 2) -+ if ("${CMAKE_ARGV4}" STREQUAL "ENONLY") -+ file(APPEND ${CMAKE_ARGV3} " #define ENGLISH_ONLY") - else() - math(EXPR UPTO ${CMAKE_ARGC}-1) -- foreach(i RANGE 3 ${UPTO}) -- message("#define LANG_${CMAKE_ARGV${i}}") -+ foreach(i RANGE 4 ${UPTO}) -+ file(APPEND ${CMAKE_ARGV3} " #define LANG_${CMAKE_ARGV${i}}") - endforeach() - endif() - endif() -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 08c8439..dcf4ef8 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -73,7 +73,7 @@ set_source_files_properties(${GENERATED_SRC}/ce_parse.h PROPERTIES GENERATED 1) - # lang_cfg.h - add_custom_command( - COMMENT "Generating ${GENERATED_SRC}/lang_cfg.h" -- COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ${LANG_CODES} 2> ${GENERATED_SRC}/lang_cfg.h -+ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ${GENERATED_SRC}/lang_cfg.h ${LANG_CODES} - DEPENDS ${LANGUAGE_FILES} - OUTPUT ${GENERATED_SRC}/lang_cfg.h - ) --- -2.9.3 - diff --git a/package/doxygen/doxygen.hash b/package/doxygen/doxygen.hash index 4cf53e7acb..db70b74d23 100644 --- a/package/doxygen/doxygen.hash +++ b/package/doxygen/doxygen.hash @@ -1,2 +1,2 @@ # Computed locally -sha256 af667887bd7a87dc0dbf9ac8d86c96b552dfb8ca9c790ed1cbffaa6131573f6b doxygen-1.8.13.src.tar.gz +sha256 d1757e02755ef6f56fd45f1f4398598b920381948d6fcfa58f5ca6aa56f59d4d doxygen-1.8.14.src.tar.gz diff --git a/package/doxygen/doxygen.mk b/package/doxygen/doxygen.mk index 10cdcf97e0..5e11a1d187 100644 --- a/package/doxygen/doxygen.mk +++ b/package/doxygen/doxygen.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOXYGEN_VERSION = 1.8.13 +DOXYGEN_VERSION = 1.8.14 DOXYGEN_SOURCE = doxygen-$(DOXYGEN_VERSION).src.tar.gz DOXYGEN_SITE = http://ftp.stack.nl/pub/users/dimitri DOXYGEN_LICENSE = GPL-2.0 diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index 7b1468cfb1..a5a8243bd4 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -81,6 +81,12 @@ define DROPBEAR_DISABLE_STANDALONE echo '#define NON_INETD_MODE 0' >> $(@D)/localoptions.h endef +define DROPBEAR_CUSTOM_PATH + echo '#define DEFAULT_PATH $(BR2_SYSTEM_DEFAULT_PATH)' >>$(@D)/localoptions.h +endef + +DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_CUSTOM_PATH + define DROPBEAR_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/dropbear/dropbear.service \ $(TARGET_DIR)/usr/lib/systemd/system/dropbear.service diff --git a/package/dsp-tools/Config.in b/package/dsp-tools/Config.in deleted file mode 100644 index 0267454be9..0000000000 --- a/package/dsp-tools/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_DSP_TOOLS - bool "dsp-tools" - depends on BR2_cortex_a8 - select BR2_PACKAGE_TIDSP_BINARIES - help - Utilities for TI OMAP3 DSP. - - http://github.com/felipec/dsp-tools diff --git a/package/dsp-tools/dsp-tools.hash b/package/dsp-tools/dsp-tools.hash deleted file mode 100644 index cfcf06c8d6..0000000000 --- a/package/dsp-tools/dsp-tools.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 734a1d5f21fb388bdbe64f7b599fef52357c3c72ff860f38456a352e7c1c3e78 dsp-tools-v2.0.tar.gz diff --git a/package/dsp-tools/dsp-tools.mk b/package/dsp-tools/dsp-tools.mk deleted file mode 100644 index ec63bcd111..0000000000 --- a/package/dsp-tools/dsp-tools.mk +++ /dev/null @@ -1,21 +0,0 @@ -################################################################################ -# -# dsp-tools -# -################################################################################ - -DSP_TOOLS_VERSION = v2.0 -DSP_TOOLS_SITE = $(call github,felipec,dsp-tools,$(DSP_TOOLS_VERSION)) -DSP_TOOLS_DEPENDENCIES = tidsp-binaries -DSP_TOOLS_LICENSE = LGPL-2.1 -DSP_TOOLS_LICENSE_FILES = LICENSE - -define DSP_TOOLS_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e -endef - -define DSP_TOOLS_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e DESTDIR=$(TARGET_DIR) install -endef - -$(eval $(generic-package)) diff --git a/package/dt-utils/0001-common-Rename-strlcpy-to-DT_strlcpy.patch b/package/dt-utils/0001-common-Rename-strlcpy-to-DT_strlcpy.patch deleted file mode 100644 index 79c43d6a5d..0000000000 --- a/package/dt-utils/0001-common-Rename-strlcpy-to-DT_strlcpy.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 3d229cc0f8dc81335c53b1f7471ef82ef2f6e570 Mon Sep 17 00:00:00 2001 -From: Marcin Niestroj -Date: Fri, 23 Jun 2017 11:11:04 +0200 -Subject: [PATCH] common: Rename strlcpy to DT_strlcpy -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -strlcpy function is defined in uClibc library, causing "static -declaration of ‘strlcpy’ follows non-static declaration" build -errors. - -Rename internal strlcpy function to DT_strlcpy to avoid conflicts. - -Signed-off-by: Marcin Niestroj ---- - src/dt/common.h | 4 ++-- - src/libdt.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/dt/common.h b/src/dt/common.h -index f6bad44..992e28f 100644 ---- a/src/dt/common.h -+++ b/src/dt/common.h -@@ -168,7 +168,7 @@ static inline char *barebox_asprintf(const char *fmt, ...) - #define basprintf(fmt, arg...) barebox_asprintf(fmt, ##arg) - - /** -- * strlcpy - Copy a %NUL terminated string into a sized buffer -+ * DT_strlcpy - Copy a %NUL terminated string into a sized buffer - * @dest: Where to copy the string to - * @src: Where to copy the string from - * @size: size of destination buffer -@@ -178,7 +178,7 @@ static inline char *barebox_asprintf(const char *fmt, ...) - * of course, the buffer size is zero). It does not pad - * out the result like strncpy() does. - */ --static inline size_t strlcpy(char *dest, const char *src, size_t size) -+static inline size_t DT_strlcpy(char *dest, const char *src, size_t size) - { - size_t ret = strlen(src); - -diff --git a/src/libdt.c b/src/libdt.c -index 4db5160..3adeed2 100644 ---- a/src/libdt.c -+++ b/src/libdt.c -@@ -1503,7 +1503,7 @@ int of_modalias_node(struct device_node *node, char *modalias, int len) - if (!compatible || strlen(compatible) > cplen) - return -ENODEV; - p = strchr(compatible, ','); -- strlcpy(modalias, p ? p + 1 : compatible, len); -+ DT_strlcpy(modalias, p ? p + 1 : compatible, len); - return 0; - } - --- -2.13.1 - diff --git a/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 0000000000..8c2f585946 --- /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 + diff --git a/package/dt-utils/0002-common-Include-sys-types.h-header.patch b/package/dt-utils/0002-common-Include-sys-types.h-header.patch deleted file mode 100644 index a49d46867b..0000000000 --- a/package/dt-utils/0002-common-Include-sys-types.h-header.patch +++ /dev/null @@ -1,38 +0,0 @@ -From b8bc4e83bf447b6330ece54e94a1684d12ecdd0b Mon Sep 17 00:00:00 2001 -From: Marcin Niestroj -Date: Fri, 23 Jun 2017 12:00:30 +0200 -Subject: [PATCH] common: Include sys/types.h header -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Build with musl library fails with following error: - -In file included from src/crypto/sha1.c:21:0: -./src/digest.h:95:10: error: unknown type name ‘ulong’ - ulong start, ulong size); -... - -Fix that by including sys/types.h header in common.h, so ulong type -is defined with musl library. - -Signed-off-by: Marcin Niestroj ---- - src/dt/common.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/dt/common.h b/src/dt/common.h -index 992e28f..1425c53 100644 ---- a/src/dt/common.h -+++ b/src/dt/common.h -@@ -13,6 +13,7 @@ - - #include - #include -+#include - - #include - --- -2.13.1 - diff --git a/package/dt-utils/dt-utils.hash b/package/dt-utils/dt-utils.hash new file mode 100644 index 0000000000..5805adf361 --- /dev/null +++ b/package/dt-utils/dt-utils.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 d0f53c76bc9f821a6506c8db3b623922d82570a017a9a40ad118bd7c957672b6 dt-utils-v2018.05.0.tar.gz +sha256 a45932c79317d15116eadbf1c9c6fc59117ec3c4621db3a876066defa723963b COPYING diff --git a/package/dt-utils/dt-utils.mk b/package/dt-utils/dt-utils.mk index 5b1375051e..3dbadc7b9e 100644 --- a/package/dt-utils/dt-utils.mk +++ b/package/dt-utils/dt-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -DT_UTILS_VERSION = v2017.03.0 +DT_UTILS_VERSION = v2018.05.0 DT_UTILS_SITE = https://git.pengutronix.de/git/tools/dt-utils DT_UTILS_SITE_METHOD = git DT_UTILS_LICENSE = GPL-2.0 diff --git a/package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch b/package/dtc/0002-Fix-include-guards-for-older-kernel-u-boot-sources.patch similarity index 63% rename from package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch rename to package/dtc/0002-Fix-include-guards-for-older-kernel-u-boot-sources.patch index e4e49bf6e4..bff5f4c07a 100644 --- a/package/dtc/0001-Fix-include-guards-for-older-kernel-u-boot-sources.patch +++ b/package/dtc/0002-Fix-include-guards-for-older-kernel-u-boot-sources.patch @@ -1,7 +1,7 @@ -From b1f8b84489c96465b63485b884238b61d31ca84d Mon Sep 17 00:00:00 2001 +From 086283ed7f1886de05407bc75dd4c070c78a6f50 Mon Sep 17 00:00:00 2001 From: Lothar Felten Date: Mon, 8 Oct 2018 13:29:44 +0200 -Subject: [PATCH 1/1] Fix include guards for older kernel/u-boot sources +Subject: [PATCH] Fix include guards for older kernel/u-boot sources Linux kernels before 4.17 and U-Boot versions before 2018.07 use libfdt include guards with leading underscores. @@ -12,11 +12,27 @@ This patch handles both include guard types and allows the compilation of older Linux kernel and u-boot sources. Signed-off-by: Lothar Felten +[ThomasDS: also update fdt.h which has the same issue, seen on U-Boot +2011.03] +Signed-off-by: Thomas De Schampheleire --- + libfdt/fdt.h | 4 ++++ libfdt/libfdt.h | 4 ++++ libfdt/libfdt_env.h | 4 ++++ - 2 files changed, 8 insertions(+) + 3 files changed, 12 insertions(+) +diff --git a/libfdt/fdt.h b/libfdt/fdt.h +index 74961f9..2904f48 100644 +--- a/libfdt/fdt.h ++++ b/libfdt/fdt.h +@@ -1,3 +1,7 @@ ++#ifdef _FDT_H ++#warning "Please consider updating your kernel and/or u-boot version" ++#define FDT_H ++#endif + #ifndef FDT_H + #define FDT_H + /* diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h index 830b77e..bef4566 100644 --- a/libfdt/libfdt.h @@ -42,5 +58,5 @@ index eb20538..6a61e6a 100644 #define LIBFDT_ENV_H /* -- -2.11.0 +2.19.2 diff --git a/package/dtc/0003-checks-fix-simple-bus-compatible-matching.patch b/package/dtc/0003-checks-fix-simple-bus-compatible-matching.patch new file mode 100644 index 0000000000..ab95214a53 --- /dev/null +++ b/package/dtc/0003-checks-fix-simple-bus-compatible-matching.patch @@ -0,0 +1,120 @@ +From 5277449e5fd13a2f3778ed3380ba157cb9d4ea55 Mon Sep 17 00:00:00 2001 +From: Rob Herring +Date: Thu, 20 Sep 2018 14:30:03 -0700 +Subject: [PATCH] checks: fix simple-bus compatible matching + +Since commit 7975f6422260 ("Fix widespread incorrect use of strneq(), +replace with new strprefixeq()") simple-bus checks have been silently +skipped. The problem was 'end - str' is one more than the string length +and the strnlen in strprefixeq fails. This can't be fixed simply by +subtracting one as it is possible to have multiple '\0' at the end of +the property. Fix this by making the 'compatible' property string list +check a dependency, and then we can assume the property is null +terminated and we can just use streq() for comparisons. + +Add some tests so the problem doesn't happen again. + +Fixes: 7975f6422260 ("Fix widespread incorrect use of strneq(), replace with new strprefixeq()") +Reported-by: Kumar Gala +Signed-off-by: Rob Herring +Signed-off-by: David Gibson +[Backport from upstream commit e84742aa7b934cd6603e3a64f8c0966f683c5711] +Signed-off-by: Thomas Petazzoni +--- + checks.c | 5 +++-- + tests/run_tests.sh | 4 ++++ + tests/unit-addr-simple-bus-compatible.dts | 18 ++++++++++++++++++ + tests/unit-addr-simple-bus-reg-mismatch.dts | 18 ++++++++++++++++++ + 4 files changed, 43 insertions(+), 2 deletions(-) + create mode 100644 tests/unit-addr-simple-bus-compatible.dts + create mode 100644 tests/unit-addr-simple-bus-reg-mismatch.dts + +diff --git a/checks.c b/checks.c +index a2cc103..acf91c3 100644 +--- a/checks.c ++++ b/checks.c +@@ -910,7 +910,7 @@ static bool node_is_compatible(struct node *node, const char *compat) + + for (str = prop->val.val, end = str + prop->val.len; str < end; + str += strnlen(str, end - str) + 1) { +- if (strprefixeq(str, end - str, compat)) ++ if (streq(str, compat)) + return true; + } + return false; +@@ -921,7 +921,8 @@ static void check_simple_bus_bridge(struct check *c, struct dt_info *dti, struct + if (node_is_compatible(node, "simple-bus")) + node->bus = &simple_bus; + } +-WARNING(simple_bus_bridge, check_simple_bus_bridge, NULL, &addr_size_cells); ++WARNING(simple_bus_bridge, check_simple_bus_bridge, NULL, ++ &addr_size_cells, &compatible_is_string_list); + + static void check_simple_bus_reg(struct check *c, struct dt_info *dti, struct node *node) + { +diff --git a/tests/run_tests.sh b/tests/run_tests.sh +index 7348c9c..c4354d2 100755 +--- a/tests/run_tests.sh ++++ b/tests/run_tests.sh +@@ -652,6 +652,10 @@ dtc_tests () { + check_tests pci-bridge-bad1.dts pci_bridge + check_tests pci-bridge-bad2.dts pci_bridge + ++ check_tests unit-addr-simple-bus-reg-mismatch.dts simple_bus_reg ++ check_tests unit-addr-simple-bus-compatible.dts simple_bus_reg ++ ++ + # Check warning options + run_sh_test dtc-checkfails.sh address_cells_is_cell interrupt_cells_is_cell -n size_cells_is_cell -- -Wno_size_cells_is_cell -I dts -O dtb bad-ncells.dts + run_sh_test dtc-fails.sh -n test-warn-output.test.dtb -I dts -O dtb bad-ncells.dts +diff --git a/tests/unit-addr-simple-bus-compatible.dts b/tests/unit-addr-simple-bus-compatible.dts +new file mode 100644 +index 0000000..c8f9341 +--- /dev/null ++++ b/tests/unit-addr-simple-bus-compatible.dts +@@ -0,0 +1,18 @@ ++/dts-v1/; ++ ++/ { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ bus@10000000 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "foo-bus", "simple-bus"; ++ ranges = <0x0 0x10000000 0x10000>; ++ ++ node@100 { ++ reg = <0x1000 1>; ++ }; ++ }; ++ ++}; +diff --git a/tests/unit-addr-simple-bus-reg-mismatch.dts b/tests/unit-addr-simple-bus-reg-mismatch.dts +new file mode 100644 +index 0000000..2823377 +--- /dev/null ++++ b/tests/unit-addr-simple-bus-reg-mismatch.dts +@@ -0,0 +1,18 @@ ++/dts-v1/; ++ ++/ { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ bus@10000000 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "simple-bus"; ++ ranges = <0x0 0x10000000 0x10000>; ++ ++ node@100 { ++ reg = <0x1000 1>; ++ }; ++ }; ++ ++}; +-- +2.19.1 + diff --git a/package/dtv-scan-tables/dtv-scan-tables.hash b/package/dtv-scan-tables/dtv-scan-tables.hash index 29d0c4cc54..a4606bbe00 100644 --- a/package/dtv-scan-tables/dtv-scan-tables.hash +++ b/package/dtv-scan-tables/dtv-scan-tables.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 7860092725f07ac6f974415e9f06a2763710d308b0817f7c3641aaf4b902ccc5 dtv-scan-tables-c2b6af67f7d8620acbf052fc754ec831ed2188ba.tar.gz +sha256 a9c9375a3d3087cf9ee47086c19fffe8e3bf52397928288d88cd7fa4d7f8944e dtv-scan-tables-59f4a9b1dfbd573bafe33d238a08da95e4f0263a.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING sha256 4fd46f32582c29007657e2daad8d0a6d954cf4e9d2e47bae8f8d8c32765fc987 COPYING.LGPL diff --git a/package/dtv-scan-tables/dtv-scan-tables.mk b/package/dtv-scan-tables/dtv-scan-tables.mk index fe0a310817..6477985881 100644 --- a/package/dtv-scan-tables/dtv-scan-tables.mk +++ b/package/dtv-scan-tables/dtv-scan-tables.mk @@ -4,7 +4,7 @@ # ################################################################################ -DTV_SCAN_TABLES_VERSION = c2b6af67f7d8620acbf052fc754ec831ed2188ba +DTV_SCAN_TABLES_VERSION = 59f4a9b1dfbd573bafe33d238a08da95e4f0263a DTV_SCAN_TABLES_SITE = http://git.linuxtv.org/cgit.cgi/dtv-scan-tables.git DTV_SCAN_TABLES_SITE_METHOD = git diff --git a/package/duktape/Config.in b/package/duktape/Config.in new file mode 100644 index 0000000000..5dad5c3e7c --- /dev/null +++ b/package/duktape/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_DUKTAPE + bool "duktape" + depends on !BR2_STATIC_LIBS + help + Duktape is an embeddable Javascript engine, with a focus on + portability and compact footprint. + + Duktape is easy to integrate into a C/C++ project: add + duktape.c, duktape.h, and duk_config.h to your build, and use + the Duktape API to call Ecmascript functions from C code and + vice versa. + + http://www.duktape.org + +comment "duktape needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/duktape/duktape.hash b/package/duktape/duktape.hash new file mode 100644 index 0000000000..100af58d60 --- /dev/null +++ b/package/duktape/duktape.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 0df1c0a9d40bfae31733e5c44f0eabaeae59e0a2ebf7693ff68bbabd49aae331 duktape-v2.3.0.tar.gz +sha256 9aabee442709a6e7652348b9617ae26d26da6b270c1f4b6fce4a1e746acb3df0 LICENSE.txt diff --git a/package/duktape/duktape.mk b/package/duktape/duktape.mk new file mode 100644 index 0000000000..97b51f94b1 --- /dev/null +++ b/package/duktape/duktape.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# duktape +# +################################################################################ + +DUKTAPE_VERSION = v2.3.0 +DUKTAPE_SITE = $(call github,svaarala,duktape-releases,$(DUKTAPE_VERSION)) +DUKTAPE_LICENSE = MIT +DUKTAPE_LICENSE_FILES = LICENSE.txt +DUKTAPE_INSTALL_STAGING = YES + +define DUKTAPE_BUILD_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary +endef + +define DUKTAPE_INSTALL_STAGING_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary \ + INSTALL_PREFIX=$(STAGING_DIR)/usr install +endef + +define DUKTAPE_INSTALL_TARGET_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary \ + INSTALL_PREFIX=$(TARGET_DIR)/usr install +endef + +$(eval $(generic-package)) diff --git a/package/dvblast/Config.in b/package/dvblast/Config.in index 5597faea4f..973eee88c6 100644 --- a/package/dvblast/Config.in +++ b/package/dvblast/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_DVBLAST bool "dvblast" - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_BITSTREAM select BR2_PACKAGE_LIBEV select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE @@ -10,5 +10,5 @@ config BR2_PACKAGE_DVBLAST http://www.videolan.org/projects/dvblast.html -comment "dvblast needs a toolchain w/ NPTL" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL +comment "dvblast needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/dvblast/dvblast.hash b/package/dvblast/dvblast.hash index d6ec4cb036..b32668fa41 100644 --- a/package/dvblast/dvblast.hash +++ b/package/dvblast/dvblast.hash @@ -1,2 +1,7 @@ -# From https://get.videolan.org/dvblast/3.1/dvblast-3.1.tar.bz2 -sha256 3159e8666a3b1822aeccd01684bdcad712a0da88d758bef6b7e2c396f27fd3e0 dvblast-3.1.tar.bz2 +# From https://get.videolan.org/dvblast/3.4/dvblast-3.4.tar.bz2.md5 +md5 148a26e1207e111f905461cfb1cd106a dvblast-3.4.tar.bz2 +# From https://get.videolan.org/dvblast/3.4/dvblast-3.4.tar.bz2.sha256 +sha256 7abd45aff738544017350af87ec7ebad00fcfb4e4effd04f35023d504d9b6f44 dvblast-3.4.tar.bz2 +# Locally computed +sha256 94f68aec169fb6c9937eade757251714d38a56812be5dbfc3973914a71ad8d2d COPYING +sha256 2c1bea2f338d46ee6f2712f2c2bf05b874327ca0bec5eb0b7b4fbe208a23677f COPYING.WTFPL diff --git a/package/dvblast/dvblast.mk b/package/dvblast/dvblast.mk index 3cf24df248..3571ff3c74 100644 --- a/package/dvblast/dvblast.mk +++ b/package/dvblast/dvblast.mk @@ -4,7 +4,7 @@ # ################################################################################ -DVBLAST_VERSION = 3.1 +DVBLAST_VERSION = 3.4 DVBLAST_SOURCE = dvblast-$(DVBLAST_VERSION).tar.bz2 DVBLAST_SITE = https://get.videolan.org/dvblast/$(DVBLAST_VERSION) DVBLAST_LICENSE = GPL-2.0+, WTFPL diff --git a/package/dvdrw-tools/0002-Include-sysmacros.h-to-compile-with-newer-gcc.patch b/package/dvdrw-tools/0002-Include-sysmacros.h-to-compile-with-newer-gcc.patch new file mode 100644 index 0000000000..29c3a73a4b --- /dev/null +++ b/package/dvdrw-tools/0002-Include-sysmacros.h-to-compile-with-newer-gcc.patch @@ -0,0 +1,14 @@ +growisofs.c: include sysmacros.h to compile with glibc-2.28 + +Signed-off-by: Giulio Benetti + +diff -urpN dvd+rw-tools-7.1.orig/growisofs.c dvd+rw-tools-7.1/growisofs.c +--- dvd+rw-tools-7.1.orig/growisofs.c 2018-09-08 01:56:11.686656819 +0200 ++++ dvd+rw-tools-7.1/growisofs.c 2018-09-08 02:11:45.868778471 +0200 +@@ -441,6 +441,7 @@ + #include + #include + #include ++#include + #include + #include "mp.h" diff --git a/package/e2fsprogs/e2fsprogs.hash b/package/e2fsprogs/e2fsprogs.hash index 65a6e199c9..7619e26275 100644 --- a/package/e2fsprogs/e2fsprogs.hash +++ b/package/e2fsprogs/e2fsprogs.hash @@ -1,5 +1,5 @@ -# From https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.44.2/sha256sums.asc -sha256 8324cf0b6e81805a741d94087b00e99f7e16144f1ee5a413709a1fa6948b126c e2fsprogs-1.44.2.tar.xz +# From https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.44.5/sha256sums.asc +sha256 ba5eb3069d69160d96818bb9700de9ab5a8458d9add1fd85d427c0000d34c5b9 e2fsprogs-1.44.5.tar.xz # Locally calculated sha256 5da5ef153e559c1d990d4c3eedbedd4442db892d37eae1f35fff069de8ec9020 NOTICE sha256 032989b508f1a72ebee5b3417e55d06d473f9ee203e45ab11864a7e49cdec63d lib/ss/mit-sipb-copyright.h diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index efc10d0e99..f5785ab4f2 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -4,7 +4,7 @@ # ################################################################################ -E2FSPROGS_VERSION = 1.44.2 +E2FSPROGS_VERSION = 1.44.5 E2FSPROGS_SOURCE = e2fsprogs-$(E2FSPROGS_VERSION).tar.xz E2FSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/tytso/e2fsprogs/v$(E2FSPROGS_VERSION) E2FSPROGS_LICENSE = GPL-2.0, MIT-like with advertising clause (libss and libet) @@ -26,8 +26,9 @@ HOST_E2FSPROGS_CONF_OPTS = \ --disable-fuse2fs \ --disable-libblkid \ --disable-libuuid \ + --disable-testio-debug \ --enable-symlink-install \ - --disable-testio-debug + --enable-elf-shlibs # Set the binary directories to "/bin" and "/sbin", as busybox does, # so that we do not end up with two versions of e2fs tools. @@ -59,32 +60,17 @@ ifeq ($(BR2_nios2),y) E2FSPROGS_CONF_ENV += ac_cv_func_fallocate=no endif -# Some programs are built for the host, but use definitions guessed by -# the configure script (i.e with the cross-compiler). Help them by -# saying that is available on the host, which is needed -# for util/subst.c to build properly. -E2FSPROGS_CONF_ENV += BUILD_CFLAGS="-DHAVE_SYS_STAT_H" +E2FSPROGS_CONF_ENV += ac_cv_path_LDCONFIG=true -# Disable use of the host magic.h, as on older hosts (e.g. RHEL 5) -# it doesn't provide definitions expected by e2fsprogs support lib. -HOST_E2FSPROGS_CONF_ENV += \ - ac_cv_header_magic_h=no \ - ac_cv_lib_magic_magic_file=no - -E2FSPROGS_MAKE_OPTS = LDCONFIG=true +HOST_E2FSPROGS_CONF_ENV += ac_cv_path_LDCONFIG=true E2FSPROGS_INSTALL_STAGING_OPTS = \ DESTDIR=$(STAGING_DIR) \ - LDCONFIG=true \ install-libs -E2FSPROGS_INSTALL_TARGET_OPTS = \ - DESTDIR=$(TARGET_DIR) \ - LDCONFIG=true \ - install - +# Package does not build in parallel due to improper make rules define HOST_E2FSPROGS_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install install-libs + $(HOST_MAKE_ENV) $(MAKE1) -C $(@D) install install-libs endef $(eval $(autotools-package)) diff --git a/package/easydbus/0001-easydbus-is-a-C-project-file.patch b/package/easydbus/0001-easydbus-is-a-C-project-file.patch new file mode 100644 index 0000000000..1c149c582c --- /dev/null +++ b/package/easydbus/0001-easydbus-is-a-C-project-file.patch @@ -0,0 +1,33 @@ +From a4bd47f593fbe55bd3ab17532e64be74aff5b29d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 17 Nov 2018 11:38:05 +0100 +Subject: [PATCH] easydbus is a C project file + +Specify that easydbus is a C project file otherwise build will fail if +no C++ compiler is found by cmake + +Fixes: + - http://autobuild.buildroot.org/results/486c3cd98124e7415dee2fd1463bd5e0fcc9ba91 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/mniestroj/easydbus/pull/2] +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 58ccb2d..575eb24 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,7 +5,7 @@ + # + + cmake_minimum_required(VERSION 2.6) +-project(easydbus) ++project(easydbus C) + + add_definitions("-Wall -Wextra -Wno-unused-parameter") + set(CMAKE_C_FLAGS_RELEASE "-O2") +-- +2.17.1 + diff --git a/package/ecryptfs-utils/0002-openssl110.patch b/package/ecryptfs-utils/0002-openssl110.patch new file mode 100644 index 0000000000..3ae29a607b --- /dev/null +++ b/package/ecryptfs-utils/0002-openssl110.patch @@ -0,0 +1,173 @@ +Fix build with OpenSSL 1.1.x + +Downloaded from upstream commit +https://code.launchpad.net/~jelle-vdwaa/ecryptfs/ecryptfs/+merge/319746 + +Signed-off-by: Bernd Kuhls + +=== modified file 'src/key_mod/ecryptfs_key_mod_openssl.c' +--- a/src/key_mod/ecryptfs_key_mod_openssl.c 2013-10-25 19:45:09 +0000 ++++ b/src/key_mod/ecryptfs_key_mod_openssl.c 2017-06-02 18:27:28 +0000 +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -55,6 +56,19 @@ + char *passphrase; + }; + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++static void RSA_get0_key(const RSA *r, ++ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) ++{ ++ if (n != NULL) ++ *n = r->n; ++ if (e != NULL) ++ *e = r->e; ++ if (d != NULL) ++ *d = r->d; ++} ++#endif ++ + static void + ecryptfs_openssl_destroy_openssl_data(struct openssl_data *openssl_data) + { +@@ -142,6 +156,7 @@ + { + int len, nbits, ebits, i; + int nbytes, ebytes; ++ const BIGNUM *key_n, *key_e; + unsigned char *hash; + unsigned char *data = NULL; + int rc = 0; +@@ -152,11 +167,13 @@ + rc = -ENOMEM; + goto out; + } +- nbits = BN_num_bits(key->n); ++ RSA_get0_key(key, &key_n, NULL, NULL); ++ nbits = BN_num_bits(key_n); + nbytes = nbits / 8; + if (nbits % 8) + nbytes++; +- ebits = BN_num_bits(key->e); ++ RSA_get0_key(key, NULL, &key_e, NULL); ++ ebits = BN_num_bits(key_e); + ebytes = ebits / 8; + if (ebits % 8) + ebytes++; +@@ -179,11 +196,13 @@ + data[i++] = '\02'; + data[i++] = (nbits >> 8); + data[i++] = nbits; +- BN_bn2bin(key->n, &(data[i])); ++ RSA_get0_key(key, &key_n, NULL, NULL); ++ BN_bn2bin(key_n, &(data[i])); + i += nbytes; + data[i++] = (ebits >> 8); + data[i++] = ebits; +- BN_bn2bin(key->e, &(data[i])); ++ RSA_get0_key(key, NULL, &key_e, NULL); ++ BN_bn2bin(key_e, &(data[i])); + i += ebytes; + SHA1(data, len + 3, hash); + to_hex(sig, (char *)hash, ECRYPTFS_SIG_SIZE); +@@ -278,7 +297,9 @@ + BIO *in = NULL; + int rc; + ++ #if OPENSSL_VERSION_NUMBER < 0x10100000L + CRYPTO_malloc_init(); ++ #endif + ERR_load_crypto_strings(); + OpenSSL_add_all_algorithms(); + ENGINE_load_builtin_engines(); + +=== modified file 'src/key_mod/ecryptfs_key_mod_pkcs11_helper.c' +--- a/src/key_mod/ecryptfs_key_mod_pkcs11_helper.c 2013-10-25 19:45:09 +0000 ++++ b/src/key_mod/ecryptfs_key_mod_pkcs11_helper.c 2017-06-02 18:27:28 +0000 +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -77,6 +78,19 @@ + typedef const unsigned char *__pkcs11_openssl_d2i_t; + #endif + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++static void RSA_get0_key(const RSA *r, ++ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) ++{ ++ if (n != NULL) ++ *n = r->n; ++ if (e != NULL) ++ *e = r->e; ++ if (d != NULL) ++ *d = r->d; ++} ++#endif ++ + /** + * ecryptfs_pkcs11h_deserialize + * @pkcs11h_data: The deserialized version of the key module data; +@@ -282,7 +296,11 @@ + goto out; + } + ++ #if OPENSSL_VERSION_NUMBER < 0x10100000L + if (pubkey->type != EVP_PKEY_RSA) { ++ #else ++ if (EVP_PKEY_base_id(pubkey) != EVP_PKEY_RSA) { ++ #endif + syslog(LOG_ERR, "PKCS#11: Invalid public key algorithm"); + rc = -EIO; + goto out; +@@ -318,6 +336,7 @@ + int nbytes, ebytes; + char *hash = NULL; + char *data = NULL; ++ const BIGNUM *rsa_n, *rsa_e; + int rc; + + if ((rc = ecryptfs_pkcs11h_get_public_key(&rsa, blob))) { +@@ -331,11 +350,13 @@ + rc = -ENOMEM; + goto out; + } +- nbits = BN_num_bits(rsa->n); ++ RSA_get0_key(rsa, &rsa_n, NULL, NULL); ++ nbits = BN_num_bits(rsa_n); + nbytes = nbits / 8; + if (nbits % 8) + nbytes++; +- ebits = BN_num_bits(rsa->e); ++ RSA_get0_key(rsa, NULL, &rsa_e, NULL); ++ ebits = BN_num_bits(rsa_e); + ebytes = ebits / 8; + if (ebits % 8) + ebytes++; +@@ -358,11 +379,13 @@ + data[i++] = '\02'; + data[i++] = (char)(nbits >> 8); + data[i++] = (char)nbits; +- BN_bn2bin(rsa->n, &(data[i])); ++ RSA_get0_key(rsa, &rsa_n, NULL, NULL); ++ BN_bn2bin(rsa_n, &(data[i])); + i += nbytes; + data[i++] = (char)(ebits >> 8); + data[i++] = (char)ebits; +- BN_bn2bin(rsa->e, &(data[i])); ++ RSA_get0_key(rsa, NULL, &rsa_e, NULL); ++ BN_bn2bin(rsa_e, &(data[i])); + i += ebytes; + SHA1(data, len + 3, hash); + to_hex(sig, hash, ECRYPTFS_SIG_SIZE); + diff --git a/package/ed/ed.hash b/package/ed/ed.hash index 1aa00c0486..96c814d3c2 100644 --- a/package/ed/ed.hash +++ b/package/ed/ed.hash @@ -1,2 +1,4 @@ -# From http://lists.gnu.org/archive/html/bug-ed/2017-02/msg00005.html -sha256 f57962ba930d70d02fc71d6be5c5f2346b16992a455ab9c43be7061dec9810db ed-1.14.2.tar.lz +# From http://lists.gnu.org/archive/html/bug-ed/2019-01/msg00010.html +sha256 ad4489c0ad7a108c514262da28e6c2a426946fb408a3977ef1ed34308bdfd174 ed-1.15.tar.lz +# Locally calculated +sha256 f03a12bef9dfb7281864a0dd965166d4f4ec7a66633df2bc72fa4363e57de02c COPYING diff --git a/package/ed/ed.mk b/package/ed/ed.mk index ada0316a27..6ef8f951cf 100644 --- a/package/ed/ed.mk +++ b/package/ed/ed.mk @@ -4,12 +4,9 @@ # ################################################################################ -ED_VERSION = 1.14.2 +ED_VERSION = 1.15 ED_SITE = $(BR2_GNU_MIRROR)/ed ED_SOURCE = ed-$(ED_VERSION).tar.lz -ED_CONF_OPTS = \ - CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ - LDFLAGS="$(TARGET_LDFLAGS)" ED_LICENSE = GPL-3.0+ ED_LICENSE_FILES = COPYING diff --git a/package/efibootmgr/Config.in b/package/efibootmgr/Config.in index d31f9b13ee..6644d26b6c 100644 --- a/package/efibootmgr/Config.in +++ b/package/efibootmgr/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_EFIBOOTMGR depends on !BR2_STATIC_LIBS # efivar depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # efivar depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # efivar + depends on BR2_HOST_GCC_AT_LEAST_4_8 # efivar depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS select BR2_PACKAGE_EFIVAR select BR2_PACKAGE_POPT @@ -15,9 +16,10 @@ config BR2_PACKAGE_EFIBOOTMGR https://github.com/rhboot/efibootmgr -comment "efibootmgr needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9" +comment "efibootmgr needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9, host gcc >= 4.8" depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS diff --git a/package/efibootmgr/efibootmgr.mk b/package/efibootmgr/efibootmgr.mk index bdc0019d99..079a9b7281 100644 --- a/package/efibootmgr/efibootmgr.mk +++ b/package/efibootmgr/efibootmgr.mk @@ -12,12 +12,6 @@ EFIBOOTMGR_DEPENDENCIES = host-pkgconf efivar popt $(TARGET_NLS_DEPENDENCIES) EFIBOOTMGR_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) EFIBOOTMGR_MAKE_ARGS = EFIDIR=buildroot -define EFIBOOTMSR_PATCH_HEADER_PATH - $(SED) 's,-I/,-I$(STAGING_DIR)/,' $(@D)/Makefile -endef - -EFIBOOTMGR_POST_PATCH_HOOKS += EFIBOOTMSR_PATCH_HEADER_PATH - define EFIBOOTMGR_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ LDFLAGS="$(EFIBOOTMGR_LDFLAGS)" $(MAKE1) -C $(@D) \ diff --git a/package/efivar/Config.in b/package/efivar/Config.in index 74f2bb5abb..545962ed70 100644 --- a/package/efivar/Config.in +++ b/package/efivar/Config.in @@ -17,14 +17,17 @@ config BR2_PACKAGE_EFIVAR # toolchains. depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + # needs __builtin_bswap16 + depends on BR2_HOST_GCC_AT_LEAST_4_8 help Tools and libraries to manipulate EFI variables https://github.com/rhboot/efivar -comment "efivar needs a toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9" +comment "efivar needs a toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9, host gcc >= 4.8" depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS diff --git a/package/efivar/efivar.hash b/package/efivar/efivar.hash index e8a65adc4b..7feb5b7533 100644 --- a/package/efivar/efivar.hash +++ b/package/efivar/efivar.hash @@ -1,3 +1,3 @@ # locally computed hash -sha256 9691399a424b8e3776b7ed2df1893c4162285a93697d781f387d0f0d258a7f4b efivar-34.tar.gz +sha256 747bc4d97b4bd74979e5356c44a172534a8a07184f130349fd201742e683d292 efivar-35.tar.gz sha256 91df770634adc2755e78cae33a0d01e702ce2f69046408ae93d0d934ff29691b COPYING diff --git a/package/efivar/efivar.mk b/package/efivar/efivar.mk index 492a4468bf..d96bd98d09 100644 --- a/package/efivar/efivar.mk +++ b/package/efivar/efivar.mk @@ -4,7 +4,7 @@ # ################################################################################ -EFIVAR_VERSION = 34 +EFIVAR_VERSION = 35 EFIVAR_SITE = $(call github,rhboot,efivar,$(EFIVAR_VERSION)) EFIVAR_LICENSE = LGPL-2.1 EFIVAR_LICENSE_FILES = COPYING diff --git a/package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch b/package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch new file mode 100644 index 0000000000..b64a200ffb --- /dev/null +++ b/package/efl/0001-evas-gl-make-GLintptr-etc.-also-ndefed-for-GL_VERSIO.patch @@ -0,0 +1,34 @@ +From d045dd99acdd47be238642d4f9384dccacde2b42 Mon Sep 17 00:00:00 2001 +From: "Carsten Haitzler (Rasterman)" +Date: Sat, 15 Dec 2018 16:19:01 +0000 +Subject: [PATCH] evas gl - make GLintptr etc. also ndefed for GL_VERSION_1_5 + fix typedef + +It seems that GL_VERSION_1_5 define == these provided by gl already. At +least reading the mesa headers I do, so this should fix T7502 + +Signed-off-by: Vadim Kochan +--- + src/lib/evas/Evas_GL.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/lib/evas/Evas_GL.h b/src/lib/evas/Evas_GL.h +index fa3e6f4..5524d82 100644 +--- a/src/lib/evas/Evas_GL.h ++++ b/src/lib/evas/Evas_GL.h +@@ -4272,9 +4272,11 @@ typedef signed int GLfixed; // Changed khronos_int32_t + + #ifndef GL_ES_VERSION_2_0 + /* GL types for handling large vertex buffer objects */ +-#include ++# ifndef GL_VERSION_1_5 ++# include + typedef ptrdiff_t GLintptr; // Changed khronos_intptr_t + typedef ptrdiff_t GLsizeiptr; // Changed khronos_ssize_t ++# endif + #endif + + /* Some definitions from GLES 3.0. +-- +2.14.1 + diff --git a/package/efl/efl.hash b/package/efl/efl.hash index 1391d1f707..bbefdeec66 100644 --- a/package/efl/efl.hash +++ b/package/efl/efl.hash @@ -1,10 +1,11 @@ -# From https://download.enlightenment.org/rel/libs/efl/efl-1.20.7.tar.xz.sha256 -sha256 b0a9b765bcd7b012f1072da1d491fc8671aa089473f746901d93f5807a2c76fe efl-1.20.7.tar.xz +# From https://download.enlightenment.org/rel/libs/efl/efl-1.21.1.tar.xz.sha256 +sha256 44774b42b3dbbbe4d124c8fddcd169c6ffab9d602d1a757abcfb9a84e001a928 efl-1.21.1.tar.xz + sha256 d949e42ca8fd48d275c397c5fc2ac34c9b63ada715dcaf1a670e17bb62964341 COMPLIANCE sha256 1f0597d326e2fdb54aa2f0caec6d8bb0afb9941ef32475f017ed02ca214fcf37 COPYING -sha256 781ee841d15835b393bfe7d4c6497dc1b05217479abd40daceaf7aa102a758e1 licenses/COPYING.BSD +sha256 af4ffe7ed1795a6e9cd3b3ce8747fdc45da449ff58cf35b8027c0699a66fd5cf licenses/COPYING.BSD sha256 e60d07dfb2c5264f9f405fa52bf0d4f85429dd9ae1bc2ffcff8af1924ef720d1 licenses/COPYING.FTL sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 licenses/COPYING.GPL -sha256 89f79ccd2c35ba220ddeba70ee36ca867226c41fc210bc5e7f1e9032c5b16d5f licenses/COPYING.LGPL +sha256 ae2d99bf2a8e8310281bdbe5e8b78cbe5e89bfead8c01e67a8c68b530efcf25a licenses/COPYING.LGPL sha256 2996a1c43ee757f9c997a829d82bdd584052323e73cf02ff8126c6fbd95c2d87 licenses/COPYING.NGINX-MIT -sha256 48f124212f8fc024392a2d1d011fbb96c7ab8f89c0b72c671c33e9e1cb1d0790 licenses/COPYING.SMALL +sha256 d847c749aa38b8d864665fc4e5c80e2f2a505e414fafe9712e85b5154e908218 licenses/COPYING.SMALL diff --git a/package/efl/efl.mk b/package/efl/efl.mk index 6ef7d53385..c4fd676be1 100644 --- a/package/efl/efl.mk +++ b/package/efl/efl.mk @@ -4,7 +4,7 @@ # ################################################################################ -EFL_VERSION = 1.20.7 +EFL_VERSION = 1.21.1 EFL_SOURCE = efl-$(EFL_VERSION).tar.xz EFL_SITE = http://download.enlightenment.org/rel/libs/efl EFL_LICENSE = BSD-2-Clause, LGPL-2.1+, GPL-2.0+, FTL, MIT @@ -50,11 +50,6 @@ EFL_CONF_OPTS = \ --enable-liblz4 \ --with-doxygen=no -# Disable untested configuration warning. -ifeq ($(BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG),) -EFL_CONF_OPTS += --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb -endif - ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y) EFL_CONF_OPTS += --enable-cxx-bindings \ --with-eolian-cxx=$(HOST_DIR)/bin/eolian_cxx @@ -345,7 +340,6 @@ HOST_EFL_DEPENDENCIES = \ # --with-doxygen: disable doxygen documentation # --with-net-control=none: disable connman networkmanager. # --with-x11=none: remove dependency on X.org. -# Yes I really know what I am doing. HOST_EFL_CONF_OPTS += \ --disable-audio \ --disable-fontconfig \ @@ -372,8 +366,7 @@ HOST_EFL_CONF_OPTS += \ --with-glib=yes \ --with-net-control=none \ --with-opengl=none \ - --with-x11=none \ - --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb + --with-x11=none # Enable Eolian language bindings to provide eolian_cxx tool for the # host which is required to build Eolian language bindings for the diff --git a/package/eigen/eigen.hash b/package/eigen/eigen.hash index 4a1bcdf93d..e5c8404022 100644 --- a/package/eigen/eigen.hash +++ b/package/eigen/eigen.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 dd254beb0bafc695d0f62ae1a222ff85b52dbaa3a16f76e781dce22d0d20a4a6 3.3.4.tar.bz2 +sha256 9f13cf90dedbe3e52a19f43000d71fdf72e986beb9a5436dddcd61ff9d77a3ce 3.3.7.tar.bz2 sha256 4f877e5ae4672568ef82cfd0023e2cef4a7cf55d867ab249efc9569a7eb9e5b1 COPYING.BSD sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPL sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk index 27c4e212a9..5c9e028442 100644 --- a/package/eigen/eigen.mk +++ b/package/eigen/eigen.mk @@ -4,7 +4,7 @@ # ################################################################################ -EIGEN_VERSION = 3.3.4 +EIGEN_VERSION = 3.3.7 EIGEN_SOURCE = $(EIGEN_VERSION).tar.bz2 EIGEN_SITE = https://bitbucket.org/eigen/eigen/get EIGEN_LICENSE = MPL2, BSD-3-Clause, LGPL-2.1 diff --git a/package/ejabberd/0001-Makefile.in-do-not-download-or-compile-dependencies.patch b/package/ejabberd/0001-Makefile.in-do-not-download-or-compile-dependencies.patch new file mode 100644 index 0000000000..01a5362e5f --- /dev/null +++ b/package/ejabberd/0001-Makefile.in-do-not-download-or-compile-dependencies.patch @@ -0,0 +1,35 @@ +From 277103e886c9b3ddfede8b3f5b92d3e94736f404 Mon Sep 17 00:00:00 2001 +From: Johan Oudinet +Date: Fri, 23 Nov 2018 16:13:21 +0100 +Subject: [PATCH] Makefile.in: do not download or compile dependencies + +Signed-off-by: Johan Oudinet +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 48dca7d8..d2324dae 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -94,7 +94,7 @@ ifneq ($(INSTALLGROUP),) + G_USER=-g $(INSTALLGROUP) + endif + +-all: deps src ++all: src + + deps: deps/.got + +@@ -108,7 +108,7 @@ deps/.built: deps/.got + $(REBAR) configure-deps + $(REBAR) compile && :> deps/.built + +-src: deps/.built ++src: + $(REBAR) skip_deps=true compile + + update: +-- +2.17.1 + diff --git a/package/ejabberd/0001-remove-make-targets-for-deps.patch b/package/ejabberd/0001-remove-make-targets-for-deps.patch deleted file mode 100644 index f012140a18..0000000000 --- a/package/ejabberd/0001-remove-make-targets-for-deps.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 21d1f05a8882657c151397d0e4723535402f1757 Mon Sep 17 00:00:00 2001 -From: Philipp Huebner -Date: Wed, 20 Jan 2016 10:22:57 -0500 -Subject: [PATCH] remove make targets for deps - -Without this patch, dependencies would be downloaded and compiled -using rebar at build time. - -Signed-off-by: Frank Hunleth - -diff --git a/Makefile.in b/Makefile.in -index df2abfdc..8c8fd714 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -86,27 +86,11 @@ else - INIT_USER=$(INSTALLUSER) - endif - --all: deps src -+all: src - --deps: deps/.got -- --deps/.got: -- rm -rf deps/.got -- rm -rf deps/.built -- mkdir -p deps -- $(REBAR) get-deps && :> deps/.got -- --deps/.built: deps/.got -- $(REBAR) compile && :> deps/.built -- --src: deps/.built -+src: - $(REBAR) skip_deps=true compile - --update: -- rm -rf deps/.got -- rm -rf deps/.built -- $(REBAR) update-deps && :> deps/.got -- - xref: all - $(REBAR) skip_deps=true xref diff --git a/package/ejabberd/0007-fix-ejabberdctl.patch b/package/ejabberd/0002-fix-ejabberdctl.patch similarity index 100% rename from package/ejabberd/0007-fix-ejabberdctl.patch rename to package/ejabberd/0002-fix-ejabberdctl.patch diff --git a/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch b/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index 154c7bffd5..0000000000 --- a/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 8674f61701da41cc53c532b5fa3a516838a2c5d4 Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Wed, 10 Jan 2018 15:14:56 +0100 -Subject: [PATCH] remove dependencies from rebar config - -Without this patch, dependencies would be downloaded and compiled by -rebar at build time. - -Signed-off-by: Johan Oudinet ---- - rebar.config | 72 ------------------------------------------------------------ - 1 file changed, 72 deletions(-) - -diff --git a/rebar.config b/rebar.config -index d6ad5e7b..0b246b92 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -18,68 +18,6 @@ - %%% - %%%---------------------------------------------------------------------- - --{deps, [{lager, ".*", {git, "https://github.com/erlang-lager/lager", -- {tag, {if_version_above, "17", "3.4.2", "3.2.1"}}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}, -- {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.12"}}}, -- {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.17"}}}, -- {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.10"}}}, -- {fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.25"}}}, -- {xmpp, ".*", {git, "https://github.com/processone/xmpp", {tag, "1.1.16"}}}, -- {fast_yaml, ".*", {git, "https://github.com/processone/fast_yaml", {tag, "1.0.12"}}}, -- {jiffy, ".*", {git, "https://github.com/davisp/jiffy", {tag, "0.14.8"}}}, -- {p1_oauth2, ".*", {git, "https://github.com/processone/p1_oauth2", {tag, "0.6.2"}}}, -- {luerl, ".*", {git, "https://github.com/rvirding/luerl", {tag, "v0.2"}}}, -- {jose, ".*", {git, "git://github.com/potatosalad/erlang-jose.git", {tag, "1.8.4"}}}, -- {fs, ".*", {git, "https://github.com/synrc/fs.git", {tag, "2.12.0"}}}, -- {if_var_true, stun, {stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.16"}}}}, -- {if_var_true, sip, {esip, ".*", {git, "https://github.com/processone/esip", {tag, "1.0.17"}}}}, -- {if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/p1_mysql", -- {tag, "1.0.4"}}}}, -- {if_var_true, pgsql, {p1_pgsql, ".*", {git, "https://github.com/processone/p1_pgsql", -- {tag, "1.1.4"}}}}, -- {if_var_true, sqlite, {sqlite3, ".*", {git, "https://github.com/processone/erlang-sqlite3", -- {tag, "1.1.5"}}}}, -- {if_var_true, pam, {epam, ".*", {git, "https://github.com/processone/epam", -- {tag, "1.0.3"}}}}, -- {if_var_true, zlib, {ezlib, ".*", {git, "https://github.com/processone/ezlib", -- {tag, "1.0.3"}}}}, -- {if_var_true, riak, {riakc, ".*", {git, "https://github.com/processone/riak-erlang-client.git", -- {tag, {if_version_above, "19", "develop", "2.5.3"}}}}}, -- {if_var_true, graphics, {eimp, ".*", {git, "https://github.com/processone/eimp.git", {tag, "1.0.2"}}}}, -- %% Elixir support, needed to run tests -- {if_var_true, elixir, {elixir, ".*", {git, "https://github.com/elixir-lang/elixir", -- {tag, {if_version_above, "17", "v1.4.4", "v1.1.1"}}}}}, -- %% TODO: When modules are fully migrated to new structure and mix, we will not need anymore rebar_elixir_plugin -- {if_not_rebar3, {if_var_true, elixir, {rebar_elixir_plugin, ".*", -- {git, "https://github.com/processone/rebar_elixir_plugin", "0.1.0"}}}}, -- {if_var_true, iconv, {iconv, ".*", {git, "https://github.com/processone/iconv", -- {tag, "1.0.6"}}}}, -- {if_var_true, tools, {meck, "0.8.*", {git, "https://github.com/eproxus/meck", -- {tag, "0.8.4"}}}}, -- {if_var_true, tools, {moka, ".*", {git, "https://github.com/processone/moka.git", -- {tag, "1.0.5c"}}}}, -- {if_var_true, redis, {eredis, ".*", {git, "https://github.com/wooga/eredis", -- {tag, "v1.0.8"}}}}]}. -- --{if_var_true, latest_deps, -- {floating_deps, [cache_tab, -- fast_tls, -- stringprep, -- fast_xml, -- esip, -- stun, -- fast_yaml, -- xmpp, -- p1_utils, -- p1_mysql, -- p1_pgsql, -- p1_oauth2, -- epam, -- ezlib, -- eimp, -- iconv]}}. -- - {erl_first_files, ["src/ejabberd_config.erl", "src/gen_mod.erl", "src/mod_muc_room.erl", "src/mod_push.erl"]}. - - {erl_opts, [nowarn_deprecated_function, -@@ -153,16 +91,6 @@ - {if_version_above, "17", {cover_enabled, true}}. - {cover_export_enabled, true}. - --{post_hook_configure, [{"fast_tls", []}, -- {"stringprep", []}, -- {"fast_yaml", []}, -- {if_var_true, sip, {"esip", []}}, -- {"fast_xml", [{if_var_true, full_xml, "--enable-full-xml"}]}, -- {if_var_true, pam, {"epam", []}}, -- {if_var_true, zlib, {"ezlib", []}}, -- {if_var_true, graphics, {"eimp", []}}, -- {if_var_true, iconv, {"iconv", []}}]}. -- - {port_env, [{"CFLAGS", "-g -O2 -Wall"}]}. - - {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}. --- -2.14.1 - diff --git a/package/ejabberd/0003-remove-checking-erlang-version.patch b/package/ejabberd/0003-remove-checking-erlang-version.patch deleted file mode 100644 index da3bf2a89e..0000000000 --- a/package/ejabberd/0003-remove-checking-erlang-version.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f384518dedec4ad657ad69d55754076c13c22d96 Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Wed, 20 Jan 2016 08:11:32 -0500 -Subject: [PATCH] remove checking erlang version - -Without this patch, the configure will try to run erlang to simply check -if the version is supported by ejabberd. Instead, we do this test -statically. - -Signed-off-by: Johan Oudinet ---- - configure.ac | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 97e89a2..cd1ab08 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -39,10 +39,8 @@ AC_ARG_ENABLE(erlang-version-check, - [Check Erlang/OTP version @<:@default=yes@:>@])]) - case "$enable_erlang_version_check" in - yes|'') -- ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX]) - ;; - no) -- ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX],[warn]) - ;; - esac - --- -2.5.0 - diff --git a/package/ejabberd/0004-correct-includes.patch b/package/ejabberd/0004-correct-includes.patch deleted file mode 100644 index f8f827a4eb..0000000000 --- a/package/ejabberd/0004-correct-includes.patch +++ /dev/null @@ -1,1919 +0,0 @@ -From 0487178693143955ff57e3c9371fb6e7b164294c Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Thu, 11 Jan 2018 12:49:38 +0100 -Subject: [PATCH] correct includes - -Use include_lib() instead of include() for files from external -libraries. See https://github.com/processone/ejabberd/pull/1446 - -Note: Philipp Huebner has a similar patch in Debian's port of ejabberd -but it was easier to redo this patch from scratch with the following sed -command on ejabberd git repository than adapting Huebner's patch format: -for f in src/*.erl include/*.hrl; do - sed -i -e 's,esip/include,s1_sip/include,g' \ - -e 's,include("ns.hrl,include_lib("p1_xmpp/include/ns.hrl,g' \ - -e 's,include("fxml.hrl,include_lib("p1_xml/include/fxml.hrl,g' \ - -e 's,include("xmpp\.hrl,include_lib("p1_xmpp/include/xmpp.hrl,g' \ - -e 's,include("jid\.hrl,include_lib("p1_xmpp/include/jid.hrl,g' \ - "$f" -done - -Signed-off-by: Johan Oudinet ---- - include/jlib.hrl | 4 ++-- - src/acl.erl | 2 +- - src/acme_challenge.erl | 2 +- - src/ejabberd_acme.erl | 2 +- - src/ejabberd_acme_comm.erl | 2 +- - src/ejabberd_auth_anonymous.erl | 2 +- - src/ejabberd_bosh.erl | 2 +- - src/ejabberd_c2s.erl | 2 +- - src/ejabberd_captcha.erl | 2 +- - src/ejabberd_http.erl | 2 +- - src/ejabberd_http_ws.erl | 2 +- - src/ejabberd_iq.erl | 2 +- - src/ejabberd_local.erl | 2 +- - src/ejabberd_oauth.erl | 2 +- - src/ejabberd_oauth_rest.erl | 2 +- - src/ejabberd_oauth_sql.erl | 2 +- - src/ejabberd_piefxis.erl | 2 +- - src/ejabberd_router.erl | 2 +- - src/ejabberd_router_multicast.erl | 2 +- - src/ejabberd_s2s.erl | 2 +- - src/ejabberd_s2s_in.erl | 2 +- - src/ejabberd_s2s_out.erl | 2 +- - src/ejabberd_service.erl | 2 +- - src/ejabberd_sm.erl | 2 +- - src/ejabberd_socket.erl | 2 +- - src/ejabberd_system_monitor.erl | 2 +- - src/ejabberd_web.erl | 2 +- - src/ejabberd_web_admin.erl | 2 +- - src/ejabberd_websocket.erl | 2 +- - src/ejabberd_xmlrpc.erl | 2 +- - src/gen_iq_handler.erl | 2 +- - src/gen_pubsub_node.erl | 2 +- - src/gen_pubsub_nodetree.erl | 2 +- - src/jd2ejd.erl | 2 +- - src/mod_adhoc.erl | 2 +- - src/mod_admin_extra.erl | 2 +- - src/mod_admin_update_sql.erl | 2 +- - src/mod_announce.erl | 2 +- - src/mod_announce_mnesia.erl | 2 +- - src/mod_announce_riak.erl | 2 +- - src/mod_announce_sql.erl | 2 +- - src/mod_avatar.erl | 2 +- - src/mod_block_strangers.erl | 2 +- - src/mod_blocking.erl | 2 +- - src/mod_bosh.erl | 2 +- - src/mod_caps.erl | 2 +- - src/mod_carboncopy.erl | 2 +- - src/mod_client_state.erl | 2 +- - src/mod_configure.erl | 2 +- - src/mod_delegation.erl | 2 +- - src/mod_disco.erl | 2 +- - src/mod_echo.erl | 2 +- - src/mod_fail2ban.erl | 2 +- - src/mod_http_api.erl | 2 +- - src/mod_http_upload.erl | 2 +- - src/mod_http_upload_quota.erl | 2 +- - src/mod_irc.erl | 2 +- - src/mod_irc_connection.erl | 2 +- - src/mod_irc_mnesia.erl | 2 +- - src/mod_irc_riak.erl | 2 +- - src/mod_irc_sql.erl | 2 +- - src/mod_last.erl | 2 +- - src/mod_legacy_auth.erl | 2 +- - src/mod_mam.erl | 2 +- - src/mod_mam_mnesia.erl | 2 +- - src/mod_mam_sql.erl | 2 +- - src/mod_metrics.erl | 2 +- - src/mod_mix.erl | 2 +- - src/mod_muc.erl | 2 +- - src/mod_muc_admin.erl | 2 +- - src/mod_muc_log.erl | 2 +- - src/mod_muc_mnesia.erl | 2 +- - src/mod_muc_riak.erl | 2 +- - src/mod_muc_room.erl | 2 +- - src/mod_muc_sql.erl | 2 +- - src/mod_multicast.erl | 2 +- - src/mod_offline.erl | 2 +- - src/mod_offline_mnesia.erl | 2 +- - src/mod_offline_riak.erl | 2 +- - src/mod_offline_sql.erl | 2 +- - src/mod_ping.erl | 2 +- - src/mod_pres_counter.erl | 2 +- - src/mod_privacy.erl | 2 +- - src/mod_privacy_mnesia.erl | 2 +- - src/mod_privacy_riak.erl | 2 +- - src/mod_privacy_sql.erl | 2 +- - src/mod_private.erl | 2 +- - src/mod_private_mnesia.erl | 2 +- - src/mod_private_riak.erl | 2 +- - src/mod_private_sql.erl | 2 +- - src/mod_privilege.erl | 2 +- - src/mod_proxy65_service.erl | 2 +- - src/mod_pubsub.erl | 2 +- - src/mod_push.erl | 2 +- - src/mod_push_keepalive.erl | 2 +- - src/mod_push_mnesia.erl | 2 +- - src/mod_push_sql.erl | 2 +- - src/mod_register.erl | 2 +- - src/mod_register_web.erl | 2 +- - src/mod_roster.erl | 2 +- - src/mod_s2s_dialback.erl | 2 +- - src/mod_service_log.erl | 2 +- - src/mod_shared_roster.erl | 2 +- - src/mod_shared_roster_ldap.erl | 2 +- - src/mod_shared_roster_mnesia.erl | 2 +- - src/mod_shared_roster_riak.erl | 2 +- - src/mod_shared_roster_sql.erl | 2 +- - src/mod_sic.erl | 2 +- - src/mod_sip.erl | 2 +- - src/mod_sip_proxy.erl | 2 +- - src/mod_sip_registrar.erl | 2 +- - src/mod_stats.erl | 2 +- - src/mod_stream_mgmt.erl | 2 +- - src/mod_time.erl | 2 +- - src/mod_vcard.erl | 2 +- - src/mod_vcard_ldap.erl | 2 +- - src/mod_vcard_mnesia.erl | 2 +- - src/mod_vcard_riak.erl | 2 +- - src/mod_vcard_sql.erl | 2 +- - src/mod_vcard_xupdate.erl | 2 +- - src/mod_version.erl | 2 +- - src/node_dag.erl | 2 +- - src/node_dispatch.erl | 2 +- - src/node_flat.erl | 2 +- - src/node_flat_sql.erl | 2 +- - src/node_online.erl | 2 +- - src/nodetree_dag.erl | 2 +- - src/nodetree_tree.erl | 2 +- - src/nodetree_tree_sql.erl | 2 +- - src/prosody2ejabberd.erl | 2 +- - src/pubsub_subscription.erl | 2 +- - src/pubsub_subscription_sql.erl | 2 +- - src/xmpp_stream_in.erl | 2 +- - src/xmpp_stream_out.erl | 2 +- - src/xmpp_stream_pkix.erl | 2 +- - 135 files changed, 136 insertions(+), 136 deletions(-) - -diff --git a/include/jlib.hrl b/include/jlib.hrl -index cd5fedbf..293fcc0e 100644 ---- a/include/jlib.hrl -+++ b/include/jlib.hrl -@@ -18,8 +18,8 @@ - %%% - %%%---------------------------------------------------------------------- - ---include("ns.hrl"). ---include("fxml.hrl"). -+-include_lib("p1_xmpp/include/ns.hrl"). -+-include_lib("p1_xml/include/fxml.hrl"). - - -define(STANZA_ERROR(Code, Type, Condition), - #xmlel{name = <<"error">>, -diff --git a/src/acl.erl b/src/acl.erl -index 2d848b99..88df4625 100644 ---- a/src/acl.erl -+++ b/src/acl.erl -@@ -45,7 +45,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - - -record(acl, {aclname, aclspec}). - -record(access, {name :: aclname(), -diff --git a/src/acme_challenge.erl b/src/acme_challenge.erl -index f4fde4e7..45fc6d8f 100644 ---- a/src/acme_challenge.erl -+++ b/src/acme_challenge.erl -@@ -16,7 +16,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_http.hrl"). - -include("ejabberd_acme.hrl"). - -diff --git a/src/ejabberd_acme.erl b/src/ejabberd_acme.erl -index a5166b45..eee74092 100644 ---- a/src/ejabberd_acme.erl -+++ b/src/ejabberd_acme.erl -@@ -21,7 +21,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_commands.hrl"). - -include("ejabberd_acme.hrl"). - -include_lib("public_key/include/public_key.hrl"). -diff --git a/src/ejabberd_acme_comm.erl b/src/ejabberd_acme_comm.erl -index a5668d08..02acd1c4 100644 ---- a/src/ejabberd_acme_comm.erl -+++ b/src/ejabberd_acme_comm.erl -@@ -24,7 +24,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_acme.hrl"). - -include_lib("public_key/include/public_key.hrl"). -diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl -index a4f3ac1c..697b3e08 100644 ---- a/src/ejabberd_auth_anonymous.erl -+++ b/src/ejabberd_auth_anonymous.erl -@@ -46,7 +46,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - - start(Host) -> - ejabberd_hooks:add(sm_register_connection_hook, Host, -diff --git a/src/ejabberd_bosh.erl b/src/ejabberd_bosh.erl -index 1df6681f..e8cc5f9b 100644 ---- a/src/ejabberd_bosh.erl -+++ b/src/ejabberd_bosh.erl -@@ -47,7 +47,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl -index a94d065f..a56d9041 100644 ---- a/src/ejabberd_c2s.erl -+++ b/src/ejabberd_c2s.erl -@@ -52,7 +52,7 @@ - host_up/1, host_down/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("mod_roster.hrl"). - -diff --git a/src/ejabberd_captcha.erl b/src/ejabberd_captcha.erl -index 76af5278..3a950786 100644 ---- a/src/ejabberd_captcha.erl -+++ b/src/ejabberd_captcha.erl -@@ -43,7 +43,7 @@ - is_feature_available/0, create_captcha_x/5, - opt_type/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd.hrl"). - -include("logger.hrl"). - -include("ejabberd_http.hrl"). -diff --git a/src/ejabberd_http.erl b/src/ejabberd_http.erl -index 0bc0d8fc..d39a585d 100644 ---- a/src/ejabberd_http.erl -+++ b/src/ejabberd_http.erl -@@ -39,7 +39,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_http_ws.erl b/src/ejabberd_http_ws.erl -index f9f7b07e..5c0e6ea1 100644 ---- a/src/ejabberd_http_ws.erl -+++ b/src/ejabberd_http_ws.erl -@@ -39,7 +39,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_iq.erl b/src/ejabberd_iq.erl -index 7d2751dc..76a6b056 100644 ---- a/src/ejabberd_iq.erl -+++ b/src/ejabberd_iq.erl -@@ -34,7 +34,7 @@ - -export([init/1, handle_call/3, handle_cast/2, handle_info/2, - terminate/2, code_change/3]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -record(state, {expire = infinity :: timeout()}). -diff --git a/src/ejabberd_local.erl b/src/ejabberd_local.erl -index cc1d6a2e..f72fd43b 100644 ---- a/src/ejabberd_local.erl -+++ b/src/ejabberd_local.erl -@@ -50,7 +50,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - -include_lib("stdlib/include/ms_transform.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, {}). - -diff --git a/src/ejabberd_oauth.erl b/src/ejabberd_oauth.erl -index df4e4bc2..34bf24f8 100644 ---- a/src/ejabberd_oauth.erl -+++ b/src/ejabberd_oauth.erl -@@ -52,7 +52,7 @@ - - -export([oauth_issue_token/3, oauth_list_tokens/0, oauth_revoke_token/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd.hrl"). - -include("logger.hrl"). -diff --git a/src/ejabberd_oauth_rest.erl b/src/ejabberd_oauth_rest.erl -index 206fab43..1a7287ee 100644 ---- a/src/ejabberd_oauth_rest.erl -+++ b/src/ejabberd_oauth_rest.erl -@@ -37,7 +37,7 @@ - -include("ejabberd.hrl"). - -include("ejabberd_oauth.hrl"). - -include("logger.hrl"). ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - - init() -> - rest:start(?MYNAME), -diff --git a/src/ejabberd_oauth_sql.erl b/src/ejabberd_oauth_sql.erl -index 14eaca6a..fcd105ba 100644 ---- a/src/ejabberd_oauth_sql.erl -+++ b/src/ejabberd_oauth_sql.erl -@@ -36,7 +36,7 @@ - -include("ejabberd_oauth.hrl"). - -include("ejabberd.hrl"). - -include("ejabberd_sql_pt.hrl"). ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("logger.hrl"). - - init() -> -diff --git a/src/ejabberd_piefxis.erl b/src/ejabberd_piefxis.erl -index ecb4908a..7331f442 100644 ---- a/src/ejabberd_piefxis.erl -+++ b/src/ejabberd_piefxis.erl -@@ -42,7 +42,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_privacy.hrl"). - -include("mod_roster.hrl"). - -diff --git a/src/ejabberd_router.erl b/src/ejabberd_router.erl -index e2901483..315505ec 100644 ---- a/src/ejabberd_router.erl -+++ b/src/ejabberd_router.erl -@@ -71,7 +71,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - -include("ejabberd_router.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -callback init() -> any(). - -callback register_route(binary(), binary(), local_hint(), -diff --git a/src/ejabberd_router_multicast.erl b/src/ejabberd_router_multicast.erl -index 5d5acfca..3f206ef2 100644 ---- a/src/ejabberd_router_multicast.erl -+++ b/src/ejabberd_router_multicast.erl -@@ -43,7 +43,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(route_multicast, {domain = <<"">> :: binary() | '_', - pid = self() :: pid()}). -diff --git a/src/ejabberd_s2s.erl b/src/ejabberd_s2s.erl -index 0626d62f..e2fc34c9 100644 ---- a/src/ejabberd_s2s.erl -+++ b/src/ejabberd_s2s.erl -@@ -57,7 +57,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_commands.hrl"). - -diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl -index a949e83d..3d8e100e 100644 ---- a/src/ejabberd_s2s_in.erl -+++ b/src/ejabberd_s2s_in.erl -@@ -45,7 +45,7 @@ - host_up/1, host_down/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -type state() :: map(). -diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl -index fea5d816..c035731f 100644 ---- a/src/ejabberd_s2s_out.erl -+++ b/src/ejabberd_s2s_out.erl -@@ -43,7 +43,7 @@ - route/2, establish/1, update_state/2, host_up/1, host_down/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -type state() :: map(). -diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl -index 7b5f945d..895fed09 100644 ---- a/src/ejabberd_service.erl -+++ b/src/ejabberd_service.erl -@@ -37,7 +37,7 @@ - -export([send/2]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -type state() :: map(). -diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl -index 3df1d88e..e8087c48 100644 ---- a/src/ejabberd_sm.erl -+++ b/src/ejabberd_sm.erl -@@ -89,7 +89,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_commands.hrl"). - -include("ejabberd_sm.hrl"). -diff --git a/src/ejabberd_socket.erl b/src/ejabberd_socket.erl -index 9953a76a..0dd1c4ff 100644 ---- a/src/ejabberd_socket.erl -+++ b/src/ejabberd_socket.erl -@@ -52,7 +52,7 @@ - sockname/1, peername/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -type sockmod() :: ejabberd_bosh | -diff --git a/src/ejabberd_system_monitor.erl b/src/ejabberd_system_monitor.erl -index 773104f9..46e641b7 100644 ---- a/src/ejabberd_system_monitor.erl -+++ b/src/ejabberd_system_monitor.erl -@@ -41,7 +41,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, {}). - -diff --git a/src/ejabberd_web.erl b/src/ejabberd_web.erl -index 7a40d2c7..aa1abc9b 100644 ---- a/src/ejabberd_web.erl -+++ b/src/ejabberd_web.erl -@@ -34,7 +34,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_web_admin.erl b/src/ejabberd_web_admin.erl -index b3d72c19..cdd951b6 100644 ---- a/src/ejabberd_web_admin.erl -+++ b/src/ejabberd_web_admin.erl -@@ -38,7 +38,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_websocket.erl b/src/ejabberd_websocket.erl -index 9926c20c..fabf2293 100644 ---- a/src/ejabberd_websocket.erl -+++ b/src/ejabberd_websocket.erl -@@ -47,7 +47,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_xmlrpc.erl b/src/ejabberd_xmlrpc.erl -index 213aef7a..f5b51894 100644 ---- a/src/ejabberd_xmlrpc.erl -+++ b/src/ejabberd_xmlrpc.erl -@@ -42,7 +42,7 @@ - -include("ejabberd_http.hrl"). - -include("mod_roster.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, - {access_commands = [] :: list(), -diff --git a/src/gen_iq_handler.erl b/src/gen_iq_handler.erl -index d34db358..ab04a252 100644 ---- a/src/gen_iq_handler.erl -+++ b/src/gen_iq_handler.erl -@@ -45,7 +45,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, {host, module, function}). - -diff --git a/src/gen_pubsub_node.erl b/src/gen_pubsub_node.erl -index 4f516bd5..83de80a8 100644 ---- a/src/gen_pubsub_node.erl -+++ b/src/gen_pubsub_node.erl -@@ -25,7 +25,7 @@ - - -module(gen_pubsub_node). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -type(host() :: mod_pubsub:host()). - -type(nodeId() :: mod_pubsub:nodeId()). -diff --git a/src/gen_pubsub_nodetree.erl b/src/gen_pubsub_nodetree.erl -index bf7140aa..4267b9a1 100644 ---- a/src/gen_pubsub_nodetree.erl -+++ b/src/gen_pubsub_nodetree.erl -@@ -36,7 +36,7 @@ - ServerHost :: binary(), - Opts :: [any()]) -> atom(). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -callback terminate(Host :: host(), ServerHost :: binary()) -> atom(). - -diff --git a/src/jd2ejd.erl b/src/jd2ejd.erl -index ae293698..bbe9bc6d 100644 ---- a/src/jd2ejd.erl -+++ b/src/jd2ejd.erl -@@ -32,7 +32,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - %%%---------------------------------------------------------------------- - %%% API -diff --git a/src/mod_adhoc.erl b/src/mod_adhoc.erl -index e6df3904..0f3ada11 100644 ---- a/src/mod_adhoc.erl -+++ b/src/mod_adhoc.erl -@@ -39,7 +39,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl -index 799f0079..9fd8531b 100644 ---- a/src/mod_admin_extra.erl -+++ b/src/mod_admin_extra.erl -@@ -84,7 +84,7 @@ - -include("mod_roster.hrl"). - -include("mod_privacy.hrl"). - -include("ejabberd_sm.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - %%% - %%% gen_mod -diff --git a/src/mod_admin_update_sql.erl b/src/mod_admin_update_sql.erl -index 2f105d97..cace1b94 100644 ---- a/src/mod_admin_update_sql.erl -+++ b/src/mod_admin_update_sql.erl -@@ -38,7 +38,7 @@ - -include("logger.hrl"). - -include("ejabberd.hrl"). - -include("ejabberd_commands.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_sql_pt.hrl"). - - %%% -diff --git a/src/mod_announce.erl b/src/mod_announce.erl -index b259aced..146b6a35 100644 ---- a/src/mod_announce.erl -+++ b/src/mod_announce.erl -@@ -52,7 +52,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_announce.hrl"). - - -callback init(binary(), gen_mod:opts()) -> any(). -diff --git a/src/mod_announce_mnesia.erl b/src/mod_announce_mnesia.erl -index f2e5c1c4..cecd68cc 100644 ---- a/src/mod_announce_mnesia.erl -+++ b/src/mod_announce_mnesia.erl -@@ -31,7 +31,7 @@ - get_motd/1, is_motd_user/2, set_motd_user/2, import/3]). - -export([need_transform/1, transform/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_announce.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_announce_riak.erl b/src/mod_announce_riak.erl -index 04a29a68..a3dac3e9 100644 ---- a/src/mod_announce_riak.erl -+++ b/src/mod_announce_riak.erl -@@ -30,7 +30,7 @@ - -export([init/2, set_motd_users/2, set_motd/2, delete_motd/1, - get_motd/1, is_motd_user/2, set_motd_user/2, import/3]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_announce.hrl"). - - %%%=================================================================== -diff --git a/src/mod_announce_sql.erl b/src/mod_announce_sql.erl -index c5c9eb58..b243d05d 100644 ---- a/src/mod_announce_sql.erl -+++ b/src/mod_announce_sql.erl -@@ -33,7 +33,7 @@ - get_motd/1, is_motd_user/2, set_motd_user/2, import/3, - export/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_announce.hrl"). - -include("ejabberd_sql_pt.hrl"). - -include("logger.hrl"). -diff --git a/src/mod_avatar.erl b/src/mod_avatar.erl -index dde58abf..ffc31c94 100644 ---- a/src/mod_avatar.erl -+++ b/src/mod_avatar.erl -@@ -28,7 +28,7 @@ - %% Hooks - -export([pubsub_publish_item/6, vcard_iq_convert/1, vcard_iq_publish/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("pubsub.hrl"). - -diff --git a/src/mod_block_strangers.erl b/src/mod_block_strangers.erl -index b2c56f36..429c0ab2 100644 ---- a/src/mod_block_strangers.erl -+++ b/src/mod_block_strangers.erl -@@ -34,7 +34,7 @@ - - -export([filter_packet/1, filter_offline_msg/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_blocking.erl b/src/mod_blocking.erl -index 738c5e16..479b34ea 100644 ---- a/src/mod_blocking.erl -+++ b/src/mod_blocking.erl -@@ -35,7 +35,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("mod_privacy.hrl"). - -diff --git a/src/mod_bosh.erl b/src/mod_bosh.erl -index 6ee58047..e49ab960 100644 ---- a/src/mod_bosh.erl -+++ b/src/mod_bosh.erl -@@ -41,7 +41,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - -include_lib("stdlib/include/ms_transform.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_http.hrl"). - -include("bosh.hrl"). - -diff --git a/src/mod_caps.erl b/src/mod_caps.erl -index edc93bbf..6ead4230 100644 ---- a/src/mod_caps.erl -+++ b/src/mod_caps.erl -@@ -53,7 +53,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_caps.hrl"). - - -define(BAD_HASH_LIFETIME, 600). -diff --git a/src/mod_carboncopy.erl b/src/mod_carboncopy.erl -index 307d6154..c3a998d8 100644 ---- a/src/mod_carboncopy.erl -+++ b/src/mod_carboncopy.erl -@@ -40,7 +40,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_carboncopy.hrl"). - - -type direction() :: sent | received. -diff --git a/src/mod_client_state.erl b/src/mod_client_state.erl -index f7adb1c6..09507b73 100644 ---- a/src/mod_client_state.erl -+++ b/src/mod_client_state.erl -@@ -42,7 +42,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(CSI_QUEUE_MAX, 100). - -diff --git a/src/mod_configure.erl b/src/mod_configure.erl -index 31f7a9c8..6ea5bd37 100644 ---- a/src/mod_configure.erl -+++ b/src/mod_configure.erl -@@ -40,7 +40,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_sm.hrl"). - -include_lib("stdlib/include/ms_transform.hrl"). - -diff --git a/src/mod_delegation.erl b/src/mod_delegation.erl -index 27e00768..c93912d6 100644 ---- a/src/mod_delegation.erl -+++ b/src/mod_delegation.erl -@@ -42,7 +42,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -type disco_acc() :: {error, stanza_error()} | {result, [binary()]} | empty. - -record(state, {server_host = <<"">> :: binary(), -diff --git a/src/mod_disco.erl b/src/mod_disco.erl -index 76be408f..5bea1fb7 100644 ---- a/src/mod_disco.erl -+++ b/src/mod_disco.erl -@@ -42,7 +42,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include_lib("stdlib/include/ms_transform.hrl"). - -include("mod_roster.hrl"). - -diff --git a/src/mod_echo.erl b/src/mod_echo.erl -index 79dd5996..38199d3c 100644 ---- a/src/mod_echo.erl -+++ b/src/mod_echo.erl -@@ -41,7 +41,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, {hosts = [] :: [binary()]}). - -diff --git a/src/mod_fail2ban.erl b/src/mod_fail2ban.erl -index 5e931853..01bdfe2f 100644 ---- a/src/mod_fail2ban.erl -+++ b/src/mod_fail2ban.erl -@@ -39,7 +39,7 @@ - -include_lib("stdlib/include/ms_transform.hrl"). - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(C2S_AUTH_BAN_LIFETIME, 3600). %% 1 hour - -define(C2S_MAX_AUTH_FAILURES, 20). -diff --git a/src/mod_http_api.erl b/src/mod_http_api.erl -index ef881d14..f7cd10bf 100644 ---- a/src/mod_http_api.erl -+++ b/src/mod_http_api.erl -@@ -77,7 +77,7 @@ - -export([start/2, stop/1, reload/3, process/2, mod_opt_type/1, depends/2]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("ejabberd_http.hrl"). - -diff --git a/src/mod_http_upload.erl b/src/mod_http_upload.erl -index c3c295f6..d3bd4e84 100644 ---- a/src/mod_http_upload.erl -+++ b/src/mod_http_upload.erl -@@ -89,7 +89,7 @@ - - -include("ejabberd.hrl"). - -include("ejabberd_http.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -record(state, -diff --git a/src/mod_http_upload_quota.erl b/src/mod_http_upload_quota.erl -index 10243ac0..cda5c563 100644 ---- a/src/mod_http_upload_quota.erl -+++ b/src/mod_http_upload_quota.erl -@@ -50,7 +50,7 @@ - %% ejabberd_hooks callback. - -export([handle_slot_request/5]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("logger.hrl"). - -include_lib("kernel/include/file.hrl"). - -diff --git a/src/mod_irc.erl b/src/mod_irc.erl -index 92093507..9b9becc8 100644 ---- a/src/mod_irc.erl -+++ b/src/mod_irc.erl -@@ -43,7 +43,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_irc.hrl"). - - -define(DEFAULT_IRC_ENCODING, <<"iso8859-15">>). -diff --git a/src/mod_irc_connection.erl b/src/mod_irc_connection.erl -index 59336591..ca81358f 100644 ---- a/src/mod_irc_connection.erl -+++ b/src/mod_irc_connection.erl -@@ -41,7 +41,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(SETS, gb_sets). - -diff --git a/src/mod_irc_mnesia.erl b/src/mod_irc_mnesia.erl -index eb982e1f..510ce09d 100644 ---- a/src/mod_irc_mnesia.erl -+++ b/src/mod_irc_mnesia.erl -@@ -30,7 +30,7 @@ - -export([init/2, get_data/3, set_data/4, import/2]). - -export([need_transform/1, transform/1]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_irc.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_irc_riak.erl b/src/mod_irc_riak.erl -index 23f2a2c3..d236bfa7 100644 ---- a/src/mod_irc_riak.erl -+++ b/src/mod_irc_riak.erl -@@ -29,7 +29,7 @@ - %% API - -export([init/2, get_data/3, set_data/4, import/2]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_irc.hrl"). - - %%%=================================================================== -diff --git a/src/mod_irc_sql.erl b/src/mod_irc_sql.erl -index 1f8d7d16..5f784fdc 100644 ---- a/src/mod_irc_sql.erl -+++ b/src/mod_irc_sql.erl -@@ -31,7 +31,7 @@ - %% API - -export([init/2, get_data/3, set_data/4, import/1, import/2, export/1]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_irc.hrl"). - -include("ejabberd_sql_pt.hrl"). - -diff --git a/src/mod_last.erl b/src/mod_last.erl -index e97ef43f..34498e26 100644 ---- a/src/mod_last.erl -+++ b/src/mod_last.erl -@@ -40,7 +40,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("mod_privacy.hrl"). - -include("mod_last.hrl"). -diff --git a/src/mod_legacy_auth.erl b/src/mod_legacy_auth.erl -index 722a0573..c6644386 100644 ---- a/src/mod_legacy_auth.erl -+++ b/src/mod_legacy_auth.erl -@@ -29,7 +29,7 @@ - %% hooks - -export([c2s_unauthenticated_packet/2, c2s_stream_features/2]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -type c2s_state() :: ejabberd_c2s:state(). - -diff --git a/src/mod_mam.erl b/src/mod_mam.erl -index eb839ea1..abc461db 100644 ---- a/src/mod_mam.erl -+++ b/src/mod_mam.erl -@@ -41,7 +41,7 @@ - delete_old_messages/2, get_commands_spec/0, msg_to_el/4, - get_room_config/4, set_room_option/3, offline_message/1, export/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("mod_muc_room.hrl"). - -include("ejabberd_commands.hrl"). -diff --git a/src/mod_mam_mnesia.erl b/src/mod_mam_mnesia.erl -index 71f1f701..a3a7eb5f 100644 ---- a/src/mod_mam_mnesia.erl -+++ b/src/mod_mam_mnesia.erl -@@ -31,7 +31,7 @@ - extended_fields/0, store/8, write_prefs/4, get_prefs/2, select/6]). - - -include_lib("stdlib/include/ms_transform.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("mod_mam.hrl"). - -diff --git a/src/mod_mam_sql.erl b/src/mod_mam_sql.erl -index 40aa9836..b4fab39b 100644 ---- a/src/mod_mam_sql.erl -+++ b/src/mod_mam_sql.erl -@@ -33,7 +33,7 @@ - extended_fields/0, store/8, write_prefs/4, get_prefs/2, select/6, export/1]). - - -include_lib("stdlib/include/ms_transform.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_mam.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_metrics.erl b/src/mod_metrics.erl -index 73a68a8d..1b0d2e1b 100644 ---- a/src/mod_metrics.erl -+++ b/src/mod_metrics.erl -@@ -30,7 +30,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([start/2, stop/1, mod_opt_type/1, depends/2, reload/3]). - -diff --git a/src/mod_mix.erl b/src/mod_mix.erl -index 90507665..627363f3 100644 ---- a/src/mod_mix.erl -+++ b/src/mod_mix.erl -@@ -37,7 +37,7 @@ - terminate/2, code_change/3]). - - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(NODES, [?NS_MIX_NODES_MESSAGES, - ?NS_MIX_NODES_PRESENCE, -diff --git a/src/mod_muc.erl b/src/mod_muc.erl -index f7d5303f..f01cde16 100644 ---- a/src/mod_muc.erl -+++ b/src/mod_muc.erl -@@ -73,7 +73,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_muc.hrl"). - - -record(state, -diff --git a/src/mod_muc_admin.erl b/src/mod_muc_admin.erl -index e41f62b5..4d18d068 100644 ---- a/src/mod_muc_admin.erl -+++ b/src/mod_muc_admin.erl -@@ -43,7 +43,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_muc.hrl"). - -include("mod_muc_room.hrl"). - -include("ejabberd_http.hrl"). -diff --git a/src/mod_muc_log.erl b/src/mod_muc_log.erl -index f2685aaa..abb55c42 100644 ---- a/src/mod_muc_log.erl -+++ b/src/mod_muc_log.erl -@@ -44,7 +44,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_muc_room.hrl"). - - -define(T(Text), translate:translate(Lang, Text)). -diff --git a/src/mod_muc_mnesia.erl b/src/mod_muc_mnesia.erl -index aa59038c..7334aca4 100644 ---- a/src/mod_muc_mnesia.erl -+++ b/src/mod_muc_mnesia.erl -@@ -44,7 +44,7 @@ - - -include("mod_muc.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include_lib("stdlib/include/ms_transform.hrl"). - - -record(state, {}). -diff --git a/src/mod_muc_riak.erl b/src/mod_muc_riak.erl -index 57d9666b..4ebd2949 100644 ---- a/src/mod_muc_riak.erl -+++ b/src/mod_muc_riak.erl -@@ -38,7 +38,7 @@ - -export([set_affiliation/6, set_affiliations/4, get_affiliation/5, - get_affiliations/3, search_affiliation/4]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_muc.hrl"). - - %%%=================================================================== -diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl -index bafa938d..d8b5e288 100644 ---- a/src/mod_muc_room.erl -+++ b/src/mod_muc_room.erl -@@ -51,7 +51,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("mod_muc_room.hrl"). - -diff --git a/src/mod_muc_sql.erl b/src/mod_muc_sql.erl -index 8aa6071c..71d79b02 100644 ---- a/src/mod_muc_sql.erl -+++ b/src/mod_muc_sql.erl -@@ -41,7 +41,7 @@ - -export([set_affiliation/6, set_affiliations/4, get_affiliation/5, - get_affiliations/3, search_affiliation/4]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_muc.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_multicast.erl b/src/mod_multicast.erl -index 7b772521..7c1cab3b 100644 ---- a/src/mod_multicast.erl -+++ b/src/mod_multicast.erl -@@ -45,7 +45,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, - {lserver, lservice, access, service_limits}). -diff --git a/src/mod_offline.erl b/src/mod_offline.erl -index 5b95fe4b..8146ffdc 100644 ---- a/src/mod_offline.erl -+++ b/src/mod_offline.erl -@@ -70,7 +70,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/mod_offline_mnesia.erl b/src/mod_offline_mnesia.erl -index a725ab00..126fd1bb 100644 ---- a/src/mod_offline_mnesia.erl -+++ b/src/mod_offline_mnesia.erl -@@ -32,7 +32,7 @@ - remove_all_messages/2, count_messages/2, import/1]). - -export([need_transform/1, transform/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_offline.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_offline_riak.erl b/src/mod_offline_riak.erl -index 5d0fd1af..607a78ba 100644 ---- a/src/mod_offline_riak.erl -+++ b/src/mod_offline_riak.erl -@@ -31,7 +31,7 @@ - read_message/3, remove_message/3, read_all_messages/2, - remove_all_messages/2, count_messages/2, import/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_offline.hrl"). - - %%%=================================================================== -diff --git a/src/mod_offline_sql.erl b/src/mod_offline_sql.erl -index 53a0d345..50fa83bc 100644 ---- a/src/mod_offline_sql.erl -+++ b/src/mod_offline_sql.erl -@@ -33,7 +33,7 @@ - read_message/3, remove_message/3, read_all_messages/2, - remove_all_messages/2, count_messages/2, import/1, export/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_offline.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_ping.erl b/src/mod_ping.erl -index 02357181..7d51f4dc 100644 ---- a/src/mod_ping.erl -+++ b/src/mod_ping.erl -@@ -36,7 +36,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(DEFAULT_SEND_PINGS, false). - -diff --git a/src/mod_pres_counter.erl b/src/mod_pres_counter.erl -index 875aeef3..ffa95576 100644 ---- a/src/mod_pres_counter.erl -+++ b/src/mod_pres_counter.erl -@@ -33,7 +33,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(pres_counter, - {dir, start, count, logged = false}). -diff --git a/src/mod_privacy.erl b/src/mod_privacy.erl -index 64ae9620..034a56e4 100644 ---- a/src/mod_privacy.erl -+++ b/src/mod_privacy.erl -@@ -42,7 +42,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_privacy.hrl"). - - -define(PRIVACY_CACHE, privacy_cache). -diff --git a/src/mod_privacy_mnesia.erl b/src/mod_privacy_mnesia.erl -index 7449262b..201b92ec 100644 ---- a/src/mod_privacy_mnesia.erl -+++ b/src/mod_privacy_mnesia.erl -@@ -32,7 +32,7 @@ - remove_list/3, use_cache/1, import/1]). - -export([need_transform/1, transform/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_privacy.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_privacy_riak.erl b/src/mod_privacy_riak.erl -index 0cd39c11..88f294f8 100644 ---- a/src/mod_privacy_riak.erl -+++ b/src/mod_privacy_riak.erl -@@ -33,7 +33,7 @@ - - -export([privacy_schema/0]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_privacy.hrl"). - - %%%=================================================================== -diff --git a/src/mod_privacy_sql.erl b/src/mod_privacy_sql.erl -index 7939cbb2..6141feda 100644 ---- a/src/mod_privacy_sql.erl -+++ b/src/mod_privacy_sql.erl -@@ -35,7 +35,7 @@ - - -export([item_to_raw/1, raw_to_item/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_privacy.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_private.erl b/src/mod_private.erl -index cb167468..0b84d071 100644 ---- a/src/mod_private.erl -+++ b/src/mod_private.erl -@@ -37,7 +37,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_private.hrl"). - - -define(PRIVATE_CACHE, private_cache). -diff --git a/src/mod_private_mnesia.erl b/src/mod_private_mnesia.erl -index 04c1a04a..6a9dee68 100644 ---- a/src/mod_private_mnesia.erl -+++ b/src/mod_private_mnesia.erl -@@ -31,7 +31,7 @@ - use_cache/1, import/3]). - -export([need_transform/1, transform/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_private.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_private_riak.erl b/src/mod_private_riak.erl -index be175f07..f97c2dd8 100644 ---- a/src/mod_private_riak.erl -+++ b/src/mod_private_riak.erl -@@ -30,7 +30,7 @@ - -export([init/2, set_data/3, get_data/3, get_all_data/2, del_data/2, - import/3]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_private.hrl"). - - %%%=================================================================== -diff --git a/src/mod_private_sql.erl b/src/mod_private_sql.erl -index 5ed584c3..da4974ce 100644 ---- a/src/mod_private_sql.erl -+++ b/src/mod_private_sql.erl -@@ -30,7 +30,7 @@ - -export([init/2, set_data/3, get_data/3, get_all_data/2, del_data/2, - import/3, export/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_private.hrl"). - -include("ejabberd_sql_pt.hrl"). - -include("logger.hrl"). -diff --git a/src/mod_privilege.erl b/src/mod_privilege.erl -index dab7a619..695c8acf 100644 ---- a/src/mod_privilege.erl -+++ b/src/mod_privilege.erl -@@ -41,7 +41,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, {server_host = <<"">> :: binary(), - permissions = dict:new() :: ?TDICT}). -diff --git a/src/mod_proxy65_service.erl b/src/mod_proxy65_service.erl -index fb34ba55..f42aa461 100644 ---- a/src/mod_proxy65_service.erl -+++ b/src/mod_proxy65_service.erl -@@ -39,7 +39,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(PROCNAME, ejabberd_mod_proxy65_service). - -diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl -index d2e1f6c5..b7cd6644 100644 ---- a/src/mod_pubsub.erl -+++ b/src/mod_pubsub.erl -@@ -41,7 +41,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("pubsub.hrl"). - -include("mod_roster.hrl"). - -diff --git a/src/mod_push.erl b/src/mod_push.erl -index 1eaec6ad..ac4ed89e 100644 ---- a/src/mod_push.erl -+++ b/src/mod_push.erl -@@ -52,7 +52,7 @@ - -include("ejabberd.hrl"). - -include("ejabberd_commands.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(PUSH_CACHE, push_cache). - -diff --git a/src/mod_push_keepalive.erl b/src/mod_push_keepalive.erl -index bcdc0c25..d979eaec 100644 ---- a/src/mod_push_keepalive.erl -+++ b/src/mod_push_keepalive.erl -@@ -36,7 +36,7 @@ - c2s_handle_cast/2, c2s_handle_info/2, c2s_stanza/3]). - - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(PUSH_BEFORE_TIMEOUT_SECS, 120). - -diff --git a/src/mod_push_mnesia.erl b/src/mod_push_mnesia.erl -index ff12150f..866b5630 100644 ---- a/src/mod_push_mnesia.erl -+++ b/src/mod_push_mnesia.erl -@@ -35,7 +35,7 @@ - - -include_lib("stdlib/include/ms_transform.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_push.hrl"). - - %%%------------------------------------------------------------------- -diff --git a/src/mod_push_sql.erl b/src/mod_push_sql.erl -index c82d9fc0..79fedba4 100644 ---- a/src/mod_push_sql.erl -+++ b/src/mod_push_sql.erl -@@ -32,7 +32,7 @@ - lookup_sessions/3, lookup_sessions/2, lookup_sessions/1, - delete_session/3, delete_old_sessions/2, export/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). - -include("mod_push.hrl"). -diff --git a/src/mod_register.erl b/src/mod_register.erl -index 77557ee0..8ad27fcf 100644 ---- a/src/mod_register.erl -+++ b/src/mod_register.erl -@@ -41,7 +41,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/mod_register_web.erl b/src/mod_register_web.erl -index b7bc2edc..a7bb83f5 100644 ---- a/src/mod_register_web.erl -+++ b/src/mod_register_web.erl -@@ -60,7 +60,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/mod_roster.erl b/src/mod_roster.erl -index a86b50d9..57f5fdce 100644 ---- a/src/mod_roster.erl -+++ b/src/mod_roster.erl -@@ -54,7 +54,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("mod_roster.hrl"). - -diff --git a/src/mod_s2s_dialback.erl b/src/mod_s2s_dialback.erl -index b4c2ed9d..645ab37f 100644 ---- a/src/mod_s2s_dialback.erl -+++ b/src/mod_s2s_dialback.erl -@@ -33,7 +33,7 @@ - s2s_in_features/2, s2s_out_init/2, s2s_out_closed/2]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - %%%=================================================================== -diff --git a/src/mod_service_log.erl b/src/mod_service_log.erl -index 1c6e5fe8..c295aa45 100644 ---- a/src/mod_service_log.erl -+++ b/src/mod_service_log.erl -@@ -35,7 +35,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, _Opts) -> - ejabberd_hooks:add(user_send_packet, Host, ?MODULE, -diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl -index 5f95266b..db641dbb 100644 ---- a/src/mod_shared_roster.erl -+++ b/src/mod_shared_roster.erl -@@ -44,7 +44,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("mod_roster.hrl"). - -diff --git a/src/mod_shared_roster_ldap.erl b/src/mod_shared_roster_ldap.erl -index 66cbebd9..4b431fc4 100644 ---- a/src/mod_shared_roster_ldap.erl -+++ b/src/mod_shared_roster_ldap.erl -@@ -46,7 +46,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_roster.hrl"). - -include("eldap.hrl"). - -diff --git a/src/mod_shared_roster_mnesia.erl b/src/mod_shared_roster_mnesia.erl -index adfbac68..bdd87030 100644 ---- a/src/mod_shared_roster_mnesia.erl -+++ b/src/mod_shared_roster_mnesia.erl -@@ -37,7 +37,7 @@ - -include("mod_roster.hrl"). - -include("mod_shared_roster.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - %%%=================================================================== - %%% API -diff --git a/src/mod_shared_roster_riak.erl b/src/mod_shared_roster_riak.erl -index 441aafd0..d5545eb1 100644 ---- a/src/mod_shared_roster_riak.erl -+++ b/src/mod_shared_roster_riak.erl -@@ -35,7 +35,7 @@ - - -include("mod_roster.hrl"). - -include("mod_shared_roster.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - %%%=================================================================== - %%% API -diff --git a/src/mod_shared_roster_sql.erl b/src/mod_shared_roster_sql.erl -index 488e0ec7..f952347a 100644 ---- a/src/mod_shared_roster_sql.erl -+++ b/src/mod_shared_roster_sql.erl -@@ -36,7 +36,7 @@ - add_user_to_group/3, remove_user_from_group/3, import/3, - export/1]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_roster.hrl"). - -include("mod_shared_roster.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_sic.erl b/src/mod_sic.erl -index a2b3256e..da61b2c2 100644 ---- a/src/mod_sic.erl -+++ b/src/mod_sic.erl -@@ -36,7 +36,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/mod_sip.erl b/src/mod_sip.erl -index 01327c77..70159d17 100644 ---- a/src/mod_sip.erl -+++ b/src/mod_sip.erl -@@ -52,7 +52,7 @@ mod_opt_type(_) -> - locate/1, mod_opt_type/1, depends/2]). - - -include("ejabberd.hrl"). ---include_lib("esip/include/esip.hrl"). -+-include_lib("s1_sip/include/esip.hrl"). - - %%%=================================================================== - %%% API -diff --git a/src/mod_sip_proxy.erl b/src/mod_sip_proxy.erl -index d600da3d..c3dfe874 100644 ---- a/src/mod_sip_proxy.erl -+++ b/src/mod_sip_proxy.erl -@@ -40,7 +40,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include_lib("esip/include/esip.hrl"). -+-include_lib("s1_sip/include/esip.hrl"). - - -define(SIGN_LIFETIME, 300). %% in seconds. - -diff --git a/src/mod_sip_registrar.erl b/src/mod_sip_registrar.erl -index a47de697..f89d3cab 100644 ---- a/src/mod_sip_registrar.erl -+++ b/src/mod_sip_registrar.erl -@@ -42,7 +42,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include_lib("esip/include/esip.hrl"). -+-include_lib("s1_sip/include/esip.hrl"). - - -define(CALL_TIMEOUT, timer:seconds(30)). - -define(DEFAULT_EXPIRES, 3600). -diff --git a/src/mod_stats.erl b/src/mod_stats.erl -index 2bdbdbd3..2969fbd2 100644 ---- a/src/mod_stats.erl -+++ b/src/mod_stats.erl -@@ -35,7 +35,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/mod_stream_mgmt.erl b/src/mod_stream_mgmt.erl -index 658bd504..46b00993 100644 ---- a/src/mod_stream_mgmt.erl -+++ b/src/mod_stream_mgmt.erl -@@ -37,7 +37,7 @@ - -export([get_resume_timeout/1, set_resume_timeout/2]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("p1_queue.hrl"). - -diff --git a/src/mod_time.erl b/src/mod_time.erl -index c54f3d27..20321d36 100644 ---- a/src/mod_time.erl -+++ b/src/mod_time.erl -@@ -38,7 +38,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/mod_vcard.erl b/src/mod_vcard.erl -index 378b9430..10618c96 100644 ---- a/src/mod_vcard.erl -+++ b/src/mod_vcard.erl -@@ -44,7 +44,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_vcard.hrl"). - - -define(JUD_MATCHES, 30). -diff --git a/src/mod_vcard_ldap.erl b/src/mod_vcard_ldap.erl -index 88621fc0..e2c741c5 100644 ---- a/src/mod_vcard_ldap.erl -+++ b/src/mod_vcard_ldap.erl -@@ -41,7 +41,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - -include("eldap.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("translate.hrl"). - - -define(PROCNAME, ejabberd_mod_vcard_ldap). -diff --git a/src/mod_vcard_mnesia.erl b/src/mod_vcard_mnesia.erl -index 3e742ec1..6e9e0e50 100644 ---- a/src/mod_vcard_mnesia.erl -+++ b/src/mod_vcard_mnesia.erl -@@ -33,7 +33,7 @@ - -export([need_transform/1, transform/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_vcard.hrl"). - -include("logger.hrl"). - -include("translate.hrl"). -diff --git a/src/mod_vcard_riak.erl b/src/mod_vcard_riak.erl -index e5ad1b3d..5427ec7f 100644 ---- a/src/mod_vcard_riak.erl -+++ b/src/mod_vcard_riak.erl -@@ -31,7 +31,7 @@ - search_fields/1, search_reported/1, import/3, stop/1]). - -export([is_search_supported/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_vcard.hrl"). - - %%%=================================================================== -diff --git a/src/mod_vcard_sql.erl b/src/mod_vcard_sql.erl -index 07d90b69..1dc5d40f 100644 ---- a/src/mod_vcard_sql.erl -+++ b/src/mod_vcard_sql.erl -@@ -33,7 +33,7 @@ - search_fields/1, search_reported/1, import/3, export/1]). - -export([is_search_supported/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_vcard.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_vcard_xupdate.erl b/src/mod_vcard_xupdate.erl -index 7643fed4..19148654 100644 ---- a/src/mod_vcard_xupdate.erl -+++ b/src/mod_vcard_xupdate.erl -@@ -35,7 +35,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(VCARD_XUPDATE_CACHE, vcard_xupdate_cache). - -diff --git a/src/mod_version.erl b/src/mod_version.erl -index 5f613e02..23ac02cd 100644 ---- a/src/mod_version.erl -+++ b/src/mod_version.erl -@@ -37,7 +37,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/node_dag.erl b/src/node_dag.erl -index 9829c27c..5f399357 100644 ---- a/src/node_dag.erl -+++ b/src/node_dag.erl -@@ -28,7 +28,7 @@ - -author('bjc@kublai.com'). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([init/3, terminate/2, options/0, features/0, - create_node_permission/6, create_node/2, delete_node/1, -diff --git a/src/node_dispatch.erl b/src/node_dispatch.erl -index 92a655b8..00eb55d9 100644 ---- a/src/node_dispatch.erl -+++ b/src/node_dispatch.erl -@@ -34,7 +34,7 @@ - -author('christophe.romain@process-one.net'). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([init/3, terminate/2, options/0, features/0, - create_node_permission/6, create_node/2, delete_node/1, -diff --git a/src/node_flat.erl b/src/node_flat.erl -index bc529e14..571b1b16 100644 ---- a/src/node_flat.erl -+++ b/src/node_flat.erl -@@ -34,7 +34,7 @@ - -author('christophe.romain@process-one.net'). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([init/3, terminate/2, options/0, features/0, - create_node_permission/6, create_node/2, delete_node/1, -diff --git a/src/node_flat_sql.erl b/src/node_flat_sql.erl -index afbc050a..ae279c4c 100644 ---- a/src/node_flat_sql.erl -+++ b/src/node_flat_sql.erl -@@ -36,7 +36,7 @@ - -compile([{parse_transform, ejabberd_sql_pt}]). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_sql_pt.hrl"). - - -export([init/3, terminate/2, options/0, features/0, -diff --git a/src/node_online.erl b/src/node_online.erl -index 39b08d99..ce71fdb0 100644 ---- a/src/node_online.erl -+++ b/src/node_online.erl -@@ -28,7 +28,7 @@ - -author('christophe.romain@process-one.net'). - - -include("pubsub.hrl"). ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - - -export([init/3, terminate/2, options/0, features/0, - create_node_permission/6, create_node/2, delete_node/1, -diff --git a/src/nodetree_dag.erl b/src/nodetree_dag.erl -index a44e7155..0c5609c4 100644 ---- a/src/nodetree_dag.erl -+++ b/src/nodetree_dag.erl -@@ -30,7 +30,7 @@ - -include_lib("stdlib/include/qlc.hrl"). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([init/3, terminate/2, options/0, set_node/1, - get_node/3, get_node/2, get_node/1, get_nodes/2, -diff --git a/src/nodetree_tree.erl b/src/nodetree_tree.erl -index 31724036..0fe1f5e0 100644 ---- a/src/nodetree_tree.erl -+++ b/src/nodetree_tree.erl -@@ -40,7 +40,7 @@ - -include_lib("stdlib/include/qlc.hrl"). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([init/3, terminate/2, options/0, set_node/1, - get_node/3, get_node/2, get_node/1, get_nodes/2, -diff --git a/src/nodetree_tree_sql.erl b/src/nodetree_tree_sql.erl -index b310dd2d..19ff1786 100644 ---- a/src/nodetree_tree_sql.erl -+++ b/src/nodetree_tree_sql.erl -@@ -40,7 +40,7 @@ - -compile([{parse_transform, ejabberd_sql_pt}]). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_sql_pt.hrl"). - - -export([init/3, terminate/2, options/0, set_node/1, -diff --git a/src/prosody2ejabberd.erl b/src/prosody2ejabberd.erl -index 2c7dabb4..b6ba864c 100644 ---- a/src/prosody2ejabberd.erl -+++ b/src/prosody2ejabberd.erl -@@ -28,7 +28,7 @@ - -export([from_dir/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("mod_roster.hrl"). - -include("mod_offline.hrl"). -diff --git a/src/pubsub_subscription.erl b/src/pubsub_subscription.erl -index 746e39e3..59ee734b 100644 ---- a/src/pubsub_subscription.erl -+++ b/src/pubsub_subscription.erl -@@ -39,7 +39,7 @@ - - -include("pubsub.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(PUBSUB_DELIVER, <<"pubsub#deliver">>). - -define(PUBSUB_DIGEST, <<"pubsub#digest">>). -diff --git a/src/pubsub_subscription_sql.erl b/src/pubsub_subscription_sql.erl -index 3315748c..5700c100 100644 ---- a/src/pubsub_subscription_sql.erl -+++ b/src/pubsub_subscription_sql.erl -@@ -35,7 +35,7 @@ - - -include("pubsub.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(PUBSUB_DELIVER, <<"pubsub#deliver">>). - -define(PUBSUB_DIGEST, <<"pubsub#digest">>). -diff --git a/src/xmpp_stream_in.erl b/src/xmpp_stream_in.erl -index 329ebad6..4ce8760c 100644 ---- a/src/xmpp_stream_in.erl -+++ b/src/xmpp_stream_in.erl -@@ -42,7 +42,7 @@ - -define(FSMOPTS, []). - -endif. - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -type state() :: map(). - -type stop_reason() :: {stream, reset | {in | out, stream_error()}} | - {tls, inet:posix() | atom() | binary()} | -diff --git a/src/xmpp_stream_out.erl b/src/xmpp_stream_out.erl -index 7ddc183b..8095bd86 100644 ---- a/src/xmpp_stream_out.erl -+++ b/src/xmpp_stream_out.erl -@@ -44,7 +44,7 @@ - - -define(TCP_SEND_TIMEOUT, 15000). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include_lib("kernel/include/inet.hrl"). - - -type state() :: map(). -diff --git a/src/xmpp_stream_pkix.erl b/src/xmpp_stream_pkix.erl -index 8361999f..a6fe728c 100644 ---- a/src/xmpp_stream_pkix.erl -+++ b/src/xmpp_stream_pkix.erl -@@ -24,7 +24,7 @@ - %% API - -export([authenticate/1, authenticate/2, get_cert_domains/1, format_error/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include_lib("public_key/include/public_key.hrl"). - -include("XmppAddr.hrl"). - --- -2.14.1 - diff --git a/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch b/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch deleted file mode 100644 index 09b356219d..0000000000 --- a/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d43a65b112ec995a5ee52aca2a16e5cf9699d7c1 Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Wed, 20 Jan 2016 08:16:26 -0500 -Subject: [PATCH] disable ERLANG_DEPRECATED_CHECK - -Without this patch, the configure will try to execute erlang to check -if it uses deprecated types. Assume the answer is false. - -Signed-off-by: Johan Oudinet ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index cd1ab08..a4f1533 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -235,7 +235,7 @@ if test "$ENABLEUSER" != ""; then - AC_SUBST([INSTALLUSER], [$ENABLEUSER]) - fi - --ERLANG_DEPRECATED_TYPES_CHECK -+AC_SUBST(erlang_deprecated_types, false) - - if test "$sqlite" = "true"; then - AX_LIB_SQLITE3([3.6.19]) --- -2.5.0 - diff --git a/package/ejabberd/0006-fix-install-permissions.patch b/package/ejabberd/0006-fix-install-permissions.patch deleted file mode 100644 index 9a0073f5c2..0000000000 --- a/package/ejabberd/0006-fix-install-permissions.patch +++ /dev/null @@ -1,84 +0,0 @@ -From ef847479778cc58818e066b87aa1789ba1c4148b Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Wed, 20 Jan 2016 09:34:07 -0500 -Subject: [PATCH] fix install permissions - -Without this patch, the makefile will try to install directories and -files with incompatible permissions for ejabberd, which run as an -ejabberd user. - -Signed-off-by: Frank Hunleth - -diff --git a/Makefile.in b/Makefile.in -index a0b4553d..2cae2db4 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -169,10 +169,8 @@ copy-files-sub: copy-files-sub2 - install: all copy-files - # - # Configuration files -- $(INSTALL) -d -m 750 $(G_USER) $(ETCDIR) -- [ -f $(ETCDIR)/ejabberd.yml ] \ -- && $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml-new \ -- || $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml -+ $(INSTALL) -d $(ETCDIR) -+ $(INSTALL) -b -m 644 ejabberd.yml.example $(ETCDIR)/ejabberd.yml - $(SED) -e "s*{{rootdir}}*@prefix@*g" \ - -e "s*{{installuser}}*@INSTALLUSER@*g" \ - -e "s*{{bindir}}*@bindir@*g" \ -@@ -183,53 +181,16 @@ install: all copy-files - -e "s*{{erl}}*@ERL@*g" \ - -e "s*{{epmd}}*@EPMD@*g" ejabberdctl.template \ - > ejabberdctl.example -- [ -f $(ETCDIR)/ejabberdctl.cfg ] \ -- && $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg-new \ -- || $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg -- $(INSTALL) -b -m 644 $(G_USER) inetrc $(ETCDIR)/inetrc -+ $(INSTALL) -b -m 644 ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg -+ $(INSTALL) -b -m 644 inetrc $(ETCDIR)/inetrc - # - # Administration script -- [ -d $(SBINDIR) ] || $(INSTALL) -d -m 755 $(SBINDIR) -- $(INSTALL) -m 550 $(G_USER) ejabberdctl.example $(SBINDIR)/ejabberdctl -+ $(INSTALL) -D ejabberdctl.example $(SBINDIR)/ejabberdctl - # Elixir binaries - [ -d $(BINDIR) ] || $(INSTALL) -d -m 755 $(BINDIR) - [ -f deps/elixir/bin/iex ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/iex $(BINDIR)/iex || true - [ -f deps/elixir/bin/elixir ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/elixir $(BINDIR)/elixir || true - [ -f deps/elixir/bin/mix ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/mix $(BINDIR)/mix || true -- # -- # Init script -- $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" \ -- -e "s*@installuser@*$(INIT_USER)*g" ejabberd.init.template \ -- > ejabberd.init -- chmod 755 ejabberd.init -- # -- # Service script -- $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" ejabberd.service.template \ -- > ejabberd.service -- chmod 644 ejabberd.service -- # -- # Spool directory -- $(INSTALL) -d -m 750 $(O_USER) $(SPOOLDIR) -- $(CHOWN_COMMAND) -R @INSTALLUSER@ $(SPOOLDIR) >$(CHOWN_OUTPUT) -- chmod -R 750 $(SPOOLDIR) -- [ ! -f $(COOKIEFILE) ] || { $(CHOWN_COMMAND) @INSTALLUSER@ $(COOKIEFILE) >$(CHOWN_OUTPUT) ; chmod 400 $(COOKIEFILE) ; } -- # -- # ejabberdctl lock directory -- $(INSTALL) -d -m 750 $(O_USER) $(CTLLOCKDIR) -- $(CHOWN_COMMAND) -R @INSTALLUSER@ $(CTLLOCKDIR) >$(CHOWN_OUTPUT) -- chmod -R 750 $(CTLLOCKDIR) -- # -- # Log directory -- $(INSTALL) -d -m 750 $(O_USER) $(LOGDIR) -- $(CHOWN_COMMAND) -R @INSTALLUSER@ $(LOGDIR) >$(CHOWN_OUTPUT) -- chmod -R 750 $(LOGDIR) -- # -- # Documentation -- $(INSTALL) -d $(DOCDIR) -- [ -f doc/guide.html ] \ -- && $(INSTALL) -m 644 doc/guide.html $(DOCDIR) \ -- || echo "Documentation not included in sources" -- $(INSTALL) -m 644 COPYING $(DOCDIR) - - uninstall: uninstall-binary diff --git a/package/ejabberd/0008-handle-error-case-from-lib_dir.patch b/package/ejabberd/0008-handle-error-case-from-lib_dir.patch deleted file mode 100644 index f7931b4edc..0000000000 --- a/package/ejabberd/0008-handle-error-case-from-lib_dir.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d0bfcbbfd8a6e7ee6213112e4078b020e4e1d15d Mon Sep 17 00:00:00 2001 -From: PaweÅ‚ Chmielowski -Date: Wed, 10 Jan 2018 16:34:01 +0100 -Subject: [PATCH] Handle error case from code:lib_dir in ResolveDepPath in - rebar.config.script - -This patch have already been applied in upstream/master. - -Signed-off-by: PaweÅ‚ Chmielowski - ---- - rebar.config.script | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/rebar.config.script b/rebar.config.script -index 85f918fffd..ba374e5c5f 100644 ---- a/rebar.config.script -+++ b/rebar.config.script -@@ -233,9 +233,10 @@ ResolveDepPath = case {SystemDeps, IsRebar3} of - {true, _} -> - fun("deps/" ++ Rest) -> - Slash = string:str(Rest, "/"), -- code:lib_dir( -- string:sub_string(Rest, 1, Slash -1)) ++ -- string:sub_string(Rest, Slash); -+ case code:lib_dir(string:sub_string(Rest, 1, Slash -1)) of -+ {error, _} -> Rest; -+ V -> V ++ string:sub_string(Rest, Slash) -+ end; - (Path) -> - Path - end; diff --git a/package/ejabberd/0009-disable-mod_avatar.patch b/package/ejabberd/0009-disable-mod_avatar.patch deleted file mode 100644 index ab89ba1a29..0000000000 --- a/package/ejabberd/0009-disable-mod_avatar.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e6eac74e82975e7d87b1f59c50eb007ab04c1392 Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Tue, 16 Jan 2018 14:29:56 +0100 -Subject: [PATCH] disable mod_avatar - -This module requires to compile with graphics enabled. - -Signed-off-by: Johan Oudinet ---- - ejabberd.yml.example | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/ejabberd.yml.example b/ejabberd.yml.example -index e178e956..7c12b76c 100644 ---- a/ejabberd.yml.example -+++ b/ejabberd.yml.example -@@ -796,9 +796,9 @@ modules: - search: false - mod_vcard_xupdate: {} - ## Convert all avatars posted by Android clients from WebP to JPEG -- mod_avatar: -- convert: -- webp: jpeg -+ ## mod_avatar: -+ ## convert: -+ ## webp: jpeg - mod_version: {} - mod_stream_mgmt: {} - ## Non-SASL Authentication (XEP-0078) is now disabled by default --- -2.14.1 - diff --git a/package/ejabberd/Config.in b/package/ejabberd/Config.in index a7542cd12d..7d51d1de9e 100644 --- a/package/ejabberd/Config.in +++ b/package/ejabberd/Config.in @@ -2,11 +2,12 @@ config BR2_PACKAGE_EJABBERD bool "ejabberd" depends on BR2_PACKAGE_ERLANG depends on BR2_INSTALL_LIBSTDCPP # jiffy, stringprep - select BR2_PACKAGE_ERLANG_JIFFY + select BR2_PACKAGE_ERLANG_EIMP + select BR2_PACKAGE_ERLANG_JIFFY # runtime select BR2_PACKAGE_ERLANG_LAGER select BR2_PACKAGE_ERLANG_P1_CACHE_TAB select BR2_PACKAGE_ERLANG_P1_ICONV - select BR2_PACKAGE_ERLANG_P1_OAUTH2 + select BR2_PACKAGE_ERLANG_P1_OAUTH2 # runtime select BR2_PACKAGE_ERLANG_P1_SIP select BR2_PACKAGE_ERLANG_P1_STRINGPREP select BR2_PACKAGE_ERLANG_P1_STUN diff --git a/package/ejabberd/ejabberd.hash b/package/ejabberd/ejabberd.hash index 6fb90a2300..aed269cb8d 100644 --- a/package/ejabberd/ejabberd.hash +++ b/package/ejabberd/ejabberd.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 bd16b33a2f1345e5847fd05b70a5fa992181bac756cd6d5d621de9c18cb76801 ejabberd-17.11.tgz +sha256 781a68d2deefb4afae563c29a8955063c759c244d308251167d46185f145d4ff ejabberd-18.09.tgz diff --git a/package/ejabberd/ejabberd.mk b/package/ejabberd/ejabberd.mk index acd52e5b38..6982375cf4 100644 --- a/package/ejabberd/ejabberd.mk +++ b/package/ejabberd/ejabberd.mk @@ -4,12 +4,13 @@ # ################################################################################ -EJABBERD_VERSION = 17.11 +EJABBERD_VERSION = 18.09 EJABBERD_SOURCE = ejabberd-$(EJABBERD_VERSION).tgz EJABBERD_SITE = https://www.process-one.net/downloads/ejabberd/$(EJABBERD_VERSION) EJABBERD_LICENSE = GPL-2.0+ with OpenSSL exception EJABBERD_LICENSE_FILES = COPYING -EJABBERD_DEPENDENCIES = getent openssl host-erlang-lager erlang-lager \ +EJABBERD_DEPENDENCIES = getent openssl erlang-eimp \ + host-erlang-lager erlang-lager \ erlang-p1-cache-tab erlang-p1-iconv erlang-p1-sip \ erlang-p1-stringprep erlang-p1-stun erlang-p1-tls \ erlang-p1-utils erlang-p1-xml erlang-p1-xmpp erlang-p1-yaml \ @@ -35,8 +36,7 @@ EJABBERD_CONF_ENV = \ EJABBERD_CONF_OPTS = \ --enable-system-deps \ - --disable-erlang-version-check \ - --disable-graphics + --disable-erlang-version-check define EJABBERD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) install -C $(@D) @@ -54,6 +54,11 @@ define EJABBERD_USERS ejabberd -1 ejabberd -1 * /var/lib/ejabberd /bin/sh - ejabberd daemon endef +define EJABBERD_PERMISSIONS + /etc/ejabberd r 750 root ejabberd - - - - - + /usr/sbin/ejabberdctl f 750 root ejabberd - - - - - +endef + define EJABBERD_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/ejabberd/S50ejabberd \ $(TARGET_DIR)/etc/init.d/S50ejabberd diff --git a/package/elfutils/elfutils.hash b/package/elfutils/elfutils.hash index dc321e9359..5a76cd5868 100644 --- a/package/elfutils/elfutils.hash +++ b/package/elfutils/elfutils.hash @@ -1,5 +1,5 @@ -# From https://sourceware.org/elfutils/ftp/0.171/sha512.sum -sha512 777be2d63ca9b11440bf358a33428d9ca974e2612a880934156c9f7194af596ed627c1ed2d48dbd47a3761c94913b8f39565f9dcb6b62c92bf229f04c96d5ee3 elfutils-0.171.tar.bz2 +# From https://sourceware.org/elfutils/ftp/0.174/sha512.sum +sha512 696708309c2a9a076099748809ecdc0490f4a8a842b2efc1aae0d746e7c5a8b203743f5626739eff837216b0c052696516b2821f5d3cc3f2eef86597c96d42df elfutils-0.174.tar.bz2 # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING-GPLV2 diff --git a/package/elfutils/elfutils.mk b/package/elfutils/elfutils.mk index 5eaaaeadad..2d62017bba 100644 --- a/package/elfutils/elfutils.mk +++ b/package/elfutils/elfutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -ELFUTILS_VERSION = 0.171 +ELFUTILS_VERSION = 0.174 ELFUTILS_SOURCE = elfutils-$(ELFUTILS_VERSION).tar.bz2 ELFUTILS_SITE = https://sourceware.org/elfutils/ftp/$(ELFUTILS_VERSION) ELFUTILS_INSTALL_STAGING = YES diff --git a/package/ell/Config.in b/package/ell/Config.in new file mode 100644 index 0000000000..f27d581f98 --- /dev/null +++ b/package/ell/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_ELL + bool "ell" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR + help + Embedded Linux library (ell) + + https://01.org/ell + +comment "ell needs a toolchain w/ dynamic library, wchar" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/package/ell/ell.hash b/package/ell/ell.hash new file mode 100644 index 0000000000..dd6e90f3fc --- /dev/null +++ b/package/ell/ell.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 bb7038340bfa4eed57700a42da235ba2efce19fe7ab6b976af3e69ee9597a4dd ell-0.16.tar.gz + +# License files +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/package/ell/ell.mk b/package/ell/ell.mk new file mode 100644 index 0000000000..9f610e7d23 --- /dev/null +++ b/package/ell/ell.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# ell +# +################################################################################ + +ELL_VERSION = 0.16 +ELL_SITE = https://git.kernel.org/pub/scm/libs/ell/ell.git +ELL_SITE_METHOD = git +ELL_LICENSE = LGPL-2.1+ +ELL_LICENSE_FILES = COPYING +ELL_INSTALL_STAGING = YES +# sources from git, no configure script provided +ELL_AUTORECONF = YES + +# autoreconf requires an existing build-aux directory +define ELL_MKDIR_BUILD_AUX + mkdir -p $(@D)/build-aux +endef +ELL_POST_PATCH_HOOKS += ELL_MKDIR_BUILD_AUX + +ELL_DEPENDENCIES = host-pkgconf + +# disable ell/glib main loop example +ELL_CONF_OPTS = --disable-glib + +$(eval $(autotools-package)) diff --git a/package/enlightenment/enlightenment.hash b/package/enlightenment/enlightenment.hash index 7a6d3ff8f0..4872676bee 100644 --- a/package/enlightenment/enlightenment.hash +++ b/package/enlightenment/enlightenment.hash @@ -1,3 +1,3 @@ -# From https://www.enlightenment.org/news/e0.22.3_release -sha256 4d81e583073d74474b7a960b01cb596716a43cca2fadca7d1e5c91f4cf6efe9b enlightenment-0.22.3.tar.xz +# From https://www.enlightenment.org/news/e0.22.4_release +sha256 59f4997c8b59457142870e40f137bc08c9735c84368d32213dacf09c4342fe79 enlightenment-0.22.4.tar.xz sha256 34dbd501ec9d1c8dcc569c01db9cf9a4b7ee5981614cc9f8f613a97463d27350 COPYING diff --git a/package/enlightenment/enlightenment.mk b/package/enlightenment/enlightenment.mk index 5bc1c5d6de..f0f9834c87 100644 --- a/package/enlightenment/enlightenment.mk +++ b/package/enlightenment/enlightenment.mk @@ -4,7 +4,7 @@ # ################################################################################ -ENLIGHTENMENT_VERSION = 0.22.3 +ENLIGHTENMENT_VERSION = 0.22.4 ENLIGHTENMENT_SOURCE = enlightenment-$(ENLIGHTENMENT_VERSION).tar.xz ENLIGHTENMENT_SITE = http://download.enlightenment.org/rel/apps/enlightenment ENLIGHTENMENT_LICENSE = BSD-2-Clause diff --git a/package/erlang-eimp/Config.in b/package/erlang-eimp/Config.in new file mode 100644 index 0000000000..5c207e9c23 --- /dev/null +++ b/package/erlang-eimp/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_ERLANG_EIMP + bool "erlang-eimp" + select BR2_PACKAGE_ERLANG_P1_UTILS + select BR2_PACKAGE_GD + select BR2_PACKAGE_GD_WEBPNG + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_WEBP + help + Erlang Image Manipulation Process + + https://github.com/processone/eimp diff --git a/package/erlang-eimp/erlang-eimp.mk b/package/erlang-eimp/erlang-eimp.mk new file mode 100644 index 0000000000..83d34cd5e0 --- /dev/null +++ b/package/erlang-eimp/erlang-eimp.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# erlang-eimp +# +################################################################################ + +ERLANG_EIMP_VERSION = 1.0.8 +ERLANG_EIMP_SITE = $(call github,processone,eimp,$(ERLANG_EIMP_VERSION)) +ERLANG_EIMP_LICENSE = Apache-2.0 +ERLANG_EIMP_LICENSE_FILES = LICENSE.txt +ERLANG_EIMP_DEPENDENCIES = erlang-p1-utils gd jpeg libpng webp + +$(eval $(rebar-package)) diff --git a/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash b/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash index 9425bcda8b..841410292f 100644 --- a/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash +++ b/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5ef27d3be0ef2e8dc06468ec39dc3a43506d6f85af0edc21b9c14db860669d38 erlang-p1-cache-tab-1.0.12.tar.gz +sha256 169c3ca82b99c482e5914b616d594fed25cf34a4c995e37bfe1651d70bbaea55 erlang-p1-cache-tab-1.0.16.tar.gz diff --git a/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk b/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk index ae96103ead..a25f0a1e6e 100644 --- a/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk +++ b/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_CACHE_TAB_VERSION = 1.0.12 +ERLANG_P1_CACHE_TAB_VERSION = 1.0.16 ERLANG_P1_CACHE_TAB_SITE = $(call github,processone,cache_tab,$(ERLANG_P1_CACHE_TAB_VERSION)) ERLANG_P1_CACHE_TAB_LICENSE = Apache-2.0 ERLANG_P1_CACHE_TAB_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-iconv/erlang-p1-iconv.hash b/package/erlang-p1-iconv/erlang-p1-iconv.hash index 0f0a23161a..31bcf40731 100644 --- a/package/erlang-p1-iconv/erlang-p1-iconv.hash +++ b/package/erlang-p1-iconv/erlang-p1-iconv.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c7214ea7503c3de1edf3bdd72b37187aa3a9a36d7cf7f5945a067ae8d262d3fb erlang-p1-iconv-1.0.6.tar.gz +sha256 8a9ff8a3dd983284caa964f118b5782ef1c0c662995608b2ca4f4a5f285605a9 erlang-p1-iconv-1.0.10.tar.gz diff --git a/package/erlang-p1-iconv/erlang-p1-iconv.mk b/package/erlang-p1-iconv/erlang-p1-iconv.mk index 6b22431cce..79d8efe16f 100644 --- a/package/erlang-p1-iconv/erlang-p1-iconv.mk +++ b/package/erlang-p1-iconv/erlang-p1-iconv.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_ICONV_VERSION = 1.0.6 +ERLANG_P1_ICONV_VERSION = 1.0.10 ERLANG_P1_ICONV_SITE = $(call github,processone,iconv,$(ERLANG_P1_ICONV_VERSION)) ERLANG_P1_ICONV_LICENSE = Apache-2.0 ERLANG_P1_ICONV_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-oauth2/erlang-p1-oauth2.hash b/package/erlang-p1-oauth2/erlang-p1-oauth2.hash index 29fae12636..58756c6fd7 100644 --- a/package/erlang-p1-oauth2/erlang-p1-oauth2.hash +++ b/package/erlang-p1-oauth2/erlang-p1-oauth2.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 aea823ccc49b20f7e27f1893c7edf231339f56b16ba21ce78a60f735b6211718 erlang-p1-oauth2-0.6.2.tar.gz +sha256 d7d954376ae7c131a0884c7c80b0b9e8270b6f574182df59ce4f2fbbae322854 erlang-p1-oauth2-0.6.3.tar.gz diff --git a/package/erlang-p1-oauth2/erlang-p1-oauth2.mk b/package/erlang-p1-oauth2/erlang-p1-oauth2.mk index 5c27393ae2..444bc8971b 100644 --- a/package/erlang-p1-oauth2/erlang-p1-oauth2.mk +++ b/package/erlang-p1-oauth2/erlang-p1-oauth2.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_OAUTH2_VERSION = 0.6.2 +ERLANG_P1_OAUTH2_VERSION = 0.6.3 ERLANG_P1_OAUTH2_SITE = $(call github,processone,p1_oauth2,$(ERLANG_P1_OAUTH2_VERSION)) ERLANG_P1_OAUTH2_LICENSE = MIT ERLANG_P1_OAUTH2_LICENSE_FILES = LICENSE diff --git a/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index da86076988..0000000000 --- a/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,20 +0,0 @@ -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. - -Signed-off-by: Christophe Romain - -diff --git a/rebar.config b/rebar.config -index ed93134..5b32788 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -31,10 +31,6 @@ - - {port_specs, [{"priv/lib/esip_drv.so", ["c_src/esip_codec.c"]}]}. - --{deps, [{stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.16"}}}, -- {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.17"}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. -- - {clean_files, ["c_src/esip_codec.gcda", "c_src/esip_codec.gcno"]}. - - {cover_enabled, true}. diff --git a/package/erlang-p1-sip/erlang-p1-sip.hash b/package/erlang-p1-sip/erlang-p1-sip.hash index 4d41b9884c..2cd057b976 100644 --- a/package/erlang-p1-sip/erlang-p1-sip.hash +++ b/package/erlang-p1-sip/erlang-p1-sip.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6ac36594921561d0d5502bb824b7408223a3f53560a9d2fa4b0f685c0441baf0 erlang-p1-sip-1.0.17.tar.gz +sha256 be38cceff8e2207da24805b8e1c926cdf6d63ab116be12cd829f5a3a4e5e58ab erlang-p1-sip-1.0.26.tar.gz diff --git a/package/erlang-p1-sip/erlang-p1-sip.mk b/package/erlang-p1-sip/erlang-p1-sip.mk index a9f572df2d..846633873a 100644 --- a/package/erlang-p1-sip/erlang-p1-sip.mk +++ b/package/erlang-p1-sip/erlang-p1-sip.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_SIP_VERSION = 1.0.17 +ERLANG_P1_SIP_VERSION = 1.0.26 ERLANG_P1_SIP_SITE = $(call github,processone,esip,$(ERLANG_P1_SIP_VERSION)) ERLANG_P1_SIP_LICENSE = Apache-2.0 ERLANG_P1_SIP_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-stringprep/erlang-p1-stringprep.hash b/package/erlang-p1-stringprep/erlang-p1-stringprep.hash index 769e2180d6..5200d661a8 100644 --- a/package/erlang-p1-stringprep/erlang-p1-stringprep.hash +++ b/package/erlang-p1-stringprep/erlang-p1-stringprep.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 baef9e6bd59e00c9d2600e8db87078c19d76cbf66d5068efeaf1df740ee306ce erlang-p1-stringprep-1.0.10.tar.gz +sha256 32245561f84b03b9024c8768ad2ac8d67f285a032a7f36ff35a74c77fc701f96 erlang-p1-stringprep-1.0.14.tar.gz diff --git a/package/erlang-p1-stringprep/erlang-p1-stringprep.mk b/package/erlang-p1-stringprep/erlang-p1-stringprep.mk index f104a2ce87..a05752508c 100644 --- a/package/erlang-p1-stringprep/erlang-p1-stringprep.mk +++ b/package/erlang-p1-stringprep/erlang-p1-stringprep.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_STRINGPREP_VERSION = 1.0.10 +ERLANG_P1_STRINGPREP_VERSION = 1.0.14 ERLANG_P1_STRINGPREP_SITE = $(call github,processone,stringprep,$(ERLANG_P1_STRINGPREP_VERSION)) ERLANG_P1_STRINGPREP_LICENSE = TCL (tools/*.tcl), Apache-2.0 (rest) ERLANG_P1_STRINGPREP_LICENSE_FILES = LICENSE.ALL LICENSE.TCL LICENSE.txt diff --git a/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index 7e6b4b5345..0000000000 --- a/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,16 +0,0 @@ -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. - -diff --git a/rebar.config b/rebar.config -index f02ea40..d0af863 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -22,9 +22,6 @@ - - {erl_opts, [debug_info, {i, "include"}]}. - --{deps, [{fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.17"}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. -- - {cover_enabled, true}. - {cover_export_enabled, true}. diff --git a/package/erlang-p1-stun/erlang-p1-stun.hash b/package/erlang-p1-stun/erlang-p1-stun.hash index ee32834e34..7400a276a0 100644 --- a/package/erlang-p1-stun/erlang-p1-stun.hash +++ b/package/erlang-p1-stun/erlang-p1-stun.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8efe2f47c2460b1e0d68a680dcfcd938a2bc98c85abb5b100c15246fe6a25506 erlang-p1-stun-1.0.16.tar.gz +sha256 a5a59ae3c75290029aa062ef19ecd52b8377959a8eb7352bd2a62c4ff1dd0613 erlang-p1-stun-1.0.25.tar.gz diff --git a/package/erlang-p1-stun/erlang-p1-stun.mk b/package/erlang-p1-stun/erlang-p1-stun.mk index 42bbc758e5..32bdd4f245 100644 --- a/package/erlang-p1-stun/erlang-p1-stun.mk +++ b/package/erlang-p1-stun/erlang-p1-stun.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_STUN_VERSION = 1.0.16 +ERLANG_P1_STUN_VERSION = 1.0.25 ERLANG_P1_STUN_SITE = $(call github,processone,stun,$(ERLANG_P1_STUN_VERSION)) ERLANG_P1_STUN_LICENSE = Apache-2.0 ERLANG_P1_STUN_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-tls/erlang-p1-tls.hash b/package/erlang-p1-tls/erlang-p1-tls.hash index b5b800b202..af635e5221 100644 --- a/package/erlang-p1-tls/erlang-p1-tls.hash +++ b/package/erlang-p1-tls/erlang-p1-tls.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ca9670b7f78a025b101e3fee6255d7472d6b52abc46444cc45616c3d1bd75b9b erlang-p1-tls-1.0.17.tar.gz +sha256 5bb883b03514999876c750cdb08a5e4cf80a9eb89319037b612e1265c43f6f6d erlang-p1-tls-1.0.25.tar.gz diff --git a/package/erlang-p1-tls/erlang-p1-tls.mk b/package/erlang-p1-tls/erlang-p1-tls.mk index ad7317dc8c..b569664465 100644 --- a/package/erlang-p1-tls/erlang-p1-tls.mk +++ b/package/erlang-p1-tls/erlang-p1-tls.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_TLS_VERSION = 1.0.17 +ERLANG_P1_TLS_VERSION = 1.0.25 ERLANG_P1_TLS_SITE = $(call github,processone,fast_tls,$(ERLANG_P1_TLS_VERSION)) ERLANG_P1_TLS_LICENSE = Apache-2.0 ERLANG_P1_TLS_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-utils/erlang-p1-utils.hash b/package/erlang-p1-utils/erlang-p1-utils.hash index 950a5540d7..db925bddd1 100644 --- a/package/erlang-p1-utils/erlang-p1-utils.hash +++ b/package/erlang-p1-utils/erlang-p1-utils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 57bfc575179733a723717f4fecb65b9f7fd056595f798b52e7bc0206e8a9333f erlang-p1-utils-1.0.10.tar.gz +sha256 8f21fc0472c314572ebb066d624cb5463cf5b016e18b7fd7dca9dca2a4589382 erlang-p1-utils-1.0.13.tar.gz diff --git a/package/erlang-p1-utils/erlang-p1-utils.mk b/package/erlang-p1-utils/erlang-p1-utils.mk index 6a4920738c..6025e3f56c 100644 --- a/package/erlang-p1-utils/erlang-p1-utils.mk +++ b/package/erlang-p1-utils/erlang-p1-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_UTILS_VERSION = 1.0.10 +ERLANG_P1_UTILS_VERSION = 1.0.13 ERLANG_P1_UTILS_SITE = $(call github,processone,p1_utils,$(ERLANG_P1_UTILS_VERSION)) ERLANG_P1_UTILS_LICENSE = Apache-2.0 ERLANG_P1_UTILS_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index b58db3f2c5..0000000000 --- a/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,18 +0,0 @@ -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. - -Signed-off-by: Christophe Romain - -diff --git a/rebar.config b/rebar.config -index 99f5047..ac2f3b2 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -32,8 +32,6 @@ - {port_specs, [{"priv/lib/fxml.so", ["c_src/fxml.c"]}, - {"priv/lib/fxml_stream.so", ["c_src/fxml_stream.c"]}]}. - --{deps, [{p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. -- - {clean_files, ["c_src/fxml.gcda", "c_src/fxml.gcno", "c_src/fxml_stream.gcda", "c_src/fxml_stream.gcno"]}. - - {cover_enabled, true}. diff --git a/package/erlang-p1-xml/erlang-p1-xml.hash b/package/erlang-p1-xml/erlang-p1-xml.hash index ae3f3241c6..ac8042da64 100644 --- a/package/erlang-p1-xml/erlang-p1-xml.hash +++ b/package/erlang-p1-xml/erlang-p1-xml.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 aeda4051c08b78e2f036d82705433a667d03736f07ff0054862e82105435e285 erlang-p1-xml-1.1.25.tar.gz +sha256 8615f77a1448e297af25f85261b6e4a84952af797da2e317c8ec71fe2fe779ac erlang-p1-xml-1.1.34.tar.gz diff --git a/package/erlang-p1-xml/erlang-p1-xml.mk b/package/erlang-p1-xml/erlang-p1-xml.mk index ff9999834d..c8c65ff423 100644 --- a/package/erlang-p1-xml/erlang-p1-xml.mk +++ b/package/erlang-p1-xml/erlang-p1-xml.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_XML_VERSION = 1.1.25 +ERLANG_P1_XML_VERSION = 1.1.34 ERLANG_P1_XML_SITE = $(call github,processone,fast_xml,$(ERLANG_P1_XML_VERSION)) ERLANG_P1_XML_LICENSE = Apache-2.0 ERLANG_P1_XML_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index fed44f626d..0000000000 --- a/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,19 +0,0 @@ -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. - -Signed-off-by: Christophe Romain - -diff --git a/rebar.config b/rebar.config ---- a/rebar.config 2017-11-30 14:24:52.348695123 +0100 -+++ b/rebar.config 2017-11-30 14:35:11.816407195 +0100 -@@ -29,10 +29,6 @@ - - {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}. - --{deps, [{fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.25"}}}, -- {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.10"}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. -- - {clean_files, ["c_src/jid.gcda", "c_src/jid.gcno"]}. - - {cover_enabled, true}. diff --git a/package/erlang-p1-xmpp/Config.in b/package/erlang-p1-xmpp/Config.in index 9b33e0c609..6e40fed10a 100644 --- a/package/erlang-p1-xmpp/Config.in +++ b/package/erlang-p1-xmpp/Config.in @@ -6,7 +6,9 @@ config BR2_PACKAGE_ERLANG_P1_XMPP depends on BR2_INSTALL_LIBSTDCPP # erlang-p1-stringprep select BR2_PACKAGE_ERLANG_P1_XML select BR2_PACKAGE_ERLANG_P1_STRINGPREP + select BR2_PACKAGE_ERLANG_P1_TLS select BR2_PACKAGE_ERLANG_P1_UTILS + select BR2_PACKAGE_ERLANG_P1_ZLIB help XMPP library for Erlang. diff --git a/package/erlang-p1-xmpp/erlang-p1-xmpp.hash b/package/erlang-p1-xmpp/erlang-p1-xmpp.hash index d3d2dafb9e..e1c63a6065 100644 --- a/package/erlang-p1-xmpp/erlang-p1-xmpp.hash +++ b/package/erlang-p1-xmpp/erlang-p1-xmpp.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 558e8d8734052bdbe679cf10165a63944c208940ab84be78c97ba661dfcf3cb2 erlang-p1-xmpp-1.1.16.tar.gz +sha256 699f50d50850272e67160b022fd27f3ccc46570e48968d8ee30d491bf926794d erlang-p1-xmpp-1.2.5.tar.gz diff --git a/package/erlang-p1-xmpp/erlang-p1-xmpp.mk b/package/erlang-p1-xmpp/erlang-p1-xmpp.mk index 096876ca34..e20a84f4a3 100644 --- a/package/erlang-p1-xmpp/erlang-p1-xmpp.mk +++ b/package/erlang-p1-xmpp/erlang-p1-xmpp.mk @@ -4,13 +4,13 @@ # ################################################################################ -ERLANG_P1_XMPP_VERSION = 1.1.16 +ERLANG_P1_XMPP_VERSION = 1.2.5 ERLANG_P1_XMPP_SITE = $(call github,processone,xmpp,$(ERLANG_P1_XMPP_VERSION)) ERLANG_P1_XMPP_LICENSE = Apache-2.0 ERLANG_P1_XMPP_LICENSE_FILES = LICENSE.txt ERLANG_P1_XMPP_INSTALL_STAGING = YES ERLANG_P1_XMPP_DEPENDENCIES = erlang-p1-xml erlang-p1-stringprep \ - erlang-p1-utils host-erlang-p1-xml + erlang-p1-tls erlang-p1-utils erlang-p1-zlib host-erlang-p1-xml $(eval $(rebar-package)) $(eval $(host-rebar-package)) diff --git a/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch b/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index 4dfdb929c1..0000000000 --- a/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,18 +0,0 @@ -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. - -Signed-off-by: Christophe Romain - -diff --git a/rebar.config b/rebar.config -index e09d08d..651a829 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -24,8 +24,6 @@ - {port_env, [{"CFLAGS", "$CFLAGS"}, {"LDFLAGS", "$LDFLAGS -lyaml"}]}. - {port_specs, [{"priv/lib/fast_yaml.so", ["c_src/fast_yaml.c"]}]}. - --{deps, [{p1_utils, ".*", {git, "git://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. -- - {clean_files, ["c_src/fast_yaml.gcda", "c_src/fast_yaml.gcno"]}. - - {cover_enabled, true}. diff --git a/package/erlang-p1-yaml/erlang-p1-yaml.hash b/package/erlang-p1-yaml/erlang-p1-yaml.hash index 24282e6c37..2f3b181f6a 100644 --- a/package/erlang-p1-yaml/erlang-p1-yaml.hash +++ b/package/erlang-p1-yaml/erlang-p1-yaml.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5a6499a47cdd1f753a527cb8b79074312354063535adc0ca0fd7f72c2a015e3a erlang-p1-yaml-1.0.12.tar.gz +sha256 d2675ec9b2f64eba6c3437597e3abe3bfaae2172560784456a2763d1d1a50b08 erlang-p1-yaml-1.0.17.tar.gz diff --git a/package/erlang-p1-yaml/erlang-p1-yaml.mk b/package/erlang-p1-yaml/erlang-p1-yaml.mk index de138a9f93..d4173988f3 100644 --- a/package/erlang-p1-yaml/erlang-p1-yaml.mk +++ b/package/erlang-p1-yaml/erlang-p1-yaml.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_YAML_VERSION = 1.0.12 +ERLANG_P1_YAML_VERSION = 1.0.17 ERLANG_P1_YAML_SITE = $(call github,processone,fast_yaml,$(ERLANG_P1_YAML_VERSION)) ERLANG_P1_YAML_LICENSE = Apache-2.0 ERLANG_P1_YAML_LICENSE_FILES = LICENSE.txt diff --git a/package/erlang-p1-zlib/erlang-p1-zlib.hash b/package/erlang-p1-zlib/erlang-p1-zlib.hash index dc14dd0707..6717abdde0 100644 --- a/package/erlang-p1-zlib/erlang-p1-zlib.hash +++ b/package/erlang-p1-zlib/erlang-p1-zlib.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8396f9cb17fdb195d9a2537ad76327bf930d66118b87b7108f27e5ed28b7cde6 erlang-p1-zlib-1.0.3.tar.gz +sha256 3328661c512c28e68db69b82202b8d6c4127f31f2aefc5b0040ba9bce6abe9b3 erlang-p1-zlib-1.0.4.tar.gz diff --git a/package/erlang-p1-zlib/erlang-p1-zlib.mk b/package/erlang-p1-zlib/erlang-p1-zlib.mk index bc53efccd7..f62eff6377 100644 --- a/package/erlang-p1-zlib/erlang-p1-zlib.mk +++ b/package/erlang-p1-zlib/erlang-p1-zlib.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_ZLIB_VERSION = 1.0.3 +ERLANG_P1_ZLIB_VERSION = 1.0.4 ERLANG_P1_ZLIB_SITE = $(call github,processone,ezlib,$(ERLANG_P1_ZLIB_VERSION)) ERLANG_P1_ZLIB_LICENSE = Apache-2.0 ERLANG_P1_ZLIB_LICENSE_FILES = LICENSE.txt diff --git a/package/ethtool/ethtool.hash b/package/ethtool/ethtool.hash index bac7401d3c..b918dca308 100644 --- a/package/ethtool/ethtool.hash +++ b/package/ethtool/ethtool.hash @@ -1,5 +1,5 @@ # From https://www.kernel.org/pub/software/network/ethtool/sha256sums.asc -sha256 fe967a6722db2099fa63d847b6628e3e31cf9f53571a37503347dcc3e4015a03 ethtool-4.16.tar.xz +sha256 b18a6c364e42c29cdac057cf183c9674163db96b30848adfa8c2a90450f6d0c8 ethtool-4.19.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 5d632934396f90c82dfebe3c9512648bbb6333b406113d0cd331b0e0aa2d34a1 LICENSE diff --git a/package/ethtool/ethtool.mk b/package/ethtool/ethtool.mk index b974b5f76e..ae15800b19 100644 --- a/package/ethtool/ethtool.mk +++ b/package/ethtool/ethtool.mk @@ -4,7 +4,7 @@ # ################################################################################ -ETHTOOL_VERSION = 4.16 +ETHTOOL_VERSION = 4.19 ETHTOOL_SOURCE = ethtool-$(ETHTOOL_VERSION).tar.xz ETHTOOL_SITE = $(BR2_KERNEL_MIRROR)/software/network/ethtool ETHTOOL_LICENSE = GPL-2.0 diff --git a/package/eudev/0002-missing.h-add-KEY_ALS_TOGGLE.patch b/package/eudev/0002-missing.h-add-KEY_ALS_TOGGLE.patch new file mode 100644 index 0000000000..97dac3fe81 --- /dev/null +++ b/package/eudev/0002-missing.h-add-KEY_ALS_TOGGLE.patch @@ -0,0 +1,34 @@ +From cad87bd3d8aa9046af0872e8c22f4a3c8fafdc78 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 4 Dec 2018 22:38:37 +0100 +Subject: [PATCH] missing.h: add KEY_ALS_TOGGLE + +KEY_ALS_TOGGLE has been added in kernel 4.8 with +https://github.com/torvalds/linux/commit/9ee27487127461b5cf71670b708ed5b2b8da568c + +So add it to missing.h to fix build with kernel older than 4.8 + +Fixes: + - http://autobuild.buildroot.org/results/0c0aff02df91cdb869efa01e397f7ccc0d9f69af + +Signed-off-by: Fabrice Fontaine +[Upstream: https://github.com/gentoo/eudev/commit/2cb6b734de901dda6e631de5dffbd4cb8e165cbb] +--- + src/shared/missing.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/shared/missing.h b/src/shared/missing.h +index bebbb42be..b5b2e1194 100644 +--- a/src/shared/missing.h ++++ b/src/shared/missing.h +@@ -179,3 +179,7 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle + #ifndef INPUT_PROP_MAX + #define INPUT_PROP_MAX 0x1f + #endif ++ ++#ifndef KEY_ALS_TOGGLE ++#define KEY_ALS_TOGGLE 0x7a ++#endif +-- +2.14.1 + diff --git a/package/eudev/0003-missing.h-add-BTN_DPAD_UP.patch b/package/eudev/0003-missing.h-add-BTN_DPAD_UP.patch new file mode 100644 index 0000000000..08e5fd2b71 --- /dev/null +++ b/package/eudev/0003-missing.h-add-BTN_DPAD_UP.patch @@ -0,0 +1,35 @@ +From 981b8b997e119a117fada2731eeeb0475c511c8a Mon Sep 17 00:00:00 2001 +From: Eric Le Bihan +Date: Tue, 11 Dec 2018 07:56:20 +0100 +Subject: [PATCH] missing.h: add BTN_DPAD_UP + +As explained in issue 6267 of systemd [1], Linux < 3.11 does not +provide definitions for BTN_DPAD_{UP,RIGHT}, which were introduced in +[2]. + +This patch fixes this issue. + +[1] https://github.com/systemd/systemd/pull/6267 +[2] https://github.com/torvalds/linux/commit/9ee27487127461b5cf71670b708ed5b2b8da568c + +Signed-off-by: Eric Le Bihan +--- + src/shared/missing.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/shared/missing.h b/src/shared/missing.h +index b5b2e1194..3a83c91a6 100644 +--- a/src/shared/missing.h ++++ b/src/shared/missing.h +@@ -183,3 +183,8 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle + #ifndef KEY_ALS_TOGGLE + #define KEY_ALS_TOGGLE 0x7a + #endif ++ ++#ifndef BTN_DPAD_UP ++#define BTN_DPAD_UP 0x220 ++#define BTN_DPAD_RIGHT 0x223 ++#endif +-- +2.17.2 + diff --git a/package/eudev/S10udev b/package/eudev/S10udev old mode 100755 new mode 100644 diff --git a/package/eudev/eudev.hash b/package/eudev/eudev.hash index 3fa47980ec..33556a2d25 100644 --- a/package/eudev/eudev.hash +++ b/package/eudev/eudev.hash @@ -1,5 +1,5 @@ # From http://dev.gentoo.org/~blueness/eudev/ -md5 6ca08c0e14380f87df8e8aceac123671 eudev-3.2.5.tar.gz +md5 c75d99910c1791dd9430d26ab76059c0 eudev-3.2.7.tar.gz # Locally calculated -sha256 49c2d04105cad2526302627e040fa24b1916a9a3e059539bc8bb919b973890af eudev-3.2.5.tar.gz +sha256 3004614bd253c1f98558460215027aaf60d7592c70be27fd384ec01db87bf062 eudev-3.2.7.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/eudev/eudev.mk b/package/eudev/eudev.mk index 11dc93762b..d88e010c28 100644 --- a/package/eudev/eudev.mk +++ b/package/eudev/eudev.mk @@ -4,7 +4,7 @@ # ################################################################################ -EUDEV_VERSION = 3.2.5 +EUDEV_VERSION = 3.2.7 EUDEV_SITE = http://dev.gentoo.org/~blueness/eudev EUDEV_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) EUDEV_LICENSE_FILES = COPYING diff --git a/package/exempi/Config.in b/package/exempi/Config.in new file mode 100644 index 0000000000..c9af219a20 --- /dev/null +++ b/package/exempi/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_EXEMPI + bool "exempi" + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_ZLIB + help + Exempi is an implementation of XMP (Extensible Metadata + Platform). Version 2.x is based on Adobe XMP SDK. + + http://libopenraw.freedesktop.org/wiki/Exempi + +comment "exempi needs a toolchain w/ C++, dynamic library, threads" + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/exempi/exempi.hash b/package/exempi/exempi.hash new file mode 100644 index 0000000000..562a4d9b75 --- /dev/null +++ b/package/exempi/exempi.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 406185feb88e84ea1d4b4251370be2991205790d7113a7e28e192ff46a4f221e exempi-2.4.5.tar.bz2 +sha256 3d3c3593c15e0d35bdae0df7c642106250f6be3adc61477419413900f23ae607 COPYING diff --git a/package/exempi/exempi.mk b/package/exempi/exempi.mk new file mode 100644 index 0000000000..91b1d5da1f --- /dev/null +++ b/package/exempi/exempi.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# exempi +# +################################################################################ + +EXEMPI_VERSION = 2.4.5 +EXEMPI_SOURCE = exempi-$(EXEMPI_VERSION).tar.bz2 +EXEMPI_SITE = https://libopenraw.freedesktop.org/download +EXEMPI_INSTALL_STAGING = YES +EXEMPI_CONF_OPTS = --disable-unittest +EXEMPI_DEPENDENCIES = host-pkgconf expat zlib \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) +EXEMPI_LICENSE = BSD-3-Clause +EXEMPI_LICENSE_FILES = COPYING + +$(eval $(autotools-package)) diff --git a/package/exfat-utils/exfat-utils.hash b/package/exfat-utils/exfat-utils.hash index f0d6b64259..53155d41ba 100644 --- a/package/exfat-utils/exfat-utils.hash +++ b/package/exfat-utils/exfat-utils.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 b96b6692cf92a629c9eca0fe8c782646e20479524c7d2a99b7e9b43c3cf8ac43 exfat-utils-1.2.6.tar.gz +sha256 dfebd07a7b907e2d603d3a9626e6440bd43ec6c4e8c07ccfc57ce9502b724835 exfat-utils-1.3.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/exfat-utils/exfat-utils.mk b/package/exfat-utils/exfat-utils.mk index c1b5a93540..62cd47186f 100644 --- a/package/exfat-utils/exfat-utils.mk +++ b/package/exfat-utils/exfat-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXFAT_UTILS_VERSION = 1.2.6 +EXFAT_UTILS_VERSION = 1.3.0 EXFAT_UTILS_SITE = https://github.com/relan/exfat/releases/download/v$(EXFAT_UTILS_VERSION) EXFAT_UTILS_LICENSE = GPL-3.0+ EXFAT_UTILS_LICENSE_FILES = COPYING diff --git a/package/exfat/exfat.hash b/package/exfat/exfat.hash index 15b67f0094..4b8ce90190 100644 --- a/package/exfat/exfat.hash +++ b/package/exfat/exfat.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 e1105256d75860c0678f98bbae0b8fe465d4c96ed187b7035556097f152478e7 fuse-exfat-1.2.6.tar.gz +sha256 07652136064da5e4d32df5555f88c138ffa4835a23b88a5bae2015f21006e0d3 fuse-exfat-1.3.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/exfat/exfat.mk b/package/exfat/exfat.mk index f5ed13e207..b52b197062 100644 --- a/package/exfat/exfat.mk +++ b/package/exfat/exfat.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXFAT_VERSION = 1.2.6 +EXFAT_VERSION = 1.3.0 EXFAT_SITE = https://github.com/relan/exfat/releases/download/v$(EXFAT_VERSION) EXFAT_SOURCE = fuse-exfat-$(EXFAT_VERSION).tar.gz EXFAT_DEPENDENCIES = libfuse host-pkgconf diff --git a/package/expat/expat.hash b/package/expat/expat.hash index 945e102342..6c55972f69 100644 --- a/package/expat/expat.hash +++ b/package/expat/expat.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/expat/files/expat/2.2.5/ -md5 789e297f547980fc9ecc036f9a070d49 expat-2.2.5.tar.bz2 -sha1 490659abd7d6c6d4cb4e60c945a15fbf081564f6 expat-2.2.5.tar.bz2 +# From https://sourceforge.net/projects/expat/files/expat/2.2.6/ +md5 ca047ae951b40020ac831c28859161b2 expat-2.2.6.tar.bz2 +sha1 c8947fc3119a797b55485f2f7bdaaeb49cc9df01 expat-2.2.6.tar.bz2 # Locally calculated -sha256 d9dc32efba7e74f788fcc4f212a43216fc37cf5f23f4c2339664d473353aedf6 expat-2.2.5.tar.bz2 +sha256 17b43c2716d521369f82fc2dc70f359860e90fa440bea65b3b85f0b246ea81f2 expat-2.2.6.tar.bz2 sha256 46336ab2fec900803e2f1a4253e325ac01d998efb09bc6906651f7259e636f76 COPYING diff --git a/package/expat/expat.mk b/package/expat/expat.mk index 69c457da3d..548ec826a0 100644 --- a/package/expat/expat.mk +++ b/package/expat/expat.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXPAT_VERSION = 2.2.5 +EXPAT_VERSION = 2.2.6 EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.bz2 EXPAT_INSTALL_STAGING = YES @@ -13,5 +13,8 @@ HOST_EXPAT_DEPENDENCIES = host-pkgconf EXPAT_LICENSE = MIT EXPAT_LICENSE_FILES = COPYING +EXPAT_CONF_OPTS = --without-docbook +HOST_EXPAT_CONF_OPTS = --without-docbook + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/expedite/Config.in b/package/expedite/Config.in deleted file mode 100644 index fdfc671907..0000000000 --- a/package/expedite/Config.in +++ /dev/null @@ -1,12 +0,0 @@ -config BR2_PACKAGE_EXPEDITE - bool "expedite" - depends on BR2_PACKAGE_EFL - depends on BR2_INSTALL_LIBSTDCPP - help - Expedite is the official Evas benchmark tool. It can test - different engines, such as X11, XRender, OpenGL (also ES - variant), SDL, DirectFB and so on. Its tests are quite - extensive, trying to reproduce real world usage cases. - -comment "expedite needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/expedite/expedite.hash b/package/expedite/expedite.hash deleted file mode 100644 index 828ee0553b..0000000000 --- a/package/expedite/expedite.hash +++ /dev/null @@ -1,2 +0,0 @@ -# locally computed -sha256 56e1dbd9826d932f0ef72a10dfdf32b6e0f680ab6830f8a8cfc60644ac69dbf1 expedite-e7b11dd328d9db82b49cde795944a721beaf0112.tar.gz diff --git a/package/expedite/expedite.mk b/package/expedite/expedite.mk deleted file mode 100644 index 6bd4b007ba..0000000000 --- a/package/expedite/expedite.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# -# expedite -# -################################################################################ - -EXPEDITE_VERSION = e7b11dd328d9db82b49cde795944a721beaf0112 -EXPEDITE_SITE = http://git.enlightenment.org/tools/expedite.git -EXPEDITE_SITE_METHOD = git -EXPEDITE_LICENSE = BSD-2-Clause -EXPEDITE_LICENSE_FILES = COPYING - -EXPEDITE_DEPENDENCIES = host-efl host-pkgconf efl - -# There is no configure script in the git tree. -EXPEDITE_AUTORECONF = YES - -ifeq ($(BR2_PACKAGE_EFL_X_XLIB),y) -EXPEDITE_CONF_OPTS += --with-x=$(STAGING_DIR) \ - --x-includes=$(STAGING_DIR)/usr/include \ - --x-libraries=$(STAGING_DIR)/usr/lib -endif - -$(eval $(autotools-package)) diff --git a/package/f2fs-tools/Config.in.host b/package/f2fs-tools/Config.in.host new file mode 100644 index 0000000000..19c77b9c89 --- /dev/null +++ b/package/f2fs-tools/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_F2FS_TOOLS + bool "host f2fs-tools" + select BR2_PACKAGE_HOST_UTIL_LINUX + help + Tools for Flash-Friendly File System (F2FS) + + https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git diff --git a/package/f2fs-tools/f2fs-tools.hash b/package/f2fs-tools/f2fs-tools.hash index cef779084c..9b72ca8fc0 100644 --- a/package/f2fs-tools/f2fs-tools.hash +++ b/package/f2fs-tools/f2fs-tools.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 424ea9fd2472ea062f21c4268a82a7ad435b6f704e41a494424068c11dec4c24 f2fs-tools-v1.10.0.tar.gz +sha256 25fb715be0b6a115cc6b7b0f6b8ad6c825a7b174f55c034b6f9da2df1c2c6d97 f2fs-tools-v1.11.0.tar.gz sha256 662abb3a8a80b36ae7036c289dd1e03b361ee5dd2e6fd5211d0d8d029146449f COPYING diff --git a/package/f2fs-tools/f2fs-tools.mk b/package/f2fs-tools/f2fs-tools.mk index 1736dc4ead..ba16218bda 100644 --- a/package/f2fs-tools/f2fs-tools.mk +++ b/package/f2fs-tools/f2fs-tools.mk @@ -4,11 +4,12 @@ # ################################################################################ -F2FS_TOOLS_VERSION = v1.10.0 +F2FS_TOOLS_VERSION = v1.11.0 F2FS_TOOLS_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git F2FS_TOOLS_SITE_METHOD = git F2FS_TOOLS_CONF_ENV = ac_cv_file__git=no F2FS_TOOLS_DEPENDENCIES = host-pkgconf util-linux +HOST_F2FS_TOOLS_DEPENDENCIES = host-pkgconf host-util-linux # GIT version, shipped without configure F2FS_TOOLS_AUTORECONF = YES F2FS_TOOLS_INSTALL_STAGING = YES @@ -29,4 +30,12 @@ else F2FS_TOOLS_CONF_OPTS += --without-blkid endif +# blkid is only used to detect if we're overwriting a filesystem +# during mkfs, which only makes sense on the target, so we disable +# blkid support even if we have host-util-linux +HOST_F2FS_TOOLS_CONF_OPTS = \ + --without-selinux \ + --without-blkid + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/fail2ban/Config.in b/package/fail2ban/Config.in new file mode 100644 index 0000000000..8fa63bfdcb --- /dev/null +++ b/package/fail2ban/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_FAIL2BAN + bool "fail2ban" + depends on BR2_PACKAGE_PYTHON + help + Fail2ban scans log files (e.g. /var/log/apache/error_log) and + bans IPs that show the malicious signs -- too many password + failures, seeking for exploits, etc. Out of the box Fail2Ban + comes with filters for various services (apache, courier, + ssh, etc). + + Fail2Ban is able to reduce the rate of incorrect + authentications attempts however it cannot eliminate the risk + that weak authentication presents. + + https://www.fail2ban.org diff --git a/package/fail2ban/S60fail2ban b/package/fail2ban/S60fail2ban new file mode 100644 index 0000000000..b181ecde2c --- /dev/null +++ b/package/fail2ban/S60fail2ban @@ -0,0 +1,23 @@ +#!/bin/sh + +case "$1" in + start) + printf "Starting fail2ban: " + start-stop-daemon -S -q -m -p /var/run/fail2ban.pid \ + -b -x fail2ban-server -- -xf start + [ $? = 0 ] && echo "OK" || echo "FAIL" + ;; + stop) + printf "Stopping fail2ban: " + start-stop-daemon -K -q -p /var/run/fail2ban.pid + [ $? = 0 ] && echo "OK" || echo "FAIL" + ;; + restart) + "$0" stop + sleep 1 + "$0" start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + ;; +esac diff --git a/package/fail2ban/fail2ban.hash b/package/fail2ban/fail2ban.hash new file mode 100644 index 0000000000..25d120c115 --- /dev/null +++ b/package/fail2ban/fail2ban.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 d6ca1bbc7e7944f7acb2ba7c1065953cd9837680bc4d175f30ed155c6a372449 fail2ban-0.10.4.tar.gz +sha256 a75fec0260742fe6275d63ff6a5d97b924b28766558306b3fa4069763096929b COPYING diff --git a/package/fail2ban/fail2ban.mk b/package/fail2ban/fail2ban.mk new file mode 100644 index 0000000000..b7e6bdc1a6 --- /dev/null +++ b/package/fail2ban/fail2ban.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# fail2ban +# +################################################################################ + +FAIL2BAN_VERSION = 0.10.4 +FAIL2BAN_SITE = $(call github,fail2ban,fail2ban,$(FAIL2BAN_VERSION)) +FAIL2BAN_LICENSE = GPL-2.0+ +FAIL2BAN_LICENSE_FILES = COPYING +FAIL2BAN_SETUP_TYPE = distutils + +define FAIL2BAN_INSTALL_INIT_SYSV + $(INSTALL) -D -m 755 package/fail2ban/S60fail2ban \ + $(TARGET_DIR)/etc/init.d/S60fail2ban +endef + +define FAIL2BAN_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(@D)/files/fail2ban.service.in \ + $(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -fs ../../../../usr/lib//systemd/system/fail2ban.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/fail2ban.service + $(SED) 's,@BINDIR@,/usr/bin,g' $(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service +endef + +$(eval $(python-package)) diff --git a/package/fdk-aac/Config.in b/package/fdk-aac/Config.in index 111de41ca4..26e060b93d 100644 --- a/package/fdk-aac/Config.in +++ b/package/fdk-aac/Config.in @@ -1,9 +1,12 @@ # These are the architectures supported by FDK AAC config BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS bool - default y if BR2_i386 || BR2_x86_64 || BR2_arm || BR2_armeb || \ - BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ - BR2_powerpc || BR2_sh + default y if BR2_aarch64 + default y if BR2_arm || BR2_armeb + default y if BR2_i386 || BR2_x86_64 + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_powerpc + default y if BR2_sh config BR2_PACKAGE_FDK_AAC bool "fdk-aac" diff --git a/package/fdk-aac/fdk-aac.hash b/package/fdk-aac/fdk-aac.hash index db0f0d535c..a8f380c932 100644 --- a/package/fdk-aac/fdk-aac.hash +++ b/package/fdk-aac/fdk-aac.hash @@ -1,6 +1,6 @@ # From https://sourceforge.net/projects/opencore-amr/files/fdk-aac/ -sha1 574103e24fe45b3b89a92cc6a7a9d260c483b9e0 fdk-aac-0.1.6.tar.gz -md5 13c04c5f4f13f4c7414c95d7fcdea50f fdk-aac-0.1.6.tar.gz +sha1 30439757fe5bbc8bccedcc8e51668b74db7322c7 fdk-aac-2.0.0.tar.gz +md5 8ccebea4fc5c9d40fff8f72bf68a6e50 fdk-aac-2.0.0.tar.gz # Locally computed: -sha256 aab61b42ac6b5953e94924c73c194f08a86172d63d39c5717f526ca016bed3ad fdk-aac-0.1.6.tar.gz -sha256 40b9ad8a1c630853bffc51bb5a46adf5c457afcc7c70d66d2ef919b1f14ccb4e NOTICE +sha256 f7d6e60f978ff1db952f7d5c3e96751816f5aef238ecf1d876972697b85fd96c fdk-aac-2.0.0.tar.gz +sha256 95ec80da40b4af12ad4c4f3158c9cfb80f2479f3246e4260cb600827cc8c7836 NOTICE diff --git a/package/fdk-aac/fdk-aac.mk b/package/fdk-aac/fdk-aac.mk index 72ae553c26..3904a41b92 100644 --- a/package/fdk-aac/fdk-aac.mk +++ b/package/fdk-aac/fdk-aac.mk @@ -4,7 +4,7 @@ # ################################################################################ -FDK_AAC_VERSION = 0.1.6 +FDK_AAC_VERSION = 2.0.0 FDK_AAC_SITE = http://downloads.sourceforge.net/project/opencore-amr/fdk-aac FDK_AAC_LICENSE = fdk-aac license FDK_AAC_LICENSE_FILES = NOTICE diff --git a/package/feh/Config.in b/package/feh/Config.in index 19b4abe0e3..7a348a1507 100644 --- a/package/feh/Config.in +++ b/package/feh/Config.in @@ -2,13 +2,11 @@ config BR2_PACKAGE_FEH bool "feh" depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_XLIB_LIBXINERAMA select BR2_PACKAGE_XLIB_LIBXT select BR2_PACKAGE_IMLIB2 select BR2_PACKAGE_IMLIB2_PNG select BR2_PACKAGE_IMLIB2_JPEG select BR2_PACKAGE_IMLIB2_X - select BR2_PACKAGE_LIBCURL help feh is an X11 image viewer aimed mostly at console users. diff --git a/package/feh/feh.hash b/package/feh/feh.hash index 0653fc2eee..cb554858bf 100644 --- a/package/feh/feh.hash +++ b/package/feh/feh.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature -sha256 b1d6bfdd79060d864b8eff05b916153be04801998148620125e3ac31f99f6c86 feh-2.26.tar.bz2 +sha256 6ec338f80c3f4c30d715f44780f1a09ebfbb99e92a1bb43316428744a839f383 feh-2.27.1.tar.bz2 +sha256 a289176a74d8e5d071456df5d4ee629aeb86f8eeeb6570076fe126f182c6b91d COPYING diff --git a/package/feh/feh.mk b/package/feh/feh.mk index 0bbec23111..3bfd427e79 100644 --- a/package/feh/feh.mk +++ b/package/feh/feh.mk @@ -4,20 +4,42 @@ # ################################################################################ -FEH_VERSION = 2.26 +FEH_VERSION = 2.27.1 FEH_SOURCE = feh-$(FEH_VERSION).tar.bz2 FEH_SITE = http://feh.finalrewind.org -FEH_DEPENDENCIES = libcurl imlib2 libpng xlib_libXinerama xlib_libXt +FEH_DEPENDENCIES = imlib2 libpng xlib_libXt FEH_LICENSE = MIT FEH_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBCURL),y) +FEH_DEPENDENCIES += libcurl +FEH_MAKE_OPTS += curl=1 +else +FEH_MAKE_OPTS += curl=0 +endif + +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +FEH_DEPENDENCIES += libexif +FEH_MAKE_OPTS += exif=1 +else +FEH_MAKE_OPTS += exif=0 +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y) +FEH_DEPENDENCIES += xlib_libXinerama +FEH_MAKE_OPTS += xinerama=1 +else +FEH_MAKE_OPTS += xinerama=0 +endif + define FEH_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -std=gnu99" \ - $(MAKE) -C $(@D) all + $(MAKE) $(FEH_MAKE_OPTS) -C $(@D) all endef define FEH_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) PREFIX=/usr DESTDIR=$(TARGET_DIR) -C $(@D) install + $(TARGET_MAKE_ENV) $(MAKE) $(FEH_MAKE_OPTS) PREFIX=/usr \ + DESTDIR=$(TARGET_DIR) -C $(@D) install endef $(eval $(generic-package)) diff --git a/package/fetchmail/0002-enable-libressl.patch b/package/fetchmail/0001-enable-libressl.patch similarity index 100% rename from package/fetchmail/0002-enable-libressl.patch rename to package/fetchmail/0001-enable-libressl.patch diff --git a/package/fetchmail/0001-fix-openssl-static-link.patch b/package/fetchmail/0001-fix-openssl-static-link.patch deleted file mode 100644 index 1a5f4d6f71..0000000000 --- a/package/fetchmail/0001-fix-openssl-static-link.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fix checking for statically build OpenSSL with libz dependency - -Fixes -http://autobuild.buildroot.net/results/48a/48ad6d3659cf1f04581b7e3d115bebf454ff17fd/ - -configure: Enabling OpenSSL support in /home/br/br/output/host/usr/i486-buildroot-linux-uclibc/sysroot/usr. -checking for additional library dependencies of SSL... error -configure: error: cannot link with SSL - check config.log - -In config.log multiple linking errors to libz can be found: - -configure:10099: /home/br/br/output/host/usr/bin/i486-ctng-linux-uclibc-gcc -o - conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64 - /home/br/br/output/host/usr/i486-buildroot-linux-uclibc/sysroot/usr/lib/libcrypto.a(c_zlib.o): - In function `zlib_stateful_c_zlib.c:(.text+0x56): undefined reference to `inflate' - -Signed-off-by: Bernd Kuhls - -diff -uNr fetchmail-6.3.26.org/configure.ac fetchmail-6.3.26/configure.ac ---- fetchmail-6.3.26.org/configure.ac 2013-04-23 22:51:10.000000000 +0200 -+++ fetchmail-6.3.26/configure.ac 2014-07-27 09:20:25.000000000 +0200 -@@ -778,7 +778,7 @@ - AC_MSG_ERROR([SSL support enabled, but OpenSSL not found]) - fi - LDFLAGS="$LDFLAGS -L$with_ssl/lib" -- LIBS="$LIBS -lssl -lcrypto" -+ LIBS="-lssl -lcrypto $LIBS" - dnl check if -ldl is needed - AC_MSG_CHECKING([for additional library dependencies of SSL]) - found=0 diff --git a/package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch b/package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch new file mode 100644 index 0000000000..aefed7f2e4 --- /dev/null +++ b/package/fetchmail/0002-configure.ac-use-pkg-config-to-find-openssl.patch @@ -0,0 +1,69 @@ +From 1ed0af7f1bbcaccbd7356bd90596f5c942b64720 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 22 Mar 2019 20:24:54 +0100 +Subject: [PATCH 1/1] configure.ac: use pkg-config to find openssl + +openssl can have multiples dependencies such as libatomic on sparcv8 +32 bits + +Fixes: + - http://autobuild.buildroot.org/results/58e5aa7c6ba8fe7474071d7a3cba6ed3a1b4cff4 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.com/fetchmail/fetchmail/merge_requests/14] +--- + configure.ac | 37 +++++++++++++++++++------------------ + 1 file changed, 19 insertions(+), 18 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 16b0fcba..3a75ec6e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -778,24 +778,25 @@ then + else + AC_MSG_ERROR([SSL support enabled, but OpenSSL not found]) + fi +- LDFLAGS="$LDFLAGS -L$with_ssl/lib" +- LIBS="$LIBS -lssl -lcrypto" +- dnl check if -ldl is needed +- AC_MSG_CHECKING([for additional library dependencies of SSL]) +- found=0 +- save_LIBS="$LIBS" +- for i in "" "-ldl" ; do +- LIBS="$LDFLAGS $save_LIBS $i" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ],[SSL_library_init()])],[found=1; break]) +- done +- if test $found = 0 ; then +- AC_MSG_RESULT([error]) +- AC_MSG_ERROR([cannot link with SSL - check config.log]) +- fi +- LIBS="$save_LIBS $i" +- if test "$i" = "" ; then i="(none)" ; fi +- AC_MSG_RESULT($i) +- dnl XXX FIXME: use pkg-config if available! ++ PKG_CHECK_MODULES([SSL],[libssl libcrypto],[LIBS="$LIBS $SSL_LIBS"],[ ++ LDFLAGS="$LDFLAGS -L$with_ssl/lib" ++ LIBS="$LIBS -lssl -lcrypto" ++ dnl check if -ldl is needed ++ AC_MSG_CHECKING([for additional library dependencies of SSL]) ++ found=0 ++ save_LIBS="$LIBS" ++ for i in "" "-ldl" ; do ++ LIBS="$LDFLAGS $save_LIBS $i" ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ],[SSL_library_init()])],[found=1; break]) ++ done ++ if test $found = 0 ; then ++ AC_MSG_RESULT([error]) ++ AC_MSG_ERROR([cannot link with SSL - check config.log]) ++ fi ++ LIBS="$save_LIBS $i" ++ if test "$i" = "" ; then i="(none)" ; fi ++ AC_MSG_RESULT($i) ++ ]) + AC_DEFINE(SSL_ENABLE) + else + AC_MSG_WARN(Disabling SSL support.) +-- +2.20.1 + diff --git a/package/fetchmail/fetchmail.mk b/package/fetchmail/fetchmail.mk index 37bbeabf62..41505e8637 100644 --- a/package/fetchmail/fetchmail.mk +++ b/package/fetchmail/fetchmail.mk @@ -13,17 +13,12 @@ FETCHMAIL_LICENSE_FILES = COPYING FETCHMAIL_AUTORECONF = YES FETCHMAIL_GETTEXTIZE = YES -# needed to help fetchmail detecting the availability of openssl, -# because it doesn't use pkg-config -ifeq ($(BR2_STATIC_LIBS),y) -FETCHMAIL_CONF_ENV += LIBS="-lz" -endif - FETCHMAIL_CONF_OPTS = \ --with-ssl=$(STAGING_DIR)/usr FETCHMAIL_DEPENDENCIES = \ ca-certificates \ + host-pkgconf \ openssl \ $(TARGET_NLS_DEPENDENCIES) diff --git a/package/ffmpeg/0002-libfdk-aacenc-Fix-building-with-libfdk-aac-v2.patch b/package/ffmpeg/0002-libfdk-aacenc-Fix-building-with-libfdk-aac-v2.patch new file mode 100644 index 0000000000..3f452242fa --- /dev/null +++ b/package/ffmpeg/0002-libfdk-aacenc-Fix-building-with-libfdk-aac-v2.patch @@ -0,0 +1,100 @@ +From c60fb550302878aba7e86037451f7996e8069289 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Fri, 31 Aug 2018 14:25:30 +0300 +Subject: [PATCH] libfdk-aacenc: Fix building with libfdk-aac v2 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When flushing the encoder, we now need to provide non-null buffer +parameters for everything, even if they are unused. + +The encoderDelay parameter has been replaced by two, nDelay and +nDelayCore. + +Downloaded from +http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=141c960e21d2860e354f9b90df136184dd00a9a8 + +Signed-off-by: Martin Storsjö +[Bernd: rebased for ffmpeg 3.4.5] +Signed-off-by: Bernd Kuhls +--- + libavcodec/libfdk-aacenc.c | 34 +++++++++++++++++++++++++--------- + 1 file changed, 25 insertions(+), 9 deletions(-) + +diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c +index 0e2051b468..f5adb407ed 100644 +--- a/libavcodec/libfdk-aacenc.c ++++ b/libavcodec/libfdk-aacenc.c +@@ -26,6 +26,11 @@ + #include "audio_frame_queue.h" + #include "internal.h" + ++#define FDKENC_VER_AT_LEAST(vl0, vl1) \ ++ (defined(AACENCODER_LIB_VL0) && \ ++ ((AACENCODER_LIB_VL0 > vl0) || \ ++ (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1))) ++ + typedef struct AACContext { + const AVClass *class; + HANDLE_AACENCODER handle; +@@ -286,7 +291,11 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) + } + + avctx->frame_size = info.frameLength; ++#if FDKENC_VER_AT_LEAST(4, 0) ++ avctx->initial_padding = info.nDelay; ++#else + avctx->initial_padding = info.encoderDelay; ++#endif + ff_af_queue_init(avctx, &s->afq); + + if (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) { +@@ -319,28 +328,35 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, + int out_buffer_size, out_buffer_element_size; + void *in_ptr, *out_ptr; + int ret; ++ uint8_t dummy_buf[1]; + AACENC_ERROR err; + + /* handle end-of-stream small frame and flushing */ + if (!frame) { ++ /* Must be a non-null pointer, even if it's a dummy. We could use ++ * the address of anything else on the stack as well. */ ++ in_ptr = dummy_buf; ++ in_buffer_size = 0; ++ + in_args.numInSamples = -1; + } else { +- in_ptr = frame->data[0]; +- in_buffer_size = 2 * avctx->channels * frame->nb_samples; +- in_buffer_element_size = 2; ++ in_ptr = frame->data[0]; ++ in_buffer_size = 2 * avctx->channels * frame->nb_samples; + +- in_args.numInSamples = avctx->channels * frame->nb_samples; +- in_buf.numBufs = 1; +- in_buf.bufs = &in_ptr; +- in_buf.bufferIdentifiers = &in_buffer_identifier; +- in_buf.bufSizes = &in_buffer_size; +- in_buf.bufElSizes = &in_buffer_element_size; ++ in_args.numInSamples = avctx->channels * frame->nb_samples; + + /* add current frame to the queue */ + if ((ret = ff_af_queue_add(&s->afq, frame)) < 0) + return ret; + } + ++ in_buffer_element_size = 2; ++ in_buf.numBufs = 1; ++ in_buf.bufs = &in_ptr; ++ in_buf.bufferIdentifiers = &in_buffer_identifier; ++ in_buf.bufSizes = &in_buffer_size; ++ in_buf.bufElSizes = &in_buffer_element_size; ++ + /* The maximum packet size is 6144 bits aka 768 bytes per channel. */ + if ((ret = ff_alloc_packet2(avctx, avpkt, FFMAX(8192, 768 * avctx->channels), 0)) < 0) + return ret; +-- +2.20.1 + diff --git a/package/ffmpeg/0003-libfdk-aac-Consistently-use-a-proper-version-check-m.patch b/package/ffmpeg/0003-libfdk-aac-Consistently-use-a-proper-version-check-m.patch new file mode 100644 index 0000000000..c358a045d1 --- /dev/null +++ b/package/ffmpeg/0003-libfdk-aac-Consistently-use-a-proper-version-check-m.patch @@ -0,0 +1,99 @@ +From 48be4c81e0ad081edab65e133e6e1bdec7de3b55 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Tue, 4 Sep 2018 08:29:37 +0300 +Subject: [PATCH] libfdk-aac: Consistently use a proper version check macro for + detecting features +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libfdk-aac: Consistently use a proper version check macro for detecting features + +The previous version checks checked explicitly for the version +where the version define was added to the installed headers, +making an "#ifdef AACDECODER_LIB_VL0" enough. Now that we have +a need for more diverse version checks than this, convert all checks +to such checks. + +Downloaded from +http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=ffb9b7a6bab6c6bfd3dd9a7c32e3724209824999 + +Signed-off-by: Martin Storsjö +Signed-off-by: Bernd Kuhls +--- + libavcodec/libfdk-aacdec.c | 13 ++++++++----- + libavcodec/libfdk-aacenc.c | 6 +++--- + 2 files changed, 11 insertions(+), 8 deletions(-) + +diff --git a/libavcodec/libfdk-aacdec.c b/libavcodec/libfdk-aacdec.c +index 2857b9453f..ef51184ebd 100644 +--- a/libavcodec/libfdk-aacdec.c ++++ b/libavcodec/libfdk-aacdec.c +@@ -25,9 +25,12 @@ + #include "avcodec.h" + #include "internal.h" + +-/* The version macro is introduced the same time as the setting enum was +- * changed, so this check should suffice. */ +-#ifndef AACDECODER_LIB_VL0 ++#define FDKDEC_VER_AT_LEAST(vl0, vl1) \ ++ (defined(AACDECODER_LIB_VL0) && \ ++ ((AACDECODER_LIB_VL0 > vl0) || \ ++ (AACDECODER_LIB_VL0 == vl0 && AACDECODER_LIB_VL1 >= vl1))) ++ ++#if !FDKDEC_VER_AT_LEAST(2, 5) // < 2.5.10 + #define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS + #endif + +@@ -72,7 +75,7 @@ static const AVOption fdk_aac_dec_options[] = { + OFFSET(drc_level), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 127, AD, NULL }, + { "drc_heavy", "Dynamic Range Control: heavy compression, where [1] is on (RF mode) and [0] is off", + OFFSET(drc_heavy), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL }, +-#ifdef AACDECODER_LIB_VL0 ++#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 + { "level_limit", "Signal level limiting", OFFSET(level_limit), AV_OPT_TYPE_INT, { .i64 = 0 }, -1, 1, AD }, + #endif + { NULL } +@@ -293,7 +296,7 @@ static av_cold int fdk_aac_decode_init(AVCodecContext *avctx) + } + } + +-#ifdef AACDECODER_LIB_VL0 ++#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 + if (aacDecoder_SetParam(s->handle, AAC_PCM_LIMITER_ENABLE, s->level_limit) != AAC_DEC_OK) { + av_log(avctx, AV_LOG_ERROR, "Unable to set in signal level limiting in the decoder\n"); + return AVERROR_UNKNOWN; +diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c +index f5adb407ed..91dcb5a1b9 100644 +--- a/libavcodec/libfdk-aacenc.c ++++ b/libavcodec/libfdk-aacenc.c +@@ -156,7 +156,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) + case 6: mode = MODE_1_2_2_1; sce = 2; cpe = 2; break; + /* The version macro is introduced the same time as the 7.1 support, so this + should suffice. */ +-#ifdef AACENCODER_LIB_VL0 ++#if FDKENC_VER_AT_LEAST(3, 4) // 3.4.12 + case 8: + sce = 2; + cpe = 3; +@@ -291,7 +291,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) + } + + avctx->frame_size = info.frameLength; +-#if FDKENC_VER_AT_LEAST(4, 0) ++#if FDKENC_VER_AT_LEAST(4, 0) // 4.0.0 + avctx->initial_padding = info.nDelay; + #else + avctx->initial_padding = info.encoderDelay; +@@ -412,7 +412,7 @@ static const uint64_t aac_channel_layout[] = { + AV_CH_LAYOUT_4POINT0, + AV_CH_LAYOUT_5POINT0_BACK, + AV_CH_LAYOUT_5POINT1_BACK, +-#ifdef AACENCODER_LIB_VL0 ++#if FDKENC_VER_AT_LEAST(3, 4) // 3.4.12 + AV_CH_LAYOUT_7POINT1_WIDE_BACK, + AV_CH_LAYOUT_7POINT1, + #endif +-- +2.20.1 + diff --git a/package/ffmpeg/0004-libfdk-aac-Don-t-use-defined-in-a-define.patch b/package/ffmpeg/0004-libfdk-aac-Don-t-use-defined-in-a-define.patch new file mode 100644 index 0000000000..30357b91e1 --- /dev/null +++ b/package/ffmpeg/0004-libfdk-aac-Don-t-use-defined-in-a-define.patch @@ -0,0 +1,72 @@ +From 452746d80fdaaaf1b546860eb78449c6de3678d7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Wed, 12 Sep 2018 20:03:12 +0300 +Subject: [PATCH] libfdk-aac: Don't use defined() in a #define +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libfdk-aac: Don't use defined() in a #define + +MSVC expands the preprocessor directives differently, making the +version check fail in the previous form. + +Clang can warn about this with -Wexpansion-to-defined (not currently +enabled by default): +warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined] + +Downloaded from +http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=2a9e1c122eed66be1b26b747342b848300b226c7 + +Signed-off-by: Martin Storsjö +Signed-off-by: Bernd Kuhls +--- + libavcodec/libfdk-aacdec.c | 9 ++++++--- + libavcodec/libfdk-aacenc.c | 9 ++++++--- + 2 files changed, 12 insertions(+), 6 deletions(-) + +diff --git a/libavcodec/libfdk-aacdec.c b/libavcodec/libfdk-aacdec.c +index ef51184ebd..0fbab36463 100644 +--- a/libavcodec/libfdk-aacdec.c ++++ b/libavcodec/libfdk-aacdec.c +@@ -25,10 +25,13 @@ + #include "avcodec.h" + #include "internal.h" + ++#ifdef AACDECODER_LIB_VL0 + #define FDKDEC_VER_AT_LEAST(vl0, vl1) \ +- (defined(AACDECODER_LIB_VL0) && \ +- ((AACDECODER_LIB_VL0 > vl0) || \ +- (AACDECODER_LIB_VL0 == vl0 && AACDECODER_LIB_VL1 >= vl1))) ++ ((AACDECODER_LIB_VL0 > vl0) || \ ++ (AACDECODER_LIB_VL0 == vl0 && AACDECODER_LIB_VL1 >= vl1)) ++#else ++#define FDKDEC_VER_AT_LEAST(vl0, vl1) 0 ++#endif + + #if !FDKDEC_VER_AT_LEAST(2, 5) // < 2.5.10 + #define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS +diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c +index 91dcb5a1b9..8349e56dcb 100644 +--- a/libavcodec/libfdk-aacenc.c ++++ b/libavcodec/libfdk-aacenc.c +@@ -26,10 +26,13 @@ + #include "audio_frame_queue.h" + #include "internal.h" + ++#ifdef AACENCODER_LIB_VL0 + #define FDKENC_VER_AT_LEAST(vl0, vl1) \ +- (defined(AACENCODER_LIB_VL0) && \ +- ((AACENCODER_LIB_VL0 > vl0) || \ +- (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1))) ++ ((AACENCODER_LIB_VL0 > vl0) || \ ++ (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1)) ++#else ++#define FDKENC_VER_AT_LEAST(vl0, vl1) 0 ++#endif + + typedef struct AACContext { + const AVClass *class; +-- +2.20.1 + diff --git a/package/ffmpeg/ffmpeg.hash b/package/ffmpeg/ffmpeg.hash index 7d64d8441c..e00c4ec56c 100644 --- a/package/ffmpeg/ffmpeg.hash +++ b/package/ffmpeg/ffmpeg.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 386f7601e865df6bddde05bb6927119b5a853f0b92e2e9834f59c125a17d3fc6 ffmpeg-3.4.4.tar.xz +sha256 741cbd6394eaed370774ca4cc089eaafbc54d0824b9aa360d4b3b0cbcbc4a92c ffmpeg-3.4.5.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe COPYING.LGPLv2.1 sha256 73d99bc83313fff665b426d6672b4e0479102bc402fe22314ac9ce94a38aa5ff LICENSE.md diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk index cf9abeb102..b86d465df8 100644 --- a/package/ffmpeg/ffmpeg.mk +++ b/package/ffmpeg/ffmpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -FFMPEG_VERSION = 3.4.4 +FFMPEG_VERSION = 3.4.5 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES @@ -511,10 +511,10 @@ endif # warning from ffmpeg's configure script. ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y) FFMPEG_CONF_OPTS += --cpu=generic -else ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),) -FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_CPU) -else ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),) -FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_ARCH) +else ifneq ($(GCC_TARGET_CPU),) +FFMPEG_CONF_OPTS += --cpu="$(GCC_TARGET_CPU)" +else ifneq ($(GCC_TARGET_ARCH),) +FFMPEG_CONF_OPTS += --cpu="$(GCC_TARGET_ARCH)" endif FFMPEG_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF)) diff --git a/package/fftw/Config.in b/package/fftw/Config.in index d51f8f3c51..69dc6559a0 100644 --- a/package/fftw/Config.in +++ b/package/fftw/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_FFTW bool "fftw" + select BR2_PACKAGE_FFTW_DOUBLE if !BR2_PACKAGE_FFTW_SINGLE \ + && !BR2_PACKAGE_FFTW_LONG_DOUBLE && !BR2_PACKAGE_FFTW_QUAD help Library for computing Fast Fourier Transforms. @@ -12,55 +14,10 @@ config BR2_PACKAGE_FFTW if BR2_PACKAGE_FFTW -config BR2_PACKAGE_FFTW_USE_SSE - bool - -config BR2_PACKAGE_FFTW_USE_SSE2 - bool - -config BR2_PACKAGE_FFTW_USE_NEON - bool - -choice - prompt "fftw precision" - default BR2_PACKAGE_FFTW_PRECISION_DOUBLE - help - Selects fftw precision - -config BR2_PACKAGE_FFTW_PRECISION_SINGLE - bool "single" - select BR2_PACKAGE_FFTW_USE_SSE if BR2_X86_CPU_HAS_SSE - select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2 - select BR2_PACKAGE_FFTW_USE_NEON if BR2_ARM_CPU_HAS_NEON && !BR2_ARM_SOFT_FLOAT - help - Compile fftw in single precision, i.e. use 'float' for - floating point type. - -config BR2_PACKAGE_FFTW_PRECISION_DOUBLE - bool "double" - select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2 - help - Compile fftw in double precision (the default), i.e. use - 'double' for floating point type. - -config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE - bool "long double" - # long-double precision require long-double trigonometric routines - depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \ - (BR2_arm || BR2_mips || BR2_mipsel)) - help - Compile fftw in long double precision, i.e. use 'long double' - for floating point type. - -config BR2_PACKAGE_FFTW_PRECISION_QUAD - bool "quad" - # quad-precision needs to have a gcc with libquadmath - depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR - help - Compile fftw in quadruple precision, i.e. use '__float128' for - floating point type. - -endchoice +source "package/fftw/fftw-single/Config.in" +source "package/fftw/fftw-double/Config.in" +source "package/fftw/fftw-long-double/Config.in" +source "package/fftw/fftw-quad/Config.in" config BR2_PACKAGE_FFTW_FAST bool "optimise for speed over accuracy" diff --git a/package/fftw/fftw-double/Config.in b/package/fftw/fftw-double/Config.in new file mode 100644 index 0000000000..cfcd1ef997 --- /dev/null +++ b/package/fftw/fftw-double/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_FFTW_DOUBLE + bool "fftw-double" + help + Compile fftw in double precision (the default), i.e. use + 'double' for floating point type. diff --git a/package/fftw/fftw-double/fftw-double.hash b/package/fftw/fftw-double/fftw-double.hash new file mode 120000 index 0000000000..3ee7ecb3ba --- /dev/null +++ b/package/fftw/fftw-double/fftw-double.hash @@ -0,0 +1 @@ +../fftw.hash \ No newline at end of file diff --git a/package/fftw/fftw-double/fftw-double.mk b/package/fftw/fftw-double/fftw-double.mk new file mode 100644 index 0000000000..4bacb26e56 --- /dev/null +++ b/package/fftw/fftw-double/fftw-double.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# fftw-double +# +################################################################################ + +FFTW_DOUBLE_VERSION = $(FFTW_VERSION) +FFTW_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz +FFTW_DOUBLE_SITE = $(FFTW_SITE) +FFTW_DOUBLE_DL_SUBDIR = fftw +FFTW_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING) +FFTW_DOUBLE_LICENSE = $(FFTW_LICENSE) +FFTW_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES) + +FFTW_DOUBLE_CONF_ENV = $(FFTW_COMMON_CONF_ENV) + +FFTW_DOUBLE_CONF_OPTS = \ + $(FFTW_COMMON_CONF_OPTS) \ + CFLAGS="$(FFTW_COMMON_CFLAGS)" \ + $(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2 + +$(eval $(autotools-package)) diff --git a/package/fftw/fftw-long-double/Config.in b/package/fftw/fftw-long-double/Config.in new file mode 100644 index 0000000000..3ee1762850 --- /dev/null +++ b/package/fftw/fftw-long-double/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_FFTW_LONG_DOUBLE + bool "fftw-long-double" + # long-double precision require long-double trigonometric routines + depends on !(BR2_TOOLCHAIN_USES_UCLIBC && \ + (BR2_arm || BR2_mips || BR2_mipsel)) + help + Compile fftw in long double precision, i.e. use 'long double' + for floating point type. diff --git a/package/fftw/fftw-long-double/fftw-long-double.hash b/package/fftw/fftw-long-double/fftw-long-double.hash new file mode 120000 index 0000000000..3ee7ecb3ba --- /dev/null +++ b/package/fftw/fftw-long-double/fftw-long-double.hash @@ -0,0 +1 @@ +../fftw.hash \ No newline at end of file diff --git a/package/fftw/fftw-long-double/fftw-long-double.mk b/package/fftw/fftw-long-double/fftw-long-double.mk new file mode 100644 index 0000000000..173050446c --- /dev/null +++ b/package/fftw/fftw-long-double/fftw-long-double.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# fftw-long-double +# +################################################################################ + +FFTW_LONG_DOUBLE_VERSION = $(FFTW_VERSION) +FFTW_LONG_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz +FFTW_LONG_DOUBLE_SITE = $(FFTW_SITE) +FFTW_LONG_DOUBLE_DL_SUBDIR = fftw +FFTW_LONG_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING) +FFTW_LONG_DOUBLE_LICENSE = $(FFTW_LICENSE) +FFTW_LONG_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES) + +FFTW_LONG_DOUBLE_CONF_ENV = $(FFTW_COMMON_CONF_ENV) + +FFTW_LONG_DOUBLE_CONF_OPTS = \ + $(FFTW_COMMON_CONF_OPTS) \ + CFLAGS="$(FFTW_COMMON_CFLAGS)" \ + --enable-long-double + +$(eval $(autotools-package)) diff --git a/package/fftw/fftw-quad/Config.in b/package/fftw/fftw-quad/Config.in new file mode 100644 index 0000000000..10d296df91 --- /dev/null +++ b/package/fftw/fftw-quad/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_FFTW_QUAD + bool "fftw-quad" + # quad-precision needs to have a gcc with libquadmath + depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR + help + Compile fftw in quadruple precision, i.e. use '__float128' for + floating point type. diff --git a/package/fftw/fftw-quad/fftw-quad.hash b/package/fftw/fftw-quad/fftw-quad.hash new file mode 120000 index 0000000000..3ee7ecb3ba --- /dev/null +++ b/package/fftw/fftw-quad/fftw-quad.hash @@ -0,0 +1 @@ +../fftw.hash \ No newline at end of file diff --git a/package/fftw/fftw-quad/fftw-quad.mk b/package/fftw/fftw-quad/fftw-quad.mk new file mode 100644 index 0000000000..5ff79b1d46 --- /dev/null +++ b/package/fftw/fftw-quad/fftw-quad.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# fftw-quad +# +################################################################################ + +FFTW_QUAD_VERSION = $(FFTW_VERSION) +FFTW_QUAD_SOURCE = fftw-$(FFTW_VERSION).tar.gz +FFTW_QUAD_SITE = $(FFTW_SITE) +FFTW_QUAD_DL_SUBDIR = fftw +FFTW_QUAD_INSTALL_STAGING = $(FFTW_INSTALL_STAGING) +FFTW_QUAD_LICENSE = $(FFTW_LICENSE) +FFTW_QUAD_LICENSE_FILES = $(FFTW_LICENSE_FILES) + +FFTW_QUAD_CONF_ENV = $(FFTW_COMMON_CONF_ENV) + +FFTW_QUAD_CONF_OPTS = \ + $(FFTW_COMMON_CONF_OPTS) \ + CFLAGS="$(FFTW_COMMON_CFLAGS)" \ + --enable-quad-precision + +$(eval $(autotools-package)) diff --git a/package/fftw/fftw-single/Config.in b/package/fftw/fftw-single/Config.in new file mode 100644 index 0000000000..ff1486871d --- /dev/null +++ b/package/fftw/fftw-single/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_FFTW_SINGLE + bool "fftw-single" + help + Compile fftw in single precision, i.e. use 'float' + for floating point type. diff --git a/package/fftw/fftw-single/fftw-single.hash b/package/fftw/fftw-single/fftw-single.hash new file mode 120000 index 0000000000..3ee7ecb3ba --- /dev/null +++ b/package/fftw/fftw-single/fftw-single.hash @@ -0,0 +1 @@ +../fftw.hash \ No newline at end of file diff --git a/package/fftw/fftw-single/fftw-single.mk b/package/fftw/fftw-single/fftw-single.mk new file mode 100644 index 0000000000..1e26ff7a38 --- /dev/null +++ b/package/fftw/fftw-single/fftw-single.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# fftw-single +# +################################################################################ + +FFTW_SINGLE_VERSION = $(FFTW_VERSION) +FFTW_SINGLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz +FFTW_SINGLE_SITE = $(FFTW_SITE) +FFTW_SINGLE_DL_SUBDIR = fftw +FFTW_SINGLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING) +FFTW_SINGLE_LICENSE = $(FFTW_LICENSE) +FFTW_SINGLE_LICENSE_FILES = $(FFTW_LICENSE_FILES) + +FFTW_SINGLE_CONF_ENV = $(FFTW_COMMON_CONF_ENV) + +FFTW_SINGLE_CONF_OPTS = \ + $(FFTW_COMMON_CONF_OPTS) \ + CFLAGS="$(FFTW_SINGLE_CFLAGS)" \ + --enable-single + +FFTW_SINGLE_CFLAGS = $(FFTW_COMMON_CFLAGS) + +# x86 optimisations +FFTW_SINGLE_CONF_OPTS += \ + $(if $(BR2_X86_CPU_HAS_SSE),--enable,--disable)-sse \ + $(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2 + +# ARM optimisations +ifeq ($(BR2_ARM_CPU_HAS_NEON):$(BR2_ARM_SOFT_FLOAT),y:) +FFTW_SINGLE_CONF_OPTS += --enable-neon +FFTW_SINGLE_CFLAGS += -mfpu=neon +else +FFTW_SINGLE_CONF_OPTS += --disable-neon +endif + +$(eval $(autotools-package)) diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk index b167a2f6f7..bcfdb9c96a 100644 --- a/package/fftw/fftw.mk +++ b/package/fftw/fftw.mk @@ -12,38 +12,25 @@ FFTW_LICENSE_FILES = COPYING # fortran support only enables generation and installation of fortran sources ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y) -FFTW_CONF_OPTS += --enable-fortran -FFTW_CONF_ENV += FLIBS="-lgfortran -lm" +FFTW_COMMON_CONF_OPTS += --enable-fortran +FFTW_COMMON_CONF_ENV += FLIBS="-lgfortran -lm" else -FFTW_CONF_OPTS += --disable-fortran +FFTW_COMMON_CONF_OPTS += --disable-fortran endif -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),--enable,--disable)-single -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),--enable,--disable)-long-double -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_QUAD),--enable,--disable)-quad-precision +FFTW_COMMON_CFLAGS = $(TARGET_CFLAGS) -FFTW_CFLAGS = $(TARGET_CFLAGS) ifeq ($(BR2_PACKAGE_FFTW_FAST),y) -FFTW_CFLAGS += -O3 -ffast-math +FFTW_COMMON_CFLAGS += -O3 -ffast-math endif -# x86 optimisations -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE),--enable,--disable)-sse -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE2),--enable,--disable)-sse2 - -# ARM optimisations -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),--enable,--disable)-neon -FFTW_CFLAGS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),-mfpu=neon) - # Generic optimisations ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -FFTW_CONF_OPTS += --enable-threads -FFTW_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--without,--with)-combined-threads +FFTW_COMMON_CONF_OPTS += --enable-threads +FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--without,--with)-combined-threads else -FFTW_CONF_OPTS += --disable-threads +FFTW_COMMON_CONF_OPTS += --disable-threads endif -FFTW_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp +FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp -FFTW_CONF_OPTS += CFLAGS="$(FFTW_CFLAGS)" - -$(eval $(autotools-package)) +include $(sort $(wildcard package/fftw/*/*.mk)) diff --git a/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch b/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch deleted file mode 100644 index daff866692..0000000000 --- a/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a642587a9c9e2dd7feacdf513c3643ce26ad3c22 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas -Date: Sat, 9 Jun 2018 16:00:06 +0000 -Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis) - -[baruch: drop file version string update hunk] -Signed-off-by: Baruch Siach ---- -Upstream status: commit a642587a9c9 in github mirror - - src/readelf.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/readelf.c b/src/readelf.c -index 79c83f9f5048..1f41b46113c3 100644 ---- a/src/readelf.c -+++ b/src/readelf.c -@@ -842,7 +842,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type, - - cname = (unsigned char *) - &nbuf[doff + prpsoffsets(i)]; -- for (cp = cname; *cp && isprint(*cp); cp++) -+ for (cp = cname; cp < nbuf + size && *cp -+ && isprint(*cp); cp++) - continue; - /* - * Linux apparently appends a space at the end --- -2.17.1 - diff --git a/package/file/file.hash b/package/file/file.hash index a6b40be349..7948e856ee 100644 --- a/package/file/file.hash +++ b/package/file/file.hash @@ -1,5 +1,7 @@ -# Locally calculated -sha256 1c52c8c3d271cd898d5511c36a68059cda94036111ab293f01f83c3525b737c6 file-5.33.tar.gz -sha256 3c0ad13c36f891a9b4f951e59eb2fc108065a46f849697cc6fd3cdb41cc23a3d COPYING -sha256 d98ee4d8d95e7d021a5dfc41f137ecc3b624a7b98e8bd793130202d12a21ed57 src/mygetopt.h -sha256 85e358d575ad4ac5b38b623a25b24246ccff3c7e680d930c0a9ff5228fe434b6 src/vasprintf.c +# Locally calculated after verifying signature +# ftp://ftp.astron.com/pub/file/file-5.36.tar.gz.asc +# using key BE04995BA8F90ED0C0C176C471112AB16CB33B3A +sha256 fb608290c0fd2405a8f63e5717abf6d03e22e183fb21884413d1edd918184379 file-5.36.tar.gz +sha256 0bfa856a9930bddadbef95d1be1cf4e163c0be618e76ea3275caaf255283e274 COPYING +sha256 4ccb60d623884ef637af4a5bc16b2cb350163e2135e967655837336019a64462 src/mygetopt.h +sha256 7ac061e1a1c840c4dfa0573aec6f3497676c9295b5ec4190d3576646eb1646bf src/vasprintf.c diff --git a/package/file/file.mk b/package/file/file.mk index 1f04dad688..1a835015a7 100644 --- a/package/file/file.mk +++ b/package/file/file.mk @@ -4,7 +4,7 @@ # ################################################################################ -FILE_VERSION = 5.33 +FILE_VERSION = 5.36 FILE_SITE = ftp://ftp.astron.com/pub/file FILE_DEPENDENCIES = host-file zlib HOST_FILE_DEPENDENCIES = host-zlib diff --git a/package/findutils/0001-mountlist-include-sysmacros-h-for-glibc.patch b/package/findutils/0001-mountlist-include-sysmacros-h-for-glibc.patch new file mode 100644 index 0000000000..ebb4d38a5d --- /dev/null +++ b/package/findutils/0001-mountlist-include-sysmacros-h-for-glibc.patch @@ -0,0 +1,81 @@ +From 4da63c5881f60f71999a943612da9112232b9161 Mon Sep 17 00:00:00 2001 +From: Eric Blake +Date: Wed, 14 Sep 2016 19:21:42 -0500 +Subject: [PATCH] mountlist: include sysmacros.h for glibc + +On Fedora rawhide (glibc 2.25), './gnulib-tool --test mountlist' +reports: +../../gllib/mountlist.c: In function 'read_file_system_list': +../../gllib/mountlist.c:534:13: warning: '__makedev_from_sys_types' is deprecated: + In the GNU C Library, `makedev' is defined by . + For historical compatibility, it is currently defined by + as well, but we plan to remove this soon. + To use `makedev', include directly. + If you did not intend to use a system-defined macro `makedev', + you should #undef it after including . + [-Wdeprecated-declarations] + me->me_dev = makedev (devmaj, devmin); + ^~ +In file included from /usr/include/features.h:397:0, + from /usr/include/sys/types.h:25, + from ./sys/types.h:28, + from ../../gllib/mountlist.h:23, + from ../../gllib/mountlist.c:20: +/usr/include/sys/sysmacros.h:89:1: note: declared here + __SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_FST_IMPL_TEMPL) + ^ + +Fix it by including the right headers. We also need a fix to +autoconf's AC_HEADER_MAJOR, but that's a separate patch. + +* m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include +AC_HEADER_MAJOR. +* lib/mountlist.c (includes): Use correct headers. + +Signed-off-by: Eric Blake + +Signed-off-by: Fabrice Fontaine +[Backported on version 4.6 after being retrieved from +http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=patch;h=4da63c58] +--- + gl/lib/mountlist.c | 6 ++++++ + m4/mountlist.m4 | 3 ++- + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/gl/lib/mountlist.c b/lib/mountlist.c +index bb4e4ee..cf4020e 100644 +--- a/gl/lib/mountlist.c ++++ b/gl/lib/mountlist.c +@@ -37,6 +37,12 @@ + # include + #endif + ++#if MAJOR_IN_MKDEV ++# include ++#elif MAJOR_IN_SYSMACROS ++# include ++#endif ++ + #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */ + # if HAVE_SYS_UCRED_H + # include /* needed on OSF V4.0 for definition of NGROUPS, +diff --git a/m4/mountlist.m4 b/m4/mountlist.m4 +index 2e2ca37..b6724fa 100644 +--- a/gl/m4/mountlist.m4 ++++ b/gl/m4/mountlist.m4 +@@ -1,4 +1,4 @@ +-# serial 11 ++# serial 12 + dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -15,5 +15,6 @@ AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA], + [ + dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h. + AC_CHECK_HEADERS([sys/mntent.h]) ++ AC_HEADER_MAJOR()dnl for use of makedev () + gl_FSTYPENAME + ]) +-- +1.9.1 + diff --git a/package/findutils/0002-fflush-adjust-to-glibc-2-28-libio-h-removal.patch b/package/findutils/0002-fflush-adjust-to-glibc-2-28-libio-h-removal.patch new file mode 100644 index 0000000000..3144f5e326 --- /dev/null +++ b/package/findutils/0002-fflush-adjust-to-glibc-2-28-libio-h-removal.patch @@ -0,0 +1,152 @@ +From 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Mon, 5 Mar 2018 10:56:29 -0800 +Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +Problem reported by Daniel P. Berrangé in: +https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html +* lib/fbufmode.c (fbufmode): +* lib/fflush.c (clear_ungetc_buffer_preserving_position) +(disable_seek_optimization, rpl_fflush): +* lib/fpending.c (__fpending): +* lib/fpurge.c (fpurge): +* lib/freadable.c (freadable): +* lib/freadahead.c (freadahead): +* lib/freading.c (freading): +* lib/freadptr.c (freadptr): +* lib/freadseek.c (freadptrinc): +* lib/fseeko.c (fseeko): +* lib/fseterr.c (fseterr): +* lib/fwritable.c (fwritable): +* lib/fwriting.c (fwriting): +Check _IO_EOF_SEEN instead of _IO_ftrylockfile. +* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]: +Define if not already defined. + +Signed-off-by: Fabrice Fontaine +[Backported in version 4.6 after being retrieved from +http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=patch;h=4af4a4a7] +--- + gl/lib/fflush.c | 6 +++--- + gl/lib/fpurge.c | 2 +- + gl/lib/freadahead.c | 2 +- + gl/lib/freading.c | 2 +- + gl/lib/fseeko.c | 4 ++-- + gl/lib/stdio-impl.h | 6 ++++++ + 6 files changed, 14 insertions(+), 8 deletions(-) + +diff --git a/gl/lib/fflush.c b/gl/lib/fflush.c +index 983ade0..a6edfa1 100644 +--- a/gl/lib/fflush.c ++++ b/gl/lib/fflush.c +@@ -33,7 +33,7 @@ + #undef fflush + + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ + static void +@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) + + #endif + +-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) ++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) + + # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) + if (stream == NULL || ! freading (stream)) + return fflush (stream); + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + clear_ungetc_buffer_preserving_position (stream); + +diff --git a/gl/lib/fpurge.c b/gl/lib/fpurge.c +index b1d417c..3aedcc3 100644 +--- a/gl/lib/fpurge.c ++++ b/gl/lib/fpurge.c +@@ -62,7 +62,7 @@ fpurge (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_IO_read_end = fp->_IO_read_ptr; + fp->_IO_write_ptr = fp->_IO_write_base; + /* Avoid memory leak when there is an active ungetc buffer. */ +diff --git a/gl/lib/freadahead.c b/gl/lib/freadahead.c +index c2ecb5b..23ec76e 100644 +--- a/gl/lib/freadahead.c ++++ b/gl/lib/freadahead.c +@@ -30,7 +30,7 @@ extern size_t __sreadahead (FILE *); + size_t + freadahead (FILE *fp) + { +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return 0; + return (fp->_IO_read_end - fp->_IO_read_ptr) +diff --git a/gl/lib/freading.c b/gl/lib/freading.c +index 73c28ac..c24d0c8 100644 +--- a/gl/lib/freading.c ++++ b/gl/lib/freading.c +@@ -31,7 +31,7 @@ freading (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + return ((fp->_flags & _IO_NO_WRITES) != 0 + || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 + && fp->_IO_read_base != NULL)); +diff --git a/gl/lib/fseeko.c b/gl/lib/fseeko.c +index 0101ab5..193f4e8 100644 +--- a/gl/lib/fseeko.c ++++ b/gl/lib/fseeko.c +@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence) + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence) + return -1; + } + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags &= ~_IO_EOF_SEEN; + fp->_offset = pos; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ +diff --git a/gl/lib/stdio-impl.h b/gl/lib/stdio-impl.h +index 78d896e..05c5752 100644 +--- a/gl/lib/stdio-impl.h ++++ b/gl/lib/stdio-impl.h +@@ -18,6 +18,12 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ + +-- +1.9.1 + diff --git a/package/findutils/findutils.mk b/package/findutils/findutils.mk index 6ca0062987..b0a2ea8c5f 100644 --- a/package/findutils/findutils.mk +++ b/package/findutils/findutils.mk @@ -12,5 +12,7 @@ FINDUTILS_CONF_ENV = \ gl_cv_func_stdin=yes \ ac_cv_func_working_mktime=yes \ gl_cv_func_wcwidth_works=yes +# 0001-mountlist-include-sysmacros-h-for-glibc.patch +FINDUTILS_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/package/fio/fio.hash b/package/fio/fio.hash index d136fd595b..e7eea5820b 100644 --- a/package/fio/fio.hash +++ b/package/fio/fio.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 1952db4d534221e6e8454f851dfcc38328b0ed4a3f499ea25a51ca2b5ccc8136 fio-fio-2.20.tar.gz -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 b4009bf4f9ddbb4e8c72b2316f91dcf83e476e7a1132b0318c226d945a6d8247 fio-fio-3.9.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 8a240c1ad13d1fe3e58588643d81d0695899be4a669fe6d8fafa76ca6a89db2c MORAL-LICENSE diff --git a/package/fio/fio.mk b/package/fio/fio.mk index aabdff9925..34e24e55de 100644 --- a/package/fio/fio.mk +++ b/package/fio/fio.mk @@ -4,7 +4,7 @@ # ################################################################################ -FIO_VERSION = fio-2.20 +FIO_VERSION = fio-3.9 FIO_SITE = git://git.kernel.dk/fio.git FIO_LICENSE = GPL-2.0 FIO_LICENSE_FILES = COPYING MORAL-LICENSE diff --git a/package/flare-engine/flare-engine.mk b/package/flare-engine/flare-engine.mk index 0aac3bd33c..2f36602348 100644 --- a/package/flare-engine/flare-engine.mk +++ b/package/flare-engine/flare-engine.mk @@ -14,4 +14,9 @@ FLARE_ENGINE_DEPENDENCIES += sdl2 sdl2_image sdl2_mixer sdl2_ttf # Don't use /usr/games and /usr/share/games FLARE_ENGINE_CONF_OPTS += -DBINDIR=bin -DDATADIR=share/flare +# Don't use the default Debug type as it adds -pg (gprof) +ifeq ($(BR2_ENABLE_DEBUG),y) +FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo +endif + $(eval $(cmake-package)) diff --git a/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch b/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch new file mode 100644 index 0000000000..06eb9256e4 --- /dev/null +++ b/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch @@ -0,0 +1,41 @@ +From a9a03cc6ba71825bfae0d64e1888f33c77345bc3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 17 Mar 2018 23:08:29 -0700 +Subject: [PATCH] platform: Add riscv to known platforms + +Change-Id: I724a99e2493fcbf71c2fc2d9f6a1ad607c737087 +Signed-off-by: Khem Raj +Reviewed-on: https://review.coreboot.org/25260 +Tested-by: build bot (Jenkins) +Reviewed-by: Paul Menzel +Reviewed-by: David Hendricks +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/flashrom/flashrom/commit/a9a03cc6ba71825bfae0d64e1888f33c77345bc3] +--- + platform.h | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/platform.h b/platform.h +index e3b7674ae..65fe85881 100644 +--- a/platform.h ++++ b/platform.h +@@ -69,6 +69,9 @@ + #elif defined (__m68k__) + #define __FLASHROM_ARCH__ "m68k" + #define IS_M68K 1 ++#elif defined (__riscv) ++ #define __FLASHROM_ARCH__ "riscv" ++ #define IS_RISCV 1 + #elif defined (__sh__) + #define __FLASHROM_ARCH__ "sh" + #define IS_SH 1 +@@ -77,7 +80,7 @@ + #define IS_S390 1 + #endif + +-#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390) ++#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_RISCV || IS_SH || IS_S390) + #error Unknown architecture + #endif + diff --git a/package/flashrom/Config.in b/package/flashrom/Config.in index e7844a0a62..c333c29730 100644 --- a/package/flashrom/Config.in +++ b/package/flashrom/Config.in @@ -1,13 +1,18 @@ +config BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS + bool + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_arm || BR2_armeb + default y if BR2_i386 || BR2_x86_64 + default y if BR2_m68k + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_riscv + default y if BR2_sh + default y if BR2_sparc || BR2_sparc64 + config BR2_PACKAGE_FLASHROM bool "flashrom" - depends on BR2_i386 || BR2_x86_64 - depends on BR2_TOOLCHAIN_HAS_THREADS # libusb - select BR2_PACKAGE_PCIUTILS - select BR2_PACKAGE_LIBUSB - select BR2_PACKAGE_LIBUSB_COMPAT - select BR2_PACKAGE_LIBFTDI - # dmidecode is only a runtime dependency - select BR2_PACKAGE_DMIDECODE + depends on BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS help flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash @@ -16,7 +21,3 @@ config BR2_PACKAGE_FLASHROM programmer devices. http://flashrom.org/ - -comment "flashrom needs a toolchain w/ threads" - depends on BR2_i386 || BR2_x86_64 - depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/flashrom/flashrom.mk b/package/flashrom/flashrom.mk index 70f47b5a04..733ad7318d 100644 --- a/package/flashrom/flashrom.mk +++ b/package/flashrom/flashrom.mk @@ -7,13 +7,45 @@ FLASHROM_VERSION = 1.0 FLASHROM_SOURCE = flashrom-$(FLASHROM_VERSION).tar.bz2 FLASHROM_SITE = https://download.flashrom.org/releases -FLASHROM_DEPENDENCIES = pciutils libusb libusb-compat libftdi host-pkgconf FLASHROM_LICENSE = GPL-2.0+ FLASHROM_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBFTDI),y) +FLASHROM_DEPENDENCIES += host-pkgconf libftdi +FLASHROM_MAKE_OPTS += \ + CONFIG_FT2232_SPI=yes \ + CONFIG_USBBLASTER_SPI=yes +else +FLASHROM_MAKE_OPTS += \ + CONFIG_FT2232_SPI=no \ + CONFIG_USBBLASTER_SPI=no +endif + +ifeq ($(BR2_PACKAGE_LIBUSB),y) +FLASHROM_DEPENDENCIES += host-pkgconf libusb +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=yes +else +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no +endif + +ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y) +FLASHROM_DEPENDENCIES += host-pkgconf libusb-compat +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=yes +else +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no +endif + +ifeq ($(BR2_PACKAGE_PCIUTILS),y) +FLASHROM_DEPENDENCIES += pciutils +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=yes +else +FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no +endif + define FLASHROM_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" -C $(@D) + CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" \ + $(FLASHROM_MAKE_OPTS) -C $(@D) endef define FLASHROM_INSTALL_TARGET_CMDS diff --git a/package/flatcc/0001-CMakeLists.txt-conditionally-require-C-based-on-FLAT.patch b/package/flatcc/0001-CMakeLists.txt-conditionally-require-C-based-on-FLAT.patch new file mode 100644 index 0000000000..7d76d6caf1 --- /dev/null +++ b/package/flatcc/0001-CMakeLists.txt-conditionally-require-C-based-on-FLAT.patch @@ -0,0 +1,56 @@ +From 878d51187bbc1ad490b4cd15e3741bc0bd11b6b2 Mon Sep 17 00:00:00 2001 +From: Joel Carlson +Date: Thu, 6 Sep 2018 14:53:20 -0600 +Subject: [PATCH] CMakeLists.txt: conditionally require C++ based on + FLATCC_TEST (#94) + +C++ is only used when building the tests, so only include it as a +language via project() when FLATCC_TEST is enabled. This allows +toolchains that don't have C++ to build flatcc. + +Signed-off-by: Joel Carlson +--- +Upstream commit 878d51187bbc1ad490b4cd15e3741bc0bd11b6b2 +--- + CMakeLists.txt | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b39a3d1..5df5161 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,7 +4,18 @@ + #cmake_minimum_required (VERSION 2.8.11) + cmake_minimum_required (VERSION 2.8) + +-project (FlatCC C CXX) ++# Disable build of tests and samples. Due to custom build step ++# dependency on flatcc tool, some custom build configurations may ++# experience issues, and this option can then help. ++option(FLATCC_TEST "enable tests" ON) ++ ++# Conditionally set project languages based on FLATCC_TEST, as C++ is ++# only necessary if building the tests. ++if (FLATCC_TEST) ++ project (FlatCC C CXX) ++else() ++ project (FlatCC C) ++endif() + + # + # NOTE: when changing build options, clean the build using on of: +@@ -35,11 +46,6 @@ option(FLATCC_RTONLY "enable build of runtime library only" OFF) + # cmake -DBUILD_SHARED_LIBS=on can override. + option(FLATCC_INSTALL "enable build of runtime library only" OFF) + +-# Disable build of tests and samples. Due to custom build step +-# dependency on flatcc tool, some custom build configurations may +-# experience issues, and this option can then help. +-option(FLATCC_TEST "enable tests" ON) +- + # Use with debug build with testing enabled only. Enables generation + # of coverage information during build and run. Adds target "coverage" + # which collects data and makes HTML report in build directory +-- +2.7.4 + diff --git a/package/flatcc/0001-Remove-strncpy-gcc-8-warning-add-flatbuffers_type_ha.patch b/package/flatcc/0001-Remove-strncpy-gcc-8-warning-add-flatbuffers_type_ha.patch deleted file mode 100644 index 28c0208891..0000000000 --- a/package/flatcc/0001-Remove-strncpy-gcc-8-warning-add-flatbuffers_type_ha.patch +++ /dev/null @@ -1,138 +0,0 @@ -From c0df0b6fca4fa6bca114bba4df74f1b4e53124c0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mikkel=20Fahn=C3=B8e=20J=C3=B8rgensen?= -Date: Sat, 9 Jun 2018 11:10:24 +0200 -Subject: [PATCH] Remove strncpy gcc-8 warning, add - flatbuffers_type_hash_from_string - -[baruch: drop CHANGELOG hunk] -Signed-off-by: Baruch Siach ---- -Upstream status: commit c0df0b6fca4 - - include/flatcc/flatcc_identifier.h | 21 +++++++++++++++++++ - .../reflection/flatbuffers_common_reader.h | 4 +--- - src/compiler/codegen_c_reader.c | 4 +--- - src/runtime/json_printer.c | 7 +++++-- - src/runtime/verifier.c | 5 ++--- - 6 files changed, 32 insertions(+), 11 deletions(-) - -diff --git a/include/flatcc/flatcc_identifier.h b/include/flatcc/flatcc_identifier.h -index cd918cb42b48..31af3074f4db 100644 ---- a/include/flatcc/flatcc_identifier.h -+++ b/include/flatcc/flatcc_identifier.h -@@ -77,6 +77,27 @@ static inline flatbuffers_thash_t flatbuffers_type_hash_from_identifier(const fl - (uint32_t)p[0] + (((uint32_t)p[1]) << 8) + (((uint32_t)p[2]) << 16) + (((uint32_t)p[3]) << 24) : 0; - } - -+/* -+ * Convert a null terminated string identifier like "MONS" or "X" into a -+ * native type hash identifier, usually for comparison. This will not -+ * work with type hash strings because they can contain null bytes. -+ */ -+static inline flatbuffers_thash_t flatbuffers_type_hash_from_string(const char *identifier) -+{ -+ flatbuffers_thash_t h = 0; -+ const uint8_t *p = (const uint8_t *)identifier; -+ -+ if (!p[0]) return h; -+ h += p[0]; -+ if (!p[1]) return h; -+ h += p[1] << 8; -+ if (!p[2]) return h; -+ h += p[2] << 16; -+ /* No need to test for termination here. */ -+ h += p[3] << 24; -+ return h; -+} -+ - /* - * Computes the little endian wire format of the type hash. It can be - * used as a file identifer argument to various flatcc buffer calls. -diff --git a/include/flatcc/reflection/flatbuffers_common_reader.h b/include/flatcc/reflection/flatbuffers_common_reader.h -index dee44ad653f1..9604052685f6 100644 ---- a/include/flatcc/reflection/flatbuffers_common_reader.h -+++ b/include/flatcc/reflection/flatbuffers_common_reader.h -@@ -464,9 +464,7 @@ static inline T N ## _ ## NK (N ## _struct_t t__tmp) { return t__tmp ? &(t__tmp- - /* If fid is null, the function returns true without testing as buffer is not expected to have any id. */ - static inline int flatbuffers_has_identifier(const void *buffer, const char *fid) - { flatbuffers_thash_t id, id2 = 0; if (fid == 0) { return 1; }; -- strncpy((char *)&id2, fid, sizeof(id2)); -- /* Identifier strings are always considered little endian. */ -- id2 = __flatbuffers_thash_cast_from_le(id2); -+ id2 = flatbuffers_type_hash_from_string(fid); - id = __flatbuffers_thash_read_from_pe(((flatbuffers_uoffset_t *)buffer) + 1); - return id2 == 0 || id == id2; } - static inline int flatbuffers_has_type_hash(const void *buffer, flatbuffers_thash_t thash) -diff --git a/src/compiler/codegen_c_reader.c b/src/compiler/codegen_c_reader.c -index e3df74754344..559731050a15 100644 ---- a/src/compiler/codegen_c_reader.c -+++ b/src/compiler/codegen_c_reader.c -@@ -748,9 +748,7 @@ static void gen_helpers(fb_output_t *out) - "/* If fid is null, the function returns true without testing as buffer is not expected to have any id. */\n" - "static inline int %shas_identifier(const void *buffer, const char *fid)\n" - "{ %sthash_t id, id2 = 0; if (fid == 0) { return 1; };\n" -- " strncpy((char *)&id2, fid, sizeof(id2));\n" -- " /* Identifier strings are always considered little endian. */\n" -- " id2 = __%sthash_cast_from_le(id2);\n" -+ " id2 = %stype_hash_from_string(fid);\n" - " id = __%sthash_read_from_pe(((%suoffset_t *)buffer) + 1);\n" - " return id2 == 0 || id == id2; }\n" - "static inline int %shas_type_hash(const void *buffer, %sthash_t thash)\n" -diff --git a/src/runtime/json_printer.c b/src/runtime/json_printer.c -index 8fe248331f43..bc86d21f8f9d 100644 ---- a/src/runtime/json_printer.c -+++ b/src/runtime/json_printer.c -@@ -20,6 +20,7 @@ - - #include "flatcc/flatcc_flatbuffers.h" - #include "flatcc/flatcc_json_printer.h" -+#include "flatcc/flatcc_identifier.h" - - #include "flatcc/portable/pprintint.h" - #include "flatcc/portable/pprintfp.h" -@@ -1008,6 +1009,9 @@ void flatcc_json_printer_struct_field(flatcc_json_printer_t *ctx, - /* - * Make sure the buffer identifier is valid before assuming the rest of - * the buffer is sane. -+ * NOTE: this won't work with type hashes because these can contain -+ * nulls in the fid string. In this case use null as fid to disable -+ * check. - */ - static int accept_header(flatcc_json_printer_t * ctx, - const void *buf, size_t bufsiz, const char *fid) -@@ -1020,8 +1024,7 @@ static int accept_header(flatcc_json_printer_t * ctx, - return 0; - } - if (fid != 0) { -- strncpy((char *)&id2, fid, FLATBUFFERS_IDENTIFIER_SIZE); -- id2 = __flatbuffers_thash_cast_from_le(id2); -+ id2 = flatbuffers_type_hash_from_string(fid); - id = __flatbuffers_thash_read_from_pe((uint8_t *)buf + offset_size); - if (!(id2 == 0 || id == id2)) { - RAISE_ERROR(bad_input); -diff --git a/src/runtime/verifier.c b/src/runtime/verifier.c -index 68dbc1b6fb0b..3b7c68cca4d7 100644 ---- a/src/runtime/verifier.c -+++ b/src/runtime/verifier.c -@@ -10,6 +10,7 @@ - #include "flatcc/flatcc_rtconfig.h" - #include "flatcc/flatcc_flatbuffers.h" - #include "flatcc/flatcc_verifier.h" -+#include "flatcc/flatcc_identifier.h" - - /* Customization for testing. */ - #if FLATCC_DEBUG_VERIFY -@@ -110,9 +111,7 @@ static inline uoffset_t read_uoffset(const void *p, uoffset_t base) - - static inline thash_t read_thash_identifier(const char *identifier) - { -- flatbuffers_thash_t id = 0; -- strncpy((char *)&id, identifier, sizeof(id)); -- return __flatbuffers_thash_cast_from_le(id); -+ return flatbuffers_type_hash_from_string(identifier); - } - - static inline thash_t read_thash(const void *p, uoffset_t base) --- -2.17.1 - diff --git a/package/flatcc/flatcc.hash b/package/flatcc/flatcc.hash index 357d8b707d..b517250472 100644 --- a/package/flatcc/flatcc.hash +++ b/package/flatcc/flatcc.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 8c4560ca32e3c555716d9363bed469e2c60e0f443ec32bc08e7abfe681e25ca9 flatcc-v0.5.1.tar.gz +sha256 02dac93d3daf8d0a290aa8711a9b8a53f047436ec5331adb1972389061ec6615 flatcc-v0.5.2.tar.gz +sha256 c8f0d9c1f92c658d87ebd854ee7447a3d3912d2c3a5c78c117787be5d5da8af3 LICENSE diff --git a/package/flatcc/flatcc.mk b/package/flatcc/flatcc.mk index 55356445a2..1c8d0ec7fb 100644 --- a/package/flatcc/flatcc.mk +++ b/package/flatcc/flatcc.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLATCC_VERSION = v0.5.1 +FLATCC_VERSION = v0.5.2 FLATCC_SITE = $(call github,dvidelabs,flatcc,$(FLATCC_VERSION)) FLATCC_LICENSE = Apache-2.0 FLATCC_LICENSE_FILES = LICENSE @@ -19,8 +19,9 @@ HOST_FLATCC_CONF_OPTS += -DFLATCC_TEST=OFF FLATCC_CONF_OPTS += -DFLATCC_INSTALL=ON HOST_FLATCC_CONF_OPTS += -DFLATCC_INSTALL=ON +# compiler is named flatcc or flatcc_d depending on BR2_ENABLE_DEBUG value define FLATCC_TARGET_REMOVE_FLATCC_COMPILER - rm $(TARGET_DIR)/usr/bin/flatcc + rm $(TARGET_DIR)/usr/bin/flatcc* endef FLATCC_POST_INSTALL_TARGET_HOOKS += FLATCC_TARGET_REMOVE_FLATCC_COMPILER diff --git a/package/fltk/fltk.mk b/package/fltk/fltk.mk index 611d79da50..c37a13176c 100644 --- a/package/fltk/fltk.mk +++ b/package/fltk/fltk.mk @@ -54,4 +54,11 @@ else FLTK_CONF_OPTS += --disable-xinerama endif +ifeq ($(BR2_PACKAGE_XLIB_LIBXRENDER),y) +FLTK_DEPENDENCIES += xlib_libXrender +FLTK_CONF_OPTS += --enable-xrender +else +FLTK_CONF_OPTS += --disable-xrender +endif + $(eval $(autotools-package)) diff --git a/package/fmt/fmt.hash b/package/fmt/fmt.hash index 47087a4175..78665d2fa7 100644 --- a/package/fmt/fmt.hash +++ b/package/fmt/fmt.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 35300a0d356529447a79ed5ccf419239d8b34f916e5d4625f046fd37afa3650a fmt-4.0.0.tar.gz +sha256 73d4cab4fa8a3482643d8703de4d9522d7a56981c938eca42d929106ff474b44 fmt-5.1.0.tar.gz +sha256 560d39617dfb4b4e4088597291a070ed6c3a8d67668114ed475c673430c3e49a LICENSE.rst diff --git a/package/fmt/fmt.mk b/package/fmt/fmt.mk index c47b03e834..39fd7e22d9 100644 --- a/package/fmt/fmt.mk +++ b/package/fmt/fmt.mk @@ -4,7 +4,7 @@ # ################################################################################ -FMT_VERSION = 4.0.0 +FMT_VERSION = 5.1.0 FMT_SITE = $(call github,fmtlib,fmt,$(FMT_VERSION)) FMT_LICENSE = BSD-2-Clause FMT_LICENSE_FILES = LICENSE.rst diff --git a/package/fontconfig/0001-Fix-the-build-issue-with-enable-static.patch b/package/fontconfig/0001-Fix-the-build-issue-with-enable-static.patch new file mode 100644 index 0000000000..bf04bd95fc --- /dev/null +++ b/package/fontconfig/0001-Fix-the-build-issue-with-enable-static.patch @@ -0,0 +1,133 @@ +From 8208f99fa1676c42bfd8d74de3e9dac5366c150c Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Mon, 3 Sep 2018 04:56:16 +0000 +Subject: [PATCH] Fix the build issue with --enable-static + +Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/109 +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/8208f99fa1676c42bfd8d74de3e9dac5366c150c] +--- + doc/fcstring.fncs | 12 ++++++++++++ + fontconfig/fontconfig.h | 4 ++++ + src/fcint.h | 4 ---- + test/test-bz106632.c | 35 ++++++++++++----------------------- + 4 files changed, 28 insertions(+), 27 deletions(-) + +diff --git a/doc/fcstring.fncs b/doc/fcstring.fncs +index 0412bbd..d5ec043 100644 +--- a/doc/fcstring.fncs ++++ b/doc/fcstring.fncs +@@ -223,6 +223,18 @@ This is just a wrapper around free(3) which helps track memory usage of + strings within the fontconfig library. + @@ + ++@RET@ FcChar8 * ++@FUNC@ FcStrBuildFilename ++@TYPE1@ const FcChar8 * @ARG1@ path ++@TYPE2@ ... ++@PURPOSE@ Concatenate strings as a file path ++@DESC@ ++Creates a filename from the given elements of strings as file paths ++and concatenate them with the appropriate file separator. ++Arguments must be null-terminated. ++This returns a newly-allocated memory which should be freed when no longer needed. ++@@ ++ + @RET@ FcChar8 * + @FUNC@ FcStrDirname + @TYPE1@ const FcChar8 * @ARG1@ file +diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h +index bac1dda..af870d0 100644 +--- a/fontconfig/fontconfig.h ++++ b/fontconfig/fontconfig.h +@@ -1076,6 +1076,10 @@ FcUtf16Len (const FcChar8 *string, + int *nchar, + int *wchar); + ++FcPublic FcChar8 * ++FcStrBuildFilename (const FcChar8 *path, ++ ...); ++ + FcPublic FcChar8 * + FcStrDirname (const FcChar8 *file); + +diff --git a/src/fcint.h b/src/fcint.h +index de78cd8..a9d075a 100644 +--- a/src/fcint.h ++++ b/src/fcint.h +@@ -1282,10 +1282,6 @@ FcStrUsesHome (const FcChar8 *s); + FcPrivate FcBool + FcStrIsAbsoluteFilename (const FcChar8 *s); + +-FcPrivate FcChar8 * +-FcStrBuildFilename (const FcChar8 *path, +- ...); +- + FcPrivate FcChar8 * + FcStrLastSlash (const FcChar8 *path); + +diff --git a/test/test-bz106632.c b/test/test-bz106632.c +index daa0c1e..2d67c2e 100644 +--- a/test/test-bz106632.c ++++ b/test/test-bz106632.c +@@ -25,25 +25,26 @@ + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif ++#include + #include ++#include + #include ++#include ++#include + #ifndef HAVE_STRUCT_DIRENT_D_TYPE + #include + #include +-#include + #endif +-#include "fcstr.c" +-#undef FcConfigBuildFonts +-#undef FcConfigCreate +-#undef FcConfigGetCurrent +-#undef FcConfigParseAndLoadFromMemory +-#undef FcConfigUptoDate +-#undef FcFontList +-#undef FcInitReinitialize +-#undef FcPatternCreate +-#undef FcPatternDestroy + #include + ++#ifdef _WIN32 ++# define FC_DIR_SEPARATOR '\\' ++# define FC_DIR_SEPARATOR_S "\\" ++#else ++# define FC_DIR_SEPARATOR '/' ++# define FC_DIR_SEPARATOR_S "/" ++#endif ++ + #ifdef HAVE_MKDTEMP + #define fc_mkdtemp mkdtemp + #else +@@ -154,18 +155,6 @@ unlink_dirs (const char *dir) + return ret; + } + +-FcChar8 * +-FcLangNormalize (const FcChar8 *lang) +-{ +- return NULL; +-} +- +-FcChar8 * +-FcConfigHome (void) +-{ +- return NULL; +-} +- + int + main (void) + { +-- +2.18.1 + diff --git a/package/fontconfig/Config.in b/package/fontconfig/Config.in index 218fdb2e7a..d274b06350 100644 --- a/package/fontconfig/Config.in +++ b/package/fontconfig/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_FONTCONFIG bool "fontconfig" select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID help Fontconfig is a library for configuring and customizing font access. diff --git a/package/fontconfig/fontconfig.hash b/package/fontconfig/fontconfig.hash index e9963f6f3f..5243c09615 100644 --- a/package/fontconfig/fontconfig.hash +++ b/package/fontconfig/fontconfig.hash @@ -1,2 +1,2 @@ -# From https://lists.freedesktop.org/archives/fontconfig/2017-July/005961.html -sha256 668293fcc4b3c59765cdee5cee05941091c0879edcc24dfec5455ef83912e45c fontconfig-2.12.4.tar.bz2 +# From https://lists.freedesktop.org/archives/fontconfig/2018-August/006324.html +sha256 f655dd2a986d7aa97e052261b36aa67b0a64989496361eca8d604e6414006741 fontconfig-2.13.1.tar.bz2 diff --git a/package/fontconfig/fontconfig.mk b/package/fontconfig/fontconfig.mk index 71a0b4579c..7387452b0f 100644 --- a/package/fontconfig/fontconfig.mk +++ b/package/fontconfig/fontconfig.mk @@ -4,12 +4,13 @@ # ################################################################################ -FONTCONFIG_VERSION = 2.12.4 +FONTCONFIG_VERSION = 2.13.1 FONTCONFIG_SITE = http://fontconfig.org/release FONTCONFIG_SOURCE = fontconfig-$(FONTCONFIG_VERSION).tar.bz2 FONTCONFIG_INSTALL_STAGING = YES -FONTCONFIG_DEPENDENCIES = freetype expat host-pkgconf host-gperf -HOST_FONTCONFIG_DEPENDENCIES = host-freetype host-expat host-pkgconf host-gperf +FONTCONFIG_DEPENDENCIES = freetype expat host-pkgconf host-gperf util-linux +HOST_FONTCONFIG_DEPENDENCIES = \ + host-freetype host-expat host-pkgconf host-gperf host-util-linux FONTCONFIG_LICENSE = fontconfig license FONTCONFIG_LICENSE_FILES = COPYING diff --git a/package/freerdp/0001-xf_floatbar.c-fix-build-without-Xfixes.patch b/package/freerdp/0001-xf_floatbar.c-fix-build-without-Xfixes.patch new file mode 100644 index 0000000000..c0b4195883 --- /dev/null +++ b/package/freerdp/0001-xf_floatbar.c-fix-build-without-Xfixes.patch @@ -0,0 +1,32 @@ +From 7dbb64cb62049159d9d71b9be39f469bbd116f41 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 18 Apr 2019 23:40:52 +0200 +Subject: [PATCH] xf_floatbar.c: fix build without Xfixes + +Remove unneeded include on Xfixes.h as it is not always available and +not used in xf_floatbar.c + +Fixes: + - http://autobuild.buildroot.org/results/69245e574787bada718c52c805ec137041dc233d + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/FreeRDP/FreeRDP/pull/5354] +--- + client/X11/xf_floatbar.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/client/X11/xf_floatbar.c b/client/X11/xf_floatbar.c +index 3643b6052..04912aa79 100644 +--- a/client/X11/xf_floatbar.c ++++ b/client/X11/xf_floatbar.c +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + #include + + #include "xf_floatbar.h" +-- +2.20.1 + diff --git a/package/freerdp/freerdp.hash b/package/freerdp/freerdp.hash index 44b7b876a9..7a6859551f 100644 --- a/package/freerdp/freerdp.hash +++ b/package/freerdp/freerdp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a09e338b996fada44bf1277f423240d0fa82289799e2e5dea9d9c63201554de1 freerdp-2.0.0-rc2.tar.gz +sha256 3406f3bfab63f81c1533029a5bf73949ff60f22f6e155c5a08005b8b8afe6d49 freerdp-2.0.0-rc4.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/freerdp/freerdp.mk b/package/freerdp/freerdp.mk index 48c407b6b5..0f32ff4718 100644 --- a/package/freerdp/freerdp.mk +++ b/package/freerdp/freerdp.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREERDP_VERSION = 2.0.0-rc2 +FREERDP_VERSION = 2.0.0-rc4 FREERDP_SITE = $(call github,FreeRDP,FreeRDP,$(FREERDP_VERSION)) FREERDP_DEPENDENCIES = libglib2 openssl zlib FREERDP_LICENSE = Apache-2.0 @@ -77,7 +77,7 @@ FREERDP_CONF_OPTS += -DWITH_SSE2=OFF endif ifeq ($(BR2_arm)$(BR2_armeb),y) -FREERDP_CONF_OPTS += -DARM_FP_ABI=$(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) +FREERDP_CONF_OPTS += -DARM_FP_ABI=$(GCC_TARGET_FLOAT_ABI) endif #--------------------------------------- diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in index 30e71b825f..95c0aab08c 100644 --- a/package/freescale-imx/Config.in +++ b/package/freescale-imx/Config.in @@ -65,6 +65,10 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q +config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO + bool + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU bool default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \ @@ -80,6 +84,7 @@ source "package/freescale-imx/imx-m4fwloader/Config.in" source "package/freescale-imx/imx-parser/Config.in" source "package/freescale-imx/imx-uuc/Config.in" source "package/freescale-imx/imx-vpu/Config.in" +source "package/freescale-imx/imx-vpu-hantro/Config.in" source "package/freescale-imx/imx-vpuwrap/Config.in" source "package/freescale-imx/firmware-imx/Config.in" if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53) diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk index 0a503d7a66..f9db09dae8 100644 --- a/package/freescale-imx/firmware-imx/firmware-imx.mk +++ b/package/freescale-imx/firmware-imx/firmware-imx.mk @@ -35,7 +35,7 @@ endef define FIRMWARE_IMX_INSTALL_IMAGES_CMDS # Create padded versions of lpddr4_pmu_* and generate lpddr4_pmu_train_fw.bin. - # lpddr4_pmu_train_fw.bin isneeded when generating imx-boot-imx8mqevk-sd.bin + # lpddr4_pmu_train_fw.bin is needed when generating imx8-boot-sd.bin # which is done in post-image script. $(call FIRMWARE_IMX_PREPARE_LPDDR4_FW,1d) $(call FIRMWARE_IMX_PREPARE_LPDDR4_FW,2d) diff --git a/package/freescale-imx/imx-codec/imx-codec.hash b/package/freescale-imx/imx-codec/imx-codec.hash index 53d8f71c39..8dab5a5c4c 100644 --- a/package/freescale-imx/imx-codec/imx-codec.hash +++ b/package/freescale-imx/imx-codec/imx-codec.hash @@ -1,2 +1,4 @@ # locally computed -sha256 20d3f9b4187fcd9e7007c94558a00bab1191513eee74b6f0d8c7b43f874e06ed imx-codec-4.2.1.bin +sha256 6bb54f91c3ca18567e14d95d3858022dc9be00dc86e9edfdb544d1240a3b2b04 imx-codec-4.3.5.bin +sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING +sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA diff --git a/package/freescale-imx/imx-codec/imx-codec.mk b/package/freescale-imx/imx-codec/imx-codec.mk index 784c1fa4a9..1ec701d2f1 100644 --- a/package/freescale-imx/imx-codec/imx-codec.mk +++ b/package/freescale-imx/imx-codec/imx-codec.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_CODEC_VERSION = 4.2.1 +IMX_CODEC_VERSION = 4.3.5 IMX_CODEC_SITE = $(FREESCALE_IMX_SITE) IMX_CODEC_SOURCE = imx-codec-$(IMX_CODEC_VERSION).bin IMX_CODEC_INSTALL_STAGING = YES diff --git a/package/freescale-imx/imx-lib/imx-lib.hash b/package/freescale-imx/imx-lib/imx-lib.hash index b3fce59d53..abbf017459 100644 --- a/package/freescale-imx/imx-lib/imx-lib.hash +++ b/package/freescale-imx/imx-lib/imx-lib.hash @@ -1,2 +1,2 @@ # locally computed -sha256 245ace9b2c50d6c13a804d9c4492a5a850c626e7537f0d0bad81670b2824892f imx-lib-rel_imx_4.9.x_1.0.0_ga.tar.gz +sha256 ced5ad0a179887ef1dd93e8103a9ab7372017cc1c241d28cded164cdece4b918 imx-lib-3f777974c0c146817e2ff5cb0340ca66a1f99e57.tar.gz diff --git a/package/freescale-imx/imx-lib/imx-lib.mk b/package/freescale-imx/imx-lib/imx-lib.mk index e82368588d..721c20e5f8 100644 --- a/package/freescale-imx/imx-lib/imx-lib.mk +++ b/package/freescale-imx/imx-lib/imx-lib.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_LIB_VERSION = rel_imx_4.9.x_1.0.0_ga +IMX_LIB_VERSION = 3f777974c0c146817e2ff5cb0340ca66a1f99e57 IMX_LIB_SITE = https://source.codeaurora.org/external/imx/imx-lib IMX_LIB_SITE_METHOD = git IMX_LIB_LICENSE = LGPL-2.1+ diff --git a/package/freescale-imx/imx-parser/imx-parser.hash b/package/freescale-imx/imx-parser/imx-parser.hash index 3266f48110..017d2c2f91 100644 --- a/package/freescale-imx/imx-parser/imx-parser.hash +++ b/package/freescale-imx/imx-parser/imx-parser.hash @@ -1,2 +1,4 @@ # locally computed -sha256 36d3ae7285f3a83a87abf680b8a52b3c07df869d2443de844fb5f0ff528ca862 imx-parser-4.2.1.bin +sha256 9cd8c49a0bb1050afcfbcc7a677a348443fda4ecacb621cc6e38897619e27c67 imx-parser-4.3.5.bin +sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING +sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA diff --git a/package/freescale-imx/imx-parser/imx-parser.mk b/package/freescale-imx/imx-parser/imx-parser.mk index 11536e5024..fc4376f04b 100644 --- a/package/freescale-imx/imx-parser/imx-parser.mk +++ b/package/freescale-imx/imx-parser/imx-parser.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_PARSER_VERSION = 4.2.1 +IMX_PARSER_VERSION = 4.3.5 IMX_PARSER_SITE = $(FREESCALE_IMX_SITE) IMX_PARSER_SOURCE = imx-parser-$(IMX_PARSER_VERSION).bin IMX_PARSER_INSTALL_STAGING = YES diff --git a/package/freescale-imx/imx-uuc/Config.in b/package/freescale-imx/imx-uuc/Config.in index ed734ad7e2..0e257bde17 100644 --- a/package/freescale-imx/imx-uuc/Config.in +++ b/package/freescale-imx/imx-uuc/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_IMX_UUC depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_arm # Only relevant for i.MX depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # usb_functionfs_descs_head_v2 select BR2_PACKAGE_HOST_DOSFSTOOLS help This package provides the Universal Adapter user-space @@ -15,7 +16,8 @@ config BR2_PACKAGE_IMX_UUC This package is provided by Freescale/NXP as-is and doesn't have an upstream. -comment "imx-uuc needs a toolchain w/ threads" +comment "imx-uuc needs a toolchain w/ threads, headers >= 3.18" depends on BR2_arm depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 diff --git a/package/freescale-imx/imx-uuc/imx-uuc.hash b/package/freescale-imx/imx-uuc/imx-uuc.hash index c9c29f8692..623bd27644 100644 --- a/package/freescale-imx/imx-uuc/imx-uuc.hash +++ b/package/freescale-imx/imx-uuc/imx-uuc.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 1463e855d1229e6b6c02df2085f6bff5974bc061d13a61646b63675c160cba99 imx-uuc-2ae634281a39c82b6a8ee0fdcfbfbe42183ceb53.tar.gz +sha256 ac4960b9dc53cfd09709951c4bf1f774567ff0918d0b216b480e1f7df8c6ee48 imx-uuc-79e9798eee9cd972d92ed2b18f170de856d153c9.tar.gz diff --git a/package/freescale-imx/imx-uuc/imx-uuc.mk b/package/freescale-imx/imx-uuc/imx-uuc.mk index 5e0bb3be0e..52d2b7c7a3 100644 --- a/package/freescale-imx/imx-uuc/imx-uuc.mk +++ b/package/freescale-imx/imx-uuc/imx-uuc.mk @@ -4,8 +4,8 @@ # ################################################################################ -IMX_UUC_VERSION = 2ae634281a39c82b6a8ee0fdcfbfbe42183ceb53 -IMX_UUC_SITE = $(call github,codeauroraforum,imx-uuc,$(IMX_UUC_VERSION)) +IMX_UUC_VERSION = 79e9798eee9cd972d92ed2b18f170de856d153c9 +IMX_UUC_SITE = $(call github,NXPmicro,imx-uuc,$(IMX_UUC_VERSION)) IMX_UUC_LICENSE = GPL-2.0+ IMX_UUC_LICENSE_FILES = COPYING @@ -20,6 +20,7 @@ endef define IMX_UUC_INSTALL_TARGET_CMDS $(INSTALL) -D -m 755 $(@D)/uuc $(TARGET_DIR)/usr/bin/uuc $(INSTALL) -D -m 755 $(@D)/sdimage $(TARGET_DIR)/usr/bin/sdimage + $(INSTALL) -D -m 755 $(@D)/ufb $(TARGET_DIR)/usr/bin/ufb dd if=/dev/zero of=$(TARGET_DIR)/fat bs=1M count=1 $(HOST_DIR)/sbin/mkfs.vfat $(TARGET_DIR)/fat endef diff --git a/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch new file mode 100644 index 0000000000..951ead9824 --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch @@ -0,0 +1,44 @@ +From 872c82e7cbb9a0a0e761e8ac70fc28e19a55b4c3 Mon Sep 17 00:00:00 2001 +From: Gary Bisson +Date: Thu, 12 Jul 2018 11:38:28 +0200 +Subject: [PATCH] Fix ion.h header inclusion to be standard + +NXP "solution" was to manually copy the header to include/linux. +Let's point the Makefile to the proper (mainline) location instead: +https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h + +Signed-off-by: Gary Bisson +--- + Makefile | 2 ++ + decoder_sw/software/linux/dwl/dwl_linux.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index b74e23a..a5ce22b 100755 +--- a/Makefile ++++ b/Makefile +@@ -11,6 +11,8 @@ INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/so + INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc + #INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver + INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include ++# ION header location ++INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi + + CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \ + -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \ +diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c +index 8183660..ed37d86 100644 +--- a/decoder_sw/software/linux/dwl/dwl_linux.c ++++ b/decoder_sw/software/linux/dwl/dwl_linux.c +@@ -41,7 +41,7 @@ + #include "dwl.h" + #include + #ifdef USE_ION +-#include ++#include + #ifdef ANDROID + #include + #endif +-- +2.18.0 + diff --git a/package/freescale-imx/imx-vpu-hantro/Config.in b/package/freescale-imx/imx-vpu-hantro/Config.in new file mode 100644 index 0000000000..25ce50ffd7 --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro/Config.in @@ -0,0 +1,20 @@ +comment "imx-vpu-hantro needs an i.MX-specific Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + +comment "imx-vpu-hantro needs an i.MX platform with Hantro VPU" + depends on BR2_LINUX_KERNEL + depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO + +config BR2_PACKAGE_IMX_VPU_HANTRO + bool "imx-vpu-hantro" + depends on BR2_LINUX_KERNEL + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO + help + Library of userspace helpers specific for the NXP i.MX SoC + integrating a Hantro Video Processing Unit (VPU) such as the + i.MX8MQ/i.MX8MM. + It requires a kernel that includes the i.MX specific headers + to be built. + + This library is provided by NXP as-is and doesn't have an + upstream. diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash new file mode 100644 index 0000000000..4fa48fb806 --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash @@ -0,0 +1,3 @@ +sha256 cbc648e41f005aad209f74c9e5dd346138dca12efeb7b27e471de7474c4da302 imx-vpu-hantro-1.6.0.bin +sha256 0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a COPYING +sha256 faf01d10e484879247963eb97d96622a980232e22a35e487dfe53b13708b686a EULA diff --git a/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk new file mode 100644 index 0000000000..a82899e64b --- /dev/null +++ b/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk @@ -0,0 +1,42 @@ +################################################################################ +# +# imx-vpu-hantro +# +################################################################################ + +IMX_VPU_HANTRO_VERSION = 1.6.0 +IMX_VPU_HANTRO_SITE = $(FREESCALE_IMX_SITE) +IMX_VPU_HANTRO_SOURCE = imx-vpu-hantro-$(IMX_VPU_HANTRO_VERSION).bin +IMX_VPU_HANTRO_DEPENDENCIES = linux +IMX_VPU_HANTRO_INSTALL_STAGING = YES + +IMX_VPU_HANTRO_MAKE_ENV = \ + $(TARGET_MAKE_ENV) \ + $(TARGET_CONFIGURE_OPTS) \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + SDKTARGETSYSROOT=$(STAGING_DIR) \ + LINUX_KERNEL_ROOT=$(LINUX_DIR) + +IMX_VPU_HANTRO_LICENSE = NXP Semiconductor Software License Agreement +IMX_VPU_HANTRO_LICENSE_FILES = EULA COPYING +IMX_VPU_HANTRO_REDISTRIBUTE = NO + +define IMX_VPU_HANTRO_EXTRACT_CMDS + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_HANTRO_DL_DIR)/$(IMX_VPU_HANTRO_SOURCE)) +endef + +define IMX_VPU_HANTRO_BUILD_CMDS + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) +endef + +define IMX_VPU_HANTRO_INSTALL_STAGING_CMDS + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \ + DEST_DIR=$(STAGING_DIR) libdir=/usr/lib install +endef + +define IMX_VPU_HANTRO_INSTALL_TARGET_CMDS + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \ + DEST_DIR=$(TARGET_DIR) libdir=/usr/lib install +endef + +$(eval $(generic-package)) diff --git a/package/freescale-imx/imx-vpu/Config.in b/package/freescale-imx/imx-vpu/Config.in index 779717f5ed..dd3507eb96 100644 --- a/package/freescale-imx/imx-vpu/Config.in +++ b/package/freescale-imx/imx-vpu/Config.in @@ -1,17 +1,14 @@ comment "imx-vpu needs an i.MX platform with VPU support" - depends on BR2_arm depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU config BR2_PACKAGE_IMX_VPU bool "imx-vpu" - depends on BR2_arm # Only relevant for i.MX depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU select BR2_PACKAGE_FIRMWARE_IMX help - Library of userspace helpers specific for the Freescale i.MX - platform. It wraps the kernel interfaces for the i.MX platform - Video Processing Unit (VPU) driver. It requires a kernel that - includes the i.MX specific headers to be built. + Library of userspace helpers specific for the NXP i.MX SoC + integrating a Chips&Media CODA Video Processing Unit (VPU) + such as the i.MX27/i.MX5x/i.MX6x. - This library is provided by Freescale as-is and doesn't have - an upstream. + This library is provided by NXP as-is and doesn't have an + upstream. diff --git a/package/freescale-imx/imx-vpu/imx-vpu.hash b/package/freescale-imx/imx-vpu/imx-vpu.hash index 0ac0f3d0c2..5fa93d8055 100644 --- a/package/freescale-imx/imx-vpu/imx-vpu.hash +++ b/package/freescale-imx/imx-vpu/imx-vpu.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 ee265e88d17c7369bd9cb917e7cce035b8c7ee2ba4491645fdab9f382f54beb0 imx-vpu-5.4.37.bin +sha256 34bed0ddf6c797f444bddfa5d5495adc751ff268b6431d8beb48129c89c9e47f imx-vpu-5.4.38.bin +sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING +sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA diff --git a/package/freescale-imx/imx-vpu/imx-vpu.mk b/package/freescale-imx/imx-vpu/imx-vpu.mk index 2bcfe53eba..e30237508e 100644 --- a/package/freescale-imx/imx-vpu/imx-vpu.mk +++ b/package/freescale-imx/imx-vpu/imx-vpu.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_VPU_VERSION = 5.4.37 +IMX_VPU_VERSION = 5.4.38 IMX_VPU_SITE = $(FREESCALE_IMX_SITE) IMX_VPU_SOURCE = imx-vpu-$(IMX_VPU_VERSION).bin diff --git a/package/freescale-imx/imx-vpuwrap/Config.in b/package/freescale-imx/imx-vpuwrap/Config.in index bdfa147867..8a9bf0e32d 100644 --- a/package/freescale-imx/imx-vpuwrap/Config.in +++ b/package/freescale-imx/imx-vpuwrap/Config.in @@ -1,17 +1,16 @@ comment "imx-vpuwrap needs an imx-specific Linux kernel to be built" - depends on BR2_arm depends on !BR2_LINUX_KERNEL comment "imx-vpuwrap needs an i.MX platform with VPU support" - depends on BR2_arm - depends on BR2_LINUX_KERNEL && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU + depends on BR2_LINUX_KERNEL + depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO config BR2_PACKAGE_IMX_VPUWRAP bool "imx-vpuwrap" depends on BR2_LINUX_KERNEL - depends on BR2_arm # Only relevant for i.MX - depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU - select BR2_PACKAGE_IMX_VPU + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU || BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO + select BR2_PACKAGE_IMX_VPU if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU + select BR2_PACKAGE_IMX_VPU_HANTRO if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO help Wrapper library for the vpu library, giving it a different API. diff --git a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash index 2999984d2c..7a640374d7 100644 --- a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash +++ b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash @@ -1,2 +1,4 @@ # locally computed -sha256 282e7f8766ce385d8752bd29f04ddeff709ece0846be97547cf982183bbe241e imx-vpuwrap-1.0.68.bin +sha256 5c08b4b7c771404c998779f0e27a75564b57958d463e2df152c910d76cca9e44 imx-vpuwrap-4.3.5.bin +sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING +sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA diff --git a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk index edba87279f..fdad3a5f2b 100644 --- a/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk +++ b/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk @@ -4,12 +4,19 @@ # ################################################################################ -IMX_VPUWRAP_VERSION = 1.0.68 +IMX_VPUWRAP_VERSION = 4.3.5 IMX_VPUWRAP_SITE = $(FREESCALE_IMX_SITE) IMX_VPUWRAP_SOURCE = imx-vpuwrap-$(IMX_VPUWRAP_VERSION).bin -IMX_VPUWRAP_DEPENDENCIES = imx-vpu IMX_VPUWRAP_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_IMX_VPU),y) +IMX_VPUWRAP_DEPENDENCIES = imx-vpu +endif + +ifeq ($(BR2_PACKAGE_IMX_VPU_HANTRO),y) +IMX_VPUWRAP_DEPENDENCIES = imx-vpu-hantro +endif + IMX_VPUWRAP_LICENSE = NXP Semiconductor Software License Agreement IMX_VPUWRAP_LICENSE_FILES = EULA COPYING IMX_VPUWRAP_REDISTRIBUTE = NO diff --git a/package/freeswitch/0001-libvpx-cross.patch b/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch similarity index 88% rename from package/freeswitch/0001-libvpx-cross.patch rename to package/freeswitch/0001-Fix-cross-compiling-libvpx.patch index a2583dac35..1d4b97a7a0 100644 --- a/package/freeswitch/0001-libvpx-cross.patch +++ b/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch @@ -18,12 +18,12 @@ Signed-off-by: Bernd Kuhls diff -uNr freeswitch-1.6.7.org/Makefile.in freeswitch-1.6.7/Makefile.in --- freeswitch-1.6.7.org/Makefile.in 2016-04-01 18:09:54.000000000 +0200 +++ freeswitch-1.6.7/Makefile.in 2016-04-22 20:11:37.938961730 +0200 -@@ -3491,7 +3491,7 @@ +@@ -4025,7 +4025,7 @@ cd libs/libzrtp && $(MAKE) libs/libvpx/Makefile: -- cd libs/libvpx && CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="$(VISIBILITY_FLAG)" -+ cd libs/libvpx && CROSS=$(CROSS) CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --target=generic-gnu --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="$(VISIBILITY_FLAG)" +- cd libs/libvpx && CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 --extra-cflags="$(VISIBILITY_FLAG)" ++ cd libs/libvpx && CROSS=$(CROSS) CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --target=generic-gnu --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 --extra-cflags="$(VISIBILITY_FLAG)" libs/libvpx/libvpx.a: libs/libvpx/Makefile @cd libs/libvpx && $(MAKE) diff --git a/package/freeswitch/Config.in b/package/freeswitch/Config.in index ff2898dc3c..bd961314e7 100644 --- a/package/freeswitch/Config.in +++ b/package/freeswitch/Config.in @@ -19,6 +19,7 @@ config BR2_PACKAGE_FREESWITCH select BR2_PACKAGE_SPEEX select BR2_PACKAGE_SPEEXDSP select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_TIFF select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID select BR2_PACKAGE_ZLIB diff --git a/package/freeswitch/freeswitch.hash b/package/freeswitch/freeswitch.hash index 25421de99b..6f90c21564 100644 --- a/package/freeswitch/freeswitch.hash +++ b/package/freeswitch/freeswitch.hash @@ -1,17 +1,18 @@ -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.20.tar.xz.md5 -md5 e9890a2d6ca6f58dd3fa440fdfbf91a0 freeswitch-1.6.20.tar.xz -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.20.tar.xz.sha1 -sha1 ce284b805e262504cbb1f74796785b4dfa70d5ac freeswitch-1.6.20.tar.xz -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.20.tar.xz.sha256 -sha256 dbb0f73109171bd381772b247b8ef581f6a176964619082a1fe031b004086f6b freeswitch-1.6.20.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.5.tar.xz.md5 +md5 e3d750ed0bbf13ce6fe228af9af07bcd freeswitch-1.8.5.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.5.tar.xz.sha1 +sha1 e9f95b42ed9dd41437a65bddbb5c1f647436e426 freeswitch-1.8.5.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.5.tar.xz.sha256 +sha256 503a551be5d6df06162ea9d98a952b6fb524852ce2352fe3ca3a36a76995b046 freeswitch-1.8.5.tar.xz # Locally computed sha256 10299420c1e8602c0daf5a59d022621cd72a9148d1f0f33501edb3db3445c7fe COPYING sha256 e8e26b16da14aa3e6ed5c22c705fdc1f45d6225fca461ea9f7314bcdfdc414c4 libs/apr/LICENSE sha256 1eefb2ea1db0af7729a9d8a27d7c65d8a37ab185393f935b029aac6828ce315a libs/apr-util/LICENSE +sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 libs/libvpx/LICENSE +sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f libs/libyuv/LICENSE sha256 7d72a8aee2c4b1a084200487992a5d86f5df6b535727a14c1874918e99d24600 libs/libzrtp/src/zrtp_legal.c sha256 e1c0890440efe31b6cd2ee2abf895eb917c787799f079133f5809414d90d5d60 libs/sofia-sip/COPYING sha256 b402ae58cf355b33be8fa023f704a039e3d41ecaccd2bbcda43ca31d703e4556 libs/sofia-sip/COPYRIGHTS sha256 366576cb0b869cd9e95a4882878607314650488ac635e5df0692180382e9666a libs/spandsp/COPYING -sha256 8defed37d52096ae14b60adc499c33d43975109bc265552ee67e9a888c634b93 libs/srtp/LICENSE -sha256 fbd6fed7938541d2c809c0826225fc85e551fdbfa8732b10f0c87e0847acafd7 libs/tiff-4.0.2/COPYRIGHT +sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae libs/srtp/LICENSE sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 src/mod/codecs/mod_isac/LICENSE diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk index 7f2a067a35..0b7544d097 100644 --- a/package/freeswitch/freeswitch.mk +++ b/package/freeswitch/freeswitch.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREESWITCH_VERSION = 1.6.20 +FREESWITCH_VERSION = 1.8.5 FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz FREESWITCH_SITE = http://files.freeswitch.org/freeswitch-releases # External modules need headers/libs from staging @@ -14,8 +14,7 @@ FREESWITCH_LICENSE = MPL-1.1, \ Apache-2.0 (apr, apr-util), \ LGPL-2.0+ (sofia-sip), \ LGPL-2.1, GPL-2.0 (spandsp), \ - BSD-3-Clause (libsrtp), \ - tiff license + BSD-3-Clause (libsrtp) FREESWITCH_LICENSE_FILES = \ COPYING \ @@ -24,8 +23,7 @@ FREESWITCH_LICENSE_FILES = \ libs/sofia-sip/COPYING \ libs/sofia-sip/COPYRIGHTS \ libs/spandsp/COPYING \ - libs/srtp/LICENSE \ - libs/tiff-4.0.2/COPYRIGHT + libs/srtp/LICENSE # required dependencies FREESWITCH_DEPENDENCIES = \ @@ -36,6 +34,7 @@ FREESWITCH_DEPENDENCIES = \ pcre \ speex \ sqlite \ + tiff \ util-linux \ zlib diff --git a/package/freetype/freetype.hash b/package/freetype/freetype.hash index 806375c058..c98674c7c2 100644 --- a/package/freetype/freetype.hash +++ b/package/freetype/freetype.hash @@ -1,9 +1,9 @@ -# From https://sourceforge.net/projects/freetype/files/freetype2/2.9/ -md5 513c403c110016fdc7e537216a642b1d freetype-2.9.tar.bz2 -sha1 94c4399b1a55c5892812e732843fcb4a7c2fe657 freetype-2.9.tar.bz2 +# From https://sourceforge.net/projects/freetype/files/freetype2/2.9.1/ +md5 60ef7d8160cd4bf8cb118ee9d65367ca freetype-2.9.1.tar.bz2 +sha1 220c82062171c513e4017c523d196933c9de4a7d freetype-2.9.1.tar.bz2 # Locally calculated -sha256 e6ffba3c8cef93f557d1f767d7bc3dee860ac7a3aaff588a521e081bc36f4c8a freetype-2.9.tar.bz2 +sha256 db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d freetype-2.9.1.tar.bz2 sha256 fd056de4196903a676208ef58cfddafc7d583d1f28fa2e44c309cf84a59e62fb docs/LICENSE.TXT sha256 08c135755dd589039470f1fdbb400daaabaaa50d0b366d19cebff4d22986baa1 docs/FTL.TXT sha256 c4120c6752c910c299e3bd9cb3a46ff262c268303ca2069b61f92f10a5656c18 docs/GPLv2.TXT diff --git a/package/freetype/freetype.mk b/package/freetype/freetype.mk index 1b3a9d1755..7167061568 100644 --- a/package/freetype/freetype.mk +++ b/package/freetype/freetype.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREETYPE_VERSION = 2.9 +FREETYPE_VERSION = 2.9.1 FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.bz2 FREETYPE_SITE = http://download.savannah.gnu.org/releases/freetype FREETYPE_INSTALL_STAGING = YES @@ -17,6 +17,10 @@ FREETYPE_CONFIG_SCRIPTS = freetype-config HOST_FREETYPE_DEPENDENCIES = host-pkgconf HOST_FREETYPE_CONF_OPTS = --without-zlib --without-bzip2 --without-png +# since 2.9.1 needed for freetype-config install +FREETYPE_CONF_OPTS += --enable-freetype-config +HOST_FREETYPE_CONF_OPTS += --enable-freetype-config + ifeq ($(BR2_PACKAGE_ZLIB),y) FREETYPE_DEPENDENCIES += zlib FREETYPE_CONF_OPTS += --with-zlib diff --git a/package/fwts/0001-build-do-not-use-Werror.patch b/package/fwts/0001-build-do-not-use-Werror.patch index 5246fd62d2..2dbf5313d5 100644 --- a/package/fwts/0001-build-do-not-use-Werror.patch +++ b/package/fwts/0001-build-do-not-use-Werror.patch @@ -1,4 +1,4 @@ -From db480b9f3e3a5c6c12e9dd04e87c8dff9381b8e7 Mon Sep 17 00:00:00 2001 +From 4c202c0fd7e5bd3264c720d715f05573047d9cf5 Mon Sep 17 00:00:00 2001 From: Erico Nunes Date: Fri, 12 Aug 2016 23:11:56 +0200 Subject: [PATCH] fwts: do not use -Werror @@ -18,7 +18,7 @@ Signed-off-by: Erico Nunes 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index e3e7512..64034fa 100644 +index 0109d644..3ca599e1 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ @@ -29,7 +29,7 @@ index e3e7512..64034fa 100644 AC_CANONICAL_HOST AC_CONFIG_MACRO_DIR([m4]) diff --git a/src/Makefile.am b/src/Makefile.am -index bc23e8d..599765d 100644 +index 52c637dd..d9d73f1c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -14,7 +14,7 @@ AM_CPPFLAGS = \ @@ -42,10 +42,10 @@ index bc23e8d..599765d 100644 bin_PROGRAMS = fwts diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am -index 1b8fd74..163c9ae 100644 +index 54de7f44..e129ed16 100644 --- a/src/lib/src/Makefile.am +++ b/src/lib/src/Makefile.am -@@ -6,7 +6,7 @@ AM_CPPFLAGS = \ +@@ -24,7 +24,7 @@ AM_CPPFLAGS = \ `pkg-config --silence-errors --cflags json-c` \ `pkg-config --cflags glib-2.0 gio-2.0` \ -DDATAROOTDIR=\"$(datarootdir)\" \ @@ -55,15 +55,18 @@ index 1b8fd74..163c9ae 100644 pkglib_LTLIBRARIES = libfwts.la diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am -index 9a47980..14997df 100644 +index aa37de55..4d5297cc 100644 --- a/src/utilities/Makefile.am +++ b/src/utilities/Makefile.am -@@ -1,4 +1,4 @@ +@@ -16,7 +16,7 @@ + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + # + -AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ +AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ `pkg-config --silence-errors --cflags json` \ `pkg-config --silence-errors --cflags json-c` -- -2.7.4 +2.17.1 diff --git a/package/fwts/Config.in b/package/fwts/Config.in index 37759c61cb..94ac606366 100644 --- a/package/fwts/Config.in +++ b/package/fwts/Config.in @@ -1,13 +1,15 @@ config BR2_PACKAGE_FWTS bool "fwts" depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 - depends on BR2_USE_WCHAR # libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 - depends on BR2_USE_MMU # libglib2 + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c + depends on BR2_USE_MMU # libglib2, libbsd + depends on BR2_USE_WCHAR # libglib2, libbsd + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libbsd depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_JSON_C + select BR2_PACKAGE_LIBBSD help Firmware Test Suite (FWTS) is a test suite that performs sanity checks on firmware. It is intended to identify BIOS and @@ -19,8 +21,21 @@ config BR2_PACKAGE_FWTS https://wiki.ubuntu.com/FirmwareTestSuite +if BR2_PACKAGE_FWTS +config BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE + bool "efi_runtime module" + depends on BR2_LINUX_KERNEL + help + Firmware Test Suite (FWTS) provides a EFI runtime kernel + module required to run UEFI tests. + +comment "efi_runtime module needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL +endif + comment "fwts needs a glibc toolchain w/ wchar, threads" depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ diff --git a/package/fwts/fwts.hash b/package/fwts/fwts.hash index e23386e1fd..c3f3b57801 100644 --- a/package/fwts/fwts.hash +++ b/package/fwts/fwts.hash @@ -1,2 +1,2 @@ # Hash from: http://fwts.ubuntu.com/release/SHA256SUMS -sha256 077b57864515ffdd6d655201da750829f9ccffb8f280eb86d01c2ef184cdcb16 fwts-V16.11.00.tar.gz +sha256 7fcdcf3acecfb92510fcb2faef3ab0db66f639bf3f068cf77a4e0aebba036f93 fwts-V18.09.00.tar.gz diff --git a/package/fwts/fwts.mk b/package/fwts/fwts.mk index 8b0c5b0e5a..b29de2cf25 100644 --- a/package/fwts/fwts.mk +++ b/package/fwts/fwts.mk @@ -4,13 +4,19 @@ # ################################################################################ -FWTS_VERSION = V16.11.00 +FWTS_VERSION = V18.09.00 FWTS_SITE = http://fwts.ubuntu.com/release FWTS_STRIP_COMPONENTS = 0 FWTS_LICENSE = GPL-2.0, LGPL-2.1, Custom FWTS_LICENSE_FILES = debian/copyright FWTS_AUTORECONF = YES -FWTS_DEPENDENCIES = host-bison host-flex host-pkgconf json-c libglib2 \ +FWTS_DEPENDENCIES = host-bison host-flex host-pkgconf json-c libglib2 libbsd \ + $(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \ $(if $(BR2_PACKAGE_DTC),dtc) +ifdef BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE +FWTS_MODULE_SUBDIRS = efi_runtime +$(eval $(kernel-module)) +endif + $(eval $(autotools-package)) diff --git a/package/fwup/fwup.hash b/package/fwup/fwup.hash index 32398bf4d0..73bff448de 100644 --- a/package/fwup/fwup.hash +++ b/package/fwup/fwup.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 852e255bd65f9db473a06184abb3e94e3b6b86be7bf66169e8df8146d5966ae1 fwup-v0.15.4.tar.gz +sha256 20302dc96cef88438034e15551e178bb0652c28d99aa7ca5260100cb3bebbc2a fwup-v1.2.5.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/fwup/fwup.mk b/package/fwup/fwup.mk index c6a18c291c..be0b1d13b8 100644 --- a/package/fwup/fwup.mk +++ b/package/fwup/fwup.mk @@ -4,7 +4,7 @@ # ################################################################################ -FWUP_VERSION = v0.15.4 +FWUP_VERSION = v1.2.5 FWUP_SITE = $(call github,fhunleth,fwup,$(FWUP_VERSION)) FWUP_LICENSE = Apache-2.0 FWUP_LICENSE_FILES = LICENSE diff --git a/package/gadgetfs-test/Config.in b/package/gadgetfs-test/Config.in index 9a603066e7..ca14c91b41 100644 --- a/package/gadgetfs-test/Config.in +++ b/package/gadgetfs-test/Config.in @@ -8,7 +8,6 @@ if BR2_PACKAGE_GADGETFS_TEST config BR2_PACKAGE_GADGETFS_TEST_USE_AIO bool "use asynchronous i/o" - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS select BR2_PACKAGE_LIBAIO help Select this to have gadgetfs-test do asynchronous I/O using diff --git a/package/gauche/0004-rfc-needs-srfi.patch b/package/gauche/0004-rfc-needs-srfi.patch new file mode 100644 index 0000000000..8b83b7872b --- /dev/null +++ b/package/gauche/0004-rfc-needs-srfi.patch @@ -0,0 +1,35 @@ +From 33ba5e73ec09f1308f897128334e955debd9ea43 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 21 Nov 2018 08:58:25 +0100 +Subject: [PATCH] rfc: needs srfi + +ext/rfc needs srfi-19 since version 0.9.5 and +https://github.com/shirok/Gauche/commit/bd22bc82361c5eeb5d3b58c3836236566746bb96 + +So add a dependency on srfi for rfc target in Makefile.in + +Fixes: + - http://autobuild.buildroot.org/results/f4935e29ce6aaebdaa47d46c56120b7e97145d1b + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/shirok/Gauche/pull/397] +--- + ext/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ext/Makefile.in b/ext/Makefile.in +index 57ddf457e..de8d59a4d 100644 +--- a/ext/Makefile.in ++++ b/ext/Makefile.in +@@ -54,7 +54,7 @@ bcrypt: mt-random + + dbm : threads + +-rfc: gauche util ++rfc: gauche srfi util + + test : check + +-- +2.14.1 + diff --git a/package/gcc/4.9.4/0003-libsanitizer-Use-pre-computed-size.patch b/package/gcc/4.9.4/0003-libsanitizer-Use-pre-computed-size.patch new file mode 100644 index 0000000000..5b4c05a719 --- /dev/null +++ b/package/gcc/4.9.4/0003-libsanitizer-Use-pre-computed-size.patch @@ -0,0 +1,71 @@ +From 61f38c64c01a15560026115a157b7021ec67bd3b Mon Sep 17 00:00:00 2001 +From: hjl +Date: Thu, 24 May 2018 20:21:54 +0000 +Subject: [PATCH] libsanitizer: Use pre-computed size of struct ustat for Linux + +Cherry-pick compiler-rt revision 333213: + + has been removed from glibc 2.28 by: + +commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7 +Author: Adhemerval Zanella +Date: Sun Mar 18 11:28:59 2018 +0800 + + Deprecate ustat syscall interface + +This patch uses pre-computed size of struct ustat for Linux. + + PR sanitizer/85835 + * sanitizer_common/sanitizer_platform_limits_posix.cc: Don't + include for Linux. + (SIZEOF_STRUCT_USTAT): New. + (struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux. + + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@260688 138bc75d-0d04-0410-961f-82ee72b054a4 + +Backported from upstream commit +https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=61f38c64c01a15560026115a157b7021ec67bd3b + +Signed-off-by: Bernd Kuhls +--- + libsanitizer/ChangeLog | 8 ++++++++ + .../sanitizer_common/sanitizer_platform_limits_posix.cc | 15 +++++++++++++-- + 2 files changed, 21 insertions(+), 2 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index 31a5e69..8017afd 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -81,7 +89,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include + #endif + #include +-#include + #include + #include + #include +@@ -163,7 +170,19 @@ + unsigned struct_old_utsname_sz = sizeof(struct old_utsname); + unsigned struct_oldold_utsname_sz = sizeof(struct oldold_utsname); + unsigned struct_itimerspec_sz = sizeof(struct itimerspec); +- unsigned struct_ustat_sz = sizeof(struct ustat); ++ // Use pre-computed size of struct ustat to avoid which ++ // has been removed from glibc 2.28. ++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ ++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ ++ || defined(__x86_64__) ++#define SIZEOF_STRUCT_USTAT 32 ++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ ++ || defined(__powerpc__) || defined(__s390__) ++#define SIZEOF_STRUCT_USTAT 20 ++#else ++#error Unknown size of struct ustat ++#endif ++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; + #endif // SANITIZER_LINUX + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +-- +2.9.3 diff --git a/package/gcc/5.5.0/0002-libsanitizer-Use-pre-computed-size.patch b/package/gcc/5.5.0/0002-libsanitizer-Use-pre-computed-size.patch new file mode 100644 index 0000000000..6e73331eae --- /dev/null +++ b/package/gcc/5.5.0/0002-libsanitizer-Use-pre-computed-size.patch @@ -0,0 +1,72 @@ +From 61f38c64c01a15560026115a157b7021ec67bd3b Mon Sep 17 00:00:00 2001 +From: hjl +Date: Thu, 24 May 2018 20:21:54 +0000 +Subject: [PATCH] libsanitizer: Use pre-computed size of struct ustat for Linux + +Cherry-pick compiler-rt revision 333213: + + has been removed from glibc 2.28 by: + +commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7 +Author: Adhemerval Zanella +Date: Sun Mar 18 11:28:59 2018 +0800 + + Deprecate ustat syscall interface + +This patch uses pre-computed size of struct ustat for Linux. + + PR sanitizer/85835 + * sanitizer_common/sanitizer_platform_limits_posix.cc: Don't + include for Linux. + (SIZEOF_STRUCT_USTAT): New. + (struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux. + + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@260688 138bc75d-0d04-0410-961f-82ee72b054a4 + +Downloaded from upstream commit +https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=61f38c64c01a15560026115a157b7021ec67bd3b + +Signed-off-by: Bernd Kuhls +--- + libsanitizer/ChangeLog | 8 ++++++++ + .../sanitizer_common/sanitizer_platform_limits_posix.cc | 15 +++++++++++++-- + 2 files changed, 21 insertions(+), 2 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index 31a5e69..8017afd 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -154,7 +154,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include + #endif + #include +-#include + #include + #include + #include +@@ -247,7 +246,19 @@ namespace __sanitizer { + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- unsigned struct_ustat_sz = sizeof(struct ustat); ++ // Use pre-computed size of struct ustat to avoid which ++ // has been removed from glibc 2.28. ++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ ++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ ++ || defined(__x86_64__) ++#define SIZEOF_STRUCT_USTAT 32 ++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ ++ || defined(__powerpc__) || defined(__s390__) ++#define SIZEOF_STRUCT_USTAT 20 ++#else ++#error Unknown size of struct ustat ++#endif ++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; + unsigned struct_rlimit64_sz = sizeof(struct rlimit64); + unsigned struct_statvfs64_sz = sizeof(struct statvfs64); + #endif // SANITIZER_LINUX && !SANITIZER_ANDROID +-- +2.9.3 + diff --git a/package/gcc/6.4.0/0002-fix-building-on-ppc64.patch b/package/gcc/6.4.0/0002-fix-building-on-ppc64.patch deleted file mode 100644 index ee096cfcf1..0000000000 --- a/package/gcc/6.4.0/0002-fix-building-on-ppc64.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 765527ad3725c5f3e82ab2b8e5031120b409983d Mon Sep 17 00:00:00 2001 -From: marxin -Date: Fri, 15 Jun 2018 08:51:28 +0000 -Subject: [PATCH] Partial backport r256656 - -2018-06-15 Martin Liska - - Backport from mainline - 2018-01-10 Kelvin Nilsen - - * lex.c (search_line_fast): Remove illegal coercion of an - unaligned pointer value to vector pointer type and replace with - use of __builtin_vec_vsx_ld () built-in function, which operates - on unaligned pointer values. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Joel Stanley ---- - libcpp/lex.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcpp/lex.c b/libcpp/lex.c -index e5a0397f3099..b789686f1c49 100644 ---- a/libcpp/lex.c -+++ b/libcpp/lex.c -@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED) - { - vc m_nl, m_cr, m_bs, m_qm; - -- data = *((const vc *)s); -+ data = __builtin_vec_vsx_ld (0, s); - s += 16; - - m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl); --- -2.17.1 - diff --git a/package/gcc/6.4.0/870-xtensa-fix-PR-target-82181.patch b/package/gcc/6.4.0/870-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index 5fe384148b..0000000000 --- a/package/gcc/6.4.0/870-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 3bc2ee6886f1619bc6a2257a0775142526b1a57a Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Mon, 11 Sep 2017 21:53:38 +0000 -Subject: [PATCH] xtensa: fix PR target/82181 - -2017-09-11 Max Filippov -gcc/ - Backport from mainline - * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both - words of DImode object are reachable by xtensa_uimm8x4 access. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index 2bdf5ccef979..92fdeb08046d 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -601,6 +601,7 @@ xtensa_mem_offset (unsigned v, machine_mode mode) - case HImode: - return xtensa_uimm8x2 (v); - -+ case DImode: - case DFmode: - return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); - --- -2.1.4 - diff --git a/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch b/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch deleted file mode 100644 index 7ead575439..0000000000 --- a/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 87fda0741d210727672cba5e54a37a189e8ac04e Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 17 Jun 2018 21:18:39 -0700 -Subject: [PATCH] xtensa: fix PR target/65416 - -The issue is caused by reordering of stack pointer update after stack -space allocation with instructions that write to the allocated stack -space. In windowed ABI register spill area for the previous call frame -is located just below the stack pointer and may be reloaded back into -the register file on movsp. -Implement allocate_stack pattern for windowed ABI configuration and -insert an instruction that prevents reordering of frame memory access -and stack pointer update. - -gcc/ -2018-06-19 Max Filippov - - * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec - constant. - (allocate_stack, frame_blockage, *frame_blockage): New patterns. - -Signed-off-by: Max Filippov -Backported from: r261755 ---- - gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 46 insertions(+) - -diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md -index 84967dbedc08..209f839cfb0f 100644 ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -38,6 +38,7 @@ - (UNSPEC_MEMW 11) - (UNSPEC_LSETUP_START 12) - (UNSPEC_LSETUP_END 13) -+ (UNSPEC_FRAME_BLOCKAGE 14) - - (UNSPECV_SET_FP 1) - (UNSPECV_ENTRY 2) -@@ -1676,6 +1677,32 @@ - - ;; Miscellaneous instructions. - -+;; In windowed ABI stack pointer adjustment must happen before any access -+;; to the space allocated on stack is allowed, otherwise register spill -+;; area may be clobbered. That's what frame blockage is supposed to enforce. -+ -+(define_expand "allocate_stack" -+ [(set (match_operand 0 "nonimmed_operand") -+ (minus (reg A1_REG) (match_operand 1 "add_operand"))) -+ (set (reg A1_REG) -+ (minus (reg A1_REG) (match_dup 1)))] -+ "TARGET_WINDOWED_ABI" -+{ -+ if (CONST_INT_P (operands[1])) -+ { -+ rtx neg_op0 = GEN_INT (-INTVAL (operands[1])); -+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0)); -+ } -+ else -+ { -+ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, -+ operands[1])); -+ } -+ emit_move_insn (operands[0], virtual_stack_dynamic_rtx); -+ emit_insn (gen_frame_blockage ()); -+ DONE; -+}) -+ - (define_expand "prologue" - [(const_int 0)] - "" -@@ -1767,6 +1794,25 @@ - [(set_attr "length" "0") - (set_attr "type" "nop")]) - -+;; Do not schedule instructions accessing memory before this point. -+ -+(define_expand "frame_blockage" -+ [(set (match_dup 0) -+ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))] -+ "" -+{ -+ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); -+ MEM_VOLATILE_P (operands[0]) = 1; -+ operands[1] = stack_pointer_rtx; -+}) -+ -+(define_insn "*frame_blockage" -+ [(set (match_operand:BLK 0 "" "") -+ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))] -+ "" -+ "" -+ [(set_attr "length" "0")]) -+ - (define_insn "trap" - [(trap_if (const_int 1) (const_int 0))] - "" --- -2.11.0 - diff --git a/package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch b/package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch deleted file mode 100644 index d62d7c1566..0000000000 --- a/package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6765eecde2ed8d4be0fc217408b9e9b92a840aff Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 4 Sep 2018 00:39:32 -0700 -Subject: [PATCH] gcc: xtensa: fix NAND code in xtensa_expand_atomic - -NAND is ~(a1 & a2), but xtensa_expand_atomic does ~a1 & a2. -That fixes libatomic tests atomic-op-{1,2}. - -gcc/ -2018-09-04 Max Filippov - - * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and - XOR operations in NAND case. - -Signed-off-by: Max Filippov -Backported from: r264087 ---- - gcc/config/xtensa/xtensa.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index 7cfe64d42895..080bb4ad765d 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1614,9 +1614,9 @@ xtensa_expand_atomic (enum rtx_code code, rtx target, rtx mem, rtx val, - break; - - case MULT: /* NAND */ -- tmp = expand_simple_binop (SImode, XOR, old, ac.modemask, -+ tmp = expand_simple_binop (SImode, AND, old, val, - NULL_RTX, 1, OPTAB_DIRECT); -- tmp = expand_simple_binop (SImode, AND, tmp, val, -+ tmp = expand_simple_binop (SImode, XOR, tmp, ac.modemask, - new_rtx, 1, OPTAB_DIRECT); - break; - --- -2.11.0 - diff --git a/package/gcc/6.4.0/942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch b/package/gcc/6.4.0/942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch deleted file mode 100644 index a2a2ea0f2f..0000000000 --- a/package/gcc/6.4.0/942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch +++ /dev/null @@ -1,192 +0,0 @@ -From 35d8ca22047f101a700abb29cffbf03b81278a2b Mon Sep 17 00:00:00 2001 -From: jsm28 -Date: Tue, 4 Jul 2017 10:23:57 +0000 -Subject: [PATCH] Use ucontext_t not struct ucontext in linux-unwind.h files. - -Current glibc no longer gives the ucontext_t type the tag struct -ucontext, to conform with POSIX namespace rules. This requires -various linux-unwind.h files in libgcc, that were previously using -struct ucontext, to be fixed to use ucontext_t instead. This is -similar to the removal of the struct siginfo tag from siginfo_t some -years ago. - -This patch changes those files to use ucontext_t instead. As the -standard name that should be unconditionally safe, so this is not -restricted to architectures supported by glibc, or conditioned on the -glibc version. - -Tested compilation together with current glibc with glibc's -build-many-glibcs.py. - - * config/aarch64/linux-unwind.h (aarch64_fallback_frame_state), - config/alpha/linux-unwind.h (alpha_fallback_frame_state), - config/bfin/linux-unwind.h (bfin_fallback_frame_state), - config/i386/linux-unwind.h (x86_64_fallback_frame_state, - x86_fallback_frame_state), config/m68k/linux-unwind.h (struct - uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext), - config/pa/linux-unwind.h (pa32_fallback_frame_state), - config/sh/linux-unwind.h (sh_fallback_frame_state), - config/tilepro/linux-unwind.h (tile_fallback_frame_state), - config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use - ucontext_t instead of struct ucontext. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@249957 138bc75d-0d04-0410-961f-82ee72b054a4 - -(cherry picked from commit b685411208e0aaa79190d54faf945763514706b8) -[Romain rebase on gcc 6.4] -Signed-off-by: Romain Naour ---- - libgcc/config/aarch64/linux-unwind.h | 2 +- - libgcc/config/alpha/linux-unwind.h | 2 +- - libgcc/config/bfin/linux-unwind.h | 2 +- - libgcc/config/i386/linux-unwind.h | 4 ++-- - libgcc/config/m68k/linux-unwind.h | 2 +- - libgcc/config/nios2/linux-unwind.h | 2 +- - libgcc/config/pa/linux-unwind.h | 2 +- - libgcc/config/sh/linux-unwind.h | 2 +- - libgcc/config/tilepro/linux-unwind.h | 2 +- - libgcc/config/xtensa/linux-unwind.h | 2 +- - 10 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h -index 4512efb..06de45a 100644 ---- a/libgcc/config/aarch64/linux-unwind.h -+++ b/libgcc/config/aarch64/linux-unwind.h -@@ -52,7 +52,7 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context, - struct rt_sigframe - { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - }; - - struct rt_sigframe *rt_; -diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h -index bdbba4a..e84812e 100644 ---- a/libgcc/config/alpha/linux-unwind.h -+++ b/libgcc/config/alpha/linux-unwind.h -@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context, - { - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - sc = &rt_->uc.uc_mcontext; - } -diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h -index 77b7c23..8bf5e82 100644 ---- a/libgcc/config/bfin/linux-unwind.h -+++ b/libgcc/config/bfin/linux-unwind.h -@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context, - void *puc; - char retcode[8]; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - - /* The void * cast is necessary to avoid an aliasing warning. -diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h -index 540a0a2..29efbe3 100644 ---- a/libgcc/config/i386/linux-unwind.h -+++ b/libgcc/config/i386/linux-unwind.h -@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, - if (*(unsigned char *)(pc+0) == 0x48 - && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) - { -- struct ucontext *uc_ = context->cfa; -+ ucontext_t *uc_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem - because it does not alias anything. */ -@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context, - siginfo_t *pinfo; - void *puc; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem -diff --git a/libgcc/config/m68k/linux-unwind.h b/libgcc/config/m68k/linux-unwind.h -index 75b7cf7..f964e24 100644 ---- a/libgcc/config/m68k/linux-unwind.h -+++ b/libgcc/config/m68k/linux-unwind.h -@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - /* is unfortunately broken right now. */ - struct uw_ucontext { - unsigned long uc_flags; -- struct ucontext *uc_link; -+ ucontext_t *uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - unsigned long uc_filler[80]; -diff --git a/libgcc/config/nios2/linux-unwind.h b/libgcc/config/nios2/linux-unwind.h -index 2304142..30f25ea 100644 ---- a/libgcc/config/nios2/linux-unwind.h -+++ b/libgcc/config/nios2/linux-unwind.h -@@ -38,7 +38,7 @@ struct nios2_mcontext { - - struct nios2_ucontext { - unsigned long uc_flags; -- struct ucontext *uc_link; -+ ucontext_t *uc_link; - stack_t uc_stack; - struct nios2_mcontext uc_mcontext; - sigset_t uc_sigmask; /* mask last for extensibility */ -diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h -index 9a2657f..e47493d 100644 ---- a/libgcc/config/pa/linux-unwind.h -+++ b/libgcc/config/pa/linux-unwind.h -@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context, - struct sigcontext *sc; - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *frame; - - /* rt_sigreturn trampoline: -diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h -index e389cac..0bf43ba 100644 ---- a/libgcc/config/sh/linux-unwind.h -+++ b/libgcc/config/sh/linux-unwind.h -@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context, - { - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem -diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h -index 796e976..75f8890 100644 ---- a/libgcc/config/tilepro/linux-unwind.h -+++ b/libgcc/config/tilepro/linux-unwind.h -@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context, - struct rt_sigframe { - unsigned char save_area[C_ABI_SAVE_AREA_SIZE]; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_; - - /* Return if this is not a signal handler. */ -diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h -index 9872492..586a9d4 100644 ---- a/libgcc/config/xtensa/linux-unwind.h -+++ b/libgcc/config/xtensa/linux-unwind.h -@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context, - - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_; - - /* movi a2, __NR_rt_sigreturn; syscall */ --- -2.9.5 - diff --git a/package/gcc/6.4.0/943-sanitizer-linux.patch b/package/gcc/6.4.0/943-sanitizer-linux.patch deleted file mode 100644 index 640d68c853..0000000000 --- a/package/gcc/6.4.0/943-sanitizer-linux.patch +++ /dev/null @@ -1,91 +0,0 @@ -From a3e3d1b5f73380a99126c4937a95225ba3bd214b Mon Sep 17 00:00:00 2001 -From: doko -Date: Thu, 7 Sep 2017 07:15:24 +0000 -Subject: [PATCH] 2017-09-07 Matthias Klose - - Backported from mainline - 2017-07-14 Jakub Jelinek - - PR sanitizer/81066 - * sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969. - * sanitizer_common/sanitizer_linux.cc: Likewise. - * sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise. - * tsan/tsan_platform_linux.cc: Likewise. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@251828 138bc75d-0d04-0410-961f-82ee72b054a4 - -(cherry picked from commit 8937b94d1a643fd9760714642296d034a45254a8) -[Romain rebase on gcc 6.4] -Signed-off-by: Romain Naour ---- - libsanitizer/sanitizer_common/sanitizer_linux.cc | 3 +-- - libsanitizer/sanitizer_common/sanitizer_linux.h | 4 +--- - libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc | 2 +- - libsanitizer/tsan/tsan_platform_linux.cc | 2 +- - 4 files changed, 4 insertions(+), 7 deletions(-) - -diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc -index 2cefa20..223d9c6 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_linux.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc -@@ -546,8 +546,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) { - } - #endif - --uptr internal_sigaltstack(const struct sigaltstack *ss, -- struct sigaltstack *oss) { -+uptr internal_sigaltstack(const void *ss, void *oss) { - return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); - } - -diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h -index 4497702..1594058 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_linux.h -+++ b/libsanitizer/sanitizer_common/sanitizer_linux.h -@@ -19,7 +19,6 @@ - #include "sanitizer_platform_limits_posix.h" - - struct link_map; // Opaque type returned by dlopen(). --struct sigaltstack; - - namespace __sanitizer { - // Dirent structure for getdents(). Note that this structure is different from -@@ -28,8 +27,7 @@ struct linux_dirent; - - // Syscall wrappers. - uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); --uptr internal_sigaltstack(const struct sigaltstack* ss, -- struct sigaltstack* oss); -+uptr internal_sigaltstack(const void* ss, void* oss); - uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set, - __sanitizer_sigset_t *oldset); - void internal_sigfillset(__sanitizer_sigset_t *set); -diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -index c919e4f..014162af 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -@@ -267,7 +267,7 @@ static int TracerThread(void* argument) { - - // Alternate stack for signal handling. - InternalScopedBuffer handler_stack_memory(kHandlerStackSize); -- struct sigaltstack handler_stack; -+ stack_t handler_stack; - internal_memset(&handler_stack, 0, sizeof(handler_stack)); - handler_stack.ss_sp = handler_stack_memory.data(); - handler_stack.ss_size = kHandlerStackSize; -diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc -index 09cec5f..908f4fe 100644 ---- a/libsanitizer/tsan/tsan_platform_linux.cc -+++ b/libsanitizer/tsan/tsan_platform_linux.cc -@@ -291,7 +291,7 @@ bool IsGlobalVar(uptr addr) { - int ExtractResolvFDs(void *state, int *fds, int nfd) { - #if SANITIZER_LINUX - int cnt = 0; -- __res_state *statp = (__res_state*)state; -+ struct __res_state *statp = (struct __res_state*)state; - for (int i = 0; i < MAXNS && cnt < nfd; i++) { - if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) - fds[cnt++] = statp->_u._ext.nssocks[i]; --- -2.9.5 - diff --git a/package/gcc/6.4.0/0001-m68k-coldfire-pr68467.patch b/package/gcc/6.5.0/0001-m68k-coldfire-pr68467.patch similarity index 100% rename from package/gcc/6.4.0/0001-m68k-coldfire-pr68467.patch rename to package/gcc/6.5.0/0001-m68k-coldfire-pr68467.patch diff --git a/package/gcc/6.5.0/0004-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch b/package/gcc/6.5.0/0004-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch new file mode 100644 index 0000000000..360947cbb1 --- /dev/null +++ b/package/gcc/6.5.0/0004-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch @@ -0,0 +1,41 @@ +From 960a2552f7b418134cdf7a31e96023a3811b98dd Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 4 Nov 2018 23:55:59 -0800 +Subject: [PATCH] gcc: xtensa: don't force PIC for uclinux target + +xtensa-uclinux uses bFLT executable file format that cannot relocate +fields representing offsets from data to code. C++ objects built as PIC +use offsets to encode FDE structures. As a result C++ exception handling +doesn't work correctly on xtensa-uclinux. Don't use PIC by default on +xtensa-uclinux. + +gcc/ +2018-11-05 Max Filippov + + * config/xtensa/uclinux.h (XTENSA_ALWAYS_PIC): Change to 0. + +Signed-off-by: Max Filippov +--- +Backported from: r265823 + + gcc/config/xtensa/uclinux.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/xtensa/uclinux.h b/gcc/config/xtensa/uclinux.h +index ba26187c8f7a..c7743df9d97c 100644 +--- a/gcc/config/xtensa/uclinux.h ++++ b/gcc/config/xtensa/uclinux.h +@@ -59,8 +59,8 @@ along with GCC; see the file COPYING3. If not see + #undef LOCAL_LABEL_PREFIX + #define LOCAL_LABEL_PREFIX "." + +-/* Always enable "-fpic" for Xtensa Linux. */ +-#define XTENSA_ALWAYS_PIC 1 ++/* Don't enable "-fpic" for Xtensa uclinux. */ ++#define XTENSA_ALWAYS_PIC 0 + + #undef TARGET_LIBC_HAS_FUNCTION + #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function +-- +2.11.0 + diff --git a/package/gcc/6.4.0/100-uclibc-conf.patch b/package/gcc/6.5.0/100-uclibc-conf.patch similarity index 100% rename from package/gcc/6.4.0/100-uclibc-conf.patch rename to package/gcc/6.5.0/100-uclibc-conf.patch diff --git a/package/gcc/6.4.0/301-missing-execinfo_h.patch b/package/gcc/6.5.0/301-missing-execinfo_h.patch similarity index 100% rename from package/gcc/6.4.0/301-missing-execinfo_h.patch rename to package/gcc/6.5.0/301-missing-execinfo_h.patch diff --git a/package/gcc/6.4.0/810-arm-softfloat-libgcc.patch b/package/gcc/6.5.0/810-arm-softfloat-libgcc.patch similarity index 100% rename from package/gcc/6.4.0/810-arm-softfloat-libgcc.patch rename to package/gcc/6.5.0/810-arm-softfloat-libgcc.patch diff --git a/package/gcc/6.4.0/830-arm_unbreak_armv4t.patch b/package/gcc/6.5.0/830-arm_unbreak_armv4t.patch similarity index 100% rename from package/gcc/6.4.0/830-arm_unbreak_armv4t.patch rename to package/gcc/6.5.0/830-arm_unbreak_armv4t.patch diff --git a/package/gcc/6.4.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch b/package/gcc/6.5.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch similarity index 100% rename from package/gcc/6.4.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch rename to package/gcc/6.5.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch diff --git a/package/gcc/6.4.0/860-cilk-wchar.patch b/package/gcc/6.5.0/860-cilk-wchar.patch similarity index 100% rename from package/gcc/6.4.0/860-cilk-wchar.patch rename to package/gcc/6.5.0/860-cilk-wchar.patch diff --git a/package/gcc/6.4.0/890-fix-m68k-compile.patch b/package/gcc/6.5.0/890-fix-m68k-compile.patch similarity index 100% rename from package/gcc/6.4.0/890-fix-m68k-compile.patch rename to package/gcc/6.5.0/890-fix-m68k-compile.patch diff --git a/package/gcc/6.4.0/896-microblaze-Revert.patch b/package/gcc/6.5.0/896-microblaze-Revert.patch similarity index 100% rename from package/gcc/6.4.0/896-microblaze-Revert.patch rename to package/gcc/6.5.0/896-microblaze-Revert.patch diff --git a/package/gcc/6.4.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch b/package/gcc/6.5.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch similarity index 100% rename from package/gcc/6.4.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch rename to package/gcc/6.5.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch diff --git a/package/gcc/6.4.0/940-uclinux-enable-threads.patch b/package/gcc/6.5.0/940-uclinux-enable-threads.patch similarity index 100% rename from package/gcc/6.4.0/940-uclinux-enable-threads.patch rename to package/gcc/6.5.0/940-uclinux-enable-threads.patch diff --git a/package/gcc/6.4.0/941-mips-Add-support-for-mips-r6-musl.patch b/package/gcc/6.5.0/941-mips-Add-support-for-mips-r6-musl.patch similarity index 100% rename from package/gcc/6.4.0/941-mips-Add-support-for-mips-r6-musl.patch rename to package/gcc/6.5.0/941-mips-Add-support-for-mips-r6-musl.patch diff --git a/package/gcc/7.3.0/0001-m68k-coldfire-pr68467.patch b/package/gcc/7.3.0/0001-m68k-coldfire-pr68467.patch deleted file mode 100644 index 629c6496e5..0000000000 --- a/package/gcc/7.3.0/0001-m68k-coldfire-pr68467.patch +++ /dev/null @@ -1,48 +0,0 @@ -Backport from upstream, see -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-7.2.0.orig/gcc/config/m68k/m68k.c gcc-7.2.0/gcc/config/m68k/m68k.c ---- gcc-7.2.0.orig/gcc/config/m68k/m68k.c 2017-04-03 22:30:56.274463000 +0000 -+++ gcc-7.2.0/gcc/config/m68k/m68k.c 2018-01-27 02:16:53.779367849 +0000 -@@ -182,6 +182,8 @@ - const_tree, bool); - static bool m68k_cannot_force_const_mem (machine_mode mode, rtx x); - static bool m68k_output_addr_const_extra (FILE *, rtx); -+static machine_mode m68k_promote_function_mode (const_tree, machine_mode, -+ int *, const_tree, int); - static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED; - static enum flt_eval_method - m68k_excess_precision (enum excess_precision_type); -@@ -332,6 +334,9 @@ - #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL - #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128 - -+#undef TARGET_PROMOTE_FUNCTION_MODE -+#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode -+ - static const struct attribute_spec m68k_attribute_table[] = - { - /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, -@@ -6571,4 +6576,20 @@ - return FLT_EVAL_METHOD_UNPREDICTABLE; - } - -+/* Implement TARGET_PROMOTE_FUNCTION_MODE. */ -+ -+static machine_mode -+m68k_promote_function_mode (const_tree type, machine_mode mode, -+ int *punsignedp ATTRIBUTE_UNUSED, -+ const_tree fntype ATTRIBUTE_UNUSED, -+ int for_return) -+{ -+ /* Promote libcall arguments narrower than int to match the normal C -+ ABI (for which promotions are handled via -+ TARGET_PROMOTE_PROTOTYPES). */ -+ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode)) -+ return SImode; -+ return mode; -+} -+ - #include "gt-m68k.h" diff --git a/package/gcc/7.3.0/0002-fix-building-on-ppc64.patch b/package/gcc/7.3.0/0002-fix-building-on-ppc64.patch deleted file mode 100644 index 78a028c29a..0000000000 --- a/package/gcc/7.3.0/0002-fix-building-on-ppc64.patch +++ /dev/null @@ -1,40 +0,0 @@ -From aa65a43516da1d48011ef621ed5988289711d99b Mon Sep 17 00:00:00 2001 -From: marxin -Date: Fri, 29 Jun 2018 09:31:30 +0000 -Subject: [PATCH] Partial backport r256656 - -2018-06-29 Martin Liska - - Backport from mainline - 2018-01-10 Kelvin Nilsen - - * lex.c (search_line_fast): Remove illegal coercion of an - unaligned pointer value to vector pointer type and replace with - use of __builtin_vec_vsx_ld () built-in function, which operates - on unaligned pointer values. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4 - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@262243 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Joel Stanley ---- - libcpp/lex.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcpp/lex.c b/libcpp/lex.c -index 097c78002cbb..e0fb9e822c44 100644 ---- a/libcpp/lex.c -+++ b/libcpp/lex.c -@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED) - { - vc m_nl, m_cr, m_bs, m_qm; - -- data = *((const vc *)s); -+ data = __builtin_vec_vsx_ld (0, s); - s += 16; - - m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl); --- -2.17.1 - diff --git a/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch b/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch deleted file mode 100644 index 7ead575439..0000000000 --- a/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 87fda0741d210727672cba5e54a37a189e8ac04e Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 17 Jun 2018 21:18:39 -0700 -Subject: [PATCH] xtensa: fix PR target/65416 - -The issue is caused by reordering of stack pointer update after stack -space allocation with instructions that write to the allocated stack -space. In windowed ABI register spill area for the previous call frame -is located just below the stack pointer and may be reloaded back into -the register file on movsp. -Implement allocate_stack pattern for windowed ABI configuration and -insert an instruction that prevents reordering of frame memory access -and stack pointer update. - -gcc/ -2018-06-19 Max Filippov - - * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec - constant. - (allocate_stack, frame_blockage, *frame_blockage): New patterns. - -Signed-off-by: Max Filippov -Backported from: r261755 ---- - gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 46 insertions(+) - -diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md -index 84967dbedc08..209f839cfb0f 100644 ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -38,6 +38,7 @@ - (UNSPEC_MEMW 11) - (UNSPEC_LSETUP_START 12) - (UNSPEC_LSETUP_END 13) -+ (UNSPEC_FRAME_BLOCKAGE 14) - - (UNSPECV_SET_FP 1) - (UNSPECV_ENTRY 2) -@@ -1676,6 +1677,32 @@ - - ;; Miscellaneous instructions. - -+;; In windowed ABI stack pointer adjustment must happen before any access -+;; to the space allocated on stack is allowed, otherwise register spill -+;; area may be clobbered. That's what frame blockage is supposed to enforce. -+ -+(define_expand "allocate_stack" -+ [(set (match_operand 0 "nonimmed_operand") -+ (minus (reg A1_REG) (match_operand 1 "add_operand"))) -+ (set (reg A1_REG) -+ (minus (reg A1_REG) (match_dup 1)))] -+ "TARGET_WINDOWED_ABI" -+{ -+ if (CONST_INT_P (operands[1])) -+ { -+ rtx neg_op0 = GEN_INT (-INTVAL (operands[1])); -+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0)); -+ } -+ else -+ { -+ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, -+ operands[1])); -+ } -+ emit_move_insn (operands[0], virtual_stack_dynamic_rtx); -+ emit_insn (gen_frame_blockage ()); -+ DONE; -+}) -+ - (define_expand "prologue" - [(const_int 0)] - "" -@@ -1767,6 +1794,25 @@ - [(set_attr "length" "0") - (set_attr "type" "nop")]) - -+;; Do not schedule instructions accessing memory before this point. -+ -+(define_expand "frame_blockage" -+ [(set (match_dup 0) -+ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))] -+ "" -+{ -+ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); -+ MEM_VOLATILE_P (operands[0]) = 1; -+ operands[1] = stack_pointer_rtx; -+}) -+ -+(define_insn "*frame_blockage" -+ [(set (match_operand:BLK 0 "" "") -+ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))] -+ "" -+ "" -+ [(set_attr "length" "0")]) -+ - (define_insn "trap" - [(trap_if (const_int 1) (const_int 0))] - "" --- -2.11.0 - diff --git a/package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch b/package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch deleted file mode 100644 index d62d7c1566..0000000000 --- a/package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6765eecde2ed8d4be0fc217408b9e9b92a840aff Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 4 Sep 2018 00:39:32 -0700 -Subject: [PATCH] gcc: xtensa: fix NAND code in xtensa_expand_atomic - -NAND is ~(a1 & a2), but xtensa_expand_atomic does ~a1 & a2. -That fixes libatomic tests atomic-op-{1,2}. - -gcc/ -2018-09-04 Max Filippov - - * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and - XOR operations in NAND case. - -Signed-off-by: Max Filippov -Backported from: r264087 ---- - gcc/config/xtensa/xtensa.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index 7cfe64d42895..080bb4ad765d 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1614,9 +1614,9 @@ xtensa_expand_atomic (enum rtx_code code, rtx target, rtx mem, rtx val, - break; - - case MULT: /* NAND */ -- tmp = expand_simple_binop (SImode, XOR, old, ac.modemask, -+ tmp = expand_simple_binop (SImode, AND, old, val, - NULL_RTX, 1, OPTAB_DIRECT); -- tmp = expand_simple_binop (SImode, AND, tmp, val, -+ tmp = expand_simple_binop (SImode, XOR, tmp, ac.modemask, - new_rtx, 1, OPTAB_DIRECT); - break; - --- -2.11.0 - diff --git a/package/gcc/7.3.0/0900-remove-selftests.patch b/package/gcc/7.3.0/0900-remove-selftests.patch deleted file mode 100644 index a3bc7a5730..0000000000 --- a/package/gcc/7.3.0/0900-remove-selftests.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 3 May 2017 00:37:06 +0200 -Subject: [PATCH] remove selftests - -When the gcc archive is extracted by the gcc.mk, the gcc/testsuite -is excluded: - -HOST_GCC_EXCLUDES = \ - libjava/* libgo/* \ - gcc/testsuite/* libstdc++-v3/testsuite/* - -The new Makefile target from the "Selftest framework" [1] added a dependency -on the gcc/testsuite/Makefile. -Revert partially the commit [1] to allow building gcc without selftest. - -[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9 - -Signed-off-by: Romain Naour ---- - gcc/Makefile.in | 46 +++++----------------------------------------- - 1 file changed, 5 insertions(+), 41 deletions(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 74d1912..652a554 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -1581,14 +1581,13 @@ OBJS = \ - OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \ - edit-context.o \ - pretty-print.o intl.o \ -- vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \ -- selftest.o -+ vec.o input.o version.o hash-table.o ggc-none.o memory-block.o - - # Objects in libcommon-target.a, used by drivers and by the core - # compiler and containing target-dependent code. - OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \ - opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \ -- hash-table.o file-find.o spellcheck.o selftest.o -+ hash-table.o file-find.o spellcheck.o - - # This lists all host objects for the front ends. - ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) -@@ -1865,10 +1864,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc - quickstrap: all - cd $(toplevel_builddir) && $(MAKE) all-target-libgcc - --all.internal: start.encap rest.encap doc selftest -+all.internal: start.encap rest.encap doc - # This is what to compile if making a cross-compiler. - all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \ -- libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra -+ libgcc-support lang.all.cross doc @GENINSRC@ srcextra - # This is what must be made before installing GCC and converting libraries. - start.encap: native xgcc$(exeext) cpp$(exeext) specs \ - libgcc-support lang.start.encap @GENINSRC@ srcextra -@@ -1888,41 +1887,6 @@ endif - # This does the things that can't be done on the host machine. - rest.cross: specs - --# GCC's selftests. --# Specify a dummy input file to placate the driver. --# Specify -nostdinc to work around missing WIND_BASE environment variable --# required for *-wrs-vxworks-* targets. --# Specify -o /dev/null so the output of -S is discarded. More importantly --# It does not try to create a file with the name "null.s" on POSIX and --# "nul.s" on Windows. Because on Windows "nul" is a reserved file name. --# Specify the path to gcc/testsuite/selftests within the srcdir --# as an argument to -fself-test. --SELFTEST_FLAGS = -nostdinc -x c /dev/null -S -o /dev/null \ -- -fself-test=$(srcdir)/testsuite/selftests -- --# Run the selftests during the build once we have a driver and a cc1, --# so that self-test failures are caught as early as possible. --# Use "s-selftest" to ensure that we only run the selftests if the --# driver, cc1, or selftest data change. --.PHONY: selftest --selftest: s-selftest --s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs \ -- $(srcdir)/testsuite/selftests -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) -- $(STAMP) $@ -- --# Convenience method for running selftests under gdb: --.PHONY: selftest-gdb --selftest-gdb: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ -- -wrapper gdb,--args -- --# Convenience method for running selftests under valgrind: --.PHONY: selftest-valgrind --selftest-valgrind: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ -- -wrapper valgrind,--leak-check=full -- - # Recompile all the language-independent object files. - # This is used only if the user explicitly asks for it. - compilations: $(BACKEND) -@@ -2076,7 +2040,7 @@ gcc-nm.c: gcc-ar.c - cp $^ $@ - - COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \ -- collect-utils.o file-find.o hash-table.o selftest.o -+ collect-utils.o file-find.o hash-table.o - COLLECT2_LIBS = @COLLECT2_LIBS@ - collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS) - # Don't try modifying collect2 (aka ld) in place--it might be linking this. --- -2.9.3 - diff --git a/package/gcc/7.3.0/0100-uclibc-conf.patch b/package/gcc/7.4.0/0100-uclibc-conf.patch similarity index 100% rename from package/gcc/7.3.0/0100-uclibc-conf.patch rename to package/gcc/7.4.0/0100-uclibc-conf.patch diff --git a/package/gcc/7.3.0/0810-arm-softfloat-libgcc.patch b/package/gcc/7.4.0/0810-arm-softfloat-libgcc.patch similarity index 100% rename from package/gcc/7.3.0/0810-arm-softfloat-libgcc.patch rename to package/gcc/7.4.0/0810-arm-softfloat-libgcc.patch diff --git a/package/gcc/7.3.0/0860-cilk-fix-build-without-wchar.patch b/package/gcc/7.4.0/0860-cilk-fix-build-without-wchar.patch similarity index 100% rename from package/gcc/7.3.0/0860-cilk-fix-build-without-wchar.patch rename to package/gcc/7.4.0/0860-cilk-fix-build-without-wchar.patch diff --git a/package/gcc/7.3.0/0892-microblaze-Revert.patch b/package/gcc/7.4.0/0892-microblaze-Revert.patch similarity index 96% rename from package/gcc/7.3.0/0892-microblaze-Revert.patch rename to package/gcc/7.4.0/0892-microblaze-Revert.patch index 7026d0efe1..f7ea1e8382 100644 --- a/package/gcc/7.3.0/0892-microblaze-Revert.patch +++ b/package/gcc/7.4.0/0892-microblaze-Revert.patch @@ -14,6 +14,7 @@ Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248540 138bc75d-0d04-0410-961f-82ee72b054a4 Signed-off-by: Waldemar Brodkorb +Signed-off-by: Romain Naour diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h index 66e4ef5..2c9ece1 100644 --- a/gcc/config/microblaze/microblaze.h diff --git a/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch b/package/gcc/7.4.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch similarity index 97% rename from package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch rename to package/gcc/7.4.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch index 37acc8b651..fb8509fae7 100644 --- a/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch +++ b/package/gcc/7.4.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch @@ -38,11 +38,11 @@ with the first arm-specific C++ tests (in that directory). * g++.target/arm/arm.exp: New file. * g++.target/arm/pr81497.C: Likewise. - git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261191 138bc75d-0d04-0410-961f-82ee72b054a4 Upstream-Status: Merged (gcc-8-branch) Signed-off-by: Gaël PORTAY [gportay: drop gcc/{,testsuite/}ChangeLog changes] +Signed-off-by: Romain Naour --- gcc/config/arm/arm-builtins.c | 42 +++++++++++++--------- gcc/config/arm/arm_acle.h | 28 +++++++-------- @@ -56,7 +56,7 @@ diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c index 7fde7a04672..183a7b907f6 100644 --- a/gcc/config/arm/arm-builtins.c +++ b/gcc/config/arm/arm-builtins.c -@@ -78,7 +78,11 @@ enum arm_type_qualifiers +@@ -75,7 +75,11 @@ enum arm_type_qualifiers /* Lane indices - must be within range of previous argument = a vector. */ qualifier_lane_index = 0x200, /* Lane indices for single lane structure loads and stores. */ @@ -69,7 +69,7 @@ index 7fde7a04672..183a7b907f6 100644 }; /* The qualifier_internal allows generation of a unary builtin from -@@ -202,7 +206,7 @@ arm_cdp_qualifiers[SIMD_MAX_BUILTIN_ARGS] +@@ -185,7 +189,7 @@ arm_cdp_qualifiers[SIMD_MAX_BUILTIN_ARGS] static enum arm_type_qualifiers arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS] = { qualifier_void, qualifier_unsigned_immediate, @@ -78,7 +78,7 @@ index 7fde7a04672..183a7b907f6 100644 #define LDC_QUALIFIERS \ (arm_ldc_qualifiers) -@@ -210,7 +214,7 @@ arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS] +@@ -193,7 +197,7 @@ arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS] static enum arm_type_qualifiers arm_stc_qualifiers[SIMD_MAX_BUILTIN_ARGS] = { qualifier_void, qualifier_unsigned_immediate, @@ -87,7 +87,7 @@ index 7fde7a04672..183a7b907f6 100644 #define STC_QUALIFIERS \ (arm_stc_qualifiers) -@@ -1095,19 +1099,25 @@ arm_init_builtin (unsigned int fcode, arm_builtin_datum *d, +@@ -1079,19 +1083,25 @@ arm_init_builtin (unsigned int fcode, arm_builtin_datum *d, if (qualifiers & qualifier_pointer && VECTOR_MODE_P (op_mode)) op_mode = GET_MODE_INNER (op_mode); diff --git a/package/gcc/7.4.0/1001-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch b/package/gcc/7.4.0/1001-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch new file mode 100644 index 0000000000..accaf0214d --- /dev/null +++ b/package/gcc/7.4.0/1001-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch @@ -0,0 +1,31 @@ +From 6ea832d09415cd82b744d0cf168cdd728c43df47 Mon Sep 17 00:00:00 2001 +From: Mark Corbin +Date: Thu, 22 Nov 2018 12:19:11 +0000 +Subject: [PATCH] gcc: define _REENTRANT for RISC-V when -pthread is passed + +The detection of pthread support fails on RISC-V unless _REENTRANT +is defined. Added the CPP_SPEC definition from gcc 8.1.0 to correct +this. + +Signed-off-by: Mark Corbin +Signed-off-by: Romain Naour +--- + gcc/config/riscv/linux.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h +index 4b2f7b6e1fd..b00d23ddfa0 100644 +--- a/gcc/config/riscv/linux.h ++++ b/gcc/config/riscv/linux.h +@@ -47,6 +47,8 @@ along with GCC; see the file COPYING3. If not see + + #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" + ++#define CPP_SPEC "%{pthread:-D_REENTRANT}" ++ + #define LINK_SPEC "\ + -melf" XLEN_SPEC "lriscv \ + %{shared} \ +-- +2.19.1 + diff --git a/package/gcc/8.2.0/0001-uclibc-conf.patch b/package/gcc/8.2.0/0001-uclibc-conf.patch deleted file mode 100644 index dc223f9653..0000000000 --- a/package/gcc/8.2.0/0001-uclibc-conf.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 897881dfdf6a922957c40cbbe9f96bbbe5374770 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 2 May 2017 22:36:15 +0200 -Subject: [PATCH] uclibc-conf - -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - contrib/regression/objs-gcc.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh -index 60b0497fea2..6dc7eadff36 100755 ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ] - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 --- -2.14.3 - diff --git a/package/gcc/8.2.0/0002-arm-softfloat-libgcc.patch b/package/gcc/8.2.0/0002-arm-softfloat-libgcc.patch deleted file mode 100644 index a72e57dff4..0000000000 --- a/package/gcc/8.2.0/0002-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,45 +0,0 @@ -From b05e2b0942d49f9611a92fd2bb2b292f3d486285 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 2 May 2017 22:46:18 +0200 -Subject: [PATCH] arm softfloat libgcc - -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - gcc/config/arm/linux-elf.h | 2 +- - libgcc/config/arm/t-linux | 7 ++++++- - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h -index cfcd9cb1a5c..b8a9a9ca4ae 100644 ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -58,7 +58,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - -diff --git a/libgcc/config/arm/t-linux b/libgcc/config/arm/t-linux -index 3d520decafb..e7bc042d4e4 100644 ---- a/libgcc/config/arm/t-linux -+++ b/libgcc/config/arm/t-linux -@@ -1,6 +1,11 @@ - LIB1ASMSRC = arm/lib1funcs.S - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 -+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # Just for these, we omit the frame pointer since it makes such a big - # difference. --- -2.14.3 - diff --git a/package/gcc/8.2.0/0003-remove-selftests.patch b/package/gcc/8.2.0/0003-remove-selftests.patch deleted file mode 100644 index 83bd9f26db..0000000000 --- a/package/gcc/8.2.0/0003-remove-selftests.patch +++ /dev/null @@ -1,149 +0,0 @@ -From dd29f38f3271bad3f0209113158c89dd8738a274 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 3 May 2017 00:37:06 +0200 -Subject: [PATCH] remove selftests - -When the gcc archive is extracted by the gcc.mk, the gcc/testsuite -is excluded: - -HOST_GCC_EXCLUDES = \ - libjava/* libgo/* \ - gcc/testsuite/* libstdc++-v3/testsuite/* - -The new Makefile target from the "Selftest framework" [1] added a dependency -on the gcc/testsuite/Makefile. -Revert partially the commit [1] to allow building gcc without selftest. - -[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9 - -[Rebased on gcc 8.1] -Signed-off-by: Romain Naour ---- - gcc/Makefile.in | 83 ++++----------------------------------------------------- - 1 file changed, 5 insertions(+), 78 deletions(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 20bee0494b1..1ae5fb382b5 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -1610,14 +1610,13 @@ OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \ - edit-context.o \ - pretty-print.o intl.o \ - sbitmap.o \ -- vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \ -- selftest.o selftest-diagnostic.o -+ vec.o input.o version.o hash-table.o ggc-none.o memory-block.o - - # Objects in libcommon-target.a, used by drivers and by the core - # compiler and containing target-dependent code. - OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \ - opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \ -- hash-table.o file-find.o spellcheck.o selftest.o -+ hash-table.o file-find.o spellcheck.o - - # This lists all host objects for the front ends. - ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) -@@ -1894,10 +1893,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc - quickstrap: all - cd $(toplevel_builddir) && $(MAKE) all-target-libgcc - --all.internal: start.encap rest.encap doc selftest -+all.internal: start.encap rest.encap doc - # This is what to compile if making a cross-compiler. - all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \ -- libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra -+ libgcc-support lang.all.cross doc @GENINSRC@ srcextra - # This is what must be made before installing GCC and converting libraries. - start.encap: native xgcc$(exeext) cpp$(exeext) specs \ - libgcc-support lang.start.encap @GENINSRC@ srcextra -@@ -1917,78 +1916,6 @@ endif - # This does the things that can't be done on the host machine. - rest.cross: specs - --# GCC's selftests. --# Specify a dummy input file to placate the driver. --# Specify -nostdinc to work around missing WIND_BASE environment variable --# required for *-wrs-vxworks-* targets. --# Specify -o /dev/null so the output of -S is discarded. More importantly --# It does not try to create a file with the name "null.s" on POSIX and --# "nul.s" on Windows. Because on Windows "nul" is a reserved file name. --# Beware that /dev/null is not available to mingw tools, so directly use --# "nul" instead of "/dev/null" if we're building on a mingw machine. --# Specify the path to gcc/testsuite/selftests within the srcdir --# as an argument to -fself-test. --DEVNULL=$(if $(findstring mingw,$(build)),nul,/dev/null) --SELFTEST_FLAGS = -nostdinc $(DEVNULL) -S -o $(DEVNULL) \ -- -fself-test=$(srcdir)/testsuite/selftests -- --C_SELFTEST_FLAGS = -xc $(SELFTEST_FLAGS) --CPP_SELFTEST_FLAGS = -xc++ $(SELFTEST_FLAGS) -- --SELFTEST_DEPS = $(GCC_PASSES) stmp-int-hdrs $(srcdir)/testsuite/selftests -- --C_SELFTEST_DEPS = cc1$(exeext) $(SELFTEST_DEPS) --CPP_SELFTEST_DEPS = cc1plus$(exeext) $(SELFTEST_DEPS) -- --# Run the selftests during the build once we have a driver and the frontend, --# so that self-test failures are caught as early as possible. --# Use "s-selftest-FE" to ensure that we only run the selftests if the --# driver, frontend, or selftest data change. --.PHONY: selftest -- --# By default, only run the selftests within the C frontend --selftest: s-selftest-c -- --# C selftests --s-selftest-c: $(C_SELFTEST_DEPS) -- $(GCC_FOR_TARGET) $(C_SELFTEST_FLAGS) -- $(STAMP) $@ -- --# Convenience methods for running C selftests under gdb: --.PHONY: selftest-c-gdb --selftest-c-gdb: $(C_SELFTEST_DEPS) -- $(GCC_FOR_TARGET) $(C_SELFTEST_FLAGS) \ -- -wrapper gdb,--args -- --.PHONY: selftest-gdb --selftest-gdb: selftest-c-gdb -- --# Convenience methods for running C selftests under valgrind: --.PHONY: selftest-c-valgrind --selftest-c-valgrind: $(C_SELFTEST_DEPS) -- $(GCC_FOR_TARGET) $(C_SELFTEST_FLAGS) \ -- -wrapper valgrind,--leak-check=full -- --.PHONY: selftest-valgrind --selftest-valgrind: selftest-c-valgrind -- --# C++ selftests --s-selftest-c++: $(CPP_SELFTEST_DEPS) -- $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS) -- $(STAMP) $@ -- --# Convenience method for running C++ selftests under gdb: --.PHONY: selftest-c++-gdb --selftest-c++-gdb: $(CPP_SELFTEST_DEPS) -- $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS) \ -- -wrapper gdb,--args -- --# Convenience method for running C++ selftests under valgrind: --.PHONY: selftest-c++-valgrind --selftest-c++-valgrind: $(CPP_SELFTEST_DEPS) -- $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS) \ -- -wrapper valgrind,--leak-check=full -- - # Recompile all the language-independent object files. - # This is used only if the user explicitly asks for it. - compilations: $(BACKEND) -@@ -2142,7 +2069,7 @@ gcc-nm.c: gcc-ar.c - cp $^ $@ - - COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \ -- collect-utils.o file-find.o hash-table.o selftest.o -+ collect-utils.o file-find.o hash-table.o - COLLECT2_LIBS = @COLLECT2_LIBS@ - collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS) - # Don't try modifying collect2 (aka ld) in place--it might be linking this. --- -2.14.3 - diff --git a/package/gcc/8.2.0/0004-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch b/package/gcc/8.2.0/0004-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch deleted file mode 100644 index d62d7c1566..0000000000 --- a/package/gcc/8.2.0/0004-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6765eecde2ed8d4be0fc217408b9e9b92a840aff Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 4 Sep 2018 00:39:32 -0700 -Subject: [PATCH] gcc: xtensa: fix NAND code in xtensa_expand_atomic - -NAND is ~(a1 & a2), but xtensa_expand_atomic does ~a1 & a2. -That fixes libatomic tests atomic-op-{1,2}. - -gcc/ -2018-09-04 Max Filippov - - * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and - XOR operations in NAND case. - -Signed-off-by: Max Filippov -Backported from: r264087 ---- - gcc/config/xtensa/xtensa.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index 7cfe64d42895..080bb4ad765d 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1614,9 +1614,9 @@ xtensa_expand_atomic (enum rtx_code code, rtx target, rtx mem, rtx val, - break; - - case MULT: /* NAND */ -- tmp = expand_simple_binop (SImode, XOR, old, ac.modemask, -+ tmp = expand_simple_binop (SImode, AND, old, val, - NULL_RTX, 1, OPTAB_DIRECT); -- tmp = expand_simple_binop (SImode, AND, tmp, val, -+ tmp = expand_simple_binop (SImode, XOR, tmp, ac.modemask, - new_rtx, 1, OPTAB_DIRECT); - break; - --- -2.11.0 - diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index 5a8f684a4c..8ec406a117 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -9,10 +9,10 @@ choice Select the version of gcc you wish to use. config BR2_GCC_VERSION_ARC - bool "gcc arc (7.x)" + bool "gcc arc (8.x)" # Only supported architecture depends on BR2_arc - select BR2_TOOLCHAIN_GCC_AT_LEAST_7 + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 config BR2_GCC_VERSION_OR1K bool "gcc or1k (5.x)" @@ -72,18 +72,20 @@ config BR2_GCC_VERSION_8_X endchoice -config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE +# libcilkrts was introduced in gcc 4.9 (oldest gcc version we +# support), and removed in gcc 8.x +config BR2_GCC_SUPPORTS_LIBCILKRTS bool - default y + default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8 config BR2_GCC_VERSION string default "4.9.4" if BR2_GCC_VERSION_4_9_X default "5.5.0" if BR2_GCC_VERSION_5_X - default "6.4.0" if BR2_GCC_VERSION_6_X - default "7.3.0" if BR2_GCC_VERSION_7_X - default "8.2.0" if BR2_GCC_VERSION_8_X - default "arc-2018.03" if BR2_GCC_VERSION_ARC + default "6.5.0" if BR2_GCC_VERSION_6_X + default "7.4.0" if BR2_GCC_VERSION_7_X + default "8.3.0" if BR2_GCC_VERSION_8_X + default "arc-2018.09-release" if BR2_GCC_VERSION_ARC default "or1k-musl-5.4.0-20170218" if BR2_GCC_VERSION_OR1K config BR2_EXTRA_GCC_CONFIG_OPTIONS diff --git a/package/gcc/arc-2018.03/0860-cilk-fix-build-without-wchar.patch b/package/gcc/arc-2018.03/0860-cilk-fix-build-without-wchar.patch deleted file mode 100644 index 61ab01c713..0000000000 --- a/package/gcc/arc-2018.03/0860-cilk-fix-build-without-wchar.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 714739e69ead1d9823233af40645277f6d4633ea Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Tue, 2 May 2017 23:21:46 +0200 -Subject: [PATCH] cilk: fix build without wchar - -When building against uClibc with wchar support disabled, WCHAR_MIN and -WCHAR_MAX are not defined leading to compilation errors. - -Fix it by only including the wchar code if available. - -Signed-off-by: Peter Korsgaard -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/libcilkrts/include/cilk/reducer_min_max.h b/libcilkrts/include/cilk/reducer_min_max.h -index 641aa82..4f8e010 100644 ---- a/libcilkrts/include/cilk/reducer_min_max.h -+++ b/libcilkrts/include/cilk/reducer_min_max.h -@@ -3289,7 +3289,9 @@ __CILKRTS_BEGIN_EXTERN_C - CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) -@@ -3441,7 +3443,9 @@ __CILKRTS_BEGIN_EXTERN_C - CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) -@@ -3567,7 +3571,9 @@ __CILKRTS_BEGIN_EXTERN_C - CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) -@@ -3719,7 +3725,9 @@ __CILKRTS_BEGIN_EXTERN_C - CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) --- -2.9.3 - diff --git a/package/gcc/arc-2018.03/0900-remove-selftests.patch b/package/gcc/arc-2018.03/0900-remove-selftests.patch deleted file mode 100644 index a3bc7a5730..0000000000 --- a/package/gcc/arc-2018.03/0900-remove-selftests.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 3 May 2017 00:37:06 +0200 -Subject: [PATCH] remove selftests - -When the gcc archive is extracted by the gcc.mk, the gcc/testsuite -is excluded: - -HOST_GCC_EXCLUDES = \ - libjava/* libgo/* \ - gcc/testsuite/* libstdc++-v3/testsuite/* - -The new Makefile target from the "Selftest framework" [1] added a dependency -on the gcc/testsuite/Makefile. -Revert partially the commit [1] to allow building gcc without selftest. - -[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9 - -Signed-off-by: Romain Naour ---- - gcc/Makefile.in | 46 +++++----------------------------------------- - 1 file changed, 5 insertions(+), 41 deletions(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 74d1912..652a554 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -1581,14 +1581,13 @@ OBJS = \ - OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \ - edit-context.o \ - pretty-print.o intl.o \ -- vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \ -- selftest.o -+ vec.o input.o version.o hash-table.o ggc-none.o memory-block.o - - # Objects in libcommon-target.a, used by drivers and by the core - # compiler and containing target-dependent code. - OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \ - opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \ -- hash-table.o file-find.o spellcheck.o selftest.o -+ hash-table.o file-find.o spellcheck.o - - # This lists all host objects for the front ends. - ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) -@@ -1865,10 +1864,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc - quickstrap: all - cd $(toplevel_builddir) && $(MAKE) all-target-libgcc - --all.internal: start.encap rest.encap doc selftest -+all.internal: start.encap rest.encap doc - # This is what to compile if making a cross-compiler. - all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \ -- libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra -+ libgcc-support lang.all.cross doc @GENINSRC@ srcextra - # This is what must be made before installing GCC and converting libraries. - start.encap: native xgcc$(exeext) cpp$(exeext) specs \ - libgcc-support lang.start.encap @GENINSRC@ srcextra -@@ -1888,41 +1887,6 @@ endif - # This does the things that can't be done on the host machine. - rest.cross: specs - --# GCC's selftests. --# Specify a dummy input file to placate the driver. --# Specify -nostdinc to work around missing WIND_BASE environment variable --# required for *-wrs-vxworks-* targets. --# Specify -o /dev/null so the output of -S is discarded. More importantly --# It does not try to create a file with the name "null.s" on POSIX and --# "nul.s" on Windows. Because on Windows "nul" is a reserved file name. --# Specify the path to gcc/testsuite/selftests within the srcdir --# as an argument to -fself-test. --SELFTEST_FLAGS = -nostdinc -x c /dev/null -S -o /dev/null \ -- -fself-test=$(srcdir)/testsuite/selftests -- --# Run the selftests during the build once we have a driver and a cc1, --# so that self-test failures are caught as early as possible. --# Use "s-selftest" to ensure that we only run the selftests if the --# driver, cc1, or selftest data change. --.PHONY: selftest --selftest: s-selftest --s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs \ -- $(srcdir)/testsuite/selftests -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) -- $(STAMP) $@ -- --# Convenience method for running selftests under gdb: --.PHONY: selftest-gdb --selftest-gdb: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ -- -wrapper gdb,--args -- --# Convenience method for running selftests under valgrind: --.PHONY: selftest-valgrind --selftest-valgrind: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ -- -wrapper valgrind,--leak-check=full -- - # Recompile all the language-independent object files. - # This is used only if the user explicitly asks for it. - compilations: $(BACKEND) -@@ -2076,7 +2040,7 @@ gcc-nm.c: gcc-ar.c - cp $^ $@ - - COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \ -- collect-utils.o file-find.o hash-table.o selftest.o -+ collect-utils.o file-find.o hash-table.o - COLLECT2_LIBS = @COLLECT2_LIBS@ - collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS) - # Don't try modifying collect2 (aka ld) in place--it might be linking this. --- -2.9.3 - diff --git a/package/gcc/arc-2018.03/0100-uclibc-conf.patch b/package/gcc/arc-2018.09-release/0100-uclibc-conf.patch similarity index 100% rename from package/gcc/arc-2018.03/0100-uclibc-conf.patch rename to package/gcc/arc-2018.09-release/0100-uclibc-conf.patch diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index 1be0b9bfc9..49f16f699e 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -15,7 +15,6 @@ HOST_GCC_FINAL_DEPENDENCIES = \ $(BR_LIBC) HOST_GCC_FINAL_EXCLUDES = $(HOST_GCC_EXCLUDES) -HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT @@ -69,13 +68,17 @@ HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib* # doesn't use floating point operations. ifeq ($(BR2_sh4)$(BR2_sh4eb),y) HOST_GCC_FINAL_CONF_OPTS += "--with-multilib-list=m4,m4-nofpu" +# check-package OverriddenVariable HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib/!m4* endif ifeq ($(BR2_sh4a)$(BR2_sh4aeb),y) HOST_GCC_FINAL_CONF_OPTS += "--with-multilib-list=m4a,m4a-nofpu" +# check-package OverriddenVariable HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib/!m4* endif +ifeq ($(BR2_GCC_SUPPORTS_LIBCILKRTS),y) + # libcilkrts does not support v8 ifeq ($(BR2_sparc),y) HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts @@ -86,10 +89,16 @@ ifeq ($(BR2_PTHREADS_NONE),y) HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts endif -# Disable shared libs like libstdc++ if we do static since it confuses linking -# In that case also disable libcilkrts as there is no static version ifeq ($(BR2_STATIC_LIBS),y) -HOST_GCC_FINAL_CONF_OPTS += --disable-shared --disable-libcilkrts +# disable libcilkrts as there is no static version +HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts +endif + +endif # BR2_GCC_SUPPORTS_LIBCILKRTS + +# Disable shared libs like libstdc++ if we do static since it confuses linking +ifeq ($(BR2_STATIC_LIBS),y) +HOST_GCC_FINAL_CONF_OPTS += --disable-shared else HOST_GCC_FINAL_CONF_OPTS += --enable-shared endif diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk index 9b20eb18f9..1decca8259 100644 --- a/package/gcc/gcc-initial/gcc-initial.mk +++ b/package/gcc/gcc-initial/gcc-initial.mk @@ -16,7 +16,6 @@ HOST_GCC_INITIAL_DL_SUBDIR = gcc HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES) HOST_GCC_INITIAL_EXCLUDES = $(HOST_GCC_EXCLUDES) -HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT @@ -45,13 +44,8 @@ HOST_GCC_INITIAL_CONF_OPTS = \ HOST_GCC_INITIAL_CONF_ENV = \ $(HOST_GCC_COMMON_CONF_ENV) -HOST_GCC_INITIAL_MAKE_OPTS = $(HOST_GCC_COMMON_MAKE_OPTS) all-gcc -HOST_GCC_INITIAL_INSTALL_OPTS = install-gcc - -ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y) -HOST_GCC_INITIAL_MAKE_OPTS += all-target-libgcc -HOST_GCC_INITIAL_INSTALL_OPTS += install-target-libgcc -endif +HOST_GCC_INITIAL_MAKE_OPTS = $(HOST_GCC_COMMON_MAKE_OPTS) all-gcc all-target-libgcc +HOST_GCC_INITIAL_INSTALL_OPTS = install-gcc install-target-libgcc HOST_GCC_INITIAL_TOOLCHAIN_WRAPPER_ARGS += $(HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS) HOST_GCC_INITIAL_POST_BUILD_HOOKS += TOOLCHAIN_WRAPPER_BUILD diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index 079bf7a2f6..4f1e7f932f 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -2,14 +2,14 @@ sha512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe gcc-4.9.4.tar.bz2 # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.5.0/sha512.sum sha512 670ff52c2ae12c7852c12987e91798c5aa8bd6daf21f0d6e0cd57a4aa59cc4f06a837fe76426eaa1424cfddca937bed377680700eadc04d76b9180d462364fa1 gcc-5.5.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.4.0/sha512.sum -sha512 02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90 gcc-6.4.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.3.0/sha512.sum -sha512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4 gcc-7.3.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.2.0/sha512.sum -sha512 64898a165f67e136d802a92e7633bf1b06c85266027e52127ea025bf5fc2291b5e858288aac0bdba246e6cdf7c6ec88bc8e0e7f3f6f1985f4297710cafde56ed gcc-8.2.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.5.0/sha512.sum +sha512 ce046f9a50050fd54b870aab764f7db187fe7ea92eb4aaffb7c3689ca623755604e231f2af97ef795f41c406bb80c797dd69957cfdd51dfa2ba60813f72b7eac gcc-6.5.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.4.0/sha512.sum +sha512 8864d8e4b97c2e1a4f17422f6e68120172ebefeab97b1757734f7185ca68a6b9a89011c6833c03fa454c17b0ac35b15e1d284881e6971035948ac6100f3aa45e gcc-7.4.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.3.0/sha512.sum +sha512 1811337ae3add9680cec64968a2509d085b6dc5b6783fc1e8c295e3e47416196fd1a3ad8dfe7e10be2276b4f62c357659ce2902f239f60a8648548231b4b5802 gcc-8.3.0.tar.xz # Locally calculated (fetched from Github) -sha512 7c6555d629957d154c9c0524fc2c82301c9ab9192f5b9175c47b1f2dde298ac032e86360d91866c3c4d001cf8e191a90dc88f3c900ebfc367c5888ab7bf2ce79 gcc-arc-2018.03.tar.gz +sha512 4d12c3ac27b9de9c533be3b8964cf23d21bf6933b5073183e1affe714b0ff33f9d6169e3b55a5c505d7dae33c9bb4f8b0d110461e3a124182d8c8d51b66b8e45 gcc-arc-2018.09-release.tar.gz # Locally calculated (fetched from Github) sha512 2de7cf47333a4092b02d3bb98f4206f14966f1d139a724d09cf3b22f8a43ae0c704f33e6477d6367a03c29b265480dc900169e9d417006c5d46f0ae446b8c6f1 gcc-or1k-musl-5.4.0-20170218.tar.gz diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 1ae9b7edd9..5901624ea5 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -62,14 +62,7 @@ define HOST_GCC_APPLY_PATCHES endef HOST_GCC_EXCLUDES = \ - libjava/* libgo/* \ - gcc/testsuite/* libstdc++-v3/testsuite/* - -define HOST_GCC_FAKE_TESTSUITE - mkdir -p $(@D)/libstdc++-v3/testsuite/ - echo "all:" > $(@D)/libstdc++-v3/testsuite/Makefile.in - echo "install:" >> $(@D)/libstdc++-v3/testsuite/Makefile.in -endef + libjava/* libgo/* # # Create 'build' directory and configure symlink @@ -94,10 +87,11 @@ HOST_GCC_COMMON_DEPENDENCIES = \ HOST_GCC_COMMON_CONF_OPTS = \ --target=$(GNU_TARGET_NAME) \ --with-sysroot=$(STAGING_DIR) \ - --disable-__cxa_atexit \ + --enable-__cxa_atexit \ --with-gnu-ld \ --disable-libssp \ --disable-multilib \ + --disable-decimal-float \ --with-gmp=$(HOST_DIR) \ --with-mpc=$(HOST_DIR) \ --with-mpfr=$(HOST_DIR) \ @@ -195,44 +189,33 @@ HOST_GCC_COMMON_CONF_OPTS += --with-float=soft endif endif -ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y) -HOST_GCC_COMMON_CONF_OPTS += --disable-decimal-float -endif - # Determine arch/tune/abi/cpu options -ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),) -HOST_GCC_COMMON_CONF_OPTS += --with-arch=$(BR2_GCC_TARGET_ARCH) +ifneq ($(GCC_TARGET_ARCH),) +HOST_GCC_COMMON_CONF_OPTS += --with-arch="$(GCC_TARGET_ARCH)" endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),) -HOST_GCC_COMMON_CONF_OPTS += --with-abi=$(BR2_GCC_TARGET_ABI) +ifneq ($(GCC_TARGET_ABI),) +HOST_GCC_COMMON_CONF_OPTS += --with-abi="$(GCC_TARGET_ABI)" endif ifeq ($(BR2_TOOLCHAIN_HAS_MNAN_OPTION),y) -ifneq ($(call qstrip,$(BR2_GCC_TARGET_NAN)),) -HOST_GCC_COMMON_CONF_OPTS += --with-nan=$(BR2_GCC_TARGET_NAN) +ifneq ($(GCC_TARGET_NAN),) +HOST_GCC_COMMON_CONF_OPTS += --with-nan="$(GCC_TARGET_NAN)" endif endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_FP32_MODE)),) -HOST_GCC_COMMON_CONF_OPTS += --with-fp-32=$(BR2_GCC_TARGET_FP32_MODE) -endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),) -ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) -HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_GCC_TARGET_CPU_REVISION)) -else -HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(call qstrip,$(BR2_GCC_TARGET_CPU)) +ifneq ($(GCC_TARGET_FP32_MODE),) +HOST_GCC_COMMON_CONF_OPTS += --with-fp-32="$(GCC_TARGET_FP32_MODE)" endif +ifneq ($(GCC_TARGET_CPU),) +HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(GCC_TARGET_CPU) endif -GCC_TARGET_FPU = $(call qstrip,$(BR2_GCC_TARGET_FPU)) ifneq ($(GCC_TARGET_FPU),) HOST_GCC_COMMON_CONF_OPTS += --with-fpu=$(GCC_TARGET_FPU) endif -GCC_TARGET_FLOAT_ABI = $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) ifneq ($(GCC_TARGET_FLOAT_ABI),) HOST_GCC_COMMON_CONF_OPTS += --with-float=$(GCC_TARGET_FLOAT_ABI) endif -GCC_TARGET_MODE = $(call qstrip,$(BR2_GCC_TARGET_MODE)) ifneq ($(GCC_TARGET_MODE),) HOST_GCC_COMMON_CONF_OPTS += --with-mode=$(GCC_TARGET_MODE) endif diff --git a/package/gdb/8.2.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/package/gdb/8.2.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch new file mode 100644 index 0000000000..1672ad2a15 --- /dev/null +++ b/package/gdb/8.2.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -0,0 +1,55 @@ +From 7dd846212d46b5d0930c938222181cd305254951 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 6 Aug 2016 17:32:50 -0700 +Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +Signed-off-by: Thomas Petazzoni +[Rebase on gdb 8.0] +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-ppc-low.c | 6 ++++++ + gdb/nat/ppc-linux.h | 6 ++++++ + 2 files changed, 12 insertions(+) + +diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c +index 47428c1529c..841a5e02b9d 100644 +--- a/gdb/gdbserver/linux-ppc-low.c ++++ b/gdb/gdbserver/linux-ppc-low.c +@@ -21,7 +21,13 @@ + #include "linux-low.h" + + #include ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + + #include "arch/ppc-linux-common.h" + #include "arch/ppc-linux-tdesc.h" +diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h +index 3d4d4fdc563..5b93af8d3a3 100644 +--- a/gdb/nat/ppc-linux.h ++++ b/gdb/nat/ppc-linux.h +@@ -18,7 +18,13 @@ + #ifndef PPC_LINUX_H + #define PPC_LINUX_H 1 + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++#endif + #include + + /* This sometimes isn't defined. */ +-- +2.14.4 + diff --git a/package/gdb/8.2.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/package/gdb/8.2.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch new file mode 100644 index 0000000000..ef2a94295c --- /dev/null +++ b/package/gdb/8.2.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -0,0 +1,43 @@ +From 6fade51aa4efd700e4a4054aaddb22eda0de7576 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 3 Jun 2017 21:23:52 +0200 +Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC + systems + +Fixes a pt_{dsp,}regs redefinition when building with the musl C library +on SuperH. + +Inspired by +http://git.yoctoproject.org/clean/cgit.cgi/poky/plain/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch, +adapted for SuperH. + +Signed-off-by: Thomas Petazzoni +[Rebase on gdb 8.0] +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-sh-low.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c +index 76876f08078..ec4491474ac 100644 +--- a/gdb/gdbserver/linux-sh-low.c ++++ b/gdb/gdbserver/linux-sh-low.c +@@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh; + #include + #endif + ++#if !defined(__GLIBC__) ++# define pt_regs uapi_pt_regs ++# define pt_dspregs uapi_pt_dspregs ++#endif + #include ++#if !defined(__GLIBC__) ++# undef pt_regs ++# undef pt_dspregs ++#endif + + #define sh_num_regs 41 + +-- +2.14.4 + diff --git a/package/gdb/8.2.1/0003-use-asm-sgidefs.h.patch b/package/gdb/8.2.1/0003-use-asm-sgidefs.h.patch new file mode 100644 index 0000000000..08146d3031 --- /dev/null +++ b/package/gdb/8.2.1/0003-use-asm-sgidefs.h.patch @@ -0,0 +1,40 @@ +From b286989e94e09c992462771cdbd3dc684f660b4f Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Sat, 30 Apr 2016 15:29:06 -0700 +Subject: [PATCH] use + +Build fix for MIPS with musl libc + +The MIPS specific header is provided by glibc and uclibc +but not by musl. Regardless of the libc, the kernel headers provide + which provides the same definitions, so use that +instead. + +Upstream-Status: Pending + +[Vincent: +Taken from: https://sourceware.org/bugzilla/show_bug.cgi?id=21070] + +Signed-off-by: Andre McCurdy +Signed-off-by: Khem Raj +Signed-off-by: Vicente Olivert Riera +--- + gdb/mips-linux-nat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c +index 21b1f583b92..de525ae6b01 100644 +--- a/gdb/mips-linux-nat.c ++++ b/gdb/mips-linux-nat.c +@@ -31,7 +31,7 @@ + #include "gdb_proc_service.h" + #include "gregset.h" + +-#include ++#include + #include "nat/gdb_ptrace.h" + #include + #include "inf-ptrace.h" +-- +2.14.4 + diff --git a/package/gdb/8.2.1/0004-gdbserver-fix-build-for-m68k.patch b/package/gdb/8.2.1/0004-gdbserver-fix-build-for-m68k.patch new file mode 100644 index 0000000000..c8f8ffb80c --- /dev/null +++ b/package/gdb/8.2.1/0004-gdbserver-fix-build-for-m68k.patch @@ -0,0 +1,62 @@ +From 69cbbbbbd425111428db5ae91767dae5436ba63d Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 22 Jun 2018 22:40:26 +0200 +Subject: [PATCH] gdbserver: fix build for m68k +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As for strace [1], when is included after , +the build fails on m68k with the following diagnostics: + +In file included from ./../nat/linux-ptrace.h:28:0, + from linux-low.h:27, + from linux-m68k-low.c:20: +[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant + PT_D1 = 0, + ^ +[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant +[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant +In file included from linux-m68k-low.c:27:0: +[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token + }; + ^ + +Fix this by moving on top of "linux-low.h". + +[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 + +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-m68k-low.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c +index 5594f10f927..19b4ef7b259 100644 +--- a/gdb/gdbserver/linux-m68k-low.c ++++ b/gdb/gdbserver/linux-m68k-low.c +@@ -17,16 +17,17 @@ + along with this program. If not, see . */ + + #include "server.h" ++ ++#ifdef HAVE_SYS_REG_H ++#include ++#endif ++ + #include "linux-low.h" + + /* Defined in auto-generated file reg-m68k.c. */ + void init_registers_m68k (void); + extern const struct target_desc *tdesc_m68k; + +-#ifdef HAVE_SYS_REG_H +-#include +-#endif +- + #define m68k_num_regs 29 + #define m68k_num_gregs 18 + +-- +2.14.4 + diff --git a/package/gdb/8.2.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/package/gdb/8.2.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch new file mode 100644 index 0000000000..a47dcf31e8 --- /dev/null +++ b/package/gdb/8.2.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch @@ -0,0 +1,51 @@ +From fa319a6202cfe6e0415d28d6995019b18c16cd60 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 24 Jun 2018 23:33:55 +0200 +Subject: [PATCH] nat/fork-inferior: include linux-ptrace.h + +To decide whether fork() or vfork() should be used, fork-inferior.c +uses the following test: + + #if !(defined(__UCLIBC__) && defined(HAS_NOMMU)) + +However, HAS_NOMMU is never defined, because it gets defined in +linux-ptrace.h, which is not included by fork-inferior.c. Due to this, +gdbserver fails to build on noMMU architectures. This commit fixes +that by simply including linux-ptrace.h. + +This bug was introduced by commit +2090129c36c7e582943b7d300968d19b46160d84 ("Share fork_inferior et al +with gdbserver"). Indeed, the same fork()/vfork() selection was done, +but in another file where linux-ptrace.h was included. + +Fixes the following build issue: + +../nat/fork-inferior.c: In function 'pid_t fork_inferior(const char*, const string&, char**, void (*)(), void (*)(int), void (*)(), const char*, void (*)(const char*, char* const*, char* const*))': +../nat/fork-inferior.c:376:11: error: 'fork' was not declared in this scope + pid = fork (); + ^~~~ +../nat/fork-inferior.c:376:11: note: suggested alternative: 'vfork' + pid = fork (); + ^~~~ + vfork + +Signed-off-by: Thomas Petazzoni +--- + gdb/nat/fork-inferior.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c +index ea71aad25f7..77b9e03878b 100644 +--- a/gdb/nat/fork-inferior.c ++++ b/gdb/nat/fork-inferior.c +@@ -26,6 +26,7 @@ + #include "common-gdbthread.h" + #include "signals-state-save-restore.h" + #include "gdb_tilde_expand.h" ++#include "linux-ptrace.h" + #include + + extern char **environ; +-- +2.14.4 + diff --git a/package/gdb/Config.in b/package/gdb/Config.in index 55c1b194ce..0c3465d145 100644 --- a/package/gdb/Config.in +++ b/package/gdb/Config.in @@ -20,6 +20,8 @@ config BR2_PACKAGE_GDB depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_PACKAGE_GDB_NEEDS_CXX11 depends on BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_GDB_NEEDS_CXX11 + # no gdbserver on riscv + select BR2_PACKAGE_GDB_DEBUGGER if BR2_riscv # When the external toolchain gdbserver is copied to the # target, we don't allow building a separate gdbserver. The # one from the external toolchain should be used. @@ -46,6 +48,7 @@ if BR2_PACKAGE_GDB config BR2_PACKAGE_GDB_SERVER bool "gdbserver" depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY + depends on !BR2_riscv help Build the gdbserver stub to run on the target. A full gdb is needed to debug the progam. diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host index fd05898345..969168ffa2 100644 --- a/package/gdb/Config.in.host +++ b/package/gdb/Config.in.host @@ -7,6 +7,7 @@ config BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS depends on !BR2_microblaze depends on !BR2_nios2 depends on !BR2_or1k + depends on !BR2_riscv comment "Host GDB Options" depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY @@ -45,7 +46,7 @@ config BR2_PACKAGE_HOST_GDB_SIM choice prompt "GDB debugger Version" - default BR2_GDB_VERSION_8_0 + default BR2_GDB_VERSION_8_1 depends on !BR2_arc help Select the version of gdb you wish to use. @@ -63,6 +64,11 @@ config BR2_GDB_VERSION_8_1 # Needs a C++11 compiler depends on BR2_HOST_GCC_AT_LEAST_4_8 +config BR2_GDB_VERSION_8_2 + bool "gdb 8.2.x" + # Needs a C++11 compiler + depends on BR2_HOST_GCC_AT_LEAST_4_8 + endchoice endif @@ -82,13 +88,15 @@ config BR2_PACKAGE_GDB_NEEDS_CXX11 default y if !BR2_PACKAGE_HOST_GDB default y if BR2_GDB_VERSION_8_0 default y if BR2_GDB_VERSION_8_1 + default y if BR2_GDB_VERSION_8_2 default y if BR2_arc # If cross-gdb is not enabled, the latest working version is chosen. config BR2_GDB_VERSION string - default "arc-2018.03-gdb" if BR2_arc + default "arc-2018.09-release-gdb" if BR2_arc default "7.12.1" if BR2_GDB_VERSION_7_12 - default "8.0.1" if BR2_GDB_VERSION_8_0 || !BR2_PACKAGE_HOST_GDB - default "8.1.1" if BR2_GDB_VERSION_8_1 + default "8.0.1" if BR2_GDB_VERSION_8_0 + default "8.1.1" if BR2_GDB_VERSION_8_1 || !BR2_PACKAGE_HOST_GDB + default "8.2.1" if BR2_GDB_VERSION_8_2 depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB diff --git a/package/gdb/arc-2018.09-gdb/0001-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-g.patch b/package/gdb/arc-2018.09-gdb/0001-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-g.patch new file mode 100644 index 0000000000..1ee39658f1 --- /dev/null +++ b/package/gdb/arc-2018.09-gdb/0001-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-g.patch @@ -0,0 +1,52 @@ +From e213d8e1b5317389c3beee648811bc649d62d743 Mon Sep 17 00:00:00 2001 +From: James Clarke +Date: Fri, 19 Jan 2018 17:22:49 +0000 +Subject: [PATCH] gdb: Fix ia64 defining TRAP_HWBKPT before including + gdb_wait.h + +On ia64, gdb_wait.h eventually includes siginfo-consts-arch.h, which +contains an enum with TRAP_HWBKPT, along with a #define. Thus we cannot +define TRAP_HWBKPT to 4 beforehand, and so gdb_wait.h must be included +earlier; include it from linux-ptrace.h so it can never come afterwards. + +gdb/ChangeLog: + + * nat/linux-ptrace.c: Remove unnecessary reinclusion of + gdb_ptrace.h, and move including gdb_wait.h ... + * nat/linux-ptrace.h: ... to here. + +[Backport from upstream 5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8] +Signed-off-by: Alexey Brodkin +--- + gdb/nat/linux-ptrace.c | 2 -- + gdb/nat/linux-ptrace.h | 1 + + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c +index 438177fa7622..1240eead0d50 100644 +--- a/gdb/nat/linux-ptrace.c ++++ b/gdb/nat/linux-ptrace.c +@@ -21,8 +21,6 @@ + #include "linux-procfs.h" + #include "linux-waitpid.h" + #include "buffer.h" +-#include "gdb_wait.h" +-#include "gdb_ptrace.h" + #ifdef HAVE_SYS_PROCFS_H + #include + #endif +diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h +index 59549452c099..6faa89b22a0e 100644 +--- a/gdb/nat/linux-ptrace.h ++++ b/gdb/nat/linux-ptrace.h +@@ -21,6 +21,7 @@ + struct buffer; + + #include "nat/gdb_ptrace.h" ++#include "gdb_wait.h" + + #ifdef __UCLIBC__ + #if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) +-- +2.19.2 + diff --git a/package/gdb/gdb.hash b/package/gdb/gdb.hash index f1424faaf2..1104da5dc4 100644 --- a/package/gdb/gdb.hash +++ b/package/gdb/gdb.hash @@ -2,6 +2,7 @@ sha512 0ac8d0a495103611ef41167a08313a010dce6ca4c6d827cbe8558a0c1a1a8a6bfa53f1b7704251289cababbfaaf9e075550cdf741a54d6cd9ca3433d910efcd8 gdb-7.12.1.tar.xz sha512 5eb328910033f0918058be2f92caebf1e8dfc6caa3c730d99d621627e53de3c1b43761c2f683d53555893253c2f06768cbf56cdea051a3d291ffb6cfae87b5e1 gdb-8.0.1.tar.xz sha512 7dcd5e8c90de92f577834d887b5f54edb93a07083bfe661bc46c270a6cc4919f0b348e7e2fe8ae4511298a570ef150eeefdc667ef7cf527f0cf60943177ab6c9 gdb-8.1.1.tar.xz +sha512 2aa81cfd389bb48c35d7d9f95cc10e88b4f7ad4597bdde0f8f1fd312f60f10d9fb2cc6e5a9355227d89ff328f7feb0fc411a69394560cafeb9fa75d35d896d11 gdb-8.2.1.tar.xz # Locally calculated (fetched from Github) -sha512 b17e4066730491f6a75b00eab78012f67cc445fe95ecd82c06cda7c1255190e6c471ac89b92f2fcdba4790b0046756b9cecf1f827537afcb44e1e578345852ad gdb-arc-2018.03-gdb.tar.gz +sha512 8303e399e396f5c15dc976e48503fc7d45a720dd1a470443f755c5f2458d092b4392e7ae582abc251bc4b43a778ad784f764286a2a05abfc1649cbeeeb6e7d15 gdb-arc-2018.09-release-gdb.tar.gz diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index 062f3a730c..a926961372 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -139,6 +139,11 @@ ifneq ($(BR2_INSTALL_LIBSTDCPP),y) GDB_CONF_OPTS += --disable-build-with-cxx endif +# inprocess-agent can't be built statically +ifeq ($(BR2_STATIC_LIBS),y) +GDB_CONF_OPTS += --disable-inprocess-agent +endif + ifeq ($(BR2_PACKAGE_GDB_TUI),y) GDB_CONF_OPTS += --enable-tui else diff --git a/package/geoip/geoip.hash b/package/geoip/geoip.hash index 2b1f7433c9..c2ddf390e6 100644 --- a/package/geoip/geoip.hash +++ b/package/geoip/geoip.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 b0e5a92200b5ab540d118983f7b7191caf4faf1ae879c44afa3ff2a2abcdb0f5 GeoIP-1.6.11.tar.gz +sha256 1dfb748003c5e4b7fd56ba8c4cd786633d5d6f409547584f6910398389636f80 GeoIP-1.6.12.tar.gz +sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/package/geoip/geoip.mk b/package/geoip/geoip.mk index 030c7b3683..cbd4282321 100644 --- a/package/geoip/geoip.mk +++ b/package/geoip/geoip.mk @@ -4,7 +4,7 @@ # ################################################################################ -GEOIP_VERSION = 1.6.11 +GEOIP_VERSION = 1.6.12 GEOIP_SOURCE = GeoIP-$(GEOIP_VERSION).tar.gz GEOIP_SITE = https://github.com/maxmind/geoip-api-c/releases/download/v$(GEOIP_VERSION) GEOIP_INSTALL_STAGING = YES diff --git a/package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch b/package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch new file mode 100644 index 0000000000..94f742c3f8 --- /dev/null +++ b/package/gerbera/0001-CMakeLists.txt-fix-static-build-with-curl-and-libidn.patch @@ -0,0 +1,41 @@ +From de0e7fe3b56cff79c11aedc89448814fab8d1877 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 8 Mar 2019 19:11:11 +0100 +Subject: [PATCH] MakeLists.txt: fix static build with curl and libidn2 + +curl can be statically linked with libidn2, in this case, build fails: +/accts/mlweber1/rclinux/rc-buildroot-test/scripts/instance-0/output/host/m68k-buildroot-linux-uclibc/sysroot/usr/lib/libcurl.a(libcurl_la-url.o): In function `free_idnconverted_hostname.isra.1': +url.c:(.text+0xf4): undefined reference to `idn2_free' + +To fix this issue, add a call to pkg_check_modules to retrieve any +needed dependencies + +Fixes: + - http://autobuild.buildroot.org/results/be5893b507d22a23951efeea20c18642742cef5a + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/gerbera/gerbera/pull/429] +--- + CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d0eed230..e6b62c96 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -443,7 +443,11 @@ if(WITH_MYSQL) + endif() + + if(WITH_CURL) +- find_package (CURL REQUIRED) ++ find_package(PkgConfig QUIET) ++ pkg_check_modules (CURL QUIET libcurl) ++ if (NOT CURL_FOUND) ++ find_package (CURL REQUIRED) ++ endif() + if (CURL_FOUND) + include_directories(${CURL_INCLUDE_DIRS}) + target_link_libraries (gerbera ${CURL_LIBRARIES}) +-- +2.20.1 + diff --git a/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch b/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch new file mode 100644 index 0000000000..b5f79173b6 --- /dev/null +++ b/package/gerbera/0002-cmake-FindFFMPEG-cmake-use-pkgconfig.patch @@ -0,0 +1,175 @@ +From fbbc07ce53e884b1603461ee5642d5f02788678d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 21 Mar 2019 16:32:44 +0100 +Subject: [PATCH] cmake/FindFFMPEG.cmake: use pkgconfig + +ffmpeg has too many optional dependencies (opus, openssl, ...) instead +of trying to find them all one by one, use pkg-config to get them and +fallback on current mechanism + +Fixes: + - http://autobuild.buildroot.org/results/2b99fabd798db84a0fce26ad696c58e54c6ff626 + - http://autobuild.buildroot.org/results/95e410e5ab34c6d4626a58f97c0d2d5e6829a300 + +Signed-off-by: Fabrice Fontaine +[Retrieved (and backported) from: +https://github.com/gerbera/gerbera/commit/fbbc07ce53e884b1603461ee5642d5f02788678d] +--- + cmake/FindFFMPEG.cmake | 147 +++++++++++++++++++++-------------------- + 1 file changed, 75 insertions(+), 72 deletions(-) + +diff --git a/cmake/FindFFMPEG.cmake b/cmake/FindFFMPEG.cmake +index 0a4a409f..9548b566 100644 +--- a/cmake/FindFFMPEG.cmake ++++ b/cmake/FindFFMPEG.cmake +@@ -82,70 +82,76 @@ ENDIF (NOT FFMPEG_INCLUDE_DIR) + # ffmpeg uses relative includes such as or + get_filename_component(FFMPEG_INCLUDE_DIR ${FFMPEG_INCLUDE_DIR} ABSOLUTE) + +-FIND_LIBRARY(FFMPEG_avformat_LIBRARY avformat +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_avcodec_LIBRARY avcodec +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_avutil_LIBRARY avutil +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_swresample_LIBRARY swresample +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_vorbis_LIBRARY vorbis +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_dc1394_LIBRARY dc1394_control +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_vorbisenc_LIBRARY vorbisenc +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_theora_LIBRARY theora +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_dts_LIBRARY dts +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_gsm_LIBRARY gsm +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_swscale_LIBRARY swscale +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_z_LIBRARY z +- /usr/local/lib +- /usr/lib +- ) +- +-FIND_LIBRARY(FFMPEG_bz2_LIBRARY bz2 +- /usr/local/lib +- /usr/lib +- ) ++CHECK_STRUCT_HAS_MEMBER("struct AVStream" codecpar libavformat/avformat.h HAVE_AVSTREAM_CODECPAR LANGUAGE C) ++ ++FIND_PACKAGE(PkgConfig QUIET) ++PKG_CHECK_MODULES(FFMPEG QUIET libavformat libavutil) ++IF (NOT FFMPEG_FOUND) ++ FIND_LIBRARY(FFMPEG_avformat_LIBRARY avformat ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_avcodec_LIBRARY avcodec ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_avutil_LIBRARY avutil ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_swresample_LIBRARY swresample ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_vorbis_LIBRARY vorbis ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_dc1394_LIBRARY dc1394_control ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_vorbisenc_LIBRARY vorbisenc ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_theora_LIBRARY theora ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_dts_LIBRARY dts ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_gsm_LIBRARY gsm ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_swscale_LIBRARY swscale ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_z_LIBRARY z ++ /usr/local/lib ++ /usr/lib ++ ) ++ ++ FIND_LIBRARY(FFMPEG_bz2_LIBRARY bz2 ++ /usr/local/lib ++ /usr/lib ++ ) ++ENDIF(NOT FFMPEG_FOUND) + + SET(FFMPEG_LIBRARIES) + IF (FFMPEG_INCLUDE_DIR) +@@ -205,9 +211,6 @@ IF (FFMPEG_INCLUDE_DIR) + ENDIF (FFMPEG_bz2_LIBRARY) + + SET(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE INTERNAL "All presently found FFMPEG libraries.") +- +- CHECK_STRUCT_HAS_MEMBER("struct AVStream" codecpar libavformat/avformat.h HAVE_AVSTREAM_CODECPAR LANGUAGE C) +- + ENDIF (FFMPEG_avutil_LIBRARY) + ENDIF (FFMPEG_avcodec_LIBRARY) + ENDIF (FFMPEG_avformat_LIBRARY) diff --git a/package/gerbera/0003-cmake-FindLibUpnp.cmake-fix-static-linking.patch b/package/gerbera/0003-cmake-FindLibUpnp.cmake-fix-static-linking.patch new file mode 100644 index 0000000000..510bf2837f --- /dev/null +++ b/package/gerbera/0003-cmake-FindLibUpnp.cmake-fix-static-linking.patch @@ -0,0 +1,44 @@ +From e2f8e6c30e43c1818a6677d17de87f53c9414405 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 2 Apr 2019 10:44:06 +0200 +Subject: [PATCH] cmake/FindLibUpnp.cmake: fix static linking + +Fix static linking with an openssl enabled upnp: + - remove libupnp-1.8 from pkg_check_modules call otherwise test will + fail if libupnp-1.8.pc is not found + - add PC_UPNP_LIBRARIES to UPNP_LIBRARIES + +Fixes: + - http://autobuild.buildroot.org/results/10098c8972725d54b717ddc8ea41f4de5e5b066d + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/gerbera/gerbera/pull/443] +--- + cmake/FindLibUpnp.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/FindLibUpnp.cmake b/cmake/FindLibUpnp.cmake +index ec198d4d..5d2b032d 100644 +--- a/cmake/FindLibUpnp.cmake ++++ b/cmake/FindLibUpnp.cmake +@@ -8,7 +8,7 @@ + # UPNP_HAS_REUSEADDR - If LinUPnP was built with SO_REUSEADDR support + + find_package(PkgConfig QUIET) +-pkg_check_modules (PC_UPNP QUIET libupnp-1.8 libupnp) ++pkg_search_module (PC_UPNP QUIET libupnp-1.8 libupnp) + + find_path(UPNP_INCLUDE_DIR upnp.h + HINTS ${PC_UPNP_INCLUDEDIR} ${PC_UPNP_INCLUDE_DIRS} +@@ -41,7 +41,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(UPnP + VERSION_VAR UPNP_VERSION_STRING) + + if (UPNP_FOUND) +- set (UPNP_LIBRARIES ${UPNP_UPNP_LIBRARY} ${UPNP_IXML_LIBRARY}) ++ set (UPNP_LIBRARIES ${UPNP_UPNP_LIBRARY} ${UPNP_IXML_LIBRARY} ${PC_UPNP_LIBRARIES}) + set (UPNP_INCLUDE_DIRS ${UPNP_INCLUDE_DIR} ) + endif () + +-- +2.14.1 + diff --git a/package/gerbera/Config.in b/package/gerbera/Config.in new file mode 100644 index 0000000000..e10f78b77e --- /dev/null +++ b/package/gerbera/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_GERBERA + bool "gerbera" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 optional + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_PACKAGE_LIBUPNP # libupnp18 + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_LIBUPNP18 + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_ZLIB + help + A free media server. + Stream your media to devices on your home network. + + https://gerbera.io + +comment "gerbera needs a toolchain w/ C++, threads, gcc >= 7" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_PACKAGE_LIBUPNP + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/package/gerbera/S99gerbera b/package/gerbera/S99gerbera new file mode 100644 index 0000000000..8bbd221ce2 --- /dev/null +++ b/package/gerbera/S99gerbera @@ -0,0 +1,52 @@ +#!/bin/sh + +DAEMON="gerbera" +PIDFILE="/var/run/$NAME.pid" + +GERBERA_ARGS="-c /etc/gerbera/config.xml -l /var/log/gerbera.log" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -m -b -p "$PIDFILE" -x "/usr/bin/$DAEMON" \ + -- $GERBERA_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/gerbera/config.xml b/package/gerbera/config.xml new file mode 100644 index 0000000000..fa990d1502 --- /dev/null +++ b/package/gerbera/config.xml @@ -0,0 +1,139 @@ + + + + + + + + + Gerbera + uuid:ac20d9b6-5c82-48e6-80de-436965fbe1d7 + /var/lib/gerbera + /usr/share/gerbera/web + + 1800 + + + gerbera.db + + + + + + + + + + * + + video + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audio/L16 + no + yes + no + + + + + video/mpeg + yes + yes + yes + + + + + + diff --git a/package/gerbera/gerbera.hash b/package/gerbera/gerbera.hash new file mode 100644 index 0000000000..bcac080c9d --- /dev/null +++ b/package/gerbera/gerbera.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 5e40971c519eb322fe0111754cafa12d99c47c2ae7d0f9f1aebb19b06e74a912 gerbera-v1.3.0.tar.gz +sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md diff --git a/package/gerbera/gerbera.mk b/package/gerbera/gerbera.mk new file mode 100644 index 0000000000..7ded7cec74 --- /dev/null +++ b/package/gerbera/gerbera.mk @@ -0,0 +1,114 @@ +################################################################################ +# +# gerbera +# +################################################################################ + +GERBERA_VERSION = v1.3.0 +GERBERA_SITE = $(call github,gerbera,gerbera,$(GERBERA_VERSION)) +GERBERA_LICENSE = GPL-2.0 +GERBERA_LICENSE_FILES = LICENSE.md +GERBERA_DEPENDENCIES = \ + expat \ + host-pkgconf \ + libupnp18 \ + sqlite \ + util-linux \ + zlib +GERBERA_CONF_OPTS = \ + -DWITH_DEBUG=OFF \ + -DWITH_JS=OFF + +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GERBERA_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +endif + +ifeq ($(BR2_PACKAGE_EXIV2),y) +GERBERA_DEPENDENCIES += exiv2 +GERBERA_CONF_OPTS += -DWITH_EXIV2=ON +else +GERBERA_CONF_OPTS += -DWITH_EXIV2=OFF +endif + +ifeq ($(BR2_PACKAGE_FFMPEG),y) +GERBERA_DEPENDENCIES += ffmpeg +GERBERA_CONF_OPTS += -DWITH_AVCODEC=ON +else +GERBERA_CONF_OPTS += -DWITH_AVCODEC=OFF +endif + +ifeq ($(BR2_PACKAGE_FILE),y) +GERBERA_DEPENDENCIES += file +GERBERA_CONF_OPTS += -DWITH_MAGIC=ON +else +GERBERA_CONF_OPTS += -DWITH_MAGIC=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +GERBERA_DEPENDENCIES += libcurl +GERBERA_CONF_OPTS += -DWITH_CURL=ON +else +GERBERA_CONF_OPTS += -DWITH_CURL=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +GERBERA_DEPENDENCIES += libexif +GERBERA_CONF_OPTS += -DWITH_EXIF=ON +else +GERBERA_CONF_OPTS += -DWITH_EXIF=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBICONV),y) +GERBERA_DEPENDENCIES += libiconv +endif + +ifeq ($(BR2_PACKAGE_MYSQL),y) +GERBERA_DEPENDENCIES += mysql +GERBERA_CONF_OPTS += -DWITH_MYSQL=ON +else +GERBERA_CONF_OPTS += -DWITH_MYSQL=OFF +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +GERBERA_DEPENDENCIES += systemd +GERBERA_CONF_OPTS += -DWITH_SYSTEMD=ON +else +GERBERA_CONF_OPTS += -DWITH_SYSTEMD=OFF +endif + +ifeq ($(BR2_PACKAGE_TAGLIB),y) +GERBERA_DEPENDENCIES += taglib +GERBERA_CONF_OPTS += -DWITH_TAGLIB=ON +else +GERBERA_CONF_OPTS += -DWITH_TAGLIB=OFF +endif + +# gerbera does not provide a default configuration file, it can be +# created during run time through --create-config: +# http://docs.gerbera.io/en/latest/config-overview.html#generating-configuration +# However, to have a correct home directory and UDN, install it ourself +define GERBERA_INSTALL_CONFIGURATION + $(INSTALL) -D -m 0644 package/gerbera/config.xml \ + $(TARGET_DIR)/etc/gerbera/config.xml +endef + +GERBERA_POST_INSTALL_TARGET_HOOKS += GERBERA_INSTALL_CONFIGURATION + +define GERBERA_USERS + gerbera -1 gerbera -1 * /var/lib/gerbera - - Gerbera user +endef + +define GERBERA_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/gerbera/S99gerbera \ + $(TARGET_DIR)/etc/init.d/S99gerbera +endef + +# gerbera.service is installed by cmake in $(TARGET_DIR)/usr/lib/systemd/system +define GERBERA_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/gerbera.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/gerbera.service +endef + +$(eval $(cmake-package)) diff --git a/package/ghostscript/0002-Bug-700986-Remove-the-crazy-md5-file-copying-nonsense.patch b/package/ghostscript/0002-Bug-700986-Remove-the-crazy-md5-file-copying-nonsense.patch new file mode 100644 index 0000000000..49bcfcdd3b --- /dev/null +++ b/package/ghostscript/0002-Bug-700986-Remove-the-crazy-md5-file-copying-nonsense.patch @@ -0,0 +1,252 @@ +From d86210973df93ccca0befd56afba2132da925ebc Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Thu, 18 Apr 2019 16:58:41 +0100 +Subject: [PATCH] Bug 700986: Remove the crazy md5 file copying nonsense + +To preserve building as a standalone test exe, we avoided using Ghostscript +includes in the md5 source and header files, but dynamically add them to +copies of the files during the build. Since we no longer need/care for the +stand alone exe, remove the build complication, and just include the header +file normally. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +http://git.ghostscript.com/?p=user/chrisl/ghostpdl.git;a=commitdiff;h=d86210973df9] +--- + base/gsmd5.h | 2 + + base/lib.mak | 10 +-- + base/md5main.c | 141 ----------------------------------------- + doc/Develop.htm | 1 - + windows/ghostscript.vcproj | 4 -- + windows/ghostscript_rt.vcxproj | 1 - + 6 files changed, 5 insertions(+), 154 deletions(-) + delete mode 100644 base/md5main.c + +diff --git a/base/gsmd5.h b/base/gsmd5.h +index 206ea6b..b159afb 100644 +--- a/base/gsmd5.h ++++ b/base/gsmd5.h +@@ -50,6 +50,8 @@ + #ifndef md5_INCLUDED + # define md5_INCLUDED + ++#include "memory_.h" ++ + /* + * This package supports both compile-time and run-time determination of CPU + * byte order. If ARCH_IS_BIG_ENDIAN is defined as 0, the code will be +diff --git a/base/lib.mak b/base/lib.mak +index 3ed088a..21e2cb7 100644 +--- a/base/lib.mak ++++ b/base/lib.mak +@@ -387,13 +387,8 @@ gsmd5_h=$(GLSRC)gsmd5.h + # We have to use a slightly different compilation approach in order to + # get std.h included when compiling md5.c. + md5_=$(GLOBJ)gsmd5.$(OBJ) +-$(GLOBJ)gsmd5.$(OBJ) : $(GLSRC)gsmd5.c $(AK) $(gsmd5_h)\ +- $(EXP)$(ECHOGS_XE) $(LIB_MAK) $(MAKEDIRS) +- $(EXP)$(ECHOGS_XE) -w $(GLGEN)gsmd5.h -x 23 include -x 2022 memory_.h -x 22 +- $(EXP)$(ECHOGS_XE) -a $(GLGEN)gsmd5.h -+R $(GLSRC)gsmd5.h +- $(CP_) $(GLSRC)gsmd5.c $(GLGEN)gsmd5.c +- $(GLCC) $(GLO_)gsmd5.$(OBJ) $(C_) $(GLGEN)gsmd5.c +- $(RM_) $(GLGEN)gsmd5.c $(GLGEN)gsmd5.h ++$(GLOBJ)gsmd5.$(OBJ) : $(GLSRC)gsmd5.c $(AK) $(gsmd5_h) $(LIB_MAK) $(MAKEDIRS) ++ $(GLCC) $(GLO_)gsmd5.$(OBJ) $(C_) $(GLSRC)gsmd5.c + + # SHA-256 digest + sha2_h=$(GLSRC)sha2.h +@@ -12346,3 +12341,4 @@ $(GLSRC)gxshade4.h:$(GLSRC)gstypes.h + $(GLSRC)gxshade4.h:$(GLSRC)stdpre.h + $(GLSRC)gxshade4.h:$(GLGEN)arch.h + $(GLSRC)gxshade4.h:$(GLSRC)gs_dll_call.h ++$(GLSRC)gsmd5.h:$(GLSRC)memory_.h +diff --git a/base/md5main.c b/base/md5main.c +deleted file mode 100644 +index 75c523b..0000000 +--- a/base/md5main.c ++++ /dev/null +@@ -1,141 +0,0 @@ +-/* +- Copyright (C) 2002-2018 Artifex Software, Inc. +- All rights reserved. +- +- This software is provided 'as-is', without any express or implied +- warranty. In no event will the authors be held liable for any damages +- arising from the use of this software. +- +- Permission is granted to anyone to use this software for any purpose, +- including commercial applications, and to alter it and redistribute it +- freely, subject to the following restrictions: +- +- 1. The origin of this software must not be misrepresented; you must not +- claim that you wrote the original software. If you use this software +- in a product, an acknowledgment in the product documentation would be +- appreciated but is not required. +- 2. Altered source versions must be plainly marked as such, and must not be +- misrepresented as being the original software. +- 3. This notice may not be removed or altered from any source distribution. +- +- L. Peter Deutsch +- ghost@aladdin.com +- +- */ +-/* +- Independent implementation of MD5 (RFC 1321). +- +- This code implements the MD5 Algorithm defined in RFC 1321, whose +- text is available at +- http://www.ietf.org/rfc/rfc1321.txt +- The code is derived from the text of the RFC, including the test suite +- (section A.5) but excluding the rest of Appendix A. It does not include +- any code or documentation that is identified in the RFC as being +- copyrighted. +- +- The original and principal author of md5.c is L. Peter Deutsch +- . Other authors are noted in the change history +- that follows (in reverse chronological order): +- +- 2007-06-08 RG Namespaced the api calls to avoid conflict with other +- implementations when linking gs as a library. +- 2002-04-13 lpd Splits off main program into a separate file, md5main.c. +- */ +- +-#include "gsmd5.h" +-#include +-#include +-#include +- +-/* +- * This file builds an executable that performs various functions related +- * to the MD5 library. Typical compilation: +- * gcc -o md5main -lm md5main.c md5.c +- */ +-static const char *const usage = "\ +-Usage:\n\ +- md5main --test # run the self-test (A.5 of RFC 1321)\n\ +- md5main --t-values # print the T values for the library\n\ +- md5main --version # print the version of the package\n\ +-"; +-static const char *const version = "2002-04-13"; +- +-/* Run the self-test. */ +-static int +-do_test(void) +-{ +- static const char *const test[7*2] = { +- "", "d41d8cd98f00b204e9800998ecf8427e", +- "a", "0cc175b9c0f1b6a831c399e269772661", +- "abc", "900150983cd24fb0d6963f7d28e17f72", +- "message digest", "f96b697d7cb7938d525a2f31aaf161d0", +- "abcdefghijklmnopqrstuvwxyz", "c3fcd3d76192e4007dfb496cca67e13b", +- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", +- "d174ab98d277d9f5a5611c2c9f419d9f", +- "12345678901234567890123456789012345678901234567890123456789012345678901234567890", "57edf4a22be3c955ac49da2e2107b67a" +- }; +- int i; +- int status = 0; +- +- for (i = 0; i < 7*2; i += 2) { +- gs_md5_state_t state; +- gs_md5_byte_t digest[16]; +- char hex_output[16*2 + 1]; +- int di; +- +- gs_md5_init(&state); +- gs_md5_append(&state, (const gs_md5_byte_t *)test[i], strlen(test[i])); +- gs_md5_finish(&state, digest); +- for (di = 0; di < 16; ++di) +- gs_sprintf(hex_output + di * 2, "%02x", digest[di]); +- if (strcmp(hex_output, test[i + 1])) { +- printf("MD5 (\"%s\") = ", test[i]); +- puts(hex_output); +- printf("**** ERROR, should be: %s\n", test[i + 1]); +- status = 1; +- } +- } +- if (status == 0) +- puts("md5 self-test completed successfully."); +- return status; +-} +- +-/* Print the T values. */ +-static int +-do_t_values(void) +-{ +- int i; +- for (i = 1; i <= 64; ++i) { +- unsigned long v = (unsigned long)(4294967296.0 * fabs(sin((double)i))); +- +- /* +- * The following nonsense is only to avoid compiler warnings about +- * "integer constant is unsigned in ANSI C, signed with -traditional". +- */ +- if (v >> 31) { +- printf("#define T%d /* 0x%08lx */ (T_MASK ^ 0x%08lx)\n", i, +- v, (unsigned long)(unsigned int)(~v)); +- } else { +- printf("#define T%d 0x%08lx\n", i, v); +- } +- } +- return 0; +-} +- +-/* Main program */ +-int +-main(int argc, char *argv[]) +-{ +- if (argc == 2) { +- if (!strcmp(argv[1], "--test")) +- return do_test(); +- if (!strcmp(argv[1], "--t-values")) +- return do_t_values(); +- if (!strcmp(argv[1], "--version")) { +- puts(version); +- return 0; +- } +- } +- puts(usage); +- return 0; +-} +diff --git a/doc/Develop.htm b/doc/Develop.htm +index c1ffceb..1ed3030 100644 +--- a/doc/Develop.htm ++++ b/doc/Develop.htm +@@ -684,7 +684,6 @@ Other: + base/gx.h, + base/gsmd5.c, + base/gsmd5.h, +-base/md5main.c, + base/aes.c, + base/aes.h. + +diff --git a/windows/ghostscript.vcproj b/windows/ghostscript.vcproj +index d607949..fdbeaa1 100644 +--- a/windows/ghostscript.vcproj ++++ b/windows/ghostscript.vcproj +@@ -2510,10 +2510,6 @@ + > + + +- +- + +diff --git a/windows/ghostscript_rt.vcxproj b/windows/ghostscript_rt.vcxproj +index 589b2d1..fca736b 100644 +--- a/windows/ghostscript_rt.vcxproj ++++ b/windows/ghostscript_rt.vcxproj +@@ -597,7 +597,6 @@ + + + +- + + + +-- +2.9.1 + + diff --git a/package/ghostscript/ghostscript.hash b/package/ghostscript/ghostscript.hash index f8ca6c8d4e..383a414da4 100644 --- a/package/ghostscript/ghostscript.hash +++ b/package/ghostscript/ghostscript.hash @@ -1,5 +1,5 @@ -# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs925/SHA512SUMS -sha512 7a1c0b7546ed523f50c1452d4a1c13fcf043d6060fc9708bbc4b543f66ecb1b619b6e71998094ac702ef44a2fd159b6523271de19b1cae352981ef51fb637651 ghostscript-9.25.tar.xz +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs927/SHA512SUMS +sha512 5e67ad45a80f01c6ef0eabb1c76dfa8fb6e7f0fde8d82fd5daaf12f370c288a672f8fa69c74d9e30255582267e9a906e4e8b13655f8d993fefdfc8dbdb5d5401 ghostscript-9.27.tar.xz # Hash for license file: sha256 6f852249f975287b3efd43a5883875e47fa9f3125e2f1b18b5c09517ac30ecf2 LICENSE diff --git a/package/ghostscript/ghostscript.mk b/package/ghostscript/ghostscript.mk index b1f5e1edb1..fefac2aee3 100644 --- a/package/ghostscript/ghostscript.mk +++ b/package/ghostscript/ghostscript.mk @@ -4,8 +4,8 @@ # ################################################################################ -GHOSTSCRIPT_VERSION = 9.25 -GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs925 +GHOSTSCRIPT_VERSION = 9.27 +GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$(subst .,,$(GHOSTSCRIPT_VERSION)) GHOSTSCRIPT_SOURCE = ghostscript-$(GHOSTSCRIPT_VERSION).tar.xz GHOSTSCRIPT_LICENSE = AGPL-3.0 GHOSTSCRIPT_LICENSE_FILES = LICENSE diff --git a/package/giflib/giflib.mk b/package/giflib/giflib.mk index c1471de408..29666eebea 100644 --- a/package/giflib/giflib.mk +++ b/package/giflib/giflib.mk @@ -18,6 +18,8 @@ GIFLIB_BINS = \ gifrsize gifspnge giftext giftool gifwedge icon2gif raw2gif rgb2gif \ text2gif +GIFLIB_CONF_ENV = ac_cv_prog_have_xmlto=no + define GIFLIB_BINS_CLEANUP rm -f $(addprefix $(TARGET_DIR)/usr/bin/,$(GIFLIB_BINS)) endef diff --git a/package/git-crypt/Config.in b/package/git-crypt/Config.in index 362fe9a600..9a270b8f9d 100644 --- a/package/git-crypt/Config.in +++ b/package/git-crypt/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_GIT_CRYPT bool "git-crypt" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr depends on BR2_USE_MMU # git select BR2_PACKAGE_GIT # runtime select BR2_PACKAGE_OPENSSL @@ -10,6 +12,11 @@ config BR2_PACKAGE_GIT_CRYPT https://www.agwa.name/projects/git-crypt/ -comment "git-crypt needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "git-crypt needs a toolchain w/ C++, gcc >= 4.9" + depends on !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU + +comment "git-crypt needs a toolchain not affected by GCC bug 64735" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/git-crypt/git-crypt.hash b/package/git-crypt/git-crypt.hash index 8589f03f71..973432d7d0 100644 --- a/package/git-crypt/git-crypt.hash +++ b/package/git-crypt/git-crypt.hash @@ -1,2 +1,5 @@ -# Hash from: https://lists.cloudmutt.com/pipermail/git-crypt-announce/2015-May/000003.html -sha256 0a8f92c0a0a125bf768d0c054d947ca4e4b8d6556454b0e7e87fb907ee17cf06 git-crypt-0.5.0.tar.gz +# Locally calculated after checking pgp signature +sha256 6d30fcd99442d50f4b3c8d554067ff1d980cdf9f3120ee774131172dba98fd6f git-crypt-0.6.0.tar.gz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 506657e7a381165550e6c33e35b3b03bbef3e1feb68ba5529e264bd75ed2dc64 parse_options.hpp diff --git a/package/git-crypt/git-crypt.mk b/package/git-crypt/git-crypt.mk index 6cae456fd3..37e3d885a9 100644 --- a/package/git-crypt/git-crypt.mk +++ b/package/git-crypt/git-crypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -GIT_CRYPT_VERSION = 0.5.0 +GIT_CRYPT_VERSION = 0.6.0 GIT_CRYPT_SITE = https://www.agwa.name/projects/git-crypt/downloads GIT_CRYPT_DEPENDENCIES = host-pkgconf openssl GIT_CRYPT_LICENSE = GPL-3.0+, MIT @@ -14,7 +14,8 @@ GIT_CRYPT_LIBS = `$(PKG_CONFIG_HOST_BINARY) --libs openssl` define GIT_CRYPT_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ - LDFLAGS="$(TARGET_LDFLAGS) $(GIT_CRYPT_LIBS)" PREFIX=/usr + LDFLAGS="$(TARGET_LDFLAGS) $(GIT_CRYPT_LIBS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" PREFIX=/usr endef define GIT_CRYPT_INSTALL_TARGET_CMDS diff --git a/package/git/0001-configure.ac-Properly-check-for-libintl.patch b/package/git/0001-configure.ac-Properly-check-for-libintl.patch new file mode 100644 index 0000000000..2f367f547a --- /dev/null +++ b/package/git/0001-configure.ac-Properly-check-for-libintl.patch @@ -0,0 +1,49 @@ +From 01da08fd60a0bdb2994f85f943dba148d9321d4d Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Wed, 17 Apr 2019 01:25:40 +0300 +Subject: [PATCH 1/1] configure.ac: Properly check for libintl + +Some libc implementations like uclibc or musl provides +gettext stubs via libintl library but this case is not checked +by AC_CHECK_LIBRARY(c, gettext ...) because gcc has gettext as builtin +which passess the check. + +So check it with included libintl.h where gettext may unfold into +libintl_gettext which will cause check to fail if libintl_gettext are +needed to be linked with -lintl. + +Signed-off-by: Vadim Kochan +--- + configure.ac | 16 +++++++++++++--- + 1 file changed, 13 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7f84151..0b8e25f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -762,9 +762,19 @@ AC_CHECK_LIB([c], [basename], + GIT_CONF_SUBST([NEEDS_LIBGEN]) + test -n "$NEEDS_LIBGEN" && LIBS="$LIBS -lgen" + +-AC_CHECK_LIB([c], [gettext], +-[LIBC_CONTAINS_LIBINTL=YesPlease], +-[LIBC_CONTAINS_LIBINTL=]) ++AC_DEFUN([LIBINTL_SRC], [ ++AC_LANG_PROGRAM([[ ++#include ++]],[[ ++char *msg = gettext("test"); ++]])]) ++ ++AC_MSG_CHECKING([if libc contains libintl]) ++AC_LINK_IFELSE([LIBINTL_SRC], ++ [AC_MSG_RESULT([yes]) ++ LIBC_CONTAINS_LIBINTL=YesPlease], ++ [AC_MSG_RESULT([no]) ++ LIBC_CONTAINS_LIBINTL=]) + GIT_CONF_SUBST([LIBC_CONTAINS_LIBINTL]) + + # +-- +2.14.1 + diff --git a/package/git/git.mk b/package/git/git.mk index 9b176d3661..804a6e2325 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -10,11 +10,12 @@ GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git GIT_LICENSE = GPL-2.0, LGPL-2.1+ GIT_LICENSE_FILES = COPYING LGPL-2.1 GIT_DEPENDENCIES = zlib $(TARGET_NLS_DEPENDENCIES) +GIT_AUTORECONF = YES ifeq ($(BR2_PACKAGE_OPENSSL),y) -GIT_DEPENDENCIES += openssl +GIT_DEPENDENCIES += host-pkgconf openssl GIT_CONF_OPTS += --with-openssl -GIT_CONF_ENV_LIBS += $(if $(BR2_STATIC_LIBS),-lz) +GIT_MAKE_OPTS += LIB_4_CRYPTO="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`" else GIT_CONF_OPTS += --without-openssl endif diff --git a/package/glib-networking/Config.in b/package/glib-networking/Config.in index ec2962392c..b84a739460 100644 --- a/package/glib-networking/Config.in +++ b/package/glib-networking/Config.in @@ -1,12 +1,14 @@ config BR2_PACKAGE_GLIB_NETWORKING bool "glib-networking" - depends on BR2_USE_WCHAR # glib2 + depends on BR2_USE_WCHAR # glib2, gnutls depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 + depends on !BR2_STATIC_LIBS # gnutls + select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBGLIB2 help Network-related GIO modules for glib. -comment "glib-networking needs a toolchain w/ wchar, threads" +comment "glib-networking needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/package/glib-networking/glib-networking.hash b/package/glib-networking/glib-networking.hash index bbcecb7ad2..d959175e7c 100644 --- a/package/glib-networking/glib-networking.hash +++ b/package/glib-networking/glib-networking.hash @@ -1,2 +1,3 @@ -# From http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.50/glib-networking-2.50.0.sha256sum -sha256 3f1a442f3c2a734946983532ce59ed49120319fdb10c938447c373d5e5286bee glib-networking-2.50.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.58/glib-networking-2.58.0.sha256sum +sha256 bdfa0255e031b8ee003cc283002536b77ee76450105f1dc6ab066b9bf4330068 glib-networking-2.58.0.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk index 10a3b706b3..325cbcf8ad 100644 --- a/package/glib-networking/glib-networking.mk +++ b/package/glib-networking/glib-networking.mk @@ -4,7 +4,7 @@ # ################################################################################ -GLIB_NETWORKING_VERSION_MAJOR = 2.50 +GLIB_NETWORKING_VERSION_MAJOR = 2.58 GLIB_NETWORKING_VERSION = $(GLIB_NETWORKING_VERSION_MAJOR).0 GLIB_NETWORKING_SITE = http://ftp.gnome.org/pub/gnome/sources/glib-networking/$(GLIB_NETWORKING_VERSION_MAJOR) GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VERSION).tar.xz @@ -13,19 +13,18 @@ GLIB_NETWORKING_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) \ host-pkgconf \ host-intltool \ - libglib2 + libglib2 \ + gnutls + GLIB_NETWORKING_CONF_OPTS = \ - --with-ca-certificates=/etc/ssl/certs/ca-certificates.crt + -Dca_certificates_path=/etc/ssl/certs/ca-certificates.crt \ + -Dlibproxy_support=false \ + -Dgnome_proxy_support=false \ + -Dpkcs11_support=false + GLIB_NETWORKING_LICENSE = LGPL-2.0+ GLIB_NETWORKING_LICENSE_FILES = COPYING GLIB_NETWORKING_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) \ GIO_MODULE_DIR=/usr/lib/gio/modules install -ifeq ($(BR2_PACKAGE_GNUTLS),y) -GLIB_NETWORKING_DEPENDENCIES += gnutls -GLIB_NETWORKING_CONF_OPTS += --with-libgcrypt-prefix=$(STAGING_DIR)/usr -else -GLIB_NETWORKING_CONF_OPTS += --without-gnutls -endif - -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0001-Fix-RISC-V-32-bit-build-of-riscv-glibc-2.26.patch b/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0001-Fix-RISC-V-32-bit-build-of-riscv-glibc-2.26.patch new file mode 100644 index 0000000000..ab157e9e7b --- /dev/null +++ b/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0001-Fix-RISC-V-32-bit-build-of-riscv-glibc-2.26.patch @@ -0,0 +1,59 @@ +From 4909cfbbe8dd512b8fc0892859549c26e1b14d30 Mon Sep 17 00:00:00 2001 +From: Mark Corbin +Date: Sun, 21 Oct 2018 10:38:18 +0100 +Subject: [PATCH] Fix RISC-V 32-bit build of riscv-glibc 2.26 + +This patch fixes two build errors with the 32-bit version of +glibc-2.26 from the riscv-glibc repository. + +A void reference to 'refsym' has been added to dl-runtime.c to avoid +an 'unused variable' error when building with '-Werror'. + +Some data types were hard-coded for 64-bit in ldsodefs.h. These have +been modified to allow 32-bit builds. + +This patch was provided by Fabrice Bellard as part of his RISC-V +Buildroot development source. + +Signed-off-by: Mark Corbin +--- + elf/dl-runtime.c | 1 + + sysdeps/riscv/ldsodefs.h | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c +index 51d3819d4a..e728e8907e 100644 +--- a/elf/dl-runtime.c ++++ b/elf/dl-runtime.c +@@ -146,6 +146,7 @@ _dl_fixup ( + if (__glibc_unlikely (GLRO(dl_bind_not))) + return value; + ++ (void)refsym; + return elf_machine_fixup_plt (l, result, refsym, sym, reloc, rel_addr, value); + } + +diff --git a/sysdeps/riscv/ldsodefs.h b/sysdeps/riscv/ldsodefs.h +index db993df80a..91e7a8c88f 100644 +--- a/sysdeps/riscv/ldsodefs.h ++++ b/sysdeps/riscv/ldsodefs.h +@@ -25,14 +25,14 @@ struct La_riscv_regs; + struct La_riscv_retval; + + #define ARCH_PLTENTER_MEMBERS \ +- Elf64_Addr (*riscv_gnu_pltenter) (Elf64_Sym *, unsigned int, \ ++ ElfW(Addr) (*riscv_gnu_pltenter) (ElfW(Sym) *, unsigned int, \ + uintptr_t *, uintptr_t *, \ + const struct La_riscv_regs *, \ + unsigned int *, const char *name, \ + long int *framesizep); + + #define ARCH_PLTEXIT_MEMBERS \ +- unsigned int (*riscv_gnu_pltexit) (Elf64_Sym *, unsigned int, \ ++ unsigned int (*riscv_gnu_pltexit) (ElfW(Sym) *, unsigned int, \ + uintptr_t *, uintptr_t *, \ + const struct La_riscv_regs *, \ + struct La_riscv_retval *, \ +-- +2.17.1 + diff --git a/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0002-Fix-mcontext_t-error-that-breaks-RISC-V-architecture.patch b/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0002-Fix-mcontext_t-error-that-breaks-RISC-V-architecture.patch new file mode 100644 index 0000000000..961d5a1cb6 --- /dev/null +++ b/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0002-Fix-mcontext_t-error-that-breaks-RISC-V-architecture.patch @@ -0,0 +1,39 @@ +From 6b4520e13c2ed7fca725d5f5c879854cd7c96c19 Mon Sep 17 00:00:00 2001 +From: Mark Corbin +Date: Mon, 4 Feb 2019 10:35:27 +0000 +Subject: [PATCH] Fix mcontext_t error that breaks RISC-V architecture + package builds + +The riscv-glibc repository version of glibc 2.26 will build for +RISC-V 32bit, but when many packages are built against the resulting +library an 'unknown type name mcontext_t' error is reported. The +definition of mcontext_h in the ucontext.h header file needs to be +moved outside of the '#ifdef __USE_MISC' structure to fix this +issue. + +Signed-off-by: Mark Corbin +--- + sysdeps/unix/sysv/linux/riscv/sys/ucontext.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h b/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h +index 8f02f09106..b9dd04564a 100644 +--- a/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h ++++ b/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h +@@ -48,12 +48,11 @@ typedef greg_t gregset_t[NGREG]; + + /* Container for floating-point state. */ + typedef union __riscv_fp_state fpregset_t; ++#endif + + /* Context to describe whole processor state. */ + typedef struct sigcontext mcontext_t; + +-#endif +- + /* Userlevel context. */ + typedef struct ucontext + { +-- +2.19.1 + diff --git a/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/glibc.hash b/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/glibc.hash new file mode 100644 index 0000000000..3eb5e04e96 --- /dev/null +++ b/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 a40f908125135bad2cf92c18d07ad25b3091b161b3a5d3aea46c23ffd2ac90b8 glibc-4e2943456e690d89f48e6e710757dd09404b0c9a.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 61abdd6930c9c599062d89e916b3e7968783879b6be0ee1c6229dd6169def431 LICENSES diff --git a/package/glibc/Config.in b/package/glibc/Config.in index 57a2e833d2..7821251087 100644 --- a/package/glibc/Config.in +++ b/package/glibc/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_GLIBC bool default y select BR2_PACKAGE_LINUX_HEADERS - select BR2_TOOLCHAIN_HAS_SSP - + select BR2_TOOLCHAIN_HAS_SSP if BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI + help + https://www.gnu.org/software/libc/ endif diff --git a/package/glibc/arc-2018.09-release/glibc.hash b/package/glibc/arc-2018.09-release/glibc.hash new file mode 100644 index 0000000000..8e70ce0436 --- /dev/null +++ b/package/glibc/arc-2018.09-release/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 cc2aa6b16641ebcf1492bf6245897d8c263c96b6e30375d09351306a12b6d529 glibc-arc-2018.09-release.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f LICENSES diff --git a/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash b/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash new file mode 100644 index 0000000000..442ef0d7aa --- /dev/null +++ b/package/glibc/glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 295d436aac4dc45afc3b440f85fc4556c03b1140ca0f625ee015c8156d2f52ae glibc-glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f LICENSES diff --git a/package/glibc/glibc.hash b/package/glibc/glibc.hash index 81dd5ad5ed..5316f03b10 100644 --- a/package/glibc/glibc.hash +++ b/package/glibc/glibc.hash @@ -1,8 +1,2 @@ -# Locally calculated (fetched from Github) -sha256 33189b3f10c88730a1f686fac794bc01f31765f12ffd75bc5e8a0f2a690d217a glibc-glibc-2.27-57-g6c99e37f6fb640a50a3113b2dbee5d5389843c1e.tar.gz -# Locally calculated (fetched from Github) -sha256 e08ab67b2db2d0f0e8f3311d23c54fb8f6d4c1ef6fa0b4047fd5da400e3ce9de glibc-arc-2018.03-release.tar.gz - -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -sha256 61abdd6930c9c599062d89e916b3e7968783879b6be0ee1c6229dd6169def431 LICENSES +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk index d34b42b831..cb6f8097dc 100644 --- a/package/glibc/glibc.mk +++ b/package/glibc/glibc.mk @@ -5,12 +5,15 @@ ################################################################################ ifeq ($(BR2_arc),y) -GLIBC_VERSION = arc-2018.03-release +GLIBC_VERSION = arc-2018.09-release GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VERSION)) +else ifeq ($(BR2_RISCV_32),y) +GLIBC_VERSION = 4e2943456e690d89f48e6e710757dd09404b0c9a +GLIBC_SITE = $(call github,riscv,riscv-glibc,$(GLIBC_VERSION)) else # Generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master -GLIBC_VERSION = glibc-2.27-57-g6c99e37f6fb640a50a3113b2dbee5d5389843c1e +GLIBC_VERSION = glibc-2.28-94-g4aeff335ca19286ee2382d8eba794ae5fd49281a # Upstream doesn't officially provide an https download link. # There is one (https://sourceware.org/git/glibc.git) but it's not reliable, # sometimes the connection times out. So use an unofficial github mirror. @@ -28,7 +31,8 @@ GLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO # Before glibc is configured, we must have the first stage # cross-compiler and the kernel headers -GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-bison host-gawk +GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-bison host-gawk \ + $(BR2_MAKE_HOST_DEPENDENCY) GLIBC_SUBDIR = build @@ -66,6 +70,26 @@ define GLIBC_ADD_MISSING_STUB_H endef endif +GLIBC_CONF_ENV = \ + ac_cv_path_BASH_SHELL=/bin/bash \ + libc_cv_forced_unwind=yes \ + libc_cv_ssp=no + +# Override the default library locations of /lib64/ and +# /usr/lib64// for RISC-V. +ifeq ($(BR2_riscv),y) +ifeq ($(BR2_RISCV_64),y) +GLIBC_CONF_ENV += libc_cv_slibdir=/lib64 libc_cv_rtlddir=/lib +else +GLIBC_CONF_ENV += libc_cv_slibdir=/lib32 libc_cv_rtlddir=/lib +endif +endif + +# glibc requires make >= 4.0 since 2.28 release. +# https://www.sourceware.org/ml/libc-alpha/2018-08/msg00003.html +GLIBC_MAKE = $(BR2_MAKE) +GLIBC_CONF_ENV += ac_cv_prog_MAKE="$(BR2_MAKE)" + # Even though we use the autotools-package infrastructure, we have to # override the default configure commands for several reasons: # @@ -84,10 +108,8 @@ define GLIBC_CONFIGURE_CMDS $(TARGET_CONFIGURE_OPTS) \ CFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" CPPFLAGS="" \ CXXFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" \ + $(GLIBC_CONF_ENV) \ $(SHELL) $(@D)/configure \ - ac_cv_path_BASH_SHELL=/bin/bash \ - libc_cv_forced_unwind=yes \ - libc_cv_ssp=no \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ diff --git a/package/glibmm/glibmm.hash b/package/glibmm/glibmm.hash index 570192e2f8..6131f9dcaf 100644 --- a/package/glibmm/glibmm.hash +++ b/package/glibmm/glibmm.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.54/glibmm-2.54.1.sha256sum -sha256 7cc28c732b04d70ed34f0c923543129083cfb90580ea4a2b4be5b38802bf6a4a glibmm-2.54.1.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.56/glibmm-2.56.0.sha256sum +sha256 6e74fcba0d245451c58fc8a196e9d103789bc510e1eee1a9b1e816c5209e79a9 glibmm-2.56.0.tar.xz +# License files, locally calculated +sha256 3ea7fa7c5d9a3a113e950eca9cfb85107f096270d8e4dd99daa9d8abdebc60e7 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/package/glibmm/glibmm.mk b/package/glibmm/glibmm.mk index 7fa13f21a2..71f1dfd36f 100644 --- a/package/glibmm/glibmm.mk +++ b/package/glibmm/glibmm.mk @@ -4,8 +4,8 @@ # ################################################################################ -GLIBMM_VERSION_MAJOR = 2.54 -GLIBMM_VERSION = $(GLIBMM_VERSION_MAJOR).1 +GLIBMM_VERSION_MAJOR = 2.56 +GLIBMM_VERSION = $(GLIBMM_VERSION_MAJOR).0 GLIBMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) GLIBMM_LICENSE_FILES = COPYING COPYING.tools GLIBMM_SOURCE = glibmm-$(GLIBMM_VERSION).tar.xz diff --git a/package/glorytun/glorytun.hash b/package/glorytun/glorytun.hash index 891af2079e..59a5f09c0e 100644 --- a/package/glorytun/glorytun.hash +++ b/package/glorytun/glorytun.hash @@ -1,2 +1,2 @@ -sha256 76849b1568119cf0834749db56d4882966863d31351c21c1b22f373f0c97a498 glorytun-0.0.93-mud.tar.gz +sha256 5e23afad4592d6af27ffd2cb3c826cf0ea1b5166a05ef1ae5c77fb4e465bb735 glorytun-0.0.99-mud.tar.gz sha256 bd418f8ef7d62f2c89e3aa1e5dc41c7d7a6212eb1cdb4d39a26a5bd333e1b4a3 LICENSE diff --git a/package/glorytun/glorytun.mk b/package/glorytun/glorytun.mk index 233e1feaa9..f6d87c2605 100644 --- a/package/glorytun/glorytun.mk +++ b/package/glorytun/glorytun.mk @@ -4,7 +4,7 @@ # ################################################################################ -GLORYTUN_VERSION = 0.0.93-mud +GLORYTUN_VERSION = 0.0.99-mud GLORYTUN_SITE = https://github.com/angt/glorytun/releases/download/v$(GLORYTUN_VERSION) GLORYTUN_DEPENDENCIES = libsodium host-pkgconf GLORYTUN_LICENSE = BSD-2-clause diff --git a/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch b/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch deleted file mode 100644 index 11507388ea..0000000000 --- a/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch +++ /dev/null @@ -1,103 +0,0 @@ -From eea0f62a1f6712f10afe47635b80a061505d2d2f Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 17 Jan 2015 18:33:37 +0100 -Subject: [PATCH 1/2] Allow CFLAGS/CPPFLAGS to be completed from the - environment - -Buildroot passes its own CPPFLAGS and CFLAGS in the environment, so -the CFLAGS += and CPPFLAGS += statements in gnu-efi Makefile have no -effect. Change these to override += so that they extend the -flags passed by Buildroot. - -[Romain: - - rebase on top of 3.0.1 release] -[Bernd: - - rebase on top of 3.0.5 release] -[Benoît: - - rebase on top of 3.0.6 release] - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Romain Naour -Signed-off-by: Bernd Kuhls -Signed-off-by: Benoît Allard ---- - Make.defaults | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -diff --git a/Make.defaults b/Make.defaults -index 51bd7d8..7d7e8e7 100755 ---- a/Make.defaults -+++ b/Make.defaults -@@ -85,14 +85,14 @@ OBJDIR := $(TOPDIR)/$(ARCH) - # - - # Arch-specific compilation flags --CPPFLAGS += -DCONFIG_$(ARCH) -+override CPPFLAGS += -DCONFIG_$(ARCH) - - ifeq ($(ARCH),ia64) -- CFLAGS += -mfixed-range=f32-f127 -+ override CFLAGS += -mfixed-range=f32-f127 - endif - - ifeq ($(ARCH),ia32) -- CFLAGS += -mno-mmx -mno-sse -+ override CFLAGS += -mno-mmx -mno-sse - ifeq ($(HOSTARCH),x86_64) - ARCH3264 = -m32 - endif -@@ -109,19 +109,19 @@ ifeq ($(ARCH),x86_64) - && [ $(GCCMINOR) -ge "7" ] ) ) \ - && echo 1) - ifeq ($(GCCNEWENOUGH),1) -- CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 -+ override CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 - else ifeq ($(USING_CLANG),clang) -- CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11 -+ override CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11 - endif - -- CFLAGS += -mno-red-zone -+ override CFLAGS += -mno-red-zone - ifeq ($(HOSTARCH),ia32) - ARCH3264 = -m64 - endif - endif - - ifeq ($(ARCH),mips64el) -- CFLAGS += -march=mips64r2 -+ override CFLAGS += -march=mips64r2 - ARCH3264 = -mabi=64 - endif - -@@ -142,7 +142,7 @@ export LIBGCC=$(shell $(CC) $(ARCH3264) - endif - - ifeq ($(ARCH),arm) --CFLAGS += -marm -+override CFLAGS += -marm - endif - - # Generic compilation flags -@@ -152,15 +152,15 @@ INCDIR += -I$(SRCDIR) -I$(TOPDIR)/inc - - # Only enable -fpic for non MinGW compilers (unneeded on MinGW) - GCCMACHINE := $(shell $(CC) -dumpmachine) - ifneq (mingw32,$(findstring mingw32, $(GCCMACHINE))) -- CFLAGS += -fpic -+ override CFLAGS += -fpic - endif - - ifeq (FreeBSD, $(findstring FreeBSD, $(OS))) --CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ -+override CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ - -fshort-wchar -fno-strict-aliasing \ - -ffreestanding -fno-stack-protector - else --CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ -+override CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ - -fshort-wchar -fno-strict-aliasing \ - -fno-merge-all-constants -ffreestanding -fno-stack-protector \ - -fno-stack-check --- -2.11.0 - diff --git a/package/gnu-efi/0001-efilink-fix-build-with-gcc-4.8.patch b/package/gnu-efi/0001-efilink-fix-build-with-gcc-4.8.patch new file mode 100644 index 0000000000..57c78c9bd4 --- /dev/null +++ b/package/gnu-efi/0001-efilink-fix-build-with-gcc-4.8.patch @@ -0,0 +1,35 @@ +From 6335e5c697c57d8b5854b8202de3733bcb151ca6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 18 Jan 2019 22:05:37 +0100 +Subject: [PATCH] efilink: fix build with gcc 4.8 + +intptr_t is undefined without an include on stdint.h + +Fixes: + - http://autobuild.buildroot.org/results/a0ca37b5ed27af445344e3ac49dc87bb17512c50 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://sourceforge.net/p/gnu-efi/code/merge-requests/3] +--- + inc/efilink.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/inc/efilink.h b/inc/efilink.h +index cc5aa2d..b69a6fd 100644 +--- a/inc/efilink.h ++++ b/inc/efilink.h +@@ -1,6 +1,10 @@ + #ifndef _EFI_LINK_H + #define _EFI_LINK_H + ++#if defined(__GNUC__) ++#include ++#endif ++ + /*++ + + Copyright (c) 1998 Intel Corporation +-- +2.14.1 + diff --git a/package/gnu-efi/0002-Make.defaults-don-t-override-ARCH-when-cross-compili.patch b/package/gnu-efi/0002-Make.defaults-don-t-override-ARCH-when-cross-compili.patch new file mode 100644 index 0000000000..c256541781 --- /dev/null +++ b/package/gnu-efi/0002-Make.defaults-don-t-override-ARCH-when-cross-compili.patch @@ -0,0 +1,32 @@ +From 3452721eafae90749f4af63264c412f398460b15 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 20 Jan 2019 21:07:11 +0100 +Subject: [PATCH] Make.defaults: don't override ARCH when cross-compiling + +Don't override the user-provided ARCH when cross-compiling otherwise +ARCH won't be correct for armv5, aarch64 and x86_64 + +Fixes: + - http://autobuild.buildroot.org/results/2dfc0e10da25a8382a43557420d7dc3444c02dbb + +Signed-off-by: Fabrice Fontaine +--- + Make.defaults | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Make.defaults b/Make.defaults +index ba743f1..a0e5632 100755 +--- a/Make.defaults ++++ b/Make.defaults +@@ -67,7 +67,7 @@ ARCH ?= $(shell $(HOSTCC) -dumpmachine | cut -f1 -d- | sed -e s,i[345678 + + # Get ARCH from the compiler if cross compiling + ifneq ($(CROSS_COMPILE),) +- override ARCH := $(shell $(CC) -dumpmachine | cut -f1 -d-| sed -e s,i[3456789]86,ia32, -e 's,armv7.*,arm,' ) ++ ARCH := $(shell $(CC) -dumpmachine | cut -f1 -d-| sed -e s,i[3456789]86,ia32, -e 's,armv7.*,arm,' ) + endif + + # FreeBSD (and possibly others) reports amd64 instead of x86_64 +-- +2.14.1 + diff --git a/package/gnu-efi/Config.in b/package/gnu-efi/Config.in index d8d92c2c17..d456a23837 100644 --- a/package/gnu-efi/Config.in +++ b/package/gnu-efi/Config.in @@ -1,7 +1,14 @@ +config BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS + bool + default y if BR2_ARM_CPU_HAS_ARM + default y if BR2_aarch64 + default y if BR2_aarch64_be + default y if BR2_i386 + default y if BR2_x86_64 + config BR2_PACKAGE_GNU_EFI bool "gnu-efi" - depends on BR2_ARM_CPU_HAS_ARM || BR2_aarch64 || \ - BR2_aarch64_be || BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS help Develop EFI applications for ARM-64, ARM-32, x86_64, IA-64 (IPF), IA-32 (x86), and MIPS platforms using the GNU toolchain diff --git a/package/gnu-efi/gnu-efi.hash b/package/gnu-efi/gnu-efi.hash index 1bd0f8c5dc..9ac2b51fe3 100644 --- a/package/gnu-efi/gnu-efi.hash +++ b/package/gnu-efi/gnu-efi.hash @@ -1,5 +1,6 @@ # From http://sourceforge.net/projects/gnu-efi/files -md5 46f633758a8a37db9fd6909fe270c26b gnu-efi-3.0.6.tar.bz2 -sha1 9f0f75b64c84423f3386da6f3200f5ed7471d9cb gnu-efi-3.0.6.tar.bz2 +md5 32af17b917545a693e549af2439c4a99 gnu-efi-3.0.9.tar.bz2 +sha1 9b39e06206e63eba56d59a648a7e4f20aead6962 gnu-efi-3.0.9.tar.bz2 # Locally computed -sha256 21515902d80fbea23328a61d70d3d51a47204abd1507ebfa27550a7b9bf22c91 gnu-efi-3.0.6.tar.bz2 +sha256 6715ea7eae1c7e4fc5041034bd3f107ec2911962ed284a081e491646b12277f0 gnu-efi-3.0.9.tar.bz2 +sha256 42d352e9c28dd446fd0209cd6f75588c8e41f0934540bb382bbd61c752360265 README.efilib diff --git a/package/gnu-efi/gnu-efi.mk b/package/gnu-efi/gnu-efi.mk index d55e0274df..fe3c8ac343 100644 --- a/package/gnu-efi/gnu-efi.mk +++ b/package/gnu-efi/gnu-efi.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNU_EFI_VERSION = 3.0.6 +GNU_EFI_VERSION = 3.0.9 GNU_EFI_SOURCE = gnu-efi-$(GNU_EFI_VERSION).tar.bz2 GNU_EFI_SITE = http://downloads.sourceforge.net/project/gnu-efi GNU_EFI_INSTALL_STAGING = YES @@ -26,17 +26,18 @@ else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) GNU_EFI_PLATFORM = aarch64 endif +GNU_EFI_MAKE_OPTS = \ + ARCH=$(GNU_EFI_PLATFORM) \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + PREFIX=/usr + define GNU_EFI_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - $(TARGET_CONFIGURE_OPTS) \ - ARCH=$(GNU_EFI_PLATFORM) + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(GNU_EFI_MAKE_OPTS) endef define GNU_EFI_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - $(TARGET_CONFIGURE_OPTS) \ - INSTALLROOT=$(STAGING_DIR) \ - PREFIX=/usr ARCH=$(GNU_EFI_PLATFORM) install + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(GNU_EFI_MAKE_OPTS) \ + INSTALLROOT=$(STAGING_DIR) install endef $(eval $(generic-package)) diff --git a/package/gnuchess/gnuchess.hash b/package/gnuchess/gnuchess.hash index 064a845eda..9342fc3eb7 100644 --- a/package/gnuchess/gnuchess.hash +++ b/package/gnuchess/gnuchess.hash @@ -1,2 +1,3 @@ # sha256 locally computed -sha256 3c425c0264f253fc5cc2ba969abe667d77703c728770bd4b23c456cbe5e082ef gnuchess-6.2.4.tar.gz +sha256 9a99e963355706cab32099d140b698eda9de164ebce40a5420b1b9772dd04802 gnuchess-6.2.5.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gnuchess/gnuchess.mk b/package/gnuchess/gnuchess.mk index 1465ab0a00..4d91706de4 100644 --- a/package/gnuchess/gnuchess.mk +++ b/package/gnuchess/gnuchess.mk @@ -4,9 +4,9 @@ # ################################################################################ -GNUCHESS_VERSION = 6.2.4 +GNUCHESS_VERSION = 6.2.5 GNUCHESS_SITE = $(BR2_GNU_MIRROR)/chess -GNUCHESS_LICENSE = GPL-2.0+ +GNUCHESS_LICENSE = GPL-3.0+ GNUCHESS_LICENSE_FILES = COPYING GNUCHESS_DEPENDENCIES = host-flex flex diff --git a/package/gnupg2/gnupg2.hash b/package/gnupg2/gnupg2.hash index f5890c5e2a..f985e11ad3 100644 --- a/package/gnupg2/gnupg2.hash +++ b/package/gnupg2/gnupg2.hash @@ -1,6 +1,7 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000425.html -sha1 d87553a125832ea90e8aeb3ceeecf24f88de56fb gnupg-2.2.8.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q4/000433.html +sha1 2aeccc35ea8034306ff7a1072b84abbaa79619c3 gnupg-2.2.12.tar.bz2 # Calculated based on the hash above and signature -# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.8.tar.bz2.sig -sha256 777b4cb8ced21965a5053d4fa20fe11484f0a478f3d011cef508a1a49db50dcd gnupg-2.2.8.tar.bz2 +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.12.tar.bz2.sig +# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 +sha256 db030f8b4c98640e91300d36d516f1f4f8fe09514a94ea9fc7411ee1a34082cb gnupg-2.2.12.tar.bz2 sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING diff --git a/package/gnupg2/gnupg2.mk b/package/gnupg2/gnupg2.mk index 3151860f37..9365e960f2 100644 --- a/package/gnupg2/gnupg2.mk +++ b/package/gnupg2/gnupg2.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG2_VERSION = 2.2.8 +GNUPG2_VERSION = 2.2.12 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG2_LICENSE = GPL-3.0+ diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in index 56957d59e4..6d0669779f 100644 --- a/package/gnuradio/Config.in +++ b/package/gnuradio/Config.in @@ -56,6 +56,12 @@ config BR2_PACKAGE_GNURADIO_FEC help FEC signal processing blocks +config BR2_PACKAGE_GNURADIO_LOG + bool "gr-log support" + select BR2_PACKAGE_LOG4CPP + help + Enable logger component + config BR2_PACKAGE_GNURADIO_PYTHON bool "python support" depends on BR2_PACKAGE_PYTHON @@ -78,11 +84,6 @@ config BR2_PACKAGE_GNURADIO_ZEROMQ help zeromq communication support -comment "gr-fft, -filter, -analog, -channels, -digital, -trellis, -pager, -qtgui depends fftw's single precision" - depends on !BR2_PACKAGE_FFTW_PRECISION_SINGLE - -if BR2_PACKAGE_FFTW_PRECISION_SINGLE - config BR2_PACKAGE_GNURADIO_ANALOG bool "gr-analog support" select BR2_PACKAGE_GNURADIO_FILTER @@ -103,6 +104,8 @@ config BR2_PACKAGE_GNURADIO_DIGITAL config BR2_PACKAGE_GNURADIO_FFT bool "gr-fft support" + select BR2_PACKAGE_FFTW + select BR2_PACKAGE_FFTW_SINGLE select BR2_PACKAGE_GNURADIO_BLOCKS help FFT signal processing blocks @@ -119,16 +122,6 @@ config BR2_PACKAGE_GNURADIO_PAGER help FLEX pager decoder implementation blocks -config BR2_PACKAGE_GNURADIO_QTGUI - bool "gr-qtgui" - depends on BR2_PACKAGE_PYTHON_PYQT - depends on BR2_PACKAGE_QWT - depends on BR2_PACKAGE_QT_STL - select BR2_PACKAGE_GNURADIO_FFT - select BR2_PACKAGE_GNURADIO_FILTER - help - GNU Radio Qt scopes - config BR2_PACKAGE_GNURADIO_TRELLIS bool "gr-trellis support" select BR2_PACKAGE_GNURADIO_DIGITAL @@ -136,4 +129,3 @@ config BR2_PACKAGE_GNURADIO_TRELLIS Trellis coded modulation blocks endif -endif diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk index ed537e3934..ef9723cb01 100644 --- a/package/gnuradio/gnuradio.mk +++ b/package/gnuradio/gnuradio.mk @@ -25,7 +25,9 @@ endif GNURADIO_CONF_OPTS = \ -DENABLE_DEFAULT=OFF \ -DENABLE_VOLK=ON \ - -DENABLE_GNURADIO_RUNTIME=ON + -DENABLE_GNURADIO_RUNTIME=ON \ + -DENABLE_GR_QTGUI=OFF \ + -DXMLTO_EXECUTABLE=NOTFOUND # For third-party blocks, the gnuradio libraries are mandatory at # compile time. @@ -101,7 +103,7 @@ GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=OFF endif ifeq ($(BR2_PACKAGE_GNURADIO_FFT),y) -GNURADIO_DEPENDENCIES += fftw +GNURADIO_DEPENDENCIES += fftw-single GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=ON else GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=OFF @@ -113,6 +115,13 @@ else GNURADIO_CONF_OPTS += -DENABLE_GR_FILTER=OFF endif +ifeq ($(BR2_PACKAGE_GNURADIO_LOG),y) +GNURADIO_DEPENDENCIES += log4cpp +GNURADIO_CONF_OPTS += -DENABLE_GR_LOG=ON +else +GNURADIO_CONF_OPTS += -DENABLE_GR_LOG=OFF +endif + ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y) GNURADIO_DEPENDENCIES += python GNURADIO_CONF_OPTS += -DENABLE_PYTHON=ON @@ -126,13 +135,6 @@ else GNURADIO_CONF_OPTS += -DENABLE_PAGER=OFF endif -ifeq ($(BR2_PACKAGE_GNURADIO_QTGUI),y) -GNURADIO_DEPENDENCIES += python-pyqt qwt -GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=ON -else -GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=OFF -endif - ifeq ($(BR2_PACKAGE_GNURADIO_TRELLIS),y) GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=ON else diff --git a/package/gnutls/gnutls.hash b/package/gnutls/gnutls.hash index bbcd5bd4de..8c0e0d69d5 100644 --- a/package/gnutls/gnutls.hash +++ b/package/gnutls/gnutls.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz.sig -sha256 1936eb64f03aaefd6eb16cef0567457777618573826b94d03376bb6a4afadc44 gnutls-3.5.19.tar.xz +# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.7.1.tar.xz.sig +sha256 881b26409ecd8ea4c514fd3fbdb6fae5fab422ca7b71116260e263940a4bbbad gnutls-3.6.7.1.tar.xz # Locally calculated -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 doc/COPYING +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b doc/COPYING sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk index 18af684376..e7c5968204 100644 --- a/package/gnutls/gnutls.mk +++ b/package/gnutls/gnutls.mk @@ -4,8 +4,8 @@ # ################################################################################ -GNUTLS_VERSION_MAJOR = 3.5 -GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).19 +GNUTLS_VERSION_MAJOR = 3.6 +GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).7.1 GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR) GNUTLS_LICENSE = LGPL-2.1+ (core library), GPL-3.0+ (gnutls-openssl library) @@ -18,7 +18,6 @@ GNUTLS_CONF_OPTS = \ --disable-rpath \ --enable-local-libopts \ --enable-openssl-compatibility \ - --with-libnettle-prefix=$(STAGING_DIR)/usr \ --with-librt-prefix=$(STAGING_DIR) \ --without-tpm \ $(if $(BR2_PACKAGE_GNUTLS_TOOLS),--enable-tools,--disable-tools) @@ -29,9 +28,8 @@ GNUTLS_CONF_ENV = gl_cv_socket_ipv6=yes \ gl_cv_func_gettimeofday_clobber=no GNUTLS_INSTALL_STAGING = YES -# libpthread and libz autodetection poison the linkpath +# libpthread autodetection poison the linkpath GNUTLS_CONF_OPTS += $(if $(BR2_TOOLCHAIN_HAS_THREADS),--with-libpthread-prefix=$(STAGING_DIR)/usr) -GNUTLS_CONF_OPTS += $(if $(BR2_PACKAGE_ZLIB),--with-libz-prefix=$(STAGING_DIR)/usr) # gnutls needs libregex, but pcre can be used too # The check isn't cross-compile friendly @@ -60,18 +58,11 @@ GNUTLS_CONF_OPTS += --enable-cryptodev GNUTLS_DEPENDENCIES += cryptodev-linux endif -ifeq ($(BR2_PACKAGE_LIBIDN),y) -GNUTLS_CONF_OPTS += --with-idn -GNUTLS_DEPENDENCIES += libidn -else -GNUTLS_CONF_OPTS += --without-idn -endif - ifeq ($(BR2_PACKAGE_LIBIDN2),y) -GNUTLS_CONF_OPTS += --with-libidn2 +GNUTLS_CONF_OPTS += --with-idn GNUTLS_DEPENDENCIES += libidn2 else -GNUTLS_CONF_OPTS += --without-libidn2 +GNUTLS_CONF_OPTS += --without-idn endif ifeq ($(BR2_PACKAGE_P11_KIT),y) @@ -88,11 +79,11 @@ else GNUTLS_CONF_OPTS += --with-included-unistring endif -ifeq ($(BR2_PACKAGE_ZLIB),y) -GNUTLS_CONF_OPTS += --with-zlib -GNUTLS_DEPENDENCIES += zlib -else -GNUTLS_CONF_OPTS += --without-zlib +# Provide a default CA cert location +ifeq ($(BR2_PACKAGE_P11_KIT),y) +GNUTLS_CONF_OPTS += --with-default-trust-store-pkcs11=pkcs11:model=p11-kit-trust +else ifeq ($(BR2_PACKAGE_CA_CERTIFICATES),y) +GNUTLS_CONF_OPTS += --with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt endif $(eval $(autotools-package)) diff --git a/package/go/Config.in.host b/package/go/Config.in.host index c871ac4196..f619ca0073 100644 --- a/package/go/Config.in.host +++ b/package/go/Config.in.host @@ -1,6 +1,7 @@ config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS bool default y + depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_20006 depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \ || BR2_i386 || BR2_x86_64 || BR2_powerpc64le \ diff --git a/package/go/go.hash b/package/go/go.hash index 9f5b80e9f5..fad5f29a71 100644 --- a/package/go/go.hash +++ b/package/go/go.hash @@ -1,2 +1,3 @@ # From https://golang.org/dl/ -sha256 6264609c6b9cd8ed8e02ca84605d727ce1898d74efa79841660b2e3e985a98bd go1.10.2.src.tar.gz +sha256 a96da1425dcbec094736033a8a416316547f8100ab4b72c31d4824d761d3e133 go1.11.6.src.tar.gz +sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/package/go/go.mk b/package/go/go.mk index 73f14cc78f..b91040a103 100644 --- a/package/go/go.mk +++ b/package/go/go.mk @@ -4,7 +4,7 @@ # ################################################################################ -GO_VERSION = 1.10.2 +GO_VERSION = 1.11.6 GO_SITE = https://storage.googleapis.com/golang GO_SOURCE = go$(GO_VERSION).src.tar.gz @@ -37,12 +37,16 @@ GO_GOARCH = mips64le endif HOST_GO_DEPENDENCIES = host-go-bootstrap +HOST_GO_HOST_CACHE = $(HOST_DIR)/usr/share/host-go-cache HOST_GO_ROOT = $(HOST_DIR)/lib/go +HOST_GO_TARGET_CACHE = $(HOST_DIR)/usr/share/go-cache # For the convienience of target packages. HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH) HOST_GO_TARGET_ENV = \ + GO111MODULE=off \ GOARCH=$(GO_GOARCH) \ + GOCACHE="$(HOST_GO_TARGET_CACHE)" \ GOROOT="$(HOST_GO_ROOT)" \ CC="$(TARGET_CC)" \ CXX="$(TARGET_CXX)" \ @@ -61,6 +65,8 @@ endif # The go build system is not compatible with ccache, so use # HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685. HOST_GO_MAKE_ENV = \ + GO111MODULE=off \ + GOCACHE=$(HOST_GO_HOST_CACHE) \ GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_ROOT) \ GOROOT_FINAL=$(HOST_GO_ROOT) \ GOROOT="$(@D)" \ diff --git a/package/googlefontdirectory/Config.in b/package/googlefontdirectory/Config.in index 762c1b1775..cf2814d88f 100644 --- a/package/googlefontdirectory/Config.in +++ b/package/googlefontdirectory/Config.in @@ -1,16 +1,19 @@ config BR2_PACKAGE_GOOGLEFONTDIRECTORY bool "Google font directory" help - Google font directory + Font files available from Google Fonts - http://code.google.com/p/googlefontdirectory/ + https://github.com/google/fonts if BR2_PACKAGE_GOOGLEFONTDIRECTORY config BR2_PACKAGE_GOOGLEFONTDIRECTORY_FONTS string "List of fonts to install" - default "droid" + default "ufl/ubuntu" help - Specify a space-separated list of fonts to install + Specify a space-separated list of fonts to install. They + correspond to the path of the font directory within Google + Font directory code base. For example: ufl/ubuntu, + apache/kranky or ofl/gleego. endif diff --git a/package/googlefontdirectory/googlefontdirectory.hash b/package/googlefontdirectory/googlefontdirectory.hash index 6b15b2b8b7..2525b6fff6 100644 --- a/package/googlefontdirectory/googlefontdirectory.hash +++ b/package/googlefontdirectory/googlefontdirectory.hash @@ -1,2 +1,994 @@ # Locally calculated -sha256 8a7d04feef21fdfc09d90cd3e2c0c05dcb2fdd4e15f971e8ceaf4d90c1c123cd googlewebfonts.tgz +sha256 ec2ddbeee673cce1b0796e3b20fbff5fd836ce9ba6d88deed8b59154fa255f06 googlefontdirectory-94dff3eaa9301b6640cccc63c56d6ff33d82882c.tar.gz +# Locally calculated with +# for i in $(find apache/ ofl/ ufl/ -name 'LICENSE.txt' -o -name 'OFL.txt' -o -name 'LICENCE.txt') ; do printf "sha256 %s\n" "$(sha256sum $i)" ; done +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotocondensed/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanscondensed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/walterturncoat/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/fontdinerswanky/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/aclonica/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/sunshiney/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/ultra/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/unkempt/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/slackey/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/satisfy/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensans/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/montez/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/kranky/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/arimo/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrew/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/tinos/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrewcondensed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/justanotherhand/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotoslab/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/homemadeapple/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/craftygirls/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/crushed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotomono/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/maidenorange/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/roboto/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rochester/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rocksalt/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/creepstercaps/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/nokora/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/mountainsofchristmas/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cousine/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/syncopate/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/specialelite/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/luckiestguy/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rancho/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/smokum/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/redressed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/irishgrover/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/comingsoon/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cherrycreamsoda/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/schoolbell/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/yellowtail/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/calligraffitti/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/permanentmarker/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/chewy/LICENSE.txt +sha256 0fc8e6675568c02aac6b41dd3cccaf2264fc5969601effe68e09b26635879b2c ofl/ranchers/OFL.txt +sha256 ff72e4d89860e64ee38ccf8a5a7e9dc085d5e36115b096a6c7f8bc988e9bec61 ofl/kumarone/OFL.txt +sha256 643c63caf03855ae29be68035d8888e95eadc767a1d92f163d686da1b0a1cd3c ofl/cantarell/OFL.txt +sha256 1d242ab6fbb2dfbba2e7119b00a6328bc59cb2faf7299b844e9b92a2f12c0d8b ofl/adventpro/OFL.txt +sha256 01af2625d6247ecd2430d1d1603c579f85989d43b2d9129e08e0ac0df8909918 ofl/tienne/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaina/OFL.txt +sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustina/OFL.txt +sha256 69c34ca1873308c667ddde663cbf59c0d1cf14cbb945ad010f71d21264249e24 ofl/aubrey/OFL.txt +sha256 4febcc8d6e539db3e0c652da87bc8704f6d48e71e07f8ddb0974094a3de8da81 ofl/flavors/OFL.txt +sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktavaani/OFL.txt +sha256 ab5499b975c2dc82f533c6f13c5fca589df4d57c7c400db5f6ca8565ad9c2fd3 ofl/butchermancaps/OFL.txt +sha256 6a28d4d5d8b4d1ea89ace5a047ac6e0de182acdb8bfa22897bf7702102094f69 ofl/shadowsintolighttwo/OFL.txt +sha256 7a1d085067cd589026b256dd85af1eaa1087fa0f3d468192724c5138cc14d894 ofl/copse/OFL.txt +sha256 fd17f80dc48ff767d91d0dd9f821eebfd8b73ee82f55537a9052b6b0107622c8 ofl/voces/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowsemicondensed/OFL.txt +sha256 4aa1da66597f4c5cfde67790992ee55926ef6aaa87b9a10d529ab35e8b91070c ofl/asapcondensed/OFL.txt +sha256 301f77908df2b00141b4dcea50cc1a586c3afcee78843bd811088e8263623f9d ofl/amaticsc/OFL.txt +sha256 6b6c6721a30480a323cf33acf6a7703dfce46b846827a65f8ee96230060e3c3e ofl/homenaje/OFL.txt +sha256 393d494f9ebb5db6a3552ffa03a4c6f3746c22808b40d011b391681da55ca3f6 ofl/kellyslab/OFL.txt +sha256 ca19ac21c7656f493189093eca52b4239fcc5eacc15ab2e3d67cfbfc0e6e443b ofl/sirinstencil/OFL.txt +sha256 980c2b058d331f3c5ca4a1223e549511b71630e4f4a5533879d436d583cb5665 ofl/arbutus/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsans/OFL.txt +sha256 7527e73a61f742a0dd050ab2fc7333de71ac7886023c100bca66a0a93b37498e ofl/headlandone/OFL.txt +sha256 39b26527bf9ed27b4c85b86341eceea0579f3550bcf448cf06345eaadf947ec9 ofl/rugeboogie/OFL.txt +sha256 2ac164969308ac200eefc516151934701044f0db5695ae2acc15df2a8d22e5cb ofl/anaheim/OFL.txt +sha256 88d3abd47414e7912d0d2eb44ca89e0b1bd7c43cc2ebe58a8a75281ad75a0f60 ofl/stardosstencil/OFL.txt +sha256 01003114b77326df223f291c48cdf12e95f6a5937437f164347919f2bbde12d4 ofl/josefinslab/OFL.txt +sha256 83aa5adca2418f091b732a19cc7c30dcb5c00c217051a58f34f5eecb19be0cd3 ofl/average/OFL.txt +sha256 585c6d2da8bcd8ffa651e0016f2e992a6891b625143a46a1dacf00699a817d9a ofl/monoton/OFL.txt +sha256 96e65d9c227a972e38035b849bba1e8b7879eecbb52f278be1e71dd481187f02 ofl/domine/OFL.txt +sha256 d1bf0acea511ad1f4de53e942cffb8ab0e67c03c6203d6f390d71105d52c33f0 ofl/missfajardose/OFL.txt +sha256 131d19126a0e7ddd25540fd6bee219cebbc8aee7e8374882998ee6c2f4ff6cf4 ofl/mergeone/OFL.txt +sha256 042a570b306ab893c6168be7e6e79bbceae46097141357ad0af7ef8bb179ed7b ofl/goblinone/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexserif/OFL.txt +sha256 bc80ea18223ea0db2ed73ab5bfd0cd601906a2b7a163183c6c4ea333be309ce4 ofl/baumans/OFL.txt +sha256 5f5dbf452c1657370d9280b50d647212a53c80acae6d78e0b5e8c2b26dc62b09 ofl/puritan/OFL.txt +sha256 90bd333a5cf0ed09264fc3e559d44979373f6c3d983b0f65cc46e952b4eb61f0 ofl/contrailone/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/taviraj/OFL.txt +sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlock/OFL.txt +sha256 75798d56e448ba4d2aec3ef5f3c2d805d9c6fe2ba688cd3d7162b2dd31e9cf48 ofl/textmeone/OFL.txt +sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedansc/OFL.txt +sha256 466aaa3bbd245e4c91c4e82c0828efe9fcfd913f5b020d75f0918516c2540fa8 ofl/spicyrice/OFL.txt +sha256 88ac81fcd30e64f6e6b91b61b159c9b700bb3dd59012b72ec61629abcfc7fba1 ofl/medulaone/OFL.txt +sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redactedscript/OFL.txt +sha256 ce78cc8de3f6edd2738e8c02f2079db7086c9a74314baa5854675f83c33954ff ofl/kenia/OFL.txt +sha256 76af3e9e5d8768b17647813a443fcf5df3eb3ced017ee285796625e714d5ea2c ofl/ruslandisplay/OFL.txt +sha256 6e54fc004ebeb61322ecab1d86334ebf69e7051632d48eca489beee505d70762 ofl/hermeneusone/OFL.txt +sha256 8586a7e75681c7297af4cc0641eb2b29e882c5187fe189a1160eceb4e95d4163 ofl/fenix/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusunicase/OFL.txt +sha256 197c3f48cff4df3d768230e0bbdbc4305d8b8b9041ea6fb5e00872af66adc5ae ofl/novamono/OFL.txt +sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allerta/OFL.txt +sha256 af88d31020bb48a1f78f4384249814d04a44d22feeede2ff4ae79fbb4fcf74da ofl/rammettoone/OFL.txt +sha256 397e83b05703a4240be51e2c3a2be1d0d7693d7a2d8b1ff367c26a2b9afc013e ofl/singleday/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/cedarvillecursive/OFL.txt +sha256 d416bc9437e1d7d8aba0613395ee49c95ce72d680672e910c6205b545cfcbad8 ofl/cherryswash/OFL.txt +sha256 513346ac60af1dde9d4a7bcfad3f39909d5697373a8aa1a6ee4376e6d22d3cdf ofl/niramit/OFL.txt +sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/coda/OFL.txt +sha256 2a7b0a41ef401e4e0e955280b07c0a2698932d56aad3181089bdbbaad5760491 ofl/habibi/OFL.txt +sha256 2d62278530348951887211d79d1dba04acebd6ed3b1c413f6154702efea3ea62 ofl/iceberg/OFL.txt +sha256 a20db45220b6c4dc9776f24c77dc9ec7a98977d8b3c65b03aabe66b2d08e0791 ofl/cabincondensed/OFL.txt +sha256 fc1e501d419d84a8f1a800adae092045002d7141241f498237611dbb8ea763d7 ofl/stintultracondensed/OFL.txt +sha256 9a51726e5f247cb1f07bb8f49c163bc3e9ddee5f367bb5a1871d09b854ed1b7c ofl/basic/OFL.txt +sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomatasc/OFL.txt +sha256 e30f893523e50ebbe07acd783ae29c7d604e6208cae7646d993e8528ce13e35a ofl/federo/OFL.txt +sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/sharetechmono/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiasanslibre/OFL.txt +sha256 5951473ab31533bfe1452bbcece47f237a5546c7e7d45ff1aec0289619623294 ofl/fugazone/OFL.txt +sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltonian/OFL.txt +sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenpro/OFL.txt +sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/yrsa/OFL.txt +sha256 5bbeae56b9db61a9bf85b64d5ed9a74cfcf9ee3e9b005bc2906859ddecd5eaa1 ofl/esteban/OFL.txt +sha256 7b826efb1b74a50b1c1aef0a1ba4530925b993ceadc3016d1d787c68a61649dd ofl/tenorsans/OFL.txt +sha256 28c6d2887c3dfa42488c5418c6c16ead580d33ff0afe60c05159689201f9ec63 ofl/jollylodger/OFL.txt +sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomata/OFL.txt +sha256 8f2e5a9b52cf355023104413827e17dd7126c5a3656492d45eaa1ceb270aa4f1 ofl/yantramanav/OFL.txt +sha256 fe079cdbbad0f6520eb0a8235bce65b21596dd0c4c5a2694b3325cc87313b618 ofl/shortstack/OFL.txt +sha256 018d17b5e04c0a217a21979fa6b6d77bd5a143a5f06ea2ea102e427abd1ebfa2 ofl/tradewinds/OFL.txt +sha256 31c59bcdd538c113ef5c048f56827439facb12b7e5cfd158b04c83727edc453b ofl/salsa/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumpenscript/OFL.txt +sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserifcaption/OFL.txt +sha256 c867d1a613bebc4932cf28c060fefb3bcfba3be56ed498b873c79f4eb786af1d ofl/librebaskerville/OFL.txt +sha256 694282197de3d750a43689dc64a8116cd19578cd516e7b2490c7b5362c064dbe ofl/kameron/OFL.txt +sha256 cb30d3086a8b3ce0b9e3690bf48d6620402b61160bc658076f95180ccd9e9dae ofl/sourcecodepro/OFL.txt +sha256 a40c3a6d0c968d3a10b17a2614606de6f20178deccc2447305f31fb106a57fb0 ofl/fresca/OFL.txt +sha256 5d3457831b42632d958fe1a14a09706d8acb006486a5ca5b2b419cd61cb22e32 ofl/chelaone/OFL.txt +sha256 6b53fb03a50914cc382f4d025ee595c17c43f24ae870f840bc51969d3e316c7e ofl/limelight/OFL.txt +sha256 574430e571a6928624f4bdf044420f7547a26309b7ebf6962296d33294e0a1e0 ofl/combo/OFL.txt +sha256 fd20b82eb12d16ec31a58fc44f7e6c533b14b425b569d83f616a1f7a9a401e75 ofl/gochihand/OFL.txt +sha256 0e74984817cdd51dbfbd8309022aa75f733e80dff0cb1d26ad2157e90446ba97 ofl/enriqueta/OFL.txt +sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserif/OFL.txt +sha256 4e69611ba5017f1fde74c31d342f5c85604814b1b45387b9ab46205996dec38e ofl/astloch/OFL.txt +sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostarfill/OFL.txt +sha256 14b3fbd06078a869cf2ba96e6dacb852d373703c86ca7ad54a4cdd6e20fbab19 ofl/knewave/OFL.txt +sha256 a8103c045a88bf9b28dcd7eb60a6662008f49afc0f3721bc46aaf761fc0409e7 ofl/englebert/OFL.txt +sha256 bd22e766af8f8e58eb520cb4fa73538826d04f7371b45e82295d22d1e32a4e58 ofl/gidugu/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/justmeagaindownhere/OFL.txt +sha256 5fba78215eb4e42aed6cb0b5c5df52e0f71246281a866cd4493dfcfcbcab9518 ofl/playball/OFL.txt +sha256 e75230ee246a04912366cd8d759d081200d80fb0756766c96dd52f73e8b40bed ofl/romanesco/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/gamjaflower/OFL.txt +sha256 244ca4ef7b106d8c660e9a00cecf5d581b6a222f447d7d59a8f61711b2ad3400 ofl/uncialantiqua/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/didactgothic/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/giveyouglory/OFL.txt +sha256 638774cdf8233b5ddaf9ebee1821e9de1d5d59c335d8ee3ba0b47fb17833b502 ofl/glegoo/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsan/OFL.txt +sha256 a10a07aaa150c147fa3cb22e845013f38e6c2b45fe5ba32a74ed1be9d4c417ae ofl/odormeanchey/OFL.txt +sha256 a74380bba78a364ec70b3a5fb6a1161b83cb05cc3e75a0910afbd1b5aff4f9c8 ofl/jaldi/OFL.txt +sha256 9b8405bf5f503f92401fc990f372b34d469670ab60041d5298d1015d3d0b45f8 ofl/thabit/OFL.txt +sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asap/OFL.txt +sha256 ca9fe3a0e10bbb082f83ecdc07f5f04845c4bd689c46456da3e6bae23e11aae2 ofl/inder/OFL.txt +sha256 5b158abb3406e69b7408b562b7199f6ff55a41ea56e260b87176d693b0095e47 ofl/piedra/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendradisplay/OFL.txt +sha256 87b7d831a81fe8b37e7e6c672937493f710ff81883eee3adec7b5423297efd16 ofl/sharetech/OFL.txt +sha256 4ec46c3e4469afa19f0156bac6917472974f9c85c189f9220cf8735d3e810401 ofl/kristi/OFL.txt +sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilbo/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindcolombo/OFL.txt +sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothicsc/OFL.txt +sha256 930fed5b06a415736dc3b4e5f4f01585523b672717564bf677f93966bcd57636 ofl/lustria/OFL.txt +sha256 9a536e5a3b55c2605b0a553eed383cd3efa42ba48dc45cc6f0635b3c53ee791e ofl/warnes/OFL.txt +sha256 879ec56fcc9a961937fd24d542b3b7b3f2b8cb3236b7351e62d16719e25de14c ofl/griffy/OFL.txt +sha256 29cca754098468057880970c604e55c4e2bcb8479742e4130c94f2ddc0363f9c ofl/sixcaps/OFL.txt +sha256 67261c7ceb3e627da5c94d6617dac6da29bf36b910bee304a7680ad62e2c8b46 ofl/changaone/OFL.txt +sha256 327bac41d89cf9f32e0efe353228018e1661cff458a5d4905714958514df7bd5 ofl/lalezar/OFL.txt +sha256 525411e604e7a1d85a4cd42641869f94388f04a6ed77829d6c4edd7fd740ceab ofl/ramaraja/OFL.txt +sha256 3d08baba63f1f2427fd96dee8da30b1ef6c1421b3be0e1f07cc2a78abb27c91d ofl/seaweedscript/OFL.txt +sha256 4c0a1150a363b42bd8681ff4a00315ac49510a944c4c9978237ff8b90a8920a5 ofl/grandhotel/OFL.txt +sha256 bc4c7eb365ea342b1a027fb8417fb0152f5d482a2e31c012fbfa29b668827b04 ofl/cutivemono/OFL.txt +sha256 1818771d183d203703c4b134f028527b535810e2a0666c8fe2785354ddbef686 ofl/battambang/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendra/OFL.txt +sha256 9e0d3db586ba0abf5ca398683809dacdf4c81b2960f592bd085fbf206a67ddb0 ofl/sansitaone/OFL.txt +sha256 fb1dbf3725bbdd389b2c569e0eed5091d8d10eed2833ec7efacfc3542e408615 ofl/scheherazade/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorant/OFL.txt +sha256 156ea6985861158c7dea63ecaac4c78ab0ed737d168ddffc3e34c687985a033b ofl/sansation/OFL.txt +sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/blackandwhitepicture/OFL.txt +sha256 5fe7f3c9410c29534ddd9dfaf64d3994ed4236096d0d543ae69eacc3b25632b1 ofl/bitter/OFL.txt +sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreya/OFL.txt +sha256 e88691a5e0a8a3f788f31db959701ec90a1d5e7505f1cc53c5663180a7d23c81 ofl/lohitbengali/OFL.txt +sha256 ac55580be2df22a06d29a47501e2ae11e1d399620f5a779e17a66f016ba6d5ff ofl/portersansblock/OFL.txt +sha256 27d9af34210253e7ca1251fbace86c6f65b40031d6ce1a75493a1b2093631298 ofl/vt323/OFL.txt +sha256 9452ef55386e77bd284ca466587d72802337621d7f10aa700e449753883b3397 ofl/trocchi/OFL.txt +sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/stylish/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindkochi/OFL.txt +sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivoblack/OFL.txt +sha256 c832a4230a713d080aa2f2544d9a298ed911f689b2c48f7f276a0196b16d2b8a ofl/cookie/OFL.txt +sha256 ae28423a5e63cb65e651ccf62c9091b322fff1d2d4e87ad9f98b1096c2e7abb5 ofl/metrophobic/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindsiliguri/OFL.txt +sha256 8c22fb3866eaebd77a2cb8e8ecbb095381ff32300db57758326fef35a26132f5 ofl/ranga/OFL.txt +sha256 d2875ded3e44e9ae53ea2b35e825dafffa19e82c5d14addb9f1150fcd7a3463d ofl/mina/OFL.txt +sha256 8242e7737bce317f7a7f2b887ac87f5bb21305ab96bee92aadc3febac16c35bf ofl/voltaire/OFL.txt +sha256 fca01a37b10879d7685c7d03fc5a04086b15cdb2cb4f870cb687aa5a9a0a1361 ofl/jimnightshade/OFL.txt +sha256 2492bb8645caaf622bdc3e880cdc9b069921e7341346d7b193666c866a1935d0 ofl/condiment/OFL.txt +sha256 e6ac721b16f309c89fb443680afda427ea34968bad190a80edf281d01d65fa99 ofl/andadasc/OFL.txt +sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzeldecorative/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/coveredbyyourgrace/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindvadodara/OFL.txt +sha256 5c36e7ec460b285185ea23847aa1f508708d9ce15d5c055279defd022972f836 ofl/rakkas/OFL.txt +sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhyme/OFL.txt +sha256 c54957d55e7c9e66c28e474cd39de75dc044e8f69056788cae44eb78841ceef1 ofl/montserratsubrayada/OFL.txt +sha256 fccf4916b5f84ef5f88d93fec464421aaf4121d11d4be8d74ee2d032f7661d6c ofl/padauk/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/prociono/OFL.txt +sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsie/OFL.txt +sha256 0d5fa0cce86012de872273700eef4fd162459e7c24a6a314911380627391071b ofl/bigshotone/OFL.txt +sha256 ca64dee162bf239c7b92d854d388bcd30552edc3ae1ef5e31714acda34c988db ofl/jomhuria/OFL.txt +sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbookbasic/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeehairline/OFL.txt +sha256 9c56b4e2e4e922cc37e19e1a9e2e1128beaa17a812e1b67c8ac371b0fb57ae03 ofl/kopubbatang/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/tillana/OFL.txt +sha256 486c4d5b9baf0d0ba5546ef3c43fcfe22c062299ab6948045a43efffe4b0f74b ofl/italiana/OFL.txt +sha256 4539710406c656519f8ddc789056a7cd6f4fe66b44cc2f52ebca6e251bb26e13 ofl/imprima/OFL.txt +sha256 7f55affd2bce8ed9be13297ba8df1a4a7e9835c2a006126dc2a1eb4ce75a7943 ofl/muli/OFL.txt +sha256 867b506cb023eae20c1accde77b2e0abf7d8a9e2620da8dbebac9f7b1117ca0b ofl/cantoraone/OFL.txt +sha256 aa72b0185d828cb2fafa62a154e84bd3e20c88ada30326089bb20542b6363aaa ofl/manuale/OFL.txt +sha256 4664e83780a263c53dbab95d3590a5a9db914aeb9a3c78f7e7ad451f9151c998 ofl/spacemono/OFL.txt +sha256 fc59ca3cd3bcb47bd4df597519111ec130c25cabcc57a8808dd2d243cdcec6ae ofl/oldenburg/OFL.txt +sha256 43c372f43d145c22e654781860506a75cb85b086dc76028a62a28a446506d253 ofl/italianno/OFL.txt +sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinateinline/OFL.txt +sha256 d13a278247ce39695f5ea6b721103faa668083022c5280b78c6392263e473929 ofl/bonbon/OFL.txt +sha256 f0be7437bbb8b91ad4a4f7a5f3d0020368e494a803d892df03e8886d51f2db3a ofl/candal/OFL.txt +sha256 a68d8ec6bea7f277053ae93bf563d4b97c233f09f8e79f86ffe5db66f31fdddf ofl/prozalibre/OFL.txt +sha256 b00c646b7d04a6da1665a148815b8c589c1e05ed7e1febf7ccbd91758747cb03 ofl/quattrocentosans/OFL.txt +sha256 a3deaae17ab9a15dc3c2778126aa6f80d41d567741853f84b16a9e1318ed799a ofl/koulen/OFL.txt +sha256 50f7b09af5ff677f611a96cdf5eb916307c59b29f2e8144942718cb432a9bf6f ofl/margarine/OFL.txt +sha256 72a22b6dd29b6b0cdcc98de30701b46532c9f7314ee095df3063d10775dd70c3 ofl/trochut/OFL.txt +sha256 325e890b8b26fe0a683c3ba24c506d902bdd7034d9c47bd7fa2bb72b5433b9c9 ofl/shrikhand/OFL.txt +sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlocksc/OFL.txt +sha256 d941aa56e280b4f204272c4b1add01a8ebc7af3e8e69ba8ba9118aa2a5306dde ofl/berkshireswash/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantsc/OFL.txt +sha256 36c285c5472c625901d4a13da7e31c5ea6126678d31d56cf95572c49f27c8950 ofl/passionone/OFL.txt +sha256 fbc351e1b5428e4f45834647dc23a5f8aaa3e744e2f4117ca03c44f640b9a3a2 ofl/stintultraexpanded/OFL.txt +sha256 021d5f1df697848da51620394659187be77cbe382ff2f896bc84ffb89c0c2d52 ofl/portlligatsans/OFL.txt +sha256 85b700bfba1250a6f8bdf930cd7113faf3d8e9dc52cd89eb98c3ac8a038a4aa9 ofl/londrinasketch/OFL.txt +sha256 c972795e48b096b6d4e3a947b0bb21c1baf1922a6e07ff9ada587c058f228740 ofl/coustard/OFL.txt +sha256 eb4a7a082fb0e7dde0a8f975d33f02907ccbe40751c8115e790cf3679787d01c ofl/strait/OFL.txt +sha256 9b1cfccef4a7e19f90e2901f808f3aec4335d3cc81f978453ad0c8ded14447a0 ofl/novascript/OFL.txt +sha256 43c89012c2b640187aae7e0c83d5ffa8381a0368c00e8426594358d44d3811e3 ofl/nunitosans/OFL.txt +sha256 fdecdad755f4e5e95bee491c7521f31625dc08283562ea8579543c90430eb269 ofl/karlatamilinclined/OFL.txt +sha256 5e80642a11aff2ead815949a8a929aff3fb7b9b6a24391406068a1b204dcc8ba ofl/abeezee/OFL.txt +sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbasic/OFL.txt +sha256 f2fcbde4b8968400d661e7dcc23052b1885815c8e3b45323b26cbb833352f5de ofl/timmana/OFL.txt +sha256 c8af073a60e30b55ef5d0e4f80cea168e06dd65bdee7ec18c1ea8de8f7228780 ofl/strong/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeinline/OFL.txt +sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostar/OFL.txt +sha256 e55c615ed00ce0054bd356041a41e5942b4a8cadceac1e32696ba2ef5f06f748 ofl/andika/OFL.txt +sha256 4705fc9bceb299b2a951d23c321d31f3679871bb99ceadb978907704d211f4f2 ofl/pacifico/OFL.txt +sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancois/OFL.txt +sha256 99d67fff016522688b8f913377f8ae9f6da6ffeae42cf67c0e5e87cfb0928d33 ofl/unna/OFL.txt +sha256 bba4a13f03d0fd5b476cc148feda6895dd8d65f34b2107ba9d010ad9539d6c0a ofl/faunaone/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangang/OFL.txt +sha256 58bbdbe5c48dd1d7cfd658425a455c29811181873d3a46a4932c29e5b0ec16e6 ofl/euphoriascript/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/laila/OFL.txt +sha256 17b90cece30db64934b7299fd76b033a3774c8a990e78badc74c59a5be8e0727 ofl/cairo/OFL.txt +sha256 5f8ff4a3f951c104e99245bdb952be08c73369222048bbf19fa3bf7170d10949 ofl/sanchez/OFL.txt +sha256 8eb1c1019fe7fe6d0b6e7d7bbbba1d9cbdd969d8c5f26455708f6cfb8a77284c ofl/nanummyeongjo/OFL.txt +sha256 942d51cf079299e83e9dd7a9a37eb92260524e8d1d576b2f0b3f7ca207c53f8e ofl/newrocker/OFL.txt +sha256 117fa195cff980e3b10fd8e8e21658c6ec954b0886647970a03c9694d3553b69 ofl/galindo/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/athiti/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/annieuseyourtelescope/OFL.txt +sha256 f2ab7e5c5c750fa03a8d8f64c72a089ed86fbd3dc172440fcc704b27816d5957 ofl/noticiatext/OFL.txt +sha256 9a33b452a3107542c35fc5fcee80e4d8798c82aca071c2f6f58a0f8dc5ad61fe ofl/cevicheone/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootammudu/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasansextracondensed/OFL.txt +sha256 746b384383888d9325ed2fa9c40d2456b458aa190dd2b8c515ed4f02a1075bb7 ofl/magra/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasanscondensed/OFL.txt +sha256 fe9183a0b7c1ae626b14004cd533c89ec7c192aba017f81ab71ede910256abb2 ofl/abhayalibre/OFL.txt +sha256 876db27db250a9b9c03fc2ef30a5efe1f37c2ed2686d368c3779583bdf746912 ofl/balthazar/OFL.txt +sha256 4342add6f0f2261f8579f31c10a55938930559703eed18be4a33b74eb749d298 ofl/doppioone/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusswashcaps/OFL.txt +sha256 16a8be6ac4b009ba1dd1e17cea48762f4915609ea5dca1303f716cf63998739d ofl/adamina/OFL.txt +sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redacted/OFL.txt +sha256 866669fde730bf2785f44905ec162f05f2b8d9f6dcf366aca99360fedbfe502c ofl/dancingscript/OFL.txt +sha256 008445a4d53fbd71bff9cf733bdfd841a1b15fb58ef3473f7bab4c456e3b2930 ofl/ovo/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendrasc/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimersc/OFL.txt +sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivo/OFL.txt +sha256 3747fdcbfe4f51d6a2f101c35105bacde3715b3c32b34b6b03e5fb37983f89fc ofl/quando/OFL.txt +sha256 38a83f1f8b6efc3ab354b8b6eed22e8524dc71280844dc24811d95ae27b34952 ofl/khyay/OFL.txt +sha256 b8fb5cd1bafb52e652c733fdb75ee20c763e97acb0398f6b4bbe1d8ada0c07e5 ofl/misssaintdelafield/OFL.txt +sha256 a3b0977c5c25101d45054cf9199b9127b05fddc79d4da7dcf400821824e5a6d0 ofl/radley/OFL.txt +sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserratalternates/OFL.txt +sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asapvfbeta/OFL.txt +sha256 d3909465d5838d9d1c72b975ff1ed4f410a85dccd43801be525bf2b2bde89f92 ofl/snippet/OFL.txt +sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/mukta/OFL.txt +sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickavedisplay/OFL.txt +sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedan/OFL.txt +sha256 4281c00ab5b8f672fc8d686f48cb886ffbe900c8c9ee22473ca7e72e7cef8fbe ofl/wellfleet/OFL.txt +sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabinvfbeta/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangdon/OFL.txt +sha256 399b33eb38cdfc76b8665defa5f81d52e8193d630ad5858c893db6bc20031bc9 ofl/rye/OFL.txt +sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltoniantattoo/OFL.txt +sha256 8594350034ab1cb85a1946ef8852e69290255816c311450a66fed6eeda9d6292 ofl/anonymouspro/OFL.txt +sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzel/OFL.txt +sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillsjaffna/OFL.txt +sha256 64a73da7af818283168543e24bd214aded1bfec06f013bf9cebc20064a8560c5 ofl/elmessiri/OFL.txt +sha256 4fece81b541808b40293b0cd3f5b1990274e1100e1c20455dc2987cd96639d3f ofl/metamorphous/OFL.txt +sha256 8d325681662a30f58f57c92ab656dcbc9679deb78a493e4c0eab75321b2df6c3 ofl/worksans/OFL.txt +sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancoisshadow/OFL.txt +sha256 aac8f0cda6159b7251d1034651bcb42e07611495bc8cd764c89d22f3123032f8 ofl/aladin/OFL.txt +sha256 81d0973236b5b5709a80a217a330db36eabedf57bf4031de46b4660b69901234 ofl/leaguescript/OFL.txt +sha256 5454dc5cf2f46a2005f42f13ee2a998c7d0afd7f556f32fda208c72b266f7adc ofl/cambo/OFL.txt +sha256 b2d4b0c773afce947728ab99fca43b242b7edb0da26fe29f60c7c2d5094ec23e ofl/suwannaphum/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/labelleaurore/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejumyeongjo/OFL.txt +sha256 cbdf9d35f32a9a2f02fb23c8b89c115a5a8e45feaaa2266920c4594c83dd5ed4 ofl/tenaliramakrishna/OFL.txt +sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivovfbeta/OFL.txt +sha256 967d75b89eef1f8a0ba1f5ee7dfb13427621f9116c6e7878ca04da8c9aa8641b ofl/mrssheppards/OFL.txt +sha256 8af83da84dd4299842f871285a88049352ab301ffa1f233d2595b29506158635 ofl/blackopsone/OFL.txt +sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquin/OFL.txt +sha256 c4cd9f38c3246ee6a68c264f017320dc1af09677d386166d8cda806d9a12e0d2 ofl/jockeyone/OFL.txt +sha256 a36ab46c8b1a74a480a1c51d6a5af08b643e870c6d247f233bc97c97c8ad2098 ofl/tuffy/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/nothingyoucoulddo/OFL.txt +sha256 b5c776129b160163c84620b35fd45dea45edf49789cda5a94c2290c230581e0b ofl/scopeone/OFL.txt +sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/sintony/OFL.txt +sha256 8928e999ff156e35852ab41d7a906598a8285acd3bcd81dff67213a6cd98d43e ofl/mallanna/OFL.txt +sha256 473c5e3123102434d05c66a9fc8b19cf285a3bf71cd8a91a41acef44d1448e62 ofl/sevillana/OFL.txt +sha256 22d1914919d3fe08b179dc31169fc743ca7eede7827b91a5d48c23c8cdc7cb81 ofl/anticslab/OFL.txt +sha256 026610186158060ad351fb20cd1452def5d35b2531634c090ce8cd1d9e9aeaf2 ofl/michroma/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/shadowsintolight/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/architectsdaughter/OFL.txt +sha256 61056041809e0ba18bf8b9d637a375ab1c725025428533d74d668d88b2cb8b89 ofl/simonetta/OFL.txt +sha256 0a852a06f0256a6684662663ccb1d8e08d131abd1f70cf8d972a344cf31aa381 ofl/scada/OFL.txt +sha256 f46c3ea04f38ea73c0731d73dfba3d7361d4b38970feb31a3558bd1b75e0656a ofl/lobstertwo/OFL.txt +sha256 f30a7045e4e21201182b2b9fc4e4b96189aaeaceb2c8e9b68d8bd3dc4e3c5a27 ofl/greatvibes/OFL.txt +sha256 9bc1eb1c679510b32d2e3f5f4f3b47726b1657aa121494aa68ba0b124a3c3a53 ofl/ewert/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39/OFL.txt +sha256 359671bf16c00cae69cb66d041296b2adc7a4becd73a463cb8c5e101d97c7986 ofl/arvo/OFL.txt +sha256 c09e3b81d9cfeec46bc29a3374000e8ad013d694bdf24a288088491dd4cd5c69 ofl/creepster/OFL.txt +sha256 29bd0cfd0fb2a45f9b057c834a057724bae1f63b525a8ac83d3e7525706d9f80 ofl/inconsolata/OFL.txt +sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siamreap/OFL.txt +sha256 223fa23e8419ee762c662e0faf912dfcf386fa7093ac9ff690e380ce1993ba55 ofl/asar/OFL.txt +sha256 a0369b1d5f654110f2fe101db56a02d02806f1e609ab233368bc573ec45050e5 ofl/butcherman/OFL.txt +sha256 4f8b437578b20bff261adfe6c02f63bcf7dbb6a45ab37804b3547e5d5f44927b ofl/nosifercaps/OFL.txt +sha256 793891edf1f4f4f35b52fcc9706b03f779c7ea18ab8e9e441242d63ef0279488 ofl/autourone/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangangcondensed/OFL.txt +sha256 1c023b4aca0e441c55c45c86cdff57fa524a96778f291d9a29a4ad777b70e2e3 ofl/arbutusslab/OFL.txt +sha256 de61c87e08286ad3215398340e9403125ab03c91b33bdf29de6d3e8a386d2d28 ofl/dangrek/OFL.txt +sha256 53ad6a474f68ddfc3fe72449de3ede4d3f033b2f24b77833b1d56edf505486d2 ofl/sura/OFL.txt +sha256 247edbf968c0a5b8defd6a9e420080a8bbca6ea002bfb326d12a472a6f95637b ofl/cuprum/OFL.txt +sha256 0623888cc2391c6c9853c04eafa7f687fef1a8328bbb848feab05d9e2a98764d ofl/emilyscandy/OFL.txt +sha256 1c43e70c49ef7a9b35fcb3758fec8ec5969ff1274c4834b4466b9014f3b9f55f ofl/volkhov/OFL.txt +sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karlatamilupright/OFL.txt +sha256 cd354a6084383c50398fae709ebe3a5dd98b947c486c1fe9de5f89caf81f980c ofl/snowburstone/OFL.txt +sha256 8a59454b7f1cc0b1fa29805781769047e5c269aa629e3422c2d7fc04b89e5c1f ofl/rosarivo/OFL.txt +sha256 de71817dafdecfee21268b8c4f106146e1d00988c4fd6546b10445eb26b24cc0 ofl/expletussans/OFL.txt +sha256 d1829ff3455bbf3b9d13dfb0a57758a863107c9108aab48558f26f37f1094180 ofl/firamono/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rajdhani/OFL.txt +sha256 26e4c39c4905bd7f1068b0bab008f5a4a9b945e2d7fda31e52719fc5aa9655bf ofl/vibur/OFL.txt +sha256 49f2a11271968a2ce019a43bf5401d1593652a18f27ea59037ff5e39856d2df7 ofl/changa/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/maitree/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsanscaption/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmadurai/OFL.txt +sha256 f354ef1e7256644b320c5e1d9a07a819c2e2b930166003c96680894f9fba81be ofl/mrssaintdelafield/OFL.txt +sha256 5c289da4a19f054ace8e31a144a6a254601898cd7faf9eaa301141afda0adbbe ofl/coiny/OFL.txt +sha256 0886960207bb5bcf81a46ce663bab6c52a742dad80ee2cff5cbcda6f1df88568 ofl/rhodiumlibre/OFL.txt +sha256 8f94e5901c371537043e0c762c827ce33963e7bd186fbea0abafc035ef7120a7 ofl/emblemaone/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/gloriahallelujah/OFL.txt +sha256 24af1fb3ab8dfeddc83162b7f3b6c1104149b6c3022f1aa948ef4f8ff7e6bf7c ofl/poetsenone/OFL.txt +sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyone/OFL.txt +sha256 70f664de65e7bb62e1ac728f20a9bb28de7fdc18be594186137a9e15ce9dcee5 ofl/niconne/OFL.txt +sha256 e604b133509815768e6ec4738bb04844ce9a23e80099d2b61e5d75ef46acbeb0 ofl/ruluko/OFL.txt +sha256 42ad5a49e171bec80308a1c9e8e66b03e638b3ea65af7fafa6fc0e42f45e7626 ofl/suravaram/OFL.txt +sha256 4fe81901e6f84cfce1145c715e931352a9a12aa7ac75cc193eb523c0cb0e5eb5 ofl/lohitdevanagari/OFL.txt +sha256 2937c7789b0e4fdeda6eafe93164a2ab36e20386704c4cb6f87b1deb620ec0da ofl/leckerlione/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexmono/OFL.txt +sha256 fce9f9e2fb268507a89fceea0b3eccc044f39fc3492968a04fd9e04df5ae95fa ofl/sourcesanspro/OFL.txt +sha256 e12a3e737fa75c0ee072d965b6185710f35e38a4f7a0793ebc66ba14a216109b ofl/meiescript/OFL.txt +sha256 d2f9c74aba2716333b0a3d283083f9fdc93b2e060c5ae094c79e97e8cba9d7e6 ofl/squadaone/OFL.txt +sha256 5d6517d497bea6116ed35079b30374043f6d90b19c8d97fc4e5ec48520d1e08b ofl/zcoolkuaile/OFL.txt +sha256 f8a20490ee8ad3adb2205ea44b279b19099a3a1d6b62849e90b4db20a77deeb8 ofl/brunoace/OFL.txt +sha256 75b2a5f39a53b4cf9286eb3d2cc1f895a8f3442680013c77124121bc347a6448 ofl/lemonada/OFL.txt +sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellus/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128text/OFL.txt +sha256 eba176d3ae86af6b41e9b744e4d18fb56e2a6ad671381bddb61fabb86b1d39c1 ofl/croissantone/OFL.txt +sha256 12404fcefccc3cb964cb2406510ba679b30f7d7ae689db08df5b455ae24b3feb ofl/paytoneone/OFL.txt +sha256 e2a176ce310235bf281f1124454e21331390ae1b4c429a2d80ae642d333a5a7f ofl/frankruhllibre/OFL.txt +sha256 2d83a49d05906b5e23285168e72c0d019fc15e3ad110376f640feeeda34c27d1 ofl/hennypenny/OFL.txt +sha256 d7d8074c2dd46804990c184e25849947ab76c5ac7607fbf3966543455769bb73 ofl/yeonsung/OFL.txt +sha256 13831d02389d917d22fcfa6c79f98f8acbf61d230add0e73a4d4dc5f3bfb9e56 ofl/chakrapetch/OFL.txt +sha256 c39e284759a441660d4c4d852c537e271d0fd5c301fe46d065a972b6ee144ba8 ofl/aksarabaligalang/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmysuru/OFL.txt +sha256 0da6a3e5b24a9fa04085c20a2a1d3101eeb1e0bff56a2291f407187e1b2adcf2 ofl/mrdafoe/OFL.txt +sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612/OFL.txt +sha256 e2f2dc7a667954c16a919acff5351e8ea89813d10f5a7504e1f4668fffbfa14b ofl/barrio/OFL.txt +sha256 8c495ddd455def58a45310376a747bb61bf86e4b071cc527b3618bccd3ef00fa ofl/chauphilomeneone/OFL.txt +sha256 b687f920fe20fe48d8f7709421e5deeb4becea295c80ce62aadcffc54132fa1b ofl/stalinone/OFL.txt +sha256 a90a8ebe28f3c2905a44557166010a3d219ffcce1703c3c3280ea8728d5e2ebd ofl/heebo/OFL.txt +sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alefhebrew/OFL.txt +sha256 2cd51b11e821dad2fb7acc54d68bd9a139fc7a1207e17c432ba9ce49bba3d493 ofl/fasterone/OFL.txt +sha256 ca424122f42a8d8442bc4cfd902f5f027ea67b5417705f5af1d1235927781720 ofl/amethysta/OFL.txt +sha256 bb8fac04b8535d39fb9851c9d886248d25bc0c82000066c92dd577c3369f512b ofl/chenla/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/lovedbytheking/OFL.txt +sha256 53a9ce47085d9fef613c7ecb3730dc80d25962510bbea231b89564f58240f251 ofl/gaegu/OFL.txt +sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/share/OFL.txt +sha256 9465823369fbe1ae0b5a3065021d53ef8c56e113e664229455dc80b237fa6a07 ofl/nobile/OFL.txt +sha256 0dd8e32457e18621737b593ab0fac49905cd948a078ed0e64f4890df714a1dfb ofl/amita/OFL.txt +sha256 791936b10381b512512317572fb5eee91bf503344d52c37335e402fc1cf19992 ofl/reemkufi/OFL.txt +sha256 898a9cf80636e86d6b6009b96795fda29e431ee701c28c36f274a7e8a7d8246b ofl/rubik/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloothambi/OFL.txt +sha256 382232d1add5623ba5b06394afa071f4eeecccb6d2b2bd02cfecff4a8a45065a ofl/fondamento/OFL.txt +sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsieswashcaps/OFL.txt +sha256 d849309d514833fe3d7a610e10f6cd5d99b4f9552bfa304969acbf89c66e4422 ofl/smythe/OFL.txt +sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkorn/OFL.txt +sha256 a1077580b649c7b0e05ea0e9369d48687b4ab1c585573bf86b0dcce7dde177c0 ofl/junge/OFL.txt +sha256 a9b40759b5821a0c2ad07cbd2c2a61dca4b3e222e6370a7d5bfb6b373bf4fb10 ofl/sunflower/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindguntur/OFL.txt +sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsans/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/dawningofanewday/OFL.txt +sha256 f27cbf1055db7b9dd80bce5cd12b462f2d9ed7313d84dd8bfef1ddd2b61bdfc5 ofl/chicle/OFL.txt +sha256 aba8997e16b1e3888c6e855ba883c70d96bd4375bff8cb9c7ce0f097200f74b8 ofl/abrilfatface/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasans/OFL.txt +sha256 d484e0dce424a9e360adabb568b6773db5f1566df71ce3e9dcd66a6cc2c38d33 ofl/ericaone/OFL.txt +sha256 1b3b78123c94dcbc9fd4ec174317336c8c93423da62dc946b8852553cb13ddee ofl/economica/OFL.txt +sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/kanit/OFL.txt +sha256 a6a74417db7c37f69495da556a3eb86a22a784ffb0131e3e0a5a47ce8d7fa5fb ofl/shanti/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepicasc/OFL.txt +sha256 963f283b5410c7df62067a35cd7def0802c583a880e7cd7e326832ec3985ec87 ofl/spectral/OFL.txt +sha256 11bdf9c7abd81f46a88b0b017d78a0e51f451e9dc0c2272813aa9f456ee886ca ofl/kiteone/OFL.txt +sha256 6827fa45930d5847fca5b3d3898b3d87a229fba772a5b6c5bc33bf73ec83478d ofl/khmer/OFL.txt +sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedfort/OFL.txt +sha256 34b8afbcab7508bea23847288332a8c05a507364ca6f0c8756ce560d7d59d506 ofl/mada/OFL.txt +sha256 b67eed9578defb59cc4ff4b58428fb816786e499e84cdeafca54723b055c169e ofl/viga/OFL.txt +sha256 afc1cda4eedcfe27c8cf30fe3e9879587cb43cc2882d4cb91dd3e3fc9eecd0bf ofl/farsan/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanscondensed/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/lindenhill/OFL.txt +sha256 a89ac8075be60f2beba79bed3fa253415a373dbdc3bb108b23f4854d0dd495b8 ofl/pathwaygothicone/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindjalandhar/OFL.txt +sha256 f22a2beea88d631a620b15683fd03e79f13ad3297ad97fa5e42283c0b1a3a038 ofl/marckscript/OFL.txt +sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/terminaldosis/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimer/OFL.txt +sha256 d2f87f90d108a947f98c030d9d8e4bf27e761ce83f222453b9a7230c5fb309e1 ofl/novaflat/OFL.txt +sha256 2da0fa5707f1fab1c802969b098fd1b92ca0b3b233a80e27fca416647c064dfc ofl/exo/OFL.txt +sha256 f9e5dfcdb2947c0db70465668706b0617cd052b6f86e582dff8741d9e5cded0a ofl/yinmar/OFL.txt +sha256 bcb0bda74430ccc281a616a81d0a287fed5a423815b00b222e0b7f603f85b26f ofl/caesardressing/OFL.txt +sha256 a94cfd8d1f5c33f9a7506def359b907f3313f7008bb57fc893985963cd342f8f ofl/arsenal/OFL.txt +sha256 52caec7d90533523fa7da64e95faf90ea32a663ce21847a39234b61e18d25044 ofl/bokor/OFL.txt +sha256 ef0bdccd20de76d517fb3939161d05ecd5808382fb8fa82cde5fcdb3adcb8029 ofl/engagement/OFL.txt +sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondo/OFL.txt +sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/matesc/OFL.txt +sha256 a7ba785ad99b6eae0444ab89910e512d4af9865937fddbcb5c72c4f59f55d6ad ofl/merriweather/OFL.txt +sha256 010cb216e8f3fbb2836fa3f38787a412b749352de546797f57c03c3bcfe46b1f ofl/nunito/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsans/OFL.txt +sha256 cb8bbf7a86eefa8c146f24ae5be74fffa887ba83719ab3c87036be8e3d0191e2 ofl/montaga/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/overtherainbow/OFL.txt +sha256 3621f156cc7a26e0a9cb413332e0bb35a0e76b36dbfe0b1c885b565a7bf3051e ofl/drsugiyama/OFL.txt +sha256 fbb941b371c6348ee2572ce8c78fb66128a61885f960dec1906c4e44ca4b4d3c ofl/reeniebeanie/OFL.txt +sha256 9e19c0d2e7e7adcbe9dfd0749e34dda41e7e356e0f2cc082d61d2fc9b6e0cef7 ofl/gfsdidot/OFL.txt +sha256 812fc4af0c63d31e0e81cc153af74e397407b0630e918b8b965bcbb192bc0656 ofl/artifika/OFL.txt +sha256 e8ad3f3de5baeff6bac6e711d8c406e0a6b8a61d2944741532d8965d893a2681 ofl/pirataone/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantupright/OFL.txt +sha256 65f43260cf7e66b57ddca8d148384a6602e2c06edd389a8b3cf388045127b47d ofl/lusitana/OFL.txt +sha256 518962c41d4a5e96b0016bd8d8acc965413ea1a0102467e4955931e702b14a0d ofl/iceland/OFL.txt +sha256 2171558d2482764644a2f793696fa2e48c361730ecc87686b9a29082d6daeb10 ofl/khula/OFL.txt +sha256 d336c098ea798bf14de111cd90dff7d6bc340852405246511345d0f8564fe76e ofl/fingerpaint/OFL.txt +sha256 ea274e87939d38032b31fb741af75bff9fa3f8d4a8b652265f9e0ce1ad7e9f80 ofl/asul/OFL.txt +sha256 eb1992aec1cf892ec94ffc116d79b62c7cb03dc108141b94a57a4195d210b514 ofl/meddon/OFL.txt +sha256 9b584984f9db0ee30347391a76eff9c0a6b03dc450c3c6afe3757a2cb3a4db87 ofl/tajawal/OFL.txt +sha256 1dd84b611f4bed7f9ff9089e76a96337b187e6f283a4ab33bcb987f844f2c4db ofl/parisienne/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/hind/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpica/OFL.txt +sha256 de08ff7a460541753999b1208f1254f1d31f16b421312aca4d4b8179d997de38 ofl/aleo/OFL.txt +sha256 7706a84d7e49e2273877106334a1eded8ae89fb5839fb81e0f2bb27c846f667e ofl/lora/OFL.txt +sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karla/OFL.txt +sha256 0409c6582424508453ce41648067efaacf0c790622918493d8f1d934bc5329a0 ofl/bigelowrules/OFL.txt +sha256 9e2d92fb24b4a548ab030c509ba88267e224f2523728ee9bb35cf334811106bd ofl/exo2/OFL.txt +sha256 f480fd19e7018942ecaf460f7a4ab9ccee0aec579abcb07d559dbede913864c6 ofl/alikeangular/OFL.txt +sha256 6ea7a3ef1d07feb592693f3f22c26d0b09321ff81814292b49be99888d0da9d7 ofl/ponnala/OFL.txt +sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhymeexpanded/OFL.txt +sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveat/OFL.txt +sha256 adadb8d5d34fe2218dca0f4a4919a9b6f81dfaebb289e5446ac7b3063d6965e9 ofl/tangerine/OFL.txt +sha256 16741ac498178f645283cfb45b7a487b6d361b5de5730c5ea729f056f414f6b0 ofl/ropasans/OFL.txt +sha256 1e5bf8207a40678bc401e2e5456d0db1f2a183b550a30976b48dcdd6a4e4c46c ofl/caudex/OFL.txt +sha256 6f9e3a1c51f617e7b110862426204ec7a56d8c6d2f731373b5de6b8d069099b6 ofl/ebgaramond/OFL.txt +sha256 c2368518f12463a93cfed44e1460f36085dc60df06f415ee9b0319809987ccce ofl/frijole/OFL.txt +sha256 5f247fad3e8a86b6c0779dff09277047c1ce2b0b7580a1093347a8af755352ba ofl/sawarabigothic/OFL.txt +sha256 6627b9c2c8ff8e0c6ef23f1b0125dd5b293320c10c916d402fef64916c296d0e ofl/kreon/OFL.txt +sha256 723764a50d4e6985dfcbd75fcb40dbd3abab37ba25ae626486d4a32084854487 ofl/kdamthmor/OFL.txt +sha256 846ce83956a732edd57b74d9ba988d58abc8c8e6d0926859559318ce6aed139d ofl/mclaren/OFL.txt +sha256 ba01480319f922ecebbc73f1a523e7f8876e92b16553a32c494bcd3f6f5a27fa ofl/ledger/OFL.txt +sha256 c3bfad2900a83f571d5c984d490d51c56aef14806c28dde38125593e1e71daca ofl/mrdehaviland/OFL.txt +sha256 12af42b715a3901bfa7add1351e45b6ce22f3061555d52db45e963274c349360 ofl/arimamadurai/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/miriamlibre/OFL.txt +sha256 3169e7e0e87168908218f11d660a52c0b81b5952fd73918a596e70721d68d3e5 ofl/inika/OFL.txt +sha256 e711c816f7de931244976f51166baa15446fc307e5d0ea04fdca1bc2c04afb1c ofl/nixieone/OFL.txt +sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signika/OFL.txt +sha256 b01cec9e5e2035b70a6aeb61c673d1f6d5c91539845be07733bd9880fddeb9f0 ofl/kadwa/OFL.txt +sha256 d7577acbab1d70f2e6bd1b21d8f61db189d6aabe6375bc2d96564b8d94031664 ofl/stalemate/OFL.txt +sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eatercaps/OFL.txt +sha256 ae6de2f6fc00f76cc7eb0d97c1ae5e0b7ec734f20ad7f58cf4c74738dc822d21 ofl/chelseamarket/OFL.txt +sha256 860cbfdc9dbc3f0e8d35af80c31e8f20945bff393d4f483dfc157469e01d321c ofl/gorditas/OFL.txt +sha256 9a2d8c5a3de0a6e62432322115dce136139948411dba33cd86525c0a02749fb8 ofl/unicaone/OFL.txt +sha256 4fe01b13ffb41faa8f030d84843a95dab32792dfeeca7c072abbfd3f4d6896ad ofl/audiowide/OFL.txt +sha256 173ea2d0bdda981829719623c35699e8c0e4aa508e0af12817ad7ccbfa4c6137 ofl/originalsurfer/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/trirong/OFL.txt +sha256 58bdc69f4c6177125c6e7cdbc78f710f5f9952f11bba7bd5b17bd7ef169d731f ofl/goudybookletter1911/OFL.txt +sha256 2950994bcfb8e903f0539d28a8ec4af077e0aa1fa7946c33c912d2d6969c2971 ofl/glassantiqua/OFL.txt +sha256 7344b8b8c97c4f88c0ff8bb72bb024bba72f404be1c740b6596a73ed15d28df3 ofl/vampiroone/OFL.txt +sha256 cacad5bf45bf5c81f4b6cbd114261bc8a08f6110b66a4c6fad8bbc16618a3096 ofl/daysone/OFL.txt +sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasanssc/OFL.txt +sha256 c8155eb9337078a9ea9f1e576ac813a03030ca43e2694593e90cd4fee6fce937 ofl/sumana/OFL.txt +sha256 95803fae1b063e592c67b5867f1f36df1df526e5ebf33c6cd4d4afa31a9d5586 ofl/sitara/OFL.txt +sha256 c254ae01c407f4a2bd0ad163e4c1a795d57ddfa8967c21b8a28c250b44d13963 ofl/sawarabimincho/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellfrenchcanon/OFL.txt +sha256 25995bcf8e8ddea1aafa5449870567cbbeae7e26b27ba30aca5642f2c02e9757 ofl/quantico/OFL.txt +sha256 455755e2e7ce9dbac6beb3729c97c57d6f74a638dcb5be548ec953021fbdbfb3 ofl/ntr/OFL.txt +sha256 ad6f73fa3edb7aea340aadbc63c0d7ef7663abed82664432ae09a6b377fa313f ofl/librefranklin/OFL.txt +sha256 581f08727777cb2a1a1ec95c0f981ce64fb1ad4354f78a0ac4f3481afa605577 ofl/moulpali/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangkhong/OFL.txt +sha256 08fdc7cbd92b9bbc4d41d0945ae7f25450d91c5fc8c66c68df331af3505e4ec3 ofl/rougescript/OFL.txt +sha256 694d5c15c1dac5e26653e18b94394d911e471549ec9b7d6247ade62e486b4915 ofl/asset/OFL.txt +sha256 bddfe669338d0dbc24c15ccd31dbf5c101a213da38049c24baca9ccb7fde45a4 ofl/wallpoet/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsansnarrow/OFL.txt +sha256 3cbf579238e4eacd90ad67883d971aa346ce8990d658635f78f98d608a6830a2 ofl/zillaslabhighlight/OFL.txt +sha256 87000f71a897c8c130c7777d058c5868f84316f99a32644b3bf595cd11edeb12 ofl/sancreek/OFL.txt +sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allertastencil/OFL.txt +sha256 9608d22ae5c586628c9904e773b7c6a6520fc16e1492ebcb5ea55d9523399964 ofl/anton/OFL.txt +sha256 f3758ee70600ecd5450f01ea373204b202e048d0454c9db2d1175c5a5dd1e92f ofl/vesperlibre/OFL.txt +sha256 e43f121c788cca4a14049e58864e28021174b055710ba38e0964e816dbf905af ofl/fruktur/OFL.txt +sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notoserif/OFL.txt +sha256 a1580ba69a8d706bd95e1e72ee0b5cfda0a478fbbab6a4af13b4a9e1b28faac0 ofl/revalia/OFL.txt +sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickave/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellfrenchcanonsc/OFL.txt +sha256 0836fd874230b17f840efcf7d3bb529f5a7b5befbfeef94478519cfe2d8551c2 ofl/courgette/OFL.txt +sha256 e3ed3ad6cb257e16dc1789900707c5cd1cdef2d60d155389342604991cf693f9 ofl/bahiana/OFL.txt +sha256 391ac3126dacc95b92a8f3408467879edb3245344bc411530a30d5aada52df92 ofl/gugi/OFL.txt +sha256 88dcde7d08e509a3eec64886292a36cbd58ed9bb52f37f91f55656fb9d21ddb8 ofl/supermercadoone/OFL.txt +sha256 41423e9e1d0ea79d0e78bd5fe9e0b27f4c23140706f5dfbfe116839c83aae91c ofl/charm/OFL.txt +sha256 43186c592361336474683e302dcc988831a53857bef188c4466f6b45dc238f84 ofl/fredokaone/OFL.txt +sha256 a21fa252efb7a1ff84de6a36df4386959668aa046f28161b4047829f7d9cd1b5 ofl/damion/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsancondensed/OFL.txt +sha256 bfc205682f5454b42a732ec857b665293ab8bc6f0ee901a0967219ba7ffdb190 ofl/gfsneohellenic/OFL.txt +sha256 59b91c9912b80714852a43897cbc9414d6457e22072dc99a4cea6e2bb4f3c65c ofl/freehand/OFL.txt +sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabin/OFL.txt +sha256 b598b7fddfd578950aa1fe6e0e2607b779abfaa686b83af8ec65c860f646b2cd ofl/rumraisin/OFL.txt +sha256 2bd35914efa381c80f9fb62d6ea7d736d3c0739196a3783c3122593c3408392c ofl/gurajada/OFL.txt +sha256 5625e91bd7c2a45c8b9f59106d587bd025470b462ea901df691defe0099621e1 ofl/taprom/OFL.txt +sha256 37d5360d8d2433689e78302a93cd88e9add8a2294046476625edada2d4328deb ofl/averagesans/OFL.txt +sha256 f8e2b58dd7a8c8e21e5d744b45876bce7e010a647c071c1ed42ff0e618d4ea59 ofl/frederickathegreat/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootamma/OFL.txt +sha256 09685e225ba9b697b2ccd2d4098cac5ecbed0679960605258a271af60749887b ofl/francoisone/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/himelody/OFL.txt +sha256 08a12877eda24767239f26b527bfce0c515efaf623c66da6baad92a6d5315e9a ofl/content/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/saira/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/delius/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/pridi/OFL.txt +sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/rasa/OFL.txt +sha256 4e66943af352059c059dd658774f25fbc831f1ad478f9f0890c06ecc2dd324c7 ofl/metalmania/OFL.txt +sha256 f5b03ea0b27c7f5afb9702771ee57679ae8ba6b471b6ba9e62d985d3256f1929 ofl/playfairdisplay/OFL.txt +sha256 593f0bc55c75b673772b378eaee314f128283745c4bb1cfdb9b8012a3b6c46fe ofl/skranji/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiagruesalibre/OFL.txt +sha256 14d28541780d90f6577bb7abcc6f005bf6969614294e75c82abb8758a696ad46 ofl/quicksand/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloochettan/OFL.txt +sha256 35dca6122235851d236bd861124f4a893d409eba021cd8c6a292a19df0f4640d ofl/codystar/OFL.txt +sha256 ab721b35816e470fb11619ad3705f75d08dccd0864505e3d782e94fd937f6620 ofl/allan/OFL.txt +sha256 d9cdb075679d15a99bab2a8541b9c4fdc71347502111fbe9affd1d462219d96b ofl/indieflower/OFL.txt +sha256 1313ae342eae4e1810304b6cd32f6815dd11b8e45812a2af98e58b6960684fa0 ofl/petrona/OFL.txt +sha256 1e4015251ca58d4f349b4ac930259c6f3d6381ce68f8b4b27d54d53f8f63f972 ofl/angkor/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averialibre/OFL.txt +sha256 8e28b778b6e1a7ff9ca72f4dee2d53120aa2856dc1bfd0be44307e365b0e45bb ofl/cardo/OFL.txt +sha256 a02e8715fcdf3325c474b7209399f50230897bfa828fe4eea2639ced1a1d574b ofl/blackhansans/OFL.txt +sha256 d530c14e9cc263c567b47742ef20df2a41374f00732ba4f290f52adad428b1a2 ofl/meerainimai/OFL.txt +sha256 2e2fe5f1d8916a5160060594a96c1a5116406d26847afdbd09618481e2abd6fc ofl/denkone/OFL.txt +sha256 56c4ff36faaaf336bc5fee659ff6fab2413d67499cc22acc29079b3892d8931b ofl/miniver/OFL.txt +sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondoswashcaps/OFL.txt +sha256 742a6a4386db47a2987c7c3b4aeedfb5adedfb3356c118de450a664735686535 ofl/graduate/OFL.txt +sha256 9e53298e3629e00ae4c31531cca09051ddaa654a5de4f7b55e596132fff86e1f ofl/dhurjati/OFL.txt +sha256 df9fcd8f62ae79aba7fa5b0563a08dfede1fa0909d668287d70c395d88f5fe02 ofl/fjordone/OFL.txt +sha256 02faa476b17db0044d0c502a3ce12fdc81eeeb9bd618e6a005407c79d6081bbb ofl/monofett/OFL.txt +sha256 1edecf3f971a11dcfd777cbda6f08c0f9a77bf57a0a2a89d8142fb933894ce16 ofl/amiri/OFL.txt +sha256 6e6efa9b0556d100cfe60690cff5d9be7144df77adabfd2c278dbfee451351ea ofl/phetsarath/OFL.txt +sha256 2348c4852e6322105d130aa2addbe24c962e330094ad6dfbfd9fbd2281d76b0b ofl/bellefair/OFL.txt +sha256 3bbcf1617d93d3a949a10da78ae91c58be536fb04567ab4b5b9fd207126f1db5 ofl/buenard/OFL.txt +sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/dosis/OFL.txt +sha256 3ac1301549523d9861fedca12871f24e575fbd26d520632fc00ba849b471d275 ofl/russoone/OFL.txt +sha256 44b51296985184d9b27fc2c8e5b317906c5d65d9dc834e81c07902d3e5e1cf1a ofl/brawler/OFL.txt +sha256 afb8c471158619593df0fb501453bd39fda42396e2cc3911e2a0a471c11b863c ofl/sarala/OFL.txt +sha256 de985adf63cff6b1bcb7c5cb55f1c5850fb1d36289d20a0e26d97a281bfcf956 ofl/aldrich/OFL.txt +sha256 194e25172d0144f29aff4b6fb2931ff0be0139448a5cd867db37863c9179330a ofl/stalinistone/OFL.txt +sha256 ae05f8781a5ef38380ef3efe8cad86783610b6a780c6c278d7472f95310fccee ofl/oswald/OFL.txt +sha256 2dab153a33dcb2101bba3f194d27d953c848a0fabf2e336650a81f84a0c33b3f ofl/pragatinarrow/OFL.txt +sha256 9d61931b909f9a738964f8fb311eb8fa40dba1ef9f1688b36039ebb15ee1805e ofl/questrial/OFL.txt +sha256 e315abc82a78710c7242e2f2e6529651fd631d4d50e6ad98ea194f9b54c3d701 ofl/alfaslabone/OFL.txt +sha256 4653c63a4bab99aa50de5190853fa21ea6c0a25d69d49f5a42cd51f0f67665e0 ofl/boogaloo/OFL.txt +sha256 bd8323cd1d2b6bbdfbbf99cb41ec1156d0352ced170de4aa3a96d95e6e20bf5b ofl/amiko/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/sueellenfrancisco/OFL.txt +sha256 ed93e9833f18acc2775380a28139fd88d3ebf82df7cb814042498467be3463bb ofl/lemon/OFL.txt +sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/itim/OFL.txt +sha256 fa28ba897eb819768d6bc00c30aa03ef560e80e5f6fb872eaea089c66992f502 ofl/notable/OFL.txt +sha256 96199bf9ff12dd471a66911dee95440737b437e7f5a6fd30e9e950c16d66e8df ofl/unifrakturmaguntia/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/judson/OFL.txt +sha256 ad4f6ede2e8a017255822a6abee8d10717f1d34c20223de80285ff59e28a1cba ofl/bangers/OFL.txt +sha256 f8779e6871bbab04e0a1ddd9997f4d8173b56792a1e7f8b9d691d967a49c7dc3 ofl/andada/OFL.txt +sha256 49b9214f7b40024abec2fc89a32bdda380f2174ba7005d7636e6ea340157c5a6 ofl/jomolhari/OFL.txt +sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612mono/OFL.txt +sha256 5eca89cdd576df5e4b7c694e0425b126a9ca839aa067df85fab33904a8187076 ofl/amaranth/OFL.txt +sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenprovfbeta/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothiccoding/OFL.txt +sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extended/OFL.txt +sha256 3670ddaf348c62ada22a2f606158dedcd9ca5fd5422a6173d6593204a8f53d4f ofl/varta/OFL.txt +sha256 ab592d1abca19428b89d851706fa7815ec25139c6affb45d366577ca63fb91b7 ofl/yesevaone/OFL.txt +sha256 e8dd8f53b2fa502ace0636debbe7e357c4888d8d02b8b41d6a9a22d3058a63dc ofl/peralta/OFL.txt +sha256 cdf5fc4014abe91588666a9592ec86200e5a4d743b4b6e05d28d47e850bbe5fa ofl/digitalnumbers/OFL.txt +sha256 f8c2225a5fdb50e2e75f98cf6e69f198571f605f1b7f6f7eacc0947e2fcdbe8d ofl/sreekrushnadevaraya/OFL.txt +sha256 a80ee908b60f5bec9c10b135d3da93730e2194107d1f7fd3f61bd8c1a97b3e0c ofl/yesteryear/OFL.txt +sha256 6d216cec166b6e139adaa599053dd49720c053e1f2adb4845de3cc9c3704344d ofl/play/OFL.txt +sha256 46751a31966477e3f038d1e5ff1146a33234a3a523a0e6a21be3221cba082a34 ofl/muktamahee/OFL.txt +sha256 505bb8f3c30f2006b4e02d250fda31ed94b651a35f1124a201ca1c405ce989af ofl/biryani/OFL.txt +sha256 5641212407f956b828bf632afc4bbb3344f461f82255ab56756d9e3e8604c7b1 ofl/martelsans/OFL.txt +sha256 1ed119b01f03187dbe2f5f89c95431b9a4ca46db604fd263164d8b4055189f46 ofl/lateef/OFL.txt +sha256 4938e917ac54665be1dd862f54634d991b39c5d1eef69345d66a5089e401bfb4 ofl/creteround/OFL.txt +sha256 9263f9488a9ed1d5f4218581b642e0f054f9a20d208f1a53c19c9f7dbd27eaf2 ofl/peddana/OFL.txt +sha256 e75ed24435d1711de0bebfaa621c3eb5564798c88cc0c1d1f8d529bbaae703a9 ofl/yanonekaffeesatz/OFL.txt +sha256 708e33bed791c40638926a7577bcef8ff8748f84045f3825277540cbb8d483ba ofl/poiretone/OFL.txt +sha256 f1d1a3536fa4b9c71d04fe4c8d8bbfc0cc5c457d6883f45086b04d0bc07ed12d ofl/vastshadow/OFL.txt +sha256 f9f28345ffcd6cea6e3c6699e4579cd1948053d80fe89a6a5a2ecb269afc95f8 ofl/nikukyu/OFL.txt +sha256 c1bcd16ffc9d095822fd6b7fa1a24c7918b24815ed05711421f804293d2efa62 ofl/actor/OFL.txt +sha256 ae629d13b06d9afc5cf3c07d585f3192b89b7decaffc5c4dfcfa7ce11a2a2b11 ofl/raviprakash/OFL.txt +sha256 bdce62dd98db969b73f93f8e8e2151004c20ad871ceb15ad9bfcbdf2cf939dba ofl/pompiere/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/poorstory/OFL.txt +sha256 757f49d04406c93c40d1781e7867fd85a1f9fdfbfe03a5ae332900da802fffc6 ofl/harmattan/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/khand/OFL.txt +sha256 74ba064d03f1f1c4a952da936c3eb71866c34404916734de3cae73b34357e59e ofl/lato/OFL.txt +sha256 94625b91cba99cf9c8e580febf5e738b2e3c7cde9034a16bcfb7538b672137e5 ofl/zcoolxiaowei/OFL.txt +sha256 3e908f3a95680bdf3c8456bfbf76392605b34cb3fba109e46441056ab966cb35 ofl/modernantiqua/OFL.txt +sha256 6a809aeba8af2115ca4b4c3597b1fbeb836a45f0489070f330f9c2dff870da8d ofl/galada/OFL.txt +sha256 2c3737ea83b48d48624068d1bbd1d9f8049eb7cf2e1f67435e420375c42e0686 ofl/spirax/OFL.txt +sha256 92f750829545386017c3418d890769778b76fd01dfb41c62fcbb0d42ba0303eb ofl/dorsa/OFL.txt +sha256 656a20870fbcb8f559f1c6308c1df90ac93d7cd0279aab49b43a43b5e58534e6 ofl/neucha/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/zeyada/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laosanspro/OFL.txt +sha256 33e3a83e377c6a41149044bd919f50d9a971d801052d4e0c0a98cb417b42ae38 ofl/risque/OFL.txt +sha256 b4fc1d55ce610f255c5712f8169543f9610536d002deb99bbc99bfbba9f8a560 ofl/pangolin/OFL.txt +sha256 511125dc85198375795fdbc109d088654d3b7f9dbd3ccb7bf93d844aef0b153c ofl/ptmono/OFL.txt +sha256 819e3b25f9b50f12299a3db1638be3813efc6b938f2b86693a218d20ec4e3209 ofl/londrinashadow/OFL.txt +sha256 e3ea566dbf689a9110b2094f9f2e5d16d7ec31720147651efc1005ca20420dd4 ofl/flamenco/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowcondensed/OFL.txt +sha256 705960c3281a5765ecc0b59bd4ed7ca59eed165748076bc2fc3e8fdbfeb944b0 ofl/pressstart2p/OFL.txt +sha256 7e896665d0863d2a17a671001dbe2528a5f9302f1dff9222af8b0834e9088d0c ofl/kiranghaerang/OFL.txt +sha256 5f1f5510eff7922864bf326ffa1d4a62f01add5193e9367b542378e5a808b500 ofl/handlee/OFL.txt +sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivonarrow/OFL.txt +sha256 82831e8f12ecb6deb2f4d9919a04049895b4619e0301fa6b699c861bd7311c54 ofl/kavoon/OFL.txt +sha256 1a5e3792a425687a523fc7c0f8ab5d01d58bf853149d57f3dec4b4fc6932fcf6 ofl/hanuman/OFL.txt +sha256 7f91d7d8854e5cb4fc630807c0f4d57c07777769dc597173fe0aef5e58f0992c ofl/qwigley/OFL.txt +sha256 354b4be0340cd58e381fdf58793a108897bf944a7f8faf9e877c476ed6c730d1 ofl/convergence/OFL.txt +sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygenmono/OFL.txt +sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinate/OFL.txt +sha256 4dbbe5c21b46f2647d227dde69b971a1b46de1435e0752a9eda1ce120725a93c ofl/norican/OFL.txt +sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanalei/OFL.txt +sha256 56edbe5fff7981dae6f6eff32f61ba04cd54324e5abfa44b1257b2a307ea561c ofl/poly/OFL.txt +sha256 59bda6b53e28d388de5eac7bbb8f3e65889dc8489be3d922f95a525354110c0e ofl/tharlon/OFL.txt +sha256 3fa0ceff4b9a2d28dde43bc63cde3acfb5e6e92d13a53e484ca0e501e18c7e2e ofl/lekton/OFL.txt +sha256 ad9ce814ff266b57d3c4698d3fadca4b41a6f942a0ddd215db5cc66abf92d668 ofl/mako/OFL.txt +sha256 c4afe82f49c05689c40dd4e262803b29c6e611e7b4efd3a0418f574b2be79d9a ofl/carterone/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/karma/OFL.txt +sha256 d38acce513eccb51d7ac34ca47be279e1fcfdeca1ed088bdd2d281dc6ca939ee ofl/badscript/OFL.txt +sha256 31eb7046f4c80e0f96944c4b40b0772de68b34783b794fc13aab3f54c2ef6d9b ofl/thasadith/OFL.txt +sha256 06c79c896894160a5810d869a822fa7d02a0e2ccffd97920b8cf3b880380f6e5 ofl/amstelvaralpha/OFL.txt +sha256 4faa2d9e2ce0a4b5b37e62ee6fafe474a539b31578f7214ed97cc3503aeb8ebd ofl/oldstandardtt/OFL.txt +sha256 1e511bb01d29562932157365418c02d954d8faeef794bcd54729177fb2b03db0 ofl/istokweb/OFL.txt +sha256 846e8cc6dc69bf685d2db14cfa758ff3d9d771d54c9e0d3b511f0ecb97ac0e8a ofl/cambay/OFL.txt +sha256 6c181f5a0045e8f414e1c232c35972ab83ea084ac44825f517ba001628d97b21 ofl/kronaone/OFL.txt +sha256 d7f96801a28ea11eaa51bc4a9c87fd91f2133bc298068e6e2847a15ddda23089 ofl/librecaslontext/OFL.txt +sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/sriracha/OFL.txt +sha256 22c4588bdc14621220ba14515d52041d1312541e034a15d1f5c2a88fc6075276 ofl/merriweathersans/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39text/OFL.txt +sha256 5b26c88d163b1430561f53fd3d9021d6057f3c67d25534a5d8d232cfbf8ee2a4 ofl/wireone/OFL.txt +sha256 57f8d60cfe9212b971f07253e303746128edd06b21e3a0e4e188308e569f03e5 ofl/orienta/OFL.txt +sha256 c87702d8b70f714fbefb554660e8ca57a43ef62a59089d11cbf0c6bd51d56928 ofl/lohittamil/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejuhallasan/OFL.txt +sha256 9437c26410bcd543607a6775e7d0e359c1df3926d68c92dbaceb26ce79cc0fd3 ofl/bevan/OFL.txt +sha256 50265d2b41f8ad2dd350532d2286509aa694021b4aa0490b06f0068e4ed78c27 ofl/herrvonmuellerhoff/OFL.txt +sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeyemarrow/OFL.txt +sha256 1fac7a3e4e43b091c2d31aef7a375d2b969c42b2d5fce8e2d40b5f7b1233ddb7 ofl/moul/OFL.txt +sha256 331c71cbd8f1d8a70cd6eec3d55553b64e6261a9bb0982fa12e6e48baca827c5 ofl/philosopher/OFL.txt +sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygen/OFL.txt +sha256 89418a3c7b5726c3f8828a7b7c3f1cad661cf5b7a1be3d2bd9ea243f8d9890c8 ofl/sniglet/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balooda/OFL.txt +sha256 89d9d01291eeb91074ccf1f7ce07e7a1d9d421ec1191f8e84d440cb50830ed92 ofl/purplepurse/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloopaaji/OFL.txt +sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeye/OFL.txt +sha256 f938d4076b66a13cf984ce88d92a07ff9802e8ae5e1f4a28cdc43fad122ae611 ofl/spinnaker/OFL.txt +sha256 89bf0833b785c49b0f271273ab440bdc20c85bf0322537dc901df940bf1579da ofl/amarante/OFL.txt +sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhand/OFL.txt +sha256 684ef102ca4c5ff61cf1c1e5c2c6326f3c26f848446f98b8862dcca716a87601 ofl/quattrocento/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rozhaone/OFL.txt +sha256 61be7c29f4835e2be7243db12213d75d53ff028f29f4b493212a1688b1d3a1ba ofl/titanone/OFL.txt +sha256 9df0700fcd0ef48abd74459a8650d35f59397fbaa00c5b00527e57cc155689c0 ofl/durusans/OFL.txt +sha256 b1958132ff727bd74409aa37ec0abbe4be13b1b379e1210e6fb77fc608c607d5 ofl/kodchasan/OFL.txt +sha256 f1888ed385b528866a472d02f4e06ef0873aca5b3c63ff1f6116cbb150dc9a13 ofl/metal/OFL.txt +sha256 e36d420a3b382b337c386338d8abc3635e10de5dfca7f822fc63ac659a0dcfc3 ofl/amaticasc/OFL.txt +sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscript/OFL.txt +sha256 60ddc0ee6e443b78940b5f92bcbab76c98ec6965e0da9fbdaf267383ab72bba8 ofl/anticdidone/OFL.txt +sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothic/OFL.txt +sha256 3184f6a99f589c78740fbff6ddaaabb43b8cc2f3852da36e60aeb024ea8d6f00 ofl/eaglelake/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/halant/OFL.txt +sha256 9a9f089005f389717106bb3ba427cda9bd51b8a477078644566543f2a60ca85d ofl/rambla/OFL.txt +sha256 99d2f30e282d6174af8ff68597f58bb53c0dcb2b104a4c1b8d19da49021d00d3 ofl/unifrakturcook/OFL.txt +sha256 2bb0c0200723d923f8e20d08b8bd1c7af7f5cef8bb2d63ce44bd268b54334621 ofl/fjallaone/OFL.txt +sha256 72afba97d1ac9409a9fd3bb91a02a639427ca1988977909dad273e293a508d7e ofl/staatliches/OFL.txt +sha256 88aece7d90f2bb7049719f11619a560af22af3451af141f12aa4f46bb157a99b ofl/lobster/OFL.txt +sha256 955655cafa13f187f45a79dcf451942fd1118a8426abc5a25ffc5dbb00709da6 ofl/juliussansone/OFL.txt +sha256 9e1c955538817c3fab7160cb3110501e73ce109eeb58c4992a14e8323d900849 ofl/pecita/OFL.txt +sha256 96d82a96abc02fb457ddde0227833dbde9d1d02876c91f0a4e27845ca0d692fa ofl/atomicage/OFL.txt +sha256 7729f005b7a087368e2cf61fc4b65cdc85988e47d0e6e38c93a72de345e86b41 ofl/newscycle/OFL.txt +sha256 336fab6956d78eb34b50cd7bc6b16116c44735fbd0bf9f4def769ca4d8e218a9 ofl/sofia/OFL.txt +sha256 b26cae1321380296ba8311b632a397d5eac11b47197f9d0aa0b9310f1531ad60 ofl/sarabun/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/suezone/OFL.txt +sha256 d3711c90a7deda6210d30e41b945f16bdaa00662b30ee0b7c36abfee82525bfe ofl/kokoro/OFL.txt +sha256 513b7871a360a6eccd426bab59743fbff36764588f47381423f04ad6b3d821d9 ofl/alexbrush/OFL.txt +sha256 67f64c5509e5151796599e3ad47c3131cbe0c80c4f9430b90236a1249c2eacc9 ofl/roundedmplus1c/OFL.txt +sha256 4a7d2f227b91046ef7a54f8f735668d86e45f4fd4089268de292a6e9de108253 ofl/bentham/OFL.txt +sha256 3c187c861dc291b9f7f96f655656f9ac2d57b33da425bd5962810be728344f57 ofl/brunoacesc/OFL.txt +sha256 869e4c29978c318b33c2e5c7c8f24d2e947f249071bb1471620036a9d1ba87ad ofl/k2d/OFL.txt +sha256 6383249ddffbd87f2bbd7878ceba2dee0f1a2193cd7a4f41c00aaceb8e6d8b5b ofl/meriendaone/OFL.txt +sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/sortsmillgoudy/OFL.txt +sha256 d64c91b0306b53fabed08762068eea8b918d654fb0721c288f13cefa4aaf088c ofl/butterflykids/OFL.txt +sha256 bc1175730d609233043cde47e48f69831f012e85537c5ec1a2cf4836757c1540 ofl/mali/OFL.txt +sha256 fe5e822667a4b2e083b8fdd7a37546163f26f6481b58742236abffdcfb3e6c71 ofl/baijamjuree/OFL.txt +sha256 b0316f404a7b291e40921c605160181065791a5010a2d2d5691fc7e28cdbdff2 ofl/underdog/OFL.txt +sha256 c026db4c1a557cae47e6930876965f9cbc05758eb1f5d6f59b6b61c8f342a57f ofl/alice/OFL.txt +sha256 aad1e82802172d4c1d22dd015a5b8b4275e5665a49c1df54ed64716fca7ae194 ofl/corben/OFL.txt +sha256 878aec7282ab41d058cedbf90e14512bcb4fbd0658496de8c2dfc592ed1f0cd0 ofl/lilyscriptone/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglishsc/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/sarpanch/OFL.txt +sha256 aff3cea99bf300b4b29f4dc04867cf9b49d83de8c5ecaf991c446d506b56173e ofl/wendyone/OFL.txt +sha256 b054962de0af1397d5350fddb4d6bb20f5f2e073b543eeeb694c7c3b27144fc5 ofl/chivo/OFL.txt +sha256 19849b33c59d0cffeaad0dbdc38db767e95e03cd36fbbfe6b67a9878aa5758df ofl/fasthand/OFL.txt +sha256 a57810cbca0b4715ae8610dd7a268260cebbdd4fd76d304e371517f828150669 ofl/stoke/OFL.txt +sha256 47a0b7e315bc56ca0326fca46302d87d48a61e3528d4196e966b62f5bf0243f2 ofl/armata/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothic/OFL.txt +sha256 616e75d879831bedfa7725c078e09bb56f8a17f40b194e16691b12251bb42b3e ofl/majormonodisplay/OFL.txt +sha256 75c7ccf4f537a7a3ebbedd299c1d2542e13d3b27aaf76a0a2d9fa91a2a8fcd3a ofl/felipa/OFL.txt +sha256 ee2c069b30f3e9a5aaf52357117ee3443ee27f17c29a2ec68861db283379905c ofl/dynalight/OFL.txt +sha256 fbe0442a6b1ce162c95e241df76cab5ef2daf6a5ac84ae1a7a6749f32c051098 ofl/breeserif/OFL.txt +sha256 43d530580461a574f6dfed9e15af6a74e95f7c04d9bfa1174a63ff036e8eee07 ofl/rubikmonoone/OFL.txt +sha256 40bd3f35477284c021978816e9d3b8723ff2283fd7065fafaa5bb3004e41b237 ofl/songmyung/OFL.txt +sha256 460966d12f306a007930575c3b8bc336fe0c32f880d622af6d3b745a06ca79a4 ofl/benchnine/OFL.txt +sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreyasc/OFL.txt +sha256 0c922e2d65050677c26ae8dc501bc9ad3e0059c4b10df2fc9717d7bdacdfeb6d ofl/ramabhadra/OFL.txt +sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquindark/OFL.txt +sha256 e39d6ec64a37ed1523a59940695a61ea5e7882d9bbe0e7eb11653fda4b04fc79 ofl/kottaone/OFL.txt +sha256 1bfe7d2aca99042eabf37079152fef8abdda2c36dad454ae89b858a3cb1078c5 ofl/forum/OFL.txt +sha256 5505d1a010ee0f2eeecdf624984d2a6170480adab3091170abbcedd85361f1b9 ofl/novacut/OFL.txt +sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellussc/OFL.txt +sha256 0786594992757ea0290ae4a490ab9249728f372adb13959c0c8ae4fec83057ff ofl/quintessential/OFL.txt +sha256 ca13e9cd1faaa6afb9e43dcb534a8984cec3218993fb4b436468a79a1657ee19 ofl/keaniaone/OFL.txt +sha256 760fb433c515570f6b77ebc60299c2c91d5f03848c659452a9d2458b28935768 ofl/numans/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantunicase/OFL.txt +sha256 1d1b7f3480c8d9b65c26d205e41dcbfa85731588d6ea50bccfa78e91f242d629 ofl/loversquarrel/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/prompt/OFL.txt +sha256 eb6c70cb6b575ad22df022d454df7a20582915e6e8da19b579c6cbef37a26bb5 ofl/gafata/OFL.txt +sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilboswashcaps/OFL.txt +sha256 4579982a484a9745864de2cda666fd7b5017f9182b74dbb4cd53d84c1d1b2231 ofl/gruppo/OFL.txt +sha256 cd059851dc2abcd2865ae318e8b949736f958794210acb90316530fd100fc904 ofl/geo/OFL.txt +sha256 af9b97696048d509e3d70f8108b7c4381084f95c8fedd97acaa76b0b287668be ofl/molle/OFL.txt +sha256 6958d8c61b6b223f81bdc2109941e5d0004996dde61e197d628e0293f4f1bc58 ofl/miama/OFL.txt +sha256 7e98b49a12b51240c85b04eb0d9919a6fec7dbd491bef6cbddc22d3f851bd1f1 ofl/marmelad/OFL.txt +sha256 b9d592c3bf421197d9b7e353416b8e2ec81584988824b43d38c86d997a08b868 ofl/myanmarsanspro/OFL.txt +sha256 e414e07f7a4da16ed47ebec80d52dd79f21d3ca42bc92385a755d8078a038814 ofl/playfairdisplaysc/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairaextracondensed/OFL.txt +sha256 bc85bae0b512b799bbfb2b916e4d0a34cfd963d09778cd783e248b479e67760a ofl/comfortaa/OFL.txt +sha256 caa697668c3cf3e622753fb202c6c2e29648b94a3499dc7b869a14192e38c553 ofl/sourceserifpro/OFL.txt +sha256 81d6c3788a6b641cb9f543389d9d5c0cd3bf94fbb5639be19c102b9274c34291 ofl/mousememoirs/OFL.txt +sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/arya/OFL.txt +sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkornsc/OFL.txt +sha256 6506b2fa2a14259a8859608a6148a4591d67bbaef4d8e1948b43c4078561b0e5 ofl/tauri/OFL.txt +sha256 6cca1abc09d677cf00a55674ce2775e0eeb6dc5c0137b0401816680b9e500f81 ofl/marvel/OFL.txt +sha256 e98ce988fba1c138f4e7c0c5120809706ab1b24a3c29638ca83ab2ff082e08db ofl/chango/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairasemicondensed/OFL.txt +sha256 42e7b456fee0d0dc86927579b3d2626d42bb0f4cc9778f3a92ca8ada4e46348e ofl/novaslim/OFL.txt +sha256 1b8eef90c567309fef17962cc969dd9ed1de69176517238e744018bb983e7c1c ofl/mandali/OFL.txt +sha256 9e262d6d7fb789aab6a8ecc53fc9c78387eeb9f935dcd289282d8e751b6bf743 ofl/antonio/OFL.txt +sha256 07dbf75115edfc1fd75580aa19c4c730201a099e8f86a9869887dfbed0547266 ofl/offside/OFL.txt +sha256 f177d98c67b84250ec87a03ca6ad161e84cab15b435e960039b971797a065f4a ofl/martel/OFL.txt +sha256 bb3e8082faf86b1474a6b042125ef0f83669d28110b72f70416a7587b7b9f144 ofl/unlock/OFL.txt +sha256 c4955dfe15a5db10326aa58ef767460c42cd12a3acdb3e698eee2704eb373d94 ofl/electrolize/OFL.txt +sha256 cf6dd07485d67d20f105afb9981dffdb6b180b59af45a228839cf3fb0277c9fb ofl/arapey/OFL.txt +sha256 87e8d9aca71dbe0481ba8611fc90d7e3aebfa3e2546420c403e7078898b0c484 ofl/allura/OFL.txt +sha256 55e13d77a4457aa9c60f10c5b97baea3343d3bac30960d49554a033cb9eaff7c ofl/sail/OFL.txt +sha256 1c5bc055869d5e9151ec7774082727db720ec4293c65be67f91a4bdcaeb02998 ofl/righteous/OFL.txt +sha256 de5ff32211a4340b01477af39ee339d639438955e409f79b666d4b9207f3c92c ofl/dohyeon/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/waitingforthesunrise/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglish/OFL.txt +sha256 44a7c6e4c5572392ae122d3b1d8c6ba6fd640a7797e675384585d947f2773e3c ofl/jua/OFL.txt +sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signikanegative/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantgaramond/OFL.txt +sha256 9ee6b2ec20a06c599a07412690876eb457bf192c10e886e60d8bdffb80bc21a3 ofl/sahitya/OFL.txt +sha256 dcc832bd71ea62cbf97f06327a1b5442905b49ea446801421d71f7d1362db215 ofl/dokdo/OFL.txt +sha256 8aa063e3a1299c5e1821f386f5ca8bc157ac561bd12c739ffa81c6f0821450c0 ofl/donegalone/OFL.txt +sha256 e588abf45ca2b19c340c4b27349c9b6b6e5e198316fd965128ed9f4422942cbe ofl/raleway/OFL.txt +sha256 9860b97028024085855e503e32c1971bfd603374641cd018c136433ebcf5a338 ofl/gravitasone/OFL.txt +sha256 ee9d043332991eb6bf2bd56fb04db3c558c1ee2f0cb9aa7b18366c77e34fef30 ofl/jura/OFL.txt +sha256 15b1a21c3fa37a475ba6b0c0cfe289c7952548caf6e432068ddaf98d139ce419 ofl/belleza/OFL.txt +sha256 c5a77946a56488790364d060628385d51226da62a18f30d2be0181d82ee62b00 ofl/suranna/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/megrim/OFL.txt +sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extendedtext/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/teko/OFL.txt +sha256 d324289a26909a519fb16c3d468a56ab909ad6d9070cac5742e5d59ad9bd9815 ofl/gildadisplay/OFL.txt +sha256 c0bcb72e68dd416db0bb9fcec7a7fa62321b0147cde00d8c8f82748e33aefd34 ofl/novasquare/OFL.txt +sha256 794d72ffdd25e8f7ca8e1d68db088c30ddbf2fdb369b6cc8217d4fa5fa6dc62f ofl/adobeblank/OFL.txt +sha256 806cb93632b8091cd36554642a96b2752bab50015da6a2b456d786c1f9aef5a5 ofl/carme/OFL.txt +sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasans/OFL.txt +sha256 08b6f5cceaefcf2881eb009adeb78edd0fabf9c8f0eaf8b88f07a690222227e6 ofl/varelaround/OFL.txt +sha256 3f0f27931c92453994176af3b1e7954f9aac39fe145374d6d08c47c822e82e59 ofl/princesssofia/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeoutline/OFL.txt +sha256 455397ca15d39e9178bbbf4b485a29187751d60f7ceb7829980a521d5ab6848d ofl/sofadione/OFL.txt +sha256 b7574cd4c76770e5e3915d16bd93f09663bd77cb041a4ec09d824c52b540529a ofl/germaniaone/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/eastseadokdo/OFL.txt +sha256 520a0c239d39b379b61c4de5f8e3b02db20b0dfc137481843eac01f02c41f4a2 ofl/aguafinascript/OFL.txt +sha256 ffaf7bc750bdaa0b95b09eb80e419748bfaf46268c6612860f0a5e19e17abb12 ofl/orbitron/OFL.txt +sha256 c6b9c7322fe0203d4d8a0f98541136d8d76da76b92c79d206b09991b98338cc8 ofl/gemunulibre/OFL.txt +sha256 2f871c2e81de6d0c72c981615002c30bc9f1637003d6d3d4c3f0149886b70569 ofl/mervalescript/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaijaan/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsanvertical/OFL.txt +sha256 00a6fe8dfdc48d6206bcc4f10a765515a73433dfba7255eff966963beb26facb ofl/dhyana/OFL.txt +sha256 cd2dea62cd4b0c5fb335cf07ff04fd5c4bacb49b8d6c2bbbef9766c663d79b1c ofl/patuaone/OFL.txt +sha256 c0a8947de199b422d30c16137e4decd5362e3a1d504422880d69c02bd6046dac ofl/cagliostro/OFL.txt +sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alef/OFL.txt +sha256 2cc926050c4c6ccd9a0288b7792e2fcf93e5629ee6269e35986f092275e5a1b9 ofl/sarina/OFL.txt +sha256 f1bce31b817dee01c1e4ef8bc45d8ecb95f01f4abbf0a985007cb3cd0fd8123d ofl/zcoolqingkehuangyou/OFL.txt +sha256 9788e3b3e67f22ab5846a0bb867a230e7df2468c3cd20f730a5d9c34e673d090 ofl/rubikone/OFL.txt +sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustinavfbeta/OFL.txt +sha256 ee81f11dd1970e9749afd2a572256f8eefce65532872762a4d7a3d5daa0812c8 ofl/shojumaru/OFL.txt +sha256 4f4bc3806a1e55789c6ef75ca5fc628297b05292f74966474dc0d40324abc609 ofl/abel/OFL.txt +sha256 064539f87826887d2062b7823b2b97b7625d68b642f6c945c99c0b8dc8084195 ofl/rationale/OFL.txt +sha256 a345b13576140008a697ac66ca8c76cd63b1dd076712bc30a0f5e97dcc53cc83 ofl/markoone/OFL.txt +sha256 203693528d6d2e8dc5e639c6ea42b3e825b59dd6447294e37b306fe734650091 ofl/arizonia/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/fanwoodtext/OFL.txt +sha256 3997621a219c7758e31dbafdd3cbd2bcb0b6144a41d1ca068d04dbcc4bafcde6 ofl/milonga/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeshade/OFL.txt +sha256 162a3b5c72cba845280a6f887c11d02984540b924510138c8b1eb473bcdafb6a ofl/concertone/OFL.txt +sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveatbrush/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlow/OFL.txt +sha256 9551ade371e7bcb1f6d9959273bbf1fed3bdf398efb5c57cc1fd85d6a13e9e5e ofl/londrinaoutline/OFL.txt +sha256 f15a9a3a9a665c2d17655b8fedad86d9a8f30081d46bb91236beb1bc7294a589 ofl/akronim/OFL.txt +sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo13px/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairacondensed/OFL.txt +sha256 96b7bc175186cd0153a9682a1c9bb1da7103ab13a83abef8026bc64582ca616f ofl/oregano/OFL.txt +sha256 6fc386ac48a529b85c21f90a6c8d2111c6271b3063f9ddd78e92645db5259510 ofl/tulpenone/OFL.txt +sha256 13e862ac3f67130f58bd4bebb61c588d147b5a555b1ac6959570799c4f648cd0 ofl/capriola/OFL.txt +sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktamalar/OFL.txt +sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siemreap/OFL.txt +sha256 f76c1013cffb3e0de0e7dad19ee5b4b7849c7ab10b67218515e39cfd87e554a7 ofl/julee/OFL.txt +sha256 c264f64bb2b91ca0dfdeab75d71719120271fa6a30035396416af235ef481c1e ofl/merienda/OFL.txt +sha256 d102f22055cfa31a9659228483de3c726010f0b3b416b78e3cbefcb54816e812 ofl/galdeano/OFL.txt +sha256 2db02cb5d05d5f8a003ffefce36a32a16520ad4cab9ed90635ff953b583e4e82 ofl/sigmarone/OFL.txt +sha256 cdcc959c42ab255b4cea4bd82f2db5c24a2da7ecabe615d02d5a5dba3716e446 ofl/racingsansone/OFL.txt +sha256 c88333734ad7cd30540ec6614d12aa829a0395715de30e336d22ddfa3005db42 ofl/catamaran/OFL.txt +sha256 26daffa24723bb188643085cfc5423f9d78d22a395df4a7928380e430545a201 ofl/bubblegumsans/OFL.txt +sha256 de2246895f0ac21fe05b095d586d36cbc9f987ebcaed1e050c61e69667caf1c6 ofl/hannari/OFL.txt +sha256 b54d54664cddcbf05f5b4ea3aec7e89317eb917cf465920969e7b22361e0f4a5 ofl/seymourone/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiaseriflibre/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsanscondensed/OFL.txt +sha256 5802c9e3509199c7aa9a13ea410ae27febbc0cdea184bf7d227170fac703bba8 ofl/passeroone/OFL.txt +sha256 2400b30a72d2b1555255b81625576dfb552584a19a9c85ad8d43ff77bceab13b ofl/plaster/OFL.txt +sha256 4bed7eaae70cab1bdf2bcf9b1cb562fcd9cc26d1c3533c4ade0ec70516dfb3a4 ofl/trykker/OFL.txt +sha256 45b1f44d2cb859ea4b7be2f322c57b8ff7be55075c336744e62b5550cd0a97eb ofl/medievalsharp/OFL.txt +sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpass/OFL.txt +sha256 ff1f38ac4e694a4ad5bd3d7a5146cd8bd73fd57aae794ced76a24b0d68e41206 ofl/pinyonscript/OFL.txt +sha256 6aa923334ec515d26b1a61bb978a0bb5bd8884de7529add1625beef2f4a53f74 ofl/nicomoji/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesansexpanded/OFL.txt +sha256 38fab5a643fa935a4e11edae2d7b2bbe9866b4f4828c2be2f41451b3f27cb67a ofl/paprika/OFL.txt +sha256 a5fc033225d145b43fd7391482ae7689825414ce29a01614d651a3012b57c81e ofl/monsieurladoulaise/OFL.txt +sha256 ecc91fac753ad9ba5bb7e7819a5c59ee1e3cf89032133c6b4b0318d63c35933b ofl/alike/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejugothic/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepica/OFL.txt +sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/mate/OFL.txt +sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillscolombo/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/secularone/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesans/OFL.txt +sha256 136a256d6050ed32bbf96736d70b9099c6359e83dabeb6847cdf6b8ef84319cc ofl/kantumruy/OFL.txt +sha256 72060253bd481a8dc18664bb9117072dc07c0f0270a40617c230654821774850 ofl/pattaya/OFL.txt +sha256 56d9c3529facf93873a2a1626dd038054d244b3af30a1e3ffe0e78bbda1c7622 ofl/preahvihear/OFL.txt +sha256 1a2debd5ad8e656b26bb3b29213caa8f7e557a2f31454b11ebb6c3e3b59aa5d4 ofl/cutefont/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/kalam/OFL.txt +sha256 d941c5b788d47aa469ee54e30f4c12d6a43c45a295f10c568bdf9772f2893b7b ofl/oranienbaum/OFL.txt +sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notosans/OFL.txt +sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedford/OFL.txt +sha256 0acef93ca37cf19eeb83a1c6a29b78b08377a211c8d80cd27626e210176828da ofl/kavivanar/OFL.txt +sha256 c0562e066174197902a4a10606673d189f067970ef89c6013943b9cf182aadbc ofl/titilliumweb/OFL.txt +sha256 f8fbefb5b1004615e6d1e84b1c75e68520d91196f600cb1b07620dd2748eff64 ofl/cantataone/OFL.txt +sha256 2e2cb5a98da665f2ab82a9fd01fb18c2337f845761b0c163f690ed65f3b94677 ofl/sacramento/OFL.txt +sha256 251f65282ff48a7e8ef3fb661fc99254d9b3b0c368427c98b1edbfe4ca66e888 ofl/katibeh/OFL.txt +sha256 31bc966c36352bfd33717382786d0458c38ecf540628ab134e0ce35fde801d28 ofl/poppins/OFL.txt +sha256 f016385cb4b360e7698d22a48c6b58c0634b1ed5c9c17df78515d43887511df6 ofl/yaldevicolombo/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/swankyandmoomoo/OFL.txt +sha256 b712dacdda5da76c0213f8478886f893b855665c1153ae438bc3e55a7dc525ef ofl/kurale/OFL.txt +sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/chonburi/OFL.txt +sha256 8f187da1eb4f23e3fe7ba68b1cb2e92881a415dd34c46489698454517e273c4f ofl/krub/OFL.txt +sha256 3336bf5d4e7eedba48ecb831f37bf676e901c39f2e6a422cceadd9d2ffa55be8 ofl/kaushanscript/OFL.txt +sha256 bb655534b6c7bf3e547c1368a68a5b1032d0e96fd08b5cc75f3d7a78528784ef ofl/novaoval/OFL.txt +sha256 04b895d77ccec5034191e953e8e5884637269be15fe0675fc25039014eb46349 ofl/monda/OFL.txt +sha256 d724dea493d89a7a9681186e2fb462b7cd551674960ee4142ae6b325261b5115 ofl/hanna/OFL.txt +sha256 64ecb0c6bf5cd80c3da76035c00671272966afbd32ffbdbcad95a8b56501fb08 ofl/decovaralpha/OFL.txt +sha256 0cf28cdcf1cdfd35054352816b2d8c81bd6d6f73632198b61507f26dd4dcbeea ofl/sansita/OFL.txt +sha256 d69bcd35f4a121b312a64f7e8eb15bed61c9056e9e9cdaa8d513366142c8e005 ofl/rosario/OFL.txt +sha256 b4cff421cb89d1e32036e818f291f8ab0d3294ada70b5883d5bcc6470b869702 ofl/eczar/OFL.txt +sha256 ecb52bab55d8d6185712fe8fd2fd98300f5c8c07fad0d0a97b1e579462b0dd3f ofl/bayon/OFL.txt +sha256 ed95c33f80ccca002e3a360b683c43368f9c5eb024e5b992abb51af3c10b59bc ofl/gothica1/OFL.txt +sha256 66b5c49d384cba754806a891ebd52f2ca08dd05c0eb3c56170192da466a00a20 ofl/londrinasolid/OFL.txt +sha256 284a5a26e6db9a04259a5690ad57d52c56a4c515ca2ece1943d950f99e709dcd ofl/belgrano/OFL.txt +sha256 6cbe0f55c154b5dee71ca4f2418d69e4e916448ef2ab52dc4541197b292efa24 ofl/sonsieone/OFL.txt +sha256 255d5debbb80eb2ea762644311f266a279e8778f00156655a516e2b7781a63e1 ofl/lilitaone/OFL.txt +sha256 490b8f3acbce2331adc9b9d3e75ee6fe07946fb29af429a300c7d066b1250b2d ofl/crimsontext/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumbrushscript/OFL.txt +sha256 f2c0dfa02d6f5c444b4babd7bc0b43be77ea85706e8524342516bc41e43c2f01 ofl/fahkwang/OFL.txt +sha256 4398885e6b303830d81eea03444aae6fb08a44f41b6acd193c88a2f8cd17606e ofl/srisakdi/OFL.txt +sha256 c1f8e0feb0babaacf774b971bcfd791e44125b9d61ff074e4c20924e9661556e ofl/antic/OFL.txt +sha256 6a73f9541c2de74158c0e7cf6b0a58ef774f5a780bf191f2d7ec9cc53efe2bf2 ofl/notosanstamil/OFL.txt +sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/codacaption/OFL.txt +sha256 b41b99f35b507564e54f6b2f5162ad1c21f94a16837c632da6632b376a341f42 ofl/nosifer/OFL.txt +sha256 e8d0118fa9d640543e7f6848d1d93f47313c7f56b64f73f37291d859cd5932bf ofl/souliyo/OFL.txt +sha256 bff4e5087ece354afccd073621197bbb7dd9349943b5ee6aa12b1adf0b133081 ofl/happymonkey/OFL.txt +sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanaleifill/OFL.txt +sha256 03082243ebc53e2090bc59987f693982ccee83b30516457b11f6a2349b78f5f8 ofl/rokkitt/OFL.txt +sha256 1152ca18eaa6159634f1eb209c60df360c1c09a52991e392f8033702036634d4 ofl/assistant/OFL.txt +sha256 012b1870f81b0d97ca756edd9eea315c7fc22657ac2f1cbdfcb6772fed3e20f3 ofl/bhavuka/OFL.txt +sha256 ce1108854c91696a8549bb21459f1dc74e8a1ec11664d712c3868c40042f1a8a ofl/rufina/OFL.txt +sha256 bac36a7fcafc5702d9d928bb81c7de9f8739eaa820e546c3d2cc52730b652af4 ofl/devonshire/OFL.txt +sha256 ac987f9cbc5b18d3239d88adb57a4e134049811d24ddda2f6383faa589fd2727 ofl/holtwoodonesc/OFL.txt +sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyonesc/OFL.txt +sha256 965bd2c907f7bb6f36da4f85e83f29aea8b2f720783deebd7ed7b40678e67672 ofl/mysteryquest/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemiexpanded/OFL.txt +sha256 19e186a088a50835b38b59409a76b8df2d0252ce114a99e79e306231bbe253b7 ofl/dellarespira/OFL.txt +sha256 aa36087ecd7e9085e5a1439b0a6d0ee35966e8cd2ccaa649bebe62cae5815e82 ofl/lifesavers/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpicasc/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/loveyalikeasister/OFL.txt +sha256 a9ef1db03f660130790beeb3b5d91b68536a44a98ec2db3097d02a1c5f91c599 ofl/buda/OFL.txt +sha256 de318dcb99e332a746edb9f83180ee206fc3bce74ff96ad7d1cb219967ec74af ofl/pollerone/OFL.txt +sha256 315a576cbc7ab61c9e347b5725893bc8498fdcb8fc10831793c6864bc2cefba8 ofl/gudea/OFL.txt +sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserrat/OFL.txt +sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkovavfbeta/OFL.txt +sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhandsc/OFL.txt +sha256 ec1d7de447a90e4b6d8f2b4f95c7f89a70e315fdb41969bc716059e4f2461fa4 ofl/clickerscript/OFL.txt +sha256 7039124ec9c84f9d637637da9f80158f0d3681c82d4e6a811053467f7c33d587 ofl/prostoone/OFL.txt +sha256 16f8621a8dda01f044b8a58489334dbaadfad44ef2fa1d5ce0864cc2f309df01 ofl/inknutantiqua/OFL.txt +sha256 ae30055f1e31d12f6235802c25a8872bb7053fca8ed4a604c530f4b2ee83e572 ofl/pontanosans/OFL.txt +sha256 f1ef4c3ef43322403f5c30e4fb46496969cb5c34a2a6e7247b507254b69caa6a ofl/novaround/OFL.txt +sha256 cf5c4103b0ecf3c38e7c26768b5caf05e1b3e16d4d87b32d859b3c19ce7c216c ofl/petitformalscript/OFL.txt +sha256 ed80dd9539708a531313f98fb081aeeaa395ab5726931a433845d667b019c855 ofl/abyssinicasil/OFL.txt +sha256 1404cc9279d4ad713a372a5e1e1d20d7b9b000d2397c8529aeb3df5402446600 ofl/cutive/OFL.txt +sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpassmono/OFL.txt +sha256 0878e7d6e842bc3c45154059a1c2812de0d31dca343fe6bc16abc9afdee3e3de ofl/koho/OFL.txt +sha256 636d62f04d7bda9fcf9354f258f6244e7e18288cae036b95122e204f1acbec80 ofl/neuton/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloo/OFL.txt +sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkova/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungee/OFL.txt +sha256 dc35123e99a857674b3e8807e9d7df82220d298423d9fc50ce084fbcdecf602d ofl/jotione/OFL.txt +sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo27px/OFL.txt +sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/oflsortsmillgoudytt/OFL.txt +sha256 d7b108fc1f23fb016a47bb40c63d6f6e04cc35a1edfb991638d7f03621bf7f33 ofl/terminaldosislight/OFL.txt +sha256 71e5222c549d85a1403b6e709b4328b81d7b51ba021b8bd20df89550da80c087 ofl/yatraone/OFL.txt +sha256 f139d6f43d2a63a8fb3ded48b8ec747d9d59a7fbb13d077d9b96ac88580bc1ad ofl/dekko/OFL.txt +sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsansstdlight/OFL.txt +sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscriptswashcaps/OFL.txt +sha256 64dc6a7e2a77aa340c49c3e0829703f540f8d64afa506f44eaa6741580716d0f ofl/gabriela/OFL.txt +sha256 17d7a7f5d9f0139535ecec516988c4c73a2ec0f225987288f3fd6ee2622d4450 ofl/federant/OFL.txt +sha256 c0a7efe98e77cbfcf1a5ca43e874e25cf53d9185c56295bc3b5c407f95dae638 ofl/nats/OFL.txt +sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/ekmukta/OFL.txt +sha256 e5ccbfc32e4d7fae98b467a9af310ac8d2efd5d90e684426cd24f3eb36090a2c ofl/acme/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/modak/OFL.txt +sha256 75a77451968e55a1ab404bd953bd8778983e21116d507b890fbcf838e58c8e8b ofl/pavanam/OFL.txt +sha256 36931b77dd81fa96fffad91b6acb54931e600845eb81f91ecf1b4459012c621a ofl/vidaloka/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhai/OFL.txt +sha256 1c45059cea5c6798c8591b0a17961a30328747d44214ff9b8f9c62a683bd6598 ofl/ruda/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/thegirlnextdoor/OFL.txt +sha256 4dee45deee99672fbe342b2f4b7aa75b0cd12de18a68f9732c77f096bab47e0e ofl/molengo/OFL.txt +sha256 5a5cf278190adf8be3e9905c2b21460241cb376c600bdfd6eb7aceb66036c4bf ofl/telex/OFL.txt +sha256 bb49cbf811dafcb11e0de081efcdc8385e45ccc85a5bfc3231ec4861d444dc42 ofl/ruthie/OFL.txt +sha256 b5c3d12a3085b96011fee65555234bb9d31fa7444cf6f8d5ae6b1f5771394399 ofl/lakkireddy/OFL.txt +sha256 23b896f4937eac954a383340c92dfcac1c6e05ec21cc08ec6de47d30ad8496a3 ofl/charmonman/OFL.txt +sha256 39602407e30d466bf169f46d690aaae4f5f039258e5642f91a80bb132ce6e14a ofl/bubblerone/OFL.txt +sha256 e31de7000a2a13b2e54ad01e788fd29e979fe05ea1fded44d6e71cc06e33bb2b ofl/ralewaydots/OFL.txt +sha256 8218df19bcd9786311bf1126815e8d591027aaf7611ef031af5a31c3fd66e928 ofl/arefruqaa/OFL.txt +sha256 e37fcc467040ecd81bf4cf59c99ef56b20f57918995e82b3de1d5b4e931bc2e6 ofl/portlligatslab/OFL.txt +sha256 60fea3a0da19167a3efb9c3792a3a15dc9235405d01bbec1233fdf3e79c74296 ofl/freckleface/OFL.txt +sha256 da15da6b1496d4de18f97e2ad1b722ef8a1c121149c2c93b2cf7eac6ac27b35c ofl/mplus1p/OFL.txt +sha256 d51f3341fd7b3dfa1114d3ef0bdabbe57f60eef86a1458019e0077d676fa1fcb ofl/lancelot/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantinfant/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemicondensed/OFL.txt +sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eater/OFL.txt +sha256 b43e2530c7af69fe1800f180d210b6d2745915ed4e0e404495038c861bb6dbf7 ofl/hammersmithone/OFL.txt +sha256 5a8751bef5a4fc867ae015099267905034345260f14060fa276aac4051ddd8b4 ofl/varela/OFL.txt +sha256 f6fc9fbae062e4efc1b0306e27715d43cd64a48b8ffba81c22034b8efee4fce2 ofl/cabinsketch/OFL.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntucondensed/LICENCE.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntumono/LICENCE.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntu/LICENCE.txt diff --git a/package/googlefontdirectory/googlefontdirectory.mk b/package/googlefontdirectory/googlefontdirectory.mk index c34de3b0fe..8773390f0c 100644 --- a/package/googlefontdirectory/googlefontdirectory.mk +++ b/package/googlefontdirectory/googlefontdirectory.mk @@ -4,20 +4,34 @@ # ################################################################################ -GOOGLEFONTDIRECTORY_SITE = \ - https://s3.amazonaws.com/joemaller_google_webfonts -GOOGLEFONTDIRECTORY_SOURCE = googlewebfonts.tgz -GOOGLEFONTDIRECTORY_LICENSE = OFL-1.1 +GOOGLEFONTDIRECTORY_VERSION = 94dff3eaa9301b6640cccc63c56d6ff33d82882c +GOOGLEFONTDIRECTORY_SITE = $(call github,google,fonts,$(GOOGLEFONTDIRECTORY_VERSION)) GOOGLEFONTDIRECTORY_FONTS = \ $(call qstrip,$(BR2_PACKAGE_GOOGLEFONTDIRECTORY_FONTS)) +ifneq ($(filter apache/%,$(GOOGLEFONTDIRECTORY_FONTS)),) +GOOGLEFONTDIRECTORY_ALL_LICENSES += Apache-2.0 +GOOGLEFONTDIRECTORY_LICENSE_FILES += $(addsuffix /LICENSE.txt,$(filter apache/%,$(GOOGLEFONTDIRECTORY_FONTS))) +endif + +ifneq ($(filter ofl/%,$(GOOGLEFONTDIRECTORY_FONTS)),) +GOOGLEFONTDIRECTORY_ALL_LICENSES += OFL-1.1 +GOOGLEFONTDIRECTORY_LICENSE_FILES += $(addsuffix /OFL.txt,$(filter ofl/%,$(GOOGLEFONTDIRECTORY_FONTS))) +endif + +ifneq ($(filter ufl/%,$(GOOGLEFONTDIRECTORY_FONTS)),) +GOOGLEFONTDIRECTORY_ALL_LICENSES += UFL-1.1 +GOOGLEFONTDIRECTORY_LICENSE_FILES += $(addsuffix /LICENCE.txt,$(filter ufl/%,$(GOOGLEFONTDIRECTORY_FONTS))) +endif + +GOOGLEFONTDIRECTORY_LICENSE = $(subst $(space),$(comma)$(space),$(GOOGLEFONTDIRECTORY_ALL_LICENSES)) + define GOOGLEFONTDIRECTORY_INSTALL_TARGET_CMDS - for i in $(GOOGLEFONTDIRECTORY_FONTS); \ - do \ - $(INSTALL) -d $(TARGET_DIR)/usr/share/fonts/$$i && \ - $(INSTALL) -m 0644 -t $(TARGET_DIR)/usr/share/fonts/$$i $(@D)/$$i/*.ttf || exit 1; \ - done + $(foreach d,$(GOOGLEFONTDIRECTORY_FONTS), \ + mkdir -p $(TARGET_DIR)/usr/share/fonts/$(notdir $(d)) + $(INSTALL) -m 0644 -t $(TARGET_DIR)/usr/share/fonts/$(notdir $(d)) $(@D)/$(d)/*.ttf + ) endef $(eval $(generic-package)) diff --git a/package/gpm/0005-fix-building-w-newer-glibc.patch b/package/gpm/0005-fix-building-w-newer-glibc.patch new file mode 100644 index 0000000000..b451d975e0 --- /dev/null +++ b/package/gpm/0005-fix-building-w-newer-glibc.patch @@ -0,0 +1,32 @@ +From b350aee4ea5785a75cb6ad770f6b768c506ebb70 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Mon, 14 Mar 2016 15:39:54 -0400 +Subject: [PATCH] fix building w/newer glibc + +Linux C libraries are looking to disentangle sysmacros.h from the +sys/types.h include, so make sure we pull in the header when it is +found. + +Signed-off-by: Giulio Benetti +--- + src/daemon/open_console.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/daemon/open_console.c b/src/daemon/open_console.c +index 4d6c0af..6dd43e6 100644 +--- a/src/daemon/open_console.c ++++ b/src/daemon/open_console.c +@@ -24,6 +24,10 @@ + #include /* major() */ + #include /* ioctl */ + ++#ifdef HAVE_SYS_SYSMACROS_H ++#include /* major() w/newer glibc */ ++#endif ++ + /* Linux specific (to be outsourced in gpm2 */ + #include /* for serial console check */ + #include /* for serial console check */ +-- +2.17.1 + diff --git a/package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch b/package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch deleted file mode 100644 index 1dfa9607e3..0000000000 --- a/package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 98c8f5f4429ac3bfc09eee235fee08b9aaff8c52 Mon Sep 17 00:00:00 2001 -From: Zoltan Gyarmati -Date: Tue, 30 Jan 2018 19:58:54 -0800 -Subject: [PATCH] Fix isync build when ublox not selected too. - -The isync support uses the ublox driver, but if the ublox support is -disabled while isync is enabled, the build will fail. - - -Upstream commit: -http://git.savannah.gnu.org/cgit/gpsd.git/commit/?id=98c8f5f4429ac3bfc09eee235fee08b9aaff8c52 - -Signed-off-by: Zoltan Gyarmati ---- - SConstruct | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/SConstruct b/SConstruct -index 1c1a215..c6a309e 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -334,6 +334,11 @@ for driver in ('ashtech', - env['nmea0183'] = True - break - -+ -+# iSync uses ublox underneath, so we force to enable it -+if env['isync']: -+ env['ublox'] = True -+ - opts.Save('.scons-option-cache', env) - env.SConsignFile(".sconsign.dblite") - --- -2.7.4 - diff --git a/package/gpsd/0002-driver_greis-fix-build-with-reconfigure-disabled.patch b/package/gpsd/0002-driver_greis-fix-build-with-reconfigure-disabled.patch new file mode 100644 index 0000000000..77badb31cf --- /dev/null +++ b/package/gpsd/0002-driver_greis-fix-build-with-reconfigure-disabled.patch @@ -0,0 +1,49 @@ +From 21a752e827bc9e14de4b4c26aef4d0db7403a5b7 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 9 Oct 2018 15:22:46 +0300 +Subject: [PATCH] driver_greis: fix build with reconfigure disabled + +Unhide the definition of greis_parse_input and greis_event_hook since +they are used unconditionally. + +Fixes the following build failure: + +driver_greis.c:969:25: error: 'greis_parse_input' undeclared here (not in a function); did you mean 'generic_parse_input'? + .parse_packet = greis_parse_input, + ^~~~~~~~~~~~~~~~~ + generic_parse_input +driver_greis.c:973:25: error: 'greis_event_hook' undeclared here (not in a function) + .event_hook = greis_event_hook, + ^~~~~~~~~~~~~~~~ + +Cc: Gregory Fong +Signed-off-by: Baruch Siach +--- +Upstream status: http://lists.nongnu.org/archive/html/gpsd-dev/2018-10/msg00012.html + + driver_greis.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/driver_greis.c b/driver_greis.c +index 9eb148fc76cd..222bd9daf020 100644 +--- a/driver_greis.c ++++ b/driver_greis.c +@@ -797,7 +797,6 @@ static ssize_t greis_control_send(struct gps_device_t *session, + } + #endif /* CONTROLSEND_ENABLE */ + +-#ifdef RECONFIGURE_ENABLE + static void greis_event_hook(struct gps_device_t *session, event_t event) + { + if (session->context->readonly) +@@ -870,6 +869,7 @@ static gps_mask_t greis_parse_input(struct gps_device_t *session) + return 0; + } + ++#ifdef RECONFIGURE_ENABLE + /** + * Set port operating mode, speed, parity, stopbits etc. here. + * Note: parity is passed as 'N'/'E'/'O', but you should program +-- +2.19.1 + diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in index 849d22ffa7..e951c0154e 100644 --- a/package/gpsd/Config.in +++ b/package/gpsd/Config.in @@ -154,6 +154,11 @@ config BR2_PACKAGE_GPSD_GPSCLOCK help GPSClock support +config BR2_PACKAGE_GPSD_GREIS + bool "Greis" + help + Greis support + config BR2_PACKAGE_GPSD_ISYNC bool "iSync" help diff --git a/package/gpsd/gpsd.hash b/package/gpsd/gpsd.hash index 805c298bca..fe594ea28b 100644 --- a/package/gpsd/gpsd.hash +++ b/package/gpsd/gpsd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 68e0dbecfb5831997f8b3d6ba48aed812eb465d8c0089420ab68f9ce4d85e77a gpsd-3.17.tar.gz +sha256 48521f5158f5fda4c88a6f75e8bfc1ee67e999e3fc095e4a06cb8c2af56712f4 gpsd-3.18.tar.gz sha256 71ff85d18bf063954cfc4251678d0e772223e21f80febbd99d5524c90f73f832 COPYING diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 8c8023e818..48d21348b9 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -4,7 +4,7 @@ # ################################################################################ -GPSD_VERSION = 3.17 +GPSD_VERSION = 3.18 GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd GPSD_LICENSE = BSD-3-Clause GPSD_LICENSE_FILES = COPYING @@ -19,10 +19,12 @@ GPSD_SCONS_ENV = $(TARGET_CONFIGURE_OPTS) GPSD_SCONS_OPTS = \ arch=$(ARCH)\ + manbuild=no \ prefix=/usr\ sysroot=$(STAGING_DIR)\ strip=no\ - python=no + python=no \ + qt=no ifeq ($(BR2_PACKAGE_NCURSES),y) GPSD_DEPENDENCIES += ncurses @@ -47,14 +49,6 @@ ifeq ($(BR2_microblaze),y) GPSD_CFLAGS += -O0 endif -# Enable or disable Qt binding -ifeq ($(BR2_PACKAGE_QT_NETWORK),y) -GPSD_SCONS_ENV += QMAKE="$(QT_QMAKE)" -GPSD_DEPENDENCIES += qt -else -GPSD_SCONS_OPTS += qt=no -endif - # If libusb is available build it before so the package can use it ifeq ($(BR2_PACKAGE_LIBUSB),y) GPSD_DEPENDENCIES += libusb @@ -111,6 +105,9 @@ endif ifneq ($(BR2_PACKAGE_GPSD_GPSCLOCK),y) GPSD_SCONS_OPTS += gpsclock=no endif +ifneq ($(BR2_PACKAGE_GPSD_GREIS),y) +GPSD_SCONS_OPTS += greis=no +endif ifneq ($(BR2_PACKAGE_GPSD_ISYNC),y) GPSD_SCONS_OPTS += isync=no endif diff --git a/package/gqrx/Config.in b/package/gqrx/Config.in index 1dc40c6d24..b0d7e7b9f3 100644 --- a/package/gqrx/Config.in +++ b/package/gqrx/Config.in @@ -1,22 +1,27 @@ -comment "gqrx needs a toolchain w/ C++, threads, wchar" +comment "gqrx needs a toolchain w/ C++, threads, wchar, dynamic library" + depends on BR2_USE_MMU # gnuradio + depends on !BR2_PACKAGE_PYTHON3 # gnuradio + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_USE_WCHAR + !BR2_USE_WCHAR || !BR2_STATIC_LIBS -comment "gqrx needs qt5, gnuradio, fftw's single precision" - depends on !BR2_PACKAGE_GNURADIO || !BR2_PACKAGE_FFTW_PRECISION_SINGLE || \ - !BR2_PACKAGE_QT5 +comment "gqrx needs qt5" + depends on !BR2_PACKAGE_QT5 config BR2_PACKAGE_GQRX bool "gqrx" - depends on BR2_PACKAGE_FFTW_PRECISION_SINGLE # gnuradio - depends on BR2_PACKAGE_GNURADIO - depends on BR2_PACKAGE_QT5 + depends on BR2_USE_MMU # gnuradio + depends on !BR2_STATIC_LIBS # gnuradio depends on BR2_INSTALL_LIBSTDCPP # boost depends on BR2_TOOLCHAIN_HAS_THREADS # boost depends on BR2_USE_WCHAR # boost + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_PACKAGE_QT5 + depends on !BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_GNURADIO select BR2_PACKAGE_GNURADIO_ANALOG select BR2_PACKAGE_GNURADIO_AUDIO select BR2_PACKAGE_GNURADIO_BLOCKS diff --git a/package/gqrx/gqrx.mk b/package/gqrx/gqrx.mk index b51bb23eaf..d93c07d10c 100644 --- a/package/gqrx/gqrx.mk +++ b/package/gqrx/gqrx.mk @@ -12,4 +12,10 @@ GQRX_DEPENDENCIES = boost gnuradio gr-osmosdr qt5base qt5svg GQRX_CONF_OPTS = -DLINUX_AUDIO_BACKEND=Gr-audio +# gqrx can use __atomic builtins, so we need to link with +# libatomic when available +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GQRX_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif + $(eval $(cmake-package)) diff --git a/package/grep/grep.hash b/package/grep/grep.hash index 10a5e320e4..4aa7b4ecb8 100644 --- a/package/grep/grep.hash +++ b/package/grep/grep.hash @@ -1,4 +1,5 @@ # Locally calculated after checking signature -# http://ftp.gnu.org/gnu/grep/grep-3.1.tar.xz.sig -sha256 db625c7ab3bb3ee757b3926a5cfa8d9e1c3991ad24707a83dde8a5ef2bf7a07e grep-3.1.tar.xz -sha256 ca372a7d92560b1fa9f6d832b440e8bcd62d9adfa8870c98287deab66d98310e COPYING +# http://ftp.gnu.org/gnu/grep/grep-3.3.tar.xz.sig +# using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE +sha256 b960541c499619efd6afe1fa795402e4733c8e11ebf9fafccc0bb4bccdc5b514 grep-3.3.tar.xz +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/package/grep/grep.mk b/package/grep/grep.mk index 730f36a344..96685b0276 100644 --- a/package/grep/grep.mk +++ b/package/grep/grep.mk @@ -4,7 +4,7 @@ # ################################################################################ -GREP_VERSION = 3.1 +GREP_VERSION = 3.3 GREP_SITE = $(BR2_GNU_MIRROR)/grep GREP_SOURCE = grep-$(GREP_VERSION).tar.xz GREP_LICENSE = GPL-3.0+ diff --git a/package/grpc/0001-target-build-using-host-plugin.patch b/package/grpc/0001-target-build-using-host-plugin.patch new file mode 100644 index 0000000000..5993987bc8 --- /dev/null +++ b/package/grpc/0001-target-build-using-host-plugin.patch @@ -0,0 +1,52 @@ +From aa18148e392ef28275a182db34397ccb66fb4617 Mon Sep 17 00:00:00 2001 +From: Robert Rose +Date: Wed, 28 Nov 2018 09:41:52 -0800 +Subject: [PATCH] CMakeLists.txt: allow passing a pre-existing grpc_cpp_plugin + +The grpc_cpp_plugin is meant to be executed during the build process +of grpc. As such, in cross-compilation contexts, this program needs to +be built for the host machine and not the target machine. In order to +allow this, this commit adds an option gRPC_NATIVE_CPP_PLUGIN that can +be passed on the command line, with the path to an existing +grpc_cpp_plugin binary. If not passed, grpc_cpp_plugin is built as +usual. + +Signed-off-by: Robert Rose +--- + CMakeLists.txt | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc76cf5..7a22b08 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13108,6 +13108,18 @@ target_link_libraries(grpc_cli + endif (gRPC_BUILD_TESTS) + if (gRPC_BUILD_CODEGEN) + ++if (gRPC_NATIVE_CPP_PLUGIN) ++ ++add_executable(grpc_cpp_plugin ++ IMPORTED ++) ++ ++set_property(TARGET grpc_cpp_plugin ++ PROPERTY IMPORTED_LOCATION ${gRPC_NATIVE_CPP_PLUGIN} ++) ++ ++else() ++ + add_executable(grpc_cpp_plugin + src/compiler/cpp_plugin.cc + ) +@@ -13143,6 +13155,7 @@ if (gRPC_INSTALL) + ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} + ) + endif() ++endif() + + endif (gRPC_BUILD_CODEGEN) + if (gRPC_BUILD_CODEGEN) +-- +2.20.0.rc0.387.gc7a69e6b6c-goog + diff --git a/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch b/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch new file mode 100644 index 0000000000..766f758172 --- /dev/null +++ b/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch @@ -0,0 +1,52 @@ +From 0aeefca28104f86f14b511feee8d5711f2e8bcb5 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 31 Dec 2018 16:22:07 +0100 +Subject: [PATCH] Properly detect the availability of pthread_setname_np() + +This commit adds a CMake check for the availability of +pthread_setname_np(), and only uses it on Linux when available. + +Indeed, some C libraries, such as uClibc, do not provide this +non-POSIX function in all cases. + +Upstream: https://github.com/grpc/grpc/pull/17610 +Signed-off-by: Thomas Petazzoni +--- + CMakeLists.txt | 6 ++++++ + include/grpc/impl/codegen/port_platform.h | 2 ++ + 2 files changed, 8 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc76cf50da..8dd457fb1a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -94,6 +94,12 @@ endif() + + set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) + ++include(CheckSymbolExists) ++check_symbol_exists(pthread_setname_np pthread.h HAVE_PTHREAD_SETNAME_NP) ++if (HAVE_PTHREAD_SETNAME_NP) ++ add_definitions(-DHAVE_PTHREAD_SETNAME_NP) ++endif () ++ + add_definitions(-DPB_FIELD_16BIT) + + if (MSVC) +diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h +index b2028a6305..dc89e6ed57 100644 +--- a/include/grpc/impl/codegen/port_platform.h ++++ b/include/grpc/impl/codegen/port_platform.h +@@ -173,7 +173,9 @@ + #endif /* _LP64 */ + #ifdef __GLIBC__ + #define GPR_POSIX_CRASH_HANDLER 1 ++#if defined(HAVE_PTHREAD_SETNAME_NP) + #define GPR_LINUX_PTHREAD_NAME 1 ++#endif /* HAVE_PTHREAD_SETNAME_NP */ + #include + #else /* musl libc */ + #define GPR_MUSL_LIBC_COMPAT 1 +-- +2.20.1 + diff --git a/package/grpc/Config.in b/package/grpc/Config.in new file mode 100644 index 0000000000..2765d0fb40 --- /dev/null +++ b/package/grpc/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_GRPC + bool "grpc" + depends on BR2_INSTALL_LIBSTDCPP # protobuf + depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf + depends on BR2_HOST_GCC_AT_LEAST_4_8 # protobuf + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf + depends on !BR2_STATIC_LIBS # protobuf + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC + select BR2_PACKAGE_C_ARES + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_PROTOBUF + select BR2_PACKAGE_ZLIB + help + A language-neutral, platform-neutral, open source, remote + procedure call (RPC) system initially developed at Google. + + http://github.com/grpc/grpc + +comment "grpc needs a toolchain w/ C++, threads, dynamic library, host and target gcc >= 4.8" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_4_8 \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS diff --git a/package/grpc/grpc.hash b/package/grpc/grpc.hash new file mode 100644 index 0000000000..9e5011125a --- /dev/null +++ b/package/grpc/grpc.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 a5342629fe1b689eceb3be4d4f167b04c70a84b9d61cf8b555e968bc500bdb5a grpc-v1.16.1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk new file mode 100644 index 0000000000..6c804429ff --- /dev/null +++ b/package/grpc/grpc.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# grpc +# +################################################################################ + +GRPC_VERSION = v1.16.1 +GRPC_SITE = $(call github,grpc,grpc,$(GRPC_VERSION)) +GRPC_LICENSE = Apache-2.0 +GRPC_LICENSE_FILES = LICENSE + +GRPC_INSTALL_STAGING = YES + +# Need to use host grpc_cpp_plugin during cross compilation. +GRPC_DEPENDENCIES = c-ares host-grpc openssl protobuf zlib +HOST_GRPC_DEPENDENCIES = host-c-ares host-openssl host-protobuf host-zlib + +GRPC_CONF_OPTS = \ + -D_gRPC_CARES_LIBRARIES=cares \ + -DgRPC_CARES_PROVIDER=none \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_NATIVE_CPP_PLUGIN=$(HOST_DIR)/bin/grpc_cpp_plugin + +# grpc can use __atomic builtins, so we need to link with +# libatomic when available +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GRPC_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif + +HOST_GRPC_CONF_OPTS = \ + -D_gRPC_CARES_LIBRARIES=cares \ + -DgRPC_CARES_PROVIDER=none \ + -DgRPC_CARES_PROVIDER=none \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/package/gstreamer/Config.in b/package/gstreamer/Config.in index c6292f4a7e..e922437f22 100644 --- a/package/gstreamer/Config.in +++ b/package/gstreamer/Config.in @@ -7,7 +7,6 @@ source "package/gstreamer/gst-plugins-good/Config.in" source "package/gstreamer/gst-plugins-bad/Config.in" source "package/gstreamer/gst-plugins-ugly/Config.in" source "package/gstreamer/gst-ffmpeg/Config.in" -source "package/gstreamer/gst-dsp/Config.in" source "package/gstreamer/gst-fsl-plugins/Config.in" source "package/gstreamer/gst-omapfb/Config.in" source "package/gstreamer/gst-plugin-x170/Config.in" diff --git a/package/gstreamer/gst-dsp/Config.in b/package/gstreamer/gst-dsp/Config.in deleted file mode 100644 index 102cf69b45..0000000000 --- a/package/gstreamer/gst-dsp/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_GST_DSP - bool "gst-dsp" - depends on BR2_cortex_a8 - select BR2_PACKAGE_TIDSP_BINARIES - help - GStreamer plug-in to access TI OMAP3 DSP algorithms. - - http://code.google.com/p/gst-dsp/ diff --git a/package/gstreamer/gst-dsp/gst-dsp.hash b/package/gstreamer/gst-dsp/gst-dsp.hash deleted file mode 100644 index 3bccfc1c3a..0000000000 --- a/package/gstreamer/gst-dsp/gst-dsp.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 45437a038979916de74e78a2cc7a0b01ba3982d0848e1e483a054c9cf0ce5883 gst-dsp-v0.10.2.tar.gz diff --git a/package/gstreamer/gst-dsp/gst-dsp.mk b/package/gstreamer/gst-dsp/gst-dsp.mk deleted file mode 100644 index dedffb9822..0000000000 --- a/package/gstreamer/gst-dsp/gst-dsp.mk +++ /dev/null @@ -1,20 +0,0 @@ -################################################################################ -# -# gst-dsp -# -################################################################################ - -GST_DSP_VERSION = v0.10.2 -GST_DSP_SITE = $(call github,felipec,gst-dsp,$(GST_DSP_VERSION)) - -define GST_DSP_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e -endef - -define GST_DSP_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e DESTDIR=$(TARGET_DIR) install -endef - -GST_DSP_DEPENDENCIES = gstreamer tidsp-binaries host-pkgconf - -$(eval $(generic-package)) diff --git a/package/gstreamer/gst-plugins-bad/Config.in b/package/gstreamer/gst-plugins-bad/Config.in index 7bbd56a602..411e4b6174 100644 --- a/package/gstreamer/gst-plugins-bad/Config.in +++ b/package/gstreamer/gst-plugins-bad/Config.in @@ -242,10 +242,6 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_Y4M comment "plugins with external dependencies (there may be more available)" -config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK - bool "apexsink" - select BR2_PACKAGE_OPENSSL - config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BZ2 bool "bz2" select BR2_PACKAGE_BZIP2 @@ -324,14 +320,13 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_ZBAR bool "zbar" depends on BR2_TOOLCHAIN_HAS_THREADS # zbar-> libv4l depends on BR2_USE_MMU # zbar-> libv4l - depends on !BR2_STATIC_LIBS # zbar-> libv4l depends on BR2_INSTALL_LIBSTDCPP # zbar-> libv4l - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # zbar-> libv4l + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # zbar select BR2_PACKAGE_ZBAR -comment "zbar plugin needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0" +comment "zbar plugin needs a toolchain w/ threads, C++ and headers >= 3.17" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ - || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + depends on !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 endif diff --git a/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk b/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk index b9416db34f..a98eac4235 100644 --- a/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk +++ b/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk @@ -12,7 +12,9 @@ GST_PLUGINS_BAD_LICENSE = LGPL-2.1+, GPL-2.0+ GST_PLUGINS_BAD_LICENSE_FILES = COPYING.LIB COPYING GST_PLUGINS_BAD_CONF_OPTS = \ - --disable-examples + --disable-apexsink \ + --disable-examples \ + --disable-spandsp GST_PLUGINS_BAD_DEPENDENCIES = gst-plugins-base gstreamer @@ -471,13 +473,6 @@ GST_PLUGINS_BAD_CONF_OPTS += --disable-y4m endif # plugins with deps -ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK),y) -GST_PLUGINS_BAD_CONF_OPTS += --enable-apexsink -GST_PLUGINS_BAD_DEPENDENCIES += openssl -else -GST_PLUGINS_BAD_CONF_OPTS += --disable-apexsink -endif - ifeq ($(BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_BZ2),y) GST_PLUGINS_BAD_CONF_OPTS += --enable-bz2 GST_PLUGINS_BAD_DEPENDENCIES += bzip2 diff --git a/package/gstreamer/gstreamer/gstreamer.mk b/package/gstreamer/gstreamer/gstreamer.mk index 88cc798828..2ec360c94d 100644 --- a/package/gstreamer/gstreamer/gstreamer.mk +++ b/package/gstreamer/gstreamer/gstreamer.mk @@ -15,7 +15,7 @@ GSTREAMER_LICENSE_FILES = COPYING # Checking if unaligned memory access works correctly cannot be done when cross # compiling. For the following architectures there is no information available # in the configure script. -ifeq ($(BR2_arc)$(BR2_xtensa)$(BR2_microblaze)$(BR2_nios2)$(BR2_or1k),y) +ifeq ($(BR2_arc)$(BR2_xtensa)$(BR2_microblaze)$(BR2_nios2)$(BR2_or1k)$(BR2_riscv),y) GSTREAMER_CONF_ENV = as_cv_unaligned_access=no endif ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in index 28b1ed25c5..922ecefcff 100644 --- a/package/gstreamer1/Config.in +++ b/package/gstreamer1/Config.in @@ -11,6 +11,7 @@ source "package/gstreamer1/gst1-imx/Config.in" source "package/gstreamer1/gst1-interpipe/Config.in" source "package/gstreamer1/gst1-libav/Config.in" source "package/gstreamer1/gst1-rtsp-server/Config.in" +source "package/gstreamer1/gst1-shark/Config.in" source "package/gstreamer1/gst1-validate/Config.in" source "package/gstreamer1/gst1-vaapi/Config.in" source "package/gstreamer1/gst-omx/Config.in" diff --git a/package/gstreamer1/gst-omx/gst-omx.hash b/package/gstreamer1/gst-omx/gst-omx.hash index 3e94d4eee0..3efd9f3226 100644 --- a/package/gstreamer1/gst-omx/gst-omx.hash +++ b/package/gstreamer1/gst-omx/gst-omx.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.14.2.tar.xz.sha256sum -sha256 316dbb13693795383cad6ec4dbebd94a869cd1f9d59a393686cad0b77bf9b5a9 gst-omx-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.14.4.tar.xz.sha256sum +sha256 969870e75c1f75c96f8783530e2c2932fc3afbfd976eb0c466f51dae268ea3d4 gst-omx-1.14.4.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/gstreamer1/gst-omx/gst-omx.mk b/package/gstreamer1/gst-omx/gst-omx.mk index f70477823e..bb325ad1d2 100644 --- a/package/gstreamer1/gst-omx/gst-omx.mk +++ b/package/gstreamer1/gst-omx/gst-omx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST_OMX_VERSION = 1.14.2 +GST_OMX_VERSION = 1.14.4 GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx @@ -12,26 +12,26 @@ GST_OMX_LICENSE = LGPL-2.1 GST_OMX_LICENSE_FILES = COPYING ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) -GST_OMX_CONF_OPTS = \ - --with-omx-target=rpi +GST_OMX_VARIANT = rpi GST_OMX_CONF_ENV = \ CFLAGS="$(TARGET_CFLAGS) \ -I$(STAGING_DIR)/usr/include/IL \ -I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \ -I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux" -endif - -ifeq ($(BR2_PACKAGE_BELLAGIO),y) -GST_OMX_CONF_OPTS = \ - --with-omx-target=bellagio +else ifeq ($(BR2_PACKAGE_BELLAGIO),y) +GST_OMX_VARIANT = bellagio GST_OMX_CONF_ENV = \ CFLAGS="$(TARGET_CFLAGS) \ -DOMX_VERSION_MAJOR=1 \ -DOMX_VERSION_MINOR=1 \ -DOMX_VERSION_REVISION=2 \ -DOMX_VERSION_STEP=0" +else +GST_OMX_VARIANT = generic endif +GST_OMX_CONF_OPTS += --with-omx-target=$(GST_OMX_VARIANT) + GST_OMX_DEPENDENCIES = gstreamer1 gst1-plugins-base libopenmax # adjust library paths to where buildroot installs them diff --git a/package/gstreamer1/gst1-libav/gst1-libav.hash b/package/gstreamer1/gst1-libav/gst1-libav.hash index 944f63d78e..741c582319 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.hash +++ b/package/gstreamer1/gst1-libav/gst1-libav.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.14.2.tar.xz.sha256sum -sha256 8a351c39c5cfc2bbd31ca434ec4a290a730a26efbdea962fdd8306dce5c576de gst-libav-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.14.4.tar.xz.sha256sum +sha256 dfd78591901df7853eab7e56a86c34a1b03635da0d3d56b89aa577f1897865da gst-libav-1.14.4.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/gstreamer1/gst1-libav/gst1-libav.mk b/package/gstreamer1/gst1-libav/gst1-libav.mk index 071da40a6e..7ed90a9416 100644 --- a/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.14.2 +GST1_LIBAV_VERSION = 1.14.4 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav GST1_LIBAV_CONF_OPTS = --with-system-libav diff --git a/package/gstreamer1/gst1-plugins-bad/0001-fdkaacenc-Remove-MODE_2_1.patch b/package/gstreamer1/gst1-plugins-bad/0001-fdkaacenc-Remove-MODE_2_1.patch new file mode 100644 index 0000000000..a9c5d44d92 --- /dev/null +++ b/package/gstreamer1/gst1-plugins-bad/0001-fdkaacenc-Remove-MODE_2_1.patch @@ -0,0 +1,32 @@ +From f4fdb9770c76113f38515245fecc5f11b3ace20d Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Tue, 4 Dec 2018 17:54:42 +0100 +Subject: [PATCH] fdkaacenc: Remove MODE_2_1 + +This is not a standard mode and no longer supported by fdk-aac 2.0.0. + +For https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/825 + +Signed-off-by: Peter Korsgaard +--- + ext/fdkaac/gstfdkaacenc.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/ext/fdkaac/gstfdkaacenc.c b/ext/fdkaac/gstfdkaacenc.c +index ad2bcb492..8410e684c 100644 +--- a/ext/fdkaac/gstfdkaacenc.c ++++ b/ext/fdkaac/gstfdkaacenc.c +@@ -71,10 +71,6 @@ static const struct + GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, + GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, + GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}}, { +- 3, MODE_2_1, { +- GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, +- GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, +- GST_AUDIO_CHANNEL_POSITION_LFE1}}, { + 4, MODE_1_2_1, { + GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, + GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, +-- +2.11.0 + diff --git a/package/gstreamer1/gst1-plugins-bad/0002-fdkaacdec-Use-WAV-channel-mapping-instead-of-interle.patch b/package/gstreamer1/gst1-plugins-bad/0002-fdkaacdec-Use-WAV-channel-mapping-instead-of-interle.patch new file mode 100644 index 0000000000..0049714266 --- /dev/null +++ b/package/gstreamer1/gst1-plugins-bad/0002-fdkaacdec-Use-WAV-channel-mapping-instead-of-interle.patch @@ -0,0 +1,49 @@ +From 19d34f6b5e1633d5ec4bb2832c58470f0c829cab Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Wed, 5 Dec 2018 10:10:39 +0100 +Subject: [PATCH] fdkaacdec: Use WAV channel mapping instead of interleave + setting + +The latter is going away in libfdk-aac 2.0.0. Instead, MPEG-style output +is always non-interleaved and WAV-style output is always interleaved. +Earlier libfdk-aac also defaults interleaving accordingly. + +Since our reordering looks at the associated PCE indices instead of the +actual channel order, we're agnostic to the mapping. + +For https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/825 + +Signed-off-by: Peter Korsgaard +--- + ext/fdkaac/gstfdkaacdec.c | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +diff --git a/ext/fdkaac/gstfdkaacdec.c b/ext/fdkaac/gstfdkaacdec.c +index c27183752..f5136b334 100644 +--- a/ext/fdkaac/gstfdkaacdec.c ++++ b/ext/fdkaac/gstfdkaacdec.c +@@ -151,17 +151,13 @@ gst_fdkaacdec_set_format (GstAudioDecoder * dec, GstCaps * caps) + gst_buffer_unref (codec_data); + } + ++ /* Choose WAV channel mapping to get interleaving even with libfdk-aac 2.0.0 ++ * The pChannelIndices retain the indices from the standard MPEG mapping so ++ * we're agnostic to the actual order. */ + if ((err = + aacDecoder_SetParam (self->dec, AAC_PCM_OUTPUT_CHANNEL_MAPPING, +- 0)) != AAC_DEC_OK) { +- GST_ERROR_OBJECT (self, "Failed to set output channel mapping: %d", err); +- return FALSE; +- } +- +- if ((err = +- aacDecoder_SetParam (self->dec, AAC_PCM_OUTPUT_INTERLEAVED, + 1)) != AAC_DEC_OK) { +- GST_ERROR_OBJECT (self, "Failed to set interleaved output: %d", err); ++ GST_ERROR_OBJECT (self, "Failed to set output channel mapping: %d", err); + return FALSE; + } + +-- +2.11.0 + diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index 6342561ddf..cb4bf64677 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,3 +1,4 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.14.2.tar.xz.sha256sum -sha256 34fab7da70994465a64468330b2168a4a0ed90a7de7e4c499b6d127c6c1b1eaf gst-plugins-bad-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.14.4.tar.xz.sha256sum +sha256 910b4e0e2e897e8b6d06767af1779d70057c309f67292f485ff988d087aa0de5 gst-plugins-bad-1.14.4.tar.xz sha256 0b12e4d1cd5db5f8a0c04fc98a1d8c3acc533097b6198d6644420da78d460223 COPYING +sha256 cf9b86bcf2d298e8cf5b9d8982f9dab296465b002fdfa0347357a0732f961e03 COPYING.LIB diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index 4fd5b3fc8f..ac39f1e5ce 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.14.2 +GST1_PLUGINS_BAD_VERSION = 1.14.4 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_INSTALL_STAGING = YES diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index 6e13f97a9f..c508bdc00d 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,3 +1,4 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.14.2.tar.xz.sha256sum -sha256 a4b7e80ba869f599307449b17c9e00b5d1e94d3ba1d8a1a386b8770b2ef01c7c gst-plugins-base-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.14.4.tar.xz.sha256sum +sha256 ca6139490e48863e7706d870ff4e8ac9f417b56f3b9e4b3ce490c13b09a77461 gst-plugins-base-1.14.4.tar.xz sha256 78fb5977f177ab71cba77a4a127d29b93cb1ca5c25962204b31f183a20cf5c7a COPYING +sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING.LIB diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index 10b1fec439..5b7db0814f 100644 --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,14 +4,13 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.14.2 +GST1_PLUGINS_BASE_VERSION = 1.14.4 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES GST1_PLUGINS_BASE_LICENSE_FILES = COPYING.LIB GST1_PLUGINS_BASE_LICENSE = LGPL-2.0+, LGPL-2.1+ -# gio_unix_2_0 is only used for tests GST1_PLUGINS_BASE_CONF_OPTS = \ --disable-examples \ --disable-valgrind \ diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index 65750fa5a4..1d08938e09 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.14.2.tar.xz.sha256sum -sha256 c0575e2811860bfff59b865b8d125153859a01f0615fa41e279b64d88d25caad gst-plugins-good-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.14.4.tar.xz.sha256sum +sha256 5f8b553260cb0aac56890053d8511db1528d53cae10f0287cfce2cb2acc70979 gst-plugins-good-1.14.4.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index c1ed039bc7..2e6ac6dbb3 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.14.2 +GST1_PLUGINS_GOOD_VERSION = 1.14.4 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING @@ -25,13 +25,19 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ # Options which require currently unpackaged libraries GST1_PLUGINS_GOOD_CONF_OPTS += \ - --disable-jack \ --disable-libdv \ --disable-dv1394 \ --disable-shout2 GST1_PLUGINS_GOOD_DEPENDENCIES = gstreamer1 gst1-plugins-base +ifeq ($(BR2_PACKAGE_JACK2),y) +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-jack +GST1_PLUGINS_GOOD_DEPENDENCIES += jack2 +else +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-jack +endif + ifeq ($(BR2_PACKAGE_LIBV4L),y) GST1_PLUGINS_GOOD_CONF_OPTS += --with-libv4l2 GST1_PLUGINS_GOOD_DEPENDENCIES += libv4l diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index 3e675c8dc3..f93c7e2340 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.14.2.tar.xz.sha256sum -sha256 55e097d9d93921fdcf7abb0ff92d23b21dd9098e632f1ba433603b3bd1cf3d69 gst-plugins-ugly-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.14.4.tar.xz.sha256sum +sha256 ac02d837f166c35ff6ce0738e281680d0b90052cfb1f0255dcf6aaca5f0f6d23 gst-plugins-ugly-1.14.4.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index 0116dad5ca..25546258cd 100644 --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.14.2 +GST1_PLUGINS_UGLY_VERSION = 1.14.4 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING @@ -46,7 +46,7 @@ else GST1_PLUGINS_UGLY_CONF_OPTS += --disable-dvdsub endif -ifeq ($(BR2_PACKAGE_GST_PLUGINS_UGL1_PLUGIN_XINGMUX),y) +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX),y) GST1_PLUGINS_UGLY_CONF_OPTS += --enable-xingmux else GST1_PLUGINS_UGLY_CONF_OPTS += --disable-xingmux diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index dfb0849478..fa6e71f49a 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,3 +1,4 @@ -# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.14.2.tar.xz.sha256sum -sha256 f7387755cf6ac5f334d4610f1f5aa7da4ff396a487dd5b789bb707f160222c98 gst-rtsp-server-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.14.4.tar.xz.sha256sum +sha256 3d0ece2afdcd601c175ece24e32a30bc19247b454f4eafd3deeec2533c6884f1 gst-rtsp-server-1.14.4.tar.xz sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING +sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING.LIB diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index 0dc2917685..a86b137ce2 100644 --- a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_RTSP_SERVER_VERSION = 1.14.2 +GST1_RTSP_SERVER_VERSION = 1.14.4 GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server GST1_RTSP_SERVER_LICENSE = LGPL-2.0+ diff --git a/package/gstreamer1/gst1-shark/Config.in b/package/gstreamer1/gst1-shark/Config.in new file mode 100644 index 0000000000..ad6b6fb9bd --- /dev/null +++ b/package/gstreamer1/gst1-shark/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_GST1_SHARK + bool "gst1-shark" + select BR2_PACKAGE_GSTREAMER1_CHECK + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP + select BR2_PACKAGE_GSTREAMER1_GST_DEBUG # gst_debug_log_valist, GST_CAT_STATES + help + GstShark leverages GStreamers newest instrumentation subsystem + by installing a set of custom hooks to the trace points. A + variety of data analytics are extracted and presented to the + user in a graphical, friendly way. + + https://github.com/RidgeRun/gst-shark diff --git a/package/gstreamer1/gst1-shark/gst1-shark.hash b/package/gstreamer1/gst1-shark/gst1-shark.hash new file mode 100644 index 0000000000..fdcbc563a8 --- /dev/null +++ b/package/gstreamer1/gst1-shark/gst1-shark.hash @@ -0,0 +1,5 @@ +# locally computed hash +sha256 35c56b89c10f42c623f5831f9533e1b9dcab8946eff0e4000bf3137bad5c705a gst1-shark-v0.5.5.tar.gz + +# Hashes for license files: +sha256 6d191b8f1fa03cabced18b8e48fddbf960a19f965bed8491e76ed62238f92f0b COPYING diff --git a/package/gstreamer1/gst1-shark/gst1-shark.mk b/package/gstreamer1/gst1-shark/gst1-shark.mk new file mode 100644 index 0000000000..1e198f0cdd --- /dev/null +++ b/package/gstreamer1/gst1-shark/gst1-shark.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# gst1-shark +# +################################################################################ + +GST1_SHARK_VERSION = v0.5.5 +GST1_SHARK_SITE = https://github.com/RidgeRun/gst-shark.git +GST1_SHARK_SITE_METHOD = git +GST1_SHARK_GIT_SUBMODULES = YES + +GST1_SHARK_LICENSE = LGPL-2.1+ +GST1_SHARK_LICENSE_FILES = COPYING + +GST1_SHARK_AUTORECONF = YES +GST1_SHARK_DEPENDENCIES = host-pkgconf gstreamer1 gst1-plugins-base +GST1_SHARK_CONF_OPTS = --disable-graphviz + +$(eval $(autotools-package)) diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash index 2e5beb8a0f..f00cdc0ff4 100644 --- a/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.14.2.tar.xz.sha256sum -sha256 7f1064e27f5abd3a42ef66b425f1a2b9dbae7748c81bd9d090ce52a1aaf30d8a gstreamer-vaapi-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.14.4.tar.xz.sha256sum +sha256 ce18dbfe961c6a8d31270231686075586bf7a7df62b778c8e7f5ec148251d0a3 gstreamer-vaapi-1.14.4.tar.xz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk index ac33559887..4f2ac598e3 100644 --- a/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk +++ b/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_VAAPI_VERSION = 1.14.2 +GST1_VAAPI_VERSION = 1.14.4 GST1_VAAPI_SITE = https://gstreamer.freedesktop.org/src/gstreamer-vaapi GST1_VAAPI_SOURCE = gstreamer-vaapi-$(GST1_VAAPI_VERSION).tar.xz GST1_VAAPI_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gst1-validate/gst1-validate.hash b/package/gstreamer1/gst1-validate/gst1-validate.hash index 07aa036a21..87bb294629 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.hash +++ b/package/gstreamer1/gst1-validate/gst1-validate.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.14.2.tar.xz.sha256sum -sha256 ea9e423e5470ef85ef8a0aea1714e7abfc49deb2ed282057367484cdeba6f19f gst-validate-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.14.4.tar.xz.sha256sum +sha256 18dccca94bdc0bab3cddb07817bd280df7ab4abbec9a83b92620367a22d955c7 gst-validate-1.14.4.tar.xz sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/package/gstreamer1/gst1-validate/gst1-validate.mk b/package/gstreamer1/gst1-validate/gst1-validate.mk index cca3417894..0f3d251782 100644 --- a/package/gstreamer1/gst1-validate/gst1-validate.mk +++ b/package/gstreamer1/gst1-validate/gst1-validate.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_VALIDATE_VERSION = 1.14.2 +GST1_VALIDATE_VERSION = 1.14.4 GST1_VALIDATE_SOURCE = gst-validate-$(GST1_VALIDATE_VERSION).tar.xz GST1_VALIDATE_SITE = https://gstreamer.freedesktop.org/src/gst-validate GST1_VALIDATE_LICENSE = LGPL-2.1+ diff --git a/package/gstreamer1/gstreamer1-editing-services/0001-examples-ges-ui-fix-some-gtk2-ism.patch b/package/gstreamer1/gstreamer1-editing-services/0001-examples-ges-ui-fix-some-gtk2-ism.patch new file mode 100644 index 0000000000..5a074941fd --- /dev/null +++ b/package/gstreamer1/gstreamer1-editing-services/0001-examples-ges-ui-fix-some-gtk2-ism.patch @@ -0,0 +1,66 @@ +From 76f3dcb8f11a240fc7147ab556c57f10abc9e957 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= +Date: Sun, 20 May 2018 23:46:42 +0100 +Subject: [PATCH] examples: ges-ui: fix some gtk2-ism + +Still lots of deprecated API to update. + +https://bugzilla.gnome.org/show_bug.cgi?id=796243 + +Upstream: https://cgit.freedesktop.org/gstreamer/gst-editing-services/commit/?id=76f3dcb8f11a240fc7147ab556c57f10abc9e957 +Signed-off-by: Peter Seiderer +--- + examples/c/ges-ui.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/examples/c/ges-ui.c b/examples/c/ges-ui.c +index 4acd1ee9..45694a6b 100644 +--- a/examples/c/ges-ui.c ++++ b/examples/c/ges-ui.c +@@ -106,7 +106,7 @@ static int n_instances = 0; + * These are declared non-static for signal auto-connection + */ + +-gboolean window_delete_event_cb (GtkObject * window, GdkEvent * event, ++gboolean window_delete_event_cb (GtkWidget * window, GdkEvent * event, + App * app); + void new_activate_cb (GtkMenuItem * item, App * app); + void open_activate_cb (GtkMenuItem * item, App * app); +@@ -1076,14 +1076,14 @@ gboolean + add_effect_dlg_delete_event_cb (GtkWidget * widget, GdkEvent * event, + gpointer * app) + { +- gtk_widget_hide_all (((App *) app)->add_effect_dlg); ++ gtk_widget_hide (((App *) app)->add_effect_dlg); + return TRUE; + } + + void + on_cancel_add_effect_cb (GtkButton * button, App * app) + { +- gtk_widget_hide_all (app->add_effect_dlg); ++ gtk_widget_hide (app->add_effect_dlg); + } + + void +@@ -1103,7 +1103,7 @@ on_apply_effect_cb (GtkButton * button, App * app) + + gtk_entry_set_text (GTK_ENTRY (app->audio_effect_entry), ""); + +- gtk_widget_hide_all (app->add_effect_dlg); ++ gtk_widget_hide (app->add_effect_dlg); + } + + static void +@@ -1347,7 +1347,7 @@ app_new_from_uri (gchar * uri) + /* UI callbacks ************************************************************/ + + gboolean +-window_delete_event_cb (GtkObject * window, GdkEvent * event, App * app) ++window_delete_event_cb (GtkWidget * window, GdkEvent * event, App * app) + { + app_dispose (app); + return FALSE; +-- +2.19.0 + diff --git a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash index 7e809614a1..a388a097dd 100644 --- a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash +++ b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash @@ -1,5 +1,5 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gstreamer-editing-services-1.14.2.tar.xz.sha256sum -sha256 05b280d19eb637f17634d32eb3b5ac8963fc9b667aeff29dab3594dbdfc61f34 gstreamer-editing-services-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gstreamer-editing-services-1.14.4.tar.xz.sha256sum +sha256 53d1d25b356009505ae0d22c218d6c6b1215399d9f6e3fe5d7b88e156531b35f gstreamer-editing-services-1.14.4.tar.xz # Hashes for license files: sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING diff --git a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk index 11d99cd160..74a36824ed 100644 --- a/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk +++ b/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_EDITING_SERVICES_VERSION = 1.14.2 +GSTREAMER1_EDITING_SERVICES_VERSION = 1.14.4 GSTREAMER1_EDITING_SERVICES_SOURCE = gstreamer-editing-services-$(GSTREAMER1_EDITING_SERVICES_VERSION).tar.xz GSTREAMER1_EDITING_SERVICES_SITE = http://gstreamer.freedesktop.org/src/gstreamer-editing-services GSTREAMER1_EDITING_SERVICES_LICENSE = LGPL-2.0+ diff --git a/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-initial-RISC-V-support.patch b/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-initial-RISC-V-support.patch new file mode 100644 index 0000000000..689346a3e8 --- /dev/null +++ b/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-initial-RISC-V-support.patch @@ -0,0 +1,34 @@ +From 58982c0d28f1eb385319307ee47bd6522c812f22 Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Sun, 15 Apr 2018 00:49:55 +0200 +Subject: [PATCH] gstconfig.h.in: initial RISC-V support + +RISC-V supports unaligned accesses, but these might run extremely slowly +depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS +to 0 on this architecture. + +https://bugzilla.gnome.org/show_bug.cgi?id=795271 + +Upstream: https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/8a156d1725ecd03f2e8cdc8874e081dda2d3b43d + +Signed-off-by: Peter Seiderer +--- + gst/gstconfig.h.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in +index 6351c04da..33dfed1f6 100644 +--- a/gst/gstconfig.h.in ++++ b/gst/gstconfig.h.in +@@ -104,7 +104,7 @@ + * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6 + * https://software.intel.com/en-us/node/583402 + */ +-#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) ++#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv) + # define GST_HAVE_UNALIGNED_ACCESS 0 + #elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__) + # define GST_HAVE_UNALIGNED_ACCESS 1 +-- +2.19.1 + diff --git a/package/gstreamer1/gstreamer1/gstreamer1.hash b/package/gstreamer1/gstreamer1/gstreamer1.hash index f69cc6a386..204bb74fd3 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,3 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.14.2.tar.xz.sha256sum -sha256 4bd6127299f3f29379046bbd58a526e6353b569e0e72f7b4df2ae70df6882e09 gstreamer-1.14.2.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.14.4.tar.xz.sha256sum +sha256 f94f6696c5f05a3b3a9183e39c5f5c0b779f75a04c0efa497e7920afa985ffc7 gstreamer-1.14.4.tar.xz sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING diff --git a/package/gstreamer1/gstreamer1/gstreamer1.mk b/package/gstreamer1/gstreamer1/gstreamer1.mk index 26316e73cd..76a74a0806 100644 --- a/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.14.2 +GSTREAMER1_VERSION = 1.14.4 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES diff --git a/package/gupnp/gupnp.hash b/package/gupnp/gupnp.hash index 7f60864741..ba73aa1041 100644 --- a/package/gupnp/gupnp.hash +++ b/package/gupnp/gupnp.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.0/gupnp-1.0.2.sha256sum: -sha256 5173fda779111c6b01cd4a5e41b594322be9d04f8c74d3361f0a0c2069c77610 gupnp-1.0.2.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.0/gupnp-1.0.3.sha256sum: +sha256 794b162ee566d85eded8c3f3e8c9c99f6b718a6b812d8b56f0c2ed72ac37cbbb gupnp-1.0.3.tar.xz # Hash for license file: sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/package/gupnp/gupnp.mk b/package/gupnp/gupnp.mk index de08f28ad6..3c014ccc99 100644 --- a/package/gupnp/gupnp.mk +++ b/package/gupnp/gupnp.mk @@ -5,7 +5,7 @@ ################################################################################ GUPNP_VERSION_MAJOR = 1.0 -GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).2 +GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).3 GUPNP_SOURCE = gupnp-$(GUPNP_VERSION).tar.xz GUPNP_SITE = http://ftp.gnome.org/pub/gnome/sources/gupnp/$(GUPNP_VERSION_MAJOR) GUPNP_LICENSE = LGPL-2.0+ diff --git a/package/gvfs/gvfs.hash b/package/gvfs/gvfs.hash index 63ad77de83..6b7403ffa4 100644 --- a/package/gvfs/gvfs.hash +++ b/package/gvfs/gvfs.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/gvfs/1.30/gvfs-1.30.3.sha256sum -sha256 b824a29489cae7f39e1a0fc0d154ac7b7bf43d8edd98ba83ffcad2f766d0f175 gvfs-1.30.3.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/gvfs/1.31/gvfs-1.31.4.sha256sum +sha256 55244d447d040884dfb335fde638274cb6f2794285ada7fa84bcbbd34f06be04 gvfs-1.31.4.tar.xz + +# Hash for license file +sha256 45cf336e2e48176993babc5aabf44437390f40e6a86a472c6abfc7ce9c035db4 COPYING diff --git a/package/gvfs/gvfs.mk b/package/gvfs/gvfs.mk index e272d5c1dc..47fbe0e858 100644 --- a/package/gvfs/gvfs.mk +++ b/package/gvfs/gvfs.mk @@ -4,8 +4,8 @@ # ################################################################################ -GVFS_VERSION_MAJOR = 1.30 -GVFS_VERSION = $(GVFS_VERSION_MAJOR).3 +GVFS_VERSION_MAJOR = 1.31 +GVFS_VERSION = $(GVFS_VERSION_MAJOR).4 GVFS_SOURCE = gvfs-$(GVFS_VERSION).tar.xz GVFS_SITE = http://ftp.gnome.org/pub/GNOME/sources/gvfs/$(GVFS_VERSION_MAJOR) GVFS_INSTALL_STAGING = YES @@ -20,17 +20,9 @@ GVFS_CONF_ENV = ac_cv_path_LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-con # Most of these are missing library support GVFS_CONF_OPTS = \ --disable-afc \ - --disable-admin \ - --disable-bash-completion \ - --disable-cdda \ - --disable-gconf \ - --disable-gcr \ --disable-gdu \ --disable-goa \ --disable-google \ - --disable-gphoto2 \ - --disable-hal \ - --disable-keyring \ --disable-libmtp \ --disable-udisks2 @@ -41,12 +33,22 @@ else GVFS_CONF_OPTS += --disable-avahi endif +ifeq ($(BR2_PACKAGE_GCR),y) +GVFS_DEPENDENCIES += gcr +GVFS_CONF_OPTS += --enable-gcr +else +GVFS_CONF_OPTS += --disable-gcr +endif + ifeq ($(BR2_PACKAGE_HAS_UDEV),y) GVFS_DEPENDENCIES += udev endif ifeq ($(BR2_PACKAGE_LIBGUDEV),y) GVFS_DEPENDENCIES += libgudev +GVFS_CONF_OPTS += --enable-gudev +else +GVFS_CONF_OPTS += --disable-gudev endif ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) @@ -66,6 +68,20 @@ else GVFS_CONF_OPTS += --disable-bluray endif +ifeq ($(BR2_PACKAGE_LIBCAP)$(BR2_PACKAGE_POLKIT),yy) +GVFS_DEPENDENCIES += libcap polkit +GVFS_CONF_OPTS += --enable-admin +else +GVFS_CONF_OPTS += --disable-admin +endif + +ifeq ($(BR2_PACKAGE_LIBCDIO_PARANOIA)$(BR2_PACKAGE_LIBGUDEV),yy) +GVFS_DEPENDENCIES += libcdio-paranoia libgudev +GVFS_CONF_OPTS += --enable-cdda +else +GVFS_CONF_OPTS += --disable-cdda +endif + ifeq ($(BR2_PACKAGE_LIBFUSE),y) GVFS_DEPENDENCIES += libfuse GVFS_CONF_OPTS += --enable-fuse @@ -81,6 +97,13 @@ else GVFS_CONF_OPTS += --disable-afp endif +ifeq ($(BR2_PACKAGE_LIBGPHOTO2)$(BR2_PACKAGE_LIBGUDEV),yy) +GVFS_DEPENDENCIES += libgphoto2 libgudev +GVFS_CONF_OPTS += --enable-gphoto2 +else +GVFS_CONF_OPTS += --disable-gphoto2 +endif + ifeq ($(BR2_PACKAGE_LIBGTK3),y) GVFS_CONF_OPTS += --enable-gtk GVFS_DEPENDENCIES += libgtk3 @@ -95,6 +118,13 @@ else GVFS_CONF_OPTS += --disable-nfs endif +ifeq ($(BR2_PACKAGE_LIBSECRET),y) +GVFS_DEPENDENCIES += libsecret +GVFS_CONF_OPTS += --enable-keyring +else +GVFS_CONF_OPTS += --disable-keyring +endif + ifeq ($(BR2_PACKAGE_LIBSOUP)$(BR2_PACKAGE_LIBXML2),yy) GVFS_DEPENDENCIES += libsoup libxml2 GVFS_CONF_OPTS += --enable-http @@ -102,6 +132,13 @@ else GVFS_CONF_OPTS += --disable-http endif +ifeq ($(BR2_PACKAGE_LIBUSB),y) +GVFS_DEPENDENCIES += libusb +GVFS_CONF_OPTS += --enable-libusb +else +GVFS_CONF_OPTS += --disable-libusb +endif + ifeq ($(BR2_PACKAGE_SAMBA4),y) GVFS_DEPENDENCIES += samba4 GVFS_CONF_OPTS += \ diff --git a/package/gzip/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch b/package/gzip/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch new file mode 100644 index 0000000000..11d2af6d47 --- /dev/null +++ b/package/gzip/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch @@ -0,0 +1,189 @@ +From 1831628c0630ae96a43586b2a25ca51cbdba3e53 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Mon, 5 Mar 2018 10:56:29 -0800 +Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Daniel P. Berrange in: +https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html +* lib/fbufmode.c (fbufmode): +* lib/fflush.c (clear_ungetc_buffer_preserving_position) +(disable_seek_optimization, rpl_fflush): +* lib/fpending.c (__fpending): +* lib/fpurge.c (fpurge): +* lib/freadable.c (freadable): +* lib/freadahead.c (freadahead): +* lib/freading.c (freading): +* lib/freadptr.c (freadptr): +* lib/freadseek.c (freadptrinc): +* lib/fseeko.c (fseeko): +* lib/fseterr.c (fseterr): +* lib/fwritable.c (fwritable): +* lib/fwriting.c (fwriting): +Check _IO_EOF_SEEN instead of _IO_ftrylockfile. +* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]: +Define if not already defined. +--- + +Upstream-Status: Pending +Signed-off-by: Khem Raj +Signed-off-by: Yegor Yefremov + + ChangeLog | 23 +++++++++++++++++++++++ + lib/fbufmode.c | 2 +- + lib/fflush.c | 6 +++--- + lib/fpending.c | 2 +- + lib/fpurge.c | 2 +- + lib/freadable.c | 2 +- + lib/freadahead.c | 2 +- + lib/freading.c | 2 +- + lib/freadptr.c | 2 +- + lib/freadseek.c | 2 +- + lib/fseeko.c | 4 ++-- + lib/fseterr.c | 2 +- + lib/fwritable.c | 2 +- + lib/fwriting.c | 2 +- + lib/stdio-impl.h | 6 ++++++ + 15 files changed, 45 insertions(+), 16 deletions(-) + +Index: gzip-1.9/ChangeLog +=================================================================== +--- gzip-1.9.orig/ChangeLog ++++ gzip-1.9/ChangeLog +@@ -1,3 +1,26 @@ ++2018-03-05 Paul Eggert ++ ++ fflush: adjust to glibc 2.28 libio.h removal ++ Problem reported by Daniel P. Berrange in: ++ https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html ++ * lib/fbufmode.c (fbufmode): ++ * lib/fflush.c (clear_ungetc_buffer_preserving_position) ++ (disable_seek_optimization, rpl_fflush): ++ * lib/fpending.c (__fpending): ++ * lib/fpurge.c (fpurge): ++ * lib/freadable.c (freadable): ++ * lib/freadahead.c (freadahead): ++ * lib/freading.c (freading): ++ * lib/freadptr.c (freadptr): ++ * lib/freadseek.c (freadptrinc): ++ * lib/fseeko.c (fseeko): ++ * lib/fseterr.c (fseterr): ++ * lib/fwritable.c (fwritable): ++ * lib/fwriting.c (fwriting): ++ Check _IO_EOF_SEEN instead of _IO_ftrylockfile. ++ * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]: ++ Define if not already defined. ++ + 2018-01-07 Jim Meyering + + version 1.9 +Index: gzip-1.9/lib/fflush.c +=================================================================== +--- gzip-1.9.orig/lib/fflush.c ++++ gzip-1.9/lib/fflush.c +@@ -33,7 +33,7 @@ + #undef fflush + + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ + static void +@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) + + #endif + +-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) ++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) + + # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) + if (stream == NULL || ! freading (stream)) + return fflush (stream); + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + clear_ungetc_buffer_preserving_position (stream); + +Index: gzip-1.9/lib/fpurge.c +=================================================================== +--- gzip-1.9.orig/lib/fpurge.c ++++ gzip-1.9/lib/fpurge.c +@@ -62,7 +62,7 @@ fpurge (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_IO_read_end = fp->_IO_read_ptr; + fp->_IO_write_ptr = fp->_IO_write_base; + /* Avoid memory leak when there is an active ungetc buffer. */ +Index: gzip-1.9/lib/freading.c +=================================================================== +--- gzip-1.9.orig/lib/freading.c ++++ gzip-1.9/lib/freading.c +@@ -31,7 +31,7 @@ freading (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + return ((fp->_flags & _IO_NO_WRITES) != 0 + || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 + && fp->_IO_read_base != NULL)); +Index: gzip-1.9/lib/fseeko.c +=================================================================== +--- gzip-1.9.orig/lib/fseeko.c ++++ gzip-1.9/lib/fseeko.c +@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int when + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int when + return -1; + } + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags &= ~_IO_EOF_SEEN; + fp->_offset = pos; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ +Index: gzip-1.9/lib/fseterr.c +=================================================================== +--- gzip-1.9.orig/lib/fseterr.c ++++ gzip-1.9/lib/fseterr.c +@@ -29,7 +29,7 @@ fseterr (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags |= _IO_ERR_SEEN; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +Index: gzip-1.9/lib/stdio-impl.h +=================================================================== +--- gzip-1.9.orig/lib/stdio-impl.h ++++ gzip-1.9/lib/stdio-impl.h +@@ -18,6 +18,12 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ diff --git a/package/gzip/gzip.hash b/package/gzip/gzip.hash index 466f846e12..632176c2b6 100644 --- a/package/gzip/gzip.hash +++ b/package/gzip/gzip.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 ff1767ec444f71e5daf8972f6f8bf68cfcca1d2f76c248eb18e8741fc91dbbd3 gzip-1.8.tar.xz +# https://ftp.gnu.org/gnu/gzip/gzip-1.9.tar.xz.sig +# using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE +sha256 ae506144fc198bd8f81f1f4ad19ce63d5a2d65e42333255977cf1dcf1479089a gzip-1.9.tar.xz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/gzip/gzip.mk b/package/gzip/gzip.mk index d69215a850..8ac6ddd6ed 100644 --- a/package/gzip/gzip.mk +++ b/package/gzip/gzip.mk @@ -4,7 +4,7 @@ # ################################################################################ -GZIP_VERSION = 1.8 +GZIP_VERSION = 1.9 GZIP_SOURCE = gzip-$(GZIP_VERSION).tar.xz GZIP_SITE = $(BR2_GNU_MIRROR)/gzip # Some other tools expect it to be in /bin @@ -12,6 +12,7 @@ GZIP_CONF_OPTS = --exec-prefix=/ GZIP_LICENSE = GPL-3.0+ GZIP_LICENSE_FILES = COPYING GZIP_CONF_ENV += gl_cv_func_fflush_stdin=yes +HOST_GZIP_CONF_ENV += gl_cv_func_fflush_stdin=yes # configure substitutes $(SHELL) for the shell shebang in scripts like # gzexe. Unfortunately, the same $(SHELL) variable will also be used by # make to run its commands. Fortunately, /bin/sh is always a POSIX shell @@ -21,3 +22,4 @@ GZIP_CONF_ENV += gl_cv_func_fflush_stdin=yes GZIP_CONF_ENV += ac_cv_path_shell=/bin/sh $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/hackrf/Config.in b/package/hackrf/Config.in index 4fa27699c4..b86790f2b0 100644 --- a/package/hackrf/Config.in +++ b/package/hackrf/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_HACKRF bool "hackrf" depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_PACKAGE_FFTW_PRECISION_SINGLE + select BR2_PACKAGE_FFTW + select BR2_PACKAGE_FFTW_SINGLE select BR2_PACKAGE_LIBUSB help Library and tools for accessing HackRF SDR boards. @@ -11,6 +12,3 @@ config BR2_PACKAGE_HACKRF comment "hackrf needs a toolchain w/ threads, dynamic library" depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS - -comment "hackrf needs fftw's single precision" - depends on !BR2_PACKAGE_FFTW_PRECISION_SINGLE diff --git a/package/hackrf/hackrf.mk b/package/hackrf/hackrf.mk index acab0be1d3..b83f6518e8 100644 --- a/package/hackrf/hackrf.mk +++ b/package/hackrf/hackrf.mk @@ -9,7 +9,7 @@ HACKRF_SITE = https://github.com/mossmann/hackrf/releases/download/v$(HACKRF_VER HACKRF_SOURCE = hackrf-$(HACKRF_VERSION).tar.xz HACKRF_LICENSE = GPL-2.0+ BSD-3c HACKRF_LICENSE_FILES = COPYING -HACKRF_DEPENDENCIES = fftw libusb +HACKRF_DEPENDENCIES = fftw-single libusb HACKRF_SUBDIR = host HACKRF_INSTALL_STAGING = YES diff --git a/package/haproxy/Config.in b/package/haproxy/Config.in new file mode 100644 index 0000000000..670de5a3ee --- /dev/null +++ b/package/haproxy/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS + bool + default y + # internal compiler error: in do_output_reload, at reload1.c:7978 + depends on !BR2_microblaze + # src/proto_http.c:6330:1: internal compiler error: Segmentation fault + depends on !BR2_nios2 + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60040 + depends on !(BR2_sh4 && !BR2_TOOLCHAIN_GCC_AT_LEAST_7) + +config BR2_PACKAGE_HAPROXY + bool "haproxy" + depends on BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics + help + HAProxy is a free, very fast and reliable solution offering + high availability, load balancing, and proxying for TCP and + HTTP-based applications. + + http://www.haproxy.org diff --git a/package/haproxy/haproxy.hash b/package/haproxy/haproxy.hash new file mode 100644 index 0000000000..be3451d83b --- /dev/null +++ b/package/haproxy/haproxy.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 ad46312fa1e38763863807d2c9304551c28ad91cff83f0c21a36756913c1c8e1 haproxy-1.9.1.tar.gz +sha256 0717ca51fceaa25ac9e5ccc62e0c727dcf27796057201fb5fded56a25ff6ca28 LICENSE +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a doc/lgpl.txt +sha256 ddb9db7630752f8fdc6898f7c99a99eaeeac5213627ecb093df9c82f56175dc7 doc/gpl.txt diff --git a/package/haproxy/haproxy.mk b/package/haproxy/haproxy.mk new file mode 100644 index 0000000000..e382f61f8e --- /dev/null +++ b/package/haproxy/haproxy.mk @@ -0,0 +1,82 @@ +################################################################################ +# +# haproxy +# +################################################################################ + +HAPROXY_VERSION_MAJOR = 1.9 +HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).1 +HAPROXY_SITE = http://www.haproxy.org/download/$(HAPROXY_VERSION_MAJOR)/src +HAPROXY_LICENSE = GPL-2.0+ and LGPL-2.1+ with exceptions +HAPROXY_LICENSE_FILES = LICENSE doc/lgpl.txt doc/gpl.txt + +HAPROXY_MAKE_OPTS = \ + LD=$(TARGET_CC) \ + PREFIX=/usr \ + TARGET=custom + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +HAPROXY_LIBS += -latomic +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +# threads uses atomics on gcc >= 4.7 and sync otherwise (see +# include/common/hathreads.h) +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7):$(BR2_TOOLCHAIN_HAS_ATOMIC),y:y) +HAPROXY_MAKE_OPTS += USE_THREAD=1 +else ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7):$(BR2_TOOLCHAIN_HAS_SYNC_4),:y) +HAPROXY_MAKE_OPTS += USE_THREAD=1 +endif +endif + +ifeq ($(BR2_PACKAGE_LUA_5_3),y) +HAPROXY_DEPENDENCIES += lua +HAPROXY_MAKE_OPTS += \ + LUA_LIB_NAME=lua \ + USE_LUA=1 +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +HAPROXY_DEPENDENCIES += openssl +HAPROXY_MAKE_OPTS += USE_OPENSSL=1 +ifeq ($(BR2_STATIC_LIBS),y) +HAPROXY_LIBS += -lz +endif +endif + +# pcre and pcre2 can't be enabled at the same time so prefer pcre2 +ifeq ($(BR2_PACKAGE_PCRE2),y) +HAPROXY_DEPENDENCIES += pcre2 +HAPROXY_MAKE_OPTS += \ + PCRE2_CONFIG=$(STAGING_DIR)/usr/bin/pcre2-config \ + USE_PCRE2=1 +else ifeq ($(BR2_PACKAGE_PCRE),y) +HAPROXY_DEPENDENCIES += pcre +HAPROXY_MAKE_OPTS += \ + PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config \ + USE_PCRE=1 +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +HAPROXY_DEPENDENCIES += systemd +HAPROXY_MAKE_OPTS += USE_SYSTEMD=1 +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +HAPROXY_DEPENDENCIES += zlib +HAPROXY_MAKE_OPTS += USE_ZLIB=1 +endif + +HAPROXY_MAKE_OPTS += ADDLIB="$(HAPROXY_LIBS)" + +define HAPROXY_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + $(HAPROXY_MAKE_OPTS) -C $(@D) +endef + +define HAPROXY_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + $(HAPROXY_MAKE_OPTS) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/harfbuzz/harfbuzz.hash b/package/harfbuzz/harfbuzz.hash index 5f786dcb87..a10b4cfd5d 100644 --- a/package/harfbuzz/harfbuzz.hash +++ b/package/harfbuzz/harfbuzz.hash @@ -1,5 +1,6 @@ -# From https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.7.1.tar.bz2.sha256 -sha256 9645a6e83313b690602017f18d4eb2adf81f2e54c6fc4471e19331304965154e harfbuzz-1.7.1.tar.bz2 +# From https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.8.8.tar.bz2.sha256 +sha256 a8e5c86e4d99e1cc9865ec1b8e9b05b98e413c2a885cd11f8e9bb9502dd3e3a9 harfbuzz-1.8.8.tar.bz2 # Locally computed sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 COPYING +sha256 ec20cbe051200fc846caf4dc253cf660e874a2d9e4f3a682e08354b567fae409 src/hb-ucdn/COPYING diff --git a/package/harfbuzz/harfbuzz.mk b/package/harfbuzz/harfbuzz.mk index 5708745fd2..52374c9c9e 100644 --- a/package/harfbuzz/harfbuzz.mk +++ b/package/harfbuzz/harfbuzz.mk @@ -4,7 +4,7 @@ # ################################################################################ -HARFBUZZ_VERSION = 1.7.1 +HARFBUZZ_VERSION = 1.8.8 HARFBUZZ_SITE = https://www.freedesktop.org/software/harfbuzz/release HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 HARFBUZZ_LICENSE = MIT, ISC (ucdn library) diff --git a/package/haveged/S21haveged b/package/haveged/S21haveged old mode 100755 new mode 100644 diff --git a/package/hdparm/hdparm.hash b/package/hdparm/hdparm.hash index f7462e2538..2ce23cf84e 100644 --- a/package/hdparm/hdparm.hash +++ b/package/hdparm/hdparm.hash @@ -1,5 +1,6 @@ # From http://sourceforge.net/projects/hdparm/files/hdparm/ -md5 410539d0bf3cc247181594581edbfb53 hdparm-9.52.tar.gz -sha1 c641429c5b5d0513acfc86dc31c6b3b35c070a70 hdparm-9.52.tar.gz +md5 7900608e32834f65d2654fdb696e71a0 hdparm-9.56.tar.gz +sha1 9e143065115229c4f929530157627dc92e5f6deb hdparm-9.56.tar.gz # Locally computed -sha256 c3429cd423e271fa565bf584598fd751dd2e773bb7199a592b06b5a61cec4fb6 hdparm-9.52.tar.gz +sha256 6ff9ed695f1017396eec4101f990f114b7b0e0a04c5aa6369c0394053d16e4da hdparm-9.56.tar.gz +sha256 eae572b06d2733f5c65fbe81680ce2b8a109afee2bdd1a161343c772af0e82e1 LICENSE.TXT diff --git a/package/hdparm/hdparm.mk b/package/hdparm/hdparm.mk index 727220222c..7ed1ed8624 100644 --- a/package/hdparm/hdparm.mk +++ b/package/hdparm/hdparm.mk @@ -4,7 +4,7 @@ # ################################################################################ -HDPARM_VERSION = 9.52 +HDPARM_VERSION = 9.56 HDPARM_SITE = http://downloads.sourceforge.net/project/hdparm/hdparm HDPARM_LICENSE = BSD-Style HDPARM_LICENSE_FILES = LICENSE.TXT diff --git a/package/hiredis/hiredis.hash b/package/hiredis/hiredis.hash index 682ec6d2b0..7478ae0f24 100644 --- a/package/hiredis/hiredis.hash +++ b/package/hiredis/hiredis.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 717e6fc8dc2819bef522deaca516de9e51b9dfa68fe393b7db5c3b6079196f78 hiredis-v0.13.3.tar.gz +sha256 042f965e182b80693015839a9d0278ae73fae5d5d09d8bf6d0e6a39a8c4393bd hiredis-v0.14.0.tar.gz sha256 dca05ce8fc87a8261783b4aed0deef8becc9350b6aa770bc714d0c1833b896eb COPYING diff --git a/package/hiredis/hiredis.mk b/package/hiredis/hiredis.mk index dd75742229..e187aed52c 100644 --- a/package/hiredis/hiredis.mk +++ b/package/hiredis/hiredis.mk @@ -4,8 +4,8 @@ # ################################################################################ -HIREDIS_VERSION_MAJOR = 0.13 -HIREDIS_VERSION = v$(HIREDIS_VERSION_MAJOR).3 +HIREDIS_VERSION_MAJOR = 0.14 +HIREDIS_VERSION = v$(HIREDIS_VERSION_MAJOR).0 HIREDIS_SITE = $(call github,redis,hiredis,$(HIREDIS_VERSION)) HIREDIS_LICENSE = BSD-3-Clause HIREDIS_LICENSE_FILES = COPYING diff --git a/package/hostapd/hostapd.hash b/package/hostapd/hostapd.hash index 588879f65a..8901aa43be 100644 --- a/package/hostapd/hostapd.hash +++ b/package/hostapd/hostapd.hash @@ -1,5 +1,20 @@ # Locally calculated -sha256 01526b90c1d23bec4b0f052039cc4456c2fd19347b4d830d1d58a0a6aea7117d hostapd-2.6.tar.gz +sha256 21b0dda3cc3abe75849437f6b9746da461f88f0ea49dd621216936f87440a141 hostapd-2.7.tar.gz +sha256 86979655f1c5a9578acbf83e8acdf69a36dcc0966a8819f3b6918530ad3e0c67 0001-OpenSSL-Use-constant-time-operations-for-private-big.patch +sha256 5663da175ecc344c90bea8c95ab831ad47a8002ccbb834f6c091705b92e90e71 0002-Add-helper-functions-for-constant-time-operations.patch +sha256 e5a6bc9f587351d4495740239ceb0a64958a59b3e875722dcaeb4c93fa517f64 0003-OpenSSL-Use-constant-time-selection-for-crypto_bignu.patch +sha256 aa5b722bebbaf175ff89a3653c3d048afe0d0f866989fca6b4c8e882a864392a 0004-EAP-pwd-Use-constant-time-and-memory-access-for-find.patch +sha256 bad9eeaeb118f88303a7a718820b3ba03d705e99b6183b3c44556bedf99db423 0005-SAE-Minimize-timing-differences-in-PWE-derivation.patch +sha256 ae7be450f652f6f77ad868856ab61ba6cb6d7e768585cf5f9f9f674a66e05b40 0006-SAE-Avoid-branches-in-is_quadratic_residue_blind.patch +sha256 86b731c787ca58ac001d20fb769b136e2ca76bf81a8465a8e72c50573cfc4b09 0007-SAE-Mask-timing-of-MODP-groups-22-23-24.patch +sha256 ff7305005217a34818dae247886b9fb1b1db781ab31fb5eac9ebdd9cb0d1edfe 0008-SAE-Use-const_time-selection-for-PWE-in-FFC.patch +sha256 707057cc0e60fe763350f82135dbe407bc289a4958879c8ff1e9413243a1caa4 0009-SAE-Use-constant-time-operations-in-sae_test_pwd_see.patch +sha256 82d8ae4fabfe3674bcb5412befe3a74e40d6485906589c219be72e4fd1e70baa 0010-SAE-Fix-confirm-message-validation-in-error-cases.patch +sha256 ff8d6d92ad4b01987be63cdaf67a24d2eba5b3cd654f37664a8a198e501c0e3b 0011-EAP-pwd-server-Verify-received-scalar-and-element.patch +sha256 d5ebf4e5a810e9a0c035f9268195c542273998ea70fd58697ee25965094062cc 0012-EAP-pwd-server-Detect-reflection-attacks.patch +sha256 7156656498f03b24a0b69a26a59d17a9fcc8e76761f1dabe6d13b4176ffd2ef8 0013-EAP-pwd-client-Verify-received-scalar-and-element.patch +sha256 69926854ec2a79dada290f79f04202764c5d6400d232e3a567ebe633a02c1c66 0014-EAP-pwd-Check-element-x-y-coordinates-explicitly.patch +sha256 cba82a051a39c48872250b2e85ca8ebc628cfe75a9ccec29f3e994abd4156152 0001-EAP-pwd-server-Fix-reassembly-buffer-handling.patch +sha256 dc0e015463e1fd1f230795e1a49ddd1b9d00e726cd9f38846d0f4892d7978162 0003-EAP-pwd-peer-Fix-reassembly-buffer-handling.patch sha256 e204da659d0583c71af23cb9b55536fe99598ee26a44104344f456e4d17350c6 rtlxdrv.patch -sha256 529113cc81256c6178f3c1cf25dd8d3f33e6d770e4a180bd31c6ab7e4917f40b rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch -sha256 147c8abe07606905d16404fb2d2c8849796ca7c85ed8673c09bb50038bcdeb9e rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch +sha256 76eeecd8fc291a71f29189ea20e6a34387b8048a959cbc6a65c41b98194643a2 README diff --git a/package/hostapd/hostapd.mk b/package/hostapd/hostapd.mk index fa8226805d..550f887206 100644 --- a/package/hostapd/hostapd.mk +++ b/package/hostapd/hostapd.mk @@ -4,11 +4,25 @@ # ################################################################################ -HOSTAPD_VERSION = 2.6 +HOSTAPD_VERSION = 2.7 HOSTAPD_SITE = http://w1.fi/releases HOSTAPD_PATCH = \ - http://w1.fi/security/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch + https://w1.fi/security/2019-1/0001-OpenSSL-Use-constant-time-operations-for-private-big.patch \ + https://w1.fi/security/2019-1/0002-Add-helper-functions-for-constant-time-operations.patch \ + https://w1.fi/security/2019-1/0003-OpenSSL-Use-constant-time-selection-for-crypto_bignu.patch \ + https://w1.fi/security/2019-2/0004-EAP-pwd-Use-constant-time-and-memory-access-for-find.patch \ + https://w1.fi/security/2019-1/0005-SAE-Minimize-timing-differences-in-PWE-derivation.patch \ + https://w1.fi/security/2019-1/0006-SAE-Avoid-branches-in-is_quadratic_residue_blind.patch \ + https://w1.fi/security/2019-1/0007-SAE-Mask-timing-of-MODP-groups-22-23-24.patch \ + https://w1.fi/security/2019-1/0008-SAE-Use-const_time-selection-for-PWE-in-FFC.patch \ + https://w1.fi/security/2019-1/0009-SAE-Use-constant-time-operations-in-sae_test_pwd_see.patch \ + https://w1.fi/security/2019-3/0010-SAE-Fix-confirm-message-validation-in-error-cases.patch \ + https://w1.fi/security/2019-4/0011-EAP-pwd-server-Verify-received-scalar-and-element.patch \ + https://w1.fi/security/2019-4/0012-EAP-pwd-server-Detect-reflection-attacks.patch \ + https://w1.fi/security/2019-4/0013-EAP-pwd-client-Verify-received-scalar-and-element.patch \ + https://w1.fi/security/2019-4/0014-EAP-pwd-Check-element-x-y-coordinates-explicitly.patch \ + https://w1.fi/security/2019-5/0001-EAP-pwd-server-Fix-reassembly-buffer-handling.patch \ + https://w1.fi/security/2019-5/0003-EAP-pwd-peer-Fix-reassembly-buffer-handling.patch HOSTAPD_SUBDIR = hostapd HOSTAPD_CONFIG = $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/.config HOSTAPD_DEPENDENCIES = host-pkgconf @@ -23,8 +37,8 @@ HOSTAPD_CONFIG_DISABLE = # Try to use openssl if it's already available ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) -HOSTAPD_DEPENDENCIES += libopenssl -HOSTAPD_LIBS += $(if $(BR2_STATIC_LIBS),-lcrypto -lz) +HOSTAPD_DEPENDENCIES += host-pkgconf libopenssl +HOSTAPD_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl` HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=openssl\)/\1/' else HOSTAPD_CONFIG_DISABLE += CONFIG_EAP_PWD diff --git a/package/htop/0002-MakeHeader-open-files-using-binary-mode.patch b/package/htop/0002-MakeHeader-open-files-using-binary-mode.patch deleted file mode 100644 index bcc3e6564c..0000000000 --- a/package/htop/0002-MakeHeader-open-files-using-binary-mode.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 1a83a3e6ae0841a0dc4c7eb08a1a71930e99666c Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 18 Mar 2018 21:57:54 +0100 -Subject: [PATCH] MakeHeader: open files using binary mode - -By default, open(sys.argv[1]) use Unicode mode. -The readlines() will try to convert with the default codec -(which depends on the i18n settings, so 'ascii' under -LC_ALL=C) - -Open files using binary mode so no conversion will be done -by readlines(). But then, normal strings can't be used in -the rest of the code; either all strings have to be prefixed -with b'' or (simpler) the read line has to be converted to -a unicode string by calling decode() on it. - -http://lists.busybox.net/pipermail/buildroot/2018-February/214373.html - -Fixes: -http://autobuild.buildroot.net/results/9ce/9ce2ef5ef694253b9759016c9702c5c6be7849a1 - -Signed-off-by: Romain Naour ---- - scripts/MakeHeader.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/scripts/MakeHeader.py b/scripts/MakeHeader.py -index 4841bda..dd0798c 100755 ---- a/scripts/MakeHeader.py -+++ b/scripts/MakeHeader.py -@@ -16,7 +16,7 @@ SKIPONE=4 - state = ANY - static = 0 - --file = open(sys.argv[1]) -+file = open(sys.argv[1], 'rb') - name = sys.argv[1][:-2] - - out = StringIO() -@@ -31,6 +31,7 @@ out.write( "#define HEADER_" + os.path.basename(name) + "\n") - is_blank = False - for line in file.readlines(): - line = line[:-1] -+ line = line.decode('utf-8') - if state == ANY: - if line == '/*{': - state = COPY --- -2.14.3 - diff --git a/package/htop/htop.hash b/package/htop/htop.hash index 5419d767a3..e764644a0b 100644 --- a/package/htop/htop.hash +++ b/package/htop/htop.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3260be990d26e25b6b49fc9d96dbc935ad46e61083c0b7f6df413e513bf80748 htop-2.1.0.tar.gz +sha256 d9d6826f10ce3887950d709b53ee1d8c1849a70fa38e91d5896ad8cbc6ba3c57 htop-2.2.0.tar.gz sha256 70466e76443cb5b68144d9fcedca9584e7bfdb6c50859daa5a0290ea27c58aad COPYING diff --git a/package/htop/htop.mk b/package/htop/htop.mk index 71889557ca..dc84e32708 100644 --- a/package/htop/htop.mk +++ b/package/htop/htop.mk @@ -4,7 +4,7 @@ # ################################################################################ -HTOP_VERSION = 2.1.0 +HTOP_VERSION = 2.2.0 HTOP_SITE = http://hisham.hm/htop/releases/$(HTOP_VERSION) HTOP_DEPENDENCIES = ncurses # Prevent htop build system from searching the host paths diff --git a/package/httping/httping.mk b/package/httping/httping.mk index 955ee3131b..b3a625a8e1 100644 --- a/package/httping/httping.mk +++ b/package/httping/httping.mk @@ -17,9 +17,9 @@ HTTPING_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ $(if $(BR2_PACKAGE_NCURSES_WCHAR),ncurses) \ $(if $(BR2_PACKAGE_OPENSSL),openssl) \ - $(if $(BR2_PACKAGE_FFTW),fftw) + $(if $(BR2_PACKAGE_FFTW_DOUBLE),fftw-double) HTTPING_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) \ - FW=$(if $(BR2_PACKAGE_FFTW),yes,no) \ + FW=$(if $(BR2_PACKAGE_FFTW_DOUBLE),yes,no) \ NC=$(if $(BR2_PACKAGE_NCURSES_WCHAR),yes,no) \ SSL=$(if $(BR2_PACKAGE_OPENSSL),yes,no) \ TFO=$(if $(BR2_PACKAGE_HTTPING_TFO),yes,no) \ diff --git a/package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch b/package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch deleted file mode 100644 index 09a78dae0e..0000000000 --- a/package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch +++ /dev/null @@ -1,34 +0,0 @@ -From a6a59693066fd8da81f7107479df3e32a129247d Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Wed, 6 Dec 2017 09:55:04 +0100 -Subject: [PATCH] lib/Module.mk: Add missing dependencies - -The lib symlinks lacked a dependency to the actual library file, so -parallel builds could run into a race and break. - -Signed-off-by: Angelo Compagnucci ---- - lib/Module.mk | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/Module.mk b/lib/Module.mk -index 432a051..fd2c8c4 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -42,11 +42,11 @@ endif - $(LIB_DIR)/$(LIB_SHLIBNAME): $(LIB_DIR)/smbus.o - $(CC) -shared $(LDFLAGS) -Wl,--version-script=$(LIB_DIR)/libi2c.map -Wl,-soname,$(LIB_SHSONAME) -o $@ $^ -lc - --$(LIB_DIR)/$(LIB_SHSONAME): -+$(LIB_DIR)/$(LIB_SHSONAME): $(LIB_DIR)/$(LIB_SHLIBNAME) - $(RM) $@ - $(LN) $(LIB_SHLIBNAME) $@ - --$(LIB_DIR)/$(LIB_SHBASENAME): -+$(LIB_DIR)/$(LIB_SHBASENAME): $(LIB_DIR)/$(LIB_SHLIBNAME) - $(RM) $@ - $(LN) $(LIB_SHLIBNAME) $@ - --- -2.7.4 - diff --git a/package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch b/package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch deleted file mode 100644 index b5ec5471de..0000000000 --- a/package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 9906b2ecb6aec02d6348d6237b784135e6930d0b Mon Sep 17 00:00:00 2001 -From: Angelo Compagnucci -Date: Wed, 6 Dec 2017 10:12:07 +0100 -Subject: Makefile: Add flag to disable dynamic library - -In such cases where you need to disable entirely the dynamic -library compilation, now you can use the BUILD_DYNAMIC_LIB=0 -flag. - -Signed-off-by: Angelo Compagnucci -Signed-off-by: Jean Delvare ---- - Makefile | 10 +++++++++- - lib/Module.mk | 6 +++++- - 2 files changed, 14 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index c85317c..1bb5572 100644 ---- a/Makefile -+++ b/Makefile -@@ -32,12 +32,20 @@ CFLAGS ?= -O2 - CFLAGS += -Wall - SOCFLAGS := -fpic -D_REENTRANT $(CFLAGS) - --USE_STATIC_LIB ?= 0 -+BUILD_DYNAMIC_LIB ?= 1 - BUILD_STATIC_LIB ?= 1 -+USE_STATIC_LIB ?= 0 -+ - ifeq ($(USE_STATIC_LIB),1) - BUILD_STATIC_LIB := 1 - endif - -+ifeq ($(BUILD_DYNAMIC_LIB),0) -+ifeq ($(BUILD_STATIC_LIB),0) -+$(error BUILD_DYNAMIC_LIB and BUILD_STATIC_LIB cannot be disabled at the same time) -+endif -+endif -+ - KERNELVERSION := $(shell uname -r) - - .PHONY: all strip clean install uninstall -diff --git a/lib/Module.mk b/lib/Module.mk -index fd2c8c4..44fa938 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -27,9 +27,13 @@ LIB_SHSONAME := $(LIB_SHBASENAME).$(LIB_MAINVER) - LIB_SHLIBNAME := $(LIB_SHBASENAME).$(LIB_VER) - LIB_STLIBNAME := libi2c.a - --LIB_TARGETS := $(LIB_SHLIBNAME) - LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) - LIB_OBJECTS := smbus.o -+ -+LIB_TARGETS := -+ifeq ($(BUILD_DYNAMIC_LIB),1) -+LIB_TARGETS += $(LIB_SHLIBNAME) -+endif - ifeq ($(BUILD_STATIC_LIB),1) - LIB_TARGETS += $(LIB_STLIBNAME) - LIB_OBJECTS += smbus.ao --- -2.7.4 - diff --git a/package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch b/package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch deleted file mode 100644 index 43c915c200..0000000000 --- a/package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 1831b618fbedf0bcf15b0465981d133d9e3c53ee Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Wed, 6 Dec 2017 10:46:56 +0100 -Subject: lib/Module.mk: Drop unused variable LIB_OBJECTS - -Signed-off-by: Angelo Compagnucci ---- - lib/Module.mk | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/lib/Module.mk b/lib/Module.mk -index 44fa938..8a58f5b 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -28,7 +28,6 @@ LIB_SHLIBNAME := $(LIB_SHBASENAME).$(LIB_VER) - LIB_STLIBNAME := libi2c.a - - LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) --LIB_OBJECTS := smbus.o - - LIB_TARGETS := - ifeq ($(BUILD_DYNAMIC_LIB),1) -@@ -36,7 +35,6 @@ LIB_TARGETS += $(LIB_SHLIBNAME) - endif - ifeq ($(BUILD_STATIC_LIB),1) - LIB_TARGETS += $(LIB_STLIBNAME) --LIB_OBJECTS += smbus.ao - endif - - # --- -2.7.4 - diff --git a/package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch b/package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch deleted file mode 100644 index d18090be0b..0000000000 --- a/package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 08b0d67ba7eceb862cb17f52eb1911e9579726ea Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Thu, 14 Dec 2017 08:52:26 +0100 -Subject: [PATCH] tools/Module.mk: Add missing dependencies - -Better build the library before building the tools which link against -it, otherwise parallel builds could run into a race and break. - -Signed-off-by: Jean Delvare -Tested-by: Angelo Compagnucci -Acked-by: Angelo Compagnucci -Signed-off-by: Angelo Compagnucci ---- - lib/Module.mk | 7 +++++++ - tools/Module.mk | 10 +++++----- - 2 files changed, 12 insertions(+), 5 deletions(-) - -diff --git a/lib/Module.mk b/lib/Module.mk -index 8a58f5b..67afe91 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -37,6 +37,13 @@ ifeq ($(BUILD_STATIC_LIB),1) - LIB_TARGETS += $(LIB_STLIBNAME) - endif - -+# Library file to link against (static or dynamic) -+ifeq ($(USE_STATIC_LIB),1) -+LIB_DEPS := $(LIB_DIR)/$(LIB_STLIBNAME) -+else -+LIB_DEPS := $(LIB_DIR)/$(LIB_SHBASENAME) -+endif -+ - # - # Libraries - # -diff --git a/tools/Module.mk b/tools/Module.mk -index 6421a23..609de7a 100644 ---- a/tools/Module.mk -+++ b/tools/Module.mk -@@ -24,19 +24,19 @@ TOOLS_TARGETS := i2cdetect i2cdump i2cset i2cget i2ctransfer - # Programs - # - --$(TOOLS_DIR)/i2cdetect: $(TOOLS_DIR)/i2cdetect.o $(TOOLS_DIR)/i2cbusses.o -+$(TOOLS_DIR)/i2cdetect: $(TOOLS_DIR)/i2cdetect.o $(TOOLS_DIR)/i2cbusses.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) - --$(TOOLS_DIR)/i2cdump: $(TOOLS_DIR)/i2cdump.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o -+$(TOOLS_DIR)/i2cdump: $(TOOLS_DIR)/i2cdump.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) - --$(TOOLS_DIR)/i2cset: $(TOOLS_DIR)/i2cset.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o -+$(TOOLS_DIR)/i2cset: $(TOOLS_DIR)/i2cset.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) - --$(TOOLS_DIR)/i2cget: $(TOOLS_DIR)/i2cget.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o -+$(TOOLS_DIR)/i2cget: $(TOOLS_DIR)/i2cget.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) - --$(TOOLS_DIR)/i2ctransfer: $(TOOLS_DIR)/i2ctransfer.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o -+$(TOOLS_DIR)/i2ctransfer: $(TOOLS_DIR)/i2ctransfer.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) - - # --- -2.7.4 - diff --git a/package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch b/package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch deleted file mode 100644 index 37a8ebc6fd..0000000000 --- a/package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch +++ /dev/null @@ -1,34 +0,0 @@ -From de278d0933e3caea2508f95fd00e7e338bc12e8f Mon Sep 17 00:00:00 2001 -From: Angelo Compagnucci -Date: Thu, 14 Dec 2017 13:34:29 +0100 -Subject: lib/Module.mk: Fix LIB_LINKS dependency - -LIB_LINKS should be added as a dependency only when -BUILD_DYNAMIC_LIB is enabled. - -Signed-off-by: Angelo Compagnucci -Signed-off-by: Jean Delvare -Fixes: 9906b2ecb6ae ("Makefile: Add flag to disable dynamic library" ---- - lib/Module.mk | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/lib/Module.mk b/lib/Module.mk -index 67afe91..2ebc70d 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -27,10 +27,9 @@ LIB_SHSONAME := $(LIB_SHBASENAME).$(LIB_MAINVER) - LIB_SHLIBNAME := $(LIB_SHBASENAME).$(LIB_VER) - LIB_STLIBNAME := libi2c.a - --LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) -- - LIB_TARGETS := - ifeq ($(BUILD_DYNAMIC_LIB),1) -+LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) - LIB_TARGETS += $(LIB_SHLIBNAME) - endif - ifeq ($(BUILD_STATIC_LIB),1) --- -2.7.4 - diff --git a/package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch b/package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch deleted file mode 100644 index 85438cbf01..0000000000 --- a/package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 57d2c370493f2e9e33b30e8767624c648f138ec4 Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Thu, 14 Dec 2017 13:34:34 +0100 -Subject: Makefile: Allow to really disable the dynamic library - -If the user disables the build of the dynamic library, we have to -link the tools with the static library. If we don't, the dependencies -will cause the dynamic library to be built regardless of the user's -request. - -Signed-off-by: Jean Delvare -Fixes: 9906b2ecb6ae ("Makefile: Add flag to disable dynamic library") -Signed-off-by: Angelo Compagnucci ---- - Makefile | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Makefile b/Makefile -index 1bb5572..6bb741f 100644 ---- a/Makefile -+++ b/Makefile -@@ -43,6 +43,8 @@ endif - ifeq ($(BUILD_DYNAMIC_LIB),0) - ifeq ($(BUILD_STATIC_LIB),0) - $(error BUILD_DYNAMIC_LIB and BUILD_STATIC_LIB cannot be disabled at the same time) -+else -+USE_STATIC_LIB := 1 - endif - endif - --- -2.7.4 - diff --git a/package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch b/package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch deleted file mode 100644 index 126d388569..0000000000 --- a/package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f87c97317012a3b96b67237925893b8ffd5f4f50 Mon Sep 17 00:00:00 2001 -From: "Maxin B. John" -Date: Tue, 19 Dec 2017 13:46:15 +0100 -Subject: [PATCH] eeprog/Module.mk: Add missing dependency - -Absence of this dependency caused parallel build to run into a race -and break. - -Signed-off-by: Maxin B. John -Signed-off-by: Jean Delvare ---- - eeprog/Module.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/eeprog/Module.mk b/eeprog/Module.mk -index 9d36869..d215855 100644 ---- a/eeprog/Module.mk -+++ b/eeprog/Module.mk -@@ -20,7 +20,7 @@ EEPROG_TARGETS := eeprog - # Programs - # - --$(EEPROG_DIR)/eeprog: $(EEPROG_DIR)/eeprog.o $(EEPROG_DIR)/24cXX.o -+$(EEPROG_DIR)/eeprog: $(EEPROG_DIR)/eeprog.o $(EEPROG_DIR)/24cXX.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(EEPROG_LDFLAGS) - - # --- -2.7.4 - diff --git a/package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch b/package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch deleted file mode 100644 index 69410ce544..0000000000 --- a/package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch +++ /dev/null @@ -1,41 +0,0 @@ -From ae2e0c9708aeb4a8fb301a1a4016cec7b05fc142 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 2 Jan 2018 06:55:41 +0200 -Subject: [PATCH] lib/Module.mk: don't install dynamic library when disabled - -Do not attempt to install the dynamic library when build of that library -is disabled. Fixes the following installation error: - -install -m 755 lib/libi2c.so.0.1.0 .../target/usr/lib -install: cannot stat 'lib/libi2c.so.0.1.0': No such file or directory -lib/Module.mk:90: recipe for target 'install-lib' failed - -Cc: Angelo Compagnucci -Signed-off-by: Baruch Siach ---- - -Patch status: posted upstream -https://marc.info/?l=linux-i2c&m=151486925730634&w=2 - - lib/Module.mk | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/lib/Module.mk b/lib/Module.mk -index 2ebc70d76ed9..c492961e0a4a 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -88,9 +88,11 @@ clean-lib: - - install-lib: $(addprefix $(LIB_DIR)/,$(LIB_TARGETS)) - $(INSTALL_DIR) $(DESTDIR)$(libdir) -+ifeq ($(BUILD_DYNAMIC_LIB),1) - $(INSTALL_PROGRAM) $(LIB_DIR)/$(LIB_SHLIBNAME) $(DESTDIR)$(libdir) - $(LN) $(LIB_SHLIBNAME) $(DESTDIR)$(libdir)/$(LIB_SHSONAME) - $(LN) $(LIB_SHSONAME) $(DESTDIR)$(libdir)/$(LIB_SHBASENAME) -+endif - ifeq ($(BUILD_STATIC_LIB),1) - $(INSTALL_DATA) $(LIB_DIR)/$(LIB_STLIBNAME) $(DESTDIR)$(libdir) - endif --- -2.15.1 - diff --git a/package/i2c-tools/i2c-tools.hash b/package/i2c-tools/i2c-tools.hash index 37563074fc..280a139c00 100644 --- a/package/i2c-tools/i2c-tools.hash +++ b/package/i2c-tools/i2c-tools.hash @@ -1,7 +1,7 @@ # Locally computed -sha256 d900ca1c11c51ea20caa50b096f948008b8a7ad832311b23353e21baa7af28d6 i2c-tools-4.0.tar.xz +sha256 57b219efd183795bd545dd5a60d9eabbe9dcb6f8fb92bc7ba2122b87f98527d5 i2c-tools-4.1.tar.xz # License files sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL -sha256 158abc6886c2c6e2dec7e9cb11b46fd41cb13a015c5057c2a587ef581f9142f8 README +sha256 b75b04b46320dff5e2b50a9c69b8e526b7db5087083ea3ba65533f08fc11b9f0 README diff --git a/package/i2c-tools/i2c-tools.mk b/package/i2c-tools/i2c-tools.mk index ec06c73325..d4d9c012fa 100644 --- a/package/i2c-tools/i2c-tools.mk +++ b/package/i2c-tools/i2c-tools.mk @@ -4,12 +4,13 @@ # ################################################################################ -I2C_TOOLS_VERSION = 4.0 +I2C_TOOLS_VERSION = 4.1 I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (libi2c) I2C_TOOLS_LICENSE_FILES = COPYING COPYING.LGPL README I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog +I2C_TOOLS_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_PYTHON),y) I2C_TOOLS_DEPENDENCIES += python @@ -58,8 +59,13 @@ endef define I2C_TOOLS_INSTALL_TARGET_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \ - DESTDIR="$(TARGET_DIR)" prefix=/usr -C $(@D) install + DESTDIR="$(TARGET_DIR)" PREFIX=/usr -C $(@D) install $(I2C_TOOLS_INSTALL_PYSMBUS) endef +define I2C_TOOLS_INSTALL_STAGING_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \ + DESTDIR="$(STAGING_DIR)" PREFIX=/usr -C $(@D) install +endef + $(eval $(generic-package)) diff --git a/package/i2pd/i2pd.hash b/package/i2pd/i2pd.hash index 753df0be5a..c3c9a48ec5 100644 --- a/package/i2pd/i2pd.hash +++ b/package/i2pd/i2pd.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 7202497ffc3db632d0f7fed93eafaf39aa75efea199705dae7d022249b069eb9 i2pd-2.19.0.tar.gz +sha256 6547d7a560482c5eda9106ae19267bc8afbb6af48fed3bebf423ade28103e173 i2pd-2.22.0.tar.gz sha256 d147a6acdaf8ec9f6513802ef6cad4a4afcdb5ab6b98d9f6bb26d2b7f4cf454c LICENSE diff --git a/package/i2pd/i2pd.mk b/package/i2pd/i2pd.mk index b7ebd718a5..3ce5f97fb8 100644 --- a/package/i2pd/i2pd.mk +++ b/package/i2pd/i2pd.mk @@ -4,7 +4,7 @@ # ################################################################################ -I2PD_VERSION = 2.19.0 +I2PD_VERSION = 2.22.0 I2PD_SITE = $(call github,PurpleI2P,i2pd,$(I2PD_VERSION)) I2PD_LICENSE = BSD-3-Clause I2PD_LICENSE_FILES = LICENSE @@ -21,6 +21,10 @@ I2PD_CONF_OPTS += -DWITH_GUI=OFF # build failure when cross-compiling. I2PD_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +I2PD_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +endif + ifeq ($(BR2_STATIC_LIBS),y) I2PD_CONF_OPTS += -DWITH_STATIC=ON else diff --git a/package/ibrcommon/0002-ibrcommon-added-openssl-1.1-compatibility-264.patch b/package/ibrcommon/0002-ibrcommon-added-openssl-1.1-compatibility-264.patch new file mode 100644 index 0000000000..90e5147f54 --- /dev/null +++ b/package/ibrcommon/0002-ibrcommon-added-openssl-1.1-compatibility-264.patch @@ -0,0 +1,357 @@ +From a801d10a081e3130e24042256a43190c9eb6c112 Mon Sep 17 00:00:00 2001 +From: Eneas Queiroz <35331380+cotequeiroz@users.noreply.github.com> +Date: Wed, 23 May 2018 03:09:02 -0300 +Subject: [PATCH] ibrcommon: added openssl 1.1 compatibility (#264) + +This patch adds compatibility to openssl 1.1.0. + +Backported from master branch: +https://github.com/ibrdtn/ibrdtn/commit/a801d10a081e3130e24042256a43190c9eb6c112 + +Signed-off-by: Eneas U de Queiroz +Signed-off-by: Bernd Kuhls +--- + ibrcommon/ibrcommon/ssl/HMacStream.cpp | 11 +++--- + ibrcommon/ibrcommon/ssl/HMacStream.h | 2 +- + ibrcommon/ibrcommon/ssl/RSASHA256Stream.cpp | 28 +++++++------ + ibrcommon/ibrcommon/ssl/RSASHA256Stream.h | 2 +- + ibrcommon/ibrcommon/ssl/iostreamBIO.cpp | 44 ++++++++++++++++----- + ibrcommon/ibrcommon/ssl/openssl_compat.h | 38 ++++++++++++++++++ + 6 files changed, 95 insertions(+), 30 deletions(-) + create mode 100644 ibrcommon/ibrcommon/ssl/openssl_compat.h + +diff --git a/ibrcommon/ssl/HMacStream.cpp b/ibrcommon/ssl/HMacStream.cpp +index e5d317e3..66d8ce42 100644 +--- a/ibrcommon/ssl/HMacStream.cpp ++++ b/ibrcommon/ssl/HMacStream.cpp +@@ -20,29 +20,30 @@ + */ + + #include "ibrcommon/ssl/HMacStream.h" ++#include "openssl_compat.h" + + namespace ibrcommon + { + HMacStream::HMacStream(const unsigned char * const key, const int key_size) + : HashStream(EVP_MAX_MD_SIZE, BUFF_SIZE), key_(key), key_size_(key_size) + { +- HMAC_CTX_init(&ctx_); +- HMAC_Init_ex(&ctx_, key_, key_size_, EVP_sha1(), NULL); ++ ctx_ = HMAC_CTX_new(); ++ HMAC_Init_ex(ctx_, key_, key_size_, EVP_sha1(), NULL); + } + + HMacStream::~HMacStream() + { +- HMAC_CTX_cleanup(&ctx_); ++ HMAC_CTX_free(ctx_); + } + + void HMacStream::update(char *buf, const size_t size) + { + // hashing +- HMAC_Update(&ctx_, (unsigned char*)buf, size); ++ HMAC_Update(ctx_, (unsigned char*)buf, size); + } + + void HMacStream::finalize(char * hash, unsigned int &size) + { +- HMAC_Final(&ctx_, (unsigned char*)hash, &size); ++ HMAC_Final(ctx_, (unsigned char*)hash, &size); + } + } +diff --git a/ibrcommon/ssl/HMacStream.h b/ibrcommon/ssl/HMacStream.h +index 7dcea168..d04bceb8 100644 +--- a/ibrcommon/ssl/HMacStream.h ++++ b/ibrcommon/ssl/HMacStream.h +@@ -44,7 +44,7 @@ namespace ibrcommon + const unsigned char * const key_; + const int key_size_; + +- HMAC_CTX ctx_; ++ HMAC_CTX* ctx_; + }; + } + +diff --git a/ibrcommon/ssl/RSASHA256Stream.cpp b/ibrcommon/ssl/RSASHA256Stream.cpp +index d94430ed..d25c5d2f 100644 +--- a/ibrcommon/ssl/RSASHA256Stream.cpp ++++ b/ibrcommon/ssl/RSASHA256Stream.cpp +@@ -21,6 +21,7 @@ + + #include "ibrcommon/ssl/RSASHA256Stream.h" + #include "ibrcommon/Logger.h" ++#include "openssl_compat.h" + #include + + namespace ibrcommon +@@ -30,11 +31,11 @@ namespace ibrcommon + { + // Initialize get pointer. This should be zero so that underflow is called upon first read. + setp(&out_buf_[0], &out_buf_[BUFF_SIZE - 1]); +- EVP_MD_CTX_init(&_ctx); ++ _ctx = EVP_MD_CTX_new(); + + if (!_verify) + { +- if (!EVP_SignInit_ex(&_ctx, EVP_sha256(), NULL)) ++ if (!EVP_SignInit_ex(_ctx, EVP_sha256(), NULL)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to initialize the signature function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +@@ -42,7 +43,7 @@ namespace ibrcommon + } + else + { +- if (!EVP_VerifyInit_ex(&_ctx, EVP_sha256(), NULL)) ++ if (!EVP_VerifyInit_ex(_ctx, EVP_sha256(), NULL)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to initialize the verification function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +@@ -52,18 +53,19 @@ namespace ibrcommon + + RSASHA256Stream::~RSASHA256Stream() + { +- EVP_MD_CTX_cleanup(&_ctx); ++ EVP_MD_CTX_free(_ctx); + } + + void RSASHA256Stream::reset() + { +- EVP_MD_CTX_cleanup(&_ctx); +- +- EVP_MD_CTX_init(&_ctx); ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ EVP_MD_CTX_cleanup(_ctx); ++#endif ++ EVP_MD_CTX_init(_ctx); + + if (!_verify) + { +- if (!EVP_SignInit_ex(&_ctx, EVP_sha256(), NULL)) ++ if (!EVP_SignInit_ex(_ctx, EVP_sha256(), NULL)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to initialize the signature function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +@@ -71,7 +73,7 @@ namespace ibrcommon + } + else + { +- if (!EVP_VerifyInit_ex(&_ctx, EVP_sha256(), NULL)) ++ if (!EVP_VerifyInit_ex(_ctx, EVP_sha256(), NULL)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to initialize the verfication function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +@@ -91,7 +93,7 @@ namespace ibrcommon + std::vector sign(EVP_PKEY_size(_pkey)); + unsigned int size = EVP_PKEY_size(_pkey); + +- _return_code = EVP_SignFinal(&_ctx, &sign[0], &size, _pkey); ++ _return_code = EVP_SignFinal(_ctx, &sign[0], &size, _pkey); + + _sign = std::string((const char*)&sign[0], size); + +@@ -107,7 +109,7 @@ namespace ibrcommon + if (!_sign_valid) + { + sync(); +- _return_code = EVP_VerifyFinal(&_ctx, reinterpret_cast(their_sign.c_str()), static_cast(their_sign.size()), _pkey); ++ _return_code = EVP_VerifyFinal(_ctx, reinterpret_cast(their_sign.c_str()), static_cast(their_sign.size()), _pkey); + _sign_valid = true; + } + return _return_code; +@@ -145,7 +147,7 @@ namespace ibrcommon + if (!_verify) + // hashing + { +- if (!EVP_SignUpdate(&_ctx, &out_buf_[0], iend - ibegin)) ++ if (!EVP_SignUpdate(_ctx, &out_buf_[0], iend - ibegin)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to feed data into the signature function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +@@ -153,7 +155,7 @@ namespace ibrcommon + } + else + { +- if (!EVP_VerifyUpdate(&_ctx, &out_buf_[0], iend - ibegin)) ++ if (!EVP_VerifyUpdate(_ctx, &out_buf_[0], iend - ibegin)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to feed data into the verification function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +diff --git a/ibrcommon/ssl/RSASHA256Stream.h b/ibrcommon/ssl/RSASHA256Stream.h +index 344f8e10..6f3a1168 100644 +--- a/ibrcommon/ssl/RSASHA256Stream.h ++++ b/ibrcommon/ssl/RSASHA256Stream.h +@@ -106,7 +106,7 @@ namespace ibrcommon + + /** the context in which the streamed data will be feed into for + calculation of the hash/signature */ +- EVP_MD_CTX _ctx; ++ EVP_MD_CTX * _ctx; + + /** tells if the context needs to be finalized to get a valid signature or + verification */ +diff --git a/ibrcommon/ssl/iostreamBIO.cpp b/ibrcommon/ssl/iostreamBIO.cpp +index 18c1b55c..ea6c63eb 100644 +--- a/ibrcommon/ssl/iostreamBIO.cpp ++++ b/ibrcommon/ssl/iostreamBIO.cpp +@@ -23,6 +23,7 @@ + + #include "ibrcommon/Logger.h" + ++#include "openssl_compat.h" + #include + + namespace ibrcommon +@@ -42,7 +43,20 @@ static int create(BIO *bio); + //static int destroy(BIO *bio); + //static long (*callback_ctrl)(BIO *, int, bio_info_cb *); + +- ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++BIO_METHOD * BIO_iostream_method() ++{ ++ static BIO_METHOD *iostream_method = NULL; ++ if (iostream_method) { ++ iostream_method = BIO_meth_new(iostreamBIO::type, iostreamBIO::name); ++ BIO_meth_set_write(iostream_method, bwrite); ++ BIO_meth_set_read(iostream_method, bread); ++ BIO_meth_set_ctrl(iostream_method, ctrl); ++ BIO_meth_set_create(iostream_method, create); ++ } ++ return iostream_method; ++} ++#else + static BIO_METHOD iostream_method = + { + iostreamBIO::type, +@@ -56,12 +70,17 @@ static BIO_METHOD iostream_method = + NULL,//destroy, + NULL//callback_ctrl + }; ++BIO_METHOD * BIO_iostream_method() ++{ ++ return &iostream_method; ++} ++#endif + + iostreamBIO::iostreamBIO(iostream *stream) + : _stream(stream) + { + /* create BIO */ +- _bio = BIO_new(&iostream_method); ++ _bio = BIO_new(BIO_iostream_method()); + if(!_bio){ + /* creation failed, throw exception */ + char err_buf[ERR_BUF_SIZE]; +@@ -72,7 +91,7 @@ iostreamBIO::iostreamBIO(iostream *stream) + } + + /* save the iostream in the bio object */ +- _bio->ptr = stream; ++ BIO_set_data(_bio, (void *) stream); + } + + BIO * iostreamBIO::getBIO(){ +@@ -81,10 +100,10 @@ BIO * iostreamBIO::getBIO(){ + + static int create(BIO *bio) + { +- bio->ptr = NULL; +- /* (from openssl memory bio) */ +- bio->shutdown=1; +- bio->init=1; ++ BIO_set_data(bio, NULL); ++ BIO_set_shutdown(bio, 1); ++ BIO_set_init(bio, 1); ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + /* from bss_mem.c (openssl): + * bio->num is used to hold the value to return on 'empty', if it is + * 0, should_retry is not set +@@ -93,6 +112,7 @@ static int create(BIO *bio) + * it is set to 0 since the underlying stream is blocking + */ + bio->num= 0; ++#endif + + return 1; + } +@@ -102,7 +122,7 @@ static int create(BIO *bio) + static long ctrl(BIO *bio, int cmd, long num, void *) + { + long ret; +- iostream *stream = reinterpret_cast(bio->ptr); ++ iostream *stream = reinterpret_cast(BIO_get_data(bio)); + + IBRCOMMON_LOGGER_DEBUG_TAG("iostreamBIO", 90) << "ctrl called, cmd: " << cmd << ", num: " << num << "." << IBRCOMMON_LOGGER_ENDL; + +@@ -147,8 +167,12 @@ static long ctrl(BIO *bio, int cmd, long num, void *) + + static int bread(BIO *bio, char *buf, int len) + { +- iostream *stream = reinterpret_cast(bio->ptr); ++ iostream *stream = reinterpret_cast(BIO_get_data(bio)); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ int num_bytes = 0; ++#else + int num_bytes = bio->num; ++#endif + + try{ + /* make sure to read at least 1 byte and then read as much as we can */ +@@ -170,7 +194,7 @@ static int bwrite(BIO *bio, const char *buf, int len) + if(len == 0){ + return 0; + } +- iostream *stream = reinterpret_cast(bio->ptr); ++ iostream *stream = reinterpret_cast(BIO_get_data(bio)); + + /* write the data */ + try{ +diff --git a/ibrcommon/ssl/openssl_compat.h b/ibrcommon/ssl/openssl_compat.h +new file mode 100644 +index 00000000..e491677f +--- /dev/null ++++ b/ibrcommon/ssl/openssl_compat.h +@@ -0,0 +1,38 @@ ++#ifndef OPENSSL_COMPAT_H ++#define OPENSSL_COMPAT_H ++ ++#include ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++#include ++#include ++ ++static inline EVP_MD_CTX * EVP_MD_CTX_new() ++{ ++ EVP_MD_CTX *ctx; ++ ++ ctx = (EVP_MD_CTX *) OPENSSL_malloc(sizeof(EVP_MD_CTX)); ++ EVP_MD_CTX_init(ctx); ++ return ctx; ++} ++#define EVP_MD_CTX_free(c) if (c != NULL) OPENSSL_free(c) ++ ++static inline HMAC_CTX * HMAC_CTX_new() ++{ ++ HMAC_CTX *ctx; ++ ++ ctx = (HMAC_CTX *) OPENSSL_malloc(sizeof(HMAC_CTX)); ++ HMAC_CTX_init(ctx); ++ return ctx; ++} ++#define HMAC_CTX_free(c) if (c != NULL) OPENSSL_free(c) ++ ++#define BIO_get_data(b) b->ptr ++#define BIO_set_data(b, v) b->ptr=v ++#define BIO_set_shutdown(b, v) b->shutdown=v ++#define BIO_set_init(b, v) b->init=v ++ ++#endif /* OPENSSL_VERSION_NUMBER */ ++ ++#endif /* OPENSSL_COMPAT_H */ ++ +-- +2.18.0 + diff --git a/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch b/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch new file mode 100644 index 0000000000..c55b227c0c --- /dev/null +++ b/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch @@ -0,0 +1,94 @@ +From 8118c43a53271ba2dd31ce3913a3cd21bc7dcca7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 16 Feb 2019 11:58:34 +0100 +Subject: [PATCH] ibrcommon/ssl/gcm: fix static build with openssl + +gf_mul is already defined in libcrypto (openssl) so rename it into +ibrdtn_gf_mul to fix following build failure: + +/home/buildroot/autobuild/instance-3/output/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libcrypto.a(f_impl.o): In function `gf_mul': +f_impl.c:(.text+0x0): multiple definition of `gf_mul' +/home/buildroot/autobuild/instance-3/output/host/arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libibrcommon.a(gf128mul.o):gf128mul.cpp:(.text+0x30): first defined here +collect2: error: ld returned 1 exit status +Makefile:560: recipe for target 'dtnd' failed + +Fixes: + - http://autobuild.buildroot.org/results/1d3b4b6cf043a3e185ce758b617a0a18c3d36cdb + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/ibrdtn/ibrdtn/pull/269] +--- + ibrcommon/ibrcommon/ssl/gcm/gcm.cpp | 10 +++++----- + ibrcommon/ibrcommon/ssl/gcm/gf128mul.cpp | 2 +- + ibrcommon/ibrcommon/ssl/gcm/gf128mul.h | 2 +- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/ibrcommon/ssl/gcm/gcm.cpp b/ibrcommon/ssl/gcm/gcm.cpp +index 8a5745b4..6097b43e 100644 +--- a/ibrcommon/ssl/gcm/gcm.cpp ++++ b/ibrcommon/ssl/gcm/gcm.cpp +@@ -89,7 +89,7 @@ ret_type gcm_init_and_key( /* initialise mode and set key + #elif defined( TABLES_256 ) + #define gf_mul_hh(a, ctx, scr) gf_mul_256(a, ctx->gf_t256, scr) + #else +-#define gf_mul_hh(a, ctx, scr) gf_mul(a, ui8_ptr(ctx->ghash_h)) ++#define gf_mul_hh(a, ctx, scr) ibrdtn_gf_mul(a, ui8_ptr(ctx->ghash_h)) + #endif + + ret_type gcm_init_message( /* initialise a new message */ +@@ -334,9 +334,9 @@ ret_type gcm_compute_tag( /* compute authentication tag + memcpy(tbuf, ctx->ghash_h, BLOCK_SIZE); + for( ; ; ) + { +- if(ln & 1) gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); ++ if(ln & 1) ibrdtn_gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); + if(!(ln >>= 1)) break; +- gf_mul(tbuf, tbuf); ++ ibrdtn_gf_mul(tbuf, tbuf); + } + } + #else /* this one seems slower on x86 and x86_64 :-( */ +@@ -348,12 +348,12 @@ ret_type gcm_compute_tag( /* compute authentication tag + tbuf[0] = 0x80; + while(i) + { +- gf_mul(tbuf, tbuf); ++ ibrdtn_gf_mul(tbuf, tbuf); + if(i & ln) + gf_mul_hh(tbuf, ctx, scratch); + i >>= 1; + } +- gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); ++ ibrdtn_gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); + } + #endif + i = BLOCK_SIZE; ln = (uint_32t)(ctx->txt_acnt << 3); +diff --git a/ibrcommon/ssl/gcm/gf128mul.cpp b/ibrcommon/ssl/gcm/gf128mul.cpp +index a553a044..d0c460c3 100644 +--- a/ibrcommon/ssl/gcm/gf128mul.cpp ++++ b/ibrcommon/ssl/gcm/gf128mul.cpp +@@ -103,7 +103,7 @@ + + const unsigned short gf_tab[256] = gf_dat(xda); + +-void gf_mul(void *a, const void* b) ++void ibrdtn_gf_mul(void *a, const void* b) + { uint_32t r[GF_BYTE_LEN >> 2], p[8][GF_BYTE_LEN >> 2]; + int i; + +diff --git a/ibrcommon/ssl/gcm/gf128mul.h b/ibrcommon/ssl/gcm/gf128mul.h +index 4645c7fe..65fba54b 100644 +--- a/ibrcommon/ssl/gcm/gf128mul.h ++++ b/ibrcommon/ssl/gcm/gf128mul.h +@@ -619,7 +619,7 @@ gf_inline void mul_x(void *r, const void *x) + + /* A slow generic version of gf_mul (a = a * b) */ + +-void gf_mul(void *a, const void* b); ++void ibrdtn_gf_mul(void *a, const void* b); + + /* This version uses 64k bytes of table space on the stack. + A 16 byte buffer has to be multiplied by a 16 byte key +-- +2.14.1 + diff --git a/package/ibrcommon/ibrcommon.hash b/package/ibrcommon/ibrcommon.hash index 21a0ec6f19..9d13f06d38 100644 --- a/package/ibrcommon/ibrcommon.hash +++ b/package/ibrcommon/ibrcommon.hash @@ -1,2 +1,4 @@ # Locally calculated sha256 9c457c1ebc01e6216524636628c647bef34ab11bd96f0e0788be8749374fdc20 ibrcommon-1.0.1.tar.gz +sha256 1a0b57773a46d9d4cc2f0d1780a17acc38af506bb1e0234aaa85f8ccd6dc0b92 COPYING +sha256 9b8a430c2136ebcf76bd37f50da7d7a80ede413ec6604cc4694ea536e779854c README diff --git a/package/ibrdtnd/0001-ibrdtnd-added-openssl-compatibility.patch b/package/ibrdtnd/0001-ibrdtnd-added-openssl-compatibility.patch new file mode 100644 index 0000000000..8d100e2a2a --- /dev/null +++ b/package/ibrdtnd/0001-ibrdtnd-added-openssl-compatibility.patch @@ -0,0 +1,205 @@ +From 8785fe0be66c8d6eaa94ffde921909a7ec220123 Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Sat, 26 May 2018 23:44:54 -0300 +Subject: [PATCH] ibrdtnd: added openssl compatibility + +This patch adds compatibility with openssl 1.1.0 to ibrdtnd. + +Upstream: https://github.com/ibrdtn/ibrdtn/pull/265 + +Signed-off-by: Eneas U de Queiroz +Signed-off-by: Matthew Weber +--- + src/security/exchange/DHProtocol.cpp | 36 ++++++++++--- + src/security/exchange/Makefile.am | 2 + + src/security/exchange/openssl_compat.cpp | 62 ++++++++++++++++++++++ + src/security/exchange/openssl_compat.h | 13 +++++ + 4 files changed, 107 insertions(+), 6 deletions(-) + create mode 100644 src/security/exchange/openssl_compat.cpp + create mode 100644 src/security/exchange/openssl_compat.h + +diff --git a/src/security/exchange/DHProtocol.cpp b/src/security/exchange/DHProtocol.cpp +index e94c502..3e0ad71 100644 +--- a/src/security/exchange/DHProtocol.cpp ++++ b/src/security/exchange/DHProtocol.cpp +@@ -30,6 +30,7 @@ + + #include + #include ++#include "openssl_compat.h" + + #define DH_KEY_LENGTH 1024 + +@@ -132,6 +133,7 @@ namespace dtn + + void DHProtocol::begin(KeyExchangeSession &session, KeyExchangeData &data) + { ++ const BIGNUM *pub_key, *p, *g; + // get session state + DHState &state = session.getState(); + +@@ -159,9 +161,12 @@ namespace dtn + // prepare request + KeyExchangeData request(KeyExchangeData::REQUEST, session); + +- write(request, state.dh->pub_key); +- write(request, state.dh->p); +- write(request, state.dh->g); ++ DH_get0_pqg(state.dh, &p, NULL, &g); ++ DH_get0_key(state.dh, &pub_key, NULL); ++ ++ write(request, pub_key); ++ write(request, p); ++ write(request, g); + + manager.submit(session, request); + } +@@ -177,6 +182,15 @@ namespace dtn + { + if (data.getAction() == KeyExchangeData::REQUEST) + { ++ BIGNUM *p = BN_new(); ++ BIGNUM *g = BN_new(); ++ if (p == NULL || g == NULL) ++ { ++ BN_free(p); ++ BN_free(g); ++ throw ibrcommon::Exception("Error while allocating space for DH parameters"); ++ } ++ + BIGNUM* pub_key = BN_new(); + read(data, &pub_key); + +@@ -184,8 +198,16 @@ namespace dtn + state.dh = DH_new(); + + // read p and g paramter from message +- read(data, &state.dh->p); +- read(data, &state.dh->g); ++ read(data, &p); ++ read(data, &g); ++ ++ if (DH_set0_pqg(state.dh, p, NULL, g)) ++ { ++ BN_free(p); ++ BN_free(g); ++ BN_free(pub_key); ++ throw ibrcommon::Exception("Error while setting DH parameters"); ++ } + + int codes; + if (!DH_check(state.dh, &codes)) +@@ -213,7 +235,9 @@ namespace dtn + state.secret.assign((const char*)secret, length); + + KeyExchangeData response(KeyExchangeData::RESPONSE, session); +- write(response, state.dh->pub_key); ++ const BIGNUM *state_dh_pub_key; ++ DH_get0_key(state.dh, &state_dh_pub_key, NULL); ++ write(response, state_dh_pub_key); + + manager.submit(session, response); + +diff --git a/src/security/exchange/Makefile.am b/src/security/exchange/Makefile.am +index a6b2f83..71ed836 100644 +--- a/src/security/exchange/Makefile.am ++++ b/src/security/exchange/Makefile.am +@@ -22,6 +22,8 @@ exchange_SOURCES += \ + NFCProtocol.cpp \ + NoneProtocol.h \ + NoneProtocol.cpp \ ++ openssl_compat.h \ ++ openssl_compat.cpp \ + QRCodeProtocol.h \ + QRCodeProtocol.cpp + +diff --git a/src/security/exchange/openssl_compat.cpp b/src/security/exchange/openssl_compat.cpp +new file mode 100644 +index 0000000..e3baba0 +--- /dev/null ++++ b/src/security/exchange/openssl_compat.cpp +@@ -0,0 +1,62 @@ ++/* ++ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. ++ * ++ * Licensed under the OpenSSL license (the "License"). You may not use ++ * this file except in compliance with the License. You can obtain a copy ++ * in the file LICENSE in the source distribution or at ++ * https://www.openssl.org/source/license.html ++ */ ++ ++#include "openssl_compat.h" ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++void DH_get0_pqg(const DH *dh, ++ const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) ++{ ++ if (p != NULL) ++ *p = dh->p; ++ if (q != NULL) ++ *q = dh->q; ++ if (g != NULL) ++ *g = dh->g; ++} ++ ++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) ++{ ++ /* If the fields p and g in d are NULL, the corresponding input ++ * parameters MUST be non-NULL. q may remain NULL. ++ */ ++ if ((dh->p == NULL && p == NULL) ++ || (dh->g == NULL && g == NULL)) ++ return 0; ++ ++ if (p != NULL) { ++ BN_free(dh->p); ++ dh->p = p; ++ } ++ if (q != NULL) { ++ BN_free(dh->q); ++ dh->q = q; ++ } ++ if (g != NULL) { ++ BN_free(dh->g); ++ dh->g = g; ++ } ++ ++ if (q != NULL) { ++ dh->length = BN_num_bits(q); ++ } ++ ++ return 1; ++} ++ ++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) ++{ ++ if (pub_key != NULL) ++ *pub_key = dh->pub_key; ++ if (priv_key != NULL) ++ *priv_key = dh->priv_key; ++} ++ ++#endif /* OPENSSL_VERSION_NUMBER */ +diff --git a/src/security/exchange/openssl_compat.h b/src/security/exchange/openssl_compat.h +new file mode 100644 +index 0000000..29e7d41 +--- /dev/null ++++ b/src/security/exchange/openssl_compat.h +@@ -0,0 +1,13 @@ ++#ifndef LIBCRYPTO_COMPAT_H ++#define LIBCRYPTO_COMPAT_H ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++#include ++ ++void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); ++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); ++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key); ++ ++#endif /* OPENSSL_VERSION_NUMBER */ ++#endif /* LIBCRYPTO_COMPAT_H */ +-- +1.9.1 + diff --git a/package/ibrdtnd/0002-SecurityCertificateManager.cpp-include-cstring-267.patch b/package/ibrdtnd/0002-SecurityCertificateManager.cpp-include-cstring-267.patch new file mode 100644 index 0000000000..e681936e99 --- /dev/null +++ b/package/ibrdtnd/0002-SecurityCertificateManager.cpp-include-cstring-267.patch @@ -0,0 +1,29 @@ +From 9458a8627ed73600488a6d8a0ce2ce1d123da583 Mon Sep 17 00:00:00 2001 +From: bkuhls +Date: Sun, 19 Aug 2018 11:23:48 +0200 +Subject: [PATCH] SecurityCertificateManager.cpp: include cstring (#267) + +Fixes build with gcc-8.2.0. + +Upstream: https://github.com/ibrdtn/ibrdtn/commit/122fa8ed49f896abf6a389505f3d0b66d49d1e77 + +Signed-off-by: Matthew Weber +--- + src/security/SecurityCertificateManager.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/security/SecurityCertificateManager.cpp b/src/security/SecurityCertificateManager.cpp +index 5fba703..f2bbb01 100644 +--- a/src/security/SecurityCertificateManager.cpp ++++ b/src/security/SecurityCertificateManager.cpp +@@ -22,6 +22,7 @@ + #include "security/SecurityCertificateManager.h" + #include "Configuration.h" + ++#include + #include + + #include +-- +1.9.1 + diff --git a/package/ifupdown-scripts/S40network b/package/ifupdown-scripts/S40network old mode 100755 new mode 100644 diff --git a/package/ifupdown-scripts/ifupdown-scripts.mk b/package/ifupdown-scripts/ifupdown-scripts.mk index ebc89b3872..17364aed03 100644 --- a/package/ifupdown-scripts/ifupdown-scripts.mk +++ b/package/ifupdown-scripts/ifupdown-scripts.mk @@ -23,6 +23,7 @@ define IFUPDOWN_SCRIPTS_DHCP echo "iface $(IFUPDOWN_SCRIPTS_DHCP_IFACE) inet dhcp"; \ echo " pre-up /etc/network/nfs_check"; \ echo " wait-delay 15"; \ + echo " hostname \$$(hostname)"; \ ) >> $(TARGET_DIR)/etc/network/interfaces $(INSTALL) -m 0755 -D $(IFUPDOWN_SCRIPTS_PKGDIR)/nfs_check \ $(TARGET_DIR)/etc/network/nfs_check diff --git a/package/igmpproxy/igmpproxy.hash b/package/igmpproxy/igmpproxy.hash index 313af52fbe..2566987a7f 100644 --- a/package/igmpproxy/igmpproxy.hash +++ b/package/igmpproxy/igmpproxy.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 e60331031f85d1fb834c5272a134f32d32e7834718da19ba3f787dff68389a31 igmpproxy-f47644d8fa7266a784f3ec7b251e7d318bc2f0a9.tar.gz +sha256 6faa1f42ba323f60a9eb4958550e25b2e7e9c645da32c52ba12db0c9bdfce1ba igmpproxy-0.2.1.tar.gz sha256 be3d05af93dbbc4650f8d641d8e1bec220af4a729e07ba71e949c25b93a1b4f6 COPYING sha256 c4f65d5d396ad518a37d30b83fe33897661858dc174ff64a15d0461630ce64e4 GPL.txt sha256 4328a21f0822caa9976356623118bcdcc9970c7a0f9a3deeba23c779b7cfb5d1 Stanford.txt diff --git a/package/igmpproxy/igmpproxy.mk b/package/igmpproxy/igmpproxy.mk index 9c19f76f0c..fe4614fd13 100644 --- a/package/igmpproxy/igmpproxy.mk +++ b/package/igmpproxy/igmpproxy.mk @@ -4,7 +4,7 @@ # ################################################################################ -IGMPPROXY_VERSION = f47644d8fa7266a784f3ec7b251e7d318bc2f0a9 +IGMPPROXY_VERSION = 0.2.1 IGMPPROXY_SITE = $(call github,pali,igmpproxy,$(IGMPPROXY_VERSION)) IGMPPROXY_AUTORECONF = YES IGMPPROXY_LICENSE = GPL-2.0+, BSD-3-Clause (mrouted) diff --git a/package/imagemagick/Config.in b/package/imagemagick/Config.in index 4bd81dbd79..8b795d89e5 100644 --- a/package/imagemagick/Config.in +++ b/package/imagemagick/Config.in @@ -9,8 +9,8 @@ config BR2_PACKAGE_IMAGEMAGICK JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various - special effects, or draw text, - lines, polygons, ellipses and Bézier curves. + special effects, or draw text, lines, polygons, ellipses and + Bézier curves. http://www.imagemagick.org/ diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index b75d65375b..7678980582 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -113,11 +113,11 @@ else IMAGEMAGICK_CONF_OPTS += --without-lzma endif -ifeq ($(BR2_PACKAGE_FFTW),y) +ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y) # configure script misdetects these leading to build errors IMAGEMAGICK_CONF_ENV += ac_cv_func_creal=yes ac_cv_func_cimag=yes IMAGEMAGICK_CONF_OPTS += --with-fftw -IMAGEMAGICK_DEPENDENCIES += fftw +IMAGEMAGICK_DEPENDENCIES += fftw-double else IMAGEMAGICK_CONF_OPTS += --without-fftw endif @@ -143,4 +143,41 @@ else IMAGEMAGICK_CONF_OPTS += --without-bzlib endif +HOST_IMAGEMAGICK_CONF_OPTS = \ + --disable-openmp \ + --without-djvu \ + --without-dps \ + --without-flif \ + --without-fpx \ + --without-gslib \ + --without-gvc \ + --without-jbig \ + --without-lqr \ + --without-openexr \ + --without-perl \ + --without-raqm \ + --without-wmf \ + --without-x \ + --without-bzlib \ + --without-fftw \ + --without-fontconfig \ + --without-freetype \ + --without-lcms \ + --without-lzma \ + --without-pango \ + --without-rsvg \ + --without-tiff \ + --without-webp \ + --without-xml \ + --with-jpeg \ + --with-png \ + --with-zlib + +HOST_IMAGEMAGICK_DEPENDENCIES = \ + host-libjpeg \ + host-libpng \ + host-pkgconf \ + host-zlib + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/imlib2/imlib2.hash b/package/imlib2/imlib2.hash index 62ebac32ea..c52ce9d2f4 100644 --- a/package/imlib2/imlib2.hash +++ b/package/imlib2/imlib2.hash @@ -1,7 +1,8 @@ -# From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.4.10/ -md5 a0de8524592bbd9f24fcc6cb8352137c imlib2-1.4.10.tar.bz2 -sha1 664df65c6265a2825d685d2f3a4f0d072eb626ac imlib2-1.4.10.tar.bz2 +# From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.5.1/ +md5 390aa207693e051bb692f2db650c694b imlib2-1.5.1.tar.bz2 +sha1 3e97e7157380f0cfbdf4f3c950a7a00bdfa6072c imlib2-1.5.1.tar.bz2 # Locally computed +sha256 fa4e57452b8843f4a70f70fd435c746ae2ace813250f8c65f977db5d7914baae imlib2-1.5.1.tar.bz2 sha256 fb70339dd33a77b6213c7ae067fccf93d04af44ff3f937c61f8863f7970e73f6 COPYING sha256 8c9a2e92ed4937e2d30c2ea95439c36ed3002fc47e34efee43455a460fee8ef5 COPYING-PLAIN diff --git a/package/imlib2/imlib2.mk b/package/imlib2/imlib2.mk index 21a96cb1ca..1c2e924d50 100644 --- a/package/imlib2/imlib2.mk +++ b/package/imlib2/imlib2.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMLIB2_VERSION = 1.4.10 +IMLIB2_VERSION = 1.5.1 IMLIB2_SOURCE = imlib2-$(IMLIB2_VERSION).tar.bz2 IMLIB2_SITE = http://downloads.sourceforge.net/project/enlightenment/imlib2-src/$(IMLIB2_VERSION) IMLIB2_LICENSE = Imlib2 diff --git a/package/imx-usb-loader/0001-portable.h-fix-build-with-gcc-older-than-4.8.patch b/package/imx-usb-loader/0001-portable.h-fix-build-with-gcc-older-than-4.8.patch deleted file mode 100644 index 902b94d198..0000000000 --- a/package/imx-usb-loader/0001-portable.h-fix-build-with-gcc-older-than-4.8.patch +++ /dev/null @@ -1,47 +0,0 @@ -From b9cb60a911c35650c26995c7e6f7051fdf702d22 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 19 Jun 2018 15:31:52 +0300 -Subject: [PATCH] portable.h: fix build with gcc older than 4.8 - -__builtin_bswap16 is available in all gcc architectures only since -version 4.8. Older gcc versions fail to build: - -imx_sdp.o: In function `perform_dcd': -.../imx_sdp.c:1138: undefined reference to `__builtin_bswap16' -imx_sdp.o: In function `write_dcd_table_ivt': -.../imx_sdp.c:457: undefined reference to `__builtin_bswap16' -imx_sdp.o: In function `write_dcd': -.../imx_sdp.c:410: undefined reference to `__builtin_bswap16' -imx_sdp.o: In function `init_header': -.../imx_sdp.c:1075: undefined reference to `__builtin_bswap16' - -Use a local implementation instead. The implementation suggested by -Arnout Vandecappelle on the Buildroot mailing list. - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/boundarydevices/imx_usb_loader/pull/82 - - portable.h | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/portable.h b/portable.h -index 364fe47b212a..b8a302bae400 100644 ---- a/portable.h -+++ b/portable.h -@@ -58,7 +58,11 @@ extern int debugmode; - #ifdef __GNUC__ - #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - #define BE32(x) __builtin_bswap32(x) --#define BE16(x) __builtin_bswap16(x) -+#define BE16(x) \ -+({ \ -+ typeof(x) __x = (x); \ -+ (__x<<8 | __x>>8); \ -+}) - #else - #define BE32(x) x - #define BE16(x) x --- -2.17.1 - diff --git a/package/imx-usb-loader/imx-usb-loader.hash b/package/imx-usb-loader/imx-usb-loader.hash index 8f59a3888b..149be676d7 100644 --- a/package/imx-usb-loader/imx-usb-loader.hash +++ b/package/imx-usb-loader/imx-usb-loader.hash @@ -1,2 +1,2 @@ # locally computed -sha256 263dba6331206816890eaed0de7b0aa748c6e5300982fe6f31dcfe0df383ad62 imx-usb-loader-e5394615dd413c3823d5bd1de340933e16a8c07c.tar.gz +sha256 5a17886042c09f0f16093031183a287a2a7ae0fa9cd8bdfa31e7b31cb92510d9 imx-usb-loader-4aa9809099dcece9a9225776321f3b4b5b896d78.tar.gz diff --git a/package/imx-usb-loader/imx-usb-loader.mk b/package/imx-usb-loader/imx-usb-loader.mk index f0db57faac..594bbb9ca1 100644 --- a/package/imx-usb-loader/imx-usb-loader.mk +++ b/package/imx-usb-loader/imx-usb-loader.mk @@ -4,7 +4,8 @@ # ################################################################################ -IMX_USB_LOADER_VERSION = e5394615dd413c3823d5bd1de340933e16a8c07c +IMX_USB_LOADER_VERSION = 4aa9809099dcece9a9225776321f3b4b5b896d78 + IMX_USB_LOADER_SITE = $(call github,boundarydevices,imx_usb_loader,$(IMX_USB_LOADER_VERSION)) IMX_USB_LOADER_LICENSE = LGPL-2.1+ IMX_USB_LOADER_LICENSE_FILES = COPYING diff --git a/package/inadyn/inadyn.hash b/package/inadyn/inadyn.hash index 742b6f226f..2691ba0ef9 100644 --- a/package/inadyn/inadyn.hash +++ b/package/inadyn/inadyn.hash @@ -1,5 +1,5 @@ -# From https://github.com/troglobit/inadyn/releases/download/v2.3/inadyn-2.3.tar.xz.md5 -md5 63efb284b7f3f389c01bad19ee28407e inadyn-2.3.tar.xz +# From https://github.com/troglobit/inadyn/releases/download/v2.5/inadyn-2.5.tar.xz.md5 +md5 8a864d5186e54d24de2d7554fc01b3ec inadyn-2.5.tar.xz # Locally computed -sha256 4a98b80d8565b9e4cb32b19b7a8b06a22a7d9a6f4f03a5298a8d441b6187c760 inadyn-2.3.tar.xz +sha256 4a9ad208671f62912428413da0282450b2d2c4da38f3c95c4ac975d048c41fcd inadyn-2.5.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/inadyn/inadyn.mk b/package/inadyn/inadyn.mk index 0b1f82dae8..96a37d4768 100644 --- a/package/inadyn/inadyn.mk +++ b/package/inadyn/inadyn.mk @@ -4,7 +4,7 @@ # ################################################################################ -INADYN_VERSION = 2.3 +INADYN_VERSION = 2.5 INADYN_SITE = https://github.com/troglobit/inadyn/releases/download/v$(INADYN_VERSION) INADYN_SOURCE = inadyn-$(INADYN_VERSION).tar.xz INADYN_LICENSE = GPL-2.0+ diff --git a/package/initscripts/init.d/S20urandom b/package/initscripts/init.d/S20urandom old mode 100755 new mode 100644 diff --git a/package/input-event-daemon/S99input-event-daemon b/package/input-event-daemon/S99input-event-daemon old mode 100755 new mode 100644 diff --git a/package/intel-gmmlib/Config.in b/package/intel-gmmlib/Config.in new file mode 100644 index 0000000000..9d5fbd9cae --- /dev/null +++ b/package/intel-gmmlib/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_INTEL_GMMLIB + bool "intel-gmmlib" + depends on BR2_x86_64 + depends on !BR2_STATIC_LIBS + help + The Intel(R) Graphics Memory Management Library provides + device specific and buffer management for the Intel(R) + Graphics Compute Runtime for OpenCL(TM) and the Intel(R) + Media Driver for VAAPI. + + https://github.com/intel/gmmlib + +comment "intel-gmmlib needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/intel-gmmlib/intel-gmmlib.hash b/package/intel-gmmlib/intel-gmmlib.hash new file mode 100644 index 0000000000..d54abd2a43 --- /dev/null +++ b/package/intel-gmmlib/intel-gmmlib.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 7970a8ae4e16efb98f38fbbc0346eea03227fc4462a9bd8e8077277cc3430a84 intel-gmmlib-18.4.1.tar.gz +sha256 b61d639c5d84ec710ffcf5600ac92f8a4ace66670c1f9bd921f3bde671d36033 LICENSE.md diff --git a/package/intel-gmmlib/intel-gmmlib.mk b/package/intel-gmmlib/intel-gmmlib.mk new file mode 100644 index 0000000000..4d89086590 --- /dev/null +++ b/package/intel-gmmlib/intel-gmmlib.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# intel-gmmlib +# +################################################################################ + +INTEL_GMMLIB_VERSION = 18.4.1 +INTEL_GMMLIB_SITE = https://github.com/intel/gmmlib/archive +INTEL_GMMLIB_LICENSE = MIT +INTEL_GMMLIB_LICENSE_FILES = LICENSE.md + +INTEL_GMMLIB_INSTALL_STAGING = YES +INTEL_GMMLIB_SUPPORTS_IN_SOURCE_BUILD = NO + +INTEL_GMMLIB_CONF_OPTS = -DRUN_TEST_SUITE=OFF + +$(eval $(cmake-package)) diff --git a/package/intel-microcode/intel-microcode.hash b/package/intel-microcode/intel-microcode.hash index 999b27299d..183ba5aeec 100644 --- a/package/intel-microcode/intel-microcode.hash +++ b/package/intel-microcode/intel-microcode.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 0b381face2df1b0a829dc4fa8fa93f47f39e11b1c9c22ebd44f8614657c1e779 microcode-20180312.tgz -sha256 6d4deb65ca688d930e188bf93f78430f134097b161e6df4a2ef00728e14965e3 license.txt +sha256 46ab18699ec42eb6cc01ee1846ec4d7ca979766dee2156f92d69e2f6df548137 microcode-20180807a.tgz +sha256 c4698c6105d59fec11ad0929e77a003445c560c7706c089990030acbf10c9372 license diff --git a/package/intel-microcode/intel-microcode.mk b/package/intel-microcode/intel-microcode.mk index e3134b6408..ed4ad628dd 100644 --- a/package/intel-microcode/intel-microcode.mk +++ b/package/intel-microcode/intel-microcode.mk @@ -4,23 +4,18 @@ # ################################################################################ -INTEL_MICROCODE_VERSION = 20180312 +INTEL_MICROCODE_VERSION = 20180807a INTEL_MICROCODE_SOURCE = microcode-$(INTEL_MICROCODE_VERSION).tgz -INTEL_MICROCODE_SITE = http://downloadmirror.intel.com/27591/eng +INTEL_MICROCODE_SITE = https://downloadmirror.intel.com/28087/eng INTEL_MICROCODE_STRIP_COMPONENTS = 0 INTEL_MICROCODE_LICENSE = PROPRIETARY -INTEL_MICROCODE_LICENSE_FILES = license.txt +INTEL_MICROCODE_LICENSE_FILES = license INTEL_MICROCODE_REDISTRIBUTE = NO -define INTEL_MICROCODE_EXTRACT_LICENSE - head -n 33 $(@D)/microcode.dat > $(@D)/license.txt -endef - -INTEL_MICROCODE_POST_EXTRACT_HOOKS += INTEL_MICROCODE_EXTRACT_LICENSE - define INTEL_MICROCODE_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0644 $(@D)/microcode.dat \ - $(TARGET_DIR)/usr/share/misc/intel-microcode.dat + mkdir -p $(TARGET_DIR)/lib/firmware/intel-ucode + $(INSTALL) -m 0644 -t $(TARGET_DIR)/lib/firmware/intel-ucode \ + $(@D)/intel-ucode/* endef $(eval $(generic-package)) diff --git a/package/iozone/0001-targets.patch b/package/iozone/0001-Add-new-targets-for-iozone.patch similarity index 63% rename from package/iozone/0001-targets.patch rename to package/iozone/0001-Add-new-targets-for-iozone.patch index 258b960928..e6bfc18de6 100644 --- a/package/iozone/0001-targets.patch +++ b/package/iozone/0001-Add-new-targets-for-iozone.patch @@ -1,4 +1,7 @@ -Add new targets for iozone: +From 1584ffbfda3277b82997b9f1e0ef31a7061560e0 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Sun, 26 Aug 2018 18:39:06 +0200 +Subject: [PATCH] Add new targets for iozone: linux-noaio is for linux targets without AIO (use case: uClibc) linux-noth is for linux target without threads or AIO @@ -6,11 +9,16 @@ linux-noth is for linux target without threads or AIO And make largefile support optional via CFLAGS. Signed-off-by: Gustavo Zacarias +Signed-off-by: Gilles Talis +--- + src/current/makefile | 56 +++++++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 47 insertions(+), 9 deletions(-) -diff -Nura iozone3_414.orig/src/current/makefile iozone3_414/src/current/makefile ---- iozone3_414.orig/src/current/makefile 2013-06-11 09:48:18.257837091 -0300 -+++ iozone3_414/src/current/makefile 2013-06-11 13:05:56.338162144 -0300 -@@ -166,10 +166,28 @@ +diff --git a/src/current/makefile b/src/current/makefile +index cfef879..7925e62 100644 +--- a/src/current/makefile ++++ b/src/current/makefile +@@ -168,10 +168,28 @@ hpux_no_ansi: iozone_hpux_no.o libbif.o # GNU 'C' compiler Linux build with threads, largefiles, async I/O # linux: iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o @@ -42,46 +50,46 @@ diff -Nura iozone3_414.orig/src/current/makefile iozone3_414/src/current/makefil # # GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O -@@ -795,13 +813,33 @@ +@@ -814,13 +832,33 @@ iozone_linux.o: iozone.c libbif.c libasync.c @echo "" @echo "Building iozone for Linux" @echo "" -- $(CC) -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ +- $(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ - -DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \ -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ + -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ -DNAME='"linux"' -o iozone_linux.o -- $(CC) -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \ -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO \ +- $(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO \ + -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o -+ $(CC) -Wall -c -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ -+ $(CFLAGS) libasync.c -o libasync.o ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ ++ $(CFLAGS) libasync.c -o libasync.o + +iozone_linux-noaio.o: iozone.c libbif.c + @echo "" + @echo "Building iozone for Linux no AIO" + @echo "" -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DHAVE_PREAD \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DHAVE_PREAD \ + -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ + -DNAME='"linux"' -o iozone_linux-noaio.o -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C \ + -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o + +iozone_linux-noth.o: iozone.c libbif.c + @echo "" + @echo "Building iozone for Linux with no threads" + @echo "" -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS -DHAVE_PREAD \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS -DHAVE_PREAD \ + -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ + -DNAME='"linux"' -o iozone_linux-noth.o -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS \ -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o -- $(CC) -Wall -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ +- $(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ - -D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c -o libasync.o fileop_AIX.o: fileop.c @echo "" -@@ -893,7 +931,7 @@ +@@ -924,7 +962,7 @@ fileop_linux.o: fileop.c @echo "" @echo "Building fileop for Linux" @echo "" @@ -90,3 +98,6 @@ diff -Nura iozone3_414.orig/src/current/makefile iozone3_414/src/current/makefil fileop_openbsd.o: fileop.c @echo "" +-- +2.7.4 + diff --git a/package/iozone/iozone.hash b/package/iozone/iozone.hash index b387588fd6..2a027317fc 100644 --- a/package/iozone/iozone.hash +++ b/package/iozone/iozone.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 bbbda98d7c052d8654ea23fb2187d831107ab4ac89842fa21509276d9a6915f0 iozone3_446.tar +sha256 eeaf16cfbee095b16e4934180c6c7438539629489ce42ef4ace48feb23916b12 iozone3_483.tar diff --git a/package/iozone/iozone.mk b/package/iozone/iozone.mk index 477a60a3bb..903d2a1882 100644 --- a/package/iozone/iozone.mk +++ b/package/iozone/iozone.mk @@ -4,7 +4,7 @@ # ################################################################################ -IOZONE_VERSION = 3_446 +IOZONE_VERSION = 3_483 IOZONE_SOURCE = iozone$(IOZONE_VERSION).tar IOZONE_SITE = http://www.iozone.org/src/current IOZONE_LICENSE = IOzone license (NO DERIVED WORKS ALLOWED) diff --git a/package/iperf/iperf.hash b/package/iperf/iperf.hash index 3540c6e930..bce46c6919 100644 --- a/package/iperf/iperf.hash +++ b/package/iperf/iperf.hash @@ -1,5 +1,6 @@ # From https://sourceforge.net/projects/iperf2/files/ -sha1 909b469bbbc38508cd268e334a6ec319c3116f15 iperf-2.0.12.tar.gz +sha1 0c7625c61087b9e6866421abb8bb533658b40a8d iperf-2.0.13.tar.gz + # Locally computed: -sha256 367f651fb1264b13f6518e41b8a7e08ce3e41b2a1c80e99ff0347561eed32646 iperf-2.0.12.tar.gz +sha256 c88adec966096a81136dda91b4bd19c27aae06df4d45a7f547a8e50d723778ad iperf-2.0.13.tar.gz sha256 5f9f5c4feca3347c3b3c0ada8b16b4e6b698aac4e6f016a24adf61a5915336d1 COPYING diff --git a/package/iperf/iperf.mk b/package/iperf/iperf.mk index c712de61e0..7088b0f152 100644 --- a/package/iperf/iperf.mk +++ b/package/iperf/iperf.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPERF_VERSION = 2.0.12 +IPERF_VERSION = 2.0.13 IPERF_SITE = http://downloads.sourceforge.net/project/iperf2 IPERF_LICENSE = MIT-like IPERF_LICENSE_FILES = COPYING diff --git a/package/iperf3/iperf3.hash b/package/iperf3/iperf3.hash index 3e34f98eb6..06dae42149 100644 --- a/package/iperf3/iperf3.hash +++ b/package/iperf3/iperf3.hash @@ -1,2 +1,4 @@ -# From http://software.es.net/iperf/news.html -sha256 a4ef73406fe92250602b8da2ae89ec53211f805df97a1d1d629db5a14043734f iperf-3.1.7.tar.gz +# From https://downloads.es.net/pub/iperf/iperf-3.6.tar.gz.sha256 +sha256 de5d51e46dc460cc590fb4d44f95e7cad54b74fea1eba7d6ebd6f8887d75946e iperf-3.6.tar.gz +# Locally computed +sha256 52c42914d7d79fe5e95d0d1b821556d9f06bf756ac910fe085a46d238a33e594 LICENSE diff --git a/package/iperf3/iperf3.mk b/package/iperf3/iperf3.mk index cc4e72427b..8ac4b078c4 100644 --- a/package/iperf3/iperf3.mk +++ b/package/iperf3/iperf3.mk @@ -4,12 +4,21 @@ # ################################################################################ -IPERF3_VERSION = 3.1.7 -IPERF3_SITE = http://downloads.es.net/pub/iperf +IPERF3_VERSION = 3.6 +IPERF3_SITE = https://downloads.es.net/pub/iperf IPERF3_SOURCE = iperf-$(IPERF3_VERSION).tar.gz IPERF3_LICENSE = BSD-3-Clause, BSD-2-Clause, MIT IPERF3_LICENSE_FILES = LICENSE IPERF3_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" +ifeq ($(BR2_PACKAGE_OPENSSL),y) +# We intentionally don't pass --with-openssl, otherwise pkg-config is +# not used, and indirect libraries are not picked up when static +# linking. +IPERF3_DEPENDENCIES += host-pkgconf openssl +else +IPERF3_CONF_OPTS += --without-openssl +endif + $(eval $(autotools-package)) diff --git a/package/ipmitool/0002-ID-461-OpenSSL-1.1-compatibility-error-storage-size-.patch b/package/ipmitool/0002-ID-461-OpenSSL-1.1-compatibility-error-storage-size-.patch new file mode 100644 index 0000000000..d43f22e278 --- /dev/null +++ b/package/ipmitool/0002-ID-461-OpenSSL-1.1-compatibility-error-storage-size-.patch @@ -0,0 +1,108 @@ +From 1ad09f56d461e78ad83c77b654fb65467a68388b Mon Sep 17 00:00:00 2001 +From: Dennis Schridde +Date: Wed, 30 Nov 2016 17:33:00 +0100 +Subject: [PATCH] ID:461 - OpenSSL 1.1 compatibility - "error: storage size + of 'ctx' isn't known" + +In OpenSSL 1.1 EVP_CIPHER_CTX became opaque, cf. `man 3ssl EVP_EncryptInit` + +Fixes: ID:461 + +Upstream: https://github.com/ipmitool/ipmitool/commit/b57487e360916ab3eaa50aa6d021c73b6337a4a0 + +Signed-off-by: Matthew Weber +--- + src/plugins/lanplus/lanplus_crypt_impl.c | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c +index d5fac37..3c0df23 100644 +--- a/src/plugins/lanplus/lanplus_crypt_impl.c ++++ b/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -164,10 +164,10 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX ctx; +- EVP_CIPHER_CTX_init(&ctx); +- EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(&ctx, 0); ++ EVP_CIPHER_CTX* ctx; ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); + + + *bytes_written = 0; +@@ -191,7 +191,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0); + + +- if(!EVP_EncryptUpdate(&ctx, output, (int *)bytes_written, input, input_length)) ++ if(!EVP_EncryptUpdate(ctx, output, (int *)bytes_written, input, input_length)) + { + /* Error */ + *bytes_written = 0; +@@ -201,7 +201,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + { + uint32_t tmplen; + +- if(!EVP_EncryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen)) ++ if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { + *bytes_written = 0; + return; /* Error */ +@@ -210,7 +210,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_cleanup(ctx); + } + } + } +@@ -239,10 +239,10 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX ctx; +- EVP_CIPHER_CTX_init(&ctx); +- EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(&ctx, 0); ++ EVP_CIPHER_CTX* ctx; ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); + + + if (verbose >= 5) +@@ -266,7 +266,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0); + + +- if (!EVP_DecryptUpdate(&ctx, output, (int *)bytes_written, input, input_length)) ++ if (!EVP_DecryptUpdate(ctx, output, (int *)bytes_written, input, input_length)) + { + /* Error */ + lprintf(LOG_DEBUG, "ERROR: decrypt update failed"); +@@ -277,7 +277,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + { + uint32_t tmplen; + +- if (!EVP_DecryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen)) ++ if (!EVP_DecryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { + char buffer[1000]; + ERR_error_string(ERR_get_error(), buffer); +@@ -290,7 +290,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_cleanup(ctx); + } + } + +-- +1.9.1 + diff --git a/package/ipmitool/0003-ID-461-Make-compiler-happier-about-changes-related-t.patch b/package/ipmitool/0003-ID-461-Make-compiler-happier-about-changes-related-t.patch new file mode 100644 index 0000000000..7ff27bdab6 --- /dev/null +++ b/package/ipmitool/0003-ID-461-Make-compiler-happier-about-changes-related-t.patch @@ -0,0 +1,40 @@ +From ccc85e4fd67423e770901ec59975e84b07eed883 Mon Sep 17 00:00:00 2001 +From: Zdenek Styblik +Date: Sun, 15 Jan 2017 15:11:25 +0100 +Subject: [PATCH] ID:461 - Make compiler happier about changes related to + OpenSSL 1.1 + +Complaint was that ctx isn't initialized. + +Upstream: https://github.com/ipmitool/ipmitool/commit/77fe5635037ebaf411cae46cf5045ca819b5c145 + +Signed-off-by: Matthew Weber +--- + src/plugins/lanplus/lanplus_crypt_impl.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c +index 3c0df23..d12d0e3 100644 +--- a/src/plugins/lanplus/lanplus_crypt_impl.c ++++ b/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -164,7 +164,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX* ctx; ++ EVP_CIPHER_CTX *ctx = NULL; + EVP_CIPHER_CTX_init(ctx); + EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); +@@ -239,7 +239,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX* ctx; ++ EVP_CIPHER_CTX *ctx = NULL; + EVP_CIPHER_CTX_init(ctx); + EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); +-- +1.9.1 + diff --git a/package/ipmitool/0004-ID-480-ipmitool-coredumps-in-EVP_CIPHER_CTX_init.patch b/package/ipmitool/0004-ID-480-ipmitool-coredumps-in-EVP_CIPHER_CTX_init.patch new file mode 100644 index 0000000000..aabcc62d32 --- /dev/null +++ b/package/ipmitool/0004-ID-480-ipmitool-coredumps-in-EVP_CIPHER_CTX_init.patch @@ -0,0 +1,57 @@ +From 72df3eadb27161a292f35b1d97178f70f41e50f6 Mon Sep 17 00:00:00 2001 +From: Zdenek Styblik +Date: Sun, 12 Mar 2017 14:00:35 +0100 +Subject: [PATCH] ID:480 - ipmitool coredumps in EVP_CIPHER_CTX_init + +IPMI tool coredumps due to changes introduced in ID:461. This shouldn't be +surprise as a NULL pointer is passed to init. Commit addresses this issue by +calling EVP_CIPHER_CTX_new() instead of EVP_CIPHER_CTX_init(), which is +deprecated, and by checking return value of call to former function. + +Upstream: https://github.com/ipmitool/ipmitool/commit/f004b4b7197fc83e7d47ec8cbcaefffa9a922717 + +Signed-off-by: Matthew Weber +--- + src/plugins/lanplus/lanplus_crypt_impl.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c +index d12d0e3..0e330c1 100644 +--- a/src/plugins/lanplus/lanplus_crypt_impl.c ++++ b/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -165,10 +165,13 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + uint32_t * bytes_written) + { + EVP_CIPHER_CTX *ctx = NULL; +- EVP_CIPHER_CTX_init(ctx); ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ *bytes_written = 0; ++ return; ++ } + EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); +- + + *bytes_written = 0; + +@@ -240,11 +243,14 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + uint32_t * bytes_written) + { + EVP_CIPHER_CTX *ctx = NULL; +- EVP_CIPHER_CTX_init(ctx); ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ *bytes_written = 0; ++ return; ++ } + EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); + +- + if (verbose >= 5) + { + printbuf(iv, 16, "decrypting with this IV"); +-- +1.9.1 + diff --git a/package/ipmitool/0005-ID-480-Call-EVP_CIPHER_CTX_free-instead-of-EVP_CIPHE.patch b/package/ipmitool/0005-ID-480-Call-EVP_CIPHER_CTX_free-instead-of-EVP_CIPHE.patch new file mode 100644 index 0000000000..b3ce965077 --- /dev/null +++ b/package/ipmitool/0005-ID-480-Call-EVP_CIPHER_CTX_free-instead-of-EVP_CIPHE.patch @@ -0,0 +1,148 @@ +From d9d6e0bff831da03f4448f0cdb82fc3d143662c8 Mon Sep 17 00:00:00 2001 +From: Holger Liebig +Date: Tue, 4 Apr 2017 20:43:05 +0200 +Subject: [PATCH] ID:480 - Call EVP_CIPHER_CTX_free() instead of + EVP_CIPHER_CTX_cleanup() + +Call EVP_CIPHER_CTX_free() instead of EVP_CIPHER_CTX_cleanup() to fix memory +leak. + +Upstream: https://github.com/ipmitool/ipmitool/commit/1664902525a1c3771b4d8b3ccab7ea1ba6b2bdd1 + +Signed-off-by: Matthew Weber +--- + src/plugins/lanplus/lanplus_crypt_impl.c | 44 +++++++++++++++++--------------- + 1 file changed, 23 insertions(+), 21 deletions(-) + +diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c +index 0e330c1..9652a5e 100644 +--- a/src/plugins/lanplus/lanplus_crypt_impl.c ++++ b/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -165,13 +165,6 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + uint32_t * bytes_written) + { + EVP_CIPHER_CTX *ctx = NULL; +- ctx = EVP_CIPHER_CTX_new(); +- if (ctx == NULL) { +- *bytes_written = 0; +- return; +- } +- EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(ctx, 0); + + *bytes_written = 0; + +@@ -185,6 +178,14 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + printbuf(input, input_length, "encrypting this data"); + } + ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); ++ return; ++ } ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); + + /* + * The default implementation adds a whole block of padding if the input +@@ -198,7 +199,6 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + { + /* Error */ + *bytes_written = 0; +- return; + } + else + { +@@ -206,16 +206,17 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + + if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { ++ /* Error */ + *bytes_written = 0; +- return; /* Error */ + } + else + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(ctx); + } + } ++ /* performs cleanup and free */ ++ EVP_CIPHER_CTX_free(ctx); + } + + +@@ -243,13 +244,6 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + uint32_t * bytes_written) + { + EVP_CIPHER_CTX *ctx = NULL; +- ctx = EVP_CIPHER_CTX_new(); +- if (ctx == NULL) { +- *bytes_written = 0; +- return; +- } +- EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(ctx, 0); + + if (verbose >= 5) + { +@@ -258,12 +252,20 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + printbuf(input, input_length, "decrypting this data"); + } + +- + *bytes_written = 0; + + if (input_length == 0) + return; + ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); ++ return; ++ } ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); ++ + /* + * The default implementation adds a whole block of padding if the input + * data is perfectly aligned. We would like to keep that from happening. +@@ -277,7 +279,6 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + /* Error */ + lprintf(LOG_DEBUG, "ERROR: decrypt update failed"); + *bytes_written = 0; +- return; + } + else + { +@@ -285,20 +286,21 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + + if (!EVP_DecryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { ++ /* Error */ + char buffer[1000]; + ERR_error_string(ERR_get_error(), buffer); + lprintf(LOG_DEBUG, "the ERR error %s", buffer); + lprintf(LOG_DEBUG, "ERROR: decrypt final failed"); + *bytes_written = 0; +- return; /* Error */ + } + else + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(ctx); + } + } ++ /* performs cleanup and free */ ++ EVP_CIPHER_CTX_free(ctx); + + if (verbose >= 5) + { +-- +1.9.1 + diff --git a/package/ipmitool/0006-lanplus-Fix-compile-with-deprecated-APIs-disabled.patch b/package/ipmitool/0006-lanplus-Fix-compile-with-deprecated-APIs-disabled.patch new file mode 100644 index 0000000000..87fdd0aaf7 --- /dev/null +++ b/package/ipmitool/0006-lanplus-Fix-compile-with-deprecated-APIs-disabled.patch @@ -0,0 +1,50 @@ +From fc2136969adfb926eed610b8ed0a74b2030b48ed Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Tue, 21 Aug 2018 19:29:07 -0700 +Subject: [PATCH] lanplus: Fix compile with deprecated APIs disabled. + +From the man page: + +EVP_CIPHER_CTX was made opaque in OpenSSL 1.1.0. As a result, +EVP_CIPHER_CTX_reset() appeared and EVP_CIPHER_CTX_cleanup() disappeared. +EVP_CIPHER_CTX_init() remains as an alias for EVP_CIPHER_CTX_reset(). + +Upstream: https://github.com/ipmitool/ipmitool/commit/a8862d7508fb138b1c286eea958700cca63c9476 + +Signed-off-by: Rosen Penev +Signed-off-by: Matthew Weber +--- + src/plugins/lanplus/lanplus_crypt_impl.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c +index 9652a5e..e94401e 100644 +--- a/src/plugins/lanplus/lanplus_crypt_impl.c ++++ b/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -183,7 +183,11 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); + return; + } ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + EVP_CIPHER_CTX_init(ctx); ++#else ++ EVP_CIPHER_CTX_reset(ctx); ++#endif + EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); + +@@ -262,7 +266,11 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); + return; + } ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + EVP_CIPHER_CTX_init(ctx); ++#else ++ EVP_CIPHER_CTX_reset(ctx); ++#endif + EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); + +-- +1.9.1 + diff --git a/package/ipmiutil/ipmiutil.hash b/package/ipmiutil/ipmiutil.hash index f9d086b67a..e09511f96f 100644 --- a/package/ipmiutil/ipmiutil.hash +++ b/package/ipmiutil/ipmiutil.hash @@ -1,4 +1,6 @@ -# From http://sourceforge.net/projects/ipmiutil/files/?source=navbar -sha1 f423a77a374b6a37a16496844f1e6e363e7d63fe ipmiutil-2.9.9.tar.gz +# From https://sourceforge.net/projects/ipmiutil/files/ +md5 ee90387f8a14dea3f867167865c7c968 ipmiutil-3.1.2.tar.gz +sha1 9453db110bffab3111d6ff4047243a34084e5878 ipmiutil-3.1.2.tar.gz # Locally computed -sha256 beace08386a002c6a4bbbf894bda9899ea34fae4c2181c89f29fb1fa136925f6 ipmiutil-2.9.9.tar.gz +sha256 768053b3e3adfe1bf656e2848b2805ede87e429c10d282929a7c4ceeebc24703 ipmiutil-3.1.2.tar.gz +sha256 7e0ec8238aa1431e95a4950032a4483fe33fec3fac348eaade5856cdc5ae3e39 COPYING diff --git a/package/ipmiutil/ipmiutil.mk b/package/ipmiutil/ipmiutil.mk index a5a6b49314..0d9a4509b3 100644 --- a/package/ipmiutil/ipmiutil.mk +++ b/package/ipmiutil/ipmiutil.mk @@ -4,8 +4,8 @@ # ################################################################################ -IPMIUTIL_VERSION = 2.9.9 -IPMIUTIL_SITE = http://sourceforge.net/projects/ipmiutil/files +IPMIUTIL_VERSION = 3.1.2 +IPMIUTIL_SITE = https://sourceforge.net/projects/ipmiutil/files IPMIUTIL_LICENSE = BSD-3-Clause IPMIUTIL_LICENSE_FILES = COPYING # We're patching configure.ac @@ -18,7 +18,7 @@ ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx) # tests against distro libcrypto so it might get a false positive when # the openssl version is old, so force it off # SKIP_MD2 can be used only if ALLOW_GNU is defined. -IPMIUTIL_CONF_OPTS += CPPFLAGS="$(TARGET_CPPFLAGS) -DALLOW_GNU -DSKIP_MD2" +IPMIUTIL_CONF_OPTS += CPPFLAGS="$(TARGET_CPPFLAGS) -DALLOW_GNU -DSKIP_MD2 -DSSL11" IPMIUTIL_DEPENDENCIES += openssl else IPMIUTIL_CONF_OPTS += --disable-lanplus diff --git a/package/iproute2/0001-rdma-sync-some-IP-headers-with-glibc.patch b/package/iproute2/0001-rdma-sync-some-IP-headers-with-glibc.patch deleted file mode 100644 index f78a5d6b43..0000000000 --- a/package/iproute2/0001-rdma-sync-some-IP-headers-with-glibc.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 5887ff0922a06d978d3271df9f01fcb04fadc75f Mon Sep 17 00:00:00 2001 -From: Hoang Le -Date: Wed, 13 Jun 2018 11:09:56 +0700 -Subject: rdma: sync some IP headers with glibc - -In the commit 9a362cc71a45, new userspace header: - (i.e rdma/rdma_user_cm.h -> linux/in6.h) -is included before the kernel space header: - (i.e utils.h -> resolv.h -> netinet/in.h). - -This leads to unsynchronous some IP headers and compiler got failure -with error: redefinition of some structs IP. - -In this commit, just reorder this including to make them in-sync. - -Signed-off-by: Hoang Le -Acked-by: Leon Romanovsky -Signed-off-by: Stephen Hemminger -Signed-off-by: Fabrice Fontaine -[Retrieved from: https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=5887ff0922a06d978d3271df9f01fcb04fadc75f] ---- - rdma/rdma.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/rdma/rdma.h b/rdma/rdma.h -index fcaf9e6..d4b7ba1 100644 ---- a/rdma/rdma.h -+++ b/rdma/rdma.h -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -cgit v1.1 - diff --git a/package/iproute2/0001-utils.h-provide-fallback-CLOCK_TAI-definition.patch b/package/iproute2/0001-utils.h-provide-fallback-CLOCK_TAI-definition.patch new file mode 100644 index 0000000000..c89db2b2eb --- /dev/null +++ b/package/iproute2/0001-utils.h-provide-fallback-CLOCK_TAI-definition.patch @@ -0,0 +1,32 @@ +From 950bf78adc9a3290ed383eaeef01dee6543cfb97 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 27 Oct 2018 17:25:31 +0200 +Subject: [PATCH] utils.h: provide fallback CLOCK_TAI definition + +q_{etf,taprio}.c uses CLOCK_TAI, which isn't exposed by glibc < 2.21 or +uClibc, breaking the build. Provide a fallback definition like it is done +for IPPROTO_MPLS and others. + +Signed-off-by: Peter Korsgaard +--- + include/utils.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/include/utils.h b/include/utils.h +index 258d630e..685d2c1d 100644 +--- a/include/utils.h ++++ b/include/utils.h +@@ -126,6 +126,10 @@ struct ipx_addr { + #define IPPROTO_MPLS 137 + #endif + ++#ifndef CLOCK_TAI ++# define CLOCK_TAI 11 ++#endif ++ + __u32 get_addr32(const char *name); + int get_addr_1(inet_prefix *dst, const char *arg, int family); + int get_prefix_1(inet_prefix *dst, char *arg, int family); +-- +2.11.0 + diff --git a/package/iproute2/0002-ss-fix-compilation-under-glibc-2.18.patch b/package/iproute2/0002-ss-fix-compilation-under-glibc-2.18.patch new file mode 100644 index 0000000000..b6934f5d17 --- /dev/null +++ b/package/iproute2/0002-ss-fix-compilation-under-glibc-2.18.patch @@ -0,0 +1,39 @@ +From 9700927a008a803ac119bdf816bdc1baa69d705c Mon Sep 17 00:00:00 2001 +From: Thomas De Schampheleire +Date: Wed, 20 Feb 2019 15:41:51 +0100 +Subject: [PATCH] ss: fix compilation under glibc < 2.18 + +Commit c759116a0b2b6da8df9687b0a40ac69050132c77 introduced support for +AF_VSOCK. This define is only provided since glibc version 2.18, so +compilation fails when using older toolchains. + +Provide the necessary definitions if needed. + +Signed-off-by: Thomas De Schampheleire +Signed-off-by: Stephen Hemminger +--- + misc/ss.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/misc/ss.c b/misc/ss.c +index 9e821faf..766fdc5f 100644 +--- a/misc/ss.c ++++ b/misc/ss.c +@@ -51,6 +51,14 @@ + #include + #include + ++/* AF_VSOCK/PF_VSOCK is only provided since glibc 2.18 */ ++#ifndef PF_VSOCK ++#define PF_VSOCK 40 ++#endif ++#ifndef AF_VSOCK ++#define AF_VSOCK PF_VSOCK ++#endif ++ + #define MAGIC_SEQ 123456 + #define BUF_CHUNK (1024 * 1024) + #define LEN_ALIGN(x) (((x) + 1) & ~1) +-- +2.19.2 + diff --git a/package/iproute2/iproute2.hash b/package/iproute2/iproute2.hash index 48867f0a99..00bd1c646a 100644 --- a/package/iproute2/iproute2.hash +++ b/package/iproute2/iproute2.hash @@ -1,3 +1,3 @@ # From https://kernel.org/pub/linux/utils/net/iproute2/sha256sums.asc -sha256 6fa991b092315887775b9e47dc6a89af7ae09dd3ad4ccff754d055c566b4be6e iproute2-4.17.0.tar.xz +sha256 d9ec5ca1f47d8a85416fa26e7dc1cbf5d067640eb60e90bdc1c7e5bdc6a29984 iproute2-4.19.0.tar.xz sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk index 48413401cd..41d0b2c3d9 100644 --- a/package/iproute2/iproute2.mk +++ b/package/iproute2/iproute2.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPROUTE2_VERSION = 4.17.0 +IPROUTE2_VERSION = 4.19.0 IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2 IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \ diff --git a/package/ipsec-tools/0006-openssl-1.1.patch b/package/ipsec-tools/0006-openssl-1.1.patch new file mode 100644 index 0000000000..39a7da988d --- /dev/null +++ b/package/ipsec-tools/0006-openssl-1.1.patch @@ -0,0 +1,1104 @@ +From 071fec7181255b9234add44865a435dfdefee520 Mon Sep 17 00:00:00 2001 +In-Reply-To: <20180528120513.560-1-cote2004-github@yahoo.com> +References: <20180528120513.560-1-cote2004-github@yahoo.com> +From: Eneas U de Queiroz +Date: Wed, 30 May 2018 15:42:20 -0300 +Subject: [PATCH] ipsec-tools: add openssl 1.1 support +To: equeiroz@troianet.com.br + +This patch updates the calls to openssl 1.1 API, and adds a +compatibility layer so it compiles with (at least) openssl 1.0.2, I +haven't tested it with lower versions, but all that's needed is to edit +the openssl_compat.* files and add the missing functions there--they're +usually trivial. + +Signed-off-by: Eneas U de Queiroz + +Downloaded from +https://github.com/openwrt/packages/blob/master/net/ipsec-tools/patches/015-openssl-1.1.patch + +Patch was sent upstream: +https://sourceforge.net/p/ipsec-tools/mailman/ipsec-tools-devel/thread/20180528120513.560-1-cote2004-github%40yahoo.com/#msg36327963 + +Signed-off-by: Bernd Kuhls +--- + src/racoon/Makefile.am | 10 +-- + src/racoon/algorithm.c | 6 +- + src/racoon/cfparse.y | 2 +- + src/racoon/crypto_openssl.c | 197 +++++++++++++++++++++------------------- + src/racoon/crypto_openssl.h | 2 +- + src/racoon/eaytest.c | 7 +- + src/racoon/ipsec_doi.c | 2 +- + src/racoon/openssl_compat.c | 213 ++++++++++++++++++++++++++++++++++++++++++++ + src/racoon/openssl_compat.h | 45 ++++++++++ + src/racoon/plainrsa-gen.c | 41 +++++---- + src/racoon/prsa_par.y | 28 ++++-- + src/racoon/rsalist.c | 5 +- + 12 files changed, 431 insertions(+), 127 deletions(-) + create mode 100644 src/racoon/openssl_compat.c + create mode 100644 src/racoon/openssl_compat.h + +diff --git a/src/racoon/Makefile.am b/src/racoon/Makefile.am +index dbaded9..4c585f3 100644 +--- a/src/racoon/Makefile.am ++++ b/src/racoon/Makefile.am +@@ -4,7 +4,7 @@ sbin_PROGRAMS = racoon racoonctl plainrsa-gen + noinst_PROGRAMS = eaytest + include_racoon_HEADERS = racoonctl.h var.h vmbuf.h misc.h gcmalloc.h admin.h \ + schedule.h sockmisc.h isakmp_var.h isakmp.h isakmp_xauth.h \ +- isakmp_cfg.h isakmp_unity.h ipsec_doi.h evt.h ++ isakmp_cfg.h isakmp_unity.h ipsec_doi.h evt.h openssl_compat.h + lib_LTLIBRARIES = libracoon.la + + adminsockdir=${localstatedir}/racoon +@@ -32,7 +32,7 @@ racoon_SOURCES = \ + gssapi.c dnssec.c getcertsbyname.c privsep.c \ + pfkey.c admin.c evt.c ipsec_doi.c oakley.c grabmyaddr.c vendorid.c \ + policy.c localconf.c remoteconf.c crypto_openssl.c algorithm.c \ +- proposal.c sainfo.c strnames.c \ ++ openssl_compat.c proposal.c sainfo.c strnames.c \ + plog.c logger.c schedule.c str2val.c \ + safefile.c backupsa.c genlist.c rsalist.c \ + cftoken.l cfparse.y prsa_tok.l prsa_par.y +@@ -51,12 +51,12 @@ libracoon_la_SOURCES = kmpstat.c vmbuf.c sockmisc.c misc.c + libracoon_la_CFLAGS = -DNOUSE_PRIVSEP $(AM_CFLAGS) + + plainrsa_gen_SOURCES = plainrsa-gen.c plog.c \ +- crypto_openssl.c logger.c ++ crypto_openssl.c logger.c openssl_compat.c + EXTRA_plainrsa_gen_SOURCES = $(MISSING_ALGOS) + plainrsa_gen_LDADD = $(CRYPTOBJS) vmbuf.o misc.o + plainrsa_gen_DEPENDENCIES = $(CRYPTOBJS) vmbuf.o misc.o + +-eaytest_SOURCES = eaytest.c plog.c logger.c ++eaytest_SOURCES = eaytest.c plog.c logger.c openssl_compat.c + EXTRA_eaytest_SOURCES = missing/crypto/sha2/sha2.c + eaytest_LDADD = crypto_openssl_test.o vmbuf.o str2val.o misc_noplog.o \ + $(CRYPTOBJS) +@@ -75,7 +75,7 @@ noinst_HEADERS = \ + debugrm.h isakmp.h misc.h sainfo.h \ + dhgroup.h isakmp_agg.h netdb_dnssec.h schedule.h \ + isakmp_cfg.h isakmp_xauth.h isakmp_unity.h isakmp_frag.h \ +- throttle.h privsep.h \ ++ throttle.h privsep.h openssl_compat.h \ + cfparse_proto.h cftoken_proto.h genlist.h rsalist.h \ + missing/crypto/sha2/sha2.h missing/crypto/rijndael/rijndael_local.h \ + missing/crypto/rijndael/rijndael-api-fst.h \ +diff --git a/src/racoon/algorithm.c b/src/racoon/algorithm.c +index 3fd50f6..66c874b 100644 +--- a/src/racoon/algorithm.c ++++ b/src/racoon/algorithm.c +@@ -128,7 +128,7 @@ static struct enc_algorithm oakley_encdef[] = { + { "aes", algtype_aes, OAKLEY_ATTR_ENC_ALG_AES, 16, + eay_aes_encrypt, eay_aes_decrypt, + eay_aes_weakkey, eay_aes_keylen, }, +-#ifdef HAVE_OPENSSL_CAMELLIA_H ++#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) + { "camellia", algtype_camellia, OAKLEY_ATTR_ENC_ALG_CAMELLIA, 16, + eay_camellia_encrypt, eay_camellia_decrypt, + eay_camellia_weakkey, eay_camellia_keylen, }, +@@ -168,7 +168,7 @@ static struct enc_algorithm ipsec_encdef[] = { + { "twofish", algtype_twofish, IPSECDOI_ESP_TWOFISH, 16, + NULL, NULL, + NULL, eay_twofish_keylen, }, +-#ifdef HAVE_OPENSSL_IDEA_H ++#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) + { "3idea", algtype_3idea, IPSECDOI_ESP_3IDEA, 8, + NULL, NULL, + NULL, NULL, }, +@@ -179,7 +179,7 @@ static struct enc_algorithm ipsec_encdef[] = { + { "rc4", algtype_rc4, IPSECDOI_ESP_RC4, 8, + NULL, NULL, + NULL, NULL, }, +-#ifdef HAVE_OPENSSL_CAMELLIA_H ++#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) + { "camellia", algtype_camellia, IPSECDOI_ESP_CAMELLIA, 16, + NULL, NULL, + NULL, eay_camellia_keylen, }, +diff --git a/src/racoon/cfparse.y b/src/racoon/cfparse.y +index 0d9bd67..8415752 100644 +--- a/src/racoon/cfparse.y ++++ b/src/racoon/cfparse.y +@@ -2564,7 +2564,7 @@ set_isakmp_proposal(rmconf) + plog(LLV_DEBUG2, LOCATION, NULL, + "encklen=%d\n", s->encklen); + +- memset(types, 0, ARRAYLEN(types)); ++ memset(types, 0, sizeof types); + types[algclass_isakmp_enc] = s->algclass[algclass_isakmp_enc]; + types[algclass_isakmp_hash] = s->algclass[algclass_isakmp_hash]; + types[algclass_isakmp_dh] = s->algclass[algclass_isakmp_dh]; +diff --git a/src/racoon/crypto_openssl.c b/src/racoon/crypto_openssl.c +index 55b076a..8fb358f 100644 +--- a/src/racoon/crypto_openssl.c ++++ b/src/racoon/crypto_openssl.c +@@ -90,6 +90,7 @@ + #endif + #endif + #include "plog.h" ++#include "openssl_compat.h" + + #define USE_NEW_DES_API + +@@ -316,9 +317,12 @@ eay_cmp_asn1dn(n1, n2) + i = idx+1; + goto end; + } +- if ((ea->value->length == 1 && ea->value->data[0] == '*') || +- (eb->value->length == 1 && eb->value->data[0] == '*')) { +- if (OBJ_cmp(ea->object,eb->object)) { ++ ASN1_STRING *sa = X509_NAME_ENTRY_get_data(ea); ++ ASN1_STRING *sb = X509_NAME_ENTRY_get_data(eb); ++ if ((ASN1_STRING_length(sa) == 1 && ASN1_STRING_get0_data(sa)[0] == '*') || ++ (ASN1_STRING_length(sb) == 1 && ASN1_STRING_get0_data(sb)[0] == '*')) { ++ if (OBJ_cmp(X509_NAME_ENTRY_get_object(ea), ++ X509_NAME_ENTRY_get_object(eb))) { + i = idx+1; + goto end; + } +@@ -430,7 +434,7 @@ cb_check_cert_local(ok, ctx) + + if (!ok) { + X509_NAME_oneline( +- X509_get_subject_name(ctx->current_cert), ++ X509_get_subject_name(X509_STORE_CTX_get_current_cert(ctx)), + buf, + 256); + /* +@@ -438,7 +442,8 @@ cb_check_cert_local(ok, ctx) + * ok if they are self signed. But we should still warn + * the user. + */ +- switch (ctx->error) { ++ int ctx_error = X509_STORE_CTX_get_error(ctx); ++ switch (ctx_error) { + case X509_V_ERR_CERT_HAS_EXPIRED: + case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: + case X509_V_ERR_INVALID_CA: +@@ -453,9 +458,9 @@ cb_check_cert_local(ok, ctx) + } + plog(log_tag, LOCATION, NULL, + "%s(%d) at depth:%d SubjectName:%s\n", +- X509_verify_cert_error_string(ctx->error), +- ctx->error, +- ctx->error_depth, ++ X509_verify_cert_error_string(ctx_error), ++ ctx_error, ++ X509_STORE_CTX_get_error_depth(ctx), + buf); + } + ERR_clear_error(); +@@ -477,10 +482,11 @@ cb_check_cert_remote(ok, ctx) + + if (!ok) { + X509_NAME_oneline( +- X509_get_subject_name(ctx->current_cert), ++ X509_get_subject_name(X509_STORE_CTX_get_current_cert(ctx)), + buf, + 256); +- switch (ctx->error) { ++ int ctx_error=X509_STORE_CTX_get_error(ctx); ++ switch (ctx_error) { + case X509_V_ERR_UNABLE_TO_GET_CRL: + ok = 1; + log_tag = LLV_WARNING; +@@ -490,9 +496,9 @@ cb_check_cert_remote(ok, ctx) + } + plog(log_tag, LOCATION, NULL, + "%s(%d) at depth:%d SubjectName:%s\n", +- X509_verify_cert_error_string(ctx->error), +- ctx->error, +- ctx->error_depth, ++ X509_verify_cert_error_string(ctx_error), ++ ctx_error, ++ X509_STORE_CTX_get_error_depth(ctx), + buf); + } + ERR_clear_error(); +@@ -516,14 +522,15 @@ eay_get_x509asn1subjectname(cert) + if (x509 == NULL) + goto error; + ++ X509_NAME *subject_name = X509_get_subject_name(x509); + /* get the length of the name */ +- len = i2d_X509_NAME(x509->cert_info->subject, NULL); ++ len = i2d_X509_NAME(subject_name, NULL); + name = vmalloc(len); + if (!name) + goto error; + /* get the name */ + bp = (unsigned char *) name->v; +- len = i2d_X509_NAME(x509->cert_info->subject, &bp); ++ len = i2d_X509_NAME(subject_name, &bp); + + X509_free(x509); + +@@ -661,15 +668,16 @@ eay_get_x509asn1issuername(cert) + if (x509 == NULL) + goto error; + ++ X509_NAME *issuer_name = X509_get_issuer_name(x509); + /* get the length of the name */ +- len = i2d_X509_NAME(x509->cert_info->issuer, NULL); ++ len = i2d_X509_NAME(issuer_name, NULL); + name = vmalloc(len); + if (name == NULL) + goto error; + + /* get the name */ + bp = (unsigned char *) name->v; +- len = i2d_X509_NAME(x509->cert_info->issuer, &bp); ++ len = i2d_X509_NAME(issuer_name, &bp); + + X509_free(x509); + +@@ -850,7 +858,7 @@ eay_check_x509sign(source, sig, cert) + return -1; + } + +- res = eay_rsa_verify(source, sig, evp->pkey.rsa); ++ res = eay_rsa_verify(source, sig, EVP_PKEY_get0_RSA(evp)); + + EVP_PKEY_free(evp); + X509_free(x509); +@@ -992,7 +1000,7 @@ eay_get_x509sign(src, privkey) + if (evp == NULL) + return NULL; + +- sig = eay_rsa_sign(src, evp->pkey.rsa); ++ sig = eay_rsa_sign(src, EVP_PKEY_get0_RSA(evp)); + + EVP_PKEY_free(evp); + +@@ -1079,7 +1087,11 @@ eay_strerror() + int line, flags; + unsigned long es; + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ es = 0; /* even when allowed by OPENSSL_API_COMPAT, it is defined as 0 */ ++#else + es = CRYPTO_thread_id(); ++#endif + + while ((l = ERR_get_error_line_data(&file, &line, &data, &flags)) != 0){ + n = snprintf(ebuf + len, sizeof(ebuf) - len, +@@ -1100,7 +1112,7 @@ vchar_t * + evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc) + { + vchar_t *res; +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx; + + if (!e) + return NULL; +@@ -1111,7 +1123,7 @@ evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc + if ((res = vmalloc(data->l)) == NULL) + return NULL; + +- EVP_CIPHER_CTX_init(&ctx); ++ ctx = EVP_CIPHER_CTX_new(); + + switch(EVP_CIPHER_nid(e)){ + case NID_bf_cbc: +@@ -1125,54 +1137,41 @@ evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc + /* XXX: can we do that also for algos with a fixed key size ? + */ + /* init context without key/iv +- */ +- if (!EVP_CipherInit(&ctx, e, NULL, NULL, enc)) +- { +- OpenSSL_BUG(); +- vfree(res); +- return NULL; +- } ++ */ ++ if (!EVP_CipherInit(ctx, e, NULL, NULL, enc)) ++ goto out; + +- /* update key size +- */ +- if (!EVP_CIPHER_CTX_set_key_length(&ctx, key->l)) +- { +- OpenSSL_BUG(); +- vfree(res); +- return NULL; +- } +- +- /* finalize context init with desired key size +- */ +- if (!EVP_CipherInit(&ctx, NULL, (u_char *) key->v, ++ /* update key size ++ */ ++ if (!EVP_CIPHER_CTX_set_key_length(ctx, key->l)) ++ goto out; ++ ++ /* finalize context init with desired key size ++ */ ++ if (!EVP_CipherInit(ctx, NULL, (u_char *) key->v, + (u_char *) iv->v, enc)) +- { +- OpenSSL_BUG(); +- vfree(res); +- return NULL; +- } ++ goto out; + break; + default: +- if (!EVP_CipherInit(&ctx, e, (u_char *) key->v, +- (u_char *) iv->v, enc)) { +- OpenSSL_BUG(); +- vfree(res); +- return NULL; +- } ++ if (!EVP_CipherInit(ctx, e, (u_char *) key->v, ++ (u_char *) iv->v, enc)) ++ goto out; + } + + /* disable openssl padding */ +- EVP_CIPHER_CTX_set_padding(&ctx, 0); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); + +- if (!EVP_Cipher(&ctx, (u_char *) res->v, (u_char *) data->v, data->l)) { +- OpenSSL_BUG(); +- vfree(res); +- return NULL; +- } ++ if (!EVP_Cipher(ctx, (u_char *) res->v, (u_char *) data->v, data->l)) ++ goto out; + +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + + return res; ++out: ++ EVP_CIPHER_CTX_free(ctx); ++ OpenSSL_BUG(); ++ vfree(res); ++ return NULL; + } + + int +@@ -1230,7 +1229,7 @@ eay_des_keylen(len) + return evp_keylen(len, EVP_des_cbc()); + } + +-#ifdef HAVE_OPENSSL_IDEA_H ++#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) + /* + * IDEA-CBC + */ +@@ -1587,7 +1586,7 @@ eay_aes_keylen(len) + return len; + } + +-#if defined(HAVE_OPENSSL_CAMELLIA_H) ++#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) + /* + * CAMELLIA-CBC + */ +@@ -1680,9 +1679,9 @@ eay_hmac_init(key, md) + vchar_t *key; + const EVP_MD *md; + { +- HMAC_CTX *c = racoon_malloc(sizeof(*c)); ++ HMAC_CTX *c = HMAC_CTX_new(); + +- HMAC_Init(c, key->v, key->l, md); ++ HMAC_Init_ex(c, key->v, key->l, md, NULL); + + return (caddr_t)c; + } +@@ -1761,8 +1760,7 @@ eay_hmacsha2_512_final(c) + + HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); + res->l = l; +- HMAC_cleanup((HMAC_CTX *)c); +- (void)racoon_free(c); ++ HMAC_CTX_free((HMAC_CTX *)c); + + if (SHA512_DIGEST_LENGTH != res->l) { + plog(LLV_ERROR, LOCATION, NULL, +@@ -1811,8 +1809,7 @@ eay_hmacsha2_384_final(c) + + HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); + res->l = l; +- HMAC_cleanup((HMAC_CTX *)c); +- (void)racoon_free(c); ++ HMAC_CTX_free((HMAC_CTX *)c); + + if (SHA384_DIGEST_LENGTH != res->l) { + plog(LLV_ERROR, LOCATION, NULL, +@@ -1861,8 +1858,7 @@ eay_hmacsha2_256_final(c) + + HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); + res->l = l; +- HMAC_cleanup((HMAC_CTX *)c); +- (void)racoon_free(c); ++ HMAC_CTX_free((HMAC_CTX *)c); + + if (SHA256_DIGEST_LENGTH != res->l) { + plog(LLV_ERROR, LOCATION, NULL, +@@ -1912,8 +1908,7 @@ eay_hmacsha1_final(c) + + HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); + res->l = l; +- HMAC_cleanup((HMAC_CTX *)c); +- (void)racoon_free(c); ++ HMAC_CTX_free((HMAC_CTX *)c); + + if (SHA_DIGEST_LENGTH != res->l) { + plog(LLV_ERROR, LOCATION, NULL, +@@ -1962,8 +1957,7 @@ eay_hmacmd5_final(c) + + HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); + res->l = l; +- HMAC_cleanup((HMAC_CTX *)c); +- (void)racoon_free(c); ++ HMAC_CTX_free((HMAC_CTX *)c); + + if (MD5_DIGEST_LENGTH != res->l) { + plog(LLV_ERROR, LOCATION, NULL, +@@ -2266,6 +2260,7 @@ eay_dh_generate(prime, g, publen, pub, priv) + u_int32_t g; + { + BIGNUM *p = NULL; ++ BIGNUM *BNg = NULL; + DH *dh = NULL; + int error = -1; + +@@ -2276,25 +2271,28 @@ eay_dh_generate(prime, g, publen, pub, priv) + + if ((dh = DH_new()) == NULL) + goto end; +- dh->p = p; +- p = NULL; /* p is now part of dh structure */ +- dh->g = NULL; +- if ((dh->g = BN_new()) == NULL) ++ if ((BNg = BN_new()) == NULL) + goto end; +- if (!BN_set_word(dh->g, g)) ++ if (!BN_set_word(BNg, g)) + goto end; ++ if (! DH_set0_pqg(dh, p, NULL, BNg)) ++ goto end; ++ BNg = NULL; ++ p = NULL; /* p is now part of dh structure */ + + if (publen != 0) +- dh->length = publen; ++ DH_set_length(dh, publen); + + /* generate public and private number */ + if (!DH_generate_key(dh)) + goto end; + + /* copy results to buffers */ +- if (eay_bn2v(pub, dh->pub_key) < 0) ++ BIGNUM *pub_key, *priv_key; ++ DH_get0_key(dh, (const BIGNUM**) &pub_key, (const BIGNUM**) &priv_key); ++ if (eay_bn2v(pub, pub_key) < 0) + goto end; +- if (eay_bn2v(priv, dh->priv_key) < 0) { ++ if (eay_bn2v(priv, priv_key) < 0) { + vfree(*pub); + goto end; + } +@@ -2306,6 +2304,8 @@ end: + DH_free(dh); + if (p != 0) + BN_free(p); ++ if (BNg != 0) ++ BN_free(BNg); + return(error); + } + +@@ -2319,6 +2319,10 @@ eay_dh_compute(prime, g, pub, priv, pub2, key) + int l; + unsigned char *v = NULL; + int error = -1; ++ BIGNUM *p = BN_new(); ++ BIGNUM *BNg = BN_new(); ++ BIGNUM *pub_key = BN_new(); ++ BIGNUM *priv_key = BN_new(); + + /* make public number to compute */ + if (eay_v2bn(&dh_pub, pub2) < 0) +@@ -2327,19 +2331,21 @@ eay_dh_compute(prime, g, pub, priv, pub2, key) + /* make DH structure */ + if ((dh = DH_new()) == NULL) + goto end; +- if (eay_v2bn(&dh->p, prime) < 0) ++ if (p == NULL || BNg == NULL || pub_key == NULL || priv_key == NULL) + goto end; +- if (eay_v2bn(&dh->pub_key, pub) < 0) ++ ++ if (eay_v2bn(&p, prime) < 0) + goto end; +- if (eay_v2bn(&dh->priv_key, priv) < 0) ++ if (eay_v2bn(&pub_key, pub) < 0) + goto end; +- dh->length = pub2->l * 8; +- +- dh->g = NULL; +- if ((dh->g = BN_new()) == NULL) ++ if (eay_v2bn(&priv_key, priv) < 0) + goto end; +- if (!BN_set_word(dh->g, g)) ++ if (!BN_set_word(BNg, g)) + goto end; ++ DH_set0_key(dh, pub_key, priv_key); ++ DH_set_length(dh, pub2->l * 8); ++ DH_set0_pqg(dh, p, NULL, BNg); ++ pub_key = priv_key = p = BNg = NULL; + + if ((v = racoon_calloc(prime->l, sizeof(u_char))) == NULL) + goto end; +@@ -2350,6 +2356,14 @@ eay_dh_compute(prime, g, pub, priv, pub2, key) + error = 0; + + end: ++ if (p != NULL) ++ BN_free(p); ++ if (BNg != NULL) ++ BN_free(BNg); ++ if (pub_key != NULL) ++ BN_free(pub_key); ++ if (priv_key != NULL) ++ BN_free(priv_key); + if (dh_pub != NULL) + BN_free(dh_pub); + if (dh != NULL) +@@ -2400,12 +2414,14 @@ eay_bn2v(var, bn) + void + eay_init() + { ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + OpenSSL_add_all_algorithms(); + ERR_load_crypto_strings(); + #ifdef HAVE_OPENSSL_ENGINE_H + ENGINE_load_builtin_engines(); + ENGINE_register_all_complete(); + #endif ++#endif + } + + vchar_t * +@@ -2504,8 +2520,7 @@ binbuf_pubkey2rsa(vchar_t *binbuf) + goto out; + } + +- rsa_pub->n = mod; +- rsa_pub->e = exp; ++ RSA_set0_key(rsa_pub, mod, exp, NULL); + + out: + return rsa_pub; +@@ -2582,5 +2597,5 @@ eay_random() + const char * + eay_version() + { +- return SSLeay_version(SSLEAY_VERSION); ++ return OpenSSL_version(OPENSSL_VERSION); + } +diff --git a/src/racoon/crypto_openssl.h b/src/racoon/crypto_openssl.h +index 66fac73..ee5b765 100644 +--- a/src/racoon/crypto_openssl.h ++++ b/src/racoon/crypto_openssl.h +@@ -124,7 +124,7 @@ extern vchar_t *eay_aes_decrypt __P((vchar_t *, vchar_t *, vchar_t *)); + extern int eay_aes_weakkey __P((vchar_t *)); + extern int eay_aes_keylen __P((int)); + +-#if defined(HAVE_OPENSSL_CAMELLIA_H) ++#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) + /* Camellia */ + extern vchar_t *eay_camellia_encrypt __P((vchar_t *, vchar_t *, vchar_t *)); + extern vchar_t *eay_camellia_decrypt __P((vchar_t *, vchar_t *, vchar_t *)); +diff --git a/src/racoon/eaytest.c b/src/racoon/eaytest.c +index 1474bdc..ae09db3 100644 +--- a/src/racoon/eaytest.c ++++ b/src/racoon/eaytest.c +@@ -62,6 +62,7 @@ + #include "dhgroup.h" + #include "crypto_openssl.h" + #include "gnuc.h" ++#include "openssl_compat.h" + + #include "package_version.h" + +@@ -103,7 +104,7 @@ rsa_verify_with_pubkey(src, sig, pubkey_txt) + printf ("PEM_read_PUBKEY(): %s\n", eay_strerror()); + return -1; + } +- error = eay_check_rsasign(src, sig, evp->pkey.rsa); ++ error = eay_check_rsasign(src, sig, EVP_PKEY_get0_RSA(evp)); + + return error; + } +@@ -698,7 +699,7 @@ ciphertest(ac, av) + eay_cast_encrypt, eay_cast_decrypt) < 0) + return -1; + +-#ifdef HAVE_OPENSSL_IDEA_H ++#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) + if (ciphertest_1 ("IDEA", + &data, 8, + &key, key.l, +@@ -715,7 +716,7 @@ ciphertest(ac, av) + eay_rc5_encrypt, eay_rc5_decrypt) < 0) + return -1; + #endif +-#if defined(HAVE_OPENSSL_CAMELLIA_H) ++#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) + if (ciphertest_1 ("CAMELLIA", + &data, 16, + &key, key.l, +diff --git a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c +index 84a4c71..b52469f 100644 +--- a/src/racoon/ipsec_doi.c ++++ b/src/racoon/ipsec_doi.c +@@ -715,7 +715,7 @@ out: + /* key length must not be specified on some algorithms */ + if (keylen) { + if (sa->enctype == OAKLEY_ATTR_ENC_ALG_DES +-#ifdef HAVE_OPENSSL_IDEA_H ++#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) + || sa->enctype == OAKLEY_ATTR_ENC_ALG_IDEA + #endif + || sa->enctype == OAKLEY_ATTR_ENC_ALG_3DES) { +diff --git a/src/racoon/openssl_compat.c b/src/racoon/openssl_compat.c +new file mode 100644 +index 0000000..864b5fb +--- /dev/null ++++ b/src/racoon/openssl_compat.c +@@ -0,0 +1,213 @@ ++/* ++ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. ++ * ++ * Licensed under the OpenSSL license (the "License"). You may not use ++ * this file except in compliance with the License. You can obtain a copy ++ * in the file LICENSE in the source distribution or at ++ * https://www.openssl.org/source/license.html ++ */ ++ ++#include "openssl_compat.h" ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++#include ++ ++static void *OPENSSL_zalloc(size_t num) ++{ ++ void *ret = OPENSSL_malloc(num); ++ ++ if (ret != NULL) ++ memset(ret, 0, num); ++ return ret; ++} ++ ++int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) ++{ ++ /* If the fields n and e in r are NULL, the corresponding input ++ * parameters MUST be non-NULL for n and e. d may be ++ * left NULL (in case only the public key is used). ++ */ ++ if ((r->n == NULL && n == NULL) ++ || (r->e == NULL && e == NULL)) ++ return 0; ++ ++ if (n != NULL) { ++ BN_free(r->n); ++ r->n = n; ++ } ++ if (e != NULL) { ++ BN_free(r->e); ++ r->e = e; ++ } ++ if (d != NULL) { ++ BN_free(r->d); ++ r->d = d; ++ } ++ ++ return 1; ++} ++ ++int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) ++{ ++ /* If the fields p and q in r are NULL, the corresponding input ++ * parameters MUST be non-NULL. ++ */ ++ if ((r->p == NULL && p == NULL) ++ || (r->q == NULL && q == NULL)) ++ return 0; ++ ++ if (p != NULL) { ++ BN_free(r->p); ++ r->p = p; ++ } ++ if (q != NULL) { ++ BN_free(r->q); ++ r->q = q; ++ } ++ ++ return 1; ++} ++ ++int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) ++{ ++ /* If the fields dmp1, dmq1 and iqmp in r are NULL, the corresponding input ++ * parameters MUST be non-NULL. ++ */ ++ if ((r->dmp1 == NULL && dmp1 == NULL) ++ || (r->dmq1 == NULL && dmq1 == NULL) ++ || (r->iqmp == NULL && iqmp == NULL)) ++ return 0; ++ ++ if (dmp1 != NULL) { ++ BN_free(r->dmp1); ++ r->dmp1 = dmp1; ++ } ++ if (dmq1 != NULL) { ++ BN_free(r->dmq1); ++ r->dmq1 = dmq1; ++ } ++ if (iqmp != NULL) { ++ BN_free(r->iqmp); ++ r->iqmp = iqmp; ++ } ++ ++ return 1; ++} ++ ++void RSA_get0_key(const RSA *r, ++ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) ++{ ++ if (n != NULL) ++ *n = r->n; ++ if (e != NULL) ++ *e = r->e; ++ if (d != NULL) ++ *d = r->d; ++} ++ ++void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) ++{ ++ if (p != NULL) ++ *p = r->p; ++ if (q != NULL) ++ *q = r->q; ++} ++ ++void RSA_get0_crt_params(const RSA *r, ++ const BIGNUM **dmp1, const BIGNUM **dmq1, ++ const BIGNUM **iqmp) ++{ ++ if (dmp1 != NULL) ++ *dmp1 = r->dmp1; ++ if (dmq1 != NULL) ++ *dmq1 = r->dmq1; ++ if (iqmp != NULL) ++ *iqmp = r->iqmp; ++} ++ ++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) ++{ ++ /* If the fields p and g in d are NULL, the corresponding input ++ * parameters MUST be non-NULL. q may remain NULL. ++ */ ++ if ((dh->p == NULL && p == NULL) ++ || (dh->g == NULL && g == NULL)) ++ return 0; ++ ++ if (p != NULL) { ++ BN_free(dh->p); ++ dh->p = p; ++ } ++ if (q != NULL) { ++ BN_free(dh->q); ++ dh->q = q; ++ } ++ if (g != NULL) { ++ BN_free(dh->g); ++ dh->g = g; ++ } ++ ++ if (q != NULL) { ++ dh->length = BN_num_bits(q); ++ } ++ ++ return 1; ++} ++ ++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) ++{ ++ if (pub_key != NULL) ++ *pub_key = dh->pub_key; ++ if (priv_key != NULL) ++ *priv_key = dh->priv_key; ++} ++ ++int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) ++{ ++ /* If the field pub_key in dh is NULL, the corresponding input ++ * parameters MUST be non-NULL. The priv_key field may ++ * be left NULL. ++ */ ++ if (dh->pub_key == NULL && pub_key == NULL) ++ return 0; ++ ++ if (pub_key != NULL) { ++ BN_free(dh->pub_key); ++ dh->pub_key = pub_key; ++ } ++ if (priv_key != NULL) { ++ BN_free(dh->priv_key); ++ dh->priv_key = priv_key; ++ } ++ ++ return 1; ++} ++ ++int DH_set_length(DH *dh, long length) ++{ ++ dh->length = length; ++ return 1; ++} ++ ++HMAC_CTX *HMAC_CTX_new(void) ++{ ++ return OPENSSL_zalloc(sizeof(HMAC_CTX)); ++} ++ ++void HMAC_CTX_free(HMAC_CTX *ctx) ++{ ++ HMAC_CTX_cleanup(ctx); ++ OPENSSL_free(ctx); ++} ++ ++RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey) ++{ ++ if (pkey->type != EVP_PKEY_RSA) { ++ return NULL; ++ } ++ return pkey->pkey.rsa; ++} ++ ++ ++#endif /* OPENSSL_VERSION_NUMBER */ +diff --git a/src/racoon/openssl_compat.h b/src/racoon/openssl_compat.h +new file mode 100644 +index 0000000..9e152c2 +--- /dev/null ++++ b/src/racoon/openssl_compat.h +@@ -0,0 +1,45 @@ ++#ifndef OPENSSL_COMPAT_H ++#define OPENSSL_COMPAT_H ++ ++#include ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++#include ++#include ++#include ++#include ++ ++int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d); ++int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q); ++int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp); ++void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d); ++void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q); ++void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp); ++ ++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); ++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key); ++int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key); ++int DH_set_length(DH *dh, long length); ++ ++HMAC_CTX *HMAC_CTX_new(void); ++void HMAC_CTX_free(HMAC_CTX* ctx); ++ ++RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); ++ ++#define ASN1_STRING_length(s) s->length ++#define ASN1_STRING_get0_data(s) s->data ++ ++#define X509_get_subject_name(x) x->cert_info->subject ++#define X509_get_issuer_name(x) x->cert_info->issuer ++#define X509_NAME_ENTRY_get_data(n) n->value ++#define X509_NAME_ENTRY_get_object(n) n->object ++#define X509_STORE_CTX_get_current_cert(ctx) ctx->current_cert ++#define X509_STORE_CTX_get_error(ctx) ctx->error ++#define X509_STORE_CTX_get_error_depth(ctx) ctx->error_depth ++ ++#define OPENSSL_VERSION SSLEAY_VERSION ++#define OpenSSL_version SSLeay_version ++ ++#endif /* OPENSSL_VERSION_NUMBER */ ++ ++#endif /* OPENSSL_COMPAT_H */ +diff --git a/src/racoon/plainrsa-gen.c b/src/racoon/plainrsa-gen.c +index cad1861..b949b08 100644 +--- a/src/racoon/plainrsa-gen.c ++++ b/src/racoon/plainrsa-gen.c +@@ -60,6 +60,7 @@ + #include "vmbuf.h" + #include "plog.h" + #include "crypto_openssl.h" ++#include "openssl_compat.h" + + #include "package_version.h" + +@@ -90,12 +91,14 @@ mix_b64_pubkey(const RSA *key) + char *binbuf; + long binlen, ret; + vchar_t *res; +- +- binlen = 1 + BN_num_bytes(key->e) + BN_num_bytes(key->n); ++ const BIGNUM *e, *n; ++ ++ RSA_get0_key(key, &n, &e, NULL); ++ binlen = 1 + BN_num_bytes(e) + BN_num_bytes(n); + binbuf = malloc(binlen); + memset(binbuf, 0, binlen); +- binbuf[0] = BN_bn2bin(key->e, (unsigned char *) &binbuf[1]); +- ret = BN_bn2bin(key->n, (unsigned char *) (&binbuf[binbuf[0] + 1])); ++ binbuf[0] = BN_bn2bin(e, (unsigned char *) &binbuf[1]); ++ ret = BN_bn2bin(n, (unsigned char *) (&binbuf[binbuf[0] + 1])); + if (1 + binbuf[0] + ret != binlen) { + plog(LLV_ERROR, LOCATION, NULL, + "Pubkey generation failed. This is really strange...\n"); +@@ -131,16 +134,20 @@ print_rsa_key(FILE *fp, const RSA *key) + + fprintf(fp, "# : PUB 0s%s\n", pubkey64->v); + fprintf(fp, ": RSA\t{\n"); +- fprintf(fp, "\t# RSA %d bits\n", BN_num_bits(key->n)); ++ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; ++ RSA_get0_key(key, &n, &e, &d); ++ RSA_get0_factors(key, &p, &q); ++ RSA_get0_crt_params(key, &dmp1, &dmq1, &iqmp); ++ fprintf(fp, "\t# RSA %d bits\n", BN_num_bits(n)); + fprintf(fp, "\t# pubkey=0s%s\n", pubkey64->v); +- fprintf(fp, "\tModulus: 0x%s\n", lowercase(BN_bn2hex(key->n))); +- fprintf(fp, "\tPublicExponent: 0x%s\n", lowercase(BN_bn2hex(key->e))); +- fprintf(fp, "\tPrivateExponent: 0x%s\n", lowercase(BN_bn2hex(key->d))); +- fprintf(fp, "\tPrime1: 0x%s\n", lowercase(BN_bn2hex(key->p))); +- fprintf(fp, "\tPrime2: 0x%s\n", lowercase(BN_bn2hex(key->q))); +- fprintf(fp, "\tExponent1: 0x%s\n", lowercase(BN_bn2hex(key->dmp1))); +- fprintf(fp, "\tExponent2: 0x%s\n", lowercase(BN_bn2hex(key->dmq1))); +- fprintf(fp, "\tCoefficient: 0x%s\n", lowercase(BN_bn2hex(key->iqmp))); ++ fprintf(fp, "\tModulus: 0x%s\n", lowercase(BN_bn2hex(n))); ++ fprintf(fp, "\tPublicExponent: 0x%s\n", lowercase(BN_bn2hex(e))); ++ fprintf(fp, "\tPrivateExponent: 0x%s\n", lowercase(BN_bn2hex(d))); ++ fprintf(fp, "\tPrime1: 0x%s\n", lowercase(BN_bn2hex(p))); ++ fprintf(fp, "\tPrime2: 0x%s\n", lowercase(BN_bn2hex(q))); ++ fprintf(fp, "\tExponent1: 0x%s\n", lowercase(BN_bn2hex(dmp1))); ++ fprintf(fp, "\tExponent2: 0x%s\n", lowercase(BN_bn2hex(dmq1))); ++ fprintf(fp, "\tCoefficient: 0x%s\n", lowercase(BN_bn2hex(iqmp))); + fprintf(fp, " }\n"); + + vfree(pubkey64); +@@ -203,11 +210,13 @@ int + gen_rsa_key(FILE *fp, size_t bits, unsigned long exp) + { + int ret; +- RSA *key; ++ RSA *key = RSA_new(); ++ BIGNUM *e = BN_new(); + +- key = RSA_generate_key(bits, exp, NULL, NULL); +- if (!key) { ++ BN_set_word(e, exp); ++ if (! RSA_generate_key_ex(key, bits, e, NULL)) { + fprintf(stderr, "RSA_generate_key(): %s\n", eay_strerror()); ++ RSA_free(key); + return -1; + } + +diff --git a/src/racoon/prsa_par.y b/src/racoon/prsa_par.y +index 1987e4d..27ce4c6 100644 +--- a/src/racoon/prsa_par.y ++++ b/src/racoon/prsa_par.y +@@ -68,6 +68,7 @@ + #include "isakmp_var.h" + #include "handler.h" + #include "crypto_openssl.h" ++#include "openssl_compat.h" + #include "sockmisc.h" + #include "rsalist.h" + +@@ -85,7 +86,18 @@ char *prsa_cur_fname = NULL; + struct genlist *prsa_cur_list = NULL; + enum rsa_key_type prsa_cur_type = RSA_TYPE_ANY; + +-static RSA *rsa_cur; ++struct my_rsa_st { ++ BIGNUM *n; ++ BIGNUM *e; ++ BIGNUM *d; ++ BIGNUM *p; ++ BIGNUM *q; ++ BIGNUM *dmp1; ++ BIGNUM *dmq1; ++ BIGNUM *iqmp; ++}; ++ ++static struct my_rsa_st *rsa_cur; + + void + prsaerror(const char *s, ...) +@@ -201,8 +213,12 @@ rsa_statement: + rsa_cur->iqmp = NULL; + } + } +- $$ = rsa_cur; +- rsa_cur = RSA_new(); ++ RSA * rsa_tmp = RSA_new(); ++ RSA_set0_key(rsa_tmp, rsa_cur->n, rsa_cur->e, rsa_cur->d); ++ RSA_set0_factors(rsa_tmp, rsa_cur->p, rsa_cur->q); ++ RSA_set0_crt_params(rsa_tmp, rsa_cur->dmp1, rsa_cur->dmq1, rsa_cur->iqmp); ++ $$ = rsa_tmp; ++ memset(rsa_cur, 0, sizeof(struct my_rsa_st)); + } + | TAG_PUB BASE64 + { +@@ -351,10 +367,12 @@ prsa_parse_file(struct genlist *list, char *fname, enum rsa_key_type type) + prsa_cur_fname = fname; + prsa_cur_list = list; + prsa_cur_type = type; +- rsa_cur = RSA_new(); ++ rsa_cur = malloc(sizeof(struct my_rsa_st)); ++ memset(rsa_cur, 0, sizeof(struct my_rsa_st)); + ret = prsaparse(); + if (rsa_cur) { +- RSA_free(rsa_cur); ++ memset(rsa_cur, 0, sizeof(struct my_rsa_st)); ++ free(rsa_cur); + rsa_cur = NULL; + } + fclose (fp); +diff --git a/src/racoon/rsalist.c b/src/racoon/rsalist.c +index f152c82..96e8363 100644 +--- a/src/racoon/rsalist.c ++++ b/src/racoon/rsalist.c +@@ -52,6 +52,7 @@ + #include "genlist.h" + #include "remoteconf.h" + #include "crypto_openssl.h" ++#include "openssl_compat.h" + + #ifndef LIST_FIRST + #define LIST_FIRST(head) ((head)->lh_first) +@@ -98,7 +99,9 @@ rsa_key_dup(struct rsa_key *key) + return NULL; + + if (key->rsa) { +- new->rsa = key->rsa->d != NULL ? RSAPrivateKey_dup(key->rsa) : RSAPublicKey_dup(key->rsa); ++ const BIGNUM *d; ++ RSA_get0_key(key->rsa, NULL, NULL, &d); ++ new->rsa = (d != NULL ? RSAPrivateKey_dup(key->rsa) : RSAPublicKey_dup(key->rsa)); + if (new->rsa == NULL) + goto dup_error; + } +-- +2.16.1 + diff --git a/package/ipsec-tools/ipsec-tools.mk b/package/ipsec-tools/ipsec-tools.mk index 8672272538..7ac6b5cb22 100644 --- a/package/ipsec-tools/ipsec-tools.mk +++ b/package/ipsec-tools/ipsec-tools.mk @@ -9,17 +9,14 @@ IPSEC_TOOLS_SOURCE = ipsec-tools-$(IPSEC_TOOLS_VERSION).tar.bz2 IPSEC_TOOLS_SITE = http://sourceforge.net/projects/ipsec-tools/files/ipsec-tools/$(IPSEC_TOOLS_VERSION) IPSEC_TOOLS_INSTALL_STAGING = YES IPSEC_TOOLS_MAKE = $(MAKE1) -IPSEC_TOOLS_DEPENDENCIES = openssl flex host-flex host-bison +IPSEC_TOOLS_DEPENDENCIES = openssl flex host-pkgconf host-flex host-bison # we patch configure.ac IPSEC_TOOLS_AUTORECONF = YES # configure hardcodes -Werror, so override CFLAGS on make invocation IPSEC_TOOLS_MAKE_OPTS = CFLAGS='$(TARGET_CFLAGS)' -# openssl uses zlib, so we need to explicitly link with it when static -ifeq ($(BR2_STATIC_LIBS),y) -IPSEC_TOOLS_CONF_ENV += LIBS=-lz -endif +IPSEC_TOOLS_CONF_ENV = LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` IPSEC_TOOLS_CONF_OPTS = \ --without-libpam \ diff --git a/package/ipset/ipset.hash b/package/ipset/ipset.hash index f41111c022..46e285b1ea 100644 --- a/package/ipset/ipset.hash +++ b/package/ipset/ipset.hash @@ -1,6 +1,6 @@ -# From http://ftp.netfilter.org/pub/ipset/ipset-6.38.tar.bz2.md5sum.txt -md5 0e5d9c85f6b78e7dff0c996e2900574b ipset-6.38.tar.bz2 +# From http://ipset.netfilter.org/ipset-7.1.tar.bz2.md5sum.txt +md5 72b477d1ce076d681b0799f88280f2f3 ipset-7.1.tar.bz2 # Calculated based on the hash above -sha256 ceef625ba31fe0aaa422926c7231a819de0b07644c02c17ebdd3022a29e3e244 ipset-6.38.tar.bz2 +sha256 7b5eb3b93205c20cdc39e3fc8b6e5f7bb214bf79a7c0c00729dd4a31ce16adc4 ipset-7.1.tar.bz2 # Locally calculated sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/package/ipset/ipset.mk b/package/ipset/ipset.mk index 3ec9448941..542afc963b 100644 --- a/package/ipset/ipset.mk +++ b/package/ipset/ipset.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPSET_VERSION = 6.38 +IPSET_VERSION = 7.1 IPSET_SOURCE = ipset-$(IPSET_VERSION).tar.bz2 IPSET_SITE = http://ipset.netfilter.org IPSET_DEPENDENCIES = libmnl host-pkgconf diff --git a/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch b/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch new file mode 100644 index 0000000000..37c6f96af4 --- /dev/null +++ b/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch @@ -0,0 +1,45 @@ +From 51d374ba41ae4f1bb851228c06b030b83dd2092f Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 13 Nov 2018 19:22:08 +0200 +Subject: [PATCH] ebtables: vlan: fix userspace/kernel headers collision + +Build with musl libc fails because of conflicting struct ethhdr +definitions: + +In file included from .../sysroot/usr/include/net/ethernet.h:10:0, + from ../iptables/nft-bridge.h:8, + from libebt_vlan.c:18: +.../sysroot/usr/include/netinet/if_ether.h:107:8: error: redefinition of ‘struct ethhdr’ + struct ethhdr { + ^~~~~~ +In file included from libebt_vlan.c:16:0: +.../sysroot/usr/include/linux/if_ether.h:160:8: note: originally defined here + struct ethhdr { + ^~~~~~ + +Include the userspace header first for the definition suppression logic +to do the right thing. + +Signed-off-by: Baruch Siach +Signed-off-by: Pablo Neira Ayuso +--- +Upstream status: commit 51d374ba41ae + + extensions/libebt_vlan.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/extensions/libebt_vlan.c b/extensions/libebt_vlan.c +index 4a2eb7126895..be269c6cdb4c 100644 +--- a/extensions/libebt_vlan.c ++++ b/extensions/libebt_vlan.c +@@ -12,6 +12,7 @@ + #include + #include + #include ++#include + #include + #include + #include "iptables/nft.h" +-- +2.19.1 + diff --git a/package/iptables/0001-extensions-libxt_bpf-Fix-build-with-old-kernel-versi.patch b/package/iptables/0001-extensions-libxt_bpf-Fix-build-with-old-kernel-versi.patch deleted file mode 100644 index 966cbe31ab..0000000000 --- a/package/iptables/0001-extensions-libxt_bpf-Fix-build-with-old-kernel-versi.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 5beb1582d13d3bfdd0d2b277f5f3154b2fbf4a8e Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Tue, 27 Feb 2018 16:56:55 +0100 -Subject: [PATCH] extensions: libxt_bpf: Fix build with old kernel versions - -In kernel 3.18 the union bpf_attr does not have a pathname attribute and -BPF_OBJ_GET is also not defined in these versions. -This was added in Linux commit b2197755b263 ("bpf: add support for -persistent maps/progs"). Check for the BPF_FS_MAGIC define which was -also added in this Linux commit and only activate this code in case we -find that define. - -This fixes a build problem with Linux 3.18. -Netfilter bug: #1231 - -Fixes: f17f9ace8a8 ("extensions: libxt_bpf: support ebpf pinned objects") -Signed-off-by: Hauke Mehrtens -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit 5beb1582d13d - - extensions/libxt_bpf.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/extensions/libxt_bpf.c b/extensions/libxt_bpf.c -index 9510c190f315..92958247c756 100644 ---- a/extensions/libxt_bpf.c -+++ b/extensions/libxt_bpf.c -@@ -22,6 +22,7 @@ - #include - #endif - -+#include - #include - - #define BCODE_FILE_MAX_LEN_B 1024 -@@ -62,7 +63,7 @@ static const struct xt_option_entry bpf_opts_v1[] = { - - static int bpf_obj_get(const char *filepath) - { --#if defined HAVE_LINUX_BPF_H && defined __NR_bpf -+#if defined HAVE_LINUX_BPF_H && defined __NR_bpf && defined BPF_FS_MAGIC - union bpf_attr attr; - - memset(&attr, 0, sizeof(attr)); --- -2.16.1 - diff --git a/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch b/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch new file mode 100644 index 0000000000..18dbc28f91 --- /dev/null +++ b/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch @@ -0,0 +1,77 @@ +From 7c8791edac3e74f6ce0bf21f98bc820db8e55e62 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 16 Nov 2018 07:23:32 +0200 +Subject: [PATCH] xtables-monitor: fix build with older glibc + +glibc older than 2.19 only expose BSD style fields of struct tcphdr when +_BSD_SOURCE is define. Current glibc however, warn that _BSD_SOURCE is +deprecated. Migrate to the GNU style of tcphdr fields to make the code +compatible with any glibc version. + +Fix the following build failure: + +xtables-monitor.c: In function 'trace_print_packet': +xtables-monitor.c:406:43: error: 'const struct tcphdr' has no member named 'th_sport' + printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); + ^ +xtables-monitor.c:406:66: error: 'const struct tcphdr' has no member named 'th_dport' + printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); + ^ +... + +Signed-off-by: Baruch Siach +Signed-off-by: Florian Westphal +--- +Upstream status: commit 7c8791edac3e74 + + iptables/xtables-monitor.c | 30 ++++++++++++++---------------- + 1 file changed, 14 insertions(+), 16 deletions(-) + +diff --git a/iptables/xtables-monitor.c b/iptables/xtables-monitor.c +index 3b1ca777a28a..5d1611122df5 100644 +--- a/iptables/xtables-monitor.c ++++ b/iptables/xtables-monitor.c +@@ -403,26 +403,24 @@ static void trace_print_packet(const struct nftnl_trace *nlt, struct cb_arg *arg + case IPPROTO_UDP: + if (len < 4) + break; +- printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); ++ printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); + break; + case IPPROTO_TCP: + if (len < sizeof(*tcph)) + break; +- printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); +- if (tcph->th_flags & (TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG)) { +- if (tcph->th_flags & TH_SYN) +- printf("SYN "); +- if (tcph->th_flags & TH_ACK) +- printf("ACK "); +- if (tcph->th_flags & TH_FIN) +- printf("FIN "); +- if (tcph->th_flags & TH_RST) +- printf("RST "); +- if (tcph->th_flags & TH_PUSH) +- printf("PSH "); +- if (tcph->th_flags & TH_URG) +- printf("URG "); +- } ++ printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); ++ if (tcph->syn) ++ printf("SYN "); ++ if (tcph->ack) ++ printf("ACK "); ++ if (tcph->fin) ++ printf("FIN "); ++ if (tcph->rst) ++ printf("RST "); ++ if (tcph->psh) ++ printf("PSH "); ++ if (tcph->urg) ++ printf("URG "); + break; + default: + break; +-- +2.19.1 + diff --git a/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch b/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch new file mode 100644 index 0000000000..c5cd6437f0 --- /dev/null +++ b/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch @@ -0,0 +1,51 @@ +From 8d9d7e4b9ef4c6e6abab2cf35c747d7ca36824bd Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 16 Nov 2018 09:30:33 +0200 +Subject: [PATCH] include: fix build with kernel headers before 4.2 + +Commit 672accf1530 (include: update kernel netfilter header files) +updated linux/netfilter.h and brought with it the update from kernel +commit a263653ed798 (netfilter: don't pull include/linux/netfilter.h +from netns headers). This triggers conflict of headers that is fixed in +kernel commit 279c6c7fa64f (api: fix compatibility of linux/in.h with +netinet/in.h) included in kernel version 4.2. For earlier kernel headers +we need a workaround that prevents the headers conflict. + +Fixes the following build failure: + +In file included from .../sysroot/usr/include/netinet/ip.h:25:0, + from ../include/libiptc/ipt_kernel_headers.h:8, + from ../include/libiptc/libiptc.h:6, + from libip4tc.c:29: +.../sysroot/usr/include/linux/in.h:26:3: error: redeclaration of enumerator ‘IPPROTO_IP’ + IPPROTO_IP = 0, /* Dummy protocol for TCP */ + ^ +.../sysroot/usr/include/netinet/in.h:33:5: note: previous definition of ‘IPPROTO_IP’ was here + IPPROTO_IP = 0, /* Dummy protocol for TCP. */ + ^~~~~~~~~~ + +Signed-off-by: Baruch Siach +Signed-off-by: Florian Westphal +--- +Upstream status: commit 8d9d7e4b9ef4c6 + + include/linux/netfilter.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h +index c3f087ac680c..bacf8cd92116 100644 +--- a/include/linux/netfilter.h ++++ b/include/linux/netfilter.h +@@ -3,7 +3,9 @@ + + #include + ++#ifndef _NETINET_IN_H + #include ++#endif + #include + #include + +-- +2.19.1 + diff --git a/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch b/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch new file mode 100644 index 0000000000..0b6358b255 --- /dev/null +++ b/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch @@ -0,0 +1,44 @@ +From 90b0d3abfc0b4150b198eb17080d75acc5838a59 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sat, 17 Nov 2018 22:20:08 +0200 +Subject: [PATCH] xtables-monitor: fix build with musl libc + +Commit 7c8791edac3 ("xtables-monitor: fix build with older glibc") +changed the code to use GNU style tcphdr fields. Unfortunately, musl +libc requires _GNU_SOURCE definition to expose these fields. + +Fix the following build failure: + +xtables-monitor.c: In function ‘trace_print_packet’: +xtables-monitor.c:406:43: error: ‘const struct tcphdr’ has no member named ‘source’ + printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); + ^~ +xtables-monitor.c:406:64: error: ‘const struct tcphdr’ has no member named ‘dest’ + printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); + ^~ +... + +Cc: Florian Westphal +Signed-off-by: Baruch Siach +Signed-off-by: Florian Westphal +--- +Upstream status: commit 90b0d3abfc0b + + iptables/xtables-monitor.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/iptables/xtables-monitor.c b/iptables/xtables-monitor.c +index 5d1611122df5..f835c5e503e0 100644 +--- a/iptables/xtables-monitor.c ++++ b/iptables/xtables-monitor.c +@@ -9,6 +9,7 @@ + * This software has been sponsored by Sophos Astaro + */ + ++#define _GNU_SOURCE + #include + #include + #include +-- +2.19.1 + diff --git a/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch b/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch new file mode 100644 index 0000000000..6b1ffbd639 --- /dev/null +++ b/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch @@ -0,0 +1,37 @@ +From 23dee088cd54aae94f1b71046f2ab2b206eedd42 Mon Sep 17 00:00:00 2001 +Message-Id: <23dee088cd54aae94f1b71046f2ab2b206eedd42.1543092537.git.baruch@tkos.co.il> +From: Baruch Siach +Date: Sat, 24 Nov 2018 22:33:37 +0200 +Subject: [PATCH] include: extend the headers conflict workaround to in6.h + +Commit 8d9d7e4b9ef ("include: fix build with kernel headers before 4.2") +introduced a kernel/user headers conflict workaround that allows build +of iptables with kernel headers older than 4.2. This minor extension +allows build with kernel headers older than 3.12, which is the version +that introduced explicit IP headers synchronization. + +Cc: Florian Westphal +Signed-off-by: Baruch Siach +--- +Upstream status: https://www.spinics.net/lists/netfilter-devel/msg57029.html + + include/linux/netfilter.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h +index bacf8cd92116..042d8b1478e0 100644 +--- a/include/linux/netfilter.h ++++ b/include/linux/netfilter.h +@@ -5,8 +5,8 @@ + + #ifndef _NETINET_IN_H + #include +-#endif + #include ++#endif + #include + + /* Responses from hook functions. */ +-- +2.19.1 + diff --git a/package/iptables/iptables.hash b/package/iptables/iptables.hash index 8b191797fb..d84bd3af98 100644 --- a/package/iptables/iptables.hash +++ b/package/iptables/iptables.hash @@ -1,3 +1,4 @@ -# From ftp://ftp.netfilter.org/pub/iptables/iptables-1.6.2.tar.bz2.{md5sum,sha1sum} -md5 7d2b7847e4aa8832a18437b8a4c1873d iptables-1.6.2.tar.bz2 -sha1 6279effbf8f2c7ff53d19ae13308f8a6e6a60dd9 iptables-1.6.2.tar.bz2 +# From https://netfilter.org/projects/iptables/downloads.html +sha256 a3778b50ed1a3256f9ca975de82c2204e508001fc2471238c8c97f3d1c4c12af iptables-1.8.2.tar.bz2 +# Locally calculated +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/iptables/iptables.mk b/package/iptables/iptables.mk index 49a537f608..54494937af 100644 --- a/package/iptables/iptables.mk +++ b/package/iptables/iptables.mk @@ -4,9 +4,9 @@ # ################################################################################ -IPTABLES_VERSION = 1.6.2 +IPTABLES_VERSION = 1.8.2 IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2 -IPTABLES_SITE = http://ftp.netfilter.org/pub/iptables +IPTABLES_SITE = https://netfilter.org/projects/iptables/files IPTABLES_INSTALL_STAGING = YES IPTABLES_DEPENDENCIES = host-pkgconf \ $(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack) diff --git a/package/iputils/0001-ping-Fix-AI_CANONIDN-usage-on-some-systems.patch b/package/iputils/0001-ping-Fix-AI_CANONIDN-usage-on-some-systems.patch new file mode 100644 index 0000000000..556d3786fb --- /dev/null +++ b/package/iputils/0001-ping-Fix-AI_CANONIDN-usage-on-some-systems.patch @@ -0,0 +1,57 @@ +From 25899e849aa3abc1ad29ebf0b830262a859eaed5 Mon Sep 17 00:00:00 2001 +From: Petr Vorel +Date: Sat, 21 Jul 2018 17:46:14 +0200 +Subject: [PATCH] ping: Fix AI_CANONIDN usage on some systems + +Commit 99f67db used AI_CANONIDN in a way, which broke compilation on +systems where AI_CANONIDN is not defined in netdb.h (e.g. glibc < 2.3.4, +alternative libcs that don't support IDN: e.g. current musl 1.1.19 and +uClibc-ng 1.0.30) when not using the system libidn2. + +Fixes: 99f67db ping: Fix ping name encoded using ACE on C locale + +Reported-by: Nicholas Fish +Signed-off-by: Petr Vorel +--- + ping.c | 2 +- + ping.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ping.c b/ping.c +index 733477f..b241815 100644 +--- a/ping.c ++++ b/ping.c +@@ -207,9 +207,9 @@ main(int argc, char **argv) + + #ifdef USE_IDN + setlocale(LC_ALL, ""); +-#endif + if (!strcmp(setlocale(LC_ALL, NULL), "C")) + hints.ai_flags &= ~ AI_CANONIDN; ++#endif + + /* Support being called using `ping4` or `ping6` symlinks */ + if (argv[0][strlen(argv[0])-1] == '4') +diff --git a/ping.h b/ping.h +index 3e09685..8a0c4ef 100644 +--- a/ping.h ++++ b/ping.h +@@ -28,7 +28,6 @@ + #include + #include + #include +-#include + + #ifdef CAPABILITIES + #include +@@ -36,6 +35,7 @@ + #endif + + #ifdef USE_IDN ++#include + #include + #define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN) + #define getnameinfo_flags NI_IDN +-- +2.19.0.rc2 + diff --git a/package/iputils/iputils.hash b/package/iputils/iputils.hash index a19348aa1f..14e2c67134 100644 --- a/package/iputils/iputils.hash +++ b/package/iputils/iputils.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 f813092f03d17294fd23544b129b95cdb87fe19f7970a51908a6b88509acad8a iputils-s20161105.tar.gz +sha256 da14105291dd491f28ea91ade854ed10aee8ba019641c80eed233de3908be7c5 iputils-s20180629.tar.gz +sha256 966075293e45785230c19415bcda15bd07c75bead4fe73332d1a4b9c45bb321f ninfod/COPYING diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk index 713b0e4abf..8371971231 100644 --- a/package/iputils/iputils.mk +++ b/package/iputils/iputils.mk @@ -11,7 +11,7 @@ # and IPv6 updates. # http://www.spinics.net/lists/netdev/msg279881.html -IPUTILS_VERSION = s20161105 +IPUTILS_VERSION = s20180629 IPUTILS_SITE = $(call github,iputils,iputils,$(IPUTILS_VERSION)) IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause, BSD-4-Clause # Only includes a license file for BSD diff --git a/package/irqbalance/Config.in b/package/irqbalance/Config.in index 6c21497834..02d146f4d3 100644 --- a/package/irqbalance/Config.in +++ b/package/irqbalance/Config.in @@ -1,5 +1,9 @@ config BR2_PACKAGE_IRQBALANCE bool "irqbalance" + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 help Irqbalance is a daemon to help balance the cpu load generated by interrupts across all of a systems cpus. @@ -9,3 +13,7 @@ config BR2_PACKAGE_IRQBALANCE minimizing cache hit rates for irq handlers. https://github.com/Irqbalance/irqbalance + +comment "irqbalance needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/irqbalance/irqbalance.hash b/package/irqbalance/irqbalance.hash index 032c49152f..dfe14c9003 100644 --- a/package/irqbalance/irqbalance.hash +++ b/package/irqbalance/irqbalance.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 f1b8115948bb9f0bc36b9d7143ee8be751a294bc189d311408e753acc37169c3 irqbalance-v1.0.9.tar.gz +sha256 3318eddc03782cfdad22b20eff18eaf378c498c5de286e8cbaa5521ddf4f810b irqbalance-v1.5.0.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/package/irqbalance/irqbalance.mk b/package/irqbalance/irqbalance.mk index e4e6078bf3..063b02bb68 100644 --- a/package/irqbalance/irqbalance.mk +++ b/package/irqbalance/irqbalance.mk @@ -4,14 +4,42 @@ # ################################################################################ -IRQBALANCE_VERSION = v1.0.9 +IRQBALANCE_VERSION = v1.5.0 IRQBALANCE_SITE = $(call github,irqbalance,irqbalance,$(IRQBALANCE_VERSION)) IRQBALANCE_LICENSE = GPL-2.0 IRQBALANCE_LICENSE_FILES = COPYING -IRQBALANCE_DEPENDENCIES = host-pkgconf +IRQBALANCE_DEPENDENCIES = host-pkgconf libglib2 # Autoreconf needed because package is distributed without a configure script IRQBALANCE_AUTORECONF = YES +ifeq ($(BR2_PACKAGE_LIBCAP_NG),y) +IRQBALANCE_DEPENDENCIES += libcap-ng +IRQBALANCE_CONF_OPTS += --with-libcap-ng +else +IRQBALANCE_CONF_OPTS += --without-libcap-ng +endif + +ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) +IRQBALANCE_DEPENDENCIES += ncurses +IRQBALANCE_CONF_OPTS += --with-irqbalance-ui +else +IRQBALANCE_CONF_OPTS += --without-irqbalance-ui +endif + +ifeq ($(BR2_PACKAGE_NUMACTL),y) +IRQBALANCE_DEPENDENCIES += numactl +IRQBALANCE_CONF_OPTS += --enable-numa +else +IRQBALANCE_CONF_OPTS += --disable-numa +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +IRQBALANCE_DEPENDENCIES += systemd +IRQBALANCE_CONF_OPTS += --with-systemd +else +IRQBALANCE_CONF_OPTS += --without-systemd +endif + # This would be done by the package's autogen.sh script define IRQBALANCE_PRECONFIGURE mkdir -p $(@D)/m4 diff --git a/package/iucode-tool/S00iucode-tool b/package/iucode-tool/S00iucode-tool index 0c1e409de2..393c903b41 100644 --- a/package/iucode-tool/S00iucode-tool +++ b/package/iucode-tool/S00iucode-tool @@ -3,21 +3,26 @@ # Upload microcode into the processor. # -microcode_file="/usr/share/misc/intel-microcode.dat" +MICROCODE_DIR="/lib/firmware/intel-ucode" + +start() { + printf 'Starting iucode-tool: ' + /usr/sbin/iucode_tool -q -k "$MICROCODE_DIR" + status="$?" + if [ "$status" = 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} case "$1" in - start) - echo "Starting iucode-tool:" - /usr/sbin/iucode_tool -k $microcode_file - echo "done" - ;; - stop) - ;; - restart|reload) - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 + start) + start;; + stop|restart|reload) + ;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac - -exit $? diff --git a/package/iucode-tool/iucode-tool.hash b/package/iucode-tool/iucode-tool.hash index 1dab8de978..6d8fb635d0 100644 --- a/package/iucode-tool/iucode-tool.hash +++ b/package/iucode-tool/iucode-tool.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9810daf925b8a9ca244adc4e1916bcab65601c9ebe87e91c2281f78055982971 iucode-tool_2.2.tar.xz +sha256 12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95 iucode-tool_2.3.1.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/iucode-tool/iucode-tool.mk b/package/iucode-tool/iucode-tool.mk index 38f9da438e..e900888d7d 100644 --- a/package/iucode-tool/iucode-tool.mk +++ b/package/iucode-tool/iucode-tool.mk @@ -4,7 +4,7 @@ # ################################################################################ -IUCODE_TOOL_VERSION = 2.2 +IUCODE_TOOL_VERSION = 2.3.1 IUCODE_TOOL_SOURCE = iucode-tool_$(IUCODE_TOOL_VERSION).tar.xz IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/master ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) diff --git a/package/iwd/Config.in b/package/iwd/Config.in new file mode 100644 index 0000000000..c790f3dba1 --- /dev/null +++ b/package/iwd/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_IWD + bool "iwd" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # ell + depends on !BR2_STATIC_LIBS # ell + depends on BR2_USE_WCHAR # ell + select BR2_PACKAGE_ELL + help + iNet Wireless daemon (iwd) + + https://iwd.wiki.kernel.org/ + +comment "iwd needs a toolchain w/ dynamic library, wchar" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # ell + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/package/iwd/iwd.hash b/package/iwd/iwd.hash new file mode 100644 index 0000000000..d8eefc064c --- /dev/null +++ b/package/iwd/iwd.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 e416bd549474b2940b0e43ac680795fbafe2b4965fe6a977cd4c1caa1a05e897 iwd-0.13.tar.gz + +# License files +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/package/iwd/iwd.mk b/package/iwd/iwd.mk new file mode 100644 index 0000000000..63736947cf --- /dev/null +++ b/package/iwd/iwd.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# iwd +# +################################################################################ + +IWD_VERSION = 0.13 +IWD_SITE = https://git.kernel.org/pub/scm/network/wireless/iwd.git +IWD_SITE_METHOD = git +IWD_LICENSE = LGPL-2.1+ +IWD_LICENSE_FILES = COPYING +# sources from git, no configure script provided +IWD_AUTORECONF = YES + +IWD_CONF_OPTS = --enable-external-ell +IWD_DEPENDENCIES = ell + +# autoreconf requires an existing build-aux directory +define IWD_MKDIR_BUILD_AUX + mkdir -p $(@D)/build-aux +endef +IWD_POST_PATCH_HOOKS += IWD_MKDIR_BUILD_AUX + +ifeq ($(BR2_PACKAGE_DBUS),y) +IWD_CONF_OPTS += --enable-dbus-policy --with-dbus-datadir=/usr/share +IWD_DEPENDENCIES += dbus +else +IWD_CONF_OPTS += --disable-dbus-policy +endif + +ifeq ($(BR2_PACKAGE_READLINE),y) +# iwd client depends on readline (GPL-3.0+) +IWD_LICENSE := $(IWD_LICENSE), GPL-3.0+ (client) +IWD_CONF_OPTS += --enable-client +IWD_DEPENDENCIES += readline +else +IWD_CONF_OPTS += --disable-client +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +IWD_CONF_OPTS += --enable-systemd-service +IWD_DEPENDENCIES += systemd +else +IWD_CONF_OPTS += --disable-systemd-service +endif + +$(eval $(autotools-package)) diff --git a/package/jansson/jansson.hash b/package/jansson/jansson.hash index e169b229cb..5baec1968d 100644 --- a/package/jansson/jansson.hash +++ b/package/jansson/jansson.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 6e85f42dabe49a7831dbdd6d30dca8a966956b51a9a50ed534b82afc3fa5b2f4 jansson-2.11.tar.gz -sha256 3034b2319f8c053995e8c8abf11b76418a3a8836cd769e5b3f0b6b13bfa00ec4 LICENSE +sha256 5f8dec765048efac5d919aded51b26a32a05397ea207aa769ff6b53c7027d2c9 jansson-2.12.tar.gz +sha256 f0a0c95c64e9f49ec4cbfac8e7fee06823c85ee8ba4af5d57aaabb372347adc2 LICENSE diff --git a/package/jansson/jansson.mk b/package/jansson/jansson.mk index 920008757b..b53381d465 100644 --- a/package/jansson/jansson.mk +++ b/package/jansson/jansson.mk @@ -4,7 +4,7 @@ # ################################################################################ -JANSSON_VERSION = 2.11 +JANSSON_VERSION = 2.12 JANSSON_SITE = http://www.digip.org/jansson/releases JANSSON_LICENSE = MIT JANSSON_LICENSE_FILES = LICENSE diff --git a/package/janus-gateway/Config.in b/package/janus-gateway/Config.in index 94c00cd34a..6eac763f72 100644 --- a/package/janus-gateway/Config.in +++ b/package/janus-gateway/Config.in @@ -67,11 +67,12 @@ comment "MQTT transport needs a toolchain w/ threads and dynamic library support config BR2_PACKAGE_JANUS_GATEWAY_RABBITMQ bool "RabbitMQ" + depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_RABBITMQ_C -comment "RabbitMQ transport needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "RabbitMQ transport needs a toolchain w/ dynamic library, threads" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_JANUS_GATEWAY_REST bool "REST (HTTP/HTTPS)" diff --git a/package/janus-gateway/janus-gateway.hash b/package/janus-gateway/janus-gateway.hash index f84ed8b6db..9b13e0f0fc 100644 --- a/package/janus-gateway/janus-gateway.hash +++ b/package/janus-gateway/janus-gateway.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 35cbbd5e7b7067e3a0b5ba221ea845814e5b59c733302f88fea80bcf98ce416f janus-gateway-v0.2.6.tar.gz +sha256 c9c3b741a5d9f956845d5094c211690178cc0d630a7b23b870437c88a7e4ed3b janus-gateway-v0.5.0.tar.gz sha256 0a884af515b4593503f6f0c9b424db3945bd77eaa2644d25f45eb93a412b3c19 COPYING diff --git a/package/janus-gateway/janus-gateway.mk b/package/janus-gateway/janus-gateway.mk index 261fc25202..cea06b754e 100644 --- a/package/janus-gateway/janus-gateway.mk +++ b/package/janus-gateway/janus-gateway.mk @@ -4,7 +4,7 @@ # ################################################################################ -JANUS_GATEWAY_VERSION = v0.2.6 +JANUS_GATEWAY_VERSION = v0.5.0 JANUS_GATEWAY_SITE = $(call github,meetecho,janus-gateway,$(JANUS_GATEWAY_VERSION)) JANUS_GATEWAY_LICENSE = GPL-3.0 JANUS_GATEWAY_LICENSE_FILES = COPYING diff --git a/package/jasper/jasper.hash b/package/jasper/jasper.hash index 8c4f2453ad..4fea367ebc 100644 --- a/package/jasper/jasper.hash +++ b/package/jasper/jasper.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b50413b41bfc82ae419298b41eadcde1aa31f362fb9dc2ac089e5cbc19f60c24 jasper-version-2.0.13.tar.gz +sha256 85266eea728f8b14365db9eaf1edc7be4c348704e562bb05095b9a077cf1a97b jasper-version-2.0.14.tar.gz sha256 4ad1bb42aff888c4403d792e6e2c5f1716d6c279fea70b296333c9d577d30b81 LICENSE diff --git a/package/jasper/jasper.mk b/package/jasper/jasper.mk index 9dc46b18d6..b544a7c1c6 100644 --- a/package/jasper/jasper.mk +++ b/package/jasper/jasper.mk @@ -4,7 +4,7 @@ # ################################################################################ -JASPER_VERSION = version-2.0.13 +JASPER_VERSION = version-2.0.14 JASPER_SITE = $(call github,mdadams,jasper,$(JASPER_VERSION)) JASPER_INSTALL_STAGING = YES JASPER_LICENSE = JasPer-2.0 diff --git a/package/jemalloc/Config.in b/package/jemalloc/Config.in index c3fd8e34b8..edb582d203 100644 --- a/package/jemalloc/Config.in +++ b/package/jemalloc/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS default y if BR2_arm || BR2_armeb default y if BR2_aarch64 || BR2_aarch64_be default y if BR2_i386 || BR2_x86_64 - default y if BR2_mips || BR2_mipsel + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el default y if BR2_sparc64 default y if BR2_powerpc default y if BR2_sh4 || BR2sh4eb || BR2_sh4a || BR2_sh4aeb diff --git a/package/jpeg-turbo/0001-tjLoadImage-Fix-int-overflow-segfault-w-big-BMP.patch b/package/jpeg-turbo/0001-tjLoadImage-Fix-int-overflow-segfault-w-big-BMP.patch new file mode 100644 index 0000000000..a10fcf62af --- /dev/null +++ b/package/jpeg-turbo/0001-tjLoadImage-Fix-int-overflow-segfault-w-big-BMP.patch @@ -0,0 +1,51 @@ +From 3d9c64e9f8aa1ee954d1d0bb3390fc894bb84da3 Mon Sep 17 00:00:00 2001 +From: DRC +Date: Tue, 1 Jan 2019 18:57:36 -0600 +Subject: [PATCH] tjLoadImage(): Fix int overflow/segfault w/big BMP + +Fixes #304 + +[baruch: drop the ChangeLog.md hunk] +Signed-off-by: Baruch Siach +--- +Upstream status: commit 3d9c64e9f8aa + + ChangeLog.md | 4 ++++ + turbojpeg.c | 9 ++++++--- + 2 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/turbojpeg.c b/turbojpeg.c +index 90a9ce6a0be8..3f7cd640677f 100644 +--- a/turbojpeg.c ++++ b/turbojpeg.c +@@ -1,5 +1,5 @@ + /* +- * Copyright (C)2009-2018 D. R. Commander. All Rights Reserved. ++ * Copyright (C)2009-2019 D. R. Commander. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: +@@ -1960,7 +1960,8 @@ DLLEXPORT unsigned char *tjLoadImage(const char *filename, int *width, + int align, int *height, int *pixelFormat, + int flags) + { +- int retval = 0, tempc, pitch; ++ int retval = 0, tempc; ++ size_t pitch; + tjhandle handle = NULL; + tjinstance *this; + j_compress_ptr cinfo = NULL; +@@ -2013,7 +2014,9 @@ DLLEXPORT unsigned char *tjLoadImage(const char *filename, int *width, + *pixelFormat = cs2pf[cinfo->in_color_space]; + + pitch = PAD((*width) * tjPixelSize[*pixelFormat], align); +- if ((dstBuf = (unsigned char *)malloc(pitch * (*height))) == NULL) ++ if ((unsigned long long)pitch * (unsigned long long)(*height) > ++ (unsigned long long)((size_t)-1) || ++ (dstBuf = (unsigned char *)malloc(pitch * (*height))) == NULL) + _throwg("tjLoadImage(): Memory allocation failure"); + + if (setjmp(this->jerr.setjmp_buffer)) { +-- +2.20.1 + diff --git a/package/jpeg-turbo/0002-wrbmp.c-Don-t-allow-quantization-w-non-RGB-CS.patch b/package/jpeg-turbo/0002-wrbmp.c-Don-t-allow-quantization-w-non-RGB-CS.patch new file mode 100644 index 0000000000..3e4e5bd082 --- /dev/null +++ b/package/jpeg-turbo/0002-wrbmp.c-Don-t-allow-quantization-w-non-RGB-CS.patch @@ -0,0 +1,39 @@ +From f8cca819a4fb42aafa5f70df43c45e8c416d716f Mon Sep 17 00:00:00 2001 +From: DRC +Date: Tue, 1 Jan 2019 20:32:40 -0600 +Subject: [PATCH] wrbmp.c: Don't allow quantization w/ non-RGB CS + +If cinfo->quantize_colors == 1, then jpeg_calc_output_dimensions() will +set cinfo->output_components to 1, and if cinfo->out_color_space is not +RGB (or extended RGB), hilarity will ensue. + +Fixes #305 + +[baruch: drop the ChangeLog.md hunk] +Signed-off-by: Baruch Siach +--- +Upstream status: commit f8cca819a4 + + ChangeLog.md | 4 ++++ + wrbmp.c | 5 +++-- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/wrbmp.c b/wrbmp.c +index 4bf81426b0ef..239f64eb3c3f 100644 +--- a/wrbmp.c ++++ b/wrbmp.c +@@ -502,8 +502,9 @@ jinit_write_bmp(j_decompress_ptr cinfo, boolean is_os2, + dest->pub.put_pixel_rows = put_gray_rows; + else + dest->pub.put_pixel_rows = put_pixel_rows; +- } else if (cinfo->out_color_space == JCS_RGB565 || +- cinfo->out_color_space == JCS_CMYK) { ++ } else if (!cinfo->quantize_colors && ++ (cinfo->out_color_space == JCS_RGB565 || ++ cinfo->out_color_space == JCS_CMYK)) { + dest->pub.put_pixel_rows = put_pixel_rows; + } else { + ERREXIT(cinfo, JERR_BMP_COLORSPACE); +-- +2.20.1 + diff --git a/package/jpeg-turbo/jpeg-turbo.hash b/package/jpeg-turbo/jpeg-turbo.hash index df1c053005..1779324c51 100644 --- a/package/jpeg-turbo/jpeg-turbo.hash +++ b/package/jpeg-turbo/jpeg-turbo.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/libjpeg-turbo/files/1.5.3/ -sha1 87ebf4cab2bb27fcb8e7ccb18ec4eb680e1f2c2d libjpeg-turbo-1.5.3.tar.gz -md5 7c82f0f6a3130ec06b8a4d0b321cbca3 libjpeg-turbo-1.5.3.tar.gz +# From https://sourceforge.net/projects/libjpeg-turbo/files/2.0.1/ +sha1 7ea4a288bccbb5a2d5bfad5fb328d4a839853f4e libjpeg-turbo-2.0.1.tar.gz +md5 1b05a66aa9b006fd04ed29f408e68f46 libjpeg-turbo-2.0.1.tar.gz # Locally computed -sha256 b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523 libjpeg-turbo-1.5.3.tar.gz -sha256 5c08657eda60b7946a913ee22ac73603335a468a6aa95204506a1586a8d677ee LICENSE.md -sha256 53a3e3c299e08856964f4c5986e242c3695837b73c64625092f70c774e8af5d2 README.ijg +sha256 e5f86cec31df1d39596e0cca619ab1b01f99025a27dafdfc97a30f3a12f866ff libjpeg-turbo-2.0.1.tar.gz +sha256 8412238c5ad95965cf3c3197791e9dea8b5fae505d133449e33ee2fa754fe61e LICENSE.md +sha256 82fece2bff2669c476495f0fe70096b154e8bc5b40916a64e99836d9a01c3110 README.ijg diff --git a/package/jpeg-turbo/jpeg-turbo.mk b/package/jpeg-turbo/jpeg-turbo.mk index 2b5d876928..b848b66899 100644 --- a/package/jpeg-turbo/jpeg-turbo.mk +++ b/package/jpeg-turbo/jpeg-turbo.mk @@ -4,7 +4,7 @@ # ################################################################################ -JPEG_TURBO_VERSION = 1.5.3 +JPEG_TURBO_VERSION = 2.0.1 JPEG_TURBO_SOURCE = libjpeg-turbo-$(JPEG_TURBO_VERSION).tar.gz JPEG_TURBO_SITE = https://downloads.sourceforge.net/project/libjpeg-turbo/$(JPEG_TURBO_VERSION) JPEG_TURBO_LICENSE = IJG (libjpeg), BSD-3-Clause (TurboJPEG), Zlib (SIMD) @@ -13,14 +13,22 @@ JPEG_TURBO_INSTALL_STAGING = YES JPEG_TURBO_PROVIDES = jpeg JPEG_TURBO_DEPENDENCIES = host-pkgconf -JPEG_TURBO_CONF_OPTS = --with-jpeg8 +JPEG_TURBO_CONF_OPTS = -DWITH_JPEG8=ON + +ifeq ($(BR2_STATIC_LIBS),y) +JPEG_TURBO_CONF_OPTS += -DENABLE_STATIC=ON -DENABLE_SHARED=OFF +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +JPEG_TURBO_CONF_OPTS += -DENABLE_STATIC=ON -DENABLE_SHARED=ON +else ifeq ($(BR2_SHARED_LIBS),y) +JPEG_TURBO_CONF_OPTS += -DENABLE_STATIC=OFF -DENABLE_SHARED=ON +endif ifeq ($(BR2_PACKAGE_JPEG_SIMD_SUPPORT),y) -JPEG_TURBO_CONF_OPTS += --with-simd +JPEG_TURBO_CONF_OPTS += -DWITH_SIMD=ON # x86 simd support needs nasm JPEG_TURBO_DEPENDENCIES += $(if $(BR2_X86_CPU_HAS_MMX),host-nasm) else -JPEG_TURBO_CONF_OPTS += --without-simd +JPEG_TURBO_CONF_OPTS += -DWITH_SIMD=OFF endif define JPEG_TURBO_REMOVE_USELESS_TOOLS @@ -29,4 +37,4 @@ endef JPEG_TURBO_POST_INSTALL_TARGET_HOOKS += JPEG_TURBO_REMOVE_USELESS_TOOLS -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/package/jq/jq.hash b/package/jq/jq.hash index 2cd640563a..449619b024 100644 --- a/package/jq/jq.hash +++ b/package/jq/jq.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c jq-1.5.tar.gz +sha256 5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72 jq-1.6.tar.gz +sha256 111136aebcbfa68b6b0084e582b30e981da76adcff84eab6f9be32a1f38c5bf1 COPYING diff --git a/package/jq/jq.mk b/package/jq/jq.mk index 79629faa5e..aebe8c86e4 100644 --- a/package/jq/jq.mk +++ b/package/jq/jq.mk @@ -4,7 +4,7 @@ # ################################################################################ -JQ_VERSION = 1.5 +JQ_VERSION = 1.6 JQ_SITE = https://github.com/stedolan/jq/releases/download/jq-$(JQ_VERSION) JQ_LICENSE = MIT (code), CC-BY-3.0 (documentation) JQ_LICENSE_FILES = COPYING @@ -17,8 +17,8 @@ JQ_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99 -D_GNU_SOURCE" HOST_JQ_CONF_ENV += CFLAGS="$(HOST_CFLAGS) -std=c99 -D_GNU_SOURCE" # jq explicitly enables maintainer mode, which we don't need/want -JQ_CONF_OPTS += --disable-maintainer-mode -HOST_JQ_CONF_OPTS += --disable-maintainer-mode +JQ_CONF_OPTS += --disable-maintainer-mode --without-oniguruma +HOST_JQ_CONF_OPTS += --disable-maintainer-mode --without-oniguruma $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.hash b/package/json-for-modern-cpp/json-for-modern-cpp.hash index 4b9adf73ca..cff01db74c 100644 --- a/package/json-for-modern-cpp/json-for-modern-cpp.hash +++ b/package/json-for-modern-cpp/json-for-modern-cpp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 e8fffa6cbdb3c15ecdff32eebf958b6c686bc188da8ad5c6489462d16f83ae54 json-v3.1.2.tar.gz +sha256 e0b1fc6cc6ca05706cce99118a87aca5248bd9db3113e703023d23f044995c1d json-v3.5.0.tar.gz sha256 7b875bb7a4e28abb7956ea821b4b7d88ff6a2a4fabf261c3993730a365ec56dd LICENSE.MIT diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.mk b/package/json-for-modern-cpp/json-for-modern-cpp.mk index e547c07875..86399fd60d 100644 --- a/package/json-for-modern-cpp/json-for-modern-cpp.mk +++ b/package/json-for-modern-cpp/json-for-modern-cpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -JSON_FOR_MODERN_CPP_VERSION = v3.1.2 +JSON_FOR_MODERN_CPP_VERSION = v3.5.0 JSON_FOR_MODERN_CPP_SOURCE = json-$(JSON_FOR_MODERN_CPP_VERSION).tar.gz JSON_FOR_MODERN_CPP_SITE = $(call github,nlohmann,json,$(JSON_FOR_MODERN_CPP_VERSION)) JSON_FOR_MODERN_CPP_LICENSE = MIT diff --git a/package/keepalived/0001-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch b/package/keepalived/0001-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch new file mode 100644 index 0000000000..4402b48a8b --- /dev/null +++ b/package/keepalived/0001-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch @@ -0,0 +1,61 @@ +From 7d4856e213f349bcd97b3644b01d6170b226de16 Mon Sep 17 00:00:00 2001 +From: Quentin Armitage +Date: Tue, 20 Nov 2018 17:24:58 +0000 +Subject: [PATCH] Rename TIMER_MAX to TIMER_MAXIMUM + +ulibC defines TIMER_MAX, so to avoid naming conflict rename it. + +This issue was reported by Paul Gildea who also +provided the patch. + +Signed-off-by: Quentin Armitage +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/acassen/keepalived/commit/7d4856e213f349bcd97b3644b01d6170b226de16] +--- + lib/parser.c | 8 ++++---- + lib/parser.h | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/lib/parser.c b/lib/parser.c +index 1d53595c0..cc9b644e2 100644 +--- a/lib/parser.c ++++ b/lib/parser.c +@@ -1915,20 +1915,20 @@ read_timer(vector_t *strvec, size_t index, unsigned long *res, unsigned long min + #endif + + if (!max_time) +- max_time = TIMER_MAX; ++ max_time = TIMER_MAXIMUM; + + errno = 0; + timer = strtoul(vector_slot(strvec, index), &endptr, 10); +- *res = (timer > TIMER_MAX ? TIMER_MAX : timer) * TIMER_HZ; ++ *res = (timer > TIMER_MAXIMUM ? TIMER_MAXIMUM : timer) * TIMER_HZ; + + if (FMT_STR_VSLOT(strvec, index)[0] == '-') + report_config_error(CONFIG_INVALID_NUMBER, "%snegative number '%s'", warn, FMT_STR_VSLOT(strvec, index)); + else if (*endptr) + report_config_error(CONFIG_INVALID_NUMBER, "%sinvalid number '%s'", warn, FMT_STR_VSLOT(strvec, index)); +- else if (errno == ERANGE || timer > TIMER_MAX) ++ else if (errno == ERANGE || timer > TIMER_MAXIMUM) + report_config_error(CONFIG_INVALID_NUMBER, "%snumber '%s' outside timer range", warn, FMT_STR_VSLOT(strvec, index)); + else if (timer < min_time || timer > max_time) +- report_config_error(CONFIG_INVALID_NUMBER, "number '%s' outside range [%ld, %ld]", FMT_STR_VSLOT(strvec, index), min_time, max_time ? max_time : TIMER_MAX); ++ report_config_error(CONFIG_INVALID_NUMBER, "number '%s' outside range [%ld, %ld]", FMT_STR_VSLOT(strvec, index), min_time, max_time ? max_time : TIMER_MAXIMUM); + else + return true; + +diff --git a/lib/parser.h b/lib/parser.h +index 88a74474a..291aa8ffe 100644 +--- a/lib/parser.h ++++ b/lib/parser.h +@@ -38,7 +38,7 @@ + #define MAXBUF 1024 + + /* Maximum time read_timer can return */ +-#define TIMER_MAX (ULONG_MAX / TIMER_HZ) ++#define TIMER_MAXIMUM (ULONG_MAX / TIMER_HZ) + + /* Configuration test errors. These should be in decreasing order of severity */ + typedef enum { diff --git a/package/keepalived/0001-configure.ac-do-not-force-PIE.patch b/package/keepalived/0001-configure.ac-do-not-force-PIE.patch deleted file mode 100644 index b51a4e334b..0000000000 --- a/package/keepalived/0001-configure.ac-do-not-force-PIE.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4da31a615412e15f7658d21770708e8084be149c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 4 Apr 2018 22:29:45 +0200 -Subject: [PATCH] configure.ac: do not force PIE - -PIE is not necessarily supported on all architectures, so leave it up -to the user to pass the appropriate CFLAGS/LDFLAGS if he wants to use -PIE. - -This fixes the build on the m68k and Microblaze architecture: - - http://autobuild.buildroot.net/results/a536f5947b3b70fdaecad1af5542572c504ad046/ - http://autobuild.buildroot.net/results/0ffbf1e8d181c9463847a5b2be6f9baa18face24/ - -Signed-off-by: Thomas Petazzoni -Upstream-status: https://github.com/acassen/keepalived/pull/830 ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index c344f07e..06545c91 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -233,8 +233,8 @@ AC_SUBST(ARFLAGS) - # AC_PROG_LIBTOOL - - KA_CPPFLAGS="$kernelinc" --KA_CFLAGS="-Wall -Wunused -Wstrict-prototypes -Wextra -g -O2 -fPIE -D_GNU_SOURCE" --KA_LDFLAGS="-pie" -+KA_CFLAGS="-Wall -Wunused -Wstrict-prototypes -Wextra -g -O2 -D_GNU_SOURCE" -+KA_LDFLAGS="" - KA_LIBS= - NEED_LIBDL=No - #KA_LIBTOOLFLAGS = --- -2.14.3 - diff --git a/package/keepalived/0002-Fix-order-of-include-files-in-configure-COLLISION-test.patch b/package/keepalived/0002-Fix-order-of-include-files-in-configure-COLLISION-test.patch new file mode 100644 index 0000000000..76c88a76bf --- /dev/null +++ b/package/keepalived/0002-Fix-order-of-include-files-in-configure-COLLISION-test.patch @@ -0,0 +1,38 @@ +From e4dd33f16fe56d09c8d59d1254a4ed1d8e9bb29c Mon Sep 17 00:00:00 2001 +From: Quentin Armitage +Date: Thu, 6 Dec 2018 12:16:08 +0000 +Subject: [PATCH] Fix order of include files in configure COLLISION test + +Since Linux 4.4.11 (commit 1575c09) including linux/if.h after +net/if.h works, whereas until glibc fix their headers including +net/if.h after linux/if.h causes compiler redefinition errors. + +Unfortunately the test for the collision was done the wrong way +round, as identified in issue #1079. The patch included in the +issue report corrects the order of inclusion of the header files. + +What we should do is ensure that glibc header files are included +before Linux header files, so that at least if kernel headers from +4.4.11 onwards are used, the conflict will not occur. + +Signed-off-by: Quentin Armitage +Signed-off-by: Fabrice Fontaine +[Retrieved from: https://github.com/acassen/keepalived/commit/e4dd33f16fe56d09c8d59d1254a4ed1d8e9bb29c] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 7a2e8ce1..9badcc62 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1349,8 +1349,8 @@ AC_MSG_CHECKING([for linux/if.h and net/if.h namespace collision]) + SAV_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $kernelinc" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +- #include + #include ++ #include + ]])], + [ + AC_MSG_RESULT([no]) diff --git a/package/keepalived/Config.in b/package/keepalived/Config.in index 0140e62ae2..c71821545c 100644 --- a/package/keepalived/Config.in +++ b/package/keepalived/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_KEEPALIVED depends on !BR2_STATIC_LIBS # uses libdl depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_POPT help The main goal of the keepalived project is to add a strong & robust keepalive facility to the Linux Virtual Server diff --git a/package/keepalived/keepalived.hash b/package/keepalived/keepalived.hash index ed7d2fb0a0..3ad3e6e6ac 100644 --- a/package/keepalived/keepalived.hash +++ b/package/keepalived/keepalived.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4e2d7cc01a6ee29a3955f5c622d47704ba7d9dd758189f15e9def016a2d1faa3 keepalived-1.4.2.tar.gz +sha256 40e0e55afed9ca313d621a9c5878579696fafb5504dab521aadaf20ba6e7f597 keepalived-2.0.10.tar.gz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/keepalived/keepalived.mk b/package/keepalived/keepalived.mk index e8a280a19c..4f6db01722 100644 --- a/package/keepalived/keepalived.mk +++ b/package/keepalived/keepalived.mk @@ -4,14 +4,28 @@ # ################################################################################ -KEEPALIVED_VERSION = 1.4.2 +KEEPALIVED_VERSION = 2.0.10 KEEPALIVED_SITE = http://www.keepalived.org/software -KEEPALIVED_DEPENDENCIES = host-pkgconf openssl popt +KEEPALIVED_DEPENDENCIES = host-pkgconf openssl KEEPALIVED_LICENSE = GPL-2.0+ KEEPALIVED_LICENSE_FILES = COPYING -# 0001-configure.ac-do-not-force-PIE.patch +KEEPALIVED_CONF_OPTS = --disable-hardening +# We're patching configure.ac KEEPALIVED_AUTORECONF = YES + +ifeq ($(BR2_PACKAGE_JSON_C),y) +KEEPALIVED_DEPENDENCIES += json-c +KEEPALIVED_CONF_OPTS += --enable-json +else +KEEPALIVED_CONF_OPTS += --disable-json +endif + +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) +KEEPALIVED_DEPENDENCIES += libglib2 +KEEPALIVED_CONF_OPTS += --enable-dbus +else KEEPALIVED_CONF_OPTS += --disable-dbus +endif ifeq ($(BR2_PACKAGE_LIBNL)$(BR2_PACKAGE_LIBNFNETLINK),yy) KEEPALIVED_DEPENDENCIES += libnl libnfnetlink diff --git a/package/kexec/Config.in b/package/kexec/Config.in index c8cdea5663..410e503d9e 100644 --- a/package/kexec/Config.in +++ b/package/kexec/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_KEXEC bool "kexec" depends on BR2_i386 || BR2_x86_64 || BR2_arm || BR2_armeb || \ BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el || \ - BR2_powerpc || BR2_sh4 || BR2_sh4a || BR2_aarch64 + BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ + BR2_sh4 || BR2_sh4a || BR2_aarch64 help Kexec is a user space utility for loading another kernel and asking the currently running kernel to do something with diff --git a/package/kexec/kexec.hash b/package/kexec/kexec.hash index 24294909ee..f87692b689 100644 --- a/package/kexec/kexec.hash +++ b/package/kexec/kexec.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kexec/sha256sums.asc -sha256 504c816b769da573167b63f3b6d4fce3740f231c98d8db0c4fda47a4b90482a9 kexec-tools-2.0.17.tar.xz +sha256 f020f07341977eb512663e301c2de60c6589e141467c16a8efd58243c0b2b238 kexec-tools-2.0.18.tar.xz # locally calculated sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING diff --git a/package/kexec/kexec.mk b/package/kexec/kexec.mk index b0f4367ddd..b011c0b4e5 100644 --- a/package/kexec/kexec.mk +++ b/package/kexec/kexec.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEXEC_VERSION = 2.0.17 +KEXEC_VERSION = 2.0.18 KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.xz KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kexec KEXEC_LICENSE = GPL-2.0 diff --git a/package/keyutils/0001-fix-install-rule.patch b/package/keyutils/0001-fix-install-rule.patch index 3670d28e66..26545716cb 100644 --- a/package/keyutils/0001-fix-install-rule.patch +++ b/package/keyutils/0001-fix-install-rule.patch @@ -6,15 +6,17 @@ the host library. Based on the former patch by Yann E. MORIN. Signed-off-by: Vicente Olivert Riera +[baruch: update for 1.6] +Signed-off-by: Baruch Siach --- keyutils-1.5.9/Makefile.orig 2014-09-22 16:13:41.593562765 +0100 +++ keyutils-1.5.9/Makefile 2014-09-22 16:14:05.377963952 +0100 -@@ -168,7 +168,7 @@ ifeq ($(NO_SOLIB),0) +@@ -184,7 +184,7 @@ ifeq ($(NO_SOLIB),0) $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) mkdir -p $(DESTDIR)$(USRLIBDIR) - $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) + $(LNS) $(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) - endif - $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl - $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key + sed \ + -e 's,@VERSION\@,$(VERSION),g' \ + -e 's,@prefix\@,$(PREFIX),g' \ diff --git a/package/keyutils/0003-Add-missing-limits.h-include.patch b/package/keyutils/0003-Add-missing-limits.h-include.patch deleted file mode 100644 index 45c84398f9..0000000000 --- a/package/keyutils/0003-Add-missing-limits.h-include.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b2c6d3744dca029560d0d5e780f16561f8eeed53 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 12 Jul 2015 16:22:14 +0200 -Subject: [PATCH] Add missing include -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -key.dns_resolver.c uses ‘UINT_MAX’ and ‘ULONG_MAX’, but forgets to -include , which causes build failure with certain C -libraries (notably the musl C library). - -Signed-off-by: Thomas Petazzoni ---- - key.dns_resolver.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/key.dns_resolver.c b/key.dns_resolver.c -index c2a9fe5..d41e219 100644 ---- a/key.dns_resolver.c -+++ b/key.dns_resolver.c -@@ -56,6 +56,7 @@ - #include - #include - #include -+#include - - static const char *DNS_PARSE_VERSION = "1.0"; - static const char prog[] = "key.dns_resolver"; --- -2.4.5 - diff --git a/package/keyutils/keyutils.hash b/package/keyutils/keyutils.hash index b14b7bec13..d6781628cd 100644 --- a/package/keyutils/keyutils.hash +++ b/package/keyutils/keyutils.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 115c3deae7f181778fd0e0ffaa2dad1bf1fe2f5677cf2e0e348cdb7a1c93afb6 keyutils-1.5.10.tar.bz2 +sha256 d3aef20cec0005c0fa6b4be40079885567473185b1a57b629b030e67942c7115 keyutils-1.6.tar.bz2 +sha256 f46409d4822b2457b39bbd0e7881eecb396130eb8320b7748fa7e9488970aa6d LICENCE.GPL +sha256 0d15593e3a8ad90917f8509b5ac1e4b5e5d196434a68029aa9dc0858a4a4c521 LICENCE.LGPL diff --git a/package/keyutils/keyutils.mk b/package/keyutils/keyutils.mk index 048b6894d3..c8de3a0dfc 100644 --- a/package/keyutils/keyutils.mk +++ b/package/keyutils/keyutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEYUTILS_VERSION = 1.5.10 +KEYUTILS_VERSION = 1.6 KEYUTILS_SOURCE = keyutils-$(KEYUTILS_VERSION).tar.bz2 KEYUTILS_SITE = http://people.redhat.com/~dhowells/keyutils KEYUTILS_LICENSE = GPL-2.0+, LGPL-2.1+ diff --git a/package/kf5/Config.in b/package/kf5/Config.in index 075b246269..2e50bce49e 100644 --- a/package/kf5/Config.in +++ b/package/kf5/Config.in @@ -8,6 +8,7 @@ menuconfig BR2_PACKAGE_KF5 if BR2_PACKAGE_KF5 source "package/kf5/kf5-extra-cmake-modules/Config.in" +source "package/kf5/kf5-kcoreaddons/Config.in" source "package/kf5/kf5-modemmanager-qt/Config.in" source "package/kf5/kf5-networkmanager-qt/Config.in" endif diff --git a/package/kf5/kf5-kcoreaddons/Config.in b/package/kf5/kf5-kcoreaddons/Config.in new file mode 100644 index 0000000000..88fda03ee0 --- /dev/null +++ b/package/kf5/kf5-kcoreaddons/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_KF5_KCOREADDONS + bool "kf5-kcoreaddons" + select BR2_PACKAGE_KF5_EXTRA_CMAKE_MODULES + select BR2_PACKAGE_QT5TOOLS + select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS + help + KF5 is a set of Qt framework addons, extending Qt in + various ways, not only restricted in helping integration + in KDE. + + This package contains KCoreAddons, a set of classes built + on top of QtCore to perform various tasks. + + https://api.kde.org/frameworks/kcoreaddons/html/index.html diff --git a/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash new file mode 100644 index 0000000000..0cd8dcfc15 --- /dev/null +++ b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 40ff04757e4ac19bc8448940fe18886c894a2069865966cc865fc55ff67b0b46 kcoreaddons-5.47.0.tar.xz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk new file mode 100644 index 0000000000..6cf7a3d107 --- /dev/null +++ b/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# kf5-kcoreaddons +# +################################################################################ + +KF5_KCOREADDONS_VERSION = $(KF5_VERSION) +KF5_KCOREADDONS_SITE = $(KF5_SITE) +KF5_KCOREADDONS_SOURCE = kcoreaddons-$(KF5_KCOREADDONS_VERSION).tar.xz +KF5_KCOREADDONS_LICENSE = LGPL-2.1 +KF5_KCOREADDONS_LICENSE_FILES = COPYING.LIB + +KF5_KCOREADDONS_DEPENDENCIES = kf5-extra-cmake-modules qt5tools +KF5_KCOREADDONS_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk b/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk index 9bbeeaa760..20fbc102c6 100644 --- a/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk +++ b/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk @@ -13,4 +13,9 @@ KF5_MODEMMANAGER_QT_LICENSE_FILE = COPYING.LIB KF5_MODEMMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules modem-manager qt5base KF5_MODEMMANAGER_QT_INSTALL_STAGING = YES +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +KF5_MODEMMANAGER_QT_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +endif + $(eval $(cmake-package)) diff --git a/package/kmod/0002-shared-util.c-assert_cc-can-only-be-used-inside-func.patch b/package/kmod/0002-shared-util.c-assert_cc-can-only-be-used-inside-func.patch deleted file mode 100644 index 09fe252420..0000000000 --- a/package/kmod/0002-shared-util.c-assert_cc-can-only-be-used-inside-func.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 7cd698eb31059012305d8bb7516577c8cd383e32 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 3 Jun 2017 16:52:37 +0200 -Subject: [PATCH] shared/util.c: assert_cc() can only be used inside functions - -shared/macro.h has two versions of assert_cc, one that uses gcc -_Static_assert(), which requires recent enough gcc versions, and one -that uses a fake array to trigger a build error. The latter can only -work inside functions, so assert_cc() should only be used inside -functions. - -Fixes the following build failure when building kmod with old gcc -versions such as gcc 4.3.x: - -shared/util.c:52: error: expected identifier or '(' before 'do' -shared/util.c:52: error: expected identifier or '(' before 'while' - -Signed-off-by: Thomas Petazzoni ---- - shared/util.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/shared/util.c b/shared/util.c -index 9de080a..fd2028d 100644 ---- a/shared/util.c -+++ b/shared/util.c -@@ -49,8 +49,6 @@ static const struct kmod_ext { - { } - }; - --assert_cc(EAGAIN == EWOULDBLOCK); -- - /* string handling functions and memory allocations */ - /* ************************************************************************ */ - -@@ -201,6 +199,8 @@ ssize_t read_str_safe(int fd, char *buf, size_t buflen) - size_t todo = buflen - 1; - size_t done = 0; - -+ assert_cc(EAGAIN == EWOULDBLOCK); -+ - do { - ssize_t r = read(fd, buf + done, todo); - -@@ -226,6 +226,8 @@ ssize_t write_str_safe(int fd, const char *buf, size_t buflen) - size_t todo = buflen; - size_t done = 0; - -+ assert_cc(EAGAIN == EWOULDBLOCK); -+ - do { - ssize_t r = write(fd, buf + done, todo); - --- -2.7.4 - diff --git a/package/kmod/kmod.hash b/package/kmod/kmod.hash index be350c423a..0e8f034e06 100644 --- a/package/kmod/kmod.hash +++ b/package/kmod/kmod.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kmod/sha256sums.asc -sha256 610b8d1df172acc39a4fdf1eaa47a57b04873c82f32152e7a62e29b6ff9cb397 kmod-24.tar.xz +sha256 7165e6496656159dcb909a91ed708a0fe273a4b128b4b1dc997ccb5189eef1cd kmod-25.tar.xz diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk index 7c796ab19f..ea5d291133 100644 --- a/package/kmod/kmod.mk +++ b/package/kmod/kmod.mk @@ -4,7 +4,7 @@ # ################################################################################ -KMOD_VERSION = 24 +KMOD_VERSION = 25 KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod KMOD_INSTALL_STAGING = YES @@ -28,6 +28,10 @@ KMOD_CONF_OPTS = --disable-static --enable-shared KMOD_CONF_OPTS += --disable-manpages HOST_KMOD_CONF_OPTS = --disable-manpages +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +KMOD_CONF_OPTS += --with-bashcompletiondir=/usr/share/bash-completion/completions +endif + ifeq ($(BR2_PACKAGE_ZLIB),y) KMOD_DEPENDENCIES += zlib KMOD_CONF_OPTS += --with-zlib diff --git a/package/kmsxx/kmsxx.mk b/package/kmsxx/kmsxx.mk index dc0f8c17dc..c664d52361 100644 --- a/package/kmsxx/kmsxx.mk +++ b/package/kmsxx/kmsxx.mk @@ -12,12 +12,6 @@ KMSXX_INSTALL_STAGING = YES KMSXX_DEPENDENCIES = libdrm host-pkgconf KMSXX_CONF_OPTS = -DKMSXX_ENABLE_PYTHON=OFF -# Internal error, aborting at dw2gencfi.c:214 in emit_expr_encoded -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 -ifeq ($(BR2_m68k_cf),y) -KMSXX_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -fno-dwarf2-cfi-asm" -endif - ifeq ($(BR2_PACKAGE_KMSXX_INSTALL_TESTS),y) KMSXX_TESTS = \ fbtest kmsblank kmscapture \ diff --git a/package/kodi/0004-Fix-ffmpeg-build-for-mips.patch b/package/kodi/0004-Fix-ffmpeg-build-for-mips.patch new file mode 100644 index 0000000000..709a2d39da --- /dev/null +++ b/package/kodi/0004-Fix-ffmpeg-build-for-mips.patch @@ -0,0 +1,43 @@ +From e3882a7d6c2e47731c0435d0faa3594041d58a2c Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 12 Aug 2018 15:12:29 +0200 +Subject: [PATCH] Fix ffmpeg build for mips + +Backported from upstream master branch: +https://github.com/xbmc/xbmc/commit/71e09dd1ac66059e31e6240352da7091d820ef83 + +Signed-off-by: Bernd Kuhls +--- + tools/depends/target/ffmpeg/CMakeLists.txt | 2 +- + tools/depends/target/ffmpeg/Makefile | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/depends/target/ffmpeg/CMakeLists.txt b/tools/depends/target/ffmpeg/CMakeLists.txt +index 0a9e9d38ea..fda6b0cac4 100644 +--- a/tools/depends/target/ffmpeg/CMakeLists.txt ++++ b/tools/depends/target/ffmpeg/CMakeLists.txt +@@ -63,7 +63,7 @@ endif() + if(CPU MATCHES arm OR CORE_SYSTEM_NAME STREQUAL rbpi) + list(APPEND ffmpeg_conf --enable-pic --disable-armv5te --disable-armv6t2) + elseif(CPU MATCHES mips) +- list(APPEND ffmpeg_conf --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2) ++ list(APPEND ffmpeg_conf --disable-mips32r2 --disable-mipsdsp --disable-mipsdspr2) + endif() + + find_package(GnuTls) +diff --git a/tools/depends/target/ffmpeg/Makefile b/tools/depends/target/ffmpeg/Makefile +index ea1113d293..098f6c0c14 100644 +--- a/tools/depends/target/ffmpeg/Makefile ++++ b/tools/depends/target/ffmpeg/Makefile +@@ -58,7 +58,7 @@ ifeq ($(findstring arm, $(CPU)), arm) + ffmpg_config += --enable-pic --disable-armv5te --disable-armv6t2 + endif + ifeq ($(findstring mips, $(CPU)), mips) +- ffmpg_config += --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 ++ ffmpg_config += --disable-mips32r2 --disable-mipsdsp --disable-mipsdspr2 + endif + ifeq ($(Configuration), Release) + ffmpg_config += --disable-debug +-- +2.18.0 + diff --git a/package/kodi/0005-Fix-crosscompiling-issues.patch b/package/kodi/0005-Fix-crosscompiling-issues.patch new file mode 100644 index 0000000000..63f71cabe1 --- /dev/null +++ b/package/kodi/0005-Fix-crosscompiling-issues.patch @@ -0,0 +1,81 @@ +From d2c343a20bb61098d0450b15ea2d1dacd28d954a Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 12 Aug 2018 15:13:24 +0200 +Subject: [PATCH] Fix crosscompiling issues + +The codepath for KODI_DEPENDSBUILD needs to be used in order to provide +the correct crosscompiling options to ffmpeg. The CMake option +KODI_DEPENDSBUILD itself can not be enabled because it disables the +internal build of libdvd*. + +To link kodi.bin with the statically built ffmpeg libraries kodi uses +a wrapper script which calls pkgconfig. Our pkgconfig is patched to +alter paths which breaks the link command in this case, to fix this +PKG_CONFIG_SYSROOT_DIR was added. + +Also remove configure option --cpu from ffmpeg_conf to fix build +errors. + +Signed-off-by: Bernd Kuhls +--- + project/cmake/modules/FindFFMPEG.cmake | 16 +++++++--------- + tools/depends/target/ffmpeg/CMakeLists.txt | 2 +- + 2 files changed, 8 insertions(+), 10 deletions(-) + +diff --git a/project/cmake/modules/FindFFMPEG.cmake b/project/cmake/modules/FindFFMPEG.cmake +index 28cc80710e..1ac8793149 100644 +--- a/project/cmake/modules/FindFFMPEG.cmake ++++ b/project/cmake/modules/FindFFMPEG.cmake +@@ -233,16 +233,14 @@ if(NOT FFMPEG_FOUND) + message(STATUS "FFMPEG_URL: ${FFMPEG_URL}") + endif() + +- if(KODI_DEPENDSBUILD) + set(CROSS_ARGS -DDEPENDS_PATH=${DEPENDS_PATH} + -DPKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE} + -DCROSSCOMPILING=${CMAKE_CROSSCOMPILING} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +- -DOS=${OS} ++ -DOS=linux + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_AR=${CMAKE_AR}) +- endif() + + externalproject_add(ffmpeg + URL ${FFMPEG_URL} +@@ -270,12 +268,12 @@ if(NOT FFMPEG_FOUND) + "#!/bin/bash + if [[ $@ == *${APP_NAME_LC}.bin* || $@ == *${APP_NAME_LC}.so* || $@ == *${APP_NAME_LC}-test* ]] + then +- avformat=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavcodec` +- avcodec=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavformat` +- avfilter=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavfilter` +- avutil=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavutil` +- swscale=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswscale` +- swresample=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswresample` ++ avformat=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavcodec` ++ avcodec=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavformat` ++ avfilter=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavfilter` ++ avutil=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavutil` ++ swscale=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswscale` ++ swresample=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswresample` + gnutls=`PKG_CONFIG_PATH=${DEPENDS_PATH}/lib/pkgconfig/ ${PKG_CONFIG_EXECUTABLE} --libs-only-l --static --silence-errors gnutls` + $@ $avcodec $avformat $avcodec $avfilter $swscale $swresample -lpostproc $gnutls + else +diff --git a/tools/depends/target/ffmpeg/CMakeLists.txt b/tools/depends/target/ffmpeg/CMakeLists.txt +index fda6b0cac4..af3afa6b60 100644 +--- a/tools/depends/target/ffmpeg/CMakeLists.txt ++++ b/tools/depends/target/ffmpeg/CMakeLists.txt +@@ -9,7 +9,7 @@ set(ffmpeg_conf "") + if(CROSSCOMPILING) + set(pkgconf "PKG_CONFIG_LIBDIR=${DEPENDS_PATH}/lib/pkgconfig") + list(APPEND ffmpeg_conf --pkg-config=${PKG_CONFIG_EXECUTABLE} --pkg-config-flags=--static) +- list(APPEND ffmpeg_conf --enable-cross-compile --cpu=${CPU} --arch=${CPU} --target-os=${OS}) ++ list(APPEND ffmpeg_conf --enable-cross-compile --arch=${CPU} --target-os=${OS}) + list(APPEND ffmpeg_conf --cc=${CMAKE_C_COMPILER} --cxx=${CMAKE_CXX_COMPILER} --ar=${CMAKE_AR}) + message(STATUS "CROSS: ${ffmpeg_conf}") + endif() +-- +2.18.0 + diff --git a/package/kodi/Config.in b/package/kodi/Config.in index 5f9c95a7a0..279b4ead0d 100644 --- a/package/kodi/Config.in +++ b/package/kodi/Config.in @@ -15,21 +15,35 @@ comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, t || !BR2_PACKAGE_PYTHON \ || BR2_PACKAGE_PYTHON_PYC_ONLY -config BR2_PACKAGE_KODI_EGL_GLES +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS + bool + +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_AML bool default y - depends on BR2_PACKAGE_HAS_LIBEGL - depends on BR2_PACKAGE_HAS_LIBGLES - depends on !BR2_PACKAGE_KODI_GL_EGL # prefer GL if available + depends on BR2_PACKAGE_LIBAMCODEC + depends on BR2_PACKAGE_ODROID_MALI + select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS -config BR2_PACKAGE_KODI_GL_EGL +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI + bool + default y + # List of valid CPUs can be found here: + # https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L12 + depends on BR2_arm1176jzf_s || BR2_cortex_a7 || BR2_cortex_a53 + depends on BR2_PACKAGE_RPI_USERLAND + select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS + +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL bool default y depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS -comment "kodi needs an OpenGL EGL with either an openGL or an OpenGL ES backend" - depends on !BR2_PACKAGE_KODI_GL_EGL && !BR2_PACKAGE_KODI_EGL_GLES +comment "kodi needs an OpenGL EGL backend with OpenGL support" + depends on !BR2_PACKAGE_KODI_PLATFORM_SUPPORTS menuconfig BR2_PACKAGE_KODI bool "kodi" @@ -38,27 +52,23 @@ menuconfig BR2_PACKAGE_KODI depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_USES_MUSL - depends on BR2_PACKAGE_KODI_EGL_GLES || BR2_PACKAGE_KODI_GL_EGL depends on BR2_USE_WCHAR - depends on !BR2_STATIC_LIBS # python and others + depends on !BR2_STATIC_LIBS # gnutls, python and others depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS depends on BR2_PACKAGE_PYTHON depends on !BR2_PACKAGE_PYTHON_PYC_ONLY select BR2_NEEDS_HOST_JAVA select BR2_PACKAGE_BZIP2 select BR2_PACKAGE_EXPAT - select BR2_PACKAGE_FFMPEG - select BR2_PACKAGE_FFMPEG_GPL - select BR2_PACKAGE_FFMPEG_POSTPROC # postproc depends on GPL - select BR2_PACKAGE_FFMPEG_SWSCALE select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBASS select BR2_PACKAGE_LIBCDIO select BR2_PACKAGE_LIBCROSSGUID select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBFRIBIDI - select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_KODI_GL_EGL select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBPLIST select BR2_PACKAGE_LIBSAMPLERATE @@ -80,8 +90,6 @@ menuconfig BR2_PACKAGE_KODI select BR2_PACKAGE_SQLITE select BR2_PACKAGE_TAGLIB select BR2_PACKAGE_TINYXML - select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_KODI_GL_EGL - select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_KODI_GL_EGL select BR2_PACKAGE_YAJL select BR2_PACKAGE_ZLIB select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support @@ -190,6 +198,27 @@ config BR2_PACKAGE_KODI_NONFREE Enable components with non-free licenses. This option currently only controls support for RAR archives. +choice + prompt "platform" + default BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL + +config BR2_PACKAGE_KODI_PLATFORM_AML + bool "AMLogic" + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_AML + +config BR2_PACKAGE_KODI_PLATFORM_RBPI + bool "Raspberry Pi" + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI + +config BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL + bool "X11/OpenGL" + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_LIBGLU + select BR2_PACKAGE_XLIB_LIBXRANDR + +endchoice + config BR2_PACKAGE_KODI_PULSEAUDIO bool "pulseaudio" depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC @@ -240,25 +269,23 @@ config BR2_PACKAGE_KODI_LIBUSB config BR2_PACKAGE_KODI_LIBVA bool "va" - depends on BR2_PACKAGE_KODI_GL_EGL - depends on BR2_PACKAGE_XORG7 + depends on BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL select BR2_PACKAGE_LIBVA help Enable libva support. -comment "libva support needs X.org with an openGL backend" - depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_KODI_GL_EGL +comment "libva support needs platform 'X11/OpenGL'" + depends on !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL config BR2_PACKAGE_KODI_LIBVDPAU bool "vdpau" - depends on BR2_PACKAGE_KODI_GL_EGL - depends on BR2_PACKAGE_XORG7 + depends on BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL select BR2_PACKAGE_LIBVDPAU help Enable libvdpau support. -comment "libvdpau support needs X.org with an openGL backend" - depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_KODI_GL_EGL +comment "libvdpau support needs platform 'X11/OpenGL'" + depends on !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL config BR2_PACKAGE_KODI_UPNP bool "upnp" diff --git a/package/kodi/S50kodi b/package/kodi/S50kodi old mode 100755 new mode 100644 diff --git a/package/kodi/kodi.hash b/package/kodi/kodi.hash index 23a11ca494..8018c67a3a 100644 --- a/package/kodi/kodi.hash +++ b/package/kodi/kodi.hash @@ -1,5 +1,7 @@ # Locally computed sha256 c8312fe92e5bab1cdac1da93d60baed88fa1574146c50c44e3c86d01671c2b1d kodi-17.6-Krypton.tar.gz +# Locally computed - ffmpeg +sha256 7df8bce40765b39de5766ca9d08b5b9ac1f498c65c805c989461b907cee6b7c0 3.1.11-Krypton-17.5.tar.gz # Locally computed - libdvdcss sha256 b6eb2d929ff56cb051152c32010afc5e7cf5fe8c5ae32dca412a2b46b6b57e34 2f12236.tar.gz # Locally computed - libdvdnav diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk index f3fa0b55b0..590af15b7c 100644 --- a/package/kodi/kodi.mk +++ b/package/kodi/kodi.mk @@ -15,9 +15,9 @@ KODI_INSTALL_STAGING = YES KODI_DEPENDENCIES = \ bzip2 \ expat \ - ffmpeg \ fontconfig \ freetype \ + gnutls \ host-gawk \ host-gperf \ host-kodi-jsonschemabuilder \ @@ -47,11 +47,15 @@ KODI_DEPENDENCIES = \ KODI_SUBDIR = project/cmake +# taken from tools/depends/target/ffmpeg/FFMPEG-VERSION +KODI_FFMPEG_VERSION = 3.1.11-Krypton-17.5 +KODI_EXTRA_DOWNLOADS += \ + https://github.com/xbmc/FFmpeg/archive/$(KODI_FFMPEG_VERSION).tar.gz + KODI_LIBDVDCSS_VERSION = 2f12236 KODI_LIBDVDNAV_VERSION = 981488f KODI_LIBDVDREAD_VERSION = 17d99db - -KODI_EXTRA_DOWNLOADS = \ +KODI_EXTRA_DOWNLOADS += \ https://github.com/xbmc/libdvdcss/archive/$(KODI_LIBDVDCSS_VERSION).tar.gz \ https://github.com/xbmc/libdvdnav/archive/$(KODI_LIBDVDNAV_VERSION).tar.gz \ https://github.com/xbmc/libdvdread/archive/$(KODI_LIBDVDREAD_VERSION).tar.gz @@ -62,12 +66,12 @@ KODI_CONF_OPTS += \ -DENABLE_CCACHE=OFF \ -DENABLE_DVDCSS=ON \ -DENABLE_INTERNAL_CROSSGUID=OFF \ - -DENABLE_INTERNAL_FFMPEG=OFF \ + -DENABLE_INTERNAL_FFMPEG=ON \ + -DFFMPEG_URL=$(KODI_DL_DIR)/$(KODI_FFMPEG_VERSION).tar.gz \ -DKODI_DEPENDSBUILD=OFF \ -DENABLE_OPENSSL=ON \ -DNATIVEPREFIX=$(HOST_DIR) \ - -DDEPENDS_PATH=$(@D) \ - -DWITH_FFMPEG=$(STAGING_DIR)/usr \ + -DDEPENDS_PATH=$(STAGING_DIR)/usr \ -DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/TexturePacker \ -DLIBDVDCSS_URL=$(KODI_DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \ -DLIBDVDNAV_URL=$(KODI_DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \ @@ -78,13 +82,11 @@ ifeq ($(BR2_ENABLE_LOCALE),) KODI_DEPENDENCIES += libiconv endif -ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) -KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi -KODI_DEPENDENCIES += rpi-userland +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y) # These CPU-specific options are only used on rbpi: # https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L13 ifeq ($(BR2_arm1176jzf_s)$(BR2_cortex_a7)$(BR2_cortex_a53),y) -KODI_CONF_OPTS += -DWITH_CPU=$(BR2_GCC_TARGET_CPU) +KODI_CONF_OPTS += -DWITH_CPU="$(GCC_TARGET_CPU)" endif else ifeq ($(BR2_arceb)$(BR2_arcle),y) @@ -161,6 +163,39 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) KODI_CXX_FLAGS += -latomic endif +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_AML),y) +KODI_CONF_OPTS += -DENABLE_AML=ON -DENABLE_OPENGLES=ON +# The following line can be removed when bumping to 18.0-Leia, +# see upstream PR 13425 +KODI_CXX_FLAGS += -DMESA_EGL_NO_X11_HEADERS +KODI_DEPENDENCIES += libamcodec odroid-mali +else +KODI_CONF_OPTS += -DENABLE_AML=OFF +endif + +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y) +KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi -DENABLE_OPENGLES=ON +KODI_DEPENDENCIES += rpi-userland +else +# Kodi considers "rpbi" and "linux" as two separate platforms. The +# below options, defined in +# project/cmake/scripts/linux/ArchSetup.cmake are only valid for the +# "linux" platforms. The "rpbi" platform has a different set of +# options, defined in project/cmake/scripts/rbpi/ +KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF +endif + +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL),y) +KODI_CONF_OPTS += \ + -DENABLE_OPENGL=ON \ + -DENABLE_OPENGLES=OFF \ + -DENABLE_X11=ON +KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \ + xlib_libXrandr libdrm +else +KODI_CONF_OPTS += -DENABLE_OPENGL=OFF -DENABLE_X11=OFF +endif + ifeq ($(BR2_PACKAGE_KODI_MYSQL),y) KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=ON KODI_DEPENDENCIES += mysql @@ -176,24 +211,6 @@ else KODI_CONF_OPTS += -DENABLE_NONFREE=OFF endif -ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) -KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi -KODI_DEPENDENCIES += rpi-userland -else -# Kodi considers "rpbi" and "linux" as two separate platforms. The -# below options, defined in -# project/cmake/scripts/linux/ArchSetup.cmake are only valid for the -# "linux" platforms. The "rpbi" platform has a different set of -# options, defined in project/cmake/scripts/rbpi/ -KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF -ifeq ($(BR2_PACKAGE_LIBAMCODEC),y) -KODI_CONF_OPTS += -DENABLE_AML=ON -KODI_DEPENDENCIES += libamcodec -else -KODI_CONF_OPTS += -DENABLE_AML=OFF -endif -endif - ifeq ($(BR2_PACKAGE_HAS_UDEV),y) KODI_CONF_OPTS += -DENABLE_UDEV=ON KODI_DEPENDENCIES += udev @@ -246,24 +263,6 @@ else KODI_CONF_OPTS += -DENABLE_ALSA=OFF endif -ifeq ($(BR2_PACKAGE_KODI_GL_EGL),y) -KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \ - xlib_libXrandr libdrm -KODI_CONF_OPTS += -DENABLE_OPENGL=ON -DENABLE_X11=ON -DENABLE_OPENGLES=OFF -else -KODI_CONF_OPTS += -DENABLE_OPENGL=OFF -DENABLE_X11=OFF -endif - -ifeq ($(BR2_PACKAGE_KODI_EGL_GLES),y) -KODI_DEPENDENCIES += libegl libgles -KODI_CONF_OPTS += \ - -DENABLE_OPENGLES=ON -KODI_C_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl` -KODI_CXX_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl` -else -KODI_CONF_OPTS += -DENABLE_OPENGLES=OFF -endif - ifeq ($(BR2_PACKAGE_KODI_LIBMICROHTTPD),y) KODI_CONF_OPTS += -DENABLE_MICROHTTPD=ON KODI_DEPENDENCIES += libmicrohttpd diff --git a/package/kvm-unit-tests/kvm-unit-tests.mk b/package/kvm-unit-tests/kvm-unit-tests.mk index 54614e2643..92d67fb34b 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.mk +++ b/package/kvm-unit-tests/kvm-unit-tests.mk @@ -28,7 +28,7 @@ endif KVM_UNIT_TESTS_CONF_OPTS =\ --arch="$(KVM_UNIT_TESTS_ARCH)" \ - --processor="$(call qstrip,$(BR2_GCC_TARGET_CPU))" \ + --processor="$(GCC_TARGET_CPU)" \ --endian="$(KVM_UNIT_TESTS_ENDIAN)" # For all architectures but x86-64, we use the target diff --git a/package/lbase64/Config.in b/package/lbase64/Config.in index 34ef943aac..c836ffb5e2 100644 --- a/package/lbase64/Config.in +++ b/package/lbase64/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LBASE64 bool "lbase64" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help A base64 library for Lua diff --git a/package/lcdapi/lcdapi.mk b/package/lcdapi/lcdapi.mk index f7c71dfd32..b27abcdbf2 100644 --- a/package/lcdapi/lcdapi.mk +++ b/package/lcdapi/lcdapi.mk @@ -11,12 +11,6 @@ LCDAPI_LICENSE_FILES = COPYING LCDAPI_AUTORECONF = YES LCDAPI_INSTALL_STAGING = YES -# Internal error, aborting at dw2gencfi.c:214 in emit_expr_encoded -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 -ifeq ($(BR2_m68k_cf),y) -LCDAPI_CONF_OPTS += CXXFLAGS="$(TARGET_CXXFLAGS) -fno-dwarf2-cfi-asm" -endif - define LCDAPI_CREATE_M4_DIR mkdir -p $(@D)/m4 endef diff --git a/package/lcdproc/lcdproc.mk b/package/lcdproc/lcdproc.mk index e5b6172b15..96e59da409 100644 --- a/package/lcdproc/lcdproc.mk +++ b/package/lcdproc/lcdproc.mk @@ -18,7 +18,9 @@ endif LCDPROC_DEPENDENCIES = freetype ncurses zlib -LCDPROC_CONF_ENV += ac_cv_path_FT2_CONFIG=$(STAGING_DIR)/usr/bin/freetype-config +LCDPROC_CONF_ENV += \ + ac_cv_mtab_file=/etc/mtab \ + ac_cv_path_FT2_CONFIG=$(STAGING_DIR)/usr/bin/freetype-config ifeq ($(BR2_PACKAGE_LIBPNG),y) LCDPROC_DEPENDENCIES += libpng diff --git a/package/leptonica/leptonica.hash b/package/leptonica/leptonica.hash index f67f2b88fd..14c750c2c2 100644 --- a/package/leptonica/leptonica.hash +++ b/package/leptonica/leptonica.hash @@ -1,2 +1,3 @@ # locally computed hash -sha256 29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b leptonica-1.74.4.tar.gz +sha256 dd7990ab6b6824b0cfed70920824d37b47184240f98db4085f7dbf1250cd4899 leptonica-1.77.0.tar.gz +sha256 ca0ac11c7c0acad9599d54990942cc11c9f6d9b569f1a360d774a628819c3518 leptonica-license.txt diff --git a/package/leptonica/leptonica.mk b/package/leptonica/leptonica.mk index 6a958a3564..7c6fa12bbe 100644 --- a/package/leptonica/leptonica.mk +++ b/package/leptonica/leptonica.mk @@ -4,7 +4,7 @@ # ################################################################################ -LEPTONICA_VERSION = 1.74.4 +LEPTONICA_VERSION = 1.77.0 LEPTONICA_SITE = http://www.leptonica.org/source LEPTONICA_LICENSE = BSD-2-Clause LEPTONICA_LICENSE_FILES = leptonica-license.txt diff --git a/package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch b/package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch new file mode 100644 index 0000000000..dce06ec725 --- /dev/null +++ b/package/leveldb/0003-Generate-position-independant-code-for-static-librar.patch @@ -0,0 +1,52 @@ +From 6ed1b57ef6bcee0d497c181730710b2b0fafbfb3 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= +Date: Fri, 31 Aug 2018 12:23:46 -0400 +Subject: [PATCH] Generate position independant code for static library +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +Currently, only shared libraries are using the PIC flag. + +Generalize this flag for static libraries in order to let them linkable +by dynamic libraries. + +Fixes: + + /home/gportay/src/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-amd-linux-gnu/6.2.0/../../../../x86_64-amd-linux-gnu/bin/ld: /home/gportay/src/buildroot/output/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libmemenv.a(memenv.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC + /home/gportay/src/buildroot/output/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libmemenv.a: error adding symbols: Bad value + collect2: error: ld returned 1 exit status + +Upstream-Status: Inappropriate [upstream has migrated to cmake] +Signed-off-by: Gaël PORTAY +--- + build_detect_platform | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/build_detect_platform b/build_detect_platform +index d2a20ce..4839444 100755 +--- a/build_detect_platform ++++ b/build_detect_platform +@@ -55,8 +55,8 @@ fi + + COMMON_FLAGS= + CROSS_COMPILE= +-PLATFORM_CCFLAGS= +-PLATFORM_CXXFLAGS= ++PLATFORM_CCFLAGS="-fPIC" ++PLATFORM_CXXFLAGS="-fPIC" + PLATFORM_LDFLAGS= + PLATFORM_LIBS= + PLATFORM_SHARED_EXT="so" +@@ -197,7 +197,7 @@ else + EOF + if [ "$?" = 0 ]; then + COMMON_FLAGS="$COMMON_FLAGS -DLEVELDB_PLATFORM_POSIX -DLEVELDB_ATOMIC_PRESENT" +- PLATFORM_CXXFLAGS="-std=c++0x" ++ PLATFORM_CXXFLAGS="$PLATFORM_CXXFLAGS -std=c++0x" + else + COMMON_FLAGS="$COMMON_FLAGS -DLEVELDB_PLATFORM_POSIX" + fi +-- +2.18.0 + diff --git a/package/leveldb/0003-fix-parallel-build.patch b/package/leveldb/0003-fix-parallel-build.patch deleted file mode 100644 index 8aafbc2e02..0000000000 --- a/package/leveldb/0003-fix-parallel-build.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 293e1b08317567b2e479d24530986676ae4d2221 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 8 Oct 2018 23:08:19 +0200 -Subject: [PATCH] fix parallel build - -Build of leveldb sometimes fails on: -Fatal error: can't create out-shared/db/db_bench.o: No such file or directory - -Fix this, by creating $(SHARED_OUTDIR) before building -(SHARED_OUTDIR)/db/db_bench.o - -Fixes: - - http://autobuild.buildroot.net/results/945bb8096c1f98f307161a6def5a9f7f25b2454a - -Signed-off-by: Fabrice Fontaine -[Upstream status: not upstreamable as upstream switched to cmake] ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index f7cc7d7..edb56a5 100644 ---- a/Makefile -+++ b/Makefile -@@ -386,7 +386,7 @@ $(STATIC_OUTDIR)/write_batch_test:db/write_batch_test.cc $(STATIC_LIBOBJECTS) $( - $(STATIC_OUTDIR)/memenv_test:$(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) - $(XCRUN) $(CXX) $(LDFLAGS) $(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) -o $@ $(LIBS) - --$(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL) -+$(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR) $(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL) - $(XCRUN) $(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SHARED_OUTDIR)/db/db_bench.o $(TESTUTIL) $(SHARED_OUTDIR)/$(SHARED_LIB3) -o $@ $(LIBS) - - .PHONY: run-shared --- -2.17.1 - diff --git a/package/leveldb/leveldb.mk b/package/leveldb/leveldb.mk index 54942a0f27..6078cd496c 100644 --- a/package/leveldb/leveldb.mk +++ b/package/leveldb/leveldb.mk @@ -17,18 +17,20 @@ LEVELDB_MAKE_ARGS += SHARED_LIBS= SHARED_PROGRAMS= endif define LEVELDB_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) \ $(LEVELDB_MAKE_ARGS) -C $(@D) endef define LEVELDB_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) \ + $(TARGET_MAKE_ENV) $(MAKE1) \ INSTALL_ROOT=$(STAGING_DIR) INSTALL_PREFIX=/usr \ $(LEVELDB_MAKE_ARGS) -C $(@D) install + $(INSTALL) -D -m 0644 $(@D)/out-static/libmemenv.a $(STAGING_DIR)/usr/lib/libmemenv.a + $(INSTALL) -D -m 0644 $(@D)/helpers/memenv/memenv.h $(STAGING_DIR)/usr/include/helpers/memenv/memenv.h endef define LEVELDB_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) \ + $(TARGET_MAKE_ENV) $(MAKE1) \ INSTALL_ROOT=$(TARGET_DIR) INSTALL_PREFIX=/usr \ $(LEVELDB_MAKE_ARGS) -C $(@D) install endef diff --git a/package/lftp/lftp.hash b/package/lftp/lftp.hash index 7828cca9c1..64aba12b24 100644 --- a/package/lftp/lftp.hash +++ b/package/lftp/lftp.hash @@ -1,7 +1,7 @@ -# From http://lftp.yar.ru/ftp/lftp-4.8.3.md5sum -md5 8beb3d814d60f52ac70cffd6dff23d85 lftp-4.8.3.tar.xz +# From http://lftp.yar.ru/ftp/lftp-4.8.4.md5sum +md5 b75c43797e817529d486be640232d708 lftp-4.8.4.tar.xz # Locally calculated after checking gpg signature -sha256 de7aee451afaa1aa391f7076b5f602922c2da0e05524a8d8fea413eda83cc78b lftp-4.8.3.tar.xz +sha256 4ebc271e9e5cea84a683375a0f7e91086e5dac90c5d51bb3f169f75386107a62 lftp-4.8.4.tar.xz # Hash for license file: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/lftp/lftp.mk b/package/lftp/lftp.mk index 68f3dfce2c..93a0bf5c32 100644 --- a/package/lftp/lftp.mk +++ b/package/lftp/lftp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LFTP_VERSION = 4.8.3 +LFTP_VERSION = 4.8.4 LFTP_SOURCE = lftp-$(LFTP_VERSION).tar.xz LFTP_SITE = http://lftp.yar.ru/ftp LFTP_LICENSE = GPL-3.0+ diff --git a/package/libaio/0001-arches.patch b/package/libaio/0001-arches.patch deleted file mode 100644 index 4b77f57768..0000000000 --- a/package/libaio/0001-arches.patch +++ /dev/null @@ -1,249 +0,0 @@ -Patch borrowed from OpenEmbedded, available at -/meta/recipes-extended/libaio/libaio/00_arches.patch in their source -tree. This patch has been modified to only add the MIPS definitions. - -The patch adds MIPS specific definitions (syscall number and macros). - -Signed-off-by: Alistair Francis - -Index: libaio-0.3.110/src/syscall.h -=================================================================== ---- libaio-0.3.110.orig/src/syscall.h -+++ libaio-0.3.110/src/syscall.h -@@ -28,6 +28,8 @@ - #include "syscall-sparc.h" - #elif defined(__aarch64__) - #include "syscall-arm64.h" -+#elif defined(__mips__) -+#include "syscall-mips.h" - #else - #warning "using generic syscall method" - #include "syscall-generic.h" -Index: libaio-0.3.110/src/syscall-mips.h -=================================================================== ---- /dev/null -+++ libaio-0.3.110/src/syscall-mips.h -@@ -0,0 +1,223 @@ -+/* -+ * This file is subject to the terms and conditions of the GNU General Public -+ * License. See the file "COPYING" in the main directory of this archive -+ * for more details. -+ * -+ * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle -+ * Copyright (C) 1999, 2000 Silicon Graphics, Inc. -+ * -+ * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto -+ * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A -+ */ -+ -+#ifndef _MIPS_SIM_ABI32 -+#define _MIPS_SIM_ABI32 1 -+#define _MIPS_SIM_NABI32 2 -+#define _MIPS_SIM_ABI64 3 -+#endif -+ -+#if _MIPS_SIM == _MIPS_SIM_ABI32 -+ -+/* -+ * Linux o32 style syscalls are in the range from 4000 to 4999. -+ */ -+#define __NR_Linux 4000 -+#define __NR_io_setup (__NR_Linux + 241) -+#define __NR_io_destroy (__NR_Linux + 242) -+#define __NR_io_getevents (__NR_Linux + 243) -+#define __NR_io_submit (__NR_Linux + 244) -+#define __NR_io_cancel (__NR_Linux + 245) -+ -+#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ -+ -+#if _MIPS_SIM == _MIPS_SIM_ABI64 -+ -+/* -+ * Linux 64-bit syscalls are in the range from 5000 to 5999. -+ */ -+#define __NR_Linux 5000 -+#define __NR_io_setup (__NR_Linux + 200) -+#define __NR_io_destroy (__NR_Linux + 201) -+#define __NR_io_getevents (__NR_Linux + 202) -+#define __NR_io_submit (__NR_Linux + 203) -+#define __NR_io_cancel (__NR_Linux + 204) -+#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ -+ -+#if _MIPS_SIM == _MIPS_SIM_NABI32 -+ -+/* -+ * Linux N32 syscalls are in the range from 6000 to 6999. -+ */ -+#define __NR_Linux 6000 -+#define __NR_io_setup (__NR_Linux + 200) -+#define __NR_io_destroy (__NR_Linux + 201) -+#define __NR_io_getevents (__NR_Linux + 202) -+#define __NR_io_submit (__NR_Linux + 203) -+#define __NR_io_cancel (__NR_Linux + 204) -+#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ -+ -+#define io_syscall1(type,fname,sname,atype,a) \ -+type fname(atype a) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a3 asm("$7"); \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %3\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "=r" (__a3) \ -+ : "r" (__a0), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#define io_syscall2(type,fname,sname,atype,a,btype,b) \ -+type fname(atype a, btype b) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a3 asm("$7"); \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %4\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "=r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \ -+type fname(atype a, btype b, ctype c) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7"); \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %5\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "=r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \ -+type fname(atype a, btype b, ctype c, dtype d) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7") = (unsigned long) d; \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %5\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "+r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#if (_MIPS_SIM == _MIPS_SIM_ABI32) -+ -+/* -+ * Using those means your brain needs more than an oil change ;-) -+ */ -+ -+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ -+type fname(atype a, btype b, ctype c, dtype d, etype e) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7") = (unsigned long) d; \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "lw\t$2, %6\n\t" \ -+ "subu\t$29, 32\n\t" \ -+ "sw\t$2, 16($29)\n\t" \ -+ "li\t$2, %5\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ "addiu\t$29, 32\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "+r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname), \ -+ "m" ((unsigned long)e) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */ -+ -+#if (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) -+ -+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ -+type fname (atype a,btype b,ctype c,dtype d,etype e) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7") = (unsigned long) d; \ -+ register unsigned long __a4 asm("$8") = (unsigned long) e; \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %6\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "+r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "i" (__NR_##sname) \ -+ : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ -+ diff --git a/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch b/package/libaio/0001-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch similarity index 95% rename from package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch rename to package/libaio/0001-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch index 50703c3f53..9c876bdc5c 100644 --- a/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch +++ b/package/libaio/0001-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch @@ -1,4 +1,4 @@ -From 14dee5707716629b1bc8d06b93cdfe9ea1a3b813 Mon Sep 17 00:00:00 2001 +From 4dc04ef55710f7f5c1e55ebb5cba8e22a126404e Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 29 Aug 2016 22:14:26 +0200 Subject: [PATCH] src/Makefile: add ENABLE_SHARED boolean to allow static-only @@ -52,5 +52,5 @@ index eadb336..cfab240 100644 $(libaio_objs): libaio.h -- -2.7.4 +2.14.4 diff --git a/package/libaio/0003-destdir.patch b/package/libaio/0002-Makefile-add-missing-DESTDIR-variable-use.patch similarity index 56% rename from package/libaio/0003-destdir.patch rename to package/libaio/0002-Makefile-add-missing-DESTDIR-variable-use.patch index 583a2afa86..49b9892ea4 100644 --- a/package/libaio/0003-destdir.patch +++ b/package/libaio/0002-Makefile-add-missing-DESTDIR-variable-use.patch @@ -1,19 +1,24 @@ +From 517d9fbe63fbd7e72445dce1cb3f3d8457d838cb Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 14 Aug 2018 23:17:25 +0200 +Subject: [PATCH] Makefile: add missing DESTDIR variable use + Patch borrowed from OpenEmbedded, available at recipes/libaio/libaio-0.3.106/destdir.patch in their source tree. It just adds support for the traditional DESTDIR variable to install the library in a different sysroot than the normal /. -Signed-off-by: Thomas Petazzoni +Signed-off-by: Thomas Petazzoni --- - Makefile | 2 +- + Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: libaio-0.3.109/Makefile -=================================================================== ---- libaio-0.3.109.orig/Makefile -+++ libaio-0.3.109/Makefile -@@ -23,7 +23,7 @@ +diff --git a/Makefile b/Makefile +index e9dbdb0..c1fb831 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ all: @$(MAKE) -C src install: @@ -22,3 +27,6 @@ Index: libaio-0.3.109/Makefile check: @$(MAKE) -C harness check +-- +2.14.4 + diff --git a/package/libaio/0003-Link-against-libgcc-to-avoid-unresolved-symbols.patch b/package/libaio/0003-Link-against-libgcc-to-avoid-unresolved-symbols.patch new file mode 100644 index 0000000000..17204be75b --- /dev/null +++ b/package/libaio/0003-Link-against-libgcc-to-avoid-unresolved-symbols.patch @@ -0,0 +1,57 @@ +From 672eaebd131c789a528e3a9cd089b4b69a82012b Mon Sep 17 00:00:00 2001 +From: Guillem Jover +Date: Fri, 28 Sep 2018 13:15:54 +0300 +Subject: [PATCH] Link against libgcc to avoid unresolved symbols + +We need to link agaisnt -lgcc, on at least hppa, PPC and ARC. +That's because in some corner-cases like compilation with -Os +on ARC and PPC so-called millicode (basically function prologue and +epilogue) implemented in libgcc.a is used. So we end up with +GLOBAL UNDEFINED symbol in libaio.so and then on linkage of the final +applicaiton LD fails to proceed saying: +--------------------------->8---------------------- +hidden symbol '__ld_r13_to_r15_ret' in .../libgcc.a(_millicodethunk_ret.o) is referenced by DSO +--------------------------->8---------------------- + +Also it looks like in general it is not the best idea to use either +"-nostartfiles" or "-nostdlib" when linking shared libs because +default construtor/destructor functions won't be executed, see +"5.2. Library constructor and destructor functions" in [1] + +So let's stop passing "-nostdlib" and "-nostartfiles" and get required +stuff built-in libaio. + +Initial patch taken from Debian [2]. + +Fixes build failures in Buildroot like blktrace [3], lvm2 [4]. + +Was submitted upstream via pull-request [5]. + +[1] http://tldp.org/HOWTO/Program-Library-HOWTO/miscellaneous.html +[2] https://sources.debian.org/patches/libaio/0.3.111-1/01_link_libs.patch/ +[3] http://autobuild.buildroot.net/results/17461209755038a30118d76acb4f43469a22a139/ +[4] http://autobuild.buildroot.net/results/a5dfc87f94b97135e5cc84f6a876114891ed9dd9/ +[5] https://pagure.io/libaio/pull-request/7 + +Signed-off-by: Guillem Jover +Signed-off-by: Alexey Brodkin +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index eadb336b47e3..5911c810c766 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -3,7 +3,7 @@ includedir=$(prefix)/include + libdir=$(prefix)/lib + + CFLAGS ?= -g -fomit-frame-pointer -O2 +-CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC ++CFLAGS += -Wall -I. -fPIC + SO_CFLAGS=-shared $(CFLAGS) + L_CFLAGS=$(CFLAGS) + LINK_FLAGS= +-- +2.17.1 + diff --git a/package/libaio/Config.in b/package/libaio/Config.in index ea21a36f55..eed843f44b 100644 --- a/package/libaio/Config.in +++ b/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/package/libaio/libaio.hash b/package/libaio/libaio.hash index 5917e2f783..17dd1ff706 100644 --- a/package/libaio/libaio.hash +++ b/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/package/libaio/libaio.mk b/package/libaio/libaio.mk index 03029d84d8..a215ca6533 100644 --- a/package/libaio/libaio.mk +++ b/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/package/libarchive/0001-Avoid-a-double-free-when-a-window-size-of-0-is-speci.patch b/package/libarchive/0001-Avoid-a-double-free-when-a-window-size-of-0-is-speci.patch new file mode 100644 index 0000000000..76096f7a45 --- /dev/null +++ b/package/libarchive/0001-Avoid-a-double-free-when-a-window-size-of-0-is-speci.patch @@ -0,0 +1,40 @@ +From 021efa522ad729ff0f5806c4ce53e4a6cc1daa31 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 20 Nov 2018 17:56:29 +1100 +Subject: [PATCH] Avoid a double-free when a window size of 0 is specified + +new_size can be 0 with a malicious or corrupted RAR archive. + +realloc(area, 0) is equivalent to free(area), so the region would +be free()d here and the free()d again in the cleanup function. + +Found with a setup running AFL, afl-rb, and qsym. +--- + libarchive/archive_read_support_format_rar.c | 5 +++++ + 1 file changed, 5 insertions(+) + +[for import into Buildroot] +Signed-off-by: Thomas De Schampheleire +Upstream-status: backport + +CVE-2018-1000877 + +diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c +index 23452222..6f419c27 100644 +--- a/libarchive/archive_read_support_format_rar.c ++++ b/libarchive/archive_read_support_format_rar.c +@@ -2300,6 +2300,11 @@ parse_codes(struct archive_read *a) + new_size = DICTIONARY_MAX_SIZE; + else + new_size = rar_fls((unsigned int)rar->unp_size) << 1; ++ if (new_size == 0) { ++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Zero window size is invalid."); ++ return (ARCHIVE_FATAL); ++ } + new_window = realloc(rar->lzss.window, new_size); + if (new_window == NULL) { + archive_set_error(&a->archive, ENOMEM, +-- +2.19.2 + diff --git a/package/libarchive/0002-rar-file-split-across-multi-part-archives-must-match.patch b/package/libarchive/0002-rar-file-split-across-multi-part-archives-must-match.patch new file mode 100644 index 0000000000..4bf68d61d3 --- /dev/null +++ b/package/libarchive/0002-rar-file-split-across-multi-part-archives-must-match.patch @@ -0,0 +1,81 @@ +From bfcfe6f04ed20db2504db8a254d1f40a1d84eb28 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 4 Dec 2018 00:55:22 +1100 +Subject: [PATCH] rar: file split across multi-part archives must match + +Fuzzing uncovered some UAF and memory overrun bugs where a file in a +single file archive reported that it was split across multiple +volumes. This was caused by ppmd7 operations calling +rar_br_fillup. This would invoke rar_read_ahead, which would in some +situations invoke archive_read_format_rar_read_header. That would +check the new file name against the old file name, and if they didn't +match up it would free the ppmd7 buffer and allocate a new +one. However, because the ppmd7 decoder wasn't actually done with the +buffer, it would continue to used the freed buffer. Both reads and +writes to the freed region can be observed. + +This is quite tricky to solve: once the buffer has been freed it is +too late, as the ppmd7 decoder functions almost universally assume +success - there's no way for ppmd_read to signal error, nor are there +good ways for functions like Range_Normalise to propagate them. So we +can't detect after the fact that we're in an invalid state - e.g. by +checking rar->cursor, we have to prevent ourselves from ever ending up +there. So, when we are in the dangerous part or rar_read_ahead that +assumes a valid split, we set a flag force read_header to either go +down the path for split files or bail. This means that the ppmd7 +decoder keeps a valid buffer and just runs out of data. + +Found with a combination of AFL, afl-rb and qsym. +--- + libarchive/archive_read_support_format_rar.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +[for import into Buildroot] +Signed-off-by: Thomas De Schampheleire +Upstream-status: backport + +CVE-2018-1000878 + +diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c +index 6f419c27..a8cc5c94 100644 +--- a/libarchive/archive_read_support_format_rar.c ++++ b/libarchive/archive_read_support_format_rar.c +@@ -258,6 +258,7 @@ struct rar + struct data_block_offsets *dbo; + unsigned int cursor; + unsigned int nodes; ++ char filename_must_match; + + /* LZSS members */ + struct huffman_code maincode; +@@ -1560,6 +1561,12 @@ read_header(struct archive_read *a, struct archive_entry *entry, + } + return ret; + } ++ else if (rar->filename_must_match) ++ { ++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Mismatch of file parts split across multi-volume archive"); ++ return (ARCHIVE_FATAL); ++ } + + rar->filename_save = (char*)realloc(rar->filename_save, + filename_size + 1); +@@ -2933,12 +2940,14 @@ rar_read_ahead(struct archive_read *a, size_t min, ssize_t *avail) + else if (*avail == 0 && rar->main_flags & MHD_VOLUME && + rar->file_flags & FHD_SPLIT_AFTER) + { ++ rar->filename_must_match = 1; + ret = archive_read_format_rar_read_header(a, a->entry); + if (ret == (ARCHIVE_EOF)) + { + rar->has_endarc_header = 1; + ret = archive_read_format_rar_read_header(a, a->entry); + } ++ rar->filename_must_match = 0; + if (ret != (ARCHIVE_OK)) + return NULL; + return rar_read_ahead(a, min, avail); +-- +2.19.2 + diff --git a/package/libarchive/0003-Skip-0-length-ACL-fields.patch b/package/libarchive/0003-Skip-0-length-ACL-fields.patch new file mode 100644 index 0000000000..796bfbdeb6 --- /dev/null +++ b/package/libarchive/0003-Skip-0-length-ACL-fields.patch @@ -0,0 +1,52 @@ +From 15bf44fd2c1ad0e3fd87048b3fcc90c4dcff1175 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 4 Dec 2018 14:29:42 +1100 +Subject: [PATCH] Skip 0-length ACL fields + +Currently, it is possible to create an archive that crashes bsdtar +with a malformed ACL: + +Program received signal SIGSEGV, Segmentation fault. +archive_acl_from_text_l (acl=, text=0x7e2e92 "", want_type=, sc=) at libarchive/archive_acl.c:1726 +1726 switch (*s) { +(gdb) p n +$1 = 1 +(gdb) p field[n] +$2 = {start = 0x0, end = 0x0} + +Stop this by checking that the length is not zero before beginning +the switch statement. + +I am pretty sure this is the bug mentioned in the qsym paper [1], +and I was able to replicate it with a qsym + AFL + afl-rb setup. + +[1] https://www.usenix.org/conference/usenixsecurity18/presentation/yun +--- + libarchive/archive_acl.c | 5 +++++ + 1 file changed, 5 insertions(+) + +[for import into Buildroot] +Signed-off-by: Thomas De Schampheleire +Upstream-status: backport + +CVE-2018-1000879 + +diff --git a/libarchive/archive_acl.c b/libarchive/archive_acl.c +index 512beee1..7beeee86 100644 +--- a/libarchive/archive_acl.c ++++ b/libarchive/archive_acl.c +@@ -1723,6 +1723,11 @@ archive_acl_from_text_l(struct archive_acl *acl, const char *text, + st = field[n].start + 1; + len = field[n].end - field[n].start; + ++ if (len == 0) { ++ ret = ARCHIVE_WARN; ++ continue; ++ } ++ + switch (*s) { + case 'u': + if (len == 1 || (len == 4 +-- +2.19.2 + diff --git a/package/libarchive/0004-warc-consume-data-once-read.patch b/package/libarchive/0004-warc-consume-data-once-read.patch new file mode 100644 index 0000000000..f07d6c08ca --- /dev/null +++ b/package/libarchive/0004-warc-consume-data-once-read.patch @@ -0,0 +1,46 @@ +From 9c84b7426660c09c18cc349f6d70b5f8168b5680 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 4 Dec 2018 16:33:42 +1100 +Subject: [PATCH] warc: consume data once read + +The warc decoder only used read ahead, it wouldn't actually consume +data that had previously been printed. This means that if you specify +an invalid content length, it will just reprint the same data over +and over and over again until it hits the desired length. + +This means that a WARC resource with e.g. +Content-Length: 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665 +but only a few hundred bytes of data, causes a quasi-infinite loop. + +Consume data in subsequent calls to _warc_read. + +Found with an AFL + afl-rb + qsym setup. +--- + libarchive/archive_read_support_format_warc.c | 5 +++++ + 1 file changed, 5 insertions(+) + +[for import into Buildroot] +Signed-off-by: Thomas De Schampheleire +Upstream-status: backport + +CVE-2018-1000880 + +diff --git a/libarchive/archive_read_support_format_warc.c b/libarchive/archive_read_support_format_warc.c +index e8753853..e8fc8428 100644 +--- a/libarchive/archive_read_support_format_warc.c ++++ b/libarchive/archive_read_support_format_warc.c +@@ -386,6 +386,11 @@ _warc_read(struct archive_read *a, const void **buf, size_t *bsz, int64_t *off) + return (ARCHIVE_EOF); + } + ++ if (w->unconsumed) { ++ __archive_read_consume(a, w->unconsumed); ++ w->unconsumed = 0U; ++ } ++ + rab = __archive_read_ahead(a, 1U, &nrd); + if (nrd < 0) { + *bsz = 0U; +-- +2.19.2 + diff --git a/package/libarchive/0005-iso9660-Fail-when-expected-Rockridge-extensions-is-m.patch b/package/libarchive/0005-iso9660-Fail-when-expected-Rockridge-extensions-is-m.patch new file mode 100644 index 0000000000..bd36ce4b53 --- /dev/null +++ b/package/libarchive/0005-iso9660-Fail-when-expected-Rockridge-extensions-is-m.patch @@ -0,0 +1,62 @@ +From 8312eaa576014cd9b965012af51bc1f967b12423 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 1 Jan 2019 17:10:49 +1100 +Subject: [PATCH] iso9660: Fail when expected Rockridge extensions is missing + +A corrupted or malicious ISO9660 image can cause read_CE() to loop +forever. + +read_CE() calls parse_rockridge(), expecting a Rockridge extension +to be read. However, parse_rockridge() is structured as a while +loop starting with a sanity check, and if the sanity check fails +before the loop has run, the function returns ARCHIVE_OK without +advancing the position in the file. This causes read_CE() to retry +indefinitely. + +Make parse_rockridge() return ARCHIVE_WARN if it didn't read an +extension. As someone with no real knowledge of the format, this +seems more apt than ARCHIVE_FATAL, but both the call-sites escalate +it to a fatal error immediately anyway. + +Found with a combination of AFL, afl-rb (FairFuzz) and qsym. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 8312eaa57601 + + libarchive/archive_read_support_format_iso9660.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c +index 28acfefbba8a..bad8f1dfef3a 100644 +--- a/libarchive/archive_read_support_format_iso9660.c ++++ b/libarchive/archive_read_support_format_iso9660.c +@@ -2102,6 +2102,7 @@ parse_rockridge(struct archive_read *a, struct file_info *file, + const unsigned char *p, const unsigned char *end) + { + struct iso9660 *iso9660; ++ int entry_seen = 0; + + iso9660 = (struct iso9660 *)(a->format->data); + +@@ -2257,8 +2258,16 @@ parse_rockridge(struct archive_read *a, struct file_info *file, + } + + p += p[2]; ++ entry_seen = 1; ++ } ++ ++ if (entry_seen) ++ return (ARCHIVE_OK); ++ else { ++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Tried to parse Rockridge extensions, but none found"); ++ return (ARCHIVE_WARN); + } +- return (ARCHIVE_OK); + } + + static int +-- +2.20.1 + diff --git a/package/libarchive/0006-7zip-fix-crash-when-parsing-certain-archives.patch b/package/libarchive/0006-7zip-fix-crash-when-parsing-certain-archives.patch new file mode 100644 index 0000000000..bad33d9526 --- /dev/null +++ b/package/libarchive/0006-7zip-fix-crash-when-parsing-certain-archives.patch @@ -0,0 +1,62 @@ +From 65a23f5dbee4497064e9bb467f81138a62b0dae1 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 1 Jan 2019 16:01:40 +1100 +Subject: [PATCH] 7zip: fix crash when parsing certain archives + +Fuzzing with CRCs disabled revealed that a call to get_uncompressed_data() +would sometimes fail to return at least 'minimum' bytes. This can cause +the crc32() invocation in header_bytes to read off into invalid memory. + +A specially crafted archive can use this to cause a crash. + +An ASAN trace is below, but ASAN is not required - an uninstrumented +binary will also crash. + +==7719==ERROR: AddressSanitizer: SEGV on unknown address 0x631000040000 (pc 0x7fbdb3b3ec1d bp 0x7ffe77a51310 sp 0x7ffe77a51150 T0) +==7719==The signal is caused by a READ memory access. + #0 0x7fbdb3b3ec1c in crc32_z (/lib/x86_64-linux-gnu/libz.so.1+0x2c1c) + #1 0x84f5eb in header_bytes (/tmp/libarchive/bsdtar+0x84f5eb) + #2 0x856156 in read_Header (/tmp/libarchive/bsdtar+0x856156) + #3 0x84e134 in slurp_central_directory (/tmp/libarchive/bsdtar+0x84e134) + #4 0x849690 in archive_read_format_7zip_read_header (/tmp/libarchive/bsdtar+0x849690) + #5 0x5713b7 in _archive_read_next_header2 (/tmp/libarchive/bsdtar+0x5713b7) + #6 0x570e63 in _archive_read_next_header (/tmp/libarchive/bsdtar+0x570e63) + #7 0x6f08bd in archive_read_next_header (/tmp/libarchive/bsdtar+0x6f08bd) + #8 0x52373f in read_archive (/tmp/libarchive/bsdtar+0x52373f) + #9 0x5257be in tar_mode_x (/tmp/libarchive/bsdtar+0x5257be) + #10 0x51daeb in main (/tmp/libarchive/bsdtar+0x51daeb) + #11 0x7fbdb27cab96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310 + #12 0x41dd09 in _start (/tmp/libarchive/bsdtar+0x41dd09) + +This was primarly done with afl and FairFuzz. Some early corpus entries +may have been generated by qsym. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 65a23f5dbee + + libarchive/archive_read_support_format_7zip.c | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/libarchive/archive_read_support_format_7zip.c b/libarchive/archive_read_support_format_7zip.c +index bccbf896603b..b6d1505d372e 100644 +--- a/libarchive/archive_read_support_format_7zip.c ++++ b/libarchive/archive_read_support_format_7zip.c +@@ -2964,13 +2964,7 @@ get_uncompressed_data(struct archive_read *a, const void **buff, size_t size, + if (zip->codec == _7Z_COPY && zip->codec2 == (unsigned long)-1) { + /* Copy mode. */ + +- /* +- * Note: '1' here is a performance optimization. +- * Recall that the decompression layer returns a count of +- * available bytes; asking for more than that forces the +- * decompressor to combine reads by copying data. +- */ +- *buff = __archive_read_ahead(a, 1, &bytes_avail); ++ *buff = __archive_read_ahead(a, minimum, &bytes_avail); + if (bytes_avail <= 0) { + archive_set_error(&a->archive, + ARCHIVE_ERRNO_FILE_FORMAT, +-- +2.20.1 + diff --git a/package/libasplib/libasplib.mk b/package/libasplib/libasplib.mk index e13945c6f2..5da85abe0c 100644 --- a/package/libasplib/libasplib.mk +++ b/package/libasplib/libasplib.mk @@ -18,12 +18,4 @@ LIBASPLIB_CONF_OPTS = \ -DBUILD_SIGNALS=ON \ -DBUILD_TIMER=ON -# Internal error, aborting at dw2gencfi.c:214 in emit_expr_encoded -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 -ifeq ($(BR2_m68k_cf),y) -LIBASPLIB_CXXFLAGS += -fno-dwarf2-cfi-asm -endif - -LIBASPLIB_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(LIBASPLIB_CXXFLAGS)" - $(eval $(cmake-package)) diff --git a/package/libassuan/libassuan.hash b/package/libassuan/libassuan.hash index 2e80cfa4e1..4878a692cf 100644 --- a/package/libassuan/libassuan.hash +++ b/package/libassuan/libassuan.hash @@ -1,7 +1,8 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 c8432695bf1daa914a92f51e911881ed93d50604 libassuan-2.5.1.tar.bz2 +sha1 fb66bc1e8971d48ac9dbacd1cdaf6487a3e77375 libassuan-2.5.2.tar.bz2 # Locally calculated after checking signature -# https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.1.tar.bz2.sig -sha256 47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449 libassuan-2.5.1.tar.bz2 +# https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.2.tar.bz2.sig +# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 +sha256 986b1bf277e375f7a960450fbb8ffbd45294d06598916ad4ebf79aee0cb788e7 libassuan-2.5.2.tar.bz2 sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/libassuan/libassuan.mk b/package/libassuan/libassuan.mk index e807086b73..1e4467b36d 100644 --- a/package/libassuan/libassuan.mk +++ b/package/libassuan/libassuan.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBASSUAN_VERSION = 2.5.1 +LIBASSUAN_VERSION = 2.5.2 LIBASSUAN_SITE = ftp://ftp.gnupg.org/gcrypt/libassuan LIBASSUAN_SOURCE = libassuan-$(LIBASSUAN_VERSION).tar.bz2 LIBASSUAN_LICENSE = LGPL-2.1+ (library), GPL-3.0 (tests, doc) @@ -13,5 +13,6 @@ LIBASSUAN_INSTALL_STAGING = YES LIBASSUAN_DEPENDENCIES = libgpg-error LIBASSUAN_CONF_OPTS = \ --with-gpg-error-prefix=$(STAGING_DIR)/usr +LIBASSUAN_CONFIG_SCRIPTS = libassuan-config $(eval $(autotools-package)) diff --git a/package/libatomic_ops/libatomic_ops.hash b/package/libatomic_ops/libatomic_ops.hash index 90af18dc38..a913023e21 100644 --- a/package/libatomic_ops/libatomic_ops.hash +++ b/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/package/libatomic_ops/libatomic_ops.mk b/package/libatomic_ops/libatomic_ops.mk index dff62c51b0..100ad70257 100644 --- a/package/libatomic_ops/libatomic_ops.mk +++ b/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/package/libb64/0001-Integer-overflows.patch b/package/libb64/0001-Integer-overflows.patch new file mode 100644 index 0000000000..0e3e08b142 --- /dev/null +++ b/package/libb64/0001-Integer-overflows.patch @@ -0,0 +1,73 @@ +Fix integer overflows. Will not work on compilers with unsigned char +as the default. + +Fetched from: https://sources.debian.org/patches/libb64/1.2-5/ + +Combined "integer overflows.diff" and "off by one.diff" and adapted +for version 1.2.1. + +Signed-off-by: Mikael Eliasson + +diff --git a/src/cdecode.c b/src/cdecode.c +index a6c0a42..45da4e1 100644 +--- a/src/cdecode.c ++++ b/src/cdecode.c +@@ -9,10 +9,11 @@ For details, see http://sourceforge.net/projects/libb64 + + int base64_decode_value(char value_in) + { +- static const char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51}; ++ static const signed char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51}; + static const char decoding_size = sizeof(decoding); ++ if (value_in < 43) return -1; + value_in -= 43; +- if (value_in < 0 || value_in >= decoding_size) return -1; ++ if (value_in >= decoding_size) return -1; + return decoding[(int)value_in]; + } + +@@ -26,7 +27,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + { + const char* codechar = code_in; + char* plainchar = plaintext_out; +- char fragment; ++ int fragment; + + *plainchar = state_in->plainchar; + +@@ -42,7 +43,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar = (fragment & 0x03f) << 2; + case step_b: +@@ -53,7 +54,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x030) >> 4; + *plainchar = (fragment & 0x00f) << 4; +@@ -65,7 +66,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x03c) >> 2; + *plainchar = (fragment & 0x003) << 6; +@@ -77,7 +78,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x03f); + } diff --git a/package/libb64/0002-Initialize-C++-objects.patch b/package/libb64/0002-Initialize-C++-objects.patch new file mode 100644 index 0000000000..1556f889d1 --- /dev/null +++ b/package/libb64/0002-Initialize-C++-objects.patch @@ -0,0 +1,38 @@ +Fixes uninitialized C++ encoder and decoder _state variable bug. + +Fetched from: https://sources.debian.org/patches/libb64/1.2-5/ + +initialize-coder-state.diff patch without modifications. + +Signed-off-by: Mikael Eliasson + +diff --git a/include/b64/decode.h b/include/b64/decode.h +index 12b16ea..d3f7d60 100644 +--- a/include/b64/decode.h ++++ b/include/b64/decode.h +@@ -24,7 +24,9 @@ namespace base64 + + decoder(int buffersize_in = BUFFERSIZE) + : _buffersize(buffersize_in) +- {} ++ { ++ base64_init_decodestate(&_state); ++ } + + int decode(char value_in) + { +diff --git a/include/b64/encode.h b/include/b64/encode.h +index 5d807d9..49aafdc 100644 +--- a/include/b64/encode.h ++++ b/include/b64/encode.h +@@ -24,7 +24,9 @@ namespace base64 + + encoder(int buffersize_in = BUFFERSIZE) + : _buffersize(buffersize_in) +- {} ++ { ++ base64_init_encodestate(&_state); ++ } + + int encode(char value_in) + { diff --git a/package/libbsd/Config.in b/package/libbsd/Config.in index a163ce9b6f..0f320302b9 100644 --- a/package/libbsd/Config.in +++ b/package/libbsd/Config.in @@ -5,6 +5,8 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS depends on !BR2_microblaze depends on !BR2_arc depends on !BR2_xtensa + # uClibc on noMMU doesn't provide __register_atfork() + depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU) config BR2_PACKAGE_LIBBSD bool "libbsd" diff --git a/package/libclc/Config.in b/package/libclc/Config.in new file mode 100644 index 0000000000..4bba6a9175 --- /dev/null +++ b/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/package/libclc/libclc.hash b/package/libclc/libclc.hash new file mode 100644 index 0000000000..6c06648fcf --- /dev/null +++ b/package/libclc/libclc.hash @@ -0,0 +1,3 @@ +# locally calculated +sha256 8d7b42fba6db4a124c74f0ac475c1bc515761cbf3d559820b4cbe5b33e94f26c libclc-dabae5a2afb78cba0320a86e3f5f0b5dc83e077c.tar.gz +sha256 45187a46f0637e4e92decb51d8dc3c9e4957b349d0283dfbd6647e8000d9ac7f LICENSE.TXT diff --git a/package/libclc/libclc.mk b/package/libclc/libclc.mk new file mode 100644 index 0000000000..17903c05d4 --- /dev/null +++ b/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/package/libcorrect/0001-CMakeLists.txt-conditionally-use-Wpedantic.patch b/package/libcorrect/0001-CMakeLists.txt-conditionally-use-Wpedantic.patch new file mode 100644 index 0000000000..77e29ad833 --- /dev/null +++ b/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/package/libcorrect/0002-CMakeLists.txt-conditionally-use-fsanitize-address.patch b/package/libcorrect/0002-CMakeLists.txt-conditionally-use-fsanitize-address.patch new file mode 100644 index 0000000000..82e4f13e66 --- /dev/null +++ b/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/package/libcorrect/Config.in b/package/libcorrect/Config.in new file mode 100644 index 0000000000..eba6dc43aa --- /dev/null +++ b/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/package/libcorrect/libcorrect.hash b/package/libcorrect/libcorrect.hash new file mode 100644 index 0000000000..20df38c158 --- /dev/null +++ b/package/libcorrect/libcorrect.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 79861750540fb3a1cc501ee217cb4d1febc4855f3fb82e5eb60906eec5379890 libcorrect-ce6c17f1f988765ae3695315d7cce1f2a2e6cf0d.tar.gz +sha256 135138cd4304aa637836758dc5edfb5f21b7d09ecc637d25288d206b151a5768 LICENSE diff --git a/package/libcorrect/libcorrect.mk b/package/libcorrect/libcorrect.mk new file mode 100644 index 0000000000..0a84aa5c26 --- /dev/null +++ b/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/package/libcpprestsdk/0002-fix-template-whitespace-syntax.patch b/package/libcpprestsdk/0002-fix-template-whitespace-syntax.patch deleted file mode 100644 index 81f7ea19ec..0000000000 --- a/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/package/libcpprestsdk/libcpprestsdk.hash b/package/libcpprestsdk/libcpprestsdk.hash index 20a9395329..331db664b3 100644 --- a/package/libcpprestsdk/libcpprestsdk.hash +++ b/package/libcpprestsdk/libcpprestsdk.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 fb0b611007732d8de9528bc37bd67468e7ef371672f89c88f225f73cdc4ffcf1 libcpprestsdk-v2.10.2.tar.gz +sha256 55e1521fb7b7c9b2f4f2065c5fb47e249227f15299257ee6f1a0c942a4057f4f libcpprestsdk-v2.10.10.tar.gz sha256 5c191789f502ac87df83b57008d2fc3e47fbf31315381b5bc4309f6602d0fe97 license.txt diff --git a/package/libcpprestsdk/libcpprestsdk.mk b/package/libcpprestsdk/libcpprestsdk.mk index 20700ae2b2..a03e6d250b 100644 --- a/package/libcpprestsdk/libcpprestsdk.mk +++ b/package/libcpprestsdk/libcpprestsdk.mk @@ -4,12 +4,16 @@ # ################################################################################ -LIBCPPRESTSDK_VERSION = v2.10.2 +LIBCPPRESTSDK_VERSION = v2.10.10 LIBCPPRESTSDK_SITE = $(call github,Microsoft,cpprestsdk,$(LIBCPPRESTSDK_VERSION)) LIBCPPRESTSDK_LICENSE = MIT LIBCPPRESTSDK_LICENSE_FILES = license.txt LIBCPPRESTSDK_SUBDIR = Release LIBCPPRESTSDK_DEPENDENCIES += host-pkgconf boost openssl zlib -LIBCPPRESTSDK_CONF_OPTS = -DWERROR=OFF +LIBCPPRESTSDK_CONF_OPTS = -DWERROR=OFF -DCPPREST_EXCLUDE_WEBSOCKETS=ON -DBUILD_SAMPLES=OFF + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBCPPRESTSDK_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +endif $(eval $(cmake-package)) diff --git a/package/libcurl/Config.in b/package/libcurl/Config.in index 21c2ee2b7f..9c62539e4d 100644 --- a/package/libcurl/Config.in +++ b/package/libcurl/Config.in @@ -19,4 +19,36 @@ config BR2_PACKAGE_LIBCURL_VERBOSE help Enable verbose text strings +config BR2_PACKAGE_LIBCURL_TLS_SUPPORT + bool + default y if BR2_PACKAGE_OPENSSL + default y if BR2_PACKAGE_GNUTLS + default y if BR2_PACKAGE_LIBNSS + default y if BR2_PACKAGE_MBEDTLS + +choice + prompt "SSL/TLS library to use" + depends on BR2_PACKAGE_LIBCURL_TLS_SUPPORT + +config BR2_PACKAGE_LIBCURL_OPENSSL + bool "OpenSSL" + depends on BR2_PACKAGE_OPENSSL + +config BR2_PACKAGE_LIBCURL_GNUTLS + bool "GnuTLS" + depends on BR2_PACKAGE_GNUTLS + +config BR2_PACKAGE_LIBCURL_LIBNSS + bool "NSS" + depends on BR2_PACKAGE_LIBNSS + +config BR2_PACKAGE_LIBCURL_MBEDTLS + bool "mbed TLS" + depends on BR2_PACKAGE_MBEDTLS + +endchoice + +comment "A TLS library is needed for SSL/TLS support" + depends on !BR2_PACKAGE_LIBCURL_TLS_SUPPORT + endif diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash index 395307653d..d321adcd62 100644 --- a/package/libcurl/libcurl.hash +++ b/package/libcurl/libcurl.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://curl.haxx.se/download/curl-7.61.1.tar.xz.asc +# https://curl.haxx.se/download/curl-7.64.1.tar.xz.asc # with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 3d5913d6a39bd22e68e34dff697fd6e4c3c81563f580c76fca2009315cd81891 curl-7.61.1.tar.xz -sha256 5f3849ec38ddb927e79f514bf948890c41b8d1407286a49609b8fb1585931095 COPYING +sha256 9252332a7f871ce37bfa7f78bdd0a0e3924d8187cc27cb57c76c9474a7168fb3 curl-7.64.1.tar.xz +sha256 8c8824f50e73a021f5dde1fccbf69685939247399a33a32abab1fa448c9ddabb COPYING diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index c3da8aa3e5..852054a4bd 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCURL_VERSION = 7.61.1 +LIBCURL_VERSION = 7.64.1 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.haxx.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ @@ -19,7 +19,8 @@ LIBCURL_INSTALL_STAGING = YES # probably almost never used. See # http://curl.haxx.se/docs/manpage.html#--ntlm. LIBCURL_CONF_OPTS = --disable-manual --disable-ntlm-wb \ - --enable-hidden-symbols --with-random=/dev/urandom --disable-curldebug + --enable-hidden-symbols --with-random=/dev/urandom --disable-curldebug \ + --without-polarssl ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) LIBCURL_CONF_OPTS += --enable-threaded-resolver @@ -35,7 +36,7 @@ endif LIBCURL_CONFIG_SCRIPTS = curl-config -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_LIBCURL_OPENSSL),y) LIBCURL_DEPENDENCIES += openssl # configure adds the cross openssl dir to LD_LIBRARY_PATH which screws up # native stuff during the rest of configure when target == host. @@ -44,19 +45,31 @@ LIBCURL_DEPENDENCIES += openssl LIBCURL_CONF_ENV += LD_LIBRARY_PATH=$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)/lib:/usr/lib LIBCURL_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr \ --with-ca-path=/etc/ssl/certs -else ifeq ($(BR2_PACKAGE_GNUTLS),y) -LIBCURL_CONF_OPTS += --with-gnutls=$(STAGING_DIR)/usr +else +LIBCURL_CONF_OPTS += --without-ssl +endif + +ifeq ($(BR2_PACKAGE_LIBCURL_GNUTLS),y) +LIBCURL_CONF_OPTS += --with-gnutls=$(STAGING_DIR)/usr \ + --with-ca-fallback LIBCURL_DEPENDENCIES += gnutls -else ifeq ($(BR2_PACKAGE_LIBNSS),y) +else +LIBCURL_CONF_OPTS += --without-gnutls +endif + +ifeq ($(BR2_PACKAGE_LIBCURL_LIBNSS),y) LIBCURL_CONF_OPTS += --with-nss=$(STAGING_DIR)/usr LIBCURL_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) nspr nss --cflags`" LIBCURL_DEPENDENCIES += libnss -else ifeq ($(BR2_PACKAGE_MBEDTLS),y) +else +LIBCURL_CONF_OPTS += --without-nss +endif + +ifeq ($(BR2_PACKAGE_LIBCURL_MBEDTLS),y) LIBCURL_CONF_OPTS += --with-mbedtls=$(STAGING_DIR)/usr LIBCURL_DEPENDENCIES += mbedtls else -LIBCURL_CONF_OPTS += --without-ssl --without-gnutls \ - --without-polarssl --without-nss --without-mbedtls +LIBCURL_CONF_OPTS += --without-mbedtls endif ifeq ($(BR2_PACKAGE_C_ARES),y) @@ -98,7 +111,7 @@ endif define LIBCURL_FIX_DOT_PC printf 'Requires: openssl\n' >>$(@D)/libcurl.pc.in endef -LIBCURL_POST_PATCH_HOOKS += $(if $(BR2_PACKAGE_OPENSSL),LIBCURL_FIX_DOT_PC) +LIBCURL_POST_PATCH_HOOKS += $(if $(BR2_PACKAGE_LIBCURL_OPENSSL),LIBCURL_FIX_DOT_PC) ifeq ($(BR2_PACKAGE_CURL),) define LIBCURL_TARGET_CLEANUP diff --git a/package/libdrm/Config.in b/package/libdrm/Config.in index 581f921968..3cb0e02a41 100644 --- a/package/libdrm/Config.in +++ b/package/libdrm/Config.in @@ -36,6 +36,7 @@ config BR2_PACKAGE_LIBDRM_RADEON config BR2_PACKAGE_LIBDRM_AMDGPU bool "amdgpu" + depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_LIBDRM_HAS_ATOMIC select BR2_PACKAGE_LIBDRM_ENABLE_ATOMIC help diff --git a/package/libdrm/libdrm.hash b/package/libdrm/libdrm.hash index 2043ee780e..301866c8b0 100644 --- a/package/libdrm/libdrm.hash +++ b/package/libdrm/libdrm.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/dri-devel/2018-August/185041.html -md5 0ba45ad1551b2c1b6df0797a3e65f827 libdrm-2.4.93.tar.bz2 -sha1 550ba4bb50236fc2e9138cbeadcb4942ce09410e libdrm-2.4.93.tar.bz2 -sha256 6e84d1dc9548a76f20b59a85cf80a0b230cd8196084f5243469d9e65354fcd3c libdrm-2.4.93.tar.bz2 -sha512 ba4221e8d6a3a9872fb6d30a0ea391e30ea0e17f249c66f067bed9c2161ed1ad8083959cb2c212834c6566c3e025f4daae31e9533d77aae19bbbbb9de6c2ab3d libdrm-2.4.93.tar.bz2 +# From https://lists.freedesktop.org/archives/dri-devel/2019-January/204447.html +md5 acef22d0c62c89692348c2dd5591393e libdrm-2.4.97.tar.bz2 +sha1 7635bec769a17edd140282fa2c46838c4a44bc91 libdrm-2.4.97.tar.bz2 +sha256 77d0ccda3e10d6593398edb70b1566bfe1a23a39bd3da98ace2147692eadd123 libdrm-2.4.97.tar.bz2 +sha512 3e08ee9d6c9ce265d783a59b51e22449905ea73aa27f25a082a1e9e1532f7c99e1c9f7cb966eb0970be2a08e2e5993dc9aa55093b1bff548689fdb465e7145ed libdrm-2.4.97.tar.bz2 diff --git a/package/libdrm/libdrm.mk b/package/libdrm/libdrm.mk index 1871488284..cc7350c10e 100644 --- a/package/libdrm/libdrm.mk +++ b/package/libdrm/libdrm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.93 +LIBDRM_VERSION = 2.4.97 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2 LIBDRM_SITE = https://dri.freedesktop.org/libdrm LIBDRM_LICENSE = MIT @@ -115,6 +115,9 @@ endif ifeq ($(BR2_PACKAGE_LIBDRM_INSTALL_TESTS),y) LIBDRM_CONF_OPTS += --enable-install-test-programs +ifeq ($(BR2_PACKAGE_CUNIT),y) +LIBDRM_DEPENDENCIES += cunit +endif endif $(eval $(autotools-package)) diff --git a/package/libeastl/Config.in b/package/libeastl/Config.in new file mode 100644 index 0000000000..7609434519 --- /dev/null +++ b/package/libeastl/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + bool + default y if BR2_i386 + default y if BR2_x86_64 + default y if BR2_aarch64 + default y if BR2_powerpc + default y if BR2_powerpc64 + +config BR2_PACKAGE_LIBEASTL + bool "libeastl" + depends on BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 + help + EASTL stands for Electronic Arts Standard Template + Library. EASTL stands for Electronic Arts Standard Template + Library. It is a C++ template library of containers, + algorithms, and iterators useful for runtime and tool + development across multiple platforms. It is an extensive + and robust implementation that has an emphasis on high + performance. + + https://github.com/electronicarts/EASTL + +comment "libeastl needs a toolchain w/ C++, gcc >= 4.9" + depends on BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_INSTALL_LIBSTDCPP diff --git a/package/libeastl/libeastl.hash b/package/libeastl/libeastl.hash new file mode 100644 index 0000000000..2d8367c026 --- /dev/null +++ b/package/libeastl/libeastl.hash @@ -0,0 +1,2 @@ +sha256 9b3484553812b3ec3bad0857f7f675499c81f7cf4ac87e5f3b2acbe72e3a878a libeastl-45469730d641868ce05433fff2e199510c7d45c3.tar.gz +sha256 82c0243a1a62b8af01dab3bce6ed2b0852604bd508b85a561ba7d32480e598e3 LICENSE diff --git a/package/libeastl/libeastl.mk b/package/libeastl/libeastl.mk new file mode 100644 index 0000000000..0559dd856d --- /dev/null +++ b/package/libeastl/libeastl.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# libeastl +# +################################################################################ + +LIBEASTL_VERSION = 45469730d641868ce05433fff2e199510c7d45c3 +LIBEASTL_SITE = $(call github,electronicarts,EASTL,$(LIBEASTL_VERSION)) +LIBEASTL_LICENSE = BSD-3-Clause +LIBEASTL_LICENSE_FILES = LICENSE +LIBEASTL_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/package/libepoxy/libepoxy.hash b/package/libepoxy/libepoxy.hash index 654d1675fd..dd1b13487b 100644 --- a/package/libepoxy/libepoxy.hash +++ b/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/package/libepoxy/libepoxy.mk b/package/libepoxy/libepoxy.mk index b9498b17b4..b1731a22c5 100644 --- a/package/libepoxy/libepoxy.mk +++ b/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/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch b/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch index 6a829175c3..745903178c 100644 --- a/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch +++ b/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/package/libevdev/libevdev.hash b/package/libevdev/libevdev.hash index e4294dcade..4a750e0ac9 100644 --- a/package/libevdev/libevdev.hash +++ b/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/package/libevdev/libevdev.mk b/package/libevdev/libevdev.mk index 880d75dfbd..d8361028da 100644 --- a/package/libevdev/libevdev.mk +++ b/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/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch b/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch index 776990df65..168972a871 100644 --- a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch +++ b/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/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch b/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch deleted file mode 100644 index 9308c8951a..0000000000 --- a/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/package/libffi/0005-mips-use-__linux__-and-not-linux.patch b/package/libffi/0005-mips-use-__linux__-and-not-linux.patch deleted file mode 100644 index a48f3d3b6d..0000000000 --- a/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/package/libffi/libffi.hash b/package/libffi/libffi.hash index 0153f7e37e..97deb988e6 100644 --- a/package/libffi/libffi.hash +++ b/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/package/libffi/libffi.mk b/package/libffi/libffi.mk index 32e01e9cd1..b21d12cbd4 100644 --- a/package/libffi/libffi.mk +++ b/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/package/libfreefare/libfreefare.mk b/package/libfreefare/libfreefare.mk index 13e6f2ad5e..16f15b34e4 100644 --- a/package/libfreefare/libfreefare.mk +++ b/package/libfreefare/libfreefare.mk @@ -9,13 +9,9 @@ LIBFREEFARE_SOURCE = libfreefare-$(LIBFREEFARE_VERSION).tar.bz2 # Do not use the github helper here, the generated tarball is *NOT* # the same as the one uploaded by upstream for the release. LIBFREEFARE_SITE = https://github.com/nfc-tools/libfreefare/releases/download/libfreefare-$(LIBFREEFARE_VERSION) -LIBFREEFARE_DEPENDENCIES = libnfc openssl +LIBFREEFARE_DEPENDENCIES = host-pkgconf libnfc openssl LIBFREEFARE_LICENSE = LGPL-3.0+ with exception LIBFREEFARE_LICENSE_FILES = COPYING - -ifeq ($(BR2_STATIC_LIBS),y) -# openssl needs zlib even if the libfreefare example itself doesn't -LIBFREEFARE_CONF_ENV += LIBS='-lz' -endif +LIBFREEFARE_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` $(eval $(autotools-package)) diff --git a/package/libftdi1/0004-cmake-find-swig.patch b/package/libftdi1/0004-cmake-find-swig.patch new file mode 100644 index 0000000000..cf787a6806 --- /dev/null +++ b/package/libftdi1/0004-cmake-find-swig.patch @@ -0,0 +1,29 @@ +From fcda9c6a208d3a7fe651ef661b2eb6e462a89c17 Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Tue, 31 Jul 2018 17:44:57 -0300 +Subject: [PATCH] CMake: use find_package (SWIG) for cmake >= 3.0.0 + +There's a workaround for a bug (fixed in cmake 3.0.0) that does not +work in CMake 3.12. Only use the workaround with cmake < 3.0.0. + +Signed-off-by: Eneas U de Queiroz +[Mark: patch retrieved and updated from +http://developer.intra2net.com/git/?p=libftdi;a=commit;h=fcda9c6a208d3a7fe651ef661b2eb6e462a89c17] +Signed-off-by: Mark Corbin +[Update patch to make it work with cmake < 3.7: +http://developer.intra2net.com/mailarchive/html/libftdi/2019/msg00009.html] +Signed-off-by: Fabrice Fontaine +--- +diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt +index 31ef1c6..eefc344 100644 +--- a/python/CMakeLists.txt ++++ b/python/CMakeLists.txt +@@ -3,7 +3,7 @@ option ( LINK_PYTHON_LIBRARY "Link against python libraries" ON ) + + if ( PYTHON_BINDINGS ) + # workaround for cmake bug #0013449 +- if ( NOT DEFINED CMAKE_FIND_ROOT_PATH ) ++ if ( NOT DEFINED CMAKE_FIND_ROOT_PATH OR NOT CMAKE_VERSION VERSION_LESS 3.0.0 ) + find_package ( SWIG ) + else () + find_program ( SWIG_EXECUTABLE NAMES swig2.0 swig ) diff --git a/package/libftdi1/libftdi1.mk b/package/libftdi1/libftdi1.mk index c45c83a711..014dd8401e 100644 --- a/package/libftdi1/libftdi1.mk +++ b/package/libftdi1/libftdi1.mk @@ -11,6 +11,7 @@ LIBFTDI1_INSTALL_STAGING = YES LIBFTDI1_DEPENDENCIES = libusb LIBFTDI1_LICENSE = LGPL-2.0 (libftdi1), GPL-2.0 with exception (ftdipp1) LIBFTDI1_LICENSE_FILES = LICENSE COPYING.GPL COPYING.LIB +LIBFTDI1_CONFIG_SCRIPTS = libftdi1-config LIBFTDI1_CONF_OPTS = -DDOCUMENTATION=OFF -DEXAMPLES=OFF ifeq ($(BR2_PACKAGE_LIBFTDI1_LIBFTDIPP1),y) diff --git a/package/libfuse/libfuse.hash b/package/libfuse/libfuse.hash index 3d1b973071..f522325945 100644 --- a/package/libfuse/libfuse.hash +++ b/package/libfuse/libfuse.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 5e84f81d8dd527ea74f39b6bc001c874c02bad6871d7a9b0c14efb57430eafe3 fuse-2.9.8.tar.gz +sha256 d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5 fuse-2.9.9.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/libfuse/libfuse.mk b/package/libfuse/libfuse.mk index e8a79a3166..074dc59886 100644 --- a/package/libfuse/libfuse.mk +++ b/package/libfuse/libfuse.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFUSE_VERSION = 2.9.8 +LIBFUSE_VERSION = 2.9.9 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 @@ -14,11 +14,29 @@ LIBFUSE_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) LIBFUSE_CONF_OPTS = \ --disable-example \ --enable-lib \ - --enable-util + --enable-util \ + UDEV_RULES_PATH=/lib/udev/rules.d + +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +define LIBFUSE_INSTALL_UDEV + mkdir -p $(TARGET_DIR)/lib/udev/rules.d + cp $(STAGING_DIR)/lib/udev/rules.d/*-fuse.rules $(TARGET_DIR)/lib/udev/rules.d +endef + +LIBFUSE_POST_INSTALL_TARGET_HOOKS += LIBFUSE_INSTALL_UDEV +endif define LIBFUSE_INSTALL_TARGET_CMDS cp -dpf $(STAGING_DIR)/usr/bin/fusermount $(TARGET_DIR)/usr/bin/ cp -dpf $(STAGING_DIR)/usr/lib/libfuse.so* $(TARGET_DIR)/usr/lib/ endef +define LIBFUSE_DEVICES + /dev/fuse c 666 0 0 10 229 0 0 - +endef + +define LIBFUSE_PERMISSIONS + /usr/bin/fusermount f 4755 0 0 - - - - - +endef + $(eval $(autotools-package)) diff --git a/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch b/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch deleted file mode 100644 index 95db0fbba8..0000000000 --- a/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/package/libgcrypt/0002-reconfigure.patch b/package/libgcrypt/0001-reconfigure.patch similarity index 100% rename from package/libgcrypt/0002-reconfigure.patch rename to package/libgcrypt/0001-reconfigure.patch diff --git a/package/libgcrypt/libgcrypt.hash b/package/libgcrypt/libgcrypt.hash index dce6522959..000f26dd2d 100644 --- a/package/libgcrypt/libgcrypt.hash +++ b/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/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk index f25944da64..452cf17ce1 100644 --- a/package/libgcrypt/libgcrypt.mk +++ b/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/package/libgdiplus/0001-Embed-the-license-texts-in-LICENSE-like-on-Mono-repo.patch b/package/libgdiplus/0001-Embed-the-license-texts-in-LICENSE-like-on-Mono-repo.patch new file mode 100644 index 0000000000..02efc972dc --- /dev/null +++ b/package/libgdiplus/0001-Embed-the-license-texts-in-LICENSE-like-on-Mono-repo.patch @@ -0,0 +1,1863 @@ +From 850660e11ab302961aaf5ef336ed02451ade9f5b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= +Date: Thu, 21 Sep 2017 12:50:21 +0200 +Subject: [PATCH] Embed the license texts in LICENSE like on Mono repo + +Remove the MPL-1.1.html file. + +Upstream: ad0fb6f0a5e3e11f7e474456d53cc660f7808aed +Signed-off-by: Thomas Petazzoni +--- + LICENSE | 980 +++++++++++++++++++++++++++++++++++++++++++++++++++ + MPL-1.1.html | 840 ------------------------------------------- + Makefile.am | 2 +- + 3 files changed, 981 insertions(+), 841 deletions(-) + delete mode 100644 MPL-1.1.html + +diff --git a/LICENSE b/LICENSE +index f5b62b7..b3164bb 100644 +--- a/LICENSE ++++ b/LICENSE +@@ -2,3 +2,983 @@ Libgdiplus is licensed under the terms of the GNU Library GPL or the + Mozilla Public License 1.1. + + ++The Licenses ++============ ++ ++### GNU Library GPL ++ ++ GNU LESSER GENERAL PUBLIC LICENSE ++ Version 2.1, February 1999 ++ ++ Copyright (C) 1991, 1999 Free Software Foundation, Inc. ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++[This is the first released version of the Lesser GPL. It also counts ++ as the successor of the GNU Library Public License, version 2, hence ++ the version number 2.1.] ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++Licenses are intended to guarantee your freedom to share and change ++free software--to make sure the software is free for all its users. ++ ++ This license, the Lesser General Public License, applies to some ++specially designated software packages--typically libraries--of the ++Free Software Foundation and other authors who decide to use it. You ++can use it too, but we suggest you first think carefully about whether ++this license or the ordinary General Public License is the better ++strategy to use in any particular case, based on the explanations below. ++ ++ When we speak of free software, we are referring to freedom of use, ++not price. Our General Public Licenses are designed to make sure that ++you have the freedom to distribute copies of free software (and charge ++for this service if you wish); that you receive source code or can get ++it if you want it; that you can change the software and use pieces of ++it in new free programs; and that you are informed that you can do ++these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++distributors to deny you these rights or to ask you to surrender these ++rights. These restrictions translate to certain responsibilities for ++you if you distribute copies of the library or if you modify it. ++ ++ For example, if you distribute copies of the library, whether gratis ++or for a fee, you must give the recipients all the rights that we gave ++you. You must make sure that they, too, receive or can get the source ++code. If you link other code with the library, you must provide ++complete object files to the recipients, so that they can relink them ++with the library after making changes to the library and recompiling ++it. And you must show them these terms so they know their rights. ++ ++ We protect your rights with a two-step method: (1) we copyright the ++library, and (2) we offer you this license, which gives you legal ++permission to copy, distribute and/or modify the library. ++ ++ To protect each distributor, we want to make it very clear that ++there is no warranty for the free library. Also, if the library is ++modified by someone else and passed on, the recipients should know ++that what they have is not the original version, so that the original ++author's reputation will not be affected by problems that might be ++introduced by others. ++ ++ Finally, software patents pose a constant threat to the existence of ++any free program. We wish to make sure that a company cannot ++effectively restrict the users of a free program by obtaining a ++restrictive license from a patent holder. Therefore, we insist that ++any patent license obtained for a version of the library must be ++consistent with the full freedom of use specified in this license. ++ ++ Most GNU software, including some libraries, is covered by the ++ordinary GNU General Public License. This license, the GNU Lesser ++General Public License, applies to certain designated libraries, and ++is quite different from the ordinary General Public License. We use ++this license for certain libraries in order to permit linking those ++libraries into non-free programs. ++ ++ When a program is linked with a library, whether statically or using ++a shared library, the combination of the two is legally speaking a ++combined work, a derivative of the original library. The ordinary ++General Public License therefore permits such linking only if the ++entire combination fits its criteria of freedom. The Lesser General ++Public License permits more lax criteria for linking other code with ++the library. ++ ++ We call this license the "Lesser" General Public License because it ++does Less to protect the user's freedom than the ordinary General ++Public License. It also provides other free software developers Less ++of an advantage over competing non-free programs. These disadvantages ++are the reason we use the ordinary General Public License for many ++libraries. However, the Lesser license provides advantages in certain ++special circumstances. ++ ++ For example, on rare occasions, there may be a special need to ++encourage the widest possible use of a certain library, so that it becomes ++a de-facto standard. To achieve this, non-free programs must be ++allowed to use the library. A more frequent case is that a free ++library does the same job as widely used non-free libraries. In this ++case, there is little to gain by limiting the free library to free ++software only, so we use the Lesser General Public License. ++ ++ In other cases, permission to use a particular library in non-free ++programs enables a greater number of people to use a large body of ++free software. For example, permission to use the GNU C Library in ++non-free programs enables many more people to use the whole GNU ++operating system, as well as its variant, the GNU/Linux operating ++system. ++ ++ Although the Lesser General Public License is Less protective of the ++users' freedom, it does ensure that the user of a program that is ++linked with the Library has the freedom and the wherewithal to run ++that program using a modified version of the Library. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. Pay close attention to the difference between a ++"work based on the library" and a "work that uses the library". The ++former contains code derived from the library, whereas the latter must ++be combined with the library in order to run. ++ ++ GNU LESSER GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License Agreement applies to any software library or other ++program which contains a notice placed by the copyright holder or ++other authorized party saying it may be distributed under the terms of ++this Lesser General Public License (also called "this License"). ++Each licensee is addressed as "you". ++ ++ A "library" means a collection of software functions and/or data ++prepared so as to be conveniently linked with application programs ++(which use some of those functions and data) to form executables. ++ ++ The "Library", below, refers to any such software library or work ++which has been distributed under these terms. A "work based on the ++Library" means either the Library or any derivative work under ++copyright law: that is to say, a work containing the Library or a ++portion of it, either verbatim or with modifications and/or translated ++straightforwardly into another language. (Hereinafter, translation is ++included without limitation in the term "modification".) ++ ++ "Source code" for a work means the preferred form of the work for ++making modifications to it. For a library, complete source code means ++all the source code for all modules it contains, plus any associated ++interface definition files, plus the scripts used to control compilation ++and installation of the library. ++ ++ Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running a program using the Library is not restricted, and output from ++such a program is covered only if its contents constitute a work based ++on the Library (independent of the use of the Library in a tool for ++writing it). Whether that is true depends on what the Library does ++and what the program that uses the Library does. ++ ++ 1. You may copy and distribute verbatim copies of the Library's ++complete source code as you receive it, in any medium, provided that ++you conspicuously and appropriately publish on each copy an ++appropriate copyright notice and disclaimer of warranty; keep intact ++all the notices that refer to this License and to the absence of any ++warranty; and distribute a copy of this License along with the ++Library. ++ ++ You may charge a fee for the physical act of transferring a copy, ++and you may at your option offer warranty protection in exchange for a ++fee. ++ ++ 2. You may modify your copy or copies of the Library or any portion ++of it, thus forming a work based on the Library, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) The modified work must itself be a software library. ++ ++ b) You must cause the files modified to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ c) You must cause the whole of the work to be licensed at no ++ charge to all third parties under the terms of this License. ++ ++ d) If a facility in the modified Library refers to a function or a ++ table of data to be supplied by an application program that uses ++ the facility, other than as an argument passed when the facility ++ is invoked, then you must make a good faith effort to ensure that, ++ in the event an application does not supply such function or ++ table, the facility still operates, and performs whatever part of ++ its purpose remains meaningful. ++ ++ (For example, a function in a library to compute square roots has ++ a purpose that is entirely well-defined independent of the ++ application. Therefore, Subsection 2d requires that any ++ application-supplied function or table used by this function must ++ be optional: if the application does not supply it, the square ++ root function must still compute square roots.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Library, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Library, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote ++it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Library. ++ ++In addition, mere aggregation of another work not based on the Library ++with the Library (or with a work based on the Library) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may opt to apply the terms of the ordinary GNU General Public ++License instead of this License to a given copy of the Library. To do ++this, you must alter all the notices that refer to this License, so ++that they refer to the ordinary GNU General Public License, version 2, ++instead of to this License. (If a newer version than version 2 of the ++ordinary GNU General Public License has appeared, then you can specify ++that version instead if you wish.) Do not make any other change in ++these notices. ++ ++ Once this change is made in a given copy, it is irreversible for ++that copy, so the ordinary GNU General Public License applies to all ++subsequent copies and derivative works made from that copy. ++ ++ This option is useful when you wish to copy part of the code of ++the Library into a program that is not a library. ++ ++ 4. You may copy and distribute the Library (or a portion or ++derivative of it, under Section 2) in object code or executable form ++under the terms of Sections 1 and 2 above provided that you accompany ++it with the complete corresponding machine-readable source code, which ++must be distributed under the terms of Sections 1 and 2 above on a ++medium customarily used for software interchange. ++ ++ If distribution of object code is made by offering access to copy ++from a designated place, then offering equivalent access to copy the ++source code from the same place satisfies the requirement to ++distribute the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 5. A program that contains no derivative of any portion of the ++Library, but is designed to work with the Library by being compiled or ++linked with it, is called a "work that uses the Library". Such a ++work, in isolation, is not a derivative work of the Library, and ++therefore falls outside the scope of this License. ++ ++ However, linking a "work that uses the Library" with the Library ++creates an executable that is a derivative of the Library (because it ++contains portions of the Library), rather than a "work that uses the ++library". The executable is therefore covered by this License. ++Section 6 states terms for distribution of such executables. ++ ++ When a "work that uses the Library" uses material from a header file ++that is part of the Library, the object code for the work may be a ++derivative work of the Library even though the source code is not. ++Whether this is true is especially significant if the work can be ++linked without the Library, or if the work is itself a library. The ++threshold for this to be true is not precisely defined by law. ++ ++ If such an object file uses only numerical parameters, data ++structure layouts and accessors, and small macros and small inline ++functions (ten lines or less in length), then the use of the object ++file is unrestricted, regardless of whether it is legally a derivative ++work. (Executables containing this object code plus portions of the ++Library will still fall under Section 6.) ++ ++ Otherwise, if the work is a derivative of the Library, you may ++distribute the object code for the work under the terms of Section 6. ++Any executables containing that work also fall under Section 6, ++whether or not they are linked directly with the Library itself. ++ ++ 6. As an exception to the Sections above, you may also combine or ++link a "work that uses the Library" with the Library to produce a ++work containing portions of the Library, and distribute that work ++under terms of your choice, provided that the terms permit ++modification of the work for the customer's own use and reverse ++engineering for debugging such modifications. ++ ++ You must give prominent notice with each copy of the work that the ++Library is used in it and that the Library and its use are covered by ++this License. You must supply a copy of this License. If the work ++during execution displays copyright notices, you must include the ++copyright notice for the Library among them, as well as a reference ++directing the user to the copy of this License. Also, you must do one ++of these things: ++ ++ a) Accompany the work with the complete corresponding ++ machine-readable source code for the Library including whatever ++ changes were used in the work (which must be distributed under ++ Sections 1 and 2 above); and, if the work is an executable linked ++ with the Library, with the complete machine-readable "work that ++ uses the Library", as object code and/or source code, so that the ++ user can modify the Library and then relink to produce a modified ++ executable containing the modified Library. (It is understood ++ that the user who changes the contents of definitions files in the ++ Library will not necessarily be able to recompile the application ++ to use the modified definitions.) ++ ++ b) Use a suitable shared library mechanism for linking with the ++ Library. A suitable mechanism is one that (1) uses at run time a ++ copy of the library already present on the user's computer system, ++ rather than copying library functions into the executable, and (2) ++ will operate properly with a modified version of the library, if ++ the user installs one, as long as the modified version is ++ interface-compatible with the version that the work was made with. ++ ++ c) Accompany the work with a written offer, valid for at ++ least three years, to give the same user the materials ++ specified in Subsection 6a, above, for a charge no more ++ than the cost of performing this distribution. ++ ++ d) If distribution of the work is made by offering access to copy ++ from a designated place, offer equivalent access to copy the above ++ specified materials from the same place. ++ ++ e) Verify that the user has already received a copy of these ++ materials or that you have already sent this user a copy. ++ ++ For an executable, the required form of the "work that uses the ++Library" must include any data and utility programs needed for ++reproducing the executable from it. However, as a special exception, ++the materials to be distributed need not include anything that is ++normally distributed (in either source or binary form) with the major ++components (compiler, kernel, and so on) of the operating system on ++which the executable runs, unless that component itself accompanies ++the executable. ++ ++ It may happen that this requirement contradicts the license ++restrictions of other proprietary libraries that do not normally ++accompany the operating system. Such a contradiction means you cannot ++use both them and the Library together in an executable that you ++distribute. ++ ++ 7. You may place library facilities that are a work based on the ++Library side-by-side in a single library together with other library ++facilities not covered by this License, and distribute such a combined ++library, provided that the separate distribution of the work based on ++the Library and of the other library facilities is otherwise ++permitted, and provided that you do these two things: ++ ++ a) Accompany the combined library with a copy of the same work ++ based on the Library, uncombined with any other library ++ facilities. This must be distributed under the terms of the ++ Sections above. ++ ++ b) Give prominent notice with the combined library of the fact ++ that part of it is a work based on the Library, and explaining ++ where to find the accompanying uncombined form of the same work. ++ ++ 8. You may not copy, modify, sublicense, link with, or distribute ++the Library except as expressly provided under this License. Any ++attempt otherwise to copy, modify, sublicense, link with, or ++distribute the Library is void, and will automatically terminate your ++rights under this License. However, parties who have received copies, ++or rights, from you under this License will not have their licenses ++terminated so long as such parties remain in full compliance. ++ ++ 9. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Library or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Library (or any work based on the ++Library), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Library or works based on it. ++ ++ 10. Each time you redistribute the Library (or any work based on the ++Library), the recipient automatically receives a license from the ++original licensor to copy, distribute, link with or modify the Library ++subject to these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties with ++this License. ++ ++ 11. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Library at all. For example, if a patent ++license would not permit royalty-free redistribution of the Library by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Library. ++ ++If any portion of this section is held invalid or unenforceable under any ++particular circumstance, the balance of the section is intended to apply, ++and the section as a whole is intended to apply in other circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 12. If the distribution and/or use of the Library is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Library under this License may add ++an explicit geographical distribution limitation excluding those countries, ++so that distribution is permitted only in or among countries not thus ++excluded. In such case, this License incorporates the limitation as if ++written in the body of this License. ++ ++ 13. The Free Software Foundation may publish revised and/or new ++versions of the Lesser General Public License from time to time. ++Such new versions will be similar in spirit to the present version, ++but may differ in detail to address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Library ++specifies a version number of this License which applies to it and ++"any later version", you have the option of following the terms and ++conditions either of that version or of any later version published by ++the Free Software Foundation. If the Library does not specify a ++license version number, you may choose any version ever published by ++the Free Software Foundation. ++ ++ 14. If you wish to incorporate parts of the Library into other free ++programs whose distribution conditions are incompatible with these, ++write to the author to ask for permission. For software which is ++copyrighted by the Free Software Foundation, write to the Free ++Software Foundation; we sometimes make exceptions for this. Our ++decision will be guided by the two goals of preserving the free status ++of all derivatives of our free software and of promoting the sharing ++and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO ++WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. ++EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR ++OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY ++KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE ++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ++LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME ++THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ++ ++ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN ++WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY ++AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU ++FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR ++CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE ++LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING ++RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A ++FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF ++SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH ++DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Libraries ++ ++ If you develop a new library, and you want it to be of the greatest ++possible use to the public, we recommend making it free software that ++everyone can redistribute and change. You can do so by permitting ++redistribution under these terms (or, alternatively, under the terms of the ++ordinary General Public License). ++ ++ To apply these terms, attach the following notices to the library. It is ++safest to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least the ++"copyright" line and a pointer to where the full notice is found. ++ ++ ++ Copyright (C) ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the library, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the ++ library `Frob' (a library for tweaking knobs) written by James Random Hacker. ++ ++ , 1 April 1990 ++ Ty Coon, President of Vice ++ ++That's all there is to it! ++ ++ ++### Mozilla Public License 1.1 ++ ++ MOZILLA PUBLIC LICENSE ++ Version 1.1 ++ ++ --------------- ++ ++1. Definitions. ++ ++ 1.0.1. "Commercial Use" means distribution or otherwise making the ++ Covered Code available to a third party. ++ ++ 1.1. "Contributor" means each entity that creates or contributes to ++ the creation of Modifications. ++ ++ 1.2. "Contributor Version" means the combination of the Original ++ Code, prior Modifications used by a Contributor, and the Modifications ++ made by that particular Contributor. ++ ++ 1.3. "Covered Code" means the Original Code or Modifications or the ++ combination of the Original Code and Modifications, in each case ++ including portions thereof. ++ ++ 1.4. "Electronic Distribution Mechanism" means a mechanism generally ++ accepted in the software development community for the electronic ++ transfer of data. ++ ++ 1.5. "Executable" means Covered Code in any form other than Source ++ Code. ++ ++ 1.6. "Initial Developer" means the individual or entity identified ++ as the Initial Developer in the Source Code notice required by Exhibit ++ A. ++ ++ 1.7. "Larger Work" means a work which combines Covered Code or ++ portions thereof with code not governed by the terms of this License. ++ ++ 1.8. "License" means this document. ++ ++ 1.8.1. "Licensable" means having the right to grant, to the maximum ++ extent possible, whether at the time of the initial grant or ++ subsequently acquired, any and all of the rights conveyed herein. ++ ++ 1.9. "Modifications" means any addition to or deletion from the ++ substance or structure of either the Original Code or any previous ++ Modifications. When Covered Code is released as a series of files, a ++ Modification is: ++ A. Any addition to or deletion from the contents of a file ++ containing Original Code or previous Modifications. ++ ++ B. Any new file that contains any part of the Original Code or ++ previous Modifications. ++ ++ 1.10. "Original Code" means Source Code of computer software code ++ which is described in the Source Code notice required by Exhibit A as ++ Original Code, and which, at the time of its release under this ++ License is not already Covered Code governed by this License. ++ ++ 1.10.1. "Patent Claims" means any patent claim(s), now owned or ++ hereafter acquired, including without limitation, method, process, ++ and apparatus claims, in any patent Licensable by grantor. ++ ++ 1.11. "Source Code" means the preferred form of the Covered Code for ++ making modifications to it, including all modules it contains, plus ++ any associated interface definition files, scripts used to control ++ compilation and installation of an Executable, or source code ++ differential comparisons against either the Original Code or another ++ well known, available Covered Code of the Contributor's choice. The ++ Source Code can be in a compressed or archival form, provided the ++ appropriate decompression or de-archiving software is widely available ++ for no charge. ++ ++ 1.12. "You" (or "Your") means an individual or a legal entity ++ exercising rights under, and complying with all of the terms of, this ++ License or a future version of this License issued under Section 6.1. ++ For legal entities, "You" includes any entity which controls, is ++ controlled by, or is under common control with You. For purposes of ++ this definition, "control" means (a) the power, direct or indirect, ++ to cause the direction or management of such entity, whether by ++ contract or otherwise, or (b) ownership of more than fifty percent ++ (50%) of the outstanding shares or beneficial ownership of such ++ entity. ++ ++2. Source Code License. ++ ++ 2.1. The Initial Developer Grant. ++ The Initial Developer hereby grants You a world-wide, royalty-free, ++ non-exclusive license, subject to third party intellectual property ++ claims: ++ (a) under intellectual property rights (other than patent or ++ trademark) Licensable by Initial Developer to use, reproduce, ++ modify, display, perform, sublicense and distribute the Original ++ Code (or portions thereof) with or without Modifications, and/or ++ as part of a Larger Work; and ++ ++ (b) under Patents Claims infringed by the making, using or ++ selling of Original Code, to make, have made, use, practice, ++ sell, and offer for sale, and/or otherwise dispose of the ++ Original Code (or portions thereof). ++ ++ (c) the licenses granted in this Section 2.1(a) and (b) are ++ effective on the date Initial Developer first distributes ++ Original Code under the terms of this License. ++ ++ (d) Notwithstanding Section 2.1(b) above, no patent license is ++ granted: 1) for code that You delete from the Original Code; 2) ++ separate from the Original Code; or 3) for infringements caused ++ by: i) the modification of the Original Code or ii) the ++ combination of the Original Code with other software or devices. ++ ++ 2.2. Contributor Grant. ++ Subject to third party intellectual property claims, each Contributor ++ hereby grants You a world-wide, royalty-free, non-exclusive license ++ ++ (a) under intellectual property rights (other than patent or ++ trademark) Licensable by Contributor, to use, reproduce, modify, ++ display, perform, sublicense and distribute the Modifications ++ created by such Contributor (or portions thereof) either on an ++ unmodified basis, with other Modifications, as Covered Code ++ and/or as part of a Larger Work; and ++ ++ (b) under Patent Claims infringed by the making, using, or ++ selling of Modifications made by that Contributor either alone ++ and/or in combination with its Contributor Version (or portions ++ of such combination), to make, use, sell, offer for sale, have ++ made, and/or otherwise dispose of: 1) Modifications made by that ++ Contributor (or portions thereof); and 2) the combination of ++ Modifications made by that Contributor with its Contributor ++ Version (or portions of such combination). ++ ++ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are ++ effective on the date Contributor first makes Commercial Use of ++ the Covered Code. ++ ++ (d) Notwithstanding Section 2.2(b) above, no patent license is ++ granted: 1) for any code that Contributor has deleted from the ++ Contributor Version; 2) separate from the Contributor Version; ++ 3) for infringements caused by: i) third party modifications of ++ Contributor Version or ii) the combination of Modifications made ++ by that Contributor with other software (except as part of the ++ Contributor Version) or other devices; or 4) under Patent Claims ++ infringed by Covered Code in the absence of Modifications made by ++ that Contributor. ++ ++3. Distribution Obligations. ++ ++ 3.1. Application of License. ++ The Modifications which You create or to which You contribute are ++ governed by the terms of this License, including without limitation ++ Section 2.2. The Source Code version of Covered Code may be ++ distributed only under the terms of this License or a future version ++ of this License released under Section 6.1, and You must include a ++ copy of this License with every copy of the Source Code You ++ distribute. You may not offer or impose any terms on any Source Code ++ version that alters or restricts the applicable version of this ++ License or the recipients' rights hereunder. However, You may include ++ an additional document offering the additional rights described in ++ Section 3.5. ++ ++ 3.2. Availability of Source Code. ++ Any Modification which You create or to which You contribute must be ++ made available in Source Code form under the terms of this License ++ either on the same media as an Executable version or via an accepted ++ Electronic Distribution Mechanism to anyone to whom you made an ++ Executable version available; and if made available via Electronic ++ Distribution Mechanism, must remain available for at least twelve (12) ++ months after the date it initially became available, or at least six ++ (6) months after a subsequent version of that particular Modification ++ has been made available to such recipients. You are responsible for ++ ensuring that the Source Code version remains available even if the ++ Electronic Distribution Mechanism is maintained by a third party. ++ ++ 3.3. Description of Modifications. ++ You must cause all Covered Code to which You contribute to contain a ++ file documenting the changes You made to create that Covered Code and ++ the date of any change. You must include a prominent statement that ++ the Modification is derived, directly or indirectly, from Original ++ Code provided by the Initial Developer and including the name of the ++ Initial Developer in (a) the Source Code, and (b) in any notice in an ++ Executable version or related documentation in which You describe the ++ origin or ownership of the Covered Code. ++ ++ 3.4. Intellectual Property Matters ++ (a) Third Party Claims. ++ If Contributor has knowledge that a license under a third party's ++ intellectual property rights is required to exercise the rights ++ granted by such Contributor under Sections 2.1 or 2.2, ++ Contributor must include a text file with the Source Code ++ distribution titled "LEGAL" which describes the claim and the ++ party making the claim in sufficient detail that a recipient will ++ know whom to contact. If Contributor obtains such knowledge after ++ the Modification is made available as described in Section 3.2, ++ Contributor shall promptly modify the LEGAL file in all copies ++ Contributor makes available thereafter and shall take other steps ++ (such as notifying appropriate mailing lists or newsgroups) ++ reasonably calculated to inform those who received the Covered ++ Code that new knowledge has been obtained. ++ ++ (b) Contributor APIs. ++ If Contributor's Modifications include an application programming ++ interface and Contributor has knowledge of patent licenses which ++ are reasonably necessary to implement that API, Contributor must ++ also include this information in the LEGAL file. ++ ++ (c) Representations. ++ Contributor represents that, except as disclosed pursuant to ++ Section 3.4(a) above, Contributor believes that Contributor's ++ Modifications are Contributor's original creation(s) and/or ++ Contributor has sufficient rights to grant the rights conveyed by ++ this License. ++ ++ 3.5. Required Notices. ++ You must duplicate the notice in Exhibit A in each file of the Source ++ Code. If it is not possible to put such notice in a particular Source ++ Code file due to its structure, then You must include such notice in a ++ location (such as a relevant directory) where a user would be likely ++ to look for such a notice. If You created one or more Modification(s) ++ You may add your name as a Contributor to the notice described in ++ Exhibit A. You must also duplicate this License in any documentation ++ for the Source Code where You describe recipients' rights or ownership ++ rights relating to Covered Code. You may choose to offer, and to ++ charge a fee for, warranty, support, indemnity or liability ++ obligations to one or more recipients of Covered Code. However, You ++ may do so only on Your own behalf, and not on behalf of the Initial ++ Developer or any Contributor. You must make it absolutely clear than ++ any such warranty, support, indemnity or liability obligation is ++ offered by You alone, and You hereby agree to indemnify the Initial ++ Developer and every Contributor for any liability incurred by the ++ Initial Developer or such Contributor as a result of warranty, ++ support, indemnity or liability terms You offer. ++ ++ 3.6. Distribution of Executable Versions. ++ You may distribute Covered Code in Executable form only if the ++ requirements of Section 3.1-3.5 have been met for that Covered Code, ++ and if You include a notice stating that the Source Code version of ++ the Covered Code is available under the terms of this License, ++ including a description of how and where You have fulfilled the ++ obligations of Section 3.2. The notice must be conspicuously included ++ in any notice in an Executable version, related documentation or ++ collateral in which You describe recipients' rights relating to the ++ Covered Code. You may distribute the Executable version of Covered ++ Code or ownership rights under a license of Your choice, which may ++ contain terms different from this License, provided that You are in ++ compliance with the terms of this License and that the license for the ++ Executable version does not attempt to limit or alter the recipient's ++ rights in the Source Code version from the rights set forth in this ++ License. If You distribute the Executable version under a different ++ license You must make it absolutely clear that any terms which differ ++ from this License are offered by You alone, not by the Initial ++ Developer or any Contributor. You hereby agree to indemnify the ++ Initial Developer and every Contributor for any liability incurred by ++ the Initial Developer or such Contributor as a result of any such ++ terms You offer. ++ ++ 3.7. Larger Works. ++ You may create a Larger Work by combining Covered Code with other code ++ not governed by the terms of this License and distribute the Larger ++ Work as a single product. In such a case, You must make sure the ++ requirements of this License are fulfilled for the Covered Code. ++ ++4. Inability to Comply Due to Statute or Regulation. ++ ++ If it is impossible for You to comply with any of the terms of this ++ License with respect to some or all of the Covered Code due to ++ statute, judicial order, or regulation then You must: (a) comply with ++ the terms of this License to the maximum extent possible; and (b) ++ describe the limitations and the code they affect. Such description ++ must be included in the LEGAL file described in Section 3.4 and must ++ be included with all distributions of the Source Code. Except to the ++ extent prohibited by statute or regulation, such description must be ++ sufficiently detailed for a recipient of ordinary skill to be able to ++ understand it. ++ ++5. Application of this License. ++ ++ This License applies to code to which the Initial Developer has ++ attached the notice in Exhibit A and to related Covered Code. ++ ++6. Versions of the License. ++ ++ 6.1. New Versions. ++ Netscape Communications Corporation ("Netscape") may publish revised ++ and/or new versions of the License from time to time. Each version ++ will be given a distinguishing version number. ++ ++ 6.2. Effect of New Versions. ++ Once Covered Code has been published under a particular version of the ++ License, You may always continue to use it under the terms of that ++ version. You may also choose to use such Covered Code under the terms ++ of any subsequent version of the License published by Netscape. No one ++ other than Netscape has the right to modify the terms applicable to ++ Covered Code created under this License. ++ ++ 6.3. Derivative Works. ++ If You create or use a modified version of this License (which you may ++ only do in order to apply it to code which is not already Covered Code ++ governed by this License), You must (a) rename Your license so that ++ the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", ++ "MPL", "NPL" or any confusingly similar phrase do not appear in your ++ license (except to note that your license differs from this License) ++ and (b) otherwise make it clear that Your version of the license ++ contains terms which differ from the Mozilla Public License and ++ Netscape Public License. (Filling in the name of the Initial ++ Developer, Original Code or Contributor in the notice described in ++ Exhibit A shall not of themselves be deemed to be modifications of ++ this License.) ++ ++7. DISCLAIMER OF WARRANTY. ++ ++ COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, ++ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, ++ WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF ++ DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. ++ THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE ++ IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, ++ YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE ++ COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER ++ OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ++ ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. ++ ++8. TERMINATION. ++ ++ 8.1. This License and the rights granted hereunder will terminate ++ automatically if You fail to comply with terms herein and fail to cure ++ such breach within 30 days of becoming aware of the breach. All ++ sublicenses to the Covered Code which are properly granted shall ++ survive any termination of this License. Provisions which, by their ++ nature, must remain in effect beyond the termination of this License ++ shall survive. ++ ++ 8.2. If You initiate litigation by asserting a patent infringement ++ claim (excluding declatory judgment actions) against Initial Developer ++ or a Contributor (the Initial Developer or Contributor against whom ++ You file such action is referred to as "Participant") alleging that: ++ ++ (a) such Participant's Contributor Version directly or indirectly ++ infringes any patent, then any and all rights granted by such ++ Participant to You under Sections 2.1 and/or 2.2 of this License ++ shall, upon 60 days notice from Participant terminate prospectively, ++ unless if within 60 days after receipt of notice You either: (i) ++ agree in writing to pay Participant a mutually agreeable reasonable ++ royalty for Your past and future use of Modifications made by such ++ Participant, or (ii) withdraw Your litigation claim with respect to ++ the Contributor Version against such Participant. If within 60 days ++ of notice, a reasonable royalty and payment arrangement are not ++ mutually agreed upon in writing by the parties or the litigation claim ++ is not withdrawn, the rights granted by Participant to You under ++ Sections 2.1 and/or 2.2 automatically terminate at the expiration of ++ the 60 day notice period specified above. ++ ++ (b) any software, hardware, or device, other than such Participant's ++ Contributor Version, directly or indirectly infringes any patent, then ++ any rights granted to You by such Participant under Sections 2.1(b) ++ and 2.2(b) are revoked effective as of the date You first made, used, ++ sold, distributed, or had made, Modifications made by that ++ Participant. ++ ++ 8.3. If You assert a patent infringement claim against Participant ++ alleging that such Participant's Contributor Version directly or ++ indirectly infringes any patent where such claim is resolved (such as ++ by license or settlement) prior to the initiation of patent ++ infringement litigation, then the reasonable value of the licenses ++ granted by such Participant under Sections 2.1 or 2.2 shall be taken ++ into account in determining the amount or value of any payment or ++ license. ++ ++ 8.4. In the event of termination under Sections 8.1 or 8.2 above, ++ all end user license agreements (excluding distributors and resellers) ++ which have been validly granted by You or any distributor hereunder ++ prior to termination shall survive termination. ++ ++9. LIMITATION OF LIABILITY. ++ ++ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT ++ (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL ++ DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, ++ OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ++ ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY ++ CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, ++ WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER ++ COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN ++ INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF ++ LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY ++ RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW ++ PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE ++ EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO ++ THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. ++ ++10. U.S. GOVERNMENT END USERS. ++ ++ The Covered Code is a "commercial item," as that term is defined in ++ 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer ++ software" and "commercial computer software documentation," as such ++ terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 ++ C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), ++ all U.S. Government End Users acquire Covered Code with only those ++ rights set forth herein. ++ ++11. MISCELLANEOUS. ++ ++ This License represents the complete agreement concerning subject ++ matter hereof. If any provision of this License is held to be ++ unenforceable, such provision shall be reformed only to the extent ++ necessary to make it enforceable. This License shall be governed by ++ California law provisions (except to the extent applicable law, if ++ any, provides otherwise), excluding its conflict-of-law provisions. ++ With respect to disputes in which at least one party is a citizen of, ++ or an entity chartered or registered to do business in the United ++ States of America, any litigation relating to this License shall be ++ subject to the jurisdiction of the Federal Courts of the Northern ++ District of California, with venue lying in Santa Clara County, ++ California, with the losing party responsible for costs, including ++ without limitation, court costs and reasonable attorneys' fees and ++ expenses. The application of the United Nations Convention on ++ Contracts for the International Sale of Goods is expressly excluded. ++ Any law or regulation which provides that the language of a contract ++ shall be construed against the drafter shall not apply to this ++ License. ++ ++12. RESPONSIBILITY FOR CLAIMS. ++ ++ As between Initial Developer and the Contributors, each party is ++ responsible for claims and damages arising, directly or indirectly, ++ out of its utilization of rights under this License and You agree to ++ work with Initial Developer and Contributors to distribute such ++ responsibility on an equitable basis. Nothing herein is intended or ++ shall be deemed to constitute any admission of liability. ++ ++13. MULTIPLE-LICENSED CODE. ++ ++ Initial Developer may designate portions of the Covered Code as ++ "Multiple-Licensed". "Multiple-Licensed" means that the Initial ++ Developer permits you to utilize portions of the Covered Code under ++ Your choice of the NPL or the alternative licenses, if any, specified ++ by the Initial Developer in the file described in Exhibit A. ++ ++EXHIBIT A -Mozilla Public License. ++ ++ ``The contents of this file are subject to the Mozilla Public License ++ Version 1.1 (the "License"); you may not use this file except in ++ compliance with the License. You may obtain a copy of the License at ++ http://www.mozilla.org/MPL/ ++ ++ Software distributed under the License is distributed on an "AS IS" ++ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the ++ License for the specific language governing rights and limitations ++ under the License. ++ ++ The Original Code is ______________________________________. ++ ++ The Initial Developer of the Original Code is ________________________. ++ Portions created by ______________________ are Copyright (C) ______ ++ _______________________. All Rights Reserved. ++ ++ Contributor(s): ______________________________________. ++ ++ Alternatively, the contents of this file may be used under the terms ++ of the _____ license (the "[___] License"), in which case the ++ provisions of [______] License are applicable instead of those ++ above. If you wish to allow use of your version of this file only ++ under the terms of the [____] License and not to allow others to use ++ your version of this file under the MPL, indicate your decision by ++ deleting the provisions above and replace them with the notice and ++ other provisions required by the [___] License. If you do not delete ++ the provisions above, a recipient may use your version of this file ++ under either the MPL or the [___] License." ++ ++ [NOTE: The text of this Exhibit A may differ slightly from the text of ++ the notices in the Source Code files of the Original Code. You should ++ use the text of this Exhibit A rather than the text found in the ++ Original Code Source Code for Your Modifications.] +diff --git a/MPL-1.1.html b/MPL-1.1.html +deleted file mode 100644 +index 7729f6c..0000000 +--- a/MPL-1.1.html ++++ /dev/null +@@ -1,840 +0,0 @@ +- +- +- +- +- +- +- +- +- +- +- Mozilla Public License version 1.1 +- +- +- +- +- +- +- +-
        MOZILLA PUBLIC LICENSE +- +-
        Version 1.1 +- +-

        +- +-


        +- +- +- +-

        1. Definitions. +- +- +-

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


        3. Distribution Obligations. +- +- +-

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

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

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

          3.4. Intellectual Property Matters +- +-

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


        EXHIBIT A -Mozilla Public License. +- +-

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

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

          The Original Code is ______________________________________. +- +-

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

          Contributor(s): ______________________________________. +- +-

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

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

          +- +- +- +- +- +diff --git a/Makefile.am b/Makefile.am +index bb89e98..34a01d3 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -7,4 +7,4 @@ pkgconfig_DATA= libgdiplus.pc + + DISTCLEANFILES= libgdiplus.pc + +-EXTRA_DIST = libgdiplus.pc.in LICENSE MPL-1.1.html ++EXTRA_DIST = libgdiplus.pc.in LICENSE +-- +2.19.2 + diff --git a/package/libgdiplus/0002-Update-LICENSE-to-match-the-headers-of-the-source-fi.patch b/package/libgdiplus/0002-Update-LICENSE-to-match-the-headers-of-the-source-fi.patch new file mode 100644 index 0000000000..3ddfe7c37c --- /dev/null +++ b/package/libgdiplus/0002-Update-LICENSE-to-match-the-headers-of-the-source-fi.patch @@ -0,0 +1,1018 @@ +From 7ac3970c792ffbbf53e4168e086fae33fab39ce3 Mon Sep 17 00:00:00 2001 +From: Frederik Carlier +Date: Tue, 17 Jul 2018 23:24:51 +0200 +Subject: [PATCH] Update LICENSE to match the headers of the source files + +Upstream: 947e525d1025200623f686d8efe4c0094c5d2380 +Signed-off-by: Thomas Petazzoni +--- + LICENSE | 998 +------------------------------------------------------- + 1 file changed, 14 insertions(+), 984 deletions(-) + +diff --git a/LICENSE b/LICENSE +index b3164bb..2342cc9 100644 +--- a/LICENSE ++++ b/LICENSE +@@ -1,984 +1,14 @@ +-Libgdiplus is licensed under the terms of the GNU Library GPL or the +-Mozilla Public License 1.1. +- +- +-The Licenses +-============ +- +-### GNU Library GPL +- +- GNU LESSER GENERAL PUBLIC LICENSE +- Version 2.1, February 1999 +- +- Copyright (C) 1991, 1999 Free Software Foundation, Inc. +- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +- Everyone is permitted to copy and distribute verbatim copies +- of this license document, but changing it is not allowed. +- +-[This is the first released version of the Lesser GPL. It also counts +- as the successor of the GNU Library Public License, version 2, hence +- the version number 2.1.] +- +- Preamble +- +- The licenses for most software are designed to take away your +-freedom to share and change it. By contrast, the GNU General Public +-Licenses are intended to guarantee your freedom to share and change +-free software--to make sure the software is free for all its users. +- +- This license, the Lesser General Public License, applies to some +-specially designated software packages--typically libraries--of the +-Free Software Foundation and other authors who decide to use it. You +-can use it too, but we suggest you first think carefully about whether +-this license or the ordinary General Public License is the better +-strategy to use in any particular case, based on the explanations below. +- +- When we speak of free software, we are referring to freedom of use, +-not price. Our General Public Licenses are designed to make sure that +-you have the freedom to distribute copies of free software (and charge +-for this service if you wish); that you receive source code or can get +-it if you want it; that you can change the software and use pieces of +-it in new free programs; and that you are informed that you can do +-these things. +- +- To protect your rights, we need to make restrictions that forbid +-distributors to deny you these rights or to ask you to surrender these +-rights. These restrictions translate to certain responsibilities for +-you if you distribute copies of the library or if you modify it. +- +- For example, if you distribute copies of the library, whether gratis +-or for a fee, you must give the recipients all the rights that we gave +-you. You must make sure that they, too, receive or can get the source +-code. If you link other code with the library, you must provide +-complete object files to the recipients, so that they can relink them +-with the library after making changes to the library and recompiling +-it. And you must show them these terms so they know their rights. +- +- We protect your rights with a two-step method: (1) we copyright the +-library, and (2) we offer you this license, which gives you legal +-permission to copy, distribute and/or modify the library. +- +- To protect each distributor, we want to make it very clear that +-there is no warranty for the free library. Also, if the library is +-modified by someone else and passed on, the recipients should know +-that what they have is not the original version, so that the original +-author's reputation will not be affected by problems that might be +-introduced by others. +- +- Finally, software patents pose a constant threat to the existence of +-any free program. We wish to make sure that a company cannot +-effectively restrict the users of a free program by obtaining a +-restrictive license from a patent holder. Therefore, we insist that +-any patent license obtained for a version of the library must be +-consistent with the full freedom of use specified in this license. +- +- Most GNU software, including some libraries, is covered by the +-ordinary GNU General Public License. This license, the GNU Lesser +-General Public License, applies to certain designated libraries, and +-is quite different from the ordinary General Public License. We use +-this license for certain libraries in order to permit linking those +-libraries into non-free programs. +- +- When a program is linked with a library, whether statically or using +-a shared library, the combination of the two is legally speaking a +-combined work, a derivative of the original library. The ordinary +-General Public License therefore permits such linking only if the +-entire combination fits its criteria of freedom. The Lesser General +-Public License permits more lax criteria for linking other code with +-the library. +- +- We call this license the "Lesser" General Public License because it +-does Less to protect the user's freedom than the ordinary General +-Public License. It also provides other free software developers Less +-of an advantage over competing non-free programs. These disadvantages +-are the reason we use the ordinary General Public License for many +-libraries. However, the Lesser license provides advantages in certain +-special circumstances. +- +- For example, on rare occasions, there may be a special need to +-encourage the widest possible use of a certain library, so that it becomes +-a de-facto standard. To achieve this, non-free programs must be +-allowed to use the library. A more frequent case is that a free +-library does the same job as widely used non-free libraries. In this +-case, there is little to gain by limiting the free library to free +-software only, so we use the Lesser General Public License. +- +- In other cases, permission to use a particular library in non-free +-programs enables a greater number of people to use a large body of +-free software. For example, permission to use the GNU C Library in +-non-free programs enables many more people to use the whole GNU +-operating system, as well as its variant, the GNU/Linux operating +-system. +- +- Although the Lesser General Public License is Less protective of the +-users' freedom, it does ensure that the user of a program that is +-linked with the Library has the freedom and the wherewithal to run +-that program using a modified version of the Library. +- +- The precise terms and conditions for copying, distribution and +-modification follow. Pay close attention to the difference between a +-"work based on the library" and a "work that uses the library". The +-former contains code derived from the library, whereas the latter must +-be combined with the library in order to run. +- +- GNU LESSER GENERAL PUBLIC LICENSE +- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +- +- 0. This License Agreement applies to any software library or other +-program which contains a notice placed by the copyright holder or +-other authorized party saying it may be distributed under the terms of +-this Lesser General Public License (also called "this License"). +-Each licensee is addressed as "you". +- +- A "library" means a collection of software functions and/or data +-prepared so as to be conveniently linked with application programs +-(which use some of those functions and data) to form executables. +- +- The "Library", below, refers to any such software library or work +-which has been distributed under these terms. A "work based on the +-Library" means either the Library or any derivative work under +-copyright law: that is to say, a work containing the Library or a +-portion of it, either verbatim or with modifications and/or translated +-straightforwardly into another language. (Hereinafter, translation is +-included without limitation in the term "modification".) +- +- "Source code" for a work means the preferred form of the work for +-making modifications to it. For a library, complete source code means +-all the source code for all modules it contains, plus any associated +-interface definition files, plus the scripts used to control compilation +-and installation of the library. +- +- Activities other than copying, distribution and modification are not +-covered by this License; they are outside its scope. The act of +-running a program using the Library is not restricted, and output from +-such a program is covered only if its contents constitute a work based +-on the Library (independent of the use of the Library in a tool for +-writing it). Whether that is true depends on what the Library does +-and what the program that uses the Library does. +- +- 1. You may copy and distribute verbatim copies of the Library's +-complete source code as you receive it, in any medium, provided that +-you conspicuously and appropriately publish on each copy an +-appropriate copyright notice and disclaimer of warranty; keep intact +-all the notices that refer to this License and to the absence of any +-warranty; and distribute a copy of this License along with the +-Library. +- +- You may charge a fee for the physical act of transferring a copy, +-and you may at your option offer warranty protection in exchange for a +-fee. +- +- 2. You may modify your copy or copies of the Library or any portion +-of it, thus forming a work based on the Library, and copy and +-distribute such modifications or work under the terms of Section 1 +-above, provided that you also meet all of these conditions: +- +- a) The modified work must itself be a software library. +- +- b) You must cause the files modified to carry prominent notices +- stating that you changed the files and the date of any change. +- +- c) You must cause the whole of the work to be licensed at no +- charge to all third parties under the terms of this License. +- +- d) If a facility in the modified Library refers to a function or a +- table of data to be supplied by an application program that uses +- the facility, other than as an argument passed when the facility +- is invoked, then you must make a good faith effort to ensure that, +- in the event an application does not supply such function or +- table, the facility still operates, and performs whatever part of +- its purpose remains meaningful. +- +- (For example, a function in a library to compute square roots has +- a purpose that is entirely well-defined independent of the +- application. Therefore, Subsection 2d requires that any +- application-supplied function or table used by this function must +- be optional: if the application does not supply it, the square +- root function must still compute square roots.) +- +-These requirements apply to the modified work as a whole. If +-identifiable sections of that work are not derived from the Library, +-and can be reasonably considered independent and separate works in +-themselves, then this License, and its terms, do not apply to those +-sections when you distribute them as separate works. But when you +-distribute the same sections as part of a whole which is a work based +-on the Library, the distribution of the whole must be on the terms of +-this License, whose permissions for other licensees extend to the +-entire whole, and thus to each and every part regardless of who wrote +-it. +- +-Thus, it is not the intent of this section to claim rights or contest +-your rights to work written entirely by you; rather, the intent is to +-exercise the right to control the distribution of derivative or +-collective works based on the Library. +- +-In addition, mere aggregation of another work not based on the Library +-with the Library (or with a work based on the Library) on a volume of +-a storage or distribution medium does not bring the other work under +-the scope of this License. +- +- 3. You may opt to apply the terms of the ordinary GNU General Public +-License instead of this License to a given copy of the Library. To do +-this, you must alter all the notices that refer to this License, so +-that they refer to the ordinary GNU General Public License, version 2, +-instead of to this License. (If a newer version than version 2 of the +-ordinary GNU General Public License has appeared, then you can specify +-that version instead if you wish.) Do not make any other change in +-these notices. +- +- Once this change is made in a given copy, it is irreversible for +-that copy, so the ordinary GNU General Public License applies to all +-subsequent copies and derivative works made from that copy. +- +- This option is useful when you wish to copy part of the code of +-the Library into a program that is not a library. +- +- 4. You may copy and distribute the Library (or a portion or +-derivative of it, under Section 2) in object code or executable form +-under the terms of Sections 1 and 2 above provided that you accompany +-it with the complete corresponding machine-readable source code, which +-must be distributed under the terms of Sections 1 and 2 above on a +-medium customarily used for software interchange. +- +- If distribution of object code is made by offering access to copy +-from a designated place, then offering equivalent access to copy the +-source code from the same place satisfies the requirement to +-distribute the source code, even though third parties are not +-compelled to copy the source along with the object code. +- +- 5. A program that contains no derivative of any portion of the +-Library, but is designed to work with the Library by being compiled or +-linked with it, is called a "work that uses the Library". Such a +-work, in isolation, is not a derivative work of the Library, and +-therefore falls outside the scope of this License. +- +- However, linking a "work that uses the Library" with the Library +-creates an executable that is a derivative of the Library (because it +-contains portions of the Library), rather than a "work that uses the +-library". The executable is therefore covered by this License. +-Section 6 states terms for distribution of such executables. +- +- When a "work that uses the Library" uses material from a header file +-that is part of the Library, the object code for the work may be a +-derivative work of the Library even though the source code is not. +-Whether this is true is especially significant if the work can be +-linked without the Library, or if the work is itself a library. The +-threshold for this to be true is not precisely defined by law. +- +- If such an object file uses only numerical parameters, data +-structure layouts and accessors, and small macros and small inline +-functions (ten lines or less in length), then the use of the object +-file is unrestricted, regardless of whether it is legally a derivative +-work. (Executables containing this object code plus portions of the +-Library will still fall under Section 6.) +- +- Otherwise, if the work is a derivative of the Library, you may +-distribute the object code for the work under the terms of Section 6. +-Any executables containing that work also fall under Section 6, +-whether or not they are linked directly with the Library itself. +- +- 6. As an exception to the Sections above, you may also combine or +-link a "work that uses the Library" with the Library to produce a +-work containing portions of the Library, and distribute that work +-under terms of your choice, provided that the terms permit +-modification of the work for the customer's own use and reverse +-engineering for debugging such modifications. +- +- You must give prominent notice with each copy of the work that the +-Library is used in it and that the Library and its use are covered by +-this License. You must supply a copy of this License. If the work +-during execution displays copyright notices, you must include the +-copyright notice for the Library among them, as well as a reference +-directing the user to the copy of this License. Also, you must do one +-of these things: +- +- a) Accompany the work with the complete corresponding +- machine-readable source code for the Library including whatever +- changes were used in the work (which must be distributed under +- Sections 1 and 2 above); and, if the work is an executable linked +- with the Library, with the complete machine-readable "work that +- uses the Library", as object code and/or source code, so that the +- user can modify the Library and then relink to produce a modified +- executable containing the modified Library. (It is understood +- that the user who changes the contents of definitions files in the +- Library will not necessarily be able to recompile the application +- to use the modified definitions.) +- +- b) Use a suitable shared library mechanism for linking with the +- Library. A suitable mechanism is one that (1) uses at run time a +- copy of the library already present on the user's computer system, +- rather than copying library functions into the executable, and (2) +- will operate properly with a modified version of the library, if +- the user installs one, as long as the modified version is +- interface-compatible with the version that the work was made with. +- +- c) Accompany the work with a written offer, valid for at +- least three years, to give the same user the materials +- specified in Subsection 6a, above, for a charge no more +- than the cost of performing this distribution. +- +- d) If distribution of the work is made by offering access to copy +- from a designated place, offer equivalent access to copy the above +- specified materials from the same place. +- +- e) Verify that the user has already received a copy of these +- materials or that you have already sent this user a copy. +- +- For an executable, the required form of the "work that uses the +-Library" must include any data and utility programs needed for +-reproducing the executable from it. However, as a special exception, +-the materials to be distributed need not include anything that is +-normally distributed (in either source or binary form) with the major +-components (compiler, kernel, and so on) of the operating system on +-which the executable runs, unless that component itself accompanies +-the executable. +- +- It may happen that this requirement contradicts the license +-restrictions of other proprietary libraries that do not normally +-accompany the operating system. Such a contradiction means you cannot +-use both them and the Library together in an executable that you +-distribute. +- +- 7. You may place library facilities that are a work based on the +-Library side-by-side in a single library together with other library +-facilities not covered by this License, and distribute such a combined +-library, provided that the separate distribution of the work based on +-the Library and of the other library facilities is otherwise +-permitted, and provided that you do these two things: +- +- a) Accompany the combined library with a copy of the same work +- based on the Library, uncombined with any other library +- facilities. This must be distributed under the terms of the +- Sections above. +- +- b) Give prominent notice with the combined library of the fact +- that part of it is a work based on the Library, and explaining +- where to find the accompanying uncombined form of the same work. +- +- 8. You may not copy, modify, sublicense, link with, or distribute +-the Library except as expressly provided under this License. Any +-attempt otherwise to copy, modify, sublicense, link with, or +-distribute the Library is void, and will automatically terminate your +-rights under this License. However, parties who have received copies, +-or rights, from you under this License will not have their licenses +-terminated so long as such parties remain in full compliance. +- +- 9. You are not required to accept this License, since you have not +-signed it. However, nothing else grants you permission to modify or +-distribute the Library or its derivative works. These actions are +-prohibited by law if you do not accept this License. Therefore, by +-modifying or distributing the Library (or any work based on the +-Library), you indicate your acceptance of this License to do so, and +-all its terms and conditions for copying, distributing or modifying +-the Library or works based on it. +- +- 10. Each time you redistribute the Library (or any work based on the +-Library), the recipient automatically receives a license from the +-original licensor to copy, distribute, link with or modify the Library +-subject to these terms and conditions. You may not impose any further +-restrictions on the recipients' exercise of the rights granted herein. +-You are not responsible for enforcing compliance by third parties with +-this License. +- +- 11. If, as a consequence of a court judgment or allegation of patent +-infringement or for any other reason (not limited to patent issues), +-conditions are imposed on you (whether by court order, agreement or +-otherwise) that contradict the conditions of this License, they do not +-excuse you from the conditions of this License. If you cannot +-distribute so as to satisfy simultaneously your obligations under this +-License and any other pertinent obligations, then as a consequence you +-may not distribute the Library at all. For example, if a patent +-license would not permit royalty-free redistribution of the Library by +-all those who receive copies directly or indirectly through you, then +-the only way you could satisfy both it and this License would be to +-refrain entirely from distribution of the Library. +- +-If any portion of this section is held invalid or unenforceable under any +-particular circumstance, the balance of the section is intended to apply, +-and the section as a whole is intended to apply in other circumstances. +- +-It is not the purpose of this section to induce you to infringe any +-patents or other property right claims or to contest validity of any +-such claims; this section has the sole purpose of protecting the +-integrity of the free software distribution system which is +-implemented by public license practices. Many people have made +-generous contributions to the wide range of software distributed +-through that system in reliance on consistent application of that +-system; it is up to the author/donor to decide if he or she is willing +-to distribute software through any other system and a licensee cannot +-impose that choice. +- +-This section is intended to make thoroughly clear what is believed to +-be a consequence of the rest of this License. +- +- 12. If the distribution and/or use of the Library is restricted in +-certain countries either by patents or by copyrighted interfaces, the +-original copyright holder who places the Library under this License may add +-an explicit geographical distribution limitation excluding those countries, +-so that distribution is permitted only in or among countries not thus +-excluded. In such case, this License incorporates the limitation as if +-written in the body of this License. +- +- 13. The Free Software Foundation may publish revised and/or new +-versions of the Lesser General Public License from time to time. +-Such new versions will be similar in spirit to the present version, +-but may differ in detail to address new problems or concerns. +- +-Each version is given a distinguishing version number. If the Library +-specifies a version number of this License which applies to it and +-"any later version", you have the option of following the terms and +-conditions either of that version or of any later version published by +-the Free Software Foundation. If the Library does not specify a +-license version number, you may choose any version ever published by +-the Free Software Foundation. +- +- 14. If you wish to incorporate parts of the Library into other free +-programs whose distribution conditions are incompatible with these, +-write to the author to ask for permission. For software which is +-copyrighted by the Free Software Foundation, write to the Free +-Software Foundation; we sometimes make exceptions for this. Our +-decision will be guided by the two goals of preserving the free status +-of all derivatives of our free software and of promoting the sharing +-and reuse of software generally. +- +- NO WARRANTY +- +- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. +- +- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +-DAMAGES. +- +- END OF TERMS AND CONDITIONS +- +- How to Apply These Terms to Your New Libraries +- +- If you develop a new library, and you want it to be of the greatest +-possible use to the public, we recommend making it free software that +-everyone can redistribute and change. You can do so by permitting +-redistribution under these terms (or, alternatively, under the terms of the +-ordinary General Public License). +- +- To apply these terms, attach the following notices to the library. It is +-safest to attach them to the start of each source file to most effectively +-convey the exclusion of warranty; and each file should have at least the +-"copyright" line and a pointer to where the full notice is found. +- +- +- Copyright (C) +- +- This library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- This library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with this library; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +- +-Also add information on how to contact you by electronic and paper mail. +- +-You should also get your employer (if you work as a programmer) or your +-school, if any, to sign a "copyright disclaimer" for the library, if +-necessary. Here is a sample; alter the names: +- +- Yoyodyne, Inc., hereby disclaims all copyright interest in the +- library `Frob' (a library for tweaking knobs) written by James Random Hacker. +- +- , 1 April 1990 +- Ty Coon, President of Vice +- +-That's all there is to it! +- +- +-### Mozilla Public License 1.1 +- +- MOZILLA PUBLIC LICENSE +- Version 1.1 +- +- --------------- +- +-1. Definitions. +- +- 1.0.1. "Commercial Use" means distribution or otherwise making the +- Covered Code available to a third party. +- +- 1.1. "Contributor" means each entity that creates or contributes to +- the creation of Modifications. +- +- 1.2. "Contributor Version" means the combination of the Original +- Code, prior Modifications used by a Contributor, and the Modifications +- made by that particular Contributor. +- +- 1.3. "Covered Code" means the Original Code or Modifications or the +- combination of the Original Code and Modifications, in each case +- including portions thereof. +- +- 1.4. "Electronic Distribution Mechanism" means a mechanism generally +- accepted in the software development community for the electronic +- transfer of data. +- +- 1.5. "Executable" means Covered Code in any form other than Source +- Code. +- +- 1.6. "Initial Developer" means the individual or entity identified +- as the Initial Developer in the Source Code notice required by Exhibit +- A. +- +- 1.7. "Larger Work" means a work which combines Covered Code or +- portions thereof with code not governed by the terms of this License. +- +- 1.8. "License" means this document. +- +- 1.8.1. "Licensable" means having the right to grant, to the maximum +- extent possible, whether at the time of the initial grant or +- subsequently acquired, any and all of the rights conveyed herein. +- +- 1.9. "Modifications" means any addition to or deletion from the +- substance or structure of either the Original Code or any previous +- Modifications. When Covered Code is released as a series of files, a +- Modification is: +- A. Any addition to or deletion from the contents of a file +- containing Original Code or previous Modifications. +- +- B. Any new file that contains any part of the Original Code or +- previous Modifications. +- +- 1.10. "Original Code" means Source Code of computer software code +- which is described in the Source Code notice required by Exhibit A as +- Original Code, and which, at the time of its release under this +- License is not already Covered Code governed by this License. +- +- 1.10.1. "Patent Claims" means any patent claim(s), now owned or +- hereafter acquired, including without limitation, method, process, +- and apparatus claims, in any patent Licensable by grantor. +- +- 1.11. "Source Code" means the preferred form of the Covered Code for +- making modifications to it, including all modules it contains, plus +- any associated interface definition files, scripts used to control +- compilation and installation of an Executable, or source code +- differential comparisons against either the Original Code or another +- well known, available Covered Code of the Contributor's choice. The +- Source Code can be in a compressed or archival form, provided the +- appropriate decompression or de-archiving software is widely available +- for no charge. +- +- 1.12. "You" (or "Your") means an individual or a legal entity +- exercising rights under, and complying with all of the terms of, this +- License or a future version of this License issued under Section 6.1. +- For legal entities, "You" includes any entity which controls, is +- controlled by, or is under common control with You. For purposes of +- this definition, "control" means (a) the power, direct or indirect, +- to cause the direction or management of such entity, whether by +- contract or otherwise, or (b) ownership of more than fifty percent +- (50%) of the outstanding shares or beneficial ownership of such +- entity. +- +-2. Source Code License. +- +- 2.1. The Initial Developer Grant. +- The Initial Developer hereby grants You a world-wide, royalty-free, +- non-exclusive license, subject to third party intellectual property +- claims: +- (a) under intellectual property rights (other than patent or +- trademark) Licensable by Initial Developer to use, reproduce, +- modify, display, perform, sublicense and distribute the Original +- Code (or portions thereof) with or without Modifications, and/or +- as part of a Larger Work; and +- +- (b) under Patents Claims infringed by the making, using or +- selling of Original Code, to make, have made, use, practice, +- sell, and offer for sale, and/or otherwise dispose of the +- Original Code (or portions thereof). +- +- (c) the licenses granted in this Section 2.1(a) and (b) are +- effective on the date Initial Developer first distributes +- Original Code under the terms of this License. +- +- (d) Notwithstanding Section 2.1(b) above, no patent license is +- granted: 1) for code that You delete from the Original Code; 2) +- separate from the Original Code; or 3) for infringements caused +- by: i) the modification of the Original Code or ii) the +- combination of the Original Code with other software or devices. +- +- 2.2. Contributor Grant. +- Subject to third party intellectual property claims, each Contributor +- hereby grants You a world-wide, royalty-free, non-exclusive license +- +- (a) under intellectual property rights (other than patent or +- trademark) Licensable by Contributor, to use, reproduce, modify, +- display, perform, sublicense and distribute the Modifications +- created by such Contributor (or portions thereof) either on an +- unmodified basis, with other Modifications, as Covered Code +- and/or as part of a Larger Work; and +- +- (b) under Patent Claims infringed by the making, using, or +- selling of Modifications made by that Contributor either alone +- and/or in combination with its Contributor Version (or portions +- of such combination), to make, use, sell, offer for sale, have +- made, and/or otherwise dispose of: 1) Modifications made by that +- Contributor (or portions thereof); and 2) the combination of +- Modifications made by that Contributor with its Contributor +- Version (or portions of such combination). +- +- (c) the licenses granted in Sections 2.2(a) and 2.2(b) are +- effective on the date Contributor first makes Commercial Use of +- the Covered Code. +- +- (d) Notwithstanding Section 2.2(b) above, no patent license is +- granted: 1) for any code that Contributor has deleted from the +- Contributor Version; 2) separate from the Contributor Version; +- 3) for infringements caused by: i) third party modifications of +- Contributor Version or ii) the combination of Modifications made +- by that Contributor with other software (except as part of the +- Contributor Version) or other devices; or 4) under Patent Claims +- infringed by Covered Code in the absence of Modifications made by +- that Contributor. +- +-3. Distribution Obligations. +- +- 3.1. Application of License. +- The Modifications which You create or to which You contribute are +- governed by the terms of this License, including without limitation +- Section 2.2. The Source Code version of Covered Code may be +- distributed only under the terms of this License or a future version +- of this License released under Section 6.1, and You must include a +- copy of this License with every copy of the Source Code You +- distribute. You may not offer or impose any terms on any Source Code +- version that alters or restricts the applicable version of this +- License or the recipients' rights hereunder. However, You may include +- an additional document offering the additional rights described in +- Section 3.5. +- +- 3.2. Availability of Source Code. +- Any Modification which You create or to which You contribute must be +- made available in Source Code form under the terms of this License +- either on the same media as an Executable version or via an accepted +- Electronic Distribution Mechanism to anyone to whom you made an +- Executable version available; and if made available via Electronic +- Distribution Mechanism, must remain available for at least twelve (12) +- months after the date it initially became available, or at least six +- (6) months after a subsequent version of that particular Modification +- has been made available to such recipients. You are responsible for +- ensuring that the Source Code version remains available even if the +- Electronic Distribution Mechanism is maintained by a third party. +- +- 3.3. Description of Modifications. +- You must cause all Covered Code to which You contribute to contain a +- file documenting the changes You made to create that Covered Code and +- the date of any change. You must include a prominent statement that +- the Modification is derived, directly or indirectly, from Original +- Code provided by the Initial Developer and including the name of the +- Initial Developer in (a) the Source Code, and (b) in any notice in an +- Executable version or related documentation in which You describe the +- origin or ownership of the Covered Code. +- +- 3.4. Intellectual Property Matters +- (a) Third Party Claims. +- If Contributor has knowledge that a license under a third party's +- intellectual property rights is required to exercise the rights +- granted by such Contributor under Sections 2.1 or 2.2, +- Contributor must include a text file with the Source Code +- distribution titled "LEGAL" which describes the claim and the +- party making the claim in sufficient detail that a recipient will +- know whom to contact. If Contributor obtains such knowledge after +- the Modification is made available as described in Section 3.2, +- Contributor shall promptly modify the LEGAL file in all copies +- Contributor makes available thereafter and shall take other steps +- (such as notifying appropriate mailing lists or newsgroups) +- reasonably calculated to inform those who received the Covered +- Code that new knowledge has been obtained. +- +- (b) Contributor APIs. +- If Contributor's Modifications include an application programming +- interface and Contributor has knowledge of patent licenses which +- are reasonably necessary to implement that API, Contributor must +- also include this information in the LEGAL file. +- +- (c) Representations. +- Contributor represents that, except as disclosed pursuant to +- Section 3.4(a) above, Contributor believes that Contributor's +- Modifications are Contributor's original creation(s) and/or +- Contributor has sufficient rights to grant the rights conveyed by +- this License. +- +- 3.5. Required Notices. +- You must duplicate the notice in Exhibit A in each file of the Source +- Code. If it is not possible to put such notice in a particular Source +- Code file due to its structure, then You must include such notice in a +- location (such as a relevant directory) where a user would be likely +- to look for such a notice. If You created one or more Modification(s) +- You may add your name as a Contributor to the notice described in +- Exhibit A. You must also duplicate this License in any documentation +- for the Source Code where You describe recipients' rights or ownership +- rights relating to Covered Code. You may choose to offer, and to +- charge a fee for, warranty, support, indemnity or liability +- obligations to one or more recipients of Covered Code. However, You +- may do so only on Your own behalf, and not on behalf of the Initial +- Developer or any Contributor. You must make it absolutely clear than +- any such warranty, support, indemnity or liability obligation is +- offered by You alone, and You hereby agree to indemnify the Initial +- Developer and every Contributor for any liability incurred by the +- Initial Developer or such Contributor as a result of warranty, +- support, indemnity or liability terms You offer. +- +- 3.6. Distribution of Executable Versions. +- You may distribute Covered Code in Executable form only if the +- requirements of Section 3.1-3.5 have been met for that Covered Code, +- and if You include a notice stating that the Source Code version of +- the Covered Code is available under the terms of this License, +- including a description of how and where You have fulfilled the +- obligations of Section 3.2. The notice must be conspicuously included +- in any notice in an Executable version, related documentation or +- collateral in which You describe recipients' rights relating to the +- Covered Code. You may distribute the Executable version of Covered +- Code or ownership rights under a license of Your choice, which may +- contain terms different from this License, provided that You are in +- compliance with the terms of this License and that the license for the +- Executable version does not attempt to limit or alter the recipient's +- rights in the Source Code version from the rights set forth in this +- License. If You distribute the Executable version under a different +- license You must make it absolutely clear that any terms which differ +- from this License are offered by You alone, not by the Initial +- Developer or any Contributor. You hereby agree to indemnify the +- Initial Developer and every Contributor for any liability incurred by +- the Initial Developer or such Contributor as a result of any such +- terms You offer. +- +- 3.7. Larger Works. +- You may create a Larger Work by combining Covered Code with other code +- not governed by the terms of this License and distribute the Larger +- Work as a single product. In such a case, You must make sure the +- requirements of this License are fulfilled for the Covered Code. +- +-4. Inability to Comply Due to Statute or Regulation. +- +- If it is impossible for You to comply with any of the terms of this +- License with respect to some or all of the Covered Code due to +- statute, judicial order, or regulation then You must: (a) comply with +- the terms of this License to the maximum extent possible; and (b) +- describe the limitations and the code they affect. Such description +- must be included in the LEGAL file described in Section 3.4 and must +- be included with all distributions of the Source Code. Except to the +- extent prohibited by statute or regulation, such description must be +- sufficiently detailed for a recipient of ordinary skill to be able to +- understand it. +- +-5. Application of this License. +- +- This License applies to code to which the Initial Developer has +- attached the notice in Exhibit A and to related Covered Code. +- +-6. Versions of the License. +- +- 6.1. New Versions. +- Netscape Communications Corporation ("Netscape") may publish revised +- and/or new versions of the License from time to time. Each version +- will be given a distinguishing version number. +- +- 6.2. Effect of New Versions. +- Once Covered Code has been published under a particular version of the +- License, You may always continue to use it under the terms of that +- version. You may also choose to use such Covered Code under the terms +- of any subsequent version of the License published by Netscape. No one +- other than Netscape has the right to modify the terms applicable to +- Covered Code created under this License. +- +- 6.3. Derivative Works. +- If You create or use a modified version of this License (which you may +- only do in order to apply it to code which is not already Covered Code +- governed by this License), You must (a) rename Your license so that +- the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", +- "MPL", "NPL" or any confusingly similar phrase do not appear in your +- license (except to note that your license differs from this License) +- and (b) otherwise make it clear that Your version of the license +- contains terms which differ from the Mozilla Public License and +- Netscape Public License. (Filling in the name of the Initial +- Developer, Original Code or Contributor in the notice described in +- Exhibit A shall not of themselves be deemed to be modifications of +- this License.) +- +-7. DISCLAIMER OF WARRANTY. +- +- COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, +- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +- WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF +- DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. +- THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE +- IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, +- YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE +- COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER +- OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF +- ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. +- +-8. TERMINATION. +- +- 8.1. This License and the rights granted hereunder will terminate +- automatically if You fail to comply with terms herein and fail to cure +- such breach within 30 days of becoming aware of the breach. All +- sublicenses to the Covered Code which are properly granted shall +- survive any termination of this License. Provisions which, by their +- nature, must remain in effect beyond the termination of this License +- shall survive. +- +- 8.2. If You initiate litigation by asserting a patent infringement +- claim (excluding declatory judgment actions) against Initial Developer +- or a Contributor (the Initial Developer or Contributor against whom +- You file such action is referred to as "Participant") alleging that: +- +- (a) such Participant's Contributor Version directly or indirectly +- infringes any patent, then any and all rights granted by such +- Participant to You under Sections 2.1 and/or 2.2 of this License +- shall, upon 60 days notice from Participant terminate prospectively, +- unless if within 60 days after receipt of notice You either: (i) +- agree in writing to pay Participant a mutually agreeable reasonable +- royalty for Your past and future use of Modifications made by such +- Participant, or (ii) withdraw Your litigation claim with respect to +- the Contributor Version against such Participant. If within 60 days +- of notice, a reasonable royalty and payment arrangement are not +- mutually agreed upon in writing by the parties or the litigation claim +- is not withdrawn, the rights granted by Participant to You under +- Sections 2.1 and/or 2.2 automatically terminate at the expiration of +- the 60 day notice period specified above. +- +- (b) any software, hardware, or device, other than such Participant's +- Contributor Version, directly or indirectly infringes any patent, then +- any rights granted to You by such Participant under Sections 2.1(b) +- and 2.2(b) are revoked effective as of the date You first made, used, +- sold, distributed, or had made, Modifications made by that +- Participant. +- +- 8.3. If You assert a patent infringement claim against Participant +- alleging that such Participant's Contributor Version directly or +- indirectly infringes any patent where such claim is resolved (such as +- by license or settlement) prior to the initiation of patent +- infringement litigation, then the reasonable value of the licenses +- granted by such Participant under Sections 2.1 or 2.2 shall be taken +- into account in determining the amount or value of any payment or +- license. +- +- 8.4. In the event of termination under Sections 8.1 or 8.2 above, +- all end user license agreements (excluding distributors and resellers) +- which have been validly granted by You or any distributor hereunder +- prior to termination shall survive termination. +- +-9. LIMITATION OF LIABILITY. +- +- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT +- (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL +- DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, +- OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR +- ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY +- CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, +- WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER +- COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN +- INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF +- LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY +- RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW +- PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE +- EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO +- THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. +- +-10. U.S. GOVERNMENT END USERS. +- +- The Covered Code is a "commercial item," as that term is defined in +- 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer +- software" and "commercial computer software documentation," as such +- terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 +- C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), +- all U.S. Government End Users acquire Covered Code with only those +- rights set forth herein. +- +-11. MISCELLANEOUS. +- +- This License represents the complete agreement concerning subject +- matter hereof. If any provision of this License is held to be +- unenforceable, such provision shall be reformed only to the extent +- necessary to make it enforceable. This License shall be governed by +- California law provisions (except to the extent applicable law, if +- any, provides otherwise), excluding its conflict-of-law provisions. +- With respect to disputes in which at least one party is a citizen of, +- or an entity chartered or registered to do business in the United +- States of America, any litigation relating to this License shall be +- subject to the jurisdiction of the Federal Courts of the Northern +- District of California, with venue lying in Santa Clara County, +- California, with the losing party responsible for costs, including +- without limitation, court costs and reasonable attorneys' fees and +- expenses. The application of the United Nations Convention on +- Contracts for the International Sale of Goods is expressly excluded. +- Any law or regulation which provides that the language of a contract +- shall be construed against the drafter shall not apply to this +- License. +- +-12. RESPONSIBILITY FOR CLAIMS. +- +- As between Initial Developer and the Contributors, each party is +- responsible for claims and damages arising, directly or indirectly, +- out of its utilization of rights under this License and You agree to +- work with Initial Developer and Contributors to distribute such +- responsibility on an equitable basis. Nothing herein is intended or +- shall be deemed to constitute any admission of liability. +- +-13. MULTIPLE-LICENSED CODE. +- +- Initial Developer may designate portions of the Covered Code as +- "Multiple-Licensed". "Multiple-Licensed" means that the Initial +- Developer permits you to utilize portions of the Covered Code under +- Your choice of the NPL or the alternative licenses, if any, specified +- by the Initial Developer in the file described in Exhibit A. +- +-EXHIBIT A -Mozilla Public License. +- +- ``The contents of this file are subject to the Mozilla Public License +- Version 1.1 (the "License"); you may not use this file except in +- compliance with the License. You may obtain a copy of the License at +- http://www.mozilla.org/MPL/ +- +- Software distributed under the License is distributed on an "AS IS" +- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +- License for the specific language governing rights and limitations +- under the License. +- +- The Original Code is ______________________________________. +- +- The Initial Developer of the Original Code is ________________________. +- Portions created by ______________________ are Copyright (C) ______ +- _______________________. All Rights Reserved. +- +- Contributor(s): ______________________________________. +- +- Alternatively, the contents of this file may be used under the terms +- of the _____ license (the "[___] License"), in which case the +- provisions of [______] License are applicable instead of those +- above. If you wish to allow use of your version of this file only +- under the terms of the [____] License and not to allow others to use +- your version of this file under the MPL, indicate your decision by +- deleting the provisions above and replace them with the notice and +- other provisions required by the [___] License. If you do not delete +- the provisions above, a recipient may use your version of this file +- under either the MPL or the [___] License." +- +- [NOTE: The text of this Exhibit A may differ slightly from the text of +- the notices in the Source Code files of the Original Code. You should +- use the text of this Exhibit A rather than the text found in the +- Original Code Source Code for Your Modifications.] ++Permission is hereby granted, free of charge, to any person obtaining a copy of this software ++and associated documentation files (the "Software"), to deal in the Software without restriction, ++including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, ++and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, ++subject to the following conditions: ++ ++The above copyright notice and this permission notice shall be included in all copies or substantial ++portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT ++NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ++WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE ++OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\ No newline at end of file +-- +2.19.2 + diff --git a/package/libgdiplus/libgdiplus.hash b/package/libgdiplus/libgdiplus.hash index 740fefd986..d89b352d26 100644 --- a/package/libgdiplus/libgdiplus.hash +++ b/package/libgdiplus/libgdiplus.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 ce31da0c6952c8fd160813dfa9bf4a9a871bfe7284e9e3abff9a8ee689acfe58 libgdiplus-5.4.tar.gz +sha256 6a75e4a476695cd6a1475fd6b989423ecf73978fd757673669771d8a6e13f756 libgdiplus-5.6.tar.gz +sha256 81317bf837e02a116dc20b032fa1d0cbf9ec357621f141ff2c2daf26c17cbb5d LICENSE diff --git a/package/libgdiplus/libgdiplus.mk b/package/libgdiplus/libgdiplus.mk index eb1858574d..d120f6a314 100644 --- a/package/libgdiplus/libgdiplus.mk +++ b/package/libgdiplus/libgdiplus.mk @@ -4,15 +4,11 @@ # ################################################################################ -LIBGDIPLUS_VERSION = 5.4 +LIBGDIPLUS_VERSION = 5.6 LIBGDIPLUS_SITE = $(call github,mono,libgdiplus,$(LIBGDIPLUS_VERSION)) -# Although there is a LICENSE file thas specifies LGPL or MPL-1.1, -# looks like it is incorrect. The actual source files specify that -# they're licensed under MIT, and so does the COPYING file (and they -# all predate the addition of the LICENSE file). LIBGDIPLUS_LICENSE = MIT -LIBGDIPLUS_LICENSE_FILES = COPYING src/carbon-private.h +LIBGDIPLUS_LICENSE_FILES = LICENSE LIBGDIPLUS_INSTALL_STAGING = YES diff --git a/package/libgeotiff/0003-libgeotiff-configure.ac-do-not-check-for-C.patch b/package/libgeotiff/0003-libgeotiff-configure.ac-do-not-check-for-C.patch new file mode 100644 index 0000000000..68082dd023 --- /dev/null +++ b/package/libgeotiff/0003-libgeotiff-configure.ac-do-not-check-for-C.patch @@ -0,0 +1,65 @@ +From edc9ec69b43c27955ee4f24db2e6808bb1a8974d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Feb 2019 23:20:43 +0100 +Subject: [PATCH] libgeotiff/configure.ac: do not check for C++ + +Do not check for C++ compiler as libgeotiff is written in C otherwise +build will fail on toolchains without a working C++ compiler: + +checking how to run the C++ preprocessor... /lib/cpp +configure: error: in `/data/buildroot/buildroot-test/instance-1/output/build/libgeotiff-1.4.2': +configure: error: C++ preprocessor "/lib/cpp" fails sanity check + +Fixes: + - http://autobuild.buildroot.org/results/72f1c5c1b8fc337a1cff4b280abe99afd65f945b + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/OSGeo/libgeotiff/pull/9] +--- + libgeotiff/configure.ac | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a334416..4ebbd6f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -25,8 +25,6 @@ dnl ######################################################################### + AM_INIT_AUTOMAKE + AM_MAINTAINER_MODE + AC_PROG_CC +-AC_PROG_CXX +-AC_PROG_CXXCPP + AC_PROG_INSTALL + AC_PROG_LN_S + AC_PROG_MAKE_SET +@@ -46,7 +44,6 @@ dnl ######################################################################### + m4_define([debug_default],[no]) + + CFLAGS="$CFLAGS" +-CXXFLAGS="$CXXFLAGS" + + dnl We want to honor the users wishes with regard to linking. + LIBS="$LDFLAGS $LIBS" +@@ -82,11 +79,9 @@ AC_MSG_CHECKING([for debug enabled]) + + if test "x$enable_debug" = "xyes"; then + CFLAGS="$CFLAGS -g -DDEBUG -Wall" +- CXXFLAGS="$CXXFLAGS -g -DDEBUG -Wall" + AC_MSG_RESULT(yes) + else + CFLAGS="$CFLAGS -O3 -DNDEBUG" +- CXXFLAGS="$CXXFLAGS -O3 -DNDEBUG" + AC_MSG_RESULT(no) + fi + +@@ -367,7 +362,6 @@ LOC_MSG() + LOC_MSG([ Version..................: ${RELEASE_VERSION}]) + LOC_MSG([ Installation directory...: ${prefix}]) + LOC_MSG([ C compiler...............: ${CC} ${CFLAGS}]) +-LOC_MSG([ C++ compiler.............: ${CXX} ${CXXFLAGS}]) + + LOC_MSG([ Debugging support........: ${enable_debug}]) + LOC_MSG() +-- +2.14.1 + diff --git a/package/libgeotiff/libgeotiff.hash b/package/libgeotiff/libgeotiff.hash index a2b16ac0b2..08e8e06788 100644 --- a/package/libgeotiff/libgeotiff.hash +++ b/package/libgeotiff/libgeotiff.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 ad87048adb91167b07f34974a8e53e4ec356494c29f1748de95252e8f81a5e6e libgeotiff-1.4.2.tar.gz +sha256 b8510d9b968b5ee899282cdd5bef13fd02d5a4c19f664553f81e31127bc47265 libgeotiff-1.4.3.tar.gz sha256 16b83cf7c3bbfd20bffa768b9bfdb16506ca50f5c140a9f3431e740b155359c1 LICENSE diff --git a/package/libgeotiff/libgeotiff.mk b/package/libgeotiff/libgeotiff.mk index a1f234b33b..a4606bc30c 100644 --- a/package/libgeotiff/libgeotiff.mk +++ b/package/libgeotiff/libgeotiff.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGEOTIFF_VERSION = 1.4.2 +LIBGEOTIFF_VERSION = 1.4.3 LIBGEOTIFF_SITE = http://download.osgeo.org/geotiff/libgeotiff LIBGEOTIFF_LICENSE = X11-style, public domain LIBGEOTIFF_LICENSE_FILES = LICENSE @@ -26,4 +26,11 @@ else LIBGEOTIFF_CONF_OPTS += --without-jpeg endif +ifeq ($(BR2_PACKAGE_PROJ),y) +LIBGEOTIFF_DEPENDENCIES += proj +LIBGEOTIFF_CONF_OPTS += --with-proj=$(STAGING_DIR)/usr +else +LIBGEOTIFF_CONF_OPTS += --without-proj +endif + $(eval $(autotools-package)) diff --git a/package/libglib2/0003-gobject-fix-compilation-with-gcc-4.7.patch b/package/libglib2/0003-gobject-fix-compilation-with-gcc-4.7.patch deleted file mode 100644 index fc672513ee..0000000000 --- a/package/libglib2/0003-gobject-fix-compilation-with-gcc-4.7.patch +++ /dev/null @@ -1,50 +0,0 @@ -From a2b27c0d038ad76cc8016999f8788245da97e946 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 10 Apr 2018 19:18:57 +0200 -Subject: [PATCH] gobject: fix compilation with gcc <= 4.7 - -On gcc 4.7, we got the following error: - -i686-nptl-linux-gnu-gcc --version -> i686-nptl-linux-gnu-gcc (crosstool-NG 1.20.0) 4.7.4 -> $ echo '#include ' | i686-nptl-linux-gnu-gcc -x c -I -staging/usr/include/glib-2.0 -I staging/usr/lib/glib-2.0/include -Wall --Werror -c - -o /tmp/foo.o -> In file included from -staging/usr/include/glib-2.0/gobject/gbinding.h:29:0, -> from staging/usr/include/glib-2.0/glib-object.h:23, -> from :1: -> staging/usr/include/glib-2.0/gobject/gobject.h: In function -'g_set_object': -> staging/usr/include/glib-2.0/gobject/gobject.h:725:5: error: value -computed is not used [-Werror=unused-value] -> cc1: all warnings being treated as errors - -This error has been added by commit 3fae39a5d742afe73741f5fd7aa24e3ae8182f06 -So enable the new g_set_object definition only if gcc >= 4.8 - -Fixes: - - http://autobuild.buildroot.net/results/b29a2f868438a2210873ea72f491db63175848be - -Signed-off-by: Fabrice Fontaine -Upstream-status: https://bugzilla.gnome.org/show_bug.cgi?id=795138 ---- - gobject/gobject.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gobject/gobject.h b/gobject/gobject.h -index 9830663ce..838046fe0 100644 ---- a/gobject/gobject.h -+++ b/gobject/gobject.h -@@ -507,7 +507,7 @@ GLIB_AVAILABLE_IN_ALL - void g_object_remove_weak_pointer (GObject *object, - gpointer *weak_pointer_location); - --#if defined(__GNUC__) && !defined(__cplusplus) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56 -+#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) && !defined(__cplusplus) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56 - /* Make reference APIs type safe with macros */ - #define g_object_ref(Obj) ((__typeof__(Obj)) (g_object_ref) (Obj)) - #define g_object_ref_sink(Obj) ((__typeof__(Obj)) (g_object_ref_sink) (Obj)) --- -2.14.1 - diff --git a/package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch b/package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch deleted file mode 100644 index 032f4851c4..0000000000 --- a/package/libglib2/0005-gio-fix-compilation-without-F_-S-G-ETPIPE_SZ.patch +++ /dev/null @@ -1,52 +0,0 @@ -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/package/libglib2/libglib2.hash b/package/libglib2/libglib2.hash index 7ce031aa89..57403a2154 100644 --- a/package/libglib2/libglib2.hash +++ b/package/libglib2/libglib2.hash @@ -1,4 +1,4 @@ -# https://download.gnome.org/sources/glib/2.56/glib-2.56.1.sha256sum -sha256 40ef3f44f2c651c7a31aedee44259809b6f03d3d20be44545cd7d177221c0b8d glib-2.56.1.tar.xz +# https://download.gnome.org/sources/glib/2.56/glib-2.56.3.sha256sum +sha256 a9a4c5b4c81b6c75bc140bdf5e32120ef3ce841b7413214ecf5f987acec74cb2 glib-2.56.3.tar.xz # License files, locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index 67db5ac359..44c0591109 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGLIB2_VERSION_MAJOR = 2.56 -LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).1 +LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).3 LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR) LIBGLIB2_LICENSE = LGPL-2.1+ @@ -112,9 +112,14 @@ HOST_LIBGLIB2_DEPENDENCIES = \ host-util-linux \ host-zlib +# We explicitly specify a giomodule-dir to avoid having a value +# containing ${libdir} in gio-2.0.pc. Indeed, a value depending on +# ${libdir} would be prefixed by the sysroot by pkg-config, causing a +# bogus installation path once combined with $(DESTDIR). LIBGLIB2_CONF_OPTS = \ --with-pcre=system \ - --disable-compile-warnings + --disable-compile-warnings \ + --with-gio-module-dir=/usr/lib/gio/modules ifneq ($(BR2_ENABLE_LOCALE),y) LIBGLIB2_DEPENDENCIES += libiconv @@ -132,6 +137,13 @@ LIBGLIB2_CONF_OPTS += --with-libiconv=gnu LIBGLIB2_DEPENDENCIES += libiconv endif +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +LIBGLIB2_CONF_OPTS += --enable-selinux +LIBGLIB2_DEPENDENCIES += libselinux +else +LIBGLIB2_CONF_OPTS += --disable-selinux +endif + # Purge gdb-related files ifneq ($(BR2_PACKAGE_GDB),y) define LIBGLIB2_REMOVE_GDB_FILES diff --git a/package/libgpg-error/Config.in b/package/libgpg-error/Config.in index 40424e41cf..dbb554989e 100644 --- a/package/libgpg-error/Config.in +++ b/package/libgpg-error/Config.in @@ -6,9 +6,10 @@ config BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS BR2_armeb || BR2_i386 || BR2_mips || \ BR2_mipsel || BR2_mips64 || BR2_mips64el || \ BR2_m68k || BR2_nios2 || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_sh4 || \ - BR2_sh4eb || BR2_sh4a || BR2_sh4aeb || \ - BR2_sparc || BR2_sparc64 || BR2_x86_64 + BR2_powerpc64 || BR2_powerpc64le || BR2_RISCV_64 || \ + BR2_sh4 || BR2_sh4eb || BR2_sh4a || \ + BR2_sh4aeb || BR2_sparc || BR2_sparc64 || \ + BR2_x86_64 config BR2_PACKAGE_LIBGPG_ERROR bool "libgpg-error" @@ -39,11 +40,13 @@ config BR2_PACKAGE_LIBGPG_ERROR_SYSCFG if BR2_powerpc default "powerpc64-unknown-linux-gnu" \ if BR2_powerpc64 || BR2_powerpc64le + default "riscv64-unknown-linux-gnu" \ + if BR2_RISCV_64 default "sh4-unknown-linux-gnu" \ if BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb default "sparc-unknown-linux-gnu" \ if BR2_sparc default "sparc64-unknown-linux-gnu" \ if BR2_sparc64 - default "x86_64-pc-linux-gnu" \ + default "x86_64-unknown-linux-gnu" \ if BR2_x86_64 diff --git a/package/libgpg-error/libgpg-error.hash b/package/libgpg-error/libgpg-error.hash index 608f9c62d7..b18ab7e6b6 100644 --- a/package/libgpg-error/libgpg-error.hash +++ b/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.33.tar.bz2.sig +# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 +sha256 5d38826656e746c936e7742d9cde072b50baa3c4c49daa168a56813612bf03ff libgpg-error-1.33.tar.bz2 # Locally calculated sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk index aed5a517b0..d26d92fb05 100644 --- a/package/libgpg-error/libgpg-error.mk +++ b/package/libgpg-error/libgpg-error.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPG_ERROR_VERSION = 1.31 +LIBGPG_ERROR_VERSION = 1.33 LIBGPG_ERROR_SITE = https://www.gnupg.org/ftp/gcrypt/libgpg-error LIBGPG_ERROR_SOURCE = libgpg-error-$(LIBGPG_ERROR_VERSION).tar.bz2 LIBGPG_ERROR_LICENSE = GPL-2.0+, LGPL-2.1+ @@ -12,14 +12,7 @@ LIBGPG_ERROR_LICENSE_FILES = COPYING COPYING.LIB LIBGPG_ERROR_INSTALL_STAGING = YES LIBGPG_ERROR_CONFIG_SCRIPTS = gpg-error-config LIBGPG_ERROR_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) - -define LIBGPG_ERROR_FIX_CROSS_COMPILATION - cd $(@D)/src/syscfg && \ - ln -s lock-obj-pub.$(call qstrip, $(BR2_PACKAGE_LIBGPG_ERROR_SYSCFG)).h \ - lock-obj-pub.$(GNU_TARGET_NAME).h -endef -LIBGPG_ERROR_PRE_CONFIGURE_HOOKS += LIBGPG_ERROR_FIX_CROSS_COMPILATION - -LIBGPG_ERROR_CONF_OPTS = --disable-tests +LIBGPG_ERROR_CONF_OPTS = --disable-tests \ + --host=$(BR2_PACKAGE_LIBGPG_ERROR_SYSCFG) $(eval $(autotools-package)) diff --git a/package/libgpgme/libgpgme.hash b/package/libgpgme/libgpgme.hash index 54c7bf7a09..1e61fbd833 100644 --- a/package/libgpgme/libgpgme.hash +++ b/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/package/libgpgme/libgpgme.mk b/package/libgpgme/libgpgme.mk index 03402cf382..85450c83d2 100644 --- a/package/libgpgme/libgpgme.mk +++ b/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+ @@ -12,6 +12,7 @@ LIBGPGME_LICENSE_FILES = COPYING.LESSER LIBGPGME_INSTALL_STAGING = YES LIBGPGME_DEPENDENCIES = libassuan libgpg-error LIBGPGME_LANGUAGE_BINDINGS = cl +LIBGPGME_CONFIG_SCRIPTS = gpgme-config LIBGPGME_CONF_OPTS = \ --with-gpg-error-prefix=$(STAGING_DIR)/usr \ diff --git a/package/libgpiod/libgpiod.hash b/package/libgpiod/libgpiod.hash index 99f7f8a298..e68ebdb8c7 100644 --- a/package/libgpiod/libgpiod.hash +++ b/package/libgpiod/libgpiod.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/libs/libgpiod/sha256sums.asc -sha256 172fa1544ecb51f37533b3e67862298d50c0a5cc84975f3c0706dc15467f0dfd libgpiod-1.1.1.tar.xz +sha256 736d8b511ad247c2acb01b592f2bbe5e757e14e1d8347b2d80683081ab4b31b8 libgpiod-1.2.1.tar.xz # Hash for license file sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING diff --git a/package/libgpiod/libgpiod.mk b/package/libgpiod/libgpiod.mk index 8854b3b0c8..c46ffa871c 100644 --- a/package/libgpiod/libgpiod.mk +++ b/package/libgpiod/libgpiod.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPIOD_VERSION = 1.1.1 +LIBGPIOD_VERSION = 1.2.1 LIBGPIOD_SOURCE = libgpiod-$(LIBGPIOD_VERSION).tar.xz LIBGPIOD_SITE = https://www.kernel.org/pub/software/libs/libgpiod LIBGPIOD_LICENSE = LGPL-2.1+ diff --git a/package/libgtk3/libgtk3.mk b/package/libgtk3/libgtk3.mk index 1b85d00aae..bdf820de37 100644 --- a/package/libgtk3/libgtk3.mk +++ b/package/libgtk3/libgtk3.mk @@ -151,8 +151,8 @@ HOST_LIBGTK3_DEPENDENCIES = \ host-librsvg HOST_LIBGTK3_CFLAGS = \ - `$(HOST_DIR)/bin/pkgconf --cflags --libs gdk-pixbuf-2.0` \ - `$(HOST_DIR)/bin/pkgconf --cflags --libs gio-2.0` + `$(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY) --cflags --libs gdk-pixbuf-2.0` \ + `$(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY) --cflags --libs gio-2.0` define HOST_LIBGTK3_CONFIGURE_CMDS echo "#define GETTEXT_PACKAGE \"gtk30\"" >> $(@D)/gtk/config.h diff --git a/package/libhdhomerun/libhdhomerun.hash b/package/libhdhomerun/libhdhomerun.hash index ed972ddfc1..b7ad5b52e3 100644 --- a/package/libhdhomerun/libhdhomerun.hash +++ b/package/libhdhomerun/libhdhomerun.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d91fd3782f9a0834242f7110c44067647843602f8e95052045250b7c229ccbd5 libhdhomerun_20180327.tgz +sha256 437888b27206f526827ee7a4c57c1c167a36483b0445232e07fb7bb7ee854b42 libhdhomerun_20180817.tgz sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE diff --git a/package/libhdhomerun/libhdhomerun.mk b/package/libhdhomerun/libhdhomerun.mk index 5e32370a9d..96be54a782 100644 --- a/package/libhdhomerun/libhdhomerun.mk +++ b/package/libhdhomerun/libhdhomerun.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHDHOMERUN_VERSION = 20180327 +LIBHDHOMERUN_VERSION = 20180817 LIBHDHOMERUN_SOURCE = libhdhomerun_$(LIBHDHOMERUN_VERSION).tgz LIBHDHOMERUN_SITE = http://download.silicondust.com/hdhomerun LIBHDHOMERUN_LICENSE = LGPL-2.1+ diff --git a/package/libhttpparser/libhttpparser.hash b/package/libhttpparser/libhttpparser.hash index acbf3787f9..b7df9ca602 100644 --- a/package/libhttpparser/libhttpparser.hash +++ b/package/libhttpparser/libhttpparser.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 51615f68b8d67eadfd2482decc63b3e55d749ce0055502bbb5b0032726d22d96 libhttpparser-v2.8.1.tar.gz +sha256 ef26268c54c8084d17654ba2ed5140bffeffd2a040a895ffb22a6cca3f6c613f libhttpparser-v2.9.0.tar.gz sha256 79e6ba8b687cb54786207342b9b6fcee0ac10218453ed9009b84d949b2233cc0 LICENSE-MIT diff --git a/package/libhttpparser/libhttpparser.mk b/package/libhttpparser/libhttpparser.mk index c71e043cdc..8c0afe2807 100644 --- a/package/libhttpparser/libhttpparser.mk +++ b/package/libhttpparser/libhttpparser.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHTTPPARSER_VERSION = v2.8.1 +LIBHTTPPARSER_VERSION = v2.9.0 LIBHTTPPARSER_SITE = $(call github,nodejs,http-parser,$(LIBHTTPPARSER_VERSION)) LIBHTTPPARSER_INSTALL_STAGING = YES LIBHTTPPARSER_LICENSE = MIT @@ -28,7 +28,7 @@ define HOST_LIBHTTPPARSER_BUILD_CMDS endef define HOST_LIBHTTPPARSER_INSTALL_CMDS - $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) PREFIX=$(HOST_DIR)/usr install + $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) PREFIX=$(HOST_DIR) install endef $(eval $(generic-package)) diff --git a/package/libid3tag/0001-configure-automake-foreign.patch b/package/libid3tag/0001-configure-automake-foreign.patch new file mode 100644 index 0000000000..8521d559f2 --- /dev/null +++ b/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/package/libid3tag/id3tag.pc b/package/libid3tag/id3tag.pc new file mode 100644 index 0000000000..63d09eee8b --- /dev/null +++ b/package/libid3tag/id3tag.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: id3tag +Description: ID3 tag reading library +Version: 0.15.1b +Requires: +Libs: -L${libdir} -lid3tag +Libs.private: -lz +Cflags: -I${includedir} diff --git a/package/libid3tag/libid3tag.mk b/package/libid3tag/libid3tag.mk index 951ae09c77..3ec145725f 100644 --- a/package/libid3tag/libid3tag.mk +++ b/package/libid3tag/libid3tag.mk @@ -10,6 +10,16 @@ LIBID3TAG_LICENSE = GPL-2.0+ LIBID3TAG_LICENSE_FILES = COPYING COPYRIGHT LIBID3TAG_INSTALL_STAGING = YES LIBID3TAG_DEPENDENCIES = zlib -LIBID3TAG_LIBTOOL_PATCH = NO + +# Force autoreconf to be able to use a more recent libtool script, that +# is able to properly behave in the face of a missing C++ compiler. +LIBID3TAG_AUTORECONF = YES + +define LIBID3TAG_INSTALL_STAGING_PC + $(INSTALL) -D package/libid3tag/id3tag.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/id3tag.pc +endef + +LIBID3TAG_POST_INSTALL_STAGING_HOOKS += LIBID3TAG_INSTALL_STAGING_PC $(eval $(autotools-package)) diff --git a/package/libidn/libidn.hash b/package/libidn/libidn.hash index 0d03342447..f5ba311e90 100644 --- a/package/libidn/libidn.hash +++ b/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/package/libidn/libidn.mk b/package/libidn/libidn.mk index 77733edaa9..601edcb57d 100644 --- a/package/libidn/libidn.mk +++ b/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/package/libidn2/libidn2.hash b/package/libidn2/libidn2.hash index 980f78f50d..300cedb479 100644 --- a/package/libidn2/libidn2.hash +++ b/package/libidn2/libidn2.hash @@ -1,8 +1,8 @@ -# From Calculated locally after checking signature -sha256 644b6b03b285fb0ace02d241d59483d98bc462729d8bb3608d5cad5532f3d2f0 libidn2-2.0.4.tar.gz +# Calculated locally after checking signature +sha256 032398dbaa9537af43f51a8d94e967e3718848547b1b2a4eb3138b20cad11d32 libidn2-2.1.0.tar.gz # Hash for license files: -sha256 4fa501e804195b4136c9cec4bc510365b8cbaf4bc075d6401a77ae0213370457 COPYING +sha256 73483f797a83373fca1b968c11785b98c4fc4803cdc7d3210811ca8b075d6d76 COPYING sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSERv3 sha256 01d621eef165cf4d3d3dbb737aa0699178d94c6f18cf87e9dde6db3ca7790f46 COPYING.unicode diff --git a/package/libidn2/libidn2.mk b/package/libidn2/libidn2.mk index d47913b2eb..7112553fea 100644 --- a/package/libidn2/libidn2.mk +++ b/package/libidn2/libidn2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBIDN2_VERSION = 2.0.4 +LIBIDN2_VERSION = 2.1.0 LIBIDN2_SITE = $(BR2_GNU_MIRROR)/libidn LIBIDN2_LICENSE := GPL-2.0+ or LGPL-3.0+ (library) LIBIDN2_LICENSE_FILES = COPYING COPYINGv2 COPYING.LESSERv3 COPYING.unicode diff --git a/package/libiio/Config.in b/package/libiio/Config.in index b58ac7fdb3..dcc7c79d1a 100644 --- a/package/libiio/Config.in +++ b/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/package/libiio/libiio.hash b/package/libiio/libiio.hash index fbb4bccb90..800b2ee8f4 100644 --- a/package/libiio/libiio.hash +++ b/package/libiio/libiio.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 12063db7a9366aa00bfd789db30afaddb29686bc29b3ce1e5d4adfe1c3b42527 libiio-0.14.tar.gz +sha256 a729f8ff48137ad271a3e2951f322b35c1bf2ec075b488d75c8bd071c693fd19 libiio-0.15.tar.gz sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b COPYING.txt diff --git a/package/libiio/libiio.mk b/package/libiio/libiio.mk index d2376bca34..2371a71063 100644 --- a/package/libiio/libiio.mk +++ b/package/libiio/libiio.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBIIO_VERSION = 0.14 +LIBIIO_VERSION = 0.15 LIBIIO_SITE = $(call github,analogdevicesinc,libiio,v$(LIBIIO_VERSION)) LIBIIO_INSTALL_STAGING = YES LIBIIO_LICENSE = LGPL-2.1+ diff --git a/package/libinput/0001-meson.build-enable-CPP-include-check-only-in-case-CP.patch b/package/libinput/0001-meson.build-enable-CPP-include-check-only-in-case-CP.patch new file mode 100644 index 0000000000..c9a0652e40 --- /dev/null +++ b/package/libinput/0001-meson.build-enable-CPP-include-check-only-in-case-CP.patch @@ -0,0 +1,49 @@ +From 57383dc900e76e65ce5e5dc95f776e086100344d Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sat, 12 Jan 2019 10:22:38 +0100 +Subject: [PATCH] meson.build: enable CPP include check only in case CPP + compiler is available + +Drop hard meson C++/CPP dependency, only needed for the build-time +header inclusion test, build the test only in case C++/CPP compiler +is available. + +Signed-off-by: Peter Seiderer +--- + meson.build | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git a/meson.build b/meson.build +index a9c7c185..8183822e 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,4 +1,4 @@ +-project('libinput', 'c', 'cpp', ++project('libinput', 'c', + version : '1.12.5', + license : 'MIT/Expat', + default_options : [ 'c_std=gnu99', 'warning_level=2' ], +@@ -641,12 +641,14 @@ executable('test-build-linker', + include_directories : [includes_src, includes_include], + dependencies : [ dep_libinput, dep_libinput_util ], + install : false) +-# test including from C++ +-executable('test-build-cxx', +- 'test/build-cxx.cc', +- dependencies : [dep_udev], +- include_directories : [includes_src, includes_include], +- install : false) ++# test including from C++ (in case CPP compiler is available) ++if add_languages('cpp', required: false) ++ executable('test-build-cxx', ++ 'test/build-cxx.cc', ++ dependencies : [dep_udev], ++ include_directories : [includes_src, includes_include], ++ install : false) ++endif + + # This is the test suite runner, we allow disabling that one because of + # dependencies +-- +2.20.1 + diff --git a/package/libinput/libinput.hash b/package/libinput/libinput.hash index 4e64568ca3..3ca3fd6771 100644 --- a/package/libinput/libinput.hash +++ b/package/libinput/libinput.hash @@ -1,5 +1,8 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2017-September/034949.html -md5 e94e9aa765da9533c23b80b440638de9 libinput-1.8.2.tar.xz -sha1 1c55462eb598b91c9c360f31170a408fb8d38d22 libinput-1.8.2.tar.xz -sha256 013518ee0adb2287e6e1f08412efba2137320738cadb5399b783738f04cbab38 libinput-1.8.2.tar.xz -sha512 555a7680cc8aaf62c5370a865f3aff0a933d42d94a3d8861c072666b02c9e1be45ea39de9a749a9575cdfb613b6150e412e18559d94d4919f21ca4680a3c76a7 libinput-1.8.2.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2019-January/039804.html +md5 40dcc044443c9314537f605b6f30bf17 libinput-1.12.5.tar.xz +sha1 7c0b75e8cf2f1747fb8ae69300acabd46f7a7f0d libinput-1.12.5.tar.xz +sha256 7d4b6831010ef3bf69df4b41170047fa4325edef8ff5d2d28e78281af0687123 libinput-1.12.5.tar.xz +sha512 9365b91b3ac2c4ff0f9927913242afac7677979682dd7b541001b13d09d7982acd854f6d348101cfa4b0854c6a92b4c683f62593a97870e32ae3d607eaeae3ff libinput-1.12.5.tar.xz + +# License files +sha256 70d5b1dfe5a9c50a1f2ea91b1c2b1c85d876c5c92339585edbb85cf69e945e14 COPYING diff --git a/package/libinput/libinput.mk b/package/libinput/libinput.mk index f904b796b7..bc4cc89825 100644 --- a/package/libinput/libinput.mk +++ b/package/libinput/libinput.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBINPUT_VERSION = 1.8.2 +LIBINPUT_VERSION = 1.12.5 LIBINPUT_SOURCE = libinput-$(LIBINPUT_VERSION).tar.xz LIBINPUT_SITE = http://www.freedesktop.org/software/libinput LIBINPUT_DEPENDENCIES = host-pkgconf libevdev mtdev udev @@ -12,13 +12,13 @@ LIBINPUT_INSTALL_STAGING = YES LIBINPUT_LICENSE = MIT LIBINPUT_LICENSE_FILES = COPYING # Tests need fork, so just disable them everywhere. -LIBINPUT_CONF_OPTS = --disable-tests --disable-libwacom +LIBINPUT_CONF_OPTS = -Dtests=false -Dlibwacom=false -Ddocumentation=false ifeq ($(BR2_PACKAGE_LIBGTK3),y) -LIBINPUT_CONF_OPTS += --enable-debug-gui +LIBINPUT_CONF_OPTS += -Ddebug-gui=true LIBINPUT_DEPENDENCIES += libgtk3 else -LIBINPUT_CONF_OPTS += --disable-debug-gui +LIBINPUT_CONF_OPTS += -Ddebug-gui=false endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/package/libiscsi/0002-avoid-truncation-when-logging-message-that-includes-target-name.patch b/package/libiscsi/0002-avoid-truncation-when-logging-message-that-includes-target-name.patch new file mode 100644 index 0000000000..1334a8352c --- /dev/null +++ b/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/package/libiscsi/0003-avoid-fallthrough.patch b/package/libiscsi/0003-avoid-fallthrough.patch new file mode 100644 index 0000000000..94f653a99c --- /dev/null +++ b/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/package/libiscsi/libiscsi.mk b/package/libiscsi/libiscsi.mk index 6c8600829c..2b26a1427c 100644 --- a/package/libiscsi/libiscsi.mk +++ b/package/libiscsi/libiscsi.mk @@ -11,6 +11,12 @@ LIBISCSI_LICENSE_FILES = COPYING LICENCE-GPL-2.txt LICENCE-LGPL-2.1.txt LIBISCSI_INSTALL_STAGING = YES LIBISCSI_AUTORECONF = YES +ifeq ($(BR2_PACKAGE_CUNIT),y) +LIBISCSI_DEPENDENCIES += cunit +endif + +LIBISCSI_CONF_OPTS = --disable-werror --disable-manpages + # We need to create the m4 directory to make autoreconf work properly. define LIBISCSI_CREATE_M4_DIR mkdir -p $(@D)/m4 diff --git a/package/libite/libite.hash b/package/libite/libite.hash index 7ef9dca57a..aac01fd36d 100644 --- a/package/libite/libite.hash +++ b/package/libite/libite.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 39a4c12af30a38a813fac7c8d7512efb3692f910eba9c697a50ce0203e039dad libite-v2.0.1.tar.gz +sha256 bd5d08066f3e53cc8967beb6f0620286aad7a24d49fb730caa1c6d09a26bb705 libite-v2.0.2.tar.gz sha256 0e97ab27b60e20a7ddb8e9638189ad159124e51d2c12e12735b05423df224da5 LICENSE sha256 9e0fb98d251dddf5ba81a355f6b4d89835ec53bc5d7f5fcd2c866b54ec5ccec8 src/chomp.c sha256 a7d29c148e057fae11a87febc3a51970a26433c35a08fc710be689394442d32d src/pidfile.c diff --git a/package/libite/libite.mk b/package/libite/libite.mk index a128953c7a..bcda5f3f0c 100644 --- a/package/libite/libite.mk +++ b/package/libite/libite.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBITE_VERSION = v2.0.1 +LIBITE_VERSION = v2.0.2 LIBITE_SITE = $(call github,troglobit,libite,$(LIBITE_VERSION)) LIBITE_LICENSE = MIT, X11, ISC, BSD-2-Clause LIBITE_LICENSE_FILES = LICENSE src/chomp.c src/pidfile.c diff --git a/package/libkcapi/0001-apps-kcapi-hasher.c-fix-build-with-gcc-8.2.x.patch b/package/libkcapi/0001-apps-kcapi-hasher.c-fix-build-with-gcc-8.2.x.patch new file mode 100644 index 0000000000..a4c352d30c --- /dev/null +++ b/package/libkcapi/0001-apps-kcapi-hasher.c-fix-build-with-gcc-8.2.x.patch @@ -0,0 +1,54 @@ +From dcb02c1639c2ff05938c01eaa41286a2e2f8d698 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 20 Jan 2019 20:04:13 +0100 +Subject: [PATCH] apps/kcapi-hasher.c: fix build with gcc 8.2.x + +Fixes: + - http://autobuild.buildroot.org/results/8355bc42238e885f7f11ed3d9d37fc55ebdead2b + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/smuellerDD/libkcapi/pull/76] +--- + apps/kcapi-hasher.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/apps/kcapi-hasher.c b/apps/kcapi-hasher.c +index d6be685..7172b12 100644 +--- a/apps/kcapi-hasher.c ++++ b/apps/kcapi-hasher.c +@@ -357,16 +357,20 @@ out: + } + + /* +- * GCC v8.1.0 introduced -Wstringop-truncation but it is not smart enough to +- * find that cursor string will be NULL-terminated after all paste() calls and +- * warns with: ++ * GCC v8.1.0 introduced -Wstringop-truncation and GCC v8.2.0 introduced ++ * -Wstringop-overflow but it is not smart enough to find that cursor string ++ * will be NULL-terminated after all paste() calls and warns with: + * error: 'strncpy' destination unchanged after copying no bytes [-Werror=stringop-truncation] + * error: 'strncpy' output truncated before terminating nul copying 5 bytes from a string of the same length [-Werror=stringop-truncation] ++ * error: 'strncpy' specified bound depends on the length of the source argument [-Werror=stringop-overflow=] + */ + #pragma GCC diagnostic push + #if GCC_VERSION >= 80100 + #pragma GCC diagnostic ignored "-Wstringop-truncation" + #endif ++#if GCC_VERSION >= 80200 ++#pragma GCC diagnostic ignored "-Wstringop-overflow" ++#endif + static char *paste(char *dst, const char *src, size_t size) + { + strncpy(dst, src, size); +@@ -417,7 +421,7 @@ static char *get_hmac_file(const char *filename, const char *checkdir) + strncpy(cursor, "\0", 1); + return checkfile; + } +-#pragma GCC diagnostic pop /* -Wstringop-truncation */ ++#pragma GCC diagnostic pop /* -Wstringop-truncation -Wstringop-overflow */ + + static int hash_files(const struct hash_params *params, + char *filenames[], uint32_t files, +-- +2.14.1 + diff --git a/package/libkcapi/libkcapi.hash b/package/libkcapi/libkcapi.hash index b340ea84b6..a9b42bf6e2 100644 --- a/package/libkcapi/libkcapi.hash +++ b/package/libkcapi/libkcapi.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 19c044310eda0bf5403fae8df2eeffcfef33b67cb5b01def5f440d41ff16b55f libkcapi-1.1.3.tar.xz -sha256 b0336f8f07a6abf8b0a59d961f53601d7c4a7c09a8137805b730a34a976039f8 COPYING +sha256 9197f35aca270f97c544fe94dab379b44a2879a07eb78acd5d02c55924902763 libkcapi-1.1.4.tar.xz +sha256 c6b8402a68999b0f84560ab43cdf60f9ff33c4a9a8ced6a40db9d3b787ba5b4a COPYING sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING.gplv2 sha256 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 COPYING.bsd diff --git a/package/libkcapi/libkcapi.mk b/package/libkcapi/libkcapi.mk index 1557d2017a..48d34ffc40 100644 --- a/package/libkcapi/libkcapi.mk +++ b/package/libkcapi/libkcapi.mk @@ -4,13 +4,17 @@ # ################################################################################ -LIBKCAPI_VERSION = 1.1.3 +LIBKCAPI_VERSION = 1.1.4 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/package/libkrb5/libkrb5.hash b/package/libkrb5/libkrb5.hash index 2980947faa..733c6c9d6f 100644 --- a/package/libkrb5/libkrb5.hash +++ b/package/libkrb5/libkrb5.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 214ffe394e3ad0c730564074ec44f1da119159d94281bbec541dc29168d21117 krb5-1.16.1.tar.gz +sha256 9f721e1fe593c219174740c71de514c7228a97d23eb7be7597b2ae14e487f027 krb5-1.16.2.tar.gz # Hash for license file: sha256 58534f00ed877fd32936fcab094f49d399aeef7716393204d8028c4b89050c82 NOTICE diff --git a/package/libkrb5/libkrb5.mk b/package/libkrb5/libkrb5.mk index d9d7160ae8..56345416aa 100644 --- a/package/libkrb5/libkrb5.mk +++ b/package/libkrb5/libkrb5.mk @@ -5,13 +5,13 @@ ################################################################################ LIBKRB5_VERSION_MAJOR = 1.16 -LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR).1 +LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR).2 LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/$(LIBKRB5_VERSION_MAJOR) LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz LIBKRB5_SUBDIR = src LIBKRB5_LICENSE = MIT LIBKRB5_LICENSE_FILES = NOTICE -LIBKRB5_DEPENDENCIES = host-bison +LIBKRB5_DEPENDENCIES = host-bison $(TARGET_NLS_DEPENDENCIES) LIBKRB5_INSTALL_STAGING = YES # The configure script uses AC_TRY_RUN tests to check for those values, @@ -20,7 +20,8 @@ LIBKRB5_INSTALL_STAGING = YES LIBKRB5_CONF_ENV = \ ac_cv_printf_positional=yes \ ac_cv_func_regcomp=yes \ - krb5_cv_attr_constructor_destructor=yes,yes + krb5_cv_attr_constructor_destructor=yes,yes \ + LIBS=$(TARGET_NLS_LIBS) # Never use the host packages LIBKRB5_CONF_OPTS = \ diff --git a/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch b/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch new file mode 100644 index 0000000000..3f3bf86cc3 --- /dev/null +++ b/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch @@ -0,0 +1,30 @@ +From c1b2fbd8d96d9b668a0b5e3c49c75c13cfe7d4ba Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 15 Dec 2018 21:55:08 +0100 +Subject: [PATCH] src/server.c: fix stringop-truncation error + +Fixes: + - http://autobuild.buildroot.org/results/62896bd6a1a30facaffd07a7a763831996dc8ea0 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/radarsat1/liblo/pull/70] +--- + src/server.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/server.c b/src/server.c +index 6d1a9de..72aecc9 100644 +--- a/src/server.c ++++ b/src/server.c +@@ -377,7 +377,7 @@ void lo_server_resolve_hostname(lo_server s) + gethostname(hostname, sizeof(hostname)); + he = gethostbyname(hostname); + if (he) { +- strncpy(hostname, he->h_name, sizeof(hostname)); ++ strncpy(hostname, he->h_name, sizeof(hostname) - 1); + } + } + +-- +2.14.1 + diff --git a/package/libmad/0006-configure-ac-automake-foreign.patch b/package/libmad/0006-configure-ac-automake-foreign.patch new file mode 100644 index 0000000000..828ad0c152 --- /dev/null +++ b/package/libmad/0006-configure-ac-automake-foreign.patch @@ -0,0 +1,16 @@ +configure.ac: don't require GNU-specific files when running automake + +Signed-off-by: Fabrice Fontaine + +diff -ur libmad-0.15.1b-orig/configure.ac libmad-0.15.1b/configure.ac +--- libmad-0.15.1b-orig/configure.ac 2019-01-17 21:24:52.259194527 +0100 ++++ libmad-0.15.1b/configure.ac 2019-01-17 21:25:32.779481058 +0100 +@@ -26,7 +26,7 @@ + + AC_CONFIG_SRCDIR([decoder.h]) + +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + + AM_CONFIG_HEADER([config.h]) + diff --git a/package/libmad/libmad.mk b/package/libmad/libmad.mk index 7175eaa30e..108c4f641b 100644 --- a/package/libmad/libmad.mk +++ b/package/libmad/libmad.mk @@ -13,17 +13,15 @@ LIBMAD_LICENSE_FILES = COPYING LIBMAD_PATCH = \ https://sources.debian.net/data/main/libm/libmad/0.15.1b-8/debian/patches/frame_length.diff -define LIBMAD_PREVENT_AUTOMAKE - # Prevent automake from running. - (cd $(@D); touch -c config* aclocal.m4 Makefile*); -endef +# Force autoreconf to be able to use a more recent libtool script, that +# is able to properly behave in the face of a missing C++ compiler. +LIBMAD_AUTORECONF = YES define LIBMAD_INSTALL_STAGING_PC $(INSTALL) -D package/libmad/mad.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/mad.pc endef -LIBMAD_POST_PATCH_HOOKS += LIBMAD_PREVENT_AUTOMAKE LIBMAD_POST_INSTALL_STAGING_HOOKS += LIBMAD_INSTALL_STAGING_PC LIBMAD_CONF_OPTS = \ diff --git a/package/libmbim/libmbim.hash b/package/libmbim/libmbim.hash index 9734181a34..9e8629f341 100644 --- a/package/libmbim/libmbim.hash +++ b/package/libmbim/libmbim.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 c8ca50beeddd4b43309df5b698917268303bf176cea58fe4fe53d5bf0e93fac2 libmbim-1.16.0.tar.xz +sha256 6cf40128d83d087946a7d8577e735526202e034d52f90047735329609097b282 libmbim-1.18.0.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libmbim/libmbim.mk b/package/libmbim/libmbim.mk index 169cdc1dcd..748d215537 100644 --- a/package/libmbim/libmbim.mk +++ b/package/libmbim/libmbim.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBMBIM_VERSION = 1.16.0 -LIBMBIM_SITE = http://www.freedesktop.org/software/libmbim +LIBMBIM_VERSION = 1.18.0 +LIBMBIM_SITE = https://www.freedesktop.org/software/libmbim LIBMBIM_SOURCE = libmbim-$(LIBMBIM_VERSION).tar.xz LIBMBIM_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs) LIBMBIM_LICENSE_FILES = COPYING COPYING.LIB diff --git a/package/libmediaart/Config.in b/package/libmediaart/Config.in index e073677395..c11d6f49d9 100644 --- a/package/libmediaart/Config.in +++ b/package/libmediaart/Config.in @@ -32,12 +32,11 @@ config BR2_PACKAGE_LIBMEDIAART_BACKEND_GDK_PIXBUF config BR2_PACKAGE_LIBMEDIAART_BACKEND_QT bool "Qt" - depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 - select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT - select BR2_PACKAGE_QT5BASE_GUI if BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5BASE_GUI -comment "Qt backend depends on Qt or Qt5" - depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 +comment "Qt backend depends on Qt5" + depends on !BR2_PACKAGE_QT5 endchoice diff --git a/package/libmediaart/libmediaart.mk b/package/libmediaart/libmediaart.mk index f64210c266..a81542ac69 100644 --- a/package/libmediaart/libmediaart.mk +++ b/package/libmediaart/libmediaart.mk @@ -25,9 +25,7 @@ else ifeq ($(BR2_PACKAGE_LIBMEDIAART_BACKEND_QT),y) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) LIBMEDIAART_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" endif -LIBMEDIAART_DEPENDENCIES += \ - $(if $(BR2_PACKAGE_QT),qt) \ - $(if $(BR2_PACKAGE_QT5),qt5base) +LIBMEDIAART_DEPENDENCIES += qt5base LIBMEDIAART_CONF_OPTS += \ --disable-gdkpixbuf \ --enable-qt diff --git a/package/libmicrohttpd/libmicrohttpd.hash b/package/libmicrohttpd/libmicrohttpd.hash index e534e8e80b..d54d2bbc14 100644 --- a/package/libmicrohttpd/libmicrohttpd.hash +++ b/package/libmicrohttpd/libmicrohttpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 9b9ccd7d0b11b0e179f1f58dc2caa3e0c62c8609e1e1dc7dcaadf941b67d923c libmicrohttpd-0.9.59.tar.gz +sha256 cd0e5d3f95a9e55ef7cdf4d0530e997ba00b8411af9149d9287db785d729c471 libmicrohttpd-0.9.60.tar.gz sha256 70e12e2a60151b9ed1a4c94a5ffeb99cd086fa94542b5a92fec581506e8d3121 COPYING diff --git a/package/libmicrohttpd/libmicrohttpd.mk b/package/libmicrohttpd/libmicrohttpd.mk index 1cda434819..fd7c370855 100644 --- a/package/libmicrohttpd/libmicrohttpd.mk +++ b/package/libmicrohttpd/libmicrohttpd.mk @@ -4,20 +4,13 @@ # ################################################################################ -LIBMICROHTTPD_VERSION = 0.9.59 +LIBMICROHTTPD_VERSION = 0.9.60 LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd LIBMICROHTTPD_LICENSE_FILES = COPYING LIBMICROHTTPD_INSTALL_STAGING = YES LIBMICROHTTPD_CONF_OPTS = --disable-curl --disable-examples LIBMICROHTTPD_CFLAGS = $(TARGET_CFLAGS) -std=c99 -# gcc on arc 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/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch b/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch deleted file mode 100644 index 25591fc4a4..0000000000 --- a/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/package/libminiupnpc/libminiupnpc.hash b/package/libminiupnpc/libminiupnpc.hash index c83b38aa60..556d8cc45a 100644 --- a/package/libminiupnpc/libminiupnpc.hash +++ b/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/package/libminiupnpc/libminiupnpc.mk b/package/libminiupnpc/libminiupnpc.mk index 66b08b4e8a..5a4c8fc693 100644 --- a/package/libminiupnpc/libminiupnpc.mk +++ b/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/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch b/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch new file mode 100644 index 0000000000..be16eb9713 --- /dev/null +++ b/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch @@ -0,0 +1,24 @@ +From 4f946c01000fd97100e4a534b47f9c7ace0403df Mon Sep 17 00:00:00 2001 +From: QC +Date: Thu, 9 Oct 2014 19:51:50 +0200 +Subject: [PATCH] Fix build on archlinux (missing include) + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/DaveDavenport/libmpd/commit/4f946c01000fd97100e4a534b47f9c7ace0403df] +--- + src/libmpd-internal.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/libmpd-internal.h b/src/libmpd-internal.h +index c84c3a4..30cdc85 100644 +--- a/src/libmpd-internal.h ++++ b/src/libmpd-internal.h +@@ -21,6 +21,7 @@ + #define __MPD_INTERNAL_LIB_ + + #include "libmpdclient.h" ++#include + struct _MpdData_real; + + typedef struct _MpdData_real { diff --git a/package/libmpdclient/libmpdclient.hash b/package/libmpdclient/libmpdclient.hash index eb32786419..f268e876e2 100644 --- a/package/libmpdclient/libmpdclient.hash +++ b/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/package/libmpdclient/libmpdclient.mk b/package/libmpdclient/libmpdclient.mk index c04536eb88..dc206c7211 100644 --- a/package/libmpdclient/libmpdclient.mk +++ b/package/libmpdclient/libmpdclient.mk @@ -5,7 +5,7 @@ ################################################################################ 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 diff --git a/package/libnfs/0001-Fix-include-sys-time.h.patch b/package/libnfs/0001-Fix-include-sys-time.h.patch new file mode 100644 index 0000000000..15b281672a --- /dev/null +++ b/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/package/libnfs/0002-libnfs.c-include-time.h-in-libnfs.c.patch b/package/libnfs/0002-libnfs.c-include-time.h-in-libnfs.c.patch new file mode 100644 index 0000000000..34e584017e --- /dev/null +++ b/package/libnfs/0002-libnfs.c-include-time.h-in-libnfs.c.patch @@ -0,0 +1,35 @@ +From b56bd3d99f67a3273fec3c0c5d9560413465a1db Mon Sep 17 00:00:00 2001 +From: Anna Lyons +Date: Thu, 12 Jul 2018 17:45:23 +1000 +Subject: [PATCH] libnfs.c: include in libnfs.c +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +time() is used in this file, which is from time.h. Fixes a warning. + +Note, that building with musl breaks otherwise, as it is more strict regarding +missing header inclusions. + +Backported from: 794a29f01f8e5961adc5c79d5ba5ac1062877e6c + +Signed-off-by: Jörg Krause +--- + lib/libnfs.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/libnfs.c b/lib/libnfs.c +index d89d84d..43c17b9 100755 +--- a/lib/libnfs.c ++++ b/lib/libnfs.c +@@ -70,6 +70,7 @@ + #include + #include + #include ++#include + #include "slist.h" + #include "libnfs.h" + #include "libnfs-raw.h" +-- +2.19.1 + diff --git a/package/libnfs/libnfs.hash b/package/libnfs/libnfs.hash index 2bd8caf255..0e4dc6fbc9 100644 --- a/package/libnfs/libnfs.hash +++ b/package/libnfs/libnfs.hash @@ -1,6 +1,6 @@ # Locally calculated -sha256 7ea6cd8fa6c461d01091e584d424d28e137d23ff4b65b95d01a3fd0ef95d120e libnfs-libnfs-2.0.0.tar.gz -sha256 2d152e3a2f31ef0fe14d4908377277f8215fb5c82ec9329d1eed081c845fc85f COPYING +sha256 445d92c5fc55e4a5b115e358e60486cf8f87ee50e0103d46a02e7fb4618566a5 libnfs-libnfs-3.0.0.tar.gz +sha256 edd960c0142b8ada98b43b6396b78f4e557b0bc70ac601a51e397ad04070e2c5 COPYING sha256 d9406ced95457941032aa11d04623b8ab71f2827a3395ebef137aec475be35b1 LICENCE-BSD.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENCE-GPL-3.txt diff --git a/package/libnfs/libnfs.mk b/package/libnfs/libnfs.mk index 0cf07d2143..3a84e0aafa 100644 --- a/package/libnfs/libnfs.mk +++ b/package/libnfs/libnfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNFS_VERSION = libnfs-2.0.0 +LIBNFS_VERSION = libnfs-3.0.0 LIBNFS_SITE = $(call github,sahlberg,libnfs,$(LIBNFS_VERSION)) LIBNFS_INSTALL_STAGING = YES LIBNFS_AUTORECONF = YES diff --git a/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch b/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch index 1062f2b01a..213aab79eb 100644 --- a/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch +++ b/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch @@ -1,4 +1,4 @@ -From a51cdce6fd271a5cc393c5e56996846d9c453d6a Mon Sep 17 00:00:00 2001 +From 90a0152c224fa90f648b27187859bd84f6426e1b Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 2 Jun 2016 23:03:27 -0300 Subject: [PATCH] Rename xfree() to libnftnl_xfree() to avoid symbol naming @@ -22,31 +22,33 @@ libnftnl_xfree(). Signed-off-by: Thomas Petazzoni [Gustavo: update for version 1.0.7] Signed-off-by: Gustavo Zacarias -[baruch: update for version 1.0.9] +[baruch: update for versions 1.0.9, 1.1.2] Signed-off-by: Baruch Siach --- - include/utils.h | 2 +- - src/chain.c | 36 ++++++++++++++++++------------------ - src/common.c | 2 +- - src/expr.c | 4 ++-- - src/expr/data_reg.c | 2 +- - src/expr/dynset.c | 2 +- - src/expr/immediate.c | 2 +- - src/expr/log.c | 6 +++--- - src/expr/lookup.c | 2 +- - src/expr/match.c | 6 +++--- - src/expr/target.c | 6 +++--- - src/gen.c | 2 +- - src/object.c | 14 +++++++------- - src/rule.c | 32 ++++++++++++++++---------------- - src/ruleset.c | 2 +- - src/set.c | 28 ++++++++++++++-------------- - src/set_elem.c | 28 ++++++++++++++-------------- - src/table.c | 14 +++++++------- - src/trace.c | 14 +++++++------- - src/udata.c | 2 +- - src/utils.c | 2 +- - 21 files changed, 104 insertions(+), 104 deletions(-) + include/utils.h | 2 +- + src/chain.c | 36 ++++++++++++++++++------------------ + src/common.c | 2 +- + src/expr.c | 4 ++-- + src/expr/data_reg.c | 2 +- + src/expr/dynset.c | 2 +- + src/expr/flow_offload.c | 2 +- + src/expr/immediate.c | 2 +- + src/expr/log.c | 6 +++--- + src/expr/lookup.c | 2 +- + src/expr/match.c | 6 +++--- + src/expr/target.c | 6 +++--- + src/flowtable.c | 32 ++++++++++++++++---------------- + src/gen.c | 2 +- + src/object.c | 14 +++++++------- + src/rule.c | 32 ++++++++++++++++---------------- + src/ruleset.c | 2 +- + src/set.c | 28 ++++++++++++++-------------- + src/set_elem.c | 28 ++++++++++++++-------------- + src/table.c | 14 +++++++------- + src/trace.c | 14 +++++++------- + src/udata.c | 2 +- + src/utils.c | 2 +- + 23 files changed, 121 insertions(+), 121 deletions(-) diff --git a/include/utils.h b/include/utils.h index 3cc659652fe2..820556715013 100644 @@ -62,7 +64,7 @@ index 3cc659652fe2..820556715013 100644 #define div_round_up(n, d) (((n) + (d) - 1) / (d)) diff --git a/src/chain.c b/src/chain.c -index eff518680873..03033bbcb93b 100644 +index 01d62c84f140..93e193955934 100644 --- a/src/chain.c +++ b/src/chain.c @@ -97,14 +97,14 @@ EXPORT_SYMBOL(nftnl_chain_free); @@ -176,7 +178,7 @@ index eff518680873..03033bbcb93b 100644 c->type = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_TYPE])); if (!c->type) return -1; -@@ -902,7 +902,7 @@ void nftnl_chain_list_free(struct nftnl_chain_list *list) +@@ -711,7 +711,7 @@ void nftnl_chain_list_free(struct nftnl_chain_list *list) list_del(&r->head); nftnl_chain_free(r); } @@ -185,7 +187,7 @@ index eff518680873..03033bbcb93b 100644 } EXPORT_SYMBOL(nftnl_chain_list_is_empty); -@@ -988,5 +988,5 @@ struct nftnl_chain *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *ite +@@ -797,5 +797,5 @@ struct nftnl_chain *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *ite EXPORT_SYMBOL(nftnl_chain_list_iter_destroy); void nftnl_chain_list_iter_destroy(struct nftnl_chain_list_iter *iter) { @@ -193,7 +195,7 @@ index eff518680873..03033bbcb93b 100644 + nftnl_xfree(iter); } diff --git a/src/common.c b/src/common.c -index 561c95439114..d0124134ea29 100644 +index feb13b2aa836..de7e9d08b9e2 100644 --- a/src/common.c +++ b/src/common.c @@ -68,7 +68,7 @@ struct nftnl_parse_err *nftnl_parse_err_alloc(void) @@ -206,7 +208,7 @@ index 561c95439114..d0124134ea29 100644 EXPORT_SYMBOL(nftnl_parse_perror); diff --git a/src/expr.c b/src/expr.c -index 62565e046996..97f16275f44f 100644 +index 80c4c36a9bd7..f5e44cd16349 100644 --- a/src/expr.c +++ b/src/expr.c @@ -51,7 +51,7 @@ void nftnl_expr_free(const struct nftnl_expr *expr) @@ -218,7 +220,7 @@ index 62565e046996..97f16275f44f 100644 } EXPORT_SYMBOL(nftnl_expr_is_set); -@@ -270,7 +270,7 @@ struct nftnl_expr *nftnl_expr_parse(struct nlattr *attr) +@@ -260,7 +260,7 @@ struct nftnl_expr *nftnl_expr_parse(struct nlattr *attr) return expr; err2: @@ -228,10 +230,10 @@ index 62565e046996..97f16275f44f 100644 return NULL; } diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c -index 1b28b291617b..8c7abdb91d21 100644 +index 67165feb931f..c6f3cec48caf 100644 --- a/src/expr/data_reg.c +++ b/src/expr/data_reg.c -@@ -379,7 +379,7 @@ void nftnl_free_verdict(const union nftnl_data_reg *data) +@@ -225,7 +225,7 @@ void nftnl_free_verdict(const union nftnl_data_reg *data) switch(data->verdict) { case NFT_JUMP: case NFT_GOTO: @@ -241,10 +243,10 @@ index 1b28b291617b..8c7abdb91d21 100644 default: break; diff --git a/src/expr/dynset.c b/src/expr/dynset.c -index 160d0e15c151..614124d841c7 100644 +index 68115ba50c94..4e8093b7e9db 100644 --- a/src/expr/dynset.c +++ b/src/expr/dynset.c -@@ -330,7 +330,7 @@ static void nftnl_expr_dynset_free(const struct nftnl_expr *e) +@@ -276,7 +276,7 @@ static void nftnl_expr_dynset_free(const struct nftnl_expr *e) { struct nftnl_expr_dynset *dynset = nftnl_expr_data(e); @@ -252,9 +254,22 @@ index 160d0e15c151..614124d841c7 100644 + nftnl_xfree(dynset->set_name); } - static bool nftnl_expr_dynset_cmp(const struct nftnl_expr *e1, + struct expr_ops expr_ops_dynset = { +diff --git a/src/expr/flow_offload.c b/src/expr/flow_offload.c +index 6ccec9a13396..877ad072ba53 100644 +--- a/src/expr/flow_offload.c ++++ b/src/expr/flow_offload.c +@@ -122,7 +122,7 @@ static void nftnl_expr_flow_free(const struct nftnl_expr *e) + { + struct nftnl_expr_flow *flow = nftnl_expr_data(e); + +- xfree(flow->table_name); ++ nftnl_xfree(flow->table_name); + } + + struct expr_ops expr_ops_flow = { diff --git a/src/expr/immediate.c b/src/expr/immediate.c -index b0570bd539a4..6a0732c38ebd 100644 +index 47106ae86675..b0289f9397fb 100644 --- a/src/expr/immediate.c +++ b/src/expr/immediate.c @@ -44,7 +44,7 @@ nftnl_expr_immediate_set(struct nftnl_expr *e, uint16_t type, @@ -267,7 +282,7 @@ index b0570bd539a4..6a0732c38ebd 100644 imm->data.chain = strdup(data); if (!imm->data.chain) diff --git a/src/expr/log.c b/src/expr/log.c -index 86d965136cd4..0624a7712237 100644 +index bbe43d2dc6bc..a5952ce10ccc 100644 --- a/src/expr/log.c +++ b/src/expr/log.c @@ -39,7 +39,7 @@ static int nftnl_expr_log_set(struct nftnl_expr *e, uint16_t type, @@ -288,7 +303,7 @@ index 86d965136cd4..0624a7712237 100644 log->prefix = strdup(mnl_attr_get_str(tb[NFTA_LOG_PREFIX])); if (!log->prefix) -@@ -317,7 +317,7 @@ static void nftnl_expr_log_free(const struct nftnl_expr *e) +@@ -255,7 +255,7 @@ static void nftnl_expr_log_free(const struct nftnl_expr *e) { struct nftnl_expr_log *log = nftnl_expr_data(e); @@ -296,12 +311,12 @@ index 86d965136cd4..0624a7712237 100644 + nftnl_xfree(log->prefix); } - static bool nftnl_expr_log_cmp(const struct nftnl_expr *e1, + struct expr_ops expr_ops_log = { diff --git a/src/expr/lookup.c b/src/expr/lookup.c -index 5fcb81f3a7a2..45f5dfefd33f 100644 +index a495ac0fdcfc..4fce24288c57 100644 --- a/src/expr/lookup.c +++ b/src/expr/lookup.c -@@ -258,7 +258,7 @@ static void nftnl_expr_lookup_free(const struct nftnl_expr *e) +@@ -209,7 +209,7 @@ static void nftnl_expr_lookup_free(const struct nftnl_expr *e) { struct nftnl_expr_lookup *lookup = nftnl_expr_data(e); @@ -309,9 +324,9 @@ index 5fcb81f3a7a2..45f5dfefd33f 100644 + nftnl_xfree(lookup->set_name); } - static bool nftnl_expr_lookup_cmp(const struct nftnl_expr *e1, + struct expr_ops expr_ops_lookup = { diff --git a/src/expr/match.c b/src/expr/match.c -index dd09e1e85192..09e35c528aca 100644 +index 4fa74b2da893..7ee706753b68 100644 --- a/src/expr/match.c +++ b/src/expr/match.c @@ -50,7 +50,7 @@ nftnl_expr_match_set(struct nftnl_expr *e, uint16_t type, @@ -332,7 +347,7 @@ index dd09e1e85192..09e35c528aca 100644 match_data = calloc(1, len); if (match_data == NULL) -@@ -217,7 +217,7 @@ static void nftnl_expr_match_free(const struct nftnl_expr *e) +@@ -186,7 +186,7 @@ static void nftnl_expr_match_free(const struct nftnl_expr *e) { struct nftnl_expr_match *match = nftnl_expr_data(e); @@ -340,9 +355,9 @@ index dd09e1e85192..09e35c528aca 100644 + nftnl_xfree(match->data); } - static bool nftnl_expr_match_cmp(const struct nftnl_expr *e1, + struct expr_ops expr_ops_match = { diff --git a/src/expr/target.c b/src/expr/target.c -index ed4bf7df6328..5e28925debeb 100644 +index 91000386704a..5d0763edf63f 100644 --- a/src/expr/target.c +++ b/src/expr/target.c @@ -50,7 +50,7 @@ nftnl_expr_target_set(struct nftnl_expr *e, uint16_t type, @@ -363,7 +378,7 @@ index ed4bf7df6328..5e28925debeb 100644 target_data = calloc(1, len); if (target_data == NULL) -@@ -217,7 +217,7 @@ static void nftnl_expr_target_free(const struct nftnl_expr *e) +@@ -186,7 +186,7 @@ static void nftnl_expr_target_free(const struct nftnl_expr *e) { struct nftnl_expr_target *target = nftnl_expr_data(e); @@ -371,9 +386,115 @@ index ed4bf7df6328..5e28925debeb 100644 + nftnl_xfree(target->data); } - static bool nftnl_expr_target_cmp(const struct nftnl_expr *e1, + struct expr_ops expr_ops_target = { +diff --git a/src/flowtable.c b/src/flowtable.c +index c939306b56c4..f1b3eef48b73 100644 +--- a/src/flowtable.c ++++ b/src/flowtable.c +@@ -45,16 +45,16 @@ void nftnl_flowtable_free(const struct nftnl_flowtable *c) + int i; + + if (c->flags & (1 << NFTNL_FLOWTABLE_NAME)) +- xfree(c->name); ++ nftnl_xfree(c->name); + if (c->flags & (1 << NFTNL_FLOWTABLE_TABLE)) +- xfree(c->table); ++ nftnl_xfree(c->table); + if (c->flags & (1 << NFTNL_FLOWTABLE_DEVICES)) { + for (i = 0; i < c->dev_array_len; i++) +- xfree(c->dev_array[i]); ++ nftnl_xfree(c->dev_array[i]); + +- xfree(c->dev_array); ++ nftnl_xfree(c->dev_array); + } +- xfree(c); ++ nftnl_xfree(c); + } + EXPORT_SYMBOL(nftnl_flowtable_free); + +@@ -73,10 +73,10 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr) + + switch (attr) { + case NFTNL_FLOWTABLE_NAME: +- xfree(c->name); ++ nftnl_xfree(c->name); + break; + case NFTNL_FLOWTABLE_TABLE: +- xfree(c->table); ++ nftnl_xfree(c->table); + break; + case NFTNL_FLOWTABLE_HOOKNUM: + case NFTNL_FLOWTABLE_PRIO: +@@ -86,8 +86,8 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr) + break; + case NFTNL_FLOWTABLE_DEVICES: + for (i = 0; i < c->dev_array_len; i++) { +- xfree(c->dev_array[i]); +- xfree(c->dev_array); ++ nftnl_xfree(c->dev_array[i]); ++ nftnl_xfree(c->dev_array); + } + break; + default: +@@ -117,7 +117,7 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, + switch(attr) { + case NFTNL_FLOWTABLE_NAME: + if (c->flags & (1 << NFTNL_FLOWTABLE_NAME)) +- xfree(c->name); ++ nftnl_xfree(c->name); + + c->name = strdup(data); + if (!c->name) +@@ -125,7 +125,7 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, + break; + case NFTNL_FLOWTABLE_TABLE: + if (c->flags & (1 << NFTNL_FLOWTABLE_TABLE)) +- xfree(c->table); ++ nftnl_xfree(c->table); + + c->table = strdup(data); + if (!c->table) +@@ -147,8 +147,8 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, + + if (c->flags & (1 << NFTNL_FLOWTABLE_DEVICES)) { + for (i = 0; i < c->dev_array_len; i++) { +- xfree(c->dev_array[i]); +- xfree(c->dev_array); ++ nftnl_xfree(c->dev_array[i]); ++ nftnl_xfree(c->dev_array); + } + } + +@@ -423,7 +423,7 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab + + if (tb[NFTA_FLOWTABLE_NAME]) { + if (c->flags & (1 << NFTNL_FLOWTABLE_NAME)) +- xfree(c->name); ++ nftnl_xfree(c->name); + c->name = strdup(mnl_attr_get_str(tb[NFTA_FLOWTABLE_NAME])); + if (!c->name) + return -1; +@@ -431,7 +431,7 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab + } + if (tb[NFTA_FLOWTABLE_TABLE]) { + if (c->flags & (1 << NFTNL_FLOWTABLE_TABLE)) +- xfree(c->table); ++ nftnl_xfree(c->table); + c->table = strdup(mnl_attr_get_str(tb[NFTA_FLOWTABLE_TABLE])); + if (!c->table) + return -1; +@@ -635,7 +635,7 @@ void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list) + list_del(&s->head); + nftnl_flowtable_free(s); + } +- xfree(list); ++ nftnl_xfree(list); + } + EXPORT_SYMBOL(nftnl_flowtable_list_free); + diff --git a/src/gen.c b/src/gen.c -index f92180c7baf6..4fe078d3832c 100644 +index 1fc909930d86..c69f6f87deae 100644 --- a/src/gen.c +++ b/src/gen.c @@ -38,7 +38,7 @@ struct nftnl_gen *nftnl_gen_alloc(void) @@ -386,10 +507,10 @@ index f92180c7baf6..4fe078d3832c 100644 EXPORT_SYMBOL(nftnl_gen_is_set); diff --git a/src/object.c b/src/object.c -index 30000f748da4..1b5965d7abdc 100644 +index e88203a82441..28e04486c76c 100644 --- a/src/object.c +++ b/src/object.c -@@ -50,11 +50,11 @@ EXPORT_SYMBOL(nftnl_obj_free); +@@ -53,11 +53,11 @@ EXPORT_SYMBOL(nftnl_obj_free); void nftnl_obj_free(const struct nftnl_obj *obj) { if (obj->flags & (1 << NFTNL_OBJ_TABLE)) @@ -404,7 +525,7 @@ index 30000f748da4..1b5965d7abdc 100644 } EXPORT_SYMBOL(nftnl_obj_is_set); -@@ -77,11 +77,11 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, +@@ -81,11 +81,11 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, switch (attr) { case NFTNL_OBJ_TABLE: @@ -418,7 +539,7 @@ index 30000f748da4..1b5965d7abdc 100644 obj->name = strdup(data); break; case NFTNL_OBJ_TYPE: -@@ -523,7 +523,7 @@ void nftnl_obj_list_free(struct nftnl_obj_list *list) +@@ -452,7 +452,7 @@ void nftnl_obj_list_free(struct nftnl_obj_list *list) list_del(&r->head); nftnl_obj_free(r); } @@ -427,7 +548,7 @@ index 30000f748da4..1b5965d7abdc 100644 } EXPORT_SYMBOL(nftnl_obj_list_is_empty); -@@ -610,5 +610,5 @@ struct nftnl_obj *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter) +@@ -539,5 +539,5 @@ struct nftnl_obj *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter) EXPORT_SYMBOL(nftnl_obj_list_iter_destroy); void nftnl_obj_list_iter_destroy(struct nftnl_obj_list_iter *iter) { @@ -435,7 +556,7 @@ index 30000f748da4..1b5965d7abdc 100644 + nftnl_xfree(iter); } diff --git a/src/rule.c b/src/rule.c -index e4cba1f7a352..911f327a6f9f 100644 +index 9af8fae2a803..0fce46e5c944 100644 --- a/src/rule.c +++ b/src/rule.c @@ -75,13 +75,13 @@ void nftnl_rule_free(const struct nftnl_rule *r) @@ -532,7 +653,7 @@ index e4cba1f7a352..911f327a6f9f 100644 r->user.len = mnl_attr_get_payload_len(tb[NFTA_RULE_USERDATA]); -@@ -910,7 +910,7 @@ struct nftnl_expr *nftnl_expr_iter_next(struct nftnl_expr_iter *iter) +@@ -737,7 +737,7 @@ struct nftnl_expr *nftnl_expr_iter_next(struct nftnl_expr_iter *iter) EXPORT_SYMBOL(nftnl_expr_iter_destroy); void nftnl_expr_iter_destroy(struct nftnl_expr_iter *iter) { @@ -540,8 +661,8 @@ index e4cba1f7a352..911f327a6f9f 100644 + nftnl_xfree(iter); } - EXPORT_SYMBOL(nftnl_rule_cmp); -@@ -971,7 +971,7 @@ void nftnl_rule_list_free(struct nftnl_rule_list *list) + struct nftnl_rule_list { +@@ -767,7 +767,7 @@ void nftnl_rule_list_free(struct nftnl_rule_list *list) list_del(&r->head); nftnl_rule_free(r); } @@ -550,7 +671,7 @@ index e4cba1f7a352..911f327a6f9f 100644 } EXPORT_SYMBOL(nftnl_rule_list_is_empty); -@@ -1063,5 +1063,5 @@ struct nftnl_rule *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter) +@@ -865,5 +865,5 @@ struct nftnl_rule *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter) EXPORT_SYMBOL(nftnl_rule_list_iter_destroy); void nftnl_rule_list_iter_destroy(const struct nftnl_rule_list_iter *iter) { @@ -558,10 +679,10 @@ index e4cba1f7a352..911f327a6f9f 100644 + nftnl_xfree(iter); } diff --git a/src/ruleset.c b/src/ruleset.c -index eb49fde582c2..1639cae68c61 100644 +index 2468bd46cd5d..16059a305309 100644 --- a/src/ruleset.c +++ b/src/ruleset.c -@@ -72,7 +72,7 @@ void nftnl_ruleset_free(const struct nftnl_ruleset *r) +@@ -70,7 +70,7 @@ void nftnl_ruleset_free(const struct nftnl_ruleset *r) nftnl_set_list_free(r->set_list); if (r->flags & (1 << NFTNL_RULESET_RULELIST)) nftnl_rule_list_free(r->rule_list); @@ -571,7 +692,7 @@ index eb49fde582c2..1639cae68c61 100644 EXPORT_SYMBOL(nftnl_ruleset_is_set); diff --git a/src/set.c b/src/set.c -index ac24eae6bb16..2b758c4ec89a 100644 +index d1bdb165ab4b..53e54715d4b8 100644 --- a/src/set.c +++ b/src/set.c @@ -46,17 +46,17 @@ void nftnl_set_free(const struct nftnl_set *s) @@ -607,9 +728,9 @@ index ac24eae6bb16..2b758c4ec89a 100644 - xfree(s->name); + nftnl_xfree(s->name); break; + case NFTNL_SET_HANDLE: case NFTNL_SET_FLAGS: - case NFTNL_SET_KEY_TYPE: -@@ -92,7 +92,7 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) +@@ -93,7 +93,7 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) case NFTNL_SET_GC_INTERVAL: break; case NFTNL_SET_USERDATA: @@ -618,7 +739,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 break; default: return; -@@ -125,7 +125,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, +@@ -127,7 +127,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, switch(attr) { case NFTNL_SET_TABLE: if (s->flags & (1 << NFTNL_SET_TABLE)) @@ -627,7 +748,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 s->table = strdup(data); if (!s->table) -@@ -133,7 +133,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, +@@ -135,7 +135,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, break; case NFTNL_SET_NAME: if (s->flags & (1 << NFTNL_SET_NAME)) @@ -636,7 +757,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 s->name = strdup(data); if (!s->name) -@@ -177,7 +177,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, +@@ -182,7 +182,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, break; case NFTNL_SET_USERDATA: if (s->flags & (1 << NFTNL_SET_USERDATA)) @@ -645,7 +766,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 s->user.data = malloc(data_len); if (!s->user.data) -@@ -478,7 +478,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -492,7 +492,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) if (tb[NFTA_SET_TABLE]) { if (s->flags & (1 << NFTNL_SET_TABLE)) @@ -654,7 +775,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 s->table = strdup(mnl_attr_get_str(tb[NFTA_SET_TABLE])); if (!s->table) return -1; -@@ -486,7 +486,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -500,7 +500,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) } if (tb[NFTA_SET_NAME]) { if (s->flags & (1 << NFTNL_SET_NAME)) @@ -663,7 +784,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 s->name = strdup(mnl_attr_get_str(tb[NFTA_SET_NAME])); if (!s->name) return -1; -@@ -982,7 +982,7 @@ void nftnl_set_list_free(struct nftnl_set_list *list) +@@ -742,7 +742,7 @@ void nftnl_set_list_free(struct nftnl_set_list *list) list_del(&s->head); nftnl_set_free(s); } @@ -672,7 +793,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 } EXPORT_SYMBOL(nftnl_set_list_is_empty); -@@ -1074,7 +1074,7 @@ struct nftnl_set *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter) +@@ -834,7 +834,7 @@ struct nftnl_set *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter) EXPORT_SYMBOL(nftnl_set_list_iter_destroy); void nftnl_set_list_iter_destroy(const struct nftnl_set_list_iter *iter) { @@ -682,7 +803,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 static struct nftnl_set *nftnl_set_lookup(const char *this_set_name, diff --git a/src/set_elem.c b/src/set_elem.c -index e02a38791c9a..100ccda699c6 100644 +index ff983a67d62a..fac96cd368f1 100644 --- a/src/set_elem.c +++ b/src/set_elem.c @@ -43,18 +43,18 @@ EXPORT_SYMBOL(nftnl_set_elem_free); @@ -760,7 +881,7 @@ index e02a38791c9a..100ccda699c6 100644 s->objref = strdup(data); if (!s->objref) -@@ -431,7 +431,7 @@ static int nftnl_set_elems_parse2(struct nftnl_set *s, const struct nlattr *nest +@@ -436,7 +436,7 @@ static int nftnl_set_elems_parse2(struct nftnl_set *s, const struct nlattr *nest mnl_attr_get_payload(tb[NFTA_SET_ELEM_USERDATA]); if (e->flags & (1 << NFTNL_RULE_USERDATA)) @@ -769,7 +890,7 @@ index e02a38791c9a..100ccda699c6 100644 e->user.len = mnl_attr_get_payload_len(tb[NFTA_SET_ELEM_USERDATA]); e->user.data = malloc(e->user.len); -@@ -516,7 +516,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -521,7 +521,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) if (tb[NFTA_SET_ELEM_LIST_TABLE]) { if (s->flags & (1 << NFTNL_SET_TABLE)) @@ -778,7 +899,7 @@ index e02a38791c9a..100ccda699c6 100644 s->table = strdup(mnl_attr_get_str(tb[NFTA_SET_ELEM_LIST_TABLE])); if (!s->table) -@@ -525,7 +525,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -530,7 +530,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) } if (tb[NFTA_SET_ELEM_LIST_SET]) { if (s->flags & (1 << NFTNL_SET_NAME)) @@ -787,7 +908,7 @@ index e02a38791c9a..100ccda699c6 100644 s->name = strdup(mnl_attr_get_str(tb[NFTA_SET_ELEM_LIST_SET])); if (!s->name) -@@ -816,7 +816,7 @@ struct nftnl_set_elem *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *it +@@ -729,7 +729,7 @@ struct nftnl_set_elem *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *it EXPORT_SYMBOL(nftnl_set_elems_iter_destroy); void nftnl_set_elems_iter_destroy(struct nftnl_set_elems_iter *iter) { @@ -797,10 +918,10 @@ index e02a38791c9a..100ccda699c6 100644 static bool nftnl_attr_nest_overflow(struct nlmsghdr *nlh, diff --git a/src/table.c b/src/table.c -index 7f97ca4e5807..7ac57c33021b 100644 +index 54259eec7d06..888991b1b80d 100644 --- a/src/table.c +++ b/src/table.c -@@ -46,9 +46,9 @@ EXPORT_SYMBOL(nftnl_table_free); +@@ -47,9 +47,9 @@ EXPORT_SYMBOL(nftnl_table_free); void nftnl_table_free(const struct nftnl_table *t) { if (t->flags & (1 << NFTNL_TABLE_NAME)) @@ -812,7 +933,7 @@ index 7f97ca4e5807..7ac57c33021b 100644 } EXPORT_SYMBOL(nftnl_table_is_set); -@@ -65,7 +65,7 @@ void nftnl_table_unset(struct nftnl_table *t, uint16_t attr) +@@ -66,7 +66,7 @@ void nftnl_table_unset(struct nftnl_table *t, uint16_t attr) switch (attr) { case NFTNL_TABLE_NAME: @@ -820,8 +941,8 @@ index 7f97ca4e5807..7ac57c33021b 100644 + nftnl_xfree(t->name); break; case NFTNL_TABLE_FLAGS: - case NFTNL_TABLE_FAMILY: -@@ -91,7 +91,7 @@ int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr, + case NFTNL_TABLE_HANDLE: +@@ -94,7 +94,7 @@ int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr, switch (attr) { case NFTNL_TABLE_NAME: if (t->flags & (1 << NFTNL_TABLE_NAME)) @@ -830,7 +951,7 @@ index 7f97ca4e5807..7ac57c33021b 100644 t->name = strdup(data); if (!t->name) -@@ -230,7 +230,7 @@ int nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t) +@@ -258,7 +258,7 @@ int nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t) if (tb[NFTA_TABLE_NAME]) { if (t->flags & (1 << NFTNL_TABLE_NAME)) @@ -839,7 +960,7 @@ index 7f97ca4e5807..7ac57c33021b 100644 t->name = strdup(mnl_attr_get_str(tb[NFTA_TABLE_NAME])); if (!t->name) return -1; -@@ -452,7 +452,7 @@ void nftnl_table_list_free(struct nftnl_table_list *list) +@@ -395,7 +395,7 @@ void nftnl_table_list_free(struct nftnl_table_list *list) list_del(&r->head); nftnl_table_free(r); } @@ -848,7 +969,7 @@ index 7f97ca4e5807..7ac57c33021b 100644 } EXPORT_SYMBOL(nftnl_table_list_is_empty); -@@ -538,5 +538,5 @@ struct nftnl_table *nftnl_table_list_iter_next(struct nftnl_table_list_iter *ite +@@ -481,5 +481,5 @@ struct nftnl_table *nftnl_table_list_iter_next(struct nftnl_table_list_iter *ite EXPORT_SYMBOL(nftnl_table_list_iter_destroy); void nftnl_table_list_iter_destroy(const struct nftnl_table_list_iter *iter) { @@ -881,7 +1002,7 @@ index f4264377508e..8a18391d83d1 100644 EXPORT_SYMBOL(nftnl_trace_is_set); diff --git a/src/udata.c b/src/udata.c -index 6bd965161c43..049819304ef5 100644 +index b5a47295b40d..3b3be548036d 100644 --- a/src/udata.c +++ b/src/udata.c @@ -33,7 +33,7 @@ struct nftnl_udata_buf *nftnl_udata_buf_alloc(uint32_t data_size) @@ -894,10 +1015,10 @@ index 6bd965161c43..049819304ef5 100644 EXPORT_SYMBOL(nftnl_udata_buf_len); diff --git a/src/utils.c b/src/utils.c -index 3e449609395e..08f668f56a95 100644 +index f641bf93ec68..02e7476a0ced 100644 --- a/src/utils.c +++ b/src/utils.c -@@ -264,7 +264,7 @@ int nftnl_fprintf(FILE *fp, const void *obj, uint32_t cmd, uint32_t type, +@@ -304,7 +304,7 @@ int nftnl_fprintf(FILE *fp, const void *obj, uint32_t cmd, uint32_t type, out: if (buf != _buf) @@ -907,5 +1028,5 @@ index 3e449609395e..08f668f56a95 100644 return ret; } -- -2.15.1 +2.19.1 diff --git a/package/libnftnl/Config.in b/package/libnftnl/Config.in index d4c9a1bb54..347223ce22 100644 --- a/package/libnftnl/Config.in +++ b/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/package/libnftnl/libnftnl.hash b/package/libnftnl/libnftnl.hash index c798dd2bb1..3ecaeb8a11 100644 --- a/package/libnftnl/libnftnl.hash +++ b/package/libnftnl/libnftnl.hash @@ -1,6 +1,3 @@ # From http://www.netfilter.org/projects/libnftnl/downloads.html -sha1 90b70f52a26f88ab1106671e797faac21265fa6a libnftnl-1.0.9.tar.bz2 -# Locally calculated after checking pgp signature -# http://www.netfilter.org/projects/libnftnl/files/libnftnl-1.0.9.tar.bz2.sig -sha256 fec1d824aee301e59a11aeaae2a2d429cb99ead81e6bafab791a4dd6569b3635 libnftnl-1.0.9.tar.bz2 +sha256 a5c7b7a6c13c9c5898b13fcb1126fefce2015d5a96d7c354b19aaa40b6aece5d libnftnl-1.1.2.tar.bz2 sha256 98193898c663001eff2fdcfb676e210c13042bc1a05e8d570c363efa396f8e24 COPYING diff --git a/package/libnftnl/libnftnl.mk b/package/libnftnl/libnftnl.mk index 8c8b3f8243..b8e015baf8 100644 --- a/package/libnftnl/libnftnl.mk +++ b/package/libnftnl/libnftnl.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBNFTNL_VERSION = 1.0.9 -LIBNFTNL_SITE = http://netfilter.org/projects/libnftnl/files +LIBNFTNL_VERSION = 1.1.2 +LIBNFTNL_SITE = https://netfilter.org/projects/libnftnl/files LIBNFTNL_SOURCE = libnftnl-$(LIBNFTNL_VERSION).tar.bz2 LIBNFTNL_LICENSE = GPL-2.0+ LIBNFTNL_LICENSE_FILES = COPYING diff --git a/package/libnpth/libnpth.hash b/package/libnpth/libnpth.hash index 251d54badf..8d0b6bd547 100644 --- a/package/libnpth/libnpth.hash +++ b/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/package/libnpth/libnpth.mk b/package/libnpth/libnpth.mk index 7b2eb2ae25..ecfef863f4 100644 --- a/package/libnpth/libnpth.mk +++ b/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/package/libnspr/0001-nios2.patch b/package/libnspr/0001-nios2.patch index e10e7e9a66..2a967c4593 100644 --- a/package/libnspr/0001-nios2.patch +++ b/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/package/libnspr/0002-microblaze.patch b/package/libnspr/0002-microblaze.patch index 7cf1f0dfac..4c23259d58 100644 --- a/package/libnspr/0002-microblaze.patch +++ b/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/package/libnspr/libnspr.hash b/package/libnspr/libnspr.hash index 3067afd720..33710b65a9 100644 --- a/package/libnspr/libnspr.hash +++ b/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/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk index d91393f6e8..763c5393b0 100644 --- a/package/libnspr/libnspr.mk +++ b/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/package/libnss/libnss.hash b/package/libnss/libnss.hash index 2a7ca2b065..9c3cefd818 100644 --- a/package/libnss/libnss.hash +++ b/package/libnss/libnss.hash @@ -1,4 +1,4 @@ -# From https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_38_RTM/src/SHA256SUMS -sha256 2c643d3c08d6935f4d325f40743719b6990aa25a79ec2f8f712c99d086672f62 nss-3.38.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/package/libnss/libnss.mk b/package/libnss/libnss.mk index 0693f71ee6..73c9b08fd2 100644 --- a/package/libnss/libnss.mk +++ b/package/libnss/libnss.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSS_VERSION = 3.38 +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 diff --git a/package/liboauth/0001-Fixes-build-issue-with-OpenSSL-1.1.0.patch b/package/liboauth/0001-Fixes-build-issue-with-OpenSSL-1.1.0.patch new file mode 100644 index 0000000000..945307bba8 --- /dev/null +++ b/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/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch b/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch new file mode 100644 index 0000000000..b0aca8a715 --- /dev/null +++ b/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch @@ -0,0 +1,31 @@ +From 18ca43507b351f339ff23062541ee8d58e813a53 Mon Sep 17 00:00:00 2001 +From: Florian Forster +Date: Sun, 29 Jul 2018 14:34:19 +0200 +Subject: [PATCH] ping_host_add: Decrease buffer size to make GCC's truncation + check happy. + +Fixes: #38 +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/octo/liboping/commit/18ca43507b351f339ff23062541ee8d58e813a53] +--- + src/liboping.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/liboping.c b/src/liboping.c +index 5253e8c..2470988 100644 +--- a/src/liboping.c ++++ b/src/liboping.c +@@ -1636,10 +1636,8 @@ int ping_host_add (pingobj_t *obj, const char *host) + } + else + { +- char errmsg[PING_ERRMSG_LEN]; +- +- snprintf (errmsg, PING_ERRMSG_LEN, "Unknown `ai_family': %i", ai_ptr->ai_family); +- errmsg[PING_ERRMSG_LEN - 1] = '\0'; ++ char errmsg[64]; ++ snprintf (errmsg, sizeof(errmsg), "Unknown `ai_family': %d", ai_ptr->ai_family); + + dprintf ("%s", errmsg); + ping_set_error (obj, "getaddrinfo", errmsg); diff --git a/package/libopusenc/libopusenc.hash b/package/libopusenc/libopusenc.hash index 1eea51b6bc..bdb4cf8fde 100644 --- a/package/libopusenc/libopusenc.hash +++ b/package/libopusenc/libopusenc.hash @@ -1,3 +1,3 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 02e6e0b14cbbe0569d948a46420f9c9a81d93bba32dc576a4007cbf96da68ef3 libopusenc-0.1.1.tar.gz +sha256 8298db61a8d3d63e41c1a80705baa8ce9ff3f50452ea7ec1c19a564fe106cbb9 libopusenc-0.2.1.tar.gz sha256 93b17ab56b8230127fea532be0dcb4e6d71e66ab5e8ce5d6ae8785d7288b164f COPYING diff --git a/package/libopusenc/libopusenc.mk b/package/libopusenc/libopusenc.mk index 0debe85c71..3b4dc0e714 100644 --- a/package/libopusenc/libopusenc.mk +++ b/package/libopusenc/libopusenc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOPUSENC_VERSION = 0.1.1 +LIBOPUSENC_VERSION = 0.2.1 LIBOPUSENC_SITE = https://downloads.xiph.org/releases/opus LIBOPUSENC_LICENSE = BSD-3-Clause LIBOPUSENC_LICENSE_FILES = COPYING diff --git a/package/libostree/libostree.hash b/package/libostree/libostree.hash index 2d501ccf93..ddd15b5099 100644 --- a/package/libostree/libostree.hash +++ b/package/libostree/libostree.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 483e359fd934f3fb1abde2cd8ff9c5bccb97e2a37d52ed8bedfa9ab1290883d9 libostree-2018.7.tar.xz +sha256 f263cfed75dcc9e312a874d28241e7143d8a0d8c774938f2165327bae67dbe06 libostree-2018.9.1.tar.xz sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/package/libostree/libostree.mk b/package/libostree/libostree.mk index 349e6a0881..e8cdd64d6e 100644 --- a/package/libostree/libostree.mk +++ b/package/libostree/libostree.mk @@ -4,9 +4,10 @@ # ################################################################################ -LIBOSTREE_VERSION = 2018.7 +LIBOSTREE_VERSION_MAJOR = 2018.9 +LIBOSTREE_VERSION= $(LIBOSTREE_VERSION_MAJOR).1 LIBOSTREE_SOURCE = libostree-$(LIBOSTREE_VERSION).tar.xz -LIBOSTREE_SITE = https://github.com/ostreedev/ostree/releases/download/v$(LIBOSTREE_VERSION) +LIBOSTREE_SITE = https://github.com/ostreedev/ostree/releases/download/v$(LIBOSTREE_VERSION_MAJOR) LIBOSTREE_LICENSE = LGPL-2.0+ LIBOSTREE_LICENSE_FILES = COPYING @@ -68,4 +69,13 @@ else LIBOSTREE_CONF_OPTS += --without-selinux endif +ifeq ($(BR2_INIT_SYSTEMD),y) +LIBOSTREE_CONF_OPTS += \ + --with-libsystemd \ + --with-systemdsystemunitdir=/usr/lib/systemd/system +LIBOSTREE_DEPENDENCIES += systemd +else +LIBOSTREE_CONF_OPTS += --without-libsystemd +endif + $(eval $(autotools-package)) diff --git a/package/libpagekite/0001-configure.ac-fix-handling-of-with.patch b/package/libpagekite/0001-configure.ac-fix-handling-of-with.patch new file mode 100644 index 0000000000..342b7d50a3 --- /dev/null +++ b/package/libpagekite/0001-configure.ac-fix-handling-of-with.patch @@ -0,0 +1,76 @@ +From dbb7ea56148949412b18770967022455f3e5cb63 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Fri, 16 Feb 2018 11:45:21 +0100 +Subject: [PATCH] configure.ac: fix handling of --with-* + +The 'action-if-given' argument of AC_ARG_WITH is executed whenever the +--with- or --without- option is given. Setting e.g. with_tests=yes in +that branch causes the argument '--without-tests' to *enable* the tests +instead of disabling them. + +In most cases, the third and fourth argument can simply be skipped +since they are optional. We only need them in the cases where we use a +different variable than with_foo, or where we want to default to yes +instead of defaulting to empty. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) + +Upstream status: pull request sent: + https://github.com/pagekite/libpagekite/pull/49 +--- + configure.ac | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +diff --git a/configure.ac b/configure.ac +index aa4eb9c..130752a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -34,18 +34,15 @@ AC_ARG_WITH(openssl,[ --with-openssl=DIR Use optional openssl libs and inclu + + AC_ARG_WITH(tests, + [AS_HELP_STRING([--with-tests], +- [Compile libpagekite unit tests])], +- [with_tests=yes], []) ++ [Compile libpagekite unit tests])]) + + AC_ARG_WITH(debug-traces, + [AS_HELP_STRING([--with-debug-traces], +- [Compile libpagekite debug function traces])], +- [with_debug_traces=yes], []) ++ [Compile libpagekite debug function traces])]) + + AC_ARG_WITH(debug-canaries, + [AS_HELP_STRING([--with-debug-canaries], +- [Compile libpagekite debug memory canaries])], +- [with_debug_canaries=yes], []) ++ [Compile libpagekite debug memory canaries])]) + + AC_ARG_WITH(lua, + [AS_HELP_STRING([--without-lua], +@@ -55,7 +52,7 @@ AC_ARG_WITH(lua, + AC_ARG_WITH(os-libev, + [AS_HELP_STRING([--without-os-libev], + [Use embedded libev, not the OS-provided library])], +- [use_libev=no], []) ++ [use_libev="$withval"], []) + + AC_ARG_WITH(ipv6, + [AS_HELP_STRING([--without-ipv6], +@@ -70,12 +67,12 @@ AC_ARG_WITH(java, + AC_ARG_WITH(agpl-relay, + [AS_HELP_STRING([--with-agpl-relay], + [Compile libpagekite relay support (AGPLv3 code)])], +- [with_relay=yes], [with_relay=no]) ++ [with_relay="$withval"], [with_relay=no]) + + AC_ARG_WITH(ds-logfmt, + [AS_HELP_STRING([--with-ds-logfmt], + [Compile libpagekite with DigitalSTROM log format.])], +- [with_ds_logfmt=yes], [with_ds_logfmt=no]) ++ [with_ds_logfmt="$withval"], [with_ds_logfmt=no]) + + + # Checks for programs. +-- +2.15.1 + diff --git a/package/libpagekite/0002-configure.ac-use-AS_HELP_STRING-for-with-openssl.patch b/package/libpagekite/0002-configure.ac-use-AS_HELP_STRING-for-with-openssl.patch new file mode 100644 index 0000000000..f72127b117 --- /dev/null +++ b/package/libpagekite/0002-configure.ac-use-AS_HELP_STRING-for-with-openssl.patch @@ -0,0 +1,28 @@ +From cb20efae0e2ca86dd48c603b61d9c20225ebcd3d Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Fri, 16 Feb 2018 12:06:28 +0100 +Subject: [PATCH] configure.ac: use AS_HELP_STRING for --with-openssl + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 130752a..4874c0b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -17,7 +17,9 @@ use_openssl="yes" + use_libev="yes" + + specialssldir="" +-AC_ARG_WITH(openssl,[ --with-openssl=DIR Use optional openssl libs and includes from [DIR]/lib/ and [DIR]/include/openssl/], ++AC_ARG_WITH(openssl, ++ [AS_HELP_STRING([--with-openssl=DIR], ++ [Use optional openssl libs and includes from [DIR]/lib/ and [DIR]/include/openssl/])], + [ case "$with_openssl" in + yes) + ;; +-- +2.15.1 + diff --git a/package/libpagekite/0003-configure.ac-use-pkg-config-for-openssl.patch b/package/libpagekite/0003-configure.ac-use-pkg-config-for-openssl.patch new file mode 100644 index 0000000000..b615d302b4 --- /dev/null +++ b/package/libpagekite/0003-configure.ac-use-pkg-config-for-openssl.patch @@ -0,0 +1,137 @@ +From 6a8b5ee14acee6c258bbaeb8b148ee0dd0d62d3d Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Fri, 16 Feb 2018 15:36:59 +0100 +Subject: [PATCH] configure.ac: use pkg-config for openssl + +It is better to use pkg-config to detect openssl if that is possible. +pkg-config will add e.g. -lz and -ldl when needed. If pkg-config +fails, fall back to the old approach of detecting headers and libs. +Some of the additional openssl support (e.g. adding -ldl) is moved +inside the non-pkg-config path. + +Since AC_CHECK_LIBS adds the library found to LIBS, do the same in +the pkg-config case. Normally the Makefile.am should instead use +OPENSSL_LIBS where needed, but this is not done consistently. + +When --with-openssl=DIR is given, still perform the test (both with +pkg-config and by checking headers and libs). I.e., remove +$specialssldir. + +While we're at it, simplify the headers checks by merging them into a +single AC_CHECK_HEADERS. + +Note that it is (still) not an error when openssl is not found, +although the build will then fail. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + configure.ac | 67 ++++++++++++++++++++++-------------------------------------- + 1 file changed, 24 insertions(+), 43 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4874c0b..ccab9f4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -16,7 +16,6 @@ AC_CANONICAL_HOST + use_openssl="yes" + use_libev="yes" + +-specialssldir="" + AC_ARG_WITH(openssl, + [AS_HELP_STRING([--with-openssl=DIR], + [Use optional openssl libs and includes from [DIR]/lib/ and [DIR]/include/openssl/])], +@@ -27,7 +26,6 @@ AC_ARG_WITH(openssl, + use_openssl="no" + ;; + *) +- specialssldir="$with_openssl" + LDFLAGS="$LDFLAGS -L$with_openssl/lib" + CPPFLAGS="-I$with_openssl/include $CPPFLAGS" + ;; +@@ -139,59 +137,42 @@ AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK + AC_FUNC_REALLOC + AC_CHECK_FUNCS([clock_gettime dup2 gethostbyname gettimeofday inet_ntoa malloc memmove memset select socket strcasecmp strchr strdup strerror strncasecmp strrchr uname sched_yield pthread_yield pthread_yield_np]) + +-# OpenSSL requires dlopen on some platforms +-AC_SEARCH_LIBS(dlopen, dl) +- + # If they didn't specify it, we try to find it +-if test "$use_openssl" = "yes" -a -z "$specialssldir" ; then +- AC_CHECK_HEADER(openssl/ssl.h,, ++if test "$use_openssl" = "yes" ; then ++ # First try pkg-config; fall back to headers/libs check ++ PKG_CHECK_MODULES([OPENSSL], [openssl >= 1.0.0], ++ [LIBS="$OPENSSL_LIBS $LIBS"], ++ [AC_CHECK_HEADERS([openssl/ssl.h openssl/err.h openssl/rand.h],, + [ use_openssl="no" +- AC_MSG_WARN([Failed to find openssl/ssl.h so OpenSSL will not be used. +- If it is installed you can try the --with-openssl=DIR argument]) ]) +- +- if test "$use_openssl" = "yes"; then +- AC_CHECK_HEADER(openssl/err.h,, +- [ use_openssl="no" +- AC_MSG_WARN([Failed to find openssl/err.h so OpenSSL will not be used. +- If it is installed you can try the --with-openssl=DIR argument]) ]) +- fi +- +- if test "$use_openssl" = "yes"; then +- AC_CHECK_HEADER(openssl/rand.h,, +- [ use_openssl="no" +- AC_MSG_WARN([Failed to find openssl/rand.h so OpenSSL will not be used. +- If it is installed you can try the --with-openssl=DIR argument]) ]) +- fi +- +- if test "$use_openssl" = "yes"; then +- AC_CHECK_LIB(crypto, BIO_int_ctrl, +- [], +- [ use_openssl="no" +- AC_MSG_WARN([Failed to find libcrypto so OpenSSL will not be used. +- If it is installed you can try the --with-openssl=DIR argument]) ]) +- fi +- +- if test "$use_openssl" = "yes"; then +- AC_CHECK_LIB(ssl, SSL_new, +- [], +- [ use_openssl="no" +- AC_MSG_WARN([Failed to find libssl so OpenSSL will not be used. ++ AC_MSG_WARN([Failed to find openssl headers so OpenSSL will not be used. + If it is installed you can try the --with-openssl=DIR argument]) ]) +- fi ++ if test "$use_openssl" = "yes"; then ++ AC_CHECK_LIB(crypto, BIO_int_ctrl, [], ++ [ use_openssl="no" ++ AC_MSG_WARN([Failed to find libcrypto so OpenSSL will not be used. ++If it is installed you can try the --with-openssl=DIR argument]) ]) ++ fi ++ if test "$use_openssl" = "yes"; then ++ AC_CHECK_LIB(ssl, SSL_new, [], ++ [ use_openssl="no" ++ AC_MSG_WARN([Failed to find libssl so OpenSSL will not be used. ++If it is installed you can try the --with-openssl=DIR argument]) ]) ++ fi ++ if test "$use_openssl" = "yes"; then ++ # OpenSSL requires dlopen on some platforms ++ AC_SEARCH_LIBS(dlopen, dl) ++ OPENSSL_LIBS="-lssl -lcrypto" ++ fi]) + fi + +-OPENSSL_CFLAGS="" +-OPENSSL_LIBS="" + if test "$use_openssl" = "yes"; then + AC_DEFINE([HAVE_OPENSSL], [1], [Define to 1 if you have OpenSSL.]) +- OPENSSL_LIBS="-lssl -lcrypto" + # Define in Makefile also. + HAVE_OPENSSL=yes +- AC_SUBST(HAVE_OPENSSL) + fi + AC_SUBST([OPENSSL_CFLAGS]) + AC_SUBST([OPENSSL_LIBS]) +- ++AC_SUBST([HAVE_OPENSSL]) + + + LIBEV_CFLAGS="" +-- +2.15.1 + diff --git a/package/libpagekite/Config.in b/package/libpagekite/Config.in new file mode 100644 index 0000000000..0ecf4f97e1 --- /dev/null +++ b/package/libpagekite/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_LIBPAGEKITE + bool "libpagekite" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBEV + select BR2_PACKAGE_OPENSSL + help + PageKite is a protocol for dynamic, tunneled reverse proxying + of arbitrary TCP byte streams. It is particularly well suited + for making a HTTP server on a device without a public IP + address visible to the wider Internet, but can also be used + for a variety of other things, including SSH access. + + libpagekite is a tight, fast implementation of the PageKite + protocol in C, suitable for high-performance or embedded + applications. + + In addition to the libpagekite library, this package installs + the pagekitec, sshkite and httpkite tools. + + https://pagekite.net + https://github.com/pagekite/libpagekite + +comment "libpagekite needs a toolchain with threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libpagekite/libpagekite.hash b/package/libpagekite/libpagekite.hash new file mode 100644 index 0000000000..262adc7aab --- /dev/null +++ b/package/libpagekite/libpagekite.hash @@ -0,0 +1,7 @@ +# Locally calculated +sha256 df95bfe95c04b6908e835e13444c1c1883765926f1265e0d2223c42d3c59a4c2 libpagekite-v0.91.171102.tar.gz + +# License files, locally calculated +sha256 ba443b9c9d4273d06aae3e147e9ad1ec199cc9c23455f486a039536d47f57eed doc/COPYING.md +sha256 4a271d0bb6bb6e0bac880efddb46da73e6df3dcf0d9ca08a945a232f8ab882ef doc/LICENSE-2.0.txt +sha256 8e0f770cabe772d67d36469f6bf413afd2dcfa6ac37acfc65f770cf3a134106d doc/AGPLv3.txt diff --git a/package/libpagekite/libpagekite.mk b/package/libpagekite/libpagekite.mk new file mode 100644 index 0000000000..2c143ba022 --- /dev/null +++ b/package/libpagekite/libpagekite.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# libpagekite +# +################################################################################ + +LIBPAGEKITE_VERSION = v0.91.171102 +LIBPAGEKITE_SITE = $(call github,pagekite,libpagekite,$(LIBPAGEKITE_VERSION)) + +# pkrelay is AGPL-3.0+ but is not built +LIBPAGEKITE_LICENSE = Apache-2.0 or AGPL-3.0+ +LIBPAGEKITE_LICENSE_FILES = doc/COPYING.md doc/LICENSE-2.0.txt doc/AGPLv3.txt + +LIBPAGEKITE_DEPENDENCIES = host-pkgconf libev openssl +LIBPAGEKITE_INSTALL_STAGING = YES + +# Sources from git, no configure included +# 0001-configure.ac-fix-handling-of-with-os-libev.patch touches configure.ac +LIBPAGEKITE_AUTORECONF = YES + +LIBPAGEKITE_CONF_OPTS = \ + --with-openssl \ + --without-tests \ + --with-os-libev \ + --without-java \ + --without-agpl-relay \ + --without-ds-logfmt + +$(eval $(autotools-package)) diff --git a/package/libpam-tacplus/0002-Fix-compilation-of-tacc.c-with-GCC-8.patch b/package/libpam-tacplus/0002-Fix-compilation-of-tacc.c-with-GCC-8.patch new file mode 100644 index 0000000000..2f87b92767 --- /dev/null +++ b/package/libpam-tacplus/0002-Fix-compilation-of-tacc.c-with-GCC-8.patch @@ -0,0 +1,39 @@ +From 4c9635b03d0acf140f65004be9d4822297ee5a35 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Mon, 10 Dec 2018 17:27:16 -0200 +Subject: [PATCH] Fix compilation of tacc.c with GCC 8 + +GCC 8 demands that the size of the string copied by strncpy be smaller +than the size of the destination to keep space for the trailibg '\0': + +tacc.c:378:3: error: 'strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] + strncpy(utmpx.ut_id, tty + C_STRLEN("tty"), sizeof(utmpx.ut_id)); + +Ensure that no more than sizeof(utmpx.ut_id) - 1 characters are copied +and that a trailing '\0' is stored. + +Fixes: + http://autobuild.buildroot.net/results/da6d150e470046c03c5f7463de045604e15e4a30/ + +Signed-off-by: Carlos Santos +--- + tacc.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tacc.c b/tacc.c +index f61e2d7..3c1a40c 100644 +--- a/tacc.c ++++ b/tacc.c +@@ -375,7 +375,8 @@ int main(int argc, char **argv) { + utmpx.ut_type = USER_PROCESS; + utmpx.ut_pid = getpid(); + xstrcpy(utmpx.ut_line, tty, sizeof(utmpx.ut_line)); +- strncpy(utmpx.ut_id, tty + C_STRLEN("tty"), sizeof(utmpx.ut_id)); ++ strncpy(utmpx.ut_id, tty + C_STRLEN("tty"), sizeof(utmpx.ut_id) - 1); ++ utmpx.ut_id[sizeof(utmpx.ut_id) - 1] = '\0'; + xstrcpy(utmpx.ut_host, "dialup", sizeof(utmpx.ut_host)); + utmpx.ut_tv.tv_sec = tv.tv_sec; + utmpx.ut_tv.tv_usec = tv.tv_usec; +-- +2.14.5 + diff --git a/package/libpcap/0001-pcap-usb-linux.c-add-missing-limits.h-for-musl-systems.patch b/package/libpcap/0001-pcap-usb-linux.c-add-missing-limits.h-for-musl-systems.patch new file mode 100644 index 0000000000..aabaef3383 --- /dev/null +++ b/package/libpcap/0001-pcap-usb-linux.c-add-missing-limits.h-for-musl-systems.patch @@ -0,0 +1,26 @@ +From aafa3512b7b742f5e66a5543e41974cc5e7eebfa Mon Sep 17 00:00:00 2001 +From: maxice8 +Date: Sun, 22 Jul 2018 18:54:17 -0300 +Subject: [PATCH] pcap-usb-linux.c: add missing limits.h for musl systems. + +fix compilation on musl libc systems like Void Linux and Alpine. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/the-tcpdump-group/libpcap/commit/aafa3512b7b742f5e66a5543e41974cc5e7eebfa] +--- + pcap-usb-linux.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pcap-usb-linux.c b/pcap-usb-linux.c +index 6f8adf65e..b92c05ea1 100644 +--- a/pcap-usb-linux.c ++++ b/pcap-usb-linux.c +@@ -50,6 +50,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/package/libpcap/Config.in b/package/libpcap/Config.in index 643acbef6e..74429f209a 100644 --- a/package/libpcap/Config.in +++ b/package/libpcap/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBPCAP bool "libpcap" + select BR2_PACKAGE_BLUEZ5_UTILS_HEADERS if BR2_PACKAGE_BLUEZ5_UTILS select BR2_PACKAGE_ZLIB help A system-independent library for user-level network packet diff --git a/package/libpcap/libpcap.hash b/package/libpcap/libpcap.hash index f8bc1bcfef..19ce2adbe1 100644 --- a/package/libpcap/libpcap.hash +++ b/package/libpcap/libpcap.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 673dbc69fdc3f5a86fb5759ab19899039a8e5e6c631749e48dcd9c6f0c83541e libpcap-1.8.1.tar.gz +sha256 2edb88808e5913fdaa8e9c1fcaf272e19b2485338742b5074b9fe44d68f37019 libpcap-1.9.0.tar.gz # Hash for license file: sha256 8a54594d257e14a5260ac770f1633516cb51e3fc28c40136ce2697014eda7afd LICENSE diff --git a/package/libpcap/libpcap.mk b/package/libpcap/libpcap.mk index c4c5f31465..ebceca5273 100644 --- a/package/libpcap/libpcap.mk +++ b/package/libpcap/libpcap.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBPCAP_VERSION = 1.8.1 +LIBPCAP_VERSION = 1.9.0 LIBPCAP_SITE = http://www.tcpdump.org/release LIBPCAP_LICENSE = BSD-3-Clause LIBPCAP_LICENSE_FILES = LICENSE @@ -15,7 +15,9 @@ LIBPCAP_CONF_ENV = \ ac_cv_header_linux_wireless_h=yes \ CFLAGS="$(LIBPCAP_CFLAGS)" LIBPCAP_CFLAGS = $(TARGET_CFLAGS) -LIBPCAP_CONF_OPTS = --disable-yydebug --with-pcap=linux +LIBPCAP_CONF_OPTS = --disable-yydebug --with-pcap=linux --without-dag +# Disable dbus to break recursive dependencies +LIBPCAP_CONF_OPTS += --disable-dbus LIBPCAP_CONFIG_SCRIPTS = pcap-config # Omit -rpath from pcap-config output @@ -24,27 +26,12 @@ define LIBPCAP_CONFIG_REMOVE_RPATH endef LIBPCAP_POST_BUILD_HOOKS = LIBPCAP_CONFIG_REMOVE_RPATH -# On purpose, not compatible with bluez5 -ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y) -LIBPCAP_DEPENDENCIES += bluez_utils +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),y) +LIBPCAP_DEPENDENCIES += bluez5_utils-headers else LIBPCAP_CONF_OPTS += --disable-bluetooth endif -ifeq ($(BR2_PACKAGE_DBUS),y) -LIBPCAP_CONF_OPTS += --enable-dbus -LIBPCAP_DEPENDENCIES += dbus -else -LIBPCAP_CONF_OPTS += --disable-dbus -endif - -ifeq ($(BR2_PACKAGE_LIBUSB),y) -LIBPCAP_CONF_OPTS += --enable-canusb -LIBPCAP_DEPENDENCIES += libusb -else -LIBPCAP_CONF_OPTS += --disable-canusb -endif - ifeq ($(BR2_PACKAGE_LIBNL),y) LIBPCAP_DEPENDENCIES += libnl LIBPCAP_CFLAGS += "-I$(STAGING_DIR)/usr/include/libnl3" diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk index db9e474be7..22b922586c 100644 --- a/package/libpjsip/libpjsip.mk +++ b/package/libpjsip/libpjsip.mk @@ -26,9 +26,6 @@ LIBPJSIP_CONF_ENV = \ LIBPJSIP_CONF_OPTS = \ --disable-sound \ - --disable-gsm-codec \ - --disable-speex-codec \ - --disable-speex-aec \ --disable-resample \ --disable-video \ --disable-opencore-amr \ @@ -56,6 +53,16 @@ LIBPJSIP_CONF_OPTS = \ # so we want to use it. LIBPJSIP_CONF_OPTS += --enable-epoll +ifeq ($(BR2_PACKAGE_LIBGSM),y) +LIBPJSIP_CONF_OPTS += \ + --enable-gsm-codec \ + --with-external-gsm +LIBPJSIP_DEPENDENCIES += libgsm +else +LIBPJSIP_CONF_OPTS += \ + --disable-gsm-codec +endif + ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) LIBPJSIP_DEPENDENCIES += libopenssl LIBPJSIP_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr @@ -63,8 +70,23 @@ else LIBPJSIP_CONF_OPTS += --disable-ssl endif +ifeq ($(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yy) +LIBPJSIP_CONF_OPTS += \ + --enable-speex-aec \ + --enable-speex-codec \ + --with-external-speex +LIBPJSIP_DEPENDENCIES += speex speexdsp +else +LIBPJSIP_CONF_OPTS += \ + --disable-speex-aec \ + --disable-speex-codec +endif + ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) LIBPJSIP_DEPENDENCIES += util-linux endif +# disable build of test binaries +LIBPJSIP_MAKE_OPTS = lib + $(eval $(autotools-package)) diff --git a/package/libpng/libpng.hash b/package/libpng/libpng.hash index 0a0cebee91..e86b8c65ce 100644 --- a/package/libpng/libpng.hash +++ b/package/libpng/libpng.hash @@ -1,7 +1,6 @@ -# From http://sourceforge.net/projects/libpng/files/libpng16/1.6.34/ -md5 c05b6ca7190a5e387b78657dbe5536b2 libpng-1.6.34.tar.xz -sha1 45de4ec996ffcc3e18037e7c128abe95f4d0292a libpng-1.6.34.tar.xz - +# From https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/ +md5 015e8e15db1eecde5f2eb9eb5b6e59e9 libpng-1.6.37.tar.xz +sha1 3ab93fabbf4c27e1c4724371df408d9a1bd3f656 libpng-1.6.37.tar.xz # Locally computed: -sha256 2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6 libpng-1.6.34.tar.xz -sha256 a247c24f82bacf0403fe2f3d5550493a91cdb575fe7036b764bda8cacf3efd9c LICENSE +sha256 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca libpng-1.6.37.tar.xz +sha256 bf5e22b9dce8464064ae17a48ea1133c3369ac9e1d80ef9e320e5219aa14ea9b LICENSE diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk index ace62cd876..5c30a4f9ad 100644 --- a/package/libpng/libpng.mk +++ b/package/libpng/libpng.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBPNG_VERSION = 1.6.34 +LIBPNG_VERSION = 1.6.37 LIBPNG_SERIES = 16 LIBPNG_SOURCE = libpng-$(LIBPNG_VERSION).tar.xz LIBPNG_SITE = http://downloads.sourceforge.net/project/libpng/libpng$(LIBPNG_SERIES)/$(LIBPNG_VERSION) -LIBPNG_LICENSE = Libpng +LIBPNG_LICENSE = Libpng-2.0 LIBPNG_LICENSE_FILES = LICENSE LIBPNG_INSTALL_STAGING = YES LIBPNG_DEPENDENCIES = host-pkgconf zlib diff --git a/package/libpqxx/0001-include-sys-time.h-outside-fallback-select-55.patch b/package/libpqxx/0001-include-sys-time.h-outside-fallback-select-55.patch deleted file mode 100644 index 4c635759e0..0000000000 --- a/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/package/libpqxx/libpqxx.hash b/package/libpqxx/libpqxx.hash index 372be603c5..b04e3c3198 100644 --- a/package/libpqxx/libpqxx.hash +++ b/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/package/libpqxx/libpqxx.mk b/package/libpqxx/libpqxx.mk index ccafa9ce71..9e0f84db82 100644 --- a/package/libpqxx/libpqxx.mk +++ b/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/package/libqmi/libqmi.hash b/package/libqmi/libqmi.hash index 297e1f0fa2..0c27451ec2 100644 --- a/package/libqmi/libqmi.hash +++ b/package/libqmi/libqmi.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 21428cd3749c56246565123f707fee51238651a22c60bdc85ebce97388626eb4 libqmi-1.20.0.tar.xz +sha256 21c198b481f1617bb7edb1960d823569de3e38b269dbf513af1b56048cafaa17 libqmi-1.22.0.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/libqmi/libqmi.mk b/package/libqmi/libqmi.mk index a7140dc38c..319c2362bf 100644 --- a/package/libqmi/libqmi.mk +++ b/package/libqmi/libqmi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBQMI_VERSION = 1.20.0 +LIBQMI_VERSION = 1.22.0 LIBQMI_SITE = http://www.freedesktop.org/software/libqmi LIBQMI_SOURCE = libqmi-$(LIBQMI_VERSION).tar.xz LIBQMI_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs) diff --git a/package/libraw/libraw.hash b/package/libraw/libraw.hash index c546b1bee5..643a2109b5 100644 --- a/package/libraw/libraw.hash +++ b/package/libraw/libraw.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 7cf724a40a0d8915869498f51062a952167e4f5bae2b6920542c9e0e079a471d LibRaw-0.18.11.tar.gz +sha256 400d47969292291d297873a06fb0535ccce70728117463927ddd9452aa849644 LibRaw-0.19.2.tar.gz sha256 eea173a556abac0370461e57e12aab266894ea6be3874c2be05fd87871f75449 LICENSE.LGPL sha256 0e3098d2d54a12434715f6679ea408d57da5e8d613c385c58ecc6fe5d30cc81f LICENSE.CDDL -sha256 7fe7564c5d48c5d353d7c1966dcddada3791586a4c2eedbc68ad56e96955e75d README +sha256 eee0055723d3483ef3ee7920e2178177b14a334c2a622be4101bcfb05d21407e README.md diff --git a/package/libraw/libraw.mk b/package/libraw/libraw.mk index 4ff7462647..0d95207b73 100644 --- a/package/libraw/libraw.mk +++ b/package/libraw/libraw.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRAW_VERSION = 0.18.11 +LIBRAW_VERSION = 0.19.2 LIBRAW_SOURCE = LibRaw-$(LIBRAW_VERSION).tar.gz LIBRAW_SITE = http://www.libraw.org/data LIBRAW_INSTALL_STAGING = YES @@ -14,7 +14,7 @@ LIBRAW_CONF_OPTS += \ --disable-demosaic-pack-gpl2 \ --disable-demosaic-pack-gpl3 LIBRAW_LICENSE = LGPL-2.1 or CDDL-1.0 -LIBRAW_LICENSE_FILES = LICENSE.LGPL LICENSE.CDDL README +LIBRAW_LICENSE_FILES = LICENSE.LGPL LICENSE.CDDL README.md LIBRAW_DEPENDENCIES = host-pkgconf LIBRAW_CXXFLAGS = $(TARGET_CXXFLAGS) LIBRAW_CONF_ENV = CXXFLAGS="$(LIBRAW_CXXFLAGS)" diff --git a/package/libressl/libressl.hash b/package/libressl/libressl.hash index 111fe4feed..a98f344677 100644 --- a/package/libressl/libressl.hash +++ b/package/libressl/libressl.hash @@ -1,4 +1,4 @@ # From https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/SHA256 -sha256 1e3a9fada06c1c060011470ad0ff960de28f9a0515277d7336f7e09362517da6 libressl-2.7.4.tar.gz +sha256 9b640b13047182761a99ce3e4f000be9687566e0828b4a72709e9e6a3ef98477 libressl-2.8.3.tar.gz # Locally computed sha256 5c63613f008f16a9c0025c096bbd736cecf720494d121b5c5203e0ec6e5955b1 COPYING diff --git a/package/libressl/libressl.mk b/package/libressl/libressl.mk index 35494c8239..e02ab90269 100644 --- a/package/libressl/libressl.mk +++ b/package/libressl/libressl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRESSL_VERSION = 2.7.4 +LIBRESSL_VERSION = 2.8.3 LIBRESSL_SITE = https://ftp.openbsd.org/pub/OpenBSD/LibreSSL LIBRESSL_LICENSE = ISC (new additions), OpenSSL or SSLeay (original OpenSSL code) LIBRESSL_LICENSE_FILES = COPYING diff --git a/package/librtlsdr/0002-fix-builds-with-newer-compilers-C-standards.patch b/package/librtlsdr/0002-fix-builds-with-newer-compilers-C-standards.patch deleted file mode 100644 index b663d08b9f..0000000000 --- a/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/package/librtlsdr/librtlsdr.hash b/package/librtlsdr/librtlsdr.hash index 9184196d9a..e7b0e84f4a 100644 --- a/package/librtlsdr/librtlsdr.hash +++ b/package/librtlsdr/librtlsdr.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 6fd0d298c1a18fc8005b0c2f6199b08bc15e3fb4f4312f551eea2ae269c940c5 librtlsdr-v0.5.4.tar.gz +sha256 80a5155f3505bca8f1b808f8414d7dcd7c459b662a1cde84d3a2629a6e72ae55 librtlsdr-0.6.0.tar.gz # License file, locally calculated sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/librtlsdr/librtlsdr.mk b/package/librtlsdr/librtlsdr.mk index dd1feacc03..500ccc5d17 100644 --- a/package/librtlsdr/librtlsdr.mk +++ b/package/librtlsdr/librtlsdr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBRTLSDR_VERSION = v0.5.4 +LIBRTLSDR_VERSION = 0.6.0 LIBRTLSDR_SITE = $(call github,steve-m,librtlsdr,$(LIBRTLSDR_VERSION)) LIBRTLSDR_LICENSE = GPL-2.0+ LIBRTLSDR_LICENSE_FILES = COPYING diff --git a/package/libseccomp/0001-remove-static.patch b/package/libseccomp/0001-remove-static.patch index 9f0ac210c7..60a1ff00b6 100644 --- a/package/libseccomp/0001-remove-static.patch +++ b/package/libseccomp/0001-remove-static.patch @@ -1,4 +1,4 @@ -From 8632287cf6863b580340f846ac14adf2609abdb0 Mon Sep 17 00:00:00 2001 +From 5d010fb06eae43b284e5ccc322f6de47eb42b751 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sat, 2 Jun 2018 13:45:22 +0200 Subject: [PATCH] remove static @@ -14,16 +14,18 @@ and slighly updated to work with 2.3.3 Signed-off-by: Bernd Kuhls Signed-off-by: Fabrice Fontaine +[Peter: updated for v2.4.0 which adds scmp_api_level] +Signed-off-by: Peter Korsgaard --- - tools/Makefile.am | 2 -- - 1 file changed, 2 deletions(-) + tools/Makefile.am | 3 --- + 1 file changed, 3 deletions(-) diff --git a/tools/Makefile.am b/tools/Makefile.am -index 70b4aed..ef74270 100644 +index f768365..5f9d571 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 +@@ -37,10 +37,7 @@ scmp_bpf_sim_SOURCES = scmp_bpf_sim.c bpf.h util.h + scmp_api_level_SOURCES = scmp_api_level.c scmp_sys_resolver_LDADD = ../src/libseccomp.la -scmp_sys_resolver_LDFLAGS = -static @@ -31,6 +33,8 @@ index 70b4aed..ef74270 100644 -scmp_arch_detect_LDFLAGS = -static scmp_bpf_disasm_LDADD = util.la scmp_bpf_sim_LDADD = util.la + scmp_api_level_LDADD = ../src/libseccomp.la +-scmp_api_level_LDFLAGS = -static -- -2.14.1 +2.11.0 diff --git a/package/libseccomp/libseccomp.hash b/package/libseccomp/libseccomp.hash index 0362ce9ba4..0823903c36 100644 --- a/package/libseccomp/libseccomp.hash +++ b/package/libseccomp/libseccomp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 5a52495207f00d1254707f11226e17c16ec53f5038d65bbabf1892873fa2fe5b libseccomp-v2.3.3.tar.gz +sha256 b7ee0299157fb7a6a81c99f2e0d7e64429b7d7c0eae43c3a6ef91e87eeed2868 libseccomp-v2.4.0.tar.gz sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b LICENSE diff --git a/package/libseccomp/libseccomp.mk b/package/libseccomp/libseccomp.mk index afa2d36122..90b981f042 100644 --- a/package/libseccomp/libseccomp.mk +++ b/package/libseccomp/libseccomp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSECCOMP_VERSION = v2.3.3 +LIBSECCOMP_VERSION = v2.4.0 LIBSECCOMP_SITE = $(call github,seccomp,libseccomp,$(LIBSECCOMP_VERSION)) LIBSECCOMP_LICENSE = LGPL-2.1 LIBSECCOMP_LICENSE_FILES = LICENSE diff --git a/package/libselinux/0002-libselinux-build-follow-standard-semantics-for-DESTD.patch b/package/libselinux/0002-libselinux-build-follow-standard-semantics-for-DESTD.patch deleted file mode 100644 index 089eef414e..0000000000 --- a/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/package/libselinux/0003-revert-ln-relative.patch b/package/libselinux/0002-revert-ln-relative.patch similarity index 55% rename from package/libselinux/0003-revert-ln-relative.patch rename to package/libselinux/0002-revert-ln-relative.patch index f72afa1b0a..f7beab2697 100644 --- a/package/libselinux/0003-revert-ln-relative.patch +++ b/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/package/libselinux/0004-Fix-build-break-around-__atomic_-with-GCC-4.7.patch b/package/libselinux/0003-Fix-build-break-around-__atomic_-with-GCC-4.7.patch similarity index 100% rename from package/libselinux/0004-Fix-build-break-around-__atomic_-with-GCC-4.7.patch rename to package/libselinux/0003-Fix-build-break-around-__atomic_-with-GCC-4.7.patch diff --git a/package/libselinux/libselinux.hash b/package/libselinux/libselinux.hash index 3c60d5111d..fb8e350434 100644 --- a/package/libselinux/libselinux.hash +++ b/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/package/libselinux/libselinux.mk b/package/libselinux/libselinux.mk index b3d48f7105..b09634740a 100644 --- a/package/libselinux/libselinux.mk +++ b/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/package/libsemanage/0001-libsemanage-build-follow-standard-semantics-for-DESTD.patch b/package/libsemanage/0001-libsemanage-build-follow-standard-semantics-for-DESTD.patch deleted file mode 100644 index 47ac6bded5..0000000000 --- a/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/package/libsemanage/libsemanage.hash b/package/libsemanage/libsemanage.hash index c386571591..5315514003 100644 --- a/package/libsemanage/libsemanage.hash +++ b/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/package/libsemanage/libsemanage.mk b/package/libsemanage/libsemanage.mk index b6e50e2848..bbde50f49f 100644 --- a/package/libsemanage/libsemanage.mk +++ b/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/package/libsepol/0001-libsepol-build-follow-standard-semantics-for-DESTD.patch b/package/libsepol/0001-libsepol-build-follow-standard-semantics-for-DESTD.patch deleted file mode 100644 index 1daf7206d3..0000000000 --- a/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/package/libsepol/0002-support-static-only.patch b/package/libsepol/0001-support-static-only.patch similarity index 68% rename from package/libsepol/0002-support-static-only.patch rename to package/libsepol/0001-support-static-only.patch index 8cf9a180ff..f475dcad18 100644 --- a/package/libsepol/0002-support-static-only.patch +++ b/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/package/libsepol/0003-revert-ln-relative.patch b/package/libsepol/0002-revert-ln-relative.patch similarity index 68% rename from package/libsepol/0003-revert-ln-relative.patch rename to package/libsepol/0002-revert-ln-relative.patch index 9d1553ed97..acac908be0 100644 --- a/package/libsepol/0003-revert-ln-relative.patch +++ b/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/package/libsepol/libsepol.hash b/package/libsepol/libsepol.hash index 08e2bf97a4..599133c116 100644 --- a/package/libsepol/libsepol.hash +++ b/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/package/libsepol/libsepol.mk b/package/libsepol/libsepol.mk index 5932ca1464..a1e3836851 100644 --- a/package/libsepol/libsepol.mk +++ b/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/package/libserial/0001-SerialPort.cpp-fix-build-when-size_t-is-an-unsigned-.patch b/package/libserial/0001-SerialPort.cpp-fix-build-when-size_t-is-an-unsigned-.patch new file mode 100644 index 0000000000..a01da53adb --- /dev/null +++ b/package/libserial/0001-SerialPort.cpp-fix-build-when-size_t-is-an-unsigned-.patch @@ -0,0 +1,39 @@ +From 2e4cf095afdcf843e93d1bdea9dbd961558f09bd Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 13 Jan 2019 21:01:19 +0100 +Subject: [PATCH] SerialPort.cpp: fix build when size_t is an unsigned int + +size_t can be defined as an unsigned int instead of long unsigned int so +replace 1UL to (size_t)1 when calling max function + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/crayzeewulf/libserial/pull/126] +--- + src/SerialPort.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/SerialPort.cpp b/src/SerialPort.cpp +index e354fcb..75e762e 100644 +--- a/src/SerialPort.cpp ++++ b/src/SerialPort.cpp +@@ -2208,7 +2208,7 @@ namespace LibSerial + + // Local variables. + size_t number_of_bytes_read = 0 ; +- size_t number_of_bytes_remaining = std::max(numberOfBytes, 1UL) ; ++ size_t number_of_bytes_remaining = std::max(numberOfBytes, (size_t)1) ; + size_t maximum_number_of_bytes = dataBuffer.max_size() ; + + // Clear the data buffer and reserve enough space in the buffer to store the incoming data. +@@ -2302,7 +2302,7 @@ namespace LibSerial + + // Local variables. + size_t number_of_bytes_read = 0 ; +- size_t number_of_bytes_remaining = std::max(numberOfBytes, 1UL) ; ++ size_t number_of_bytes_remaining = std::max(numberOfBytes, (size_t)1) ; + size_t maximum_number_of_bytes = dataString.max_size() ; + + // Clear the data buffer and reserve enough space in the buffer to store the incoming data. +-- +2.14.1 + diff --git a/package/libserial/0001-disable-python-bindings.patch b/package/libserial/0001-disable-python-bindings.patch deleted file mode 100644 index 1f2f5ed7df..0000000000 --- a/package/libserial/0001-disable-python-bindings.patch +++ /dev/null @@ -1,26 +0,0 @@ -Disable build of Python bindings, which requires the sipconfig module. - -Signed-off-by: Simon Dawson -Signed-off-by: Jörg Krause - -diff -purN libserial-0.6.0rc2.orig/Makefile.am libserial-0.6.0rc2/Makefile.am ---- libserial-0.6.0rc2.orig/Makefile.am 2014-06-05 18:37:25.000000000 +0200 -+++ libserial-0.6.0rc2/Makefile.am 2015-07-30 20:59:28.828429011 +0200 -@@ -1,4 +1,4 @@ --SUBDIRS=src doc examples sip -+SUBDIRS=src doc examples - ACLOCAL_AMFLAGS=-I m4 - - EXTRA_DIST = doxygen.conf.in Makefile.dist libserial.spec libserial.pc -diff -purN libserial-0.6.0rc2.orig/Makefile.in libserial-0.6.0rc2/Makefile.in ---- libserial-0.6.0rc2.orig/Makefile.in 2014-06-05 18:40:09.000000000 +0200 -+++ libserial-0.6.0rc2/Makefile.in 2015-07-30 21:00:09.215188376 +0200 -@@ -348,7 +348,7 @@ target_alias = @target_alias@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = src doc examples sip -+SUBDIRS = src doc examples - ACLOCAL_AMFLAGS = -I m4 - EXTRA_DIST = doxygen.conf.in Makefile.dist libserial.spec libserial.pc - pkgconfigdir = $(libdir)/pkgconfig diff --git a/package/libserial/0002-Don-t-use-high-baudrates-when-not-available.patch b/package/libserial/0002-Don-t-use-high-baudrates-when-not-available.patch deleted file mode 100644 index f2ad61ae7d..0000000000 --- a/package/libserial/0002-Don-t-use-high-baudrates-when-not-available.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 47ca0621ccd2100e4ba0d7f4e2a861d14f05f63c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 17 Nov 2015 23:50:14 +0100 -Subject: [PATCH] Don't use high baudrates when not available - -On certain architectures (namely Sparc), the maximum baud rate exposed -by the kernel headers is B2000000. Therefore, the current libserial -code doesn't build for the Sparc and Sparc64 architectures due to -this. - -In order to address this problem, this patch tests the value of -__MAX_BAUD. If it's higher than B2000000 then we assume we're on an -architecture that supports all baud rates up to B4000000. Otherwise, -we simply don't support the baud rates above B2000000. - -Fixes build failures such as: - -./SerialPort.h:88:24: error: 'B2500000' was not declared in this scope - BAUD_2500000 = B2500000, - -Signed-off-by: Thomas Petazzoni ---- - src/SerialPort.h | 2 ++ - src/SerialStreamBuf.h | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/src/SerialPort.h b/src/SerialPort.h -index 6c0baaa..0b1af4c 100644 ---- a/src/SerialPort.h -+++ b/src/SerialPort.h -@@ -85,11 +85,13 @@ public: - BAUD_1152000 = B1152000, - BAUD_1500000 = B1500000, - BAUD_2000000 = B2000000, -+#if __MAX_BAUD > B2000000 - BAUD_2500000 = B2500000, - BAUD_3000000 = B3000000, - BAUD_3500000 = B3500000, - BAUD_4000000 = B4000000, - #endif -+#endif /* __linux__ */ - BAUD_DEFAULT = BAUD_57600 - } ; - -diff --git a/src/SerialStreamBuf.h b/src/SerialStreamBuf.h -index ccbb996..174f31c 100644 ---- a/src/SerialStreamBuf.h -+++ b/src/SerialStreamBuf.h -@@ -85,11 +85,13 @@ extern "C++" - BAUD_1152000 = SerialPort::BAUD_1152000, - BAUD_1500000 = SerialPort::BAUD_1500000, - BAUD_2000000 = SerialPort::BAUD_2000000, -+#if __MAX_BAUD > B2000000 - BAUD_2500000 = SerialPort::BAUD_2500000, - BAUD_3000000 = SerialPort::BAUD_3000000, - BAUD_3500000 = SerialPort::BAUD_3500000, - BAUD_4000000 = SerialPort::BAUD_4000000, - #endif -+#endif /* __linux__ */ - BAUD_DEFAULT = SerialPort::BAUD_DEFAULT, - BAUD_INVALID = -1 - } ; --- -2.6.3 - diff --git a/package/libserial/0002-SerialPort.cpp-don-t-use-high-baudrates-when-not-ava.patch b/package/libserial/0002-SerialPort.cpp-don-t-use-high-baudrates-when-not-ava.patch new file mode 100644 index 0000000000..4f97f598c4 --- /dev/null +++ b/package/libserial/0002-SerialPort.cpp-don-t-use-high-baudrates-when-not-ava.patch @@ -0,0 +1,53 @@ +From fc0f031563146b91d255c752a61624f6dd3c14d4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 15 Jan 2019 08:33:27 +0100 +Subject: [PATCH] SerialPort.cpp: don't use high baudrates when not available + +On certain architectures (namely Sparc), the maximum baud rate exposed +by the kernel headers is B2000000. Therefore, the current libserial +code doesn't build for the Sparc and Sparc64 architectures due to +this. + +In order to address this problem, this patch tests the value of +__MAX_BAUD. If it's higher than B2000000 then we assume we're on an +architecture that supports all baud rates up to B4000000. Otherwise, +we simply don't support the baud rates above B2000000. + +Fixes build failures such as: + +SerialPort.cpp: In member function 'int LibSerial::SerialPort::Implementation::GetBitRate(const LibSerial::BaudRate&) const': +SerialPort.cpp:1226:14: error: 'BAUD_2000000' is not a member of 'LibSerial::BaudRate' + case BaudRate::BAUD_2000000: + +Fixes: + - http://autobuild.buildroot.org/results/63ba95b6786464fa8e75af64593010df84530079 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/crayzeewulf/libserial/pull/127] +--- + src/SerialPort.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/SerialPort.cpp b/src/SerialPort.cpp +index e3240eb..18daac0 100644 +--- a/src/SerialPort.cpp ++++ b/src/SerialPort.cpp +@@ -1223,6 +1223,7 @@ namespace LibSerial + baud_rate_as_int = 1500000 ; + break ; + ++#if __MAX_BAUD > B2000000 + case BaudRate::BAUD_2000000: + baud_rate_as_int = 2000000 ; + break ; +@@ -1242,6 +1243,7 @@ namespace LibSerial + case BaudRate::BAUD_4000000: + baud_rate_as_int = 4000000 ; + break ; ++#endif /* __MAX_BAUD */ + default: + // If an incorrect baud rate was specified, throw an exception. + throw std::runtime_error(ERR_MSG_INVALID_BAUD_RATE) ; +-- +2.14.1 + diff --git a/package/libserial/Config.in b/package/libserial/Config.in index d492f6b71b..d54ae4d8ac 100644 --- a/package/libserial/Config.in +++ b/package/libserial/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_LIBSERIAL bool "libserial" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14 depends on BR2_TOOLCHAIN_HAS_THREADS # boost depends on BR2_USE_WCHAR # boost select BR2_PACKAGE_BOOST @@ -10,5 +11,7 @@ config BR2_PACKAGE_LIBSERIAL http://libserial.sourceforge.net/ -comment "libserial needs a toolchain w/ C++, threads, wchar" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR +comment "libserial needs a toolchain w/ C++, gcc >= 5, threads, wchar" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/package/libserial/libserial.hash b/package/libserial/libserial.hash index bca647ae3f..e82809c71b 100644 --- a/package/libserial/libserial.hash +++ b/package/libserial/libserial.hash @@ -1,5 +1,3 @@ -# From http://sourceforge.net/projects/libserial/files/libserial/0.6.0rc2/ -sha1 e09113be3ba595135e95e853003ff96feea0da63 libserial-0.6.0rc2.tar.gz -md5 7787679b22901e4810bc53ecccdf8266 libserial-0.6.0rc2.tar.gz # Locally calculated -sha256 35ee29eb1369d52ffb8658237577692f991eb508320d0abbb71c53e6494a1c23 libserial-0.6.0rc2.tar.gz +sha256 063142d6bfe08898316e9a6055f2ddeedef56de06f7cfc8dcdfecc6efabf4bdd libserial-v1.0.0.tar.gz +sha256 c42fdfe17c192cfdb900e22d40ef246db1b473f99165e405eda62b41be27f4bf LICENSE.txt diff --git a/package/libserial/libserial.mk b/package/libserial/libserial.mk index b73d4c76cd..8da7d1cddd 100644 --- a/package/libserial/libserial.mk +++ b/package/libserial/libserial.mk @@ -4,13 +4,18 @@ # ################################################################################ -LIBSERIAL_VERSION = 0.6.0rc2 -LIBSERIAL_SITE = http://downloads.sourceforge.net/libserial +LIBSERIAL_VERSION = v1.0.0 +LIBSERIAL_SITE = $(call github,crayzeewulf,libserial,$(LIBSERIAL_VERSION)) LIBSERIAL_INSTALL_STAGING = YES -LIBSERIAL_LICENSE = GPL-2.0+ -LIBSERIAL_LICENSE_FILES = COPYING +LIBSERIAL_LICENSE = BSD-3-Clause +LIBSERIAL_LICENSE_FILES = LICENSE.txt LIBSERIAL_DEPENDENCIES = boost +# From git +LIBSERIAL_AUTORECONF = YES LIBSERIAL_CONF_ENV = ac_cv_prog_DOCBOOK2PDF=no +LIBSERIAL_CONF_OPTS = \ + --disable-tests \ + --without-python $(eval $(autotools-package)) diff --git a/package/libshout/0003-libshout-tls-compile-with-OpenSSL-1.1.0.patch b/package/libshout/0003-libshout-tls-compile-with-OpenSSL-1.1.0.patch new file mode 100644 index 0000000000..49b71501ed --- /dev/null +++ b/package/libshout/0003-libshout-tls-compile-with-OpenSSL-1.1.0.patch @@ -0,0 +1,59 @@ +From 01fafc449f0de56743d08e7976933c49e2915bfa Mon Sep 17 00:00:00 2001 +From: Sebastian Andrzej Siewior +Date: Wed, 15 Nov 2017 12:46:25 +0000 +Subject: [PATCH] tls: compile with OpenSSL 1.1.0 + +The init functions are not longer required in OpenSSL 1.1 so I dropped +them. + +TLSv1_client_method() should not be used because it enables only the +TLSv1.0 protocol. Better is to use SSLv23_client_method() which enable +all the protocols including TLSv1.2. With this functions SSLv2 and SSLv3 +is theoretically possible but as of today those protocols are usually +build-time disabled. +To avoid all this OpenSSL 1.1 provides TLS_client_method() which is aim +to provide to highest TLS protocol version (same as +SSLv23_client_method() but it is deprecated in 1.1). + +Signed-off-by: Sebastian Andrzej Siewior +Signed-off-by: Patrick Havelange +--- + src/tls.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/src/tls.c b/src/tls.c +index 4562c7327077..e0e5c1a5f079 100644 +--- a/src/tls.c ++++ b/src/tls.c +@@ -24,6 +24,7 @@ + #endif + + #include ++#include + #include "shout_private.h" + + #ifndef XXX_HAVE_X509_check_host +@@ -61,14 +62,17 @@ shout_tls_t *shout_tls_new(shout_t *self, sock_t socket) + + static inline int tls_setup(shout_tls_t *tls) + { +- SSL_METHOD *meth; +- ++ const SSL_METHOD *meth; ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) + SSL_library_init(); + SSL_load_error_strings(); + SSLeay_add_all_algorithms(); +- SSLeay_add_ssl_algorithms(); ++ SSLeay_add_ssl_algorithms(); + +- meth = TLSv1_client_method(); ++ meth = SSLv23_client_method(); ++#else ++ meth = TLS_client_method(); ++#endif + if (!meth) + goto error; + +-- +2.15.0 diff --git a/package/libsigrok/Config.in b/package/libsigrok/Config.in index fb74beaab5..bb76e09d2d 100644 --- a/package/libsigrok/Config.in +++ b/package/libsigrok/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBSIGROK depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU + depends on BR2_ENABLE_LOCALE depends on !BR2_STATIC_LIBS # libzip # std=c11 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 @@ -35,7 +36,7 @@ comment "C++ bindings need a toolchain w/ C++, gcc >= 4.9" endif -comment "libsigrok needs a toolchain w/ wchar, threads, dynamic library, gcc >= 4.7" +comment "libsigrok needs a toolchain w/ wchar, locale, threads, dynamic library, gcc >= 4.7" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || BR2_STATIC_LIBS diff --git a/package/libsigrok/libsigrok.hash b/package/libsigrok/libsigrok.hash index 47ad6129f6..7a52c6ca1b 100644 --- a/package/libsigrok/libsigrok.hash +++ b/package/libsigrok/libsigrok.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 4c8c86779b880a5c419f6c77a08b1147021e5a19fa83b0f3b19da27463c9f3a4 libsigrok-0.5.0.tar.gz +sha256 e40fde7af98d29e922e9d3cbe0a6c0569889153fc31e47b8b1afe4d846292b9c libsigrok-0.5.1.tar.gz diff --git a/package/libsigrok/libsigrok.mk b/package/libsigrok/libsigrok.mk index ef7fab82bd..5bca9ad518 100644 --- a/package/libsigrok/libsigrok.mk +++ b/package/libsigrok/libsigrok.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSIGROK_VERSION = 0.5.0 +LIBSIGROK_VERSION = 0.5.1 LIBSIGROK_SITE = http://sigrok.org/download/source/libsigrok LIBSIGROK_LICENSE = GPL-3.0+ LIBSIGROK_LICENSE_FILES = COPYING diff --git a/package/libsigrokdecode/libsigrokdecode.hash b/package/libsigrokdecode/libsigrokdecode.hash index c2e15f61cb..e6eb4a080b 100644 --- a/package/libsigrokdecode/libsigrokdecode.hash +++ b/package/libsigrokdecode/libsigrokdecode.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 493d8b555ae4c245a5feebbd94de33aec7ee85a4f16bc3f4c3985961b459b51e libsigrokdecode-0.5.1.tar.gz +sha256 e08d9e797c54eccf3144da631b6e5f1498ac531e51520428df537a1da82583f0 libsigrokdecode-0.5.2.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/libsigrokdecode/libsigrokdecode.mk b/package/libsigrokdecode/libsigrokdecode.mk index 8b4802a7f3..f509fbdf7e 100644 --- a/package/libsigrokdecode/libsigrokdecode.mk +++ b/package/libsigrokdecode/libsigrokdecode.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSIGROKDECODE_VERSION = 0.5.1 +LIBSIGROKDECODE_VERSION = 0.5.2 LIBSIGROKDECODE_SITE = http://sigrok.org/download/source/libsigrokdecode LIBSIGROKDECODE_LICENSE = GPL-3.0+ LIBSIGROKDECODE_LICENSE_FILES = COPYING diff --git a/package/libsigsegv/0001-Improve-support-for-Linux-RISC-V.patch b/package/libsigsegv/0001-Improve-support-for-Linux-RISC-V.patch new file mode 100644 index 0000000000..8426ad9af6 --- /dev/null +++ b/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/package/libsigsegv/0002-m4-stack-direction-RISC-V-stack-grows-downward.patch b/package/libsigsegv/0002-m4-stack-direction-RISC-V-stack-grows-downward.patch new file mode 100644 index 0000000000..336181edf7 --- /dev/null +++ b/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/package/libsigsegv/Config.in b/package/libsigsegv/Config.in index f258dc9e8a..8e89ff5aa4 100644 --- a/package/libsigsegv/Config.in +++ b/package/libsigsegv/Config.in @@ -1,15 +1,6 @@ config BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS bool - # with glibc/musl, ucontext is available for all supported - # architectures - default y if BR2_TOOLCHAIN_USES_GLIBC - default y if BR2_TOOLCHAIN_USES_MUSL - # with uclibc, ucontext is only available for a subset of the - # supported architectures - default y if BR2_TOOLCHAIN_USES_UCLIBC && \ - (BR2_ARM_CPU_HAS_ARM || BR2_i386 || \ - BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ - BR2_sparc || BR2_x86_64) + default y if BR2_TOOLCHAIN_HAS_UCONTEXT config BR2_PACKAGE_LIBSIGSEGV bool "libsigsegv" diff --git a/package/libsigsegv/libsigsegv.mk b/package/libsigsegv/libsigsegv.mk index 6fa0929bba..7ca39dbe4b 100644 --- a/package/libsigsegv/libsigsegv.mk +++ b/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/package/libsndfile/0001-double64_init-Check-psf-sf.channels-against-upper-bo.patch b/package/libsndfile/0001-double64_init-Check-psf-sf.channels-against-upper-bo.patch new file mode 100644 index 0000000000..59ba8f85f6 --- /dev/null +++ b/package/libsndfile/0001-double64_init-Check-psf-sf.channels-against-upper-bo.patch @@ -0,0 +1,39 @@ +From 85c877d5072866aadbe8ed0c3e0590fbb5e16788 Mon Sep 17 00:00:00 2001 +From: Fabian Greffrath +Date: Thu, 28 Sep 2017 12:15:04 +0200 +Subject: [PATCH] double64_init: Check psf->sf.channels against upper bound + +This prevents division by zero later in the code. + +While the trivial case to catch this (i.e. sf.channels < 1) has already +been covered, a crafted file may report a number of channels that is +so high (i.e. > INT_MAX/sizeof(double)) that it "somehow" gets +miscalculated to zero (if this makes sense) in the determination of the +blockwidth. Since we only support a limited number of channels anyway, +make sure to check here as well. + +CVE-2017-14634 + +Closes: https://github.com/erikd/libsndfile/issues/318 +Signed-off-by: Erik de Castro Lopo +Signed-off-by: Peter Korsgaard +--- + src/double64.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/double64.c b/src/double64.c +index b318ea86..78dfef7f 100644 +--- a/src/double64.c ++++ b/src/double64.c +@@ -91,7 +91,7 @@ int + double64_init (SF_PRIVATE *psf) + { static int double64_caps ; + +- if (psf->sf.channels < 1) ++ if (psf->sf.channels < 1 || psf->sf.channels > SF_MAX_CHANNELS) + { psf_log_printf (psf, "double64_init : internal error : channels = %d\n", psf->sf.channels) ; + return SFE_INTERNAL ; + } ; +-- +2.11.0 + diff --git a/package/libsndfile/0002-Check-MAX_CHANNELS-in-sndfile-deinterleave.patch b/package/libsndfile/0002-Check-MAX_CHANNELS-in-sndfile-deinterleave.patch new file mode 100644 index 0000000000..3b828de6ac --- /dev/null +++ b/package/libsndfile/0002-Check-MAX_CHANNELS-in-sndfile-deinterleave.patch @@ -0,0 +1,36 @@ +From aaea680337267bfb6d2544da878890ee7f1c5077 Mon Sep 17 00:00:00 2001 +From: "Brett T. Warden" +Date: Tue, 28 Aug 2018 12:01:17 -0700 +Subject: [PATCH] Check MAX_CHANNELS in sndfile-deinterleave + +Allocated buffer has space for only 16 channels. Verify that input file +meets this limit. + +Fixes #397 + +Signed-off-by: Peter Korsgaard +--- + programs/sndfile-deinterleave.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/programs/sndfile-deinterleave.c b/programs/sndfile-deinterleave.c +index 53660310..225b4d54 100644 +--- a/programs/sndfile-deinterleave.c ++++ b/programs/sndfile-deinterleave.c +@@ -89,6 +89,13 @@ main (int argc, char **argv) + exit (1) ; + } ; + ++ if (sfinfo.channels > MAX_CHANNELS) ++ { printf ("\nError : Input file '%s' has too many (%d) channels. Limit is %d.\n", ++ argv [1], sfinfo.channels, MAX_CHANNELS) ; ++ exit (1) ; ++ } ; ++ ++ + state.channels = sfinfo.channels ; + sfinfo.channels = 1 ; + +-- +2.11.0 + diff --git a/package/libsndfile/0003-a-ulaw-fix-multiple-buffer-overflows-432.patch b/package/libsndfile/0003-a-ulaw-fix-multiple-buffer-overflows-432.patch new file mode 100644 index 0000000000..536bad2678 --- /dev/null +++ b/package/libsndfile/0003-a-ulaw-fix-multiple-buffer-overflows-432.patch @@ -0,0 +1,96 @@ +From 8ddc442d539ca775d80cdbc7af17a718634a743f Mon Sep 17 00:00:00 2001 +From: Hugo Lefeuvre +Date: Mon, 24 Dec 2018 06:43:48 +0100 +Subject: [PATCH] a/ulaw: fix multiple buffer overflows (#432) + +i2ulaw_array() and i2alaw_array() fail to handle ptr [count] = INT_MIN +properly, leading to buffer underflow. INT_MIN is a special value +since - INT_MIN cannot be represented as int. + +In this case round - INT_MIN to INT_MAX and proceed as usual. + +f2ulaw_array() and f2alaw_array() fail to handle ptr [count] = NaN +properly, leading to null pointer dereference. + +In this case, arbitrarily set the buffer value to 0. + +This commit fixes #429 (CVE-2018-19661 and CVE-2018-19662) and +fixes #344 (CVE-2017-17456 and CVE-2017-17457). + +Signed-off-by: Peter Korsgaard +--- + src/alaw.c | 9 +++++++-- + src/ulaw.c | 9 +++++++-- + 2 files changed, 14 insertions(+), 4 deletions(-) + +diff --git a/src/alaw.c b/src/alaw.c +index 063fd1a2..4220224c 100644 +--- a/src/alaw.c ++++ b/src/alaw.c +@@ -19,6 +19,7 @@ + #include "sfconfig.h" + + #include ++#include + + #include "sndfile.h" + #include "common.h" +@@ -326,7 +327,9 @@ s2alaw_array (const short *ptr, int count, unsigned char *buffer) + static inline void + i2alaw_array (const int *ptr, int count, unsigned char *buffer) + { while (--count >= 0) +- { if (ptr [count] >= 0) ++ { if (ptr [count] == INT_MIN) ++ buffer [count] = alaw_encode [INT_MAX >> (16 + 4)] ; ++ else if (ptr [count] >= 0) + buffer [count] = alaw_encode [ptr [count] >> (16 + 4)] ; + else + buffer [count] = 0x7F & alaw_encode [- ptr [count] >> (16 + 4)] ; +@@ -346,7 +349,9 @@ f2alaw_array (const float *ptr, int count, unsigned char *buffer, float normfact + static inline void + d2alaw_array (const double *ptr, int count, unsigned char *buffer, double normfact) + { while (--count >= 0) +- { if (ptr [count] >= 0) ++ { if (!isfinite (ptr [count])) ++ buffer [count] = 0 ; ++ else if (ptr [count] >= 0) + buffer [count] = alaw_encode [lrint (normfact * ptr [count])] ; + else + buffer [count] = 0x7F & alaw_encode [- lrint (normfact * ptr [count])] ; +diff --git a/src/ulaw.c b/src/ulaw.c +index e50b4cb5..b6070ade 100644 +--- a/src/ulaw.c ++++ b/src/ulaw.c +@@ -19,6 +19,7 @@ + #include "sfconfig.h" + + #include ++#include + + #include "sndfile.h" + #include "common.h" +@@ -827,7 +828,9 @@ s2ulaw_array (const short *ptr, int count, unsigned char *buffer) + static inline void + i2ulaw_array (const int *ptr, int count, unsigned char *buffer) + { while (--count >= 0) +- { if (ptr [count] >= 0) ++ { if (ptr [count] == INT_MIN) ++ buffer [count] = ulaw_encode [INT_MAX >> (16 + 2)] ; ++ else if (ptr [count] >= 0) + buffer [count] = ulaw_encode [ptr [count] >> (16 + 2)] ; + else + buffer [count] = 0x7F & ulaw_encode [-ptr [count] >> (16 + 2)] ; +@@ -847,7 +850,9 @@ f2ulaw_array (const float *ptr, int count, unsigned char *buffer, float normfact + static inline void + d2ulaw_array (const double *ptr, int count, unsigned char *buffer, double normfact) + { while (--count >= 0) +- { if (ptr [count] >= 0) ++ { if (!isfinite (ptr [count])) ++ buffer [count] = 0 ; ++ else if (ptr [count] >= 0) + buffer [count] = ulaw_encode [lrint (normfact * ptr [count])] ; + else + buffer [count] = 0x7F & ulaw_encode [- lrint (normfact * ptr [count])] ; +-- +2.11.0 + diff --git a/package/libsoup/0001-Revert-tld-parser-use-Python-3.patch b/package/libsoup/0001-Revert-tld-parser-use-Python-3.patch new file mode 100644 index 0000000000..c27ee986c6 --- /dev/null +++ b/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/package/libsoup/0001-cookie-jar-bail-if-hostname-is-an-empty-string.patch b/package/libsoup/0001-cookie-jar-bail-if-hostname-is-an-empty-string.patch deleted file mode 100644 index 46c7cb4fd8..0000000000 --- a/package/libsoup/0001-cookie-jar-bail-if-hostname-is-an-empty-string.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3f5635028bbad44287511fcd3c99f2a2fddf01cd Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Sun, 24 Jun 2018 19:46:19 -0500 -Subject: [PATCH] cookie-jar: bail if hostname is an empty string - -There are several other ways to fix the problem with this function, but -skipping over all of the code is probably the simplest. - -Fixes #3 - - -(cherry picked from commit db2b0d5809d5f8226d47312b40992cadbcde439f) -Signed-off-by: Baruch Siach ---- -Upstream status: commit db2b0d5809d - - libsoup/soup-cookie-jar.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libsoup/soup-cookie-jar.c b/libsoup/soup-cookie-jar.c -index d12bc85a8e60..365da6abf9f4 100644 ---- a/libsoup/soup-cookie-jar.c -+++ b/libsoup/soup-cookie-jar.c -@@ -306,7 +306,7 @@ get_cookies (SoupCookieJar *jar, SoupURI *uri, gboolean for_http, gboolean copy_ - - priv = SOUP_COOKIE_JAR_GET_PRIVATE (jar); - -- if (!uri->host) -+ if (!uri->host || !uri->host[0]) - return NULL; - - /* The logic here is a little weird, but the plan is that if --- -2.18.0 - diff --git a/package/libsoup/libsoup.hash b/package/libsoup/libsoup.hash index 6e1ff428af..666bbc278b 100644 --- a/package/libsoup/libsoup.hash +++ b/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/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk index a3ce686aa7..95bd682010 100644 --- a/package/libsoup/libsoup.mk +++ b/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/package/libsoxr/0001-Add-Libs.private-for-static-linking.patch b/package/libsoxr/0001-Add-Libs.private-for-static-linking.patch new file mode 100644 index 0000000000..be96c6e649 --- /dev/null +++ b/package/libsoxr/0001-Add-Libs.private-for-static-linking.patch @@ -0,0 +1,43 @@ +From 7d2d1039f303b6322ecb72eebae39b699fd28d19 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +Date: Fri, 22 Feb 2019 01:31:11 +0100 +Subject: [PATCH] Add Libs.private in soxr.pc.in for static linking +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If libsoxr is build statically against libavutil other applications +needs to know that they must link with `-lavutil` when building in a +static context. + +Signed-off-by: Jörg Krause +--- + CMakeLists.txt | 1 + + src/soxr.pc.in | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ee48f6c..714bd4d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -139,6 +139,7 @@ if (WITH_AVFFT OR (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" AND SIMD32_FOUND AND WI + if (AVUTIL_FOUND) + include_directories (${AVUTIL_INCLUDE_DIRS}) + set (LIBS ${LIBS} ${AVUTIL_LIBRARIES}) ++ set (PKGCONF_LIBS_PRIV ${PKGCONF_LIBS_PRIV} -lavutil) + endif () + endif () + +diff --git a/src/soxr.pc.in b/src/soxr.pc.in +index 69d225b..6c530a6 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: ${PKGCONF_LIBS_PRIV} + Cflags: -I${INCLUDE_INSTALL_DIR} +-- +2.20.1 + diff --git a/package/libsoxr/libsoxr.mk b/package/libsoxr/libsoxr.mk index 5291f9474b..b34962c4ad 100644 --- a/package/libsoxr/libsoxr.mk +++ b/package/libsoxr/libsoxr.mk @@ -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/package/libsquish/0001-Makefile-add-f-option-for-ln-to-remove-existing-dest.patch b/package/libsquish/0001-Makefile-add-f-option-for-ln-to-remove-existing-dest.patch new file mode 100644 index 0000000000..ab9e64f0ff --- /dev/null +++ b/package/libsquish/0001-Makefile-add-f-option-for-ln-to-remove-existing-dest.patch @@ -0,0 +1,32 @@ +From 1e541293ac19c49f886220b64de6006c5c700144 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sat, 12 Jan 2019 12:50:54 +0100 +Subject: [PATCH] Makefile: add -f option for ln to remove existing destination + files + +While reinstalling the library, all symlinks are present. +Ask ln to remove them with -f. + +Signed-off-by: Romain Naour +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index fd7d6c8..2683819 100644 +--- a/Makefile ++++ b/Makefile +@@ -25,8 +25,8 @@ install: $(LIB) $(LIBA) libsquish.pc + $(INSTALL_FILE) $(LIBA) $(INSTALL_DIR)/$(LIB_PATH) + ifneq ($(USE_SHARED),0) + $(INSTALL_FILE) $(LIB) $(INSTALL_DIR)/$(LIB_PATH) +- ln -s $(LIB) $(INSTALL_DIR)/$(LIB_PATH)/$(SOLIB) +- ln -s $(LIB) $(INSTALL_DIR)/$(LIB_PATH)/libsquish.so ++ ln -sf $(LIB) $(INSTALL_DIR)/$(LIB_PATH)/$(SOLIB) ++ ln -sf $(LIB) $(INSTALL_DIR)/$(LIB_PATH)/libsquish.so + $(INSTALL_DIRECTORY) $(INSTALL_DIR)/$(LIB_PATH)/pkgconfig + $(INSTALL_FILE) libsquish.pc $(INSTALL_DIR)/$(LIB_PATH)/pkgconfig + endif +-- +2.14.5 + diff --git a/package/libsquish/Config.in b/package/libsquish/Config.in index eabe6c54a8..e93e97e578 100644 --- a/package/libsquish/Config.in +++ b/package/libsquish/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_LIBSQUISH bool "libsquish" depends on BR2_INSTALL_LIBSTDCPP - depends on !BR2_STATIC_LIBS help The libSquish library compresses images with the DXT standard (also known as S3TC). This standard is mainly used by OpenGL @@ -9,5 +8,5 @@ config BR2_PACKAGE_LIBSQUISH http://sourceforge.net/projects/libsquish -comment "libsquish needs a toolchain w/ C++, dynamic library" - depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS +comment "libsquish needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/libsquish/libsquish.hash b/package/libsquish/libsquish.hash index e68d28d66f..06c96e977b 100644 --- a/package/libsquish/libsquish.hash +++ b/package/libsquish/libsquish.hash @@ -1,3 +1,5 @@ # From http://sourceforge.net/projects/libsquish/files sha1 51844b9a8bc815a27e2cc0ffbede5fee3ef75110 libsquish-1.15.tgz md5 c02645800131e55b519ff8dbe7284f93 libsquish-1.15.tgz +# Locally calculated +sha256 a6b8c383bf3ab28460d6507484d605dd722e03971606f0cd3032a3af682b63a5 LICENSE.txt diff --git a/package/libsquish/libsquish.mk b/package/libsquish/libsquish.mk index 67892dd9eb..75d2cbd16a 100644 --- a/package/libsquish/libsquish.mk +++ b/package/libsquish/libsquish.mk @@ -12,26 +12,29 @@ LIBSQUISH_STRIP_COMPONENTS = 0 LIBSQUISH_LICENSE = MIT LIBSQUISH_LICENSE_FILES = LICENSE.txt +ifeq ($(BR2_STATIC_LIBS),y) +LIBSQUISH_MAKE_ENV = USE_SHARED=0 +else +LIBSQUISH_MAKE_ENV = USE_SHARED=1 +endif + define LIBSQUISH_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(TARGET_CONFIGURE_OPTS) $(LIBSQUISH_MAKE_ENV) $(MAKE) -C $(@D) endef define LIBSQUISH_INSTALL_STAGING_CMDS mkdir -p $(STAGING_DIR)/usr/include mkdir -p $(STAGING_DIR)/usr/lib - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(TARGET_CONFIGURE_OPTS) $(LIBSQUISH_MAKE_ENV) $(MAKE) -C $(@D) \ install PREFIX=/usr INSTALL_DIR=$(STAGING_DIR)/usr $(INSTALL) -D -m 644 $(@D)/libsquish.pc $(STAGING_DIR)/usr/lib/pkgconfig/libsquish.pc - ln -sf libsquish.so.0.0 $(STAGING_DIR)/usr/lib/libsquish.so - ln -sf libsquish.so.0.0 $(STAGING_DIR)/usr/lib/libsquish.so.0 endef define LIBSQUISH_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/usr/include mkdir -p $(TARGET_DIR)/usr/lib - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + $(TARGET_CONFIGURE_OPTS) $(LIBSQUISH_MAKE_ENV) $(MAKE) -C $(@D) \ install PREFIX=/usr INSTALL_DIR=$(TARGET_DIR)/usr - ln -sf libsquish.so.0.0 $(TARGET_DIR)/usr/lib/libsquish.so.0 endef $(eval $(generic-package)) diff --git a/package/libsrtp/0001-Rename-SHA1-functions-to-avoid-conflicts-with-downst.patch b/package/libsrtp/0001-Rename-SHA1-functions-to-avoid-conflicts-with-downst.patch deleted file mode 100644 index 60a123eccd..0000000000 --- a/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/package/libsrtp/libsrtp.hash b/package/libsrtp/libsrtp.hash index cb060d27b9..1a88673c81 100644 --- a/package/libsrtp/libsrtp.hash +++ b/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/package/libsrtp/libsrtp.mk b/package/libsrtp/libsrtp.mk index 9e72856c43..8af463928b 100644 --- a/package/libsrtp/libsrtp.mk +++ b/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/package/libssh/0001-buffer-Fix-size-comparison-with-count.patch b/package/libssh/0001-buffer-Fix-size-comparison-with-count.patch new file mode 100644 index 0000000000..88e1bc3b48 --- /dev/null +++ b/package/libssh/0001-buffer-Fix-size-comparison-with-count.patch @@ -0,0 +1,48 @@ +From 2aa8c46a853acd4198af16e417ebffd5b0e2c9f4 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Mon, 1 Oct 2018 20:58:47 +0200 +Subject: [PATCH] buffer: Fix size comparison with count + +Signed-off-by: Andreas Schneider +Signed-off-by: Baruch Siach +--- +Upstream status: commit 9c3ba94960cd5 + + src/buffer.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/buffer.c b/src/buffer.c +index da6e587fc9e4..b029f202660f 100644 +--- a/src/buffer.c ++++ b/src/buffer.c +@@ -816,8 +816,8 @@ static int ssh_buffer_pack_allocate_va(struct ssh_buffer_struct *buffer, + ssh_string string = NULL; + char *cstring = NULL; + size_t needed_size = 0; +- size_t count; + size_t len; ++ int count; /* int for size comparison with argc */ + int rc = SSH_OK; + + for (p = format, count = 0; *p != '\0'; p++, count++) { +@@ -934,7 +934,7 @@ int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer, + char *cstring; + bignum b; + size_t len; +- int count; ++ int count; /* int for size comparison with argc */ + + for (p = format, count = 0; *p != '\0'; p++, count++) { + /* Invalid number of arguments passed */ +@@ -1098,7 +1098,7 @@ int ssh_buffer_unpack_va(struct ssh_buffer_struct *buffer, + } o; + size_t len, rlen, max_len; + va_list ap_copy; +- int count; ++ int count; /* int for size comparison with argc */ + + max_len = ssh_buffer_get_len(buffer); + +-- +2.20.1 + diff --git a/package/libssh/0002-buffer-Use-size_t-for-argc-argument-in-ssh_buffer_-u.patch b/package/libssh/0002-buffer-Use-size_t-for-argc-argument-in-ssh_buffer_-u.patch new file mode 100644 index 0000000000..c86238a7a1 --- /dev/null +++ b/package/libssh/0002-buffer-Use-size_t-for-argc-argument-in-ssh_buffer_-u.patch @@ -0,0 +1,152 @@ +From 270d6aa2bb01f3430d07cce5f97b48b741e3df9c Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Fri, 7 Dec 2018 12:06:03 +0100 +Subject: [PATCH] buffer: Use size_t for argc argument in ssh_buffer_(un)pack() + +Signed-off-by: Andreas Schneider +Signed-off-by: Baruch Siach +--- +Upstream status: commit c306a693f3fbe + + include/libssh/buffer.h | 4 ++-- + src/buffer.c | 38 +++++++++++++++++++------------------- + 2 files changed, 21 insertions(+), 21 deletions(-) + +diff --git a/include/libssh/buffer.h b/include/libssh/buffer.h +index 4721cbe06c20..1c375343ee14 100644 +--- a/include/libssh/buffer.h ++++ b/include/libssh/buffer.h +@@ -40,11 +40,11 @@ void *ssh_buffer_allocate(struct ssh_buffer_struct *buffer, uint32_t len); + int ssh_buffer_allocate_size(struct ssh_buffer_struct *buffer, uint32_t len); + int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer, + const char *format, +- int argc, ++ size_t argc, + va_list ap); + int _ssh_buffer_pack(struct ssh_buffer_struct *buffer, + const char *format, +- int argc, ++ size_t argc, + ...); + #define ssh_buffer_pack(buffer, format, ...) \ + _ssh_buffer_pack((buffer), (format), __VA_NARG__(__VA_ARGS__), __VA_ARGS__, SSH_BUFFER_PACK_END) +diff --git a/src/buffer.c b/src/buffer.c +index b029f202660f..99863747fc3c 100644 +--- a/src/buffer.c ++++ b/src/buffer.c +@@ -809,7 +809,7 @@ ssh_buffer_get_ssh_string(struct ssh_buffer_struct *buffer) + */ + static int ssh_buffer_pack_allocate_va(struct ssh_buffer_struct *buffer, + const char *format, +- int argc, ++ size_t argc, + va_list ap) + { + const char *p = NULL; +@@ -817,12 +817,12 @@ static int ssh_buffer_pack_allocate_va(struct ssh_buffer_struct *buffer, + char *cstring = NULL; + size_t needed_size = 0; + size_t len; +- int count; /* int for size comparison with argc */ ++ size_t count; + int rc = SSH_OK; + + for (p = format, count = 0; *p != '\0'; p++, count++) { + /* Invalid number of arguments passed */ +- if (argc != -1 && count > argc) { ++ if (count > argc) { + return SSH_ERROR; + } + +@@ -881,7 +881,7 @@ static int ssh_buffer_pack_allocate_va(struct ssh_buffer_struct *buffer, + } + } + +- if (argc != -1 && argc != count) { ++ if (argc != count) { + return SSH_ERROR; + } + +@@ -891,11 +891,7 @@ static int ssh_buffer_pack_allocate_va(struct ssh_buffer_struct *buffer, + */ + uint32_t canary = va_arg(ap, uint32_t); + if (canary != SSH_BUFFER_PACK_END) { +- if (argc == -1){ +- return SSH_ERROR; +- } else { +- abort(); +- } ++ abort(); + } + } + +@@ -918,7 +914,7 @@ static int ssh_buffer_pack_allocate_va(struct ssh_buffer_struct *buffer, + */ + int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer, + const char *format, +- int argc, ++ size_t argc, + va_list ap) + { + int rc = SSH_ERROR; +@@ -934,11 +930,15 @@ int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer, + char *cstring; + bignum b; + size_t len; +- int count; /* int for size comparison with argc */ ++ size_t count; ++ ++ if (argc > 256) { ++ return SSH_ERROR; ++ } + + for (p = format, count = 0; *p != '\0'; p++, count++) { + /* Invalid number of arguments passed */ +- if (argc != -1 && count > argc) { ++ if (count > argc) { + return SSH_ERROR; + } + +@@ -1010,7 +1010,7 @@ int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer, + } + } + +- if (argc != -1 && argc != count) { ++ if (argc != count) { + return SSH_ERROR; + } + +@@ -1018,11 +1018,7 @@ int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer, + /* Check if our canary is intact, if not somthing really bad happened */ + uint32_t canary = va_arg(ap, uint32_t); + if (canary != SSH_BUFFER_PACK_END) { +- if (argc == -1){ +- return SSH_ERROR; +- } else { +- abort(); +- } ++ abort(); + } + } + return rc; +@@ -1050,12 +1046,16 @@ int ssh_buffer_pack_va(struct ssh_buffer_struct *buffer, + */ + int _ssh_buffer_pack(struct ssh_buffer_struct *buffer, + const char *format, +- int argc, ++ size_t argc, + ...) + { + va_list ap; + int rc; + ++ if (argc > 256) { ++ return SSH_ERROR; ++ } ++ + va_start(ap, argc); + rc = ssh_buffer_pack_allocate_va(buffer, format, argc, ap); + va_end(ap); +-- +2.20.1 + diff --git a/package/libssh/0003-more-strict-overflow-fixes.patch b/package/libssh/0003-more-strict-overflow-fixes.patch new file mode 100644 index 0000000000..6232ee77ea --- /dev/null +++ b/package/libssh/0003-more-strict-overflow-fixes.patch @@ -0,0 +1,122 @@ +From 7656b1be8dc5425d5af03ffa6af711599fc07e80 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 22 Jan 2019 08:16:50 +0200 +Subject: [PATCH] buffer: Convert argc to size_t in ssh_buffer_unpack() as well + +Commit c306a693f3fb ("buffer: Use size_t for argc argument in +ssh_buffer_(un)pack()") mentioned unpack in the commit log, but it only +touches the pack variants. Extend the conversion to unpack. + +Pre-initialize the p pointer to avoid possible use before +initialization in case of early argc check failure. + +This fixes build failure: + +.../libssh-0.8.6/src/buffer.c: In function 'ssh_buffer_unpack_va': +.../libssh-0.8.6/src/buffer.c:1229:16: error: assuming signed overflow does not occur when simplifying conditional to constant [-Werror=strict-overflow] + if (argc == -1){ + ^ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://www.libssh.org/archive/libssh/2019-01/0000032.html + + include/libssh/buffer.h | 4 ++-- + src/buffer.c | 25 +++++++++++++------------ + 2 files changed, 15 insertions(+), 14 deletions(-) + +diff --git a/include/libssh/buffer.h b/include/libssh/buffer.h +index 1c375343ee14..cd2dea6a7ecc 100644 +--- a/include/libssh/buffer.h ++++ b/include/libssh/buffer.h +@@ -50,11 +50,11 @@ int _ssh_buffer_pack(struct ssh_buffer_struct *buffer, + _ssh_buffer_pack((buffer), (format), __VA_NARG__(__VA_ARGS__), __VA_ARGS__, SSH_BUFFER_PACK_END) + + int ssh_buffer_unpack_va(struct ssh_buffer_struct *buffer, +- const char *format, int argc, ++ const char *format, size_t argc, + va_list ap); + int _ssh_buffer_unpack(struct ssh_buffer_struct *buffer, + const char *format, +- int argc, ++ size_t argc, + ...); + #define ssh_buffer_unpack(buffer, format, ...) \ + _ssh_buffer_unpack((buffer), (format), __VA_NARG__(__VA_ARGS__), __VA_ARGS__, SSH_BUFFER_PACK_END) +diff --git a/src/buffer.c b/src/buffer.c +index 99863747fc3c..c8ad20f24e43 100644 +--- a/src/buffer.c ++++ b/src/buffer.c +@@ -1082,11 +1082,11 @@ int _ssh_buffer_pack(struct ssh_buffer_struct *buffer, + */ + int ssh_buffer_unpack_va(struct ssh_buffer_struct *buffer, + const char *format, +- int argc, ++ size_t argc, + va_list ap) + { + int rc = SSH_ERROR; +- const char *p, *last; ++ const char *p = format, *last; + union { + uint8_t *byte; + uint16_t *word; +@@ -1098,16 +1098,21 @@ int ssh_buffer_unpack_va(struct ssh_buffer_struct *buffer, + } o; + size_t len, rlen, max_len; + va_list ap_copy; +- int count; /* int for size comparison with argc */ ++ size_t count; + + max_len = ssh_buffer_get_len(buffer); + + /* copy the argument list in case a rollback is needed */ + va_copy(ap_copy, ap); + +- for (p = format, count = 0; *p != '\0'; p++, count++) { ++ if (argc > 256) { ++ rc = SSH_ERROR; ++ goto cleanup; ++ } ++ ++ for (count = 0; *p != '\0'; p++, count++) { + /* Invalid number of arguments passed */ +- if (argc != -1 && count > argc) { ++ if (count > argc) { + rc = SSH_ERROR; + goto cleanup; + } +@@ -1217,7 +1222,7 @@ int ssh_buffer_unpack_va(struct ssh_buffer_struct *buffer, + } + } + +- if (argc != -1 && argc != count) { ++ if (argc != count) { + rc = SSH_ERROR; + } + +@@ -1226,11 +1231,7 @@ cleanup: + /* Check if our canary is intact, if not something really bad happened */ + uint32_t canary = va_arg(ap, uint32_t); + if (canary != SSH_BUFFER_PACK_END){ +- if (argc == -1){ +- rc = SSH_ERROR; +- } else { +- abort(); +- } ++ abort(); + } + } + +@@ -1320,7 +1321,7 @@ cleanup: + */ + int _ssh_buffer_unpack(struct ssh_buffer_struct *buffer, + const char *format, +- int argc, ++ size_t argc, + ...) + { + va_list ap; +-- +2.20.1 + diff --git a/package/libssh/libssh.hash b/package/libssh/libssh.hash index 257b93cb61..7164c91069 100644 --- a/package/libssh/libssh.hash +++ b/package/libssh/libssh.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://www.libssh.org/files/0.8/libssh-0.8.4.tar.xz.asc +# https://www.libssh.org/files/0.8/libssh-0.8.7.tar.xz.asc # with key 8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D -sha256 6bb07713021a8586ba2120b2c36c468dc9ac8096d043f9b1726639aa4275b81b libssh-0.8.4.tar.xz -sha256 468cf08f784ef6fd3b3705b60dd8111e2b70fbb8f6549cd503665a6bbb3bc625 COPYING +sha256 43304ca22f0ba0b654e14b574a39816bc70212fdea5858a6637cc26cade3d592 libssh-0.8.7.tar.xz +sha256 1656186e951db1c010a8485481fa94587f7e53a26d24976bef97945ad0c4df5a COPYING diff --git a/package/libssh/libssh.mk b/package/libssh/libssh.mk index 1ef09b3a21..332f2a5700 100644 --- a/package/libssh/libssh.mk +++ b/package/libssh/libssh.mk @@ -5,7 +5,7 @@ ################################################################################ LIBSSH_VERSION_MAJOR = 0.8 -LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).4 +LIBSSH_VERSION = $(LIBSSH_VERSION_MAJOR).7 LIBSSH_SOURCE = libssh-$(LIBSSH_VERSION).tar.xz LIBSSH_SITE = https://www.libssh.org/files/$(LIBSSH_VERSION_MAJOR) LIBSSH_LICENSE = LGPL-2.1 diff --git a/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch b/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch index 76e08c51a9..a70b1fe84f 100644 --- a/package/libssh2/0002-acinclude.m4-add-mbedtls-to-LIBS.patch +++ b/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/package/libssh2/libssh2.hash b/package/libssh2/libssh2.hash index d36262ad9a..c4732a2c07 100644 --- a/package/libssh2/libssh2.hash +++ b/package/libssh2/libssh2.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 e73d55cd512863aa6423c6e137039e3e1bcbf5ba87f130e7441132c2c78a5425 libssh2-616fd4d1b3e4a55de67c48819fefca83132126b5.tar.gz +sha256 468e7a81a8121c06cb099eef2e17106b0b8c2e1d890b1c0e34e1951f182babb1 libssh2-1b3cbaff518f32e5b70650d4b7b52361b1410d37.tar.gz +sha256 e15ed284a15e80115467d6d7f030f0d89d8fabbecd78fb6e0f861f0cfc128fd9 COPYING diff --git a/package/libssh2/libssh2.mk b/package/libssh2/libssh2.mk index c5b0bd855e..ed0dd40bec 100644 --- a/package/libssh2/libssh2.mk +++ b/package/libssh2/libssh2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSSH2_VERSION = 616fd4d1b3e4a55de67c48819fefca83132126b5 +LIBSSH2_VERSION = 1b3cbaff518f32e5b70650d4b7b52361b1410d37 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/package/libtirpc/libtirpc.hash b/package/libtirpc/libtirpc.hash index 643a5d2050..eacc94d1de 100644 --- a/package/libtirpc/libtirpc.hash +++ b/package/libtirpc/libtirpc.hash @@ -1,5 +1,5 @@ # From sourceforge's info on download page: -sha1 48adb32dc7c3b73c66f001c239da76b8398abf11 libtirpc-1.0.3.tar.bz2 +sha1 d85717035cb9bd6c45557a1eb1351d3af9a69ff7 libtirpc-1.1.4.tar.bz2 # Locally computed -sha256 86c3a78fc1bddefa96111dd233124c703b22a78884203c55c3e06b3be6a0fd5e libtirpc-1.0.3.tar.bz2 +sha256 2ca529f02292e10c158562295a1ffd95d2ce8af97820e3534fe1b0e3aec7561d libtirpc-1.1.4.tar.bz2 sha256 17cf6098f95bdbb269f0bbc68e76c88fe20487ca7ec53f454923ab4256ecd2e7 COPYING diff --git a/package/libtirpc/libtirpc.mk b/package/libtirpc/libtirpc.mk index 36f9f7ef21..1e1905b713 100644 --- a/package/libtirpc/libtirpc.mk +++ b/package/libtirpc/libtirpc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBTIRPC_VERSION = 1.0.3 +LIBTIRPC_VERSION = 1.1.4 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/package/libtommath/libtommath.hash b/package/libtommath/libtommath.hash index 359dfeda3c..75aa7c7f18 100644 --- a/package/libtommath/libtommath.hash +++ b/package/libtommath/libtommath.hash @@ -1,2 +1,5 @@ # Locally computed -sha256 47032fb39d698ce4cf9c9c462c198e6b08790ce8203ad1224086b9b978636c69 ltm-1.0.1.tar.xz +sha256 90466c88783d1fe9f5c2364a69f5479f10d73ed616011be6196f35f7f1537ead ltm-1.1.0.tar.xz + +# Hashes for license files: +sha256 2fa64b163659f41965c9815882a8296d3d03ff546b76153e11445f9bdecf955a LICENSE diff --git a/package/libtommath/libtommath.mk b/package/libtommath/libtommath.mk index ceb2e6846c..36e7a89e6b 100644 --- a/package/libtommath/libtommath.mk +++ b/package/libtommath/libtommath.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBTOMMATH_VERSION = 1.0.1 +LIBTOMMATH_VERSION = 1.1.0 LIBTOMMATH_SITE = https://github.com/libtom/libtommath/releases/download/v$(LIBTOMMATH_VERSION) LIBTOMMATH_SOURCE = ltm-$(LIBTOMMATH_VERSION).tar.xz -LIBTOMMATH_LICENSE = WTFPL +LIBTOMMATH_LICENSE = Unlicense LIBTOMMATH_LICENSE_FILES = LICENSE LIBTOMMATH_INSTALL_STAGING = YES LIBTOMMATH_INSTALL_TARGET = NO # only static library diff --git a/package/libtool/libtool.mk b/package/libtool/libtool.mk index bf97ee12b5..10af8cf715 100644 --- a/package/libtool/libtool.mk +++ b/package/libtool/libtool.mk @@ -7,12 +7,22 @@ LIBTOOL_VERSION = 2.4.6 LIBTOOL_SOURCE = libtool-$(LIBTOOL_VERSION).tar.xz LIBTOOL_SITE = $(BR2_GNU_MIRROR)/libtool + +# For the target variant, we only want to build/install libltdl +LIBTOOL_SUBDIR = libltdl +HOST_LIBTOOL_SUBDIR = . + LIBTOOL_INSTALL_STAGING = YES -LIBTOOL_CONF_ENV = HELP2MAN=true + +LIBTOOL_CONF_OPTS = --enable-ltdl-install + LIBTOOL_DEPENDENCIES = host-m4 HOST_LIBTOOL_DEPENDENCIES = host-m4 -LIBTOOL_LICENSE = GPL-2.0+ -LIBTOOL_LICENSE_FILES = COPYING + +LIBTOOL_LICENSE = LGPL-2.1+ +LIBTOOL_LICENSE_FILES = $(LIBTOOL_SUBDIR)/COPYING.LIB +HOST_LIBTOOL_LICENSE = GPL-2.0+ (libtool), LGPL-2.1+ (libltdl) +HOST_LIBTOOL_LICENSE_FILES = COPYING $(LIBTOOL_SUBDIR)/COPYING.LIB HOST_LIBTOOL_CONF_ENV = MAKEINFO=true HOST_LIBTOOL_LIBTOOL_PATCH = NO diff --git a/package/libtorrent-rasterbar/Config.in b/package/libtorrent-rasterbar/Config.in new file mode 100644 index 0000000000..6c55085947 --- /dev/null +++ b/package/libtorrent-rasterbar/Config.in @@ -0,0 +1,23 @@ +comment "libtorrent-rasterbar needs a toolchain w/ C++, threads, wchar, gcc >= 4.8" + depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +config BR2_PACKAGE_LIBTORRENT_RASTERBAR + bool "libtorrent-rasterbar" + depends on BR2_INSTALL_LIBSTDCPP # boost + depends on BR2_HOST_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HAS_THREADS # boost + depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK + depends on BR2_USE_WCHAR # boost + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_CHRONO + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_RANDOM + select BR2_PACKAGE_OPENSSL + help + libtorrent is a feature complete C++ bittorrent implementation + focusing on efficiency and scalability. + + https://www.libtorrent.org/ diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.hash b/package/libtorrent-rasterbar/libtorrent-rasterbar.hash new file mode 100644 index 0000000000..e38c0f4f1d --- /dev/null +++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 7c23deba7fa279825642307587609d51c9935ac7606e0ef2f2d0ba10728b5847 libtorrent-rasterbar-1.1.11.tar.gz +sha256 f3a5dd1558cce616b12edad521427ec8976ce2bb0af33f7f359cfa648bf55ad8 COPYING diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk new file mode 100644 index 0000000000..24bd011ae7 --- /dev/null +++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# libtorrent-rasterbar +# +################################################################################ + +LIBTORRENT_RASTERBAR_VERSION = 1.1.11 +LIBTORRENT_RASTERBAR_SITE = https://github.com/arvidn/libtorrent/releases/download/libtorrent_$(subst .,_,$(LIBTORRENT_RASTERBAR_VERSION)) +LIBTORRENT_RASTERBAR_LICENSE = BSD-3-Clause +LIBTORRENT_RASTERBAR_LICENSE_FILES = COPYING +LIBTORRENT_RASTERBAR_DEPENDENCIES = host-pkgconf boost openssl +LIBTORRENT_RASTERBAR_INSTALL_STAGING = YES +LIBTORRENT_RASTERBAR_CONF_OPTS = \ + --with-boost-libdir=$(STAGING_DIR)/usr/lib \ + --disable-invariant-checks +LIBTORRENT_RASTERBAR_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" + +ifeq ($(BR2_ENABLE_LOCALE)$(BR2_PACKAGE_LIBICONV),y) +LIBTORRENT_RASTERBAR_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) +LIBTORRENT_RASTERBAR_CONF_OPTS += --with-libiconv +else +LIBTORRENT_RASTERBAR_CONF_OPTS += --without-libiconv +endif + +$(eval $(autotools-package)) diff --git a/package/libtorrent/0001-cross_compile.patch b/package/libtorrent/0001-Fix-cross-compilation-based-on-OpenWRT-patch.patch similarity index 68% rename from package/libtorrent/0001-cross_compile.patch rename to package/libtorrent/0001-Fix-cross-compilation-based-on-OpenWRT-patch.patch index abb243820c..ba0c6127af 100644 --- a/package/libtorrent/0001-cross_compile.patch +++ b/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/package/libtorrent/0002-Added-support-for-openssl-1.1.patch b/package/libtorrent/0002-Added-support-for-openssl-1.1.patch new file mode 100644 index 0000000000..463c8ac9bc --- /dev/null +++ b/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/package/libtorrent/libtorrent.hash b/package/libtorrent/libtorrent.hash index 73753e94ce..8e0bc1caa4 100644 --- a/package/libtorrent/libtorrent.hash +++ b/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/package/libtorrent/libtorrent.mk b/package/libtorrent/libtorrent.mk index fbd332e379..de964b45ae 100644 --- a/package/libtorrent/libtorrent.mk +++ b/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/package/libunistring/libunistring.hash b/package/libunistring/libunistring.hash index 8a5da7782d..2e4595b17d 100644 --- a/package/libunistring/libunistring.hash +++ b/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/package/libunistring/libunistring.mk b/package/libunistring/libunistring.mk index 929b52ebd5..fa51447170 100644 --- a/package/libunistring/libunistring.mk +++ b/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/package/libupnp18/0001-configure.ac-fix-build-with-openssl.patch b/package/libupnp18/0001-configure.ac-fix-build-with-openssl.patch new file mode 100644 index 0000000000..6a09821dae --- /dev/null +++ b/package/libupnp18/0001-configure.ac-fix-build-with-openssl.patch @@ -0,0 +1,51 @@ +From c70d326f3ae88aa2dca903fb17a1f18d3b45a2ca Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 8 Feb 2019 16:45:32 +0100 +Subject: [PATCH] configure.ac: fix build with openssl + +- Add a call to PKG_CHECK_MODULES to get openssl libraries and its + dependencies if openssl support is enabled +- Add OPENSSL_LIBS to libupnp.pc.in so that applications linking with + pupnp (such as mpd) will be able to retrieve openssl libraries + +Fixes: + - http://autobuild.buildroot.org/results/a4148e516070b79816769f3443fc24d6d8192073 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/mrjimenez/pupnp/pull/105] +--- + configure.ac | 5 +++++ + libupnp.pc.in | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 670d363..190b30c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -722,6 +722,11 @@ AC_COMPILE_IFELSE( + AC_MSG_ERROR([pthread_rwlock_t not available])])]) + echo "-------------------------------------------------------------------------------" + ++if test "x$enable_open_ssl" = xyes ; then ++ PKG_CHECK_MODULES(OPENSSL, libssl, ++ [LIBS="$LIBS $OPENSSL_LIBS" CFLAGS="$CFLAGS $OPENSSL_CFLAGS"], ++ [AC_MSG_ERROR([openssl not found])]) ++fi + + AC_CONFIG_FILES([ + Makefile +diff --git a/libupnp.pc.in b/libupnp.pc.in +index bd2d7b3..54cba90 100644 +--- a/libupnp.pc.in ++++ b/libupnp.pc.in +@@ -6,6 +6,6 @@ includedir=@includedir@ + Name: libupnp + Description: Linux SDK for UPnP Devices + Version: @VERSION@ +-Libs: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ -L${libdir} -lupnp -lixml ++Libs: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ -L${libdir} -lupnp -lixml @OPENSSL_LIBS@ + Cflags: @PTHREAD_CFLAGS@ -I${includedir}/upnp + +-- +2.14.1 + diff --git a/package/libupnp18/libupnp18.hash b/package/libupnp18/libupnp18.hash index dd59034cd3..c32ebef739 100644 --- a/package/libupnp18/libupnp18.hash +++ b/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/package/libupnp18/libupnp18.mk b/package/libupnp18/libupnp18.mk index 07ef4382f0..5154be5316 100644 --- a/package/libupnp18/libupnp18.mk +++ b/package/libupnp18/libupnp18.mk @@ -4,18 +4,19 @@ # ################################################################################ -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 +# We're patching configure.ac +LIBUPNP18_AUTORECONF = YES ifeq ($(BR2_PACKAGE_OPENSSL),y) LIBUPNP18_CONF_OPTS += --enable-open-ssl LIBUPNP18_DEPENDENCIES += host-pkgconf openssl -LIBUPNP18_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`" else LIBUPNP18_CONF_OPTS += --disable-open-ssl endif diff --git a/package/libupnpp/0001-Fix-cross-compilation-with-uclibc-on-arm-m68k.patch b/package/libupnpp/0001-Fix-cross-compilation-with-uclibc-on-arm-m68k.patch deleted file mode 100644 index 2c0a4ec79f..0000000000 --- a/package/libupnpp/0001-Fix-cross-compilation-with-uclibc-on-arm-m68k.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 2828c2535d4380419ec5114cc3a0564d3686aba9 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Fri, 4 May 2018 11:45:59 +0200 -Subject: [PATCH] Fix cross-compilation with uclibc on arm/m68k - -Commit 3f1132ecd27186fa3f1a87ead6a0389802baccbb breaks cross-compilation -with uclibc on arm and m68k because host_os is set to -arm-buildroot-uclinux-uclibc or m68k-buildroot-uclinux-uclibc so add -uclinux to the linux case - -Fixes: - - http://autobuild.buildroot.net/results/cfb332a169863bcb3e6bc6ee7d6f6199f856b0b8 - - http://autobuild.buildroot.net/results/2f6f464f6360ed9ea4c238f503d2c3b8ab3cbd86 - -[Sent upstream]: https://opensourceprojects.eu/p/libupnpp/code/merge-requests/3 -Signed-off-by: Fabrice Fontaine ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 8903b72..3bb354c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -35,7 +35,7 @@ build_linux=no - build_mac=no - # Detect the target system - case "${host_os}" in -- linux*) build_linux=yes;; -+ linux*|uclinux*) build_linux=yes;; - darwin*) build_mac=yes;; - *) AC_MSG_ERROR(["OS $host_os is not supported"]);; - esac --- -2.14.1 - diff --git a/package/libupnpp/Config.in b/package/libupnpp/Config.in index 32877ff56c..a71eff5423 100644 --- a/package/libupnpp/Config.in +++ b/package/libupnpp/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_LIBUPNPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 select BR2_PACKAGE_EXPAT select BR2_PACKAGE_LIBCURL - select BR2_PACKAGE_LIBUPNP + select BR2_PACKAGE_LIBUPNP18 if !BR2_PACKAGE_LIBUPNP help The libupnpp C++ library wraps libupnp for easier use by upmpdcli and upplay. diff --git a/package/libupnpp/libupnpp.hash b/package/libupnpp/libupnpp.hash index 742a0c7f62..f08c3a4f27 100644 --- a/package/libupnpp/libupnpp.hash +++ b/package/libupnpp/libupnpp.hash @@ -1,5 +1,5 @@ -# Hashes from: http://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-0.16.1.tar.gz.sha256 -sha256 d2ab5a4bb6df035ddddd11542bd4631ab7031354259145f07fbc3c56a8f50fac libupnpp-0.16.1.tar.gz +# Hashes from: http://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-0.17.0.tar.gz.sha256 +sha256 7035dda48207c254cbd8cd64e4e679a9e5f085a35d28c19bc2ddeba0deaff58b libupnpp-0.17.0.tar.gz # Hash for license file: sha256 00a89b0d18aacd4114decf79122db87bf35bddaf2bc50e383c9c9f4c263390b2 COPYING diff --git a/package/libupnpp/libupnpp.mk b/package/libupnpp/libupnpp.mk index 852a72e822..3619050f10 100644 --- a/package/libupnpp/libupnpp.mk +++ b/package/libupnpp/libupnpp.mk @@ -4,14 +4,13 @@ # ################################################################################ -LIBUPNPP_VERSION = 0.16.1 +LIBUPNPP_VERSION = 0.17.0 LIBUPNPP_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads LIBUPNPP_LICENSE = LGPL-2.1+ LIBUPNPP_LICENSE_FILES = COPYING LIBUPNPP_INSTALL_STAGING = YES -LIBUPNPP_DEPENDENCIES = expat libcurl libupnp -# We're patching configure.ac -LIBUPNPP_AUTORECONF = YES +LIBUPNPP_DEPENDENCIES = expat libcurl \ + $(if $(BR2_PACKAGE_LIBUPNP),libupnp,libupnp18) # configure script fails to link against the dependencies of libupnp # and libcurl causing detection to fail when statically linking diff --git a/package/liburiparser/liburiparser.hash b/package/liburiparser/liburiparser.hash index 1fd65d2f19..bbdb37329d 100644 --- a/package/liburiparser/liburiparser.hash +++ b/package/liburiparser/liburiparser.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0709a7e572417db763f0356250d91686c19a64ab48e9da9f5a1e8055dc2a4a54 uriparser-0.8.6.tar.bz2 +sha256 75248f3de3b7b13c8c9735ff7b86ebe72cbb8ad043291517d7d53488e0893abe uriparser-0.9.1.tar.bz2 sha256 ee90029e62d11f48faa59360d15c3ad8e7c094c74cc25b055716d92340da561f COPYING diff --git a/package/liburiparser/liburiparser.mk b/package/liburiparser/liburiparser.mk index baed4506a4..529f70190c 100644 --- a/package/liburiparser/liburiparser.mk +++ b/package/liburiparser/liburiparser.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBURIPARSER_VERSION = 0.8.6 +LIBURIPARSER_VERSION = 0.9.1 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/package/libusbgx/0001-Add-include-of-sys-sysmacro.h.patch b/package/libusbgx/0001-Add-include-of-sys-sysmacro.h.patch new file mode 100644 index 0000000000..0f47454f7a --- /dev/null +++ b/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/package/libuv/libuv.hash b/package/libuv/libuv.hash index c9f6565ef3..8f11743b5a 100644 --- a/package/libuv/libuv.hash +++ b/package/libuv/libuv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c72f0401e1298f948daf310abafce38373a926fb9438464d1bf7fe90784544e0 libuv-v1.22.0.tar.gz +sha256 ce3036d444c3fb4f9a9e2994bec1f4fa07872b01456998b422ce918fdc55c254 libuv-v1.25.0.tar.gz sha256 6d20216ae022fbeed23916f48508fd807ece3d8464992330643b0e64e5c0c24b LICENSE diff --git a/package/libuv/libuv.mk b/package/libuv/libuv.mk index 85e8dccb63..fec6659ed9 100644 --- a/package/libuv/libuv.mk +++ b/package/libuv/libuv.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBUV_VERSION = v1.22.0 +LIBUV_VERSION = v1.25.0 LIBUV_SITE = $(call github,libuv,libuv,$(LIBUV_VERSION)) LIBUV_DEPENDENCIES = host-pkgconf LIBUV_INSTALL_STAGING = YES diff --git a/package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch b/package/libv4l/0003-Build-sdlcam-only-if-jpeg-is-enabled.patch similarity index 100% rename from package/libv4l/0004-Build-sdlcam-only-if-jpeg-is-enabled.patch rename to package/libv4l/0003-Build-sdlcam-only-if-jpeg-is-enabled.patch diff --git a/package/libv4l/0003-libdvbv5-add-optional-copy-of-TEMP_FAILURE_RETRY-mac.patch b/package/libv4l/0003-libdvbv5-add-optional-copy-of-TEMP_FAILURE_RETRY-mac.patch deleted file mode 100644 index cd22be15c4..0000000000 --- a/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/package/libv4l/0004-v4l2-compliance-needs-fork.patch b/package/libv4l/0004-v4l2-compliance-needs-fork.patch new file mode 100644 index 0000000000..d29a059520 --- /dev/null +++ b/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/package/libv4l/libv4l.hash b/package/libv4l/libv4l.hash index 5e0df1f7a9..231a471b9e 100644 --- a/package/libv4l/libv4l.hash +++ b/package/libv4l/libv4l.hash @@ -1,6 +1,6 @@ # Locally calculated after checking signature -# https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.14.2.tar.bz2.asc -sha256 e6b962c4b1253cf852c31da13fd6b5bb7cbe5aa9e182881aec55123bae680692 v4l-utils-1.14.2.tar.bz2 +# https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.16.3.tar.bz2.asc +sha256 7c5c0d49c130cf65d384f28e9f3a53c5f7d17bf18740c48c40810e0fbbed5b54 v4l-utils-1.16.3.tar.bz2 # Locally calculated sha256 391e4da1c54a422a78d83be7bf84b2dfb8bacdd8ad256fa4374e128655584a8a COPYING sha256 5a7f623a50e384aaf6d2ced068339ddf93d0a50d3a0ecbe86f125b07804ecc78 COPYING.libv4l diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk index 55f02b7e8e..fe1ffbcf5d 100644 --- a/package/libv4l/libv4l.mk +++ b/package/libv4l/libv4l.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBV4L_VERSION = 1.14.2 +LIBV4L_VERSION = 1.16.3 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 @@ -45,6 +45,7 @@ LIBV4L_DEPENDENCIES += libgl endif ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +LIBV4L_CONF_OPTS += --with-udevdir=/usr/lib/udev LIBV4L_DEPENDENCIES += udev endif @@ -55,6 +56,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 @@ -67,9 +73,6 @@ LIBV4L_CONF_ENV += \ ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) LIBV4L_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" endif -else ifeq ($(BR2_PACKAGE_QT_OPENGL_GL_DESKTOP),y) -LIBV4L_CONF_OPTS += --enable-qv4l2 -LIBV4L_DEPENDENCIES += qt else LIBV4L_CONF_OPTS += --disable-qv4l2 endif diff --git a/package/libva-intel-driver/0001-Check-the-interface-from-libva-first.patch b/package/libva-intel-driver/0001-Check-the-interface-from-libva-first.patch new file mode 100644 index 0000000000..81591fbbd4 --- /dev/null +++ b/package/libva-intel-driver/0001-Check-the-interface-from-libva-first.patch @@ -0,0 +1,71 @@ +From 3db0c4838fe30fcee5beb8b31ca67d5cf7d77fb3 Mon Sep 17 00:00:00 2001 +From: Haihao Xiang +Date: Fri, 7 Dec 2018 13:31:43 +0800 +Subject: [PATCH 1/1] Check the interface from libva first + +This fixes https://github.com/intel/intel-vaapi-driver/issues/419 + +Signed-off-by: Haihao Xiang +[james.hilliard1@gmail.com: backport from upstream commit +f139dafa59172d40543f2ec469a035d3de9fdc6a] +Signed-off-by: James Hilliard +--- + src/i965_output_wayland.c | 27 ++++++++++++++++----------- + 1 file changed, 16 insertions(+), 11 deletions(-) + +diff --git a/src/i965_output_wayland.c b/src/i965_output_wayland.c +index 122db95..a637552 100644 +--- a/src/i965_output_wayland.c ++++ b/src/i965_output_wayland.c +@@ -397,6 +397,7 @@ i965_output_wayland_init(VADriverContextP ctx) + struct i965_driver_data * const i965 = i965_driver_data(ctx); + struct dso_handle *dso_handle; + struct wl_vtable *wl_vtable; ++ struct VADriverVTableWayland * const vtable = ctx->vtable_wayland; + + static const struct dso_symbol libegl_symbols[] = { + { +@@ -465,25 +466,29 @@ i965_output_wayland_init(VADriverContextP ctx) + if (!i965->wl_output) + goto error; + +- i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME); +- if (!i965->wl_output->libegl_handle) { +- i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME_FALLBACK); +- if (!i965->wl_output->libegl_handle) ++ wl_vtable = &i965->wl_output->vtable; ++ ++ if (vtable->wl_interface) ++ wl_vtable->drm_interface = vtable->wl_interface; ++ else { ++ i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME); ++ if (!i965->wl_output->libegl_handle) { ++ i965->wl_output->libegl_handle = dso_open(LIBEGL_NAME_FALLBACK); ++ if (!i965->wl_output->libegl_handle) ++ goto error; ++ } ++ ++ dso_handle = i965->wl_output->libegl_handle; ++ if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable), ++ libegl_symbols)) + goto error; + } + +- dso_handle = i965->wl_output->libegl_handle; +- wl_vtable = &i965->wl_output->vtable; +- if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable), +- libegl_symbols)) +- goto error; +- + i965->wl_output->libwl_client_handle = dso_open(LIBWAYLAND_CLIENT_NAME); + if (!i965->wl_output->libwl_client_handle) + goto error; + + dso_handle = i965->wl_output->libwl_client_handle; +- wl_vtable = &i965->wl_output->vtable; + if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable), + libwl_client_symbols)) + goto error; +-- +2.7.4 + diff --git a/package/libva-intel-driver/Config.in b/package/libva-intel-driver/Config.in index 120f152c96..53c5b366c3 100644 --- a/package/libva-intel-driver/Config.in +++ b/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/package/libva-intel-driver/libva-intel-driver.hash b/package/libva-intel-driver/libva-intel-driver.hash index dbe5d67fb4..8c01271aeb 100644 --- a/package/libva-intel-driver/libva-intel-driver.hash +++ b/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 89096f99da753ac5858304e6c17f5dd9e7581d5b intel-vaapi-driver-2.3.0.tar.bz2 # Locally computed -sha256 ecfaf2ccc4b9af7340e002d2ef807d1e33051d4992f1983f5f4d60e516f86bdf intel-vaapi-driver-2.1.0.tar.bz2 +sha256 5c2e5deab024a0a6ae81dfe77ef455542a88d824eda7bfd07684337407ecdfe3 intel-vaapi-driver-2.3.0.tar.bz2 sha256 c86a782ee845b52472dae9b9d79fb915d333628ac0efe49cdce63644814931de COPYING diff --git a/package/libva-intel-driver/libva-intel-driver.mk b/package/libva-intel-driver/libva-intel-driver.mk index dd1903024f..76cdfee382 100644 --- a/package/libva-intel-driver/libva-intel-driver.mk +++ b/package/libva-intel-driver/libva-intel-driver.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBVA_INTEL_DRIVER_VERSION = 2.1.0 +LIBVA_INTEL_DRIVER_VERSION = 2.3.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 LIBVA_INTEL_DRIVER_DEPENDENCIES = host-pkgconf libdrm libva diff --git a/package/libva-utils/0001-check-ssp.patch b/package/libva-utils/0001-check-ssp.patch new file mode 100644 index 0000000000..11c1ded795 --- /dev/null +++ b/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/package/libva-utils/0002-Fix-build-failure-when-x11-support-is-disabled.patch b/package/libva-utils/0002-Fix-build-failure-when-x11-support-is-disabled.patch new file mode 100644 index 0000000000..b14b662abf --- /dev/null +++ b/package/libva-utils/0002-Fix-build-failure-when-x11-support-is-disabled.patch @@ -0,0 +1,33 @@ +From ad66d3c202eb72ac5808f13a0489ac836dc55aac Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Mon, 11 Feb 2019 20:31:42 +0100 +Subject: [PATCH] Fix build failure when x11 support is disabled + +Patch suggested on upstream bug tracker: +https://github.com/intel/libva-utils/issues/150#issuecomment-462059528 + +Signed-off-by: Bernd Kuhls +--- + Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index d28175a..12da79e 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -24,10 +24,10 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} + + AUTOMAKE_OPTIONS = foreign + +-SUBDIRS = common decode encode vainfo videoprocess vendor/intel vendor/intel/sfcsample ++SUBDIRS = common decode encode vainfo videoprocess vendor/intel + + if USE_X11 +-SUBDIRS += putsurface ++SUBDIRS += putsurface vendor/intel/sfcsample + else + if USE_WAYLAND + SUBDIRS += putsurface +-- +2.20.1 + diff --git a/package/libva-utils/Config.in b/package/libva-utils/Config.in index ad299234c3..597419f7de 100644 --- a/package/libva-utils/Config.in +++ b/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/package/libva-utils/libva-utils.hash b/package/libva-utils/libva-utils.hash index 46674a3675..4bd015002a 100644 --- a/package/libva-utils/libva-utils.hash +++ b/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 98121e21dd3c679d06b1068a1b5f32246533099b libva-utils-2.4.0.tar.bz2 # Locally computed -sha256 f6a7790c3dcc56537372c90a83036a3136194a8b397e84e97bf9cc9254fa2c51 libva-utils-2.1.0.tar.bz2 +sha256 5b7d1954b40fcb2c0544be20125c71a0852049715ab85a3e8aba60434a40c6b3 libva-utils-2.4.0.tar.bz2 sha256 c6220c9f87832c27abcb8a32eafdd2823e13ce146b3ea63d5deae2a76798ef50 COPYING diff --git a/package/libva-utils/libva-utils.mk b/package/libva-utils/libva-utils.mk index 85ee3083fd..be857bb4f1 100644 --- a/package/libva-utils/libva-utils.mk +++ b/package/libva-utils/libva-utils.mk @@ -4,11 +4,20 @@ # ################################################################################ -LIBVA_UTILS_VERSION = 2.1.0 +LIBVA_UTILS_VERSION = 2.4.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 +# 0002-Fix-build-failure-when-x11-support-is-disabled.patch +LIBVA_UTILS_AUTORECONF = YES LIBVA_UTILS_DEPENDENCIES = host-pkgconf libva +define LIBVA_UTILS_CREATE_M4_DIR + @mkdir -p $(@D)/m4 +endef + +LIBVA_UTILS_POST_EXTRACT_HOOKS += LIBVA_UTILS_CREATE_M4_DIR + $(eval $(autotools-package)) diff --git a/package/libva/Config.in b/package/libva/Config.in index 08eb16b487..e4e351f98a 100644 --- a/package/libva/Config.in +++ b/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/package/libva/libva.hash b/package/libva/libva.hash index ed707095f0..06b7de5762 100644 --- a/package/libva/libva.hash +++ b/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/download/2.4.0/libva-2.4.0.tar.bz2.sha1sum +sha1 2e7b69ebb615d039b9253d4708eeec889b812dbf libva-2.4.0.tar.bz2 # Locally computed -sha256 f3fa953a11d3210c3a4ee79031abdbe0863d5ce13d9b3f93f315f1eec60a4b0f libva-2.1.0.tar.bz2 +sha256 99263056c21593a26f2ece812aee6fe60142b49e6cd46cb33c8dddf18fc19391 libva-2.4.0.tar.bz2 sha256 c86a782ee845b52472dae9b9d79fb915d333628ac0efe49cdce63644814931de COPYING diff --git a/package/libva/libva.mk b/package/libva/libva.mk index 79956a9d8e..8a21c11b6c 100644 --- a/package/libva/libva.mk +++ b/package/libva/libva.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBVA_VERSION = 2.1.0 +LIBVA_VERSION = 2.4.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 @@ -30,6 +30,7 @@ endif ifeq ($(BR2_PACKAGE_WAYLAND),y) LIBVA_DEPENDENCIES += wayland +LIBVA_CONF_ENV += ac_cv_path_WAYLAND_SCANNER=$(HOST_DIR)/usr/bin/wayland-scanner LIBVA_CONF_OPTS += --enable-wayland else LIBVA_CONF_OPTS += --disable-wayland diff --git a/package/libvips/libvips.mk b/package/libvips/libvips.mk index 8078e046d1..7622f32fbc 100644 --- a/package/libvips/libvips.mk +++ b/package/libvips/libvips.mk @@ -68,9 +68,9 @@ else LIBVIPS_CONF_OPTS += --without-tiff endif -ifeq ($(BR2_PACKAGE_FFTW),y) +ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y) LIBVIPS_CONF_OPTS += --with-fftw -LIBVIPS_DEPENDENCIES += fftw +LIBVIPS_DEPENDENCIES += fftw-double else LIBVIPS_CONF_OPTS += --without-fftw endif diff --git a/package/libwebsock/0002-fix-ssl.patch b/package/libwebsock/0002-fix-ssl.patch index 51b9b36825..f577538713 100644 --- a/package/libwebsock/0002-fix-ssl.patch +++ b/package/libwebsock/0002-fix-ssl.patch @@ -1,26 +1,21 @@ config: fix SSL detection -The @WEBSOCK_HAVE_SSL@ is not replaced at configure time, and even if -it was, it would be replaced by an empty string if openssl is disabled, -thus still defining WEBSOCK_HAVE_SSL when we would not want it. +The @WEBSOCK_HAVE_SSL@ is replaced at configure time with either a 1 or 0. +The rest of the code is simply checking to see if WEBSOCK_HAVE_SSL is +defined at all. Using a #undef WEBSOCK_HAVE_SSL will cause configure +to either comment it out or change the line to +"#define WEBSOCK_HAVE_SSL 1". -Instead, rely on config.h, which is properly generated by ./configure, -to provide the information about whether openssl is enabled or not. - -Signed-off-by: "Yann E. MORIN" +Signed-off-by: Clayton Shotwell diff -durN a/src/websock_config.h.in b/src/websock_config.h.in --- a/src/websock_config.h.in +++ b/src/websock_config.h.in -@@ -1,9 +1,10 @@ - #ifndef WEBSOCK_CONFIG_H - #define WEBSOCK_CONFIG_H 1 - -+#include "config.h" -+ +@@ -4,6 +4,6 @@ #define WEBSOCK_PACKAGE_STRING @WEBSOCK_PACKAGE_STRING@ #define WEBSOCK_PACKAGE_VERSION @WEBSOCK_PACKAGE_VERSION@ #define WEBSOCK_PACKAGE_NAME @WEBSOCK_PACKAGE_NAME@ -#define WEBSOCK_HAVE_SSL @WEBSOCK_HAVE_SSL@ ++#undef WEBSOCK_HAVE_SSL #endif diff --git a/package/libxkbcommon/libxkbcommon.hash b/package/libxkbcommon/libxkbcommon.hash index 525f9ffd20..67ae4b5921 100644 --- a/package/libxkbcommon/libxkbcommon.hash +++ b/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/package/libxkbcommon/libxkbcommon.mk b/package/libxkbcommon/libxkbcommon.mk index 601181446d..2045d96380 100644 --- a/package/libxkbcommon/libxkbcommon.mk +++ b/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/package/libxml2/0001-CVE-2017-8872.patch b/package/libxml2/0001-CVE-2017-8872.patch deleted file mode 100644 index b7a75c19a7..0000000000 --- a/package/libxml2/0001-CVE-2017-8872.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 8b329effb610f4138e4e680f6a6867570f6d6179 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Fri, 9 Feb 2018 10:58:11 +0200 -Subject: [PATCH] CVE-2017-8872 - -Taken from attachment to upstream bug report comment #9. - -https://bugzilla.gnome.org/show_bug.cgi?id=775200#c9 -https://bugzilla.gnome.org/attachment.cgi?id=366193&action=diff - -Signed-off-by: Baruch Siach ---- - parser.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/parser.c b/parser.c -index 1c5e036ea265..025111067ae8 100644 ---- a/parser.c -+++ b/parser.c -@@ -12467,6 +12467,10 @@ xmlHaltParser(xmlParserCtxtPtr ctxt) { - ctxt->input->cur = BAD_CAST""; - ctxt->input->base = ctxt->input->cur; - ctxt->input->end = ctxt->input->cur; -+ if (ctxt->input->buf) -+ xmlBufEmpty (ctxt->input->buf->buffer); -+ else -+ ctxt->input->length = 0; - } - } - --- -2.15.1 - diff --git a/package/libxml2/libxml2.hash b/package/libxml2/libxml2.hash index d114d98060..ce8f5ef7f2 100644 --- a/package/libxml2/libxml2.hash +++ b/package/libxml2/libxml2.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732 libxml2-2.9.8.tar.gz +sha256 94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871 libxml2-2.9.9.tar.gz # License files, locally calculated sha256 c5c63674f8a83c4d2e385d96d1c670a03cb871ba2927755467017317878574bd COPYING diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk index 06a802eb10..f4b4de090e 100644 --- a/package/libxml2/libxml2.mk +++ b/package/libxml2/libxml2.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBXML2_VERSION = 2.9.8 -LIBXML2_SITE = ftp://xmlsoft.org/libxml2 +LIBXML2_VERSION = 2.9.9 +LIBXML2_SITE = http://xmlsoft.org/sources LIBXML2_INSTALL_STAGING = YES LIBXML2_LICENSE = MIT LIBXML2_LICENSE_FILES = COPYING diff --git a/package/libxmlpp/libxmlpp.hash b/package/libxmlpp/libxmlpp.hash index 5fc7f5beb4..cc5247a116 100644 --- a/package/libxmlpp/libxmlpp.hash +++ b/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/package/libxmlpp/libxmlpp.mk b/package/libxmlpp/libxmlpp.mk index d0f6329e79..14a3d97a8f 100644 --- a/package/libxmlpp/libxmlpp.mk +++ b/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/package/libxmlrpc/0001-fix-gennmtab-build.patch b/package/libxmlrpc/0001-fix-gennmtab-build.patch deleted file mode 100644 index e98e5cbf58..0000000000 --- a/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/package/libxmlrpc/0004-use-correct-curl-config.patch b/package/libxmlrpc/0001-use-correct-curl-config.patch similarity index 100% rename from package/libxmlrpc/0004-use-correct-curl-config.patch rename to package/libxmlrpc/0001-use-correct-curl-config.patch diff --git a/package/libxmlrpc/0002-config.mk.in-fix-shared-libraries-build-for-uClibc.patch b/package/libxmlrpc/0002-config.mk.in-fix-shared-libraries-build-for-uClibc.patch deleted file mode 100644 index 5970df51a9..0000000000 --- a/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/package/libxmlrpc/0003-fix-ar-ranlib-handling.patch b/package/libxmlrpc/0003-fix-ar-ranlib-handling.patch deleted file mode 100644 index 1e58d24780..0000000000 --- a/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/package/libxmlrpc/libxmlrpc.hash b/package/libxmlrpc/libxmlrpc.hash index 3003622ac8..093da67bbf 100644 --- a/package/libxmlrpc/libxmlrpc.hash +++ b/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/package/libxmlrpc/libxmlrpc.mk b/package/libxmlrpc/libxmlrpc.mk index 80acfb8eaa..90791bd671 100644 --- a/package/libxmlrpc/libxmlrpc.mk +++ b/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/package/libxslt/0001-Fix-security-framework-bypass.patch b/package/libxslt/0001-Fix-security-framework-bypass.patch new file mode 100644 index 0000000000..16700362b3 --- /dev/null +++ b/package/libxslt/0001-Fix-security-framework-bypass.patch @@ -0,0 +1,122 @@ +From e03553605b45c88f0b4b2980adfbbb8f6fca2fd6 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Sun, 24 Mar 2019 09:51:39 +0100 +Subject: [PATCH] Fix security framework bypass + +xsltCheckRead and xsltCheckWrite return -1 in case of error but callers +don't check for this condition and allow access. With a specially +crafted URL, xsltCheckRead could be tricked into returning an error +because of a supposedly invalid URL that would still be loaded +succesfully later on. + +Fixes #12. + +Thanks to Felix Wilhelm for the report. + +Signed-off-by: Peter Korsgaard +--- + libxslt/documents.c | 18 ++++++++++-------- + libxslt/imports.c | 9 +++++---- + libxslt/transform.c | 9 +++++---- + libxslt/xslt.c | 9 +++++---- + 4 files changed, 25 insertions(+), 20 deletions(-) + +diff --git a/libxslt/documents.c b/libxslt/documents.c +index 3f3a7312..4aad11bb 100644 +--- a/libxslt/documents.c ++++ b/libxslt/documents.c +@@ -296,10 +296,11 @@ xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) { + int res; + + res = xsltCheckRead(ctxt->sec, ctxt, URI); +- if (res == 0) { +- xsltTransformError(ctxt, NULL, NULL, +- "xsltLoadDocument: read rights for %s denied\n", +- URI); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(ctxt, NULL, NULL, ++ "xsltLoadDocument: read rights for %s denied\n", ++ URI); + return(NULL); + } + } +@@ -372,10 +373,11 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) { + int res; + + res = xsltCheckRead(sec, NULL, URI); +- if (res == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsltLoadStyleDocument: read rights for %s denied\n", +- URI); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsltLoadStyleDocument: read rights for %s denied\n", ++ URI); + return(NULL); + } + } +diff --git a/libxslt/imports.c b/libxslt/imports.c +index 874870cc..3783b247 100644 +--- a/libxslt/imports.c ++++ b/libxslt/imports.c +@@ -130,10 +130,11 @@ xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) { + int secres; + + secres = xsltCheckRead(sec, NULL, URI); +- if (secres == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsl:import: read rights for %s denied\n", +- URI); ++ if (secres <= 0) { ++ if (secres == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsl:import: read rights for %s denied\n", ++ URI); + goto error; + } + } +diff --git a/libxslt/transform.c b/libxslt/transform.c +index 13793914..0636dbd0 100644 +--- a/libxslt/transform.c ++++ b/libxslt/transform.c +@@ -3493,10 +3493,11 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node, + */ + if (ctxt->sec != NULL) { + ret = xsltCheckWrite(ctxt->sec, ctxt, filename); +- if (ret == 0) { +- xsltTransformError(ctxt, NULL, inst, +- "xsltDocumentElem: write rights for %s denied\n", +- filename); ++ if (ret <= 0) { ++ if (ret == 0) ++ xsltTransformError(ctxt, NULL, inst, ++ "xsltDocumentElem: write rights for %s denied\n", ++ filename); + xmlFree(URL); + xmlFree(filename); + return; +diff --git a/libxslt/xslt.c b/libxslt/xslt.c +index 780a5ad7..a234eb79 100644 +--- a/libxslt/xslt.c ++++ b/libxslt/xslt.c +@@ -6763,10 +6763,11 @@ xsltParseStylesheetFile(const xmlChar* filename) { + int res; + + res = xsltCheckRead(sec, NULL, filename); +- if (res == 0) { +- xsltTransformError(NULL, NULL, NULL, +- "xsltParseStylesheetFile: read rights for %s denied\n", +- filename); ++ if (res <= 0) { ++ if (res == 0) ++ xsltTransformError(NULL, NULL, NULL, ++ "xsltParseStylesheetFile: read rights for %s denied\n", ++ filename); + return(NULL); + } + } +-- +2.11.0 + diff --git a/package/libxslt/libxslt.mk b/package/libxslt/libxslt.mk index 5b1c0ae268..4632301b16 100644 --- a/package/libxslt/libxslt.mk +++ b/package/libxslt/libxslt.mk @@ -5,7 +5,7 @@ ################################################################################ LIBXSLT_VERSION = 1.1.32 -LIBXSLT_SITE = ftp://xmlsoft.org/libxslt +LIBXSLT_SITE = http://xmlsoft.org/sources LIBXSLT_INSTALL_STAGING = YES LIBXSLT_LICENSE = MIT LIBXSLT_LICENSE_FILES = COPYING diff --git a/package/libyaml/libyaml.hash b/package/libyaml/libyaml.hash index d4a0c335c3..afc014dfb2 100644 --- a/package/libyaml/libyaml.hash +++ b/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/package/libyaml/libyaml.mk b/package/libyaml/libyaml.mk index bc8d6951bd..dc7368a168 100644 --- a/package/libyaml/libyaml.mk +++ b/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 @@ -12,3 +12,4 @@ LIBYAML_LICENSE = MIT LIBYAML_LICENSE_FILES = LICENSE $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/lighttpd/Config.in b/package/lighttpd/Config.in index 383c10f70f..7d75663629 100644 --- a/package/lighttpd/Config.in +++ b/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/package/lighttpd/lighttpd.hash b/package/lighttpd/lighttpd.hash index c99e240c7b..926de33ef2 100644 --- a/package/lighttpd/lighttpd.hash +++ b/package/lighttpd/lighttpd.hash @@ -1,4 +1,4 @@ -# From https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.49.sha256sum -sha256 aedf49d7127d9e4c0ea56618e9e945a17674dc46a37ac7990120f87dd939ce09 lighttpd-1.4.49.tar.xz +# From https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.53.sha256sum +sha256 3bdfce1cf3e9650a556a8c26fb15342c5717c63f530c54693db632b0371dcb78 lighttpd-1.4.53.tar.xz # Locally calculated sha256 5c98cad2fbaf5c5e2562bcbab401a7c557c1bb1bac9914ecc63730925052fb13 COPYING diff --git a/package/lighttpd/lighttpd.mk b/package/lighttpd/lighttpd.mk index 06561e9f55..f50a4af935 100644 --- a/package/lighttpd/lighttpd.mk +++ b/package/lighttpd/lighttpd.mk @@ -5,13 +5,14 @@ ################################################################################ LIGHTTPD_VERSION_MAJOR = 1.4 -LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).49 +LIGHTTPD_VERSION = $(LIGHTTPD_VERSION_MAJOR).53 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 diff --git a/package/linknx/linknx.hash b/package/linknx/linknx.hash index 40e26766e2..312e43bfd3 100644 --- a/package/linknx/linknx.hash +++ b/package/linknx/linknx.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 635b8fbd3477fd7d85a95955b93f327cd5a389db80dc18cdae04de19a3a8a972 linknx-0.0.1.33.tar.gz +sha256 c03cea027b4b40e4402fabd08557736727ec3d5bc54ad64ab6472de432198cad LICENSE diff --git a/package/linknx/linknx.mk b/package/linknx/linknx.mk index dfabef550e..5801eb5f87 100644 --- a/package/linknx/linknx.mk +++ b/package/linknx/linknx.mk @@ -7,6 +7,7 @@ LINKNX_VERSION = 0.0.1.33 LINKNX_SITE = $(call github,linknx,linknx,$(LINKNX_VERSION)) LINKNX_LICENSE = GPL-2.0+ +LINKNX_LICENSE_FILES = LICENSE LINKNX_INSTALL_STAGING = YES LINKNX_CONF_OPTS = \ --without-log4cpp \ diff --git a/package/linux-firmware/Config.in b/package/linux-firmware/Config.in index bb88afeec2..6b182dc64f 100644 --- a/package/linux-firmware/Config.in +++ b/package/linux-firmware/Config.in @@ -59,6 +59,11 @@ config BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT help Firmware files for QCA Rome 6174A bluetooth support. +config BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560 + bool "TI CC2560" + help + Firmware files for Bluetooth modules CC2560 and CC2560A + endmenu # Bluetooth menu "WiFi firmware" @@ -320,6 +325,12 @@ config BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5 Firmware files for Chelsio T5 1Gb and 10Gb ethernet cards (cxgb4) +config BR2_PACKAGE_LINUX_FIRMWARE_INTEL_E100 + bool "Intel e100 825xx" + help + Firmware files for Intel 825xx handled by driver e100 + (e100) + config BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X bool "QLogic FastLinQ 4xxxx" help diff --git a/package/linux-firmware/linux-firmware.hash b/package/linux-firmware/linux-firmware.hash index b1f46b97e9..b44934893c 100644 --- a/package/linux-firmware/linux-firmware.hash +++ b/package/linux-firmware/linux-firmware.hash @@ -1,11 +1,11 @@ # Locally calculated -sha256 905be20e4e2d7628dea4e2e99195520fc0cce8b247faabdc52fc44a3ff2ceb04 linux-firmware-8d69bab7a3da1913113ea98cefb73d5fa6988286.tar.gz +sha256 5c636765fd1ac638176893feccfd4a4854f59fc3d01b38f3ccdbb89bd5bb6ef1 linux-firmware-1baa34868b2c0a004dc595b20678145e3fff83e7.tar.gz sha256 8116433f4004fc0c24d72b3d9e497808b724aa0e5e1cd63fc1bf66b715b1e2e9 LICENCE.Abilis sha256 4b3ea5d5a03c0db81bee0bcb14b30d75b30ef568597bb5be7d4dee57f434265f LICENSE.amdgpu sha256 38f2037aa14631b4b29826d7a99379613c41a97064d1defdee30a7a022138b20 LICENCE.Marvell sha256 802b7014b26c606cf6248ae8b0ab1ce6d2d1b0db236d38dd269e676cd70710f2 LICENCE.atheros_firmware sha256 3b5eb392b2d9d8c46d6aae26d06c187e5ea3029b12d13bc2b8deb8b3ce6bfa53 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt -sha256 c565861ff7c42f5df98e15239241f1f42614e5e15f362094a2d3e8da724dc842 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt +sha256 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx sha256 a5777f9e80aca0603b0648454de996168b1c530322550ccda94d6d78bcf6c061 LICENCE.chelsio_firmware sha256 60fbc9cccb455e1a3306c97db942d6f24fa93664be61d54c497637e6d0e2ae83 LICENCE.fw_sst_0f28 @@ -27,5 +27,6 @@ sha256 8542aeabf2761935122d693561e16766ce1bcc2b0d003204f9040b7d6d929f2e LICENSE. sha256 be904cd28cb292b80cdb6cf412ab0d9159d431671e987ad433c1f62e0988a9bc LICENSE.qcom sha256 fc6223d4bfe9f2f9e2eddc44b9fe5721d0caf49f01cb08d602906add686d8c6f LICENSE.radeon sha256 2bdd2e716f05d9737d3f9a20f9a3a3c0caee0e866100ddb0673f1178e42f92b9 LICENSE.sdma_firmware -sha256 a2cb7fe112a70132b423aa5db5fdb206bb0bfb89b2fbeb2c38a60ed7da57a3ba WHENCE +sha256 9b873499a822762177a7a02d2a3ead9fdf0d514c0f9899fb16a2d22ed99f4acc WHENCE sha256 fa43e1b9a13b341a07adca9dbe73d0f9072d7966fdfe811c01f0dd2872d7309a qcom/NOTICE.txt +sha256 bef9c828e84f21e7835b4de7daf954a327e1ff777871b58e116039b684c0d604 LICENCE.e100 diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk index c9866fd1bb..86e1d1e750 100644 --- a/package/linux-firmware/linux-firmware.mk +++ b/package/linux-firmware/linux-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -LINUX_FIRMWARE_VERSION = 8d69bab7a3da1913113ea98cefb73d5fa6988286 +LINUX_FIRMWARE_VERSION = 1baa34868b2c0a004dc595b20678145e3fff83e7 LINUX_FIRMWARE_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git LINUX_FIRMWARE_SITE_METHOD = git @@ -249,6 +249,14 @@ LINUX_FIRMWARE_FILES += ath10k/QCA6174 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.QualcommAtheros_ath10k endif +# CC2560(A) +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560),y) +LINUX_FIRMWARE_FILES += \ + ti-connectivity/TIInit_6.2.31.bts \ + ti-connectivity/TIInit_6.6.15.bts +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity +endif + # wl127x ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y) # wl1271-nvs.bin is a symlink to wl127x-nvs.bin @@ -381,9 +389,14 @@ LINUX_FIRMWARE_FILES += cxgb4/t5fw*.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware endif +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_E100),y) +LINUX_FIRMWARE_FILES += e100/*.bin +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.e100 +endif + ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X),y) LINUX_FIRMWARE_FILES += \ - qed/qed_init_values_zipped-8.33.11.0.bin + qed/qed_init_values_zipped-*.bin # No license file; the license is in the file WHENCE # which is installed unconditionally endif diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index 2cee8e09b6..ff3d464f41 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -6,7 +6,9 @@ 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_17 + # We are intentionally staying at 4.19 for the next Buildroot + # LTS release (2019.02) + default BR2_KERNEL_HEADERS_4_19 help Select the kernel version to get headers from. @@ -26,54 +28,28 @@ config BR2_KERNEL_HEADERS_AS_KERNEL bool "Same as kernel being built" depends on BR2_LINUX_KERNEL -config BR2_KERNEL_HEADERS_3_2 - bool "Linux 3.2.x kernel headers" - depends on !BR2_aarch64 && !BR2_arc && !BR2_nios2 - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 - -config BR2_KERNEL_HEADERS_4_1 - bool "Linux 4.1.x kernel headers" - 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_19 + bool "Linux 4.19.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 -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_17 - bool "Linux 4.17.x kernel headers" - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17 +config BR2_KERNEL_HEADERS_4_20 + bool "Linux 4.20.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 config BR2_KERNEL_HEADERS_VERSION bool "Manually specified Linux version" @@ -86,6 +62,23 @@ config BR2_KERNEL_HEADERS_VERSION 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 config BR2_DEFAULT_KERNEL_VERSION @@ -95,9 +88,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. @@ -105,6 +116,18 @@ 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_20 + bool "4.20.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + +config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19 + bool "4.19.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 + +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 @@ -264,16 +287,12 @@ endchoice 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.161" if BR2_KERNEL_HEADERS_4_4 - default "4.9.133" 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.76" if BR2_KERNEL_HEADERS_4_14 - default "4.15.18" if BR2_KERNEL_HEADERS_4_15 - default "4.16.18" if BR2_KERNEL_HEADERS_4_16 - default "4.17.19" if BR2_KERNEL_HEADERS_4_17 + default "4.4.178" if BR2_KERNEL_HEADERS_4_4 + default "4.9.170" if BR2_KERNEL_HEADERS_4_9 + default "4.14.113" if BR2_KERNEL_HEADERS_4_14 + default "4.19.36" if BR2_KERNEL_HEADERS_4_19 + default "4.20.17" if BR2_KERNEL_HEADERS_4_20 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/package/linux-headers/linux-headers.hash b/package/linux-headers/linux-headers.hash new file mode 120000 index 0000000000..04970e97c1 --- /dev/null +++ b/package/linux-headers/linux-headers.hash @@ -0,0 +1 @@ +../../linux/linux.hash \ No newline at end of file diff --git a/package/linux-headers/linux-headers.mk b/package/linux-headers/linux-headers.mk index 954c6b7978..95432ade83 100644 --- a/package/linux-headers/linux-headers.mk +++ b/package/linux-headers/linux-headers.mk @@ -7,43 +7,59 @@ # 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)) +ifeq ($(LINUX_HEADERS_CUSTOM_TARBALL),y) +LINUX_HEADERS_SOURCE = $(notdir $(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION)) +LINUX_HEADERS_SITE = $(patsubst %/,%,$(dir $(LINUX_HEADERS_CUSTOM_TARBALL_LOCATION))) +else ifeq ($(LINUX_HEADERS_CUSTOM_GIT),y) +LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz +LINUX_HEADERS_SITE = $(LINUX_HEADERS_REPO_URL) LINUX_HEADERS_SITE_METHOD = git -# use same git tarball as linux kernel +else ifeq ($(LINUX_HEADERS_CUSTOM_HG),y) 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 = $(LINUX_HEADERS_REPO_URL) LINUX_HEADERS_SITE_METHOD = hg -# use same hg tarball as linux kernel +else ifeq ($(LINUX_HEADERS_CUSTOM_SVN),y) LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz +LINUX_HEADERS_SITE = $(LINUX_HEADERS_REPO_URL) +LINUX_HEADERS_SITE_METHOD = svn +else ifneq ($(findstring -rc,$(LINUX_HEADERS_VERSION)),) +# Since 4.12-rc1, -rc kernels are generated from cgit. This also works for +# older -rc kernels. +LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.gz +LINUX_HEADERS_SITE = https://git.kernel.org/torvalds/t else LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz -# 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. 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 -# release candidates are in testing/ subdir -ifneq ($(findstring -rc,$(LINUX_HEADERS_VERSION)),) -LINUX_HEADERS_SITE := $(LINUX_HEADERS_SITE)/testing -endif # -rc -endif +else +LINUX_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v$(firstword $(subst ., ,$(LINUX_HEADERS_VERSION))).x +endif # x2.6 +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 +79,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 +129,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/package/linux-tools/Config.in b/package/linux-tools/Config.in index 349dc6bf0d..1c660f76f5 100644 --- a/package/linux-tools/Config.in +++ b/package/linux-tools/Config.in @@ -34,8 +34,18 @@ config BR2_PACKAGE_LINUX_TOOLS_IIO These tools are available only from kernel version 4.7. +config BR2_PACKAGE_LINUX_TOOLS_PCI + bool "pci" + select BR2_PACKAGE_LINUX_TOOLS + help + pcitest is a tool for testing capabilities related to a + PCI Endpoint (only works with specific Endpoints). + + These tools are available only from kernel version 4.20. + config BR2_PACKAGE_LINUX_TOOLS_PERF bool "perf" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_LINUX_TOOLS help perf (sometimes "Perf Events" or perf tools, originally @@ -74,8 +84,14 @@ config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS depends on BR2_USE_MMU # bash select BR2_PACKAGE_LINUX_TOOLS select BR2_PACKAGE_BASH # runtime + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_NCURSES_TARGET_PROGS # runtime (tput) + select BR2_PACKAGE_KMOD + select BR2_PACKAGE_KMOD_TOOLS # runtime (modprobe -n) select BR2_PACKAGE_POPT select BR2_PACKAGE_LIBCAP_NG + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS # runtime (taskset) help Build and install (to /usr/lib/kselftests) kernel selftests. diff --git a/package/linux-tools/linux-tool-pci.mk.in b/package/linux-tools/linux-tool-pci.mk.in new file mode 100644 index 0000000000..4ef0368a32 --- /dev/null +++ b/package/linux-tools/linux-tool-pci.mk.in @@ -0,0 +1,27 @@ +################################################################################ +# +# pci +# +################################################################################ + +LINUX_TOOLS += pci + +PCI_MAKE_OPTS = $(LINUX_MAKE_FLAGS) + +define PCI_BUILD_CMDS + $(Q)if ! grep install $(LINUX_DIR)/tools/pci/Makefile >/dev/null 2>&1 ; then \ + echo "Your kernel version is too old and does not have install section in the pci tools." ; \ + echo "At least kernel 4.20 must be used." ; \ + exit 1 ; \ + fi + + $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools/pci \ + $(PCI_MAKE_OPTS) +endef + +define PCI_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools/pci \ + $(PCI_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) \ + install +endef diff --git a/package/linuxptp/S65linuxptp b/package/linuxptp/S65linuxptp old mode 100755 new mode 100644 diff --git a/package/linuxptp/linuxptp-system-clock.service b/package/linuxptp/linuxptp-system-clock.service index 73272542cd..a4436a34a7 100644 --- a/package/linuxptp/linuxptp-system-clock.service +++ b/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/package/linuxptp/linuxptp.hash b/package/linuxptp/linuxptp.hash index ef2db56226..5e6c7741cd 100644 --- a/package/linuxptp/linuxptp.hash +++ b/package/linuxptp/linuxptp.hash @@ -1,2 +1,9 @@ +# From https://sourceforge.net/projects/linuxptp/files/v2.0/ +sha1 592ca42c6146a79c1fcabed7c19fa7af4803d4f6 linuxptp-2.0.tgz +md5 d8bb7374943bb747db7786ac26f17f11 linuxptp-2.0.tgz + # Locally computed: -sha256 d0ccc4591966e21819cdc248765ebbe02456bc8ca37845eb7c23c2d1ff9bcf6b linuxptp-303b08cbf55096aba55bd08a314e0701e5c33482.tar.gz +sha256 0a24d9401e87d4af023d201e234d91127d82c350daad93432106284aa9459c7d linuxptp-2.0.tgz + +# Hash for license file: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/linuxptp/linuxptp.mk b/package/linuxptp/linuxptp.mk index f43fee6f69..c304ff6d6e 100644 --- a/package/linuxptp/linuxptp.mk +++ b/package/linuxptp/linuxptp.mk @@ -4,9 +4,9 @@ # ################################################################################ -LINUXPTP_VERSION = 303b08cbf55096aba55bd08a314e0701e5c33482 -LINUXPTP_SITE_METHOD = git -LINUXPTP_SITE = git://git.code.sf.net/p/linuxptp/code +LINUXPTP_VERSION = 2.0 +LINUXPTP_SOURCE = linuxptp-$(LINUXPTP_VERSION).tgz +LINUXPTP_SITE = http://downloads.sourceforge.net/linuxptp LINUXPTP_LICENSE = GPL-2.0+ LINUXPTP_LICENSE_FILES = COPYING diff --git a/package/linuxptp/linuxptp.service b/package/linuxptp/linuxptp.service index f690430633..14e9814b06 100644 --- a/package/linuxptp/linuxptp.service +++ b/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/package/liquid-dsp/liquid-dsp.mk b/package/liquid-dsp/liquid-dsp.mk index e3114a2d15..64c403e87f 100644 --- a/package/liquid-dsp/liquid-dsp.mk +++ b/package/liquid-dsp/liquid-dsp.mk @@ -30,8 +30,9 @@ LIQUID_DSP_CFLAGS += -ffast-math endif # use FFTW instead of built-in FFT -ifeq ($(BR2_PACKAGE_FFTW_PRECISION_SINGLE),y) +ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y) LIQUID_DSP_LDFLAGS += -lfftw3f +LIQUID_DSP_DEPENDENCIES += fftw-single endif # disable altivec, it has build issues @@ -39,14 +40,6 @@ ifeq ($(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y) LIQUID_DSP_CONF_OPTS += --enable-simdoverride endif -ifeq ($(BR2_PACKAGE_FFTW_PRECISION_DOUBLE),y) -LIQUID_DSP_LDFLAGS += -lfftw3 -endif - -ifeq ($(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),y) -LIQUID_DSP_LDFLAGS += -lfftw3l -endif - LIQUID_DSP_CONF_OPTS += \ CFLAGS="$(LIQUID_DSP_CFLAGS)" \ LDFLAGS="$(LIQUID_DSP_LDFLAGS)" diff --git a/package/lirc-tools/S25lircd b/package/lirc-tools/S25lircd old mode 100755 new mode 100644 diff --git a/package/lirc-tools/lirc-tools.mk b/package/lirc-tools/lirc-tools.mk index a5165ad438..e468f2a25d 100644 --- a/package/lirc-tools/lirc-tools.mk +++ b/package/lirc-tools/lirc-tools.mk @@ -46,7 +46,7 @@ LIRC_TOOLS_DEPENDENCIES += libftdi1 endif ifeq ($(BR2_PACKAGE_PYTHON3),y) -LIRC_TOOLS_DEPENDENCIES += python3 host-python-setuptools +LIRC_TOOLS_DEPENDENCIES += python3 host-python3-setuptools LIRC_TOOLS_MAKE_ENV += SETUPTOOLS_ENV="$(PKG_PYTHON_SETUPTOOLS_ENV)" endif diff --git a/package/live555/live555.hash b/package/live555/live555.hash index 024dcac124..f8e5b5e68c 100644 --- a/package/live555/live555.hash +++ b/package/live555/live555.hash @@ -1,5 +1,3 @@ -# From http://live555.com/liveMedia/public/live555-latest-md5.txt -md5 3383dea853735b7a73eda6ddb52b6372 live.2018.10.17.tar.gz # Locally generated -sha256 7c68d9c95b39acd309a2b6a4fc14c3837544a9be3f64062ed38d1ad6f68dc9e8 live.2018.10.17.tar.gz +sha256 0bd0c26d980425d9a419d835193e292a08a968f175da1902da4b495f126d5abd live.2019.03.06.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/live555/live555.mk b/package/live555/live555.mk index 6a6d353650..250eea236c 100644 --- a/package/live555/live555.mk +++ b/package/live555/live555.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIVE555_VERSION = 2018.10.17 +LIVE555_VERSION = 2019.03.06 LIVE555_SOURCE = live.$(LIVE555_VERSION).tar.gz -LIVE555_SITE = http://www.live555.com/liveMedia/public +LIVE555_SITE = http://www.live555.com LIVE555_LICENSE = LGPL-2.1+ LIVE555_LICENSE_FILES = COPYING LIVE555_INSTALL_STAGING = YES diff --git a/package/ljlinenoise/Config.in b/package/ljlinenoise/Config.in index e6b587e65d..964183f1da 100644 --- a/package/ljlinenoise/Config.in +++ b/package/ljlinenoise/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_LJLINENOISE bool "ljlinenoise" # ljsyscall is specifically for LuaJIT, not Lua. depends on BR2_PACKAGE_LUAJIT - # run-time dependency only - select BR2_PACKAGE_LJSYSCALL + select BR2_PACKAGE_LJSYSCALL # runtime help ljlinenoise is a pure LuaJIT port of linenoise, a small alternative to readline and libedit. diff --git a/package/ljlinenoise/ljlinenoise.hash b/package/ljlinenoise/ljlinenoise.hash index c70b5d6807..647f11d866 100644 --- a/package/ljlinenoise/ljlinenoise.hash +++ b/package/ljlinenoise/ljlinenoise.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 7a6c4142b0096106f498d7ee4bea5bf5086c076d1f071893441b8e5c0665fb47 ljlinenoise-0.1.3-1.src.rock +# computed by luarocks/buildroot +sha256 7a6c4142b0096106f498d7ee4bea5bf5086c076d1f071893441b8e5c0665fb47 ljlinenoise-0.1.3-1.src.rock +sha256 9b17730cb34ea591fb39688e70bd2be9c13d11b9db1c813b4ae68e3da9b7093e ljlinenoise-0.1.3/COPYRIGHT diff --git a/package/ljsyscall/Config.in b/package/ljsyscall/Config.in index 3af9dabe95..313f24df93 100644 --- a/package/ljsyscall/Config.in +++ b/package/ljsyscall/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_LJSYSCALL An FFI implementation of the Linux and NetBSD kernel ABIs for LuaJIT. - http://github.com/justincormack/ljsyscall + http://www.myriabit.com/ljsyscall/ comment "ljsyscall needs LuaJIT" depends on !BR2_PACKAGE_LUAJIT diff --git a/package/lldpd/0001-build-ability-to-disable-libbsd-with-without-libbsd.patch b/package/lldpd/0001-build-ability-to-disable-libbsd-with-without-libbsd.patch new file mode 100644 index 0000000000..7301ac636b --- /dev/null +++ b/package/lldpd/0001-build-ability-to-disable-libbsd-with-without-libbsd.patch @@ -0,0 +1,106 @@ +From ff3dcc4ad71c1105bd8ea11afe7e07efd48c038d Mon Sep 17 00:00:00 2001 +From: Vincent Bernat +Date: Tue, 25 Sep 2018 10:57:49 +0200 +Subject: [PATCH] build: ability to disable libbsd with --without-libbsd + +This is useful when user wants to ensure reproducibility of the build +whatever libbsd is present or not. + +Signed-off-by: Trent Piepho +--- + configure.ac | 59 +++++++++++++++++++++++++++++++++++++++-------------------- + src/marshal.h | 1 + + 2 files changed, 40 insertions(+), 20 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9b40473..589cd96 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -173,26 +173,44 @@ AC_FUNC_REALLOC + AC_FUNC_FORK + + # Some functions can be in libbsd +-PKG_CHECK_MODULES([libbsd], [libbsd-overlay], [ +- _save_CFLAGS="$CFLAGS" +- _save_LIBS="$LIBS" +- CFLAGS="$CFLAGS $libbsd_CFLAGS" +- LIBS="$LIBS $libbsd_LIBS" +- AC_MSG_CHECKING([if libbsd can be linked correctly]) +- AC_TRY_LINK([ +-@%:@include +-@%:@include +-],[], +- [ +- AC_MSG_RESULT(yes) +- LLDP_CFLAGS="$LLDP_CFLAGS $libbsd_CFLAGS" +- LLDP_LDFLAGS="$LLDP_LDFLAGS $libbsd_LIBS" +- ],[ +- AC_MSG_RESULT(no) +- CFLAGS="$_save_CFLAGS" +- LIBS="$_save_LIBS" +- ]) +-], [:]) ++AC_ARG_WITH([libbsd], ++ AS_HELP_STRING( ++ [--with-libbsd], ++ [Use libbsd @<:@default=auto@:>@]), ++ [], ++ [with_libbsd=auto]) ++if test x"$with_libbsd" != x"no"; then ++ PKG_CHECK_MODULES([libbsd], [libbsd-overlay], [ ++ _save_CFLAGS="$CFLAGS" ++ _save_LIBS="$LIBS" ++ CFLAGS="$CFLAGS $libbsd_CFLAGS" ++ LIBS="$LIBS $libbsd_LIBS" ++ AC_MSG_CHECKING([if libbsd can be linked correctly]) ++ AC_TRY_LINK([ ++ @%:@include ++ @%:@include ++ ],[], ++ [ ++ AC_MSG_RESULT(yes) ++ LLDP_CFLAGS="$LLDP_CFLAGS $libbsd_CFLAGS" ++ LLDP_LDFLAGS="$LLDP_LDFLAGS $libbsd_LIBS" ++ with_libbsd=yes ++ ],[ ++ AC_MSG_RESULT(no) ++ CFLAGS="$_save_CFLAGS" ++ LIBS="$_save_LIBS" ++ if test x"$with_libbsd" = x"yes"; then ++ AC_MSG_FAILURE([*** no libbsd support found]) ++ fi ++ with_libbsd=no ++ ]) ++ ], [ ++ if test x"$with_libbsd" = x"yes"; then ++ AC_MSG_FAILURE([*** no libbsd support found]) ++ fi ++ with_libbsd=no ++ ]) ++fi + + # setproctitle may have an _init function + AC_REPLACE_FUNCS([setproctitle]) +@@ -412,6 +430,7 @@ cat < ++#include + #include + + struct marshal_info; +-- +2.14.4 + diff --git a/package/lldpd/0001-build-make-generation-of-atom-glue-compatible-with-o.patch b/package/lldpd/0001-build-make-generation-of-atom-glue-compatible-with-o.patch deleted file mode 100644 index d5675d39af..0000000000 --- a/package/lldpd/0001-build-make-generation-of-atom-glue-compatible-with-o.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 106aa50d4e5b336f7dd2d5cf4d882e692d205e91 Mon Sep 17 00:00:00 2001 -From: Vincent Bernat -Date: Sat, 18 Jun 2016 22:18:41 +0200 -Subject: [PATCH] build: make generation of atom-glue compatible with older gcc - versions - -With old versions, cpp doesn't accept several files as input. See #186. - -Signed-off-by: Vivien Didelot ---- - src/lib/Makefile.am | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am -index 250e32a..2a5cdb3 100644 ---- a/src/lib/Makefile.am -+++ b/src/lib/Makefile.am -@@ -20,8 +20,9 @@ nodist_liblldpctl_la_SOURCES = atom-glue.c - liblldpctl_la_LIBADD = $(top_builddir)/src/libcommon-daemon-lib.la libfixedpoint.la - - atom-glue.c: $(ATOM_FILES) Makefile -- $(AM_V_GEN)($(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(ATOM_FILES:%=$(srcdir)/%) | \ -+ $(AM_V_GEN)(for f in $(ATOM_FILES:%=$(srcdir)/%); do \ -+ $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $$f; done | \ - $(SED) -n 's+^void init_atom_builder_\([^(]*\)().*, \([0-9]*\)).*+\2 \1+p' | \ - sort | \ - $(AWK) '{ atoms[$$2] = 1 } \ -@@ -30,8 +31,9 @@ atom-glue.c: $(ATOM_FILES) Makefile - print " static int init = 0; if (init) return; init++;"; \ - for (atom in atoms) { print " init_atom_builder_"atom"();" } \ - print "}"; }' && \ -+ for f in $(ATOM_FILES:%=$(srcdir)/%); do \ - $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(ATOM_FILES:%=$(srcdir)/%) | \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $$f; done | \ - $(SED) -n 's+^void init_atom_map_\([^(]*\)().*, \([0-9]*\)).*+\2 \1+p' | \ - sort -n | \ - $(AWK) '{ atoms[$$2] = 1 } \ --- -2.9.0 - diff --git a/package/lldpd/0002-configure-do-not-check-for-libbsd.patch b/package/lldpd/0002-configure-do-not-check-for-libbsd.patch deleted file mode 100644 index 4d63274526..0000000000 --- a/package/lldpd/0002-configure-do-not-check-for-libbsd.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0801a066cd4a24a858ddfa7c62c7802e0f5533a8 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 14 Aug 2016 12:15:17 +0200 -Subject: [PATCH] configure: do not check for libbsd - -libbsd causes build issues because its libbsd-overlay.pc file is borked: -it contains -isystem in CFLAGS, which is not munged by pkgconf, so we -end up using the headers of the build machine, causing all sorts of -hard-to-debug trouble at build time. - -lldpd uses libbsd-overlay for a few helper functions, but has fallbacks -in case it is not available. The only feature that is lost when not using -it is that the neighbour name is no longer displayed in /proc/self/cmdline. -As the author of lldpd said on IRC: "people should survive! ;-)" - -So we just remove the detection of libbsd altogether. - -Fixes: - http://autobuild.buildroot.org/results/6b7/6b70fa379e834ec71cc260ba6af771b531ca3511/ - http://autobuild.buildroot.org/results/769/769074c4bb67336ae6679f2c1cd2a8220d2bec24/ - http://autobuild.buildroot.org/results/c8a/c8a6001f437701ecc75f6c9252935645bda8a8c8/ - [...] - -Signed-off-by: "Yann E. MORIN" ---- - configure.ac | 19 ------------------- - 1 file changed, 19 deletions(-) - -diff --git a/configure.ac b/configure.ac -index dd723b0..45498ce 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -165,25 +165,6 @@ AC_FUNC_MALLOC - AC_FUNC_REALLOC - AC_FUNC_FORK - --# Some functions can be in libbsd --PKG_CHECK_MODULES([libbsd], [libbsd-overlay], [ -- _save_CFLAGS="$CFLAGS" -- _save_LIBS="$LIBS" -- CFLAGS="$CFLAGS $libbsd_CFLAGS" -- LIBS="$LIBS $libbsd_LIBS" -- AC_MSG_CHECKING([if libbsd can be linked correctly]) -- AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])], -- [ -- AC_MSG_RESULT(yes) -- LLDP_CFLAGS="$LLDP_CFLAGS $libbsd_CFLAGS" -- LLDP_LDFLAGS="$LLDP_LDFLAGS $libbsd_LIBS" -- ],[ -- AC_MSG_RESULT(no) -- CFLAGS="$_save_CFLAGS" -- LIBS="$_save_LIBS" -- ]) --], [:]) -- - # setproctitle may have an _init function - AC_REPLACE_FUNCS([setproctitle]) - AC_CHECK_FUNCS([setproctitle_init]) --- -2.7.4 - diff --git a/package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch b/package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch deleted file mode 100644 index 880f603f71..0000000000 --- a/package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d28b3bfa1b224f7770004dddf4dfaf10ad7ad6c9 Mon Sep 17 00:00:00 2001 -From: Damien Riegel -Date: Mon, 18 Dec 2017 14:37:08 -0500 -Subject: [PATCH] configure: remove check on CXX compiler - -lldpd fails to build if the toolchain doesn't have a C++ compiler -because configure fails with the following error: - - checking how to run the C++ preprocessor... /lib/cpp - configure: error: in `/home/dkc/src/buildroot/build-zii/build/lldpd-0.9.4': - configure: error: C++ preprocessor "/lib/cpp" fails sanity check - -Since "8d92800b: build: cleaner way to not alter CFLAGS/CPPFLAGS/LDFLAGS", -it seems that the dependency on C++ is not required anymore, so there -is no reason to keep this restriction. Dropping AC_PROG_CXX allows to -build with a toolchain that doesn't have C++ just fine. ---- - configure.ac | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 0edceb1..5afe8f2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -48,7 +48,6 @@ AC_PROG_CC_C99 - if test x"$ac_cv_prog_cc_c99" = x"no"; then - AC_MSG_FAILURE([*** C99 support is mandatory]) - fi --AC_PROG_CXX - AM_PROG_CC_C_O - AC_PROG_LIBTOOL - AC_PROG_LN_S --- -2.15.1 - diff --git a/package/lldpd/lldpd.hash b/package/lldpd/lldpd.hash index fc3d21f487..1c0e380996 100644 --- a/package/lldpd/lldpd.hash +++ b/package/lldpd/lldpd.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 eb1f5beff2ff5c13c5e0342b5b9da815ed4a63866262445e1168a79ee65c9079 lldpd-0.9.4.tar.gz +sha256 450b622aac7ae1758f1ef82f3b7b94ec47f2ff33abfb0e6ac82555b9ee55f151 lldpd-1.0.1.tar.gz +sha256 0e96a5aea65f16e2239231ce4ab90497f8bc3bb8fe6abe9299aade4726ff7c8d LICENSE diff --git a/package/lldpd/lldpd.mk b/package/lldpd/lldpd.mk index 2bdda0213e..506b6f136d 100644 --- a/package/lldpd/lldpd.mk +++ b/package/lldpd/lldpd.mk @@ -4,11 +4,11 @@ # ################################################################################ -LLDPD_VERSION = 0.9.4 +LLDPD_VERSION = 1.0.1 LLDPD_SITE = http://media.luffy.cx/files/lldpd LLDPD_DEPENDENCIES = host-pkgconf libevent LLDPD_LICENSE = ISC -LLDPD_LICENSE_FILES = README.md +LLDPD_LICENSE_FILES = LICENSE # 0002-configure-do-not-check-for-libbsd.patch / 0003-configure-remove-check-on-CXX-compiler.patch LLDPD_AUTORECONF = YES @@ -28,12 +28,11 @@ endif LLDPD_CONF_ENV = ac_cv_prog_cc_c99=-std=gnu99 LLDPD_CONF_OPTS = \ - --without-readline \ --without-embedded-libevent \ --without-snmp \ --without-xml \ - --without-json \ --without-seccomp \ + --without-libbsd \ --disable-hardening \ --disable-privsep \ $(if $(BR2_PACKAGE_LLDPD_CDP),--enable-cdp,--disable-cdp) \ @@ -45,9 +44,22 @@ LLDPD_CONF_OPTS = \ $(if $(BR2_PACKAGE_LLDPD_DOT3),--enable-dot3,--disable-dot3) \ $(if $(BR2_PACKAGE_LLDPD_CUSTOM_TLV),--enable-custom,--disable-custom) +ifeq ($(BR2_PACKAGE_READLINE),y) +LLDPD_CONF_OPTS += --with-readline +LLDPD_DEPENDENCIES += readline +else +LLDPD_CONF_OPTS += --without-readline +endif + define LLDPD_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/lldpd/S60lldpd \ $(TARGET_DIR)/etc/init.d/S60lldpd endef +define LLDPD_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/lldpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lldpd.service +endef + $(eval $(autotools-package)) diff --git a/package/llvm/llvm.hash b/package/llvm/llvm.hash index 6a09e5804c..531361ae10 100644 --- a/package/llvm/llvm.hash +++ b/package/llvm/llvm.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 b6d6c324f9c71494c0ccaf3dac1f16236d970002b42bb24a6c9e1634f7d0f4e2 llvm-6.0.1.src.tar.xz -sha256 abd4d8794808bacb1eb6924d49efafd9ab6eef88faaaeb5d3cfa13ee3670d672 LICENSE.TXT +sha256 a38dfc4db47102ec79dcc2aa61e93722c5f6f06f0a961073bd84b78fb949419b llvm-7.0.1.src.tar.xz +sha256 0303dfeaac87b80d2d1e543aa38d5be77b0eac93c3d04fe7e3c8eaa71a778667 LICENSE.TXT diff --git a/package/llvm/llvm.mk b/package/llvm/llvm.mk index 756b46a865..952f678eee 100644 --- a/package/llvm/llvm.mk +++ b/package/llvm/llvm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LLVM_VERSION = 6.0.1 +LLVM_VERSION = 7.0.1 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)) @@ -62,6 +57,9 @@ endif # Use native llvm-tblgen from host-llvm (needed for cross-compilation) LLVM_CONF_OPTS += -DLLVM_TABLEGEN=$(HOST_DIR)/bin/llvm-tblgen +# Use native llvm-config from host-llvm (needed for cross-compilation) +LLVM_CONF_OPTS += -DLLVM_CONFIG_PATH=$(HOST_DIR)/bin/llvm-config + # BUILD_SHARED_LIBS has a misleading name. It is in fact an option for # LLVM developers to build all LLVM libraries as separate shared libraries. # For normal use of LLVM, it is recommended to build a single diff --git a/package/lm-sensors/0003-musl-fix-includes.patch b/package/lm-sensors/0003-musl-fix-includes.patch deleted file mode 100644 index 69325abce0..0000000000 --- a/package/lm-sensors/0003-musl-fix-includes.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 6d85773537c9f277ed342f57500f784ccb2c4a3e Mon Sep 17 00:00:00 2001 -From: Brendan Heading -Date: Sun, 30 Aug 2015 22:26:39 +0100 -Subject: [PATCH 1/1] fix compilation under musl - -This patch removes conditional compilation elements that are designed to -support glibc versions earlier than 2.0, which were causing the build -to fail under musl. - -Based on the patch found here : - -http://git.alpinelinux.org/cgit/aports/plain/main/lm_sensors/musl-fix-includes.patch?id=fece1d19448dbd3a56fd8ac70443116187141848 - -This patch has been accepted for integration upstream and should be -present in the next release. See : - -http://www.lm-sensors.org/changeset/6314 - -Signed-off-by: Brendan Heading -Upstream-Status: pending ---- - prog/dump/isadump.c | 6 ------ - prog/dump/isaset.c | 6 ------ - prog/dump/superio.c | 5 ----- - prog/dump/util.c | 5 ----- - 4 files changed, 22 deletions(-) - -diff --git a/prog/dump/isadump.c b/prog/dump/isadump.c -index e031e47..88e4c3b 100644 ---- a/prog/dump/isadump.c -+++ b/prog/dump/isadump.c -@@ -36,13 +36,7 @@ - #include "util.h" - #include "superio.h" - -- --/* To keep glibc2 happy */ --#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 - #include --#else --#include --#endif - - #ifdef __powerpc__ - unsigned long isa_io_base = 0; /* XXX for now */ -diff --git a/prog/dump/isaset.c b/prog/dump/isaset.c -index 1d1bdad..a084c8a 100644 ---- a/prog/dump/isaset.c -+++ b/prog/dump/isaset.c -@@ -32,13 +32,7 @@ - #include - #include "util.h" - -- --/* To keep glibc2 happy */ --#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 - #include --#else --#include --#endif - - #ifdef __powerpc__ - unsigned long isa_io_base = 0; /* XXX for now */ -diff --git a/prog/dump/superio.c b/prog/dump/superio.c -index 1af7358..31e0d78 100644 ---- a/prog/dump/superio.c -+++ b/prog/dump/superio.c -@@ -20,12 +20,7 @@ - */ - - #include -- --#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 - #include --#else --#include --#endif - - #include "superio.h" - -diff --git a/prog/dump/util.c b/prog/dump/util.c -index 676c339..d8b0927 100644 ---- a/prog/dump/util.c -+++ b/prog/dump/util.c -@@ -11,12 +11,7 @@ - #include - #include "util.h" - --/* To keep glibc2 happy */ --#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 - #include --#else --#include --#endif - - /* Return 1 if we should continue, 0 if we should abort */ - int user_ack(int def) --- -2.4.3 - diff --git a/package/lm-sensors/Config.in b/package/lm-sensors/Config.in index 60571b784f..a2e0275999 100644 --- a/package/lm-sensors/Config.in +++ b/package/lm-sensors/Config.in @@ -25,12 +25,14 @@ config BR2_PACKAGE_LM_SENSORS_FANCONTROL config BR2_PACKAGE_LM_SENSORS_ISADUMP bool "isadump" + depends on BR2_i386 || BR2_x86_64 help Isadump is a small helper program to examine registers visible through the ISA bus. config BR2_PACKAGE_LM_SENSORS_ISASET bool "isaset" + depends on BR2_i386 || BR2_x86_64 help Isaset is a small helper program to set register visible through the ISA bus. diff --git a/package/lm-sensors/lm-sensors.hash b/package/lm-sensors/lm-sensors.hash index eeaa633f46..40728252b4 100644 --- a/package/lm-sensors/lm-sensors.hash +++ b/package/lm-sensors/lm-sensors.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 e0579016081a262dd23eafe1d22b41ebde78921e73a1dcef71e05e424340061f lm-sensors_3.4.0.orig.tar.bz2 +sha256 f671c1d63a4cd8581b3a4a775fd7864a740b15ad046fe92038bcff5c5134d7e0 lm-sensors-V3-5-0.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL diff --git a/package/lm-sensors/lm-sensors.mk b/package/lm-sensors/lm-sensors.mk index 6fc7ce4981..cebfcdf427 100644 --- a/package/lm-sensors/lm-sensors.mk +++ b/package/lm-sensors/lm-sensors.mk @@ -4,9 +4,8 @@ # ################################################################################ -LM_SENSORS_VERSION = 3.4.0 -LM_SENSORS_SOURCE = lm-sensors_$(LM_SENSORS_VERSION).orig.tar.bz2 -LM_SENSORS_SITE = http://snapshot.debian.org/archive/debian/20170208T211941Z/pool/main/l/lm-sensors +LM_SENSORS_VERSION = V3-5-0 +LM_SENSORS_SITE = $(call github,lm-sensors,lm-sensors,$(LM_SENSORS_VERSION)) LM_SENSORS_INSTALL_STAGING = YES LM_SENSORS_DEPENDENCIES = host-bison host-flex LM_SENSORS_LICENSE = LGPL-2.1+ (libsensors), GPL-2.0+ (programs) @@ -21,7 +20,6 @@ LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_PWMCONFIG) += sbin/pwmconfig LM_SENSORS_BINS_$(BR2_PACKAGE_LM_SENSORS_SENSORS_DETECT) += sbin/sensors-detect LM_SENSORS_MAKE_OPTS = \ - BUILD_STATIC_LIB=1 \ MACHINE=$(KERNEL_ARCH) \ PREFIX=/usr diff --git a/package/log4cplus/log4cplus.hash b/package/log4cplus/log4cplus.hash index 2f1d24a855..9bea814d6f 100644 --- a/package/log4cplus/log4cplus.hash +++ b/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/package/log4cplus/log4cplus.mk b/package/log4cplus/log4cplus.mk index 890d2ee8f5..82fc7135f4 100644 --- a/package/log4cplus/log4cplus.mk +++ b/package/log4cplus/log4cplus.mk @@ -4,11 +4,22 @@ # ################################################################################ -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) LOG4CPLUS_LICENSE_FILES = LICENSE LOG4CPLUS_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_QT5BASE),y) +LOG4CPLUS_DEPENDENCIES += host-pkgconf qt5base +LOG4CPLUS_CONF_OPTS += --with-qt5 +else +LOG4CPLUS_CONF_OPTS += --without-qt5 +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LOG4CPLUS_CONF_ENV += LIBS='-latomic' +endif + $(eval $(autotools-package)) diff --git a/package/lpeg/Config.in b/package/lpeg/Config.in index 957991d416..0a7ea47dff 100644 --- a/package/lpeg/Config.in +++ b/package/lpeg/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_LPEG bool "lpeg" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help LPeg is a new pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs). - http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html + http://www.inf.puc-rio.br/~roberto/lpeg.html diff --git a/package/lpeg/lpeg.hash b/package/lpeg/lpeg.hash index 9261674866..da38cc8756 100644 --- a/package/lpeg/lpeg.hash +++ b/package/lpeg/lpeg.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 149be31e0155c4694f77ea7264d9b398dd134eca0d00ff03358d91a6cfb2ea9d lpeg-1.0.1-1.src.rock +# computed by luarocks/buildroot +sha256 149be31e0155c4694f77ea7264d9b398dd134eca0d00ff03358d91a6cfb2ea9d lpeg-1.0.1-1.src.rock diff --git a/package/lpty/Config.in b/package/lpty/Config.in index 50cbd2548a..ee2d4c20b4 100644 --- a/package/lpty/Config.in +++ b/package/lpty/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LPTY bool "lpty" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help A simple facility for lua to control other programs via PTYs. diff --git a/package/lpty/lpty.hash b/package/lpty/lpty.hash index a451fd8580..6b21d75a5d 100644 --- a/package/lpty/lpty.hash +++ b/package/lpty/lpty.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 cf263ece9b50a78a7fb2277e3546fbbf0bf6858f41821932d92f2e3d8a065091 lpty-1.0.1-1.src.rock +# computed by luarocks/buildroot +sha256 cf263ece9b50a78a7fb2277e3546fbbf0bf6858f41821932d92f2e3d8a065091 lpty-1.0.1-1.src.rock +sha256 c5a128a73cad5f6e111ebd8f4a9fa3500562c57912972eb15627db9610d43dec lpty-1.0.1-1/doc/LICENSE diff --git a/package/lrandom/Config.in b/package/lrandom/Config.in index 64bcf0ce01..a8a0a837a5 100644 --- a/package/lrandom/Config.in +++ b/package/lrandom/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LRANDOM bool "lrandom" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help A library for generating random numbers based on the Mersenne Twister diff --git a/package/lrandom/lrandom.hash b/package/lrandom/lrandom.hash index 3f601330c6..ce59268bb4 100644 --- a/package/lrandom/lrandom.hash +++ b/package/lrandom/lrandom.hash @@ -1,3 +1,3 @@ -# Locally calculated -sha256 96fbc56beb0efca20253301915e14ba25150e2b09541ea7a3570e0def624b196 lrandom-20120430.51-1.src.rock -sha256 480a6cf11caaba99290ff30cd6e854ac9dce61e38b9d9caf5498165f7fb93454 lrandom-20120430.52-1.src.rock +# computed by luarocks/buildroot +sha256 96fbc56beb0efca20253301915e14ba25150e2b09541ea7a3570e0def624b196 lrandom-20120430.51-1.src.rock +sha256 480a6cf11caaba99290ff30cd6e854ac9dce61e38b9d9caf5498165f7fb93454 lrandom-20120430.52-1.src.rock diff --git a/package/lrandom/lrandom.mk b/package/lrandom/lrandom.mk index 09b62c94a5..2fe5fdb5ae 100644 --- a/package/lrandom/lrandom.mk +++ b/package/lrandom/lrandom.mk @@ -4,7 +4,7 @@ # ################################################################################ -ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y) +ifeq ($(BR2_PACKAGE_LUA_5_3),y) LRANDOM_VERSION = 20120430.52-1 else LRANDOM_VERSION = 20120430.51-1 diff --git a/package/lrzsz/lrzsz.mk b/package/lrzsz/lrzsz.mk index 25ecf3dead..6c68232852 100644 --- a/package/lrzsz/lrzsz.mk +++ b/package/lrzsz/lrzsz.mk @@ -9,6 +9,8 @@ LRZSZ_SITE = http://www.ohse.de/uwe/releases LRZSZ_CONF_OPTS = --disable-timesync LRZSZ_LICENSE = GPL-2.0+ LRZSZ_LICENSE_FILES = COPYING +LRZSZ_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +LRZSZ_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) define LRZSZ_POST_CONFIGURE_HOOKS $(SED) "s/-lnsl//;" $(@D)/src/Makefile diff --git a/package/lsof/lsof.hash b/package/lsof/lsof.hash index 4a1249f1af..ccb737153d 100644 --- a/package/lsof/lsof.hash +++ b/package/lsof/lsof.hash @@ -1,2 +1,7 @@ +# From http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/CHECKSUMS_4.91 +md5 148ed410cb52e08c2adc0c60f480f11f lsof_4.91.tar.bz2 # Locally calculated after checking pgp signature -sha256 81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a360a3718 lsof_4.89.tar.bz2 +# http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_4.91.tar.bz2.sig +# with (old, weak) key 40BD3D55 +sha256 c9da946a525fbf82ff80090b6d1879c38df090556f3fe0e6d782cb44172450a3 lsof_4.91.tar.bz2 +sha256 32a728188b19bf86917659d904ab29d0a294b4506e1c98b8b7f1c70ab4975fe1 dialects/linux/dproto.h diff --git a/package/lsof/lsof.mk b/package/lsof/lsof.mk index 83a9b6c388..58a2d8ef1b 100644 --- a/package/lsof/lsof.mk +++ b/package/lsof/lsof.mk @@ -4,7 +4,7 @@ # ################################################################################ -LSOF_VERSION = 4.89 +LSOF_VERSION = 4.91 LSOF_SOURCE = lsof_$(LSOF_VERSION).tar.bz2 # Use http mirror since master ftp site access is very draconian LSOF_SITE = http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof diff --git a/package/lsqlite3/Config.in b/package/lsqlite3/Config.in index 223fb59c91..932657e580 100644 --- a/package/lsqlite3/Config.in +++ b/package/lsqlite3/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_LSQLITE3 bool "lsqlite3" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER select BR2_PACKAGE_SQLITE help - a thin Lua wrapper for the SQLite3 library. + A binding for Lua to the SQLite3 database library. http://lua.sqlite.org/ diff --git a/package/lsqlite3/lsqlite3.hash b/package/lsqlite3/lsqlite3.hash index 7cf0358d11..8ed989825e 100644 --- a/package/lsqlite3/lsqlite3.hash +++ b/package/lsqlite3/lsqlite3.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 e6eb64a7ca3727c3093f3c37341d8ecadf9eac913e468eae413828476b19c225 lsqlite3-0.9.4-2.src.rock +# computed by luarocks/buildroot +sha256 fdae3c03390ab4e4b7db3a13d09b79ffe19318739b752d17914adcdb3d2ef9ff lsqlite3-0.9.5-1.src.rock diff --git a/package/lsqlite3/lsqlite3.mk b/package/lsqlite3/lsqlite3.mk index 6f6445d934..bbf6a1db1a 100644 --- a/package/lsqlite3/lsqlite3.mk +++ b/package/lsqlite3/lsqlite3.mk @@ -4,9 +4,9 @@ # ################################################################################ -LSQLITE3_VERSION = 0.9.4-2 -LSQLITE3_SUBDIR = lsqlite3_fsl09x -LSQLITE3_DEPENDENCIES = sqlite +LSQLITE3_VERSION = 0.9.5-1 +LSQLITE3_SUBDIR = lsqlite3_fsl09y LSQLITE3_LICENSE = MIT +LSQLITE3_DEPENDENCIES = sqlite $(eval $(luarocks-package)) diff --git a/package/lsscsi/lsscsi.hash b/package/lsscsi/lsscsi.hash index d39da9bc80..fe1bc5d8b4 100644 --- a/package/lsscsi/lsscsi.hash +++ b/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/package/lsscsi/lsscsi.mk b/package/lsscsi/lsscsi.mk index 649aad9a38..70c5226d9b 100644 --- a/package/lsscsi/lsscsi.mk +++ b/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/package/ltp-testsuite/0001-rpc-tirpc-disable-tirpc_auth_authdes_-create-tests.patch b/package/ltp-testsuite/0001-rpc-tirpc-disable-tirpc_auth_authdes_-create-tests.patch index 344ba4ae94..6fe2d6e72b 100644 --- a/package/ltp-testsuite/0001-rpc-tirpc-disable-tirpc_auth_authdes_-create-tests.patch +++ b/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/package/ltp-testsuite/ltp-testsuite.hash b/package/ltp-testsuite/ltp-testsuite.hash index 93ab41d3b7..ba0dcbe7e8 100644 --- a/package/ltp-testsuite/ltp-testsuite.hash +++ b/package/ltp-testsuite/ltp-testsuite.hash @@ -1,2 +1,2 @@ -# From: https://github.com/linux-test-project/ltp/releases/download/20180515/ltp-full-20180515.tar.xz.sha1 -sha1 db424d391987ff62664662210ef98cd42c7cc6b5 ltp-full-20180515.tar.xz +# From: https://github.com/linux-test-project/ltp/releases/download/20190115/ltp-full-20190115.tar.xz.sha1 +sha1 d87e2f96dc628f927e98ecba2e9dae581fc115b4 ltp-full-20190115.tar.xz diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk index b536dbd369..ebc386d0cf 100644 --- a/package/ltp-testsuite/ltp-testsuite.mk +++ b/package/ltp-testsuite/ltp-testsuite.mk @@ -4,7 +4,7 @@ # ################################################################################ -LTP_TESTSUITE_VERSION = 20180515 +LTP_TESTSUITE_VERSION = 20190115 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+ diff --git a/package/lua-basexx/lua-basexx.hash b/package/lua-basexx/lua-basexx.hash index 91c428c140..aee636c32f 100644 --- a/package/lua-basexx/lua-basexx.hash +++ b/package/lua-basexx/lua-basexx.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 ff5379b1f5b396103b8bb589ab3dd94d0a727c8e7a48dcfe1c73e2f07af6a8df basexx-0.4.0-1.src.rock +sha256 a1826a43c9e04f9e9b2e5d26d636c656812483bcd513618eec9d72cee69d446b basexx-0.4.0/LICENSE diff --git a/package/lua-basexx/lua-basexx.mk b/package/lua-basexx/lua-basexx.mk index bfdc1e27b1..5aa5ecf218 100644 --- a/package/lua-basexx/lua-basexx.mk +++ b/package/lua-basexx/lua-basexx.mk @@ -4,10 +4,8 @@ # ################################################################################ -LUA_BASEXX_VERSION_UPSTREAM =0.4.0 -LUA_BASEXX_VERSION = $(LUA_BASEXX_VERSION_UPSTREAM)-1 +LUA_BASEXX_VERSION = 0.4.0-1 LUA_BASEXX_NAME_UPSTREAM = basexx -LUA_BASEXX_SUBDIR = basexx-$(LUA_BASEXX_VERSION_UPSTREAM) LUA_BASEXX_LICENSE = MIT LUA_BASEXX_LICENSE_FILES = $(LUA_BASEXX_SUBDIR)/LICENSE diff --git a/package/lua-bit32/lua-bit32.hash b/package/lua-bit32/lua-bit32.hash index 21dbd05318..22d5b01be3 100644 --- a/package/lua-bit32/lua-bit32.hash +++ b/package/lua-bit32/lua-bit32.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 fe7bc70d1e48183d95ccfb6741e70a676283075173122cb161303d77059b27a6 bit32-5.3.0-1.src.rock +# computed by luarocks/buildroot +sha256 fe7bc70d1e48183d95ccfb6741e70a676283075173122cb161303d77059b27a6 bit32-5.3.0-1.src.rock +sha256 0443ddabab14f69d4c5e2641860343784a0ccbe5ae7a3743f20de9a13991da66 lua-compat-5.2/LICENSE diff --git a/package/lua-cjson/Config.in b/package/lua-cjson/Config.in index 262452a827..9474b3176c 100644 --- a/package/lua-cjson/Config.in +++ b/package/lua-cjson/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LUA_CJSON bool "lua-cjson" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help The Lua CJSON module provides JSON support for Lua. It features: diff --git a/package/lua-cjson/lua-cjson.hash b/package/lua-cjson/lua-cjson.hash index 852dc67814..2a23eb3d2b 100644 --- a/package/lua-cjson/lua-cjson.hash +++ b/package/lua-cjson/lua-cjson.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 db7af849c555d1a474f729fe4a56b5530e9be7b24749eb7a7c474a7c7207b972 lua-cjson-2.1.0-1.src.rock +# computed by luarocks/buildroot +sha256 455fa7d07d8ac9d61f68f538958f8e28972256f38b0a1c2740873daf809d1837 lua-cjson-2.1.0.6-1.src.rock +sha256 9576e82ef5013fbe80b3bd446a7d9ddd47328baa2186c31d3d885e2a9a8cd31e lua-cjson/LICENSE diff --git a/package/lua-cjson/lua-cjson.mk b/package/lua-cjson/lua-cjson.mk index 1823aa50de..e029dab5cb 100644 --- a/package/lua-cjson/lua-cjson.mk +++ b/package/lua-cjson/lua-cjson.mk @@ -4,7 +4,8 @@ # ################################################################################ -LUA_CJSON_VERSION = 2.1.0-1 +LUA_CJSON_VERSION = 2.1.0.6-1 +LUA_CJSON_SUBDIR = lua-cjson LUA_CJSON_LICENSE = MIT LUA_CJSON_LICENSE_FILES = $(LUA_CJSON_SUBDIR)/LICENSE diff --git a/package/lua-coat/Config.in b/package/lua-coat/Config.in index f6ba6cf684..f34f6b97e3 100644 --- a/package/lua-coat/Config.in +++ b/package/lua-coat/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LUA_COAT bool "lua-coat" help - Yet Another Lua Object-Oriented Model + Yet Another Lua Object-Oriented Model. - http://fperrad.github.io/lua-Coat/ + https://fperrad.frama.io/lua-Coat/ diff --git a/package/lua-coat/lua-coat.hash b/package/lua-coat/lua-coat.hash index 1f21355660..491ba2964c 100644 --- a/package/lua-coat/lua-coat.hash +++ b/package/lua-coat/lua-coat.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 24d0e894d743f46c09a282e4dd272d2a6004557608b618c1c9d9f464dd65af02 lua-coat-0.9.2-1.src.rock +# computed by luarocks/buildroot +sha256 24d0e894d743f46c09a282e4dd272d2a6004557608b618c1c9d9f464dd65af02 lua-coat-0.9.2-1.src.rock +sha256 81b5f657812ccfd63f19c9af1389b5fe6b26f079a4841c5d074940c47bf7cb1e lua-Coat-0.9.2/COPYRIGHT diff --git a/package/lua-coatpersistent/Config.in b/package/lua-coatpersistent/Config.in index d8b3570c13..4e8e643292 100644 --- a/package/lua-coatpersistent/Config.in +++ b/package/lua-coatpersistent/Config.in @@ -1,13 +1,12 @@ config BR2_PACKAGE_LUA_COATPERSISTENT bool "lua-coatpersistent" depends on BR2_PACKAGE_LSQLITE3 || BR2_PACKAGE_LUASQL_SQLITE3 - # run-time dependencies - select BR2_PACKAGE_DADO - select BR2_PACKAGE_LUA_COAT + select BR2_PACKAGE_DADO # runtime + select BR2_PACKAGE_LUA_COAT # runtime 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/package/lua-coatpersistent/lua-coatpersistent.hash b/package/lua-coatpersistent/lua-coatpersistent.hash index eeb13bb1c9..a15379e134 100644 --- a/package/lua-coatpersistent/lua-coatpersistent.hash +++ b/package/lua-coatpersistent/lua-coatpersistent.hash @@ -1,3 +1,4 @@ -# Locally calculated -sha256 e718ee36a17312108f266e8412f840db150afd89e8587d36e685673fff65f142 lua-coatpersistent-lsqlite3-0.2.2-1.src.rock -sha256 5d36d6a8b413a2d56a466a45314291a0265c514a179e741b3fc95f4dd901abe6 lua-coatpersistent-luasql-0.2.2-1.src.rock +# computed by luarocks/buildroot +sha256 e718ee36a17312108f266e8412f840db150afd89e8587d36e685673fff65f142 lua-coatpersistent-lsqlite3-0.2.2-1.src.rock +sha256 5d36d6a8b413a2d56a466a45314291a0265c514a179e741b3fc95f4dd901abe6 lua-coatpersistent-luasql-0.2.2-1.src.rock +sha256 f8ed30644056ceff4315e694a1c1af4af4f08ec0adabae353ab8f3f5289ffbf3 lua-CoatPersistent-0.2.2/COPYRIGHT diff --git a/package/lua-compat53/Config.in b/package/lua-compat53/Config.in index 7ab3d740f2..76c5b3fd71 100644 --- a/package/lua-compat53/Config.in +++ b/package/lua-compat53/Config.in @@ -3,6 +3,6 @@ config BR2_PACKAGE_LUA_COMPAT53 depends on !BR2_PACKAGE_LUA_5_3 help Compatibility module providing Lua-5.3-style APIs for Lua 5.2 - and 5.1 + and 5.1. https://github.com/keplerproject/lua-compat-5.3 diff --git a/package/lua-compat53/lua-compat53.hash b/package/lua-compat53/lua-compat53.hash index 7f1e1bb22f..b40596f86a 100644 --- a/package/lua-compat53/lua-compat53.hash +++ b/package/lua-compat53/lua-compat53.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 fd0117156f59d1cb3824d5cca63be84c72cb5519b714377545433be3bb31afdf compat53-0.5-1.src.rock +# computed by luarocks/buildroot +sha256 cb5fdca362780a30405c4134310ea78627a092b0ee8445a52456f2fceeeaea4e compat53-0.7-1.src.rock +sha256 1b24f475812c979684fb3469f6faccbdc7c33c9d39421728aa0d78deda5a89a5 lua-compat-5.3-0.7/LICENSE diff --git a/package/lua-compat53/lua-compat53.mk b/package/lua-compat53/lua-compat53.mk index 969f816393..13e24391b0 100644 --- a/package/lua-compat53/lua-compat53.mk +++ b/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/package/lua-cqueues/lua-cqueues.mk b/package/lua-cqueues/lua-cqueues.mk index 4f4be1e049..4f31c3277f 100644 --- a/package/lua-cqueues/lua-cqueues.mk +++ b/package/lua-cqueues/lua-cqueues.mk @@ -8,7 +8,7 @@ LUA_CQUEUES_VERSION = rel-20161215 LUA_CQUEUES_SITE = $(call github,wahern,cqueues,$(LUA_CQUEUES_VERSION)) LUA_CQUEUES_LICENSE = MIT LUA_CQUEUES_LICENSE_FILES = LICENSE -LUA_CQUEUES_DEPENDENCIES = luainterpreter openssl +LUA_CQUEUES_DEPENDENCIES = luainterpreter openssl host-m4 define LUA_CQUEUES_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ diff --git a/package/lua-csnappy/Config.in b/package/lua-csnappy/Config.in index 54d68a2e1f..fb00a1300a 100644 --- a/package/lua-csnappy/Config.in +++ b/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/package/lua-csnappy/lua-csnappy.hash b/package/lua-csnappy/lua-csnappy.hash index f887426448..43790f2bda 100644 --- a/package/lua-csnappy/lua-csnappy.hash +++ b/package/lua-csnappy/lua-csnappy.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 4fc373ba714cb8b428e9971f1725d82de6a43dfea361a0b7894e4762238dc95c lua-csnappy-0.1.5-1.src.rock +# computed by luarocks/buildroot +sha256 4fc373ba714cb8b428e9971f1725d82de6a43dfea361a0b7894e4762238dc95c lua-csnappy-0.1.5-1.src.rock +sha256 8865da757dbc6fe3c8cee4d88bdfd82c1e0e789974a4d0d52db75a985025c1f0 lua-csnappy-0.1.5/COPYRIGHT diff --git a/package/lua-curl/0001-add-variant-definition-of-lcurl_url_t.patch b/package/lua-curl/0001-add-variant-definition-of-lcurl_url_t.patch new file mode 100644 index 0000000000..0fdd0760d6 --- /dev/null +++ b/package/lua-curl/0001-add-variant-definition-of-lcurl_url_t.patch @@ -0,0 +1,40 @@ +From 28ac0c5e642c9f7e3091a60268745f7cab4cc92b Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sat, 23 Feb 2019 15:23:26 +0100 +Subject: [PATCH] add variant definition of lcurl_url_t + +like in lceasy.h + +Signed-off-by: Francois Perrad +--- + src/lcurlapi.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/Lua-cURLv3-0.3.9/src/lcurlapi.h b/Lua-cURLv3-0.3.9/src/lcurlapi.h +index 4dd4672..862c94f 100644 +--- a/Lua-cURLv3-0.3.9/src/lcurlapi.h ++++ b/Lua-cURLv3-0.3.9/src/lcurlapi.h +@@ -19,11 +19,20 @@ + + #if LCURL_CURL_VER_GE(7,62,0) + ++#if LCURL_CC_SUPPORT_FORWARD_TYPEDEF + typedef struct lcurl_url_tag { + CURLU *url; + + int err_mode; + }lcurl_url_t; ++#else ++struct lcurl_url_tag { ++ CURLU *url; ++ ++ int err_mode; ++}; ++#define lcurl_url_t struct lcurl_url_tag ++#endif + + int lcurl_url_create(lua_State *L, int error_mode); + +-- +2.17.1 + diff --git a/package/lua-curl/lua-curl.hash b/package/lua-curl/lua-curl.hash index e73810ceda..49cd6653a5 100644 --- a/package/lua-curl/lua-curl.hash +++ b/package/lua-curl/lua-curl.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 4cc6389bf5d4a868cc1e6017733b9b6306f2fc8b5083aa928d66399195697f34 lua-curl-0.3.7-1.src.rock +# computed by luarocks/buildroot +sha256 ec761e800cec630ff0e78f100e1a61246c35823073014de65f1af0a85bfe1dc0 lua-curl-0.3.9-1.src.rock +sha256 264807cb89f960808fed1ef9922aed9d9f8437764e836d8e594e66db7be9c54c Lua-cURLv3-0.3.9/LICENSE diff --git a/package/lua-curl/lua-curl.mk b/package/lua-curl/lua-curl.mk index 9e4f262cfb..9fa9408a4e 100644 --- a/package/lua-curl/lua-curl.mk +++ b/package/lua-curl/lua-curl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_CURL_VERSION_UPSTREAM = 0.3.7 +LUA_CURL_VERSION_UPSTREAM = 0.3.9 LUA_CURL_VERSION = $(LUA_CURL_VERSION_UPSTREAM)-1 LUA_CURL_SUBDIR = Lua-cURLv3-$(LUA_CURL_VERSION_UPSTREAM) LUA_CURL_LICENSE = MIT diff --git a/package/lua-datafile/lua-datafile.hash b/package/lua-datafile/lua-datafile.hash index 83c346eae1..c43b2b147c 100644 --- a/package/lua-datafile/lua-datafile.hash +++ b/package/lua-datafile/lua-datafile.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 37a33079c3476477f19de14bebd664635a39a57dd05a2709c3a402cbc1e79a6b datafile-0.4-1.src.rock +# computed by luarocks/buildroot +sha256 4f7d58c50267b5ebd2145e52aaa5fb63fbf63a74ae765f08e2d0dddd570b6b6a datafile-0.6-1.src.rock +sha256 0443ddabab14f69d4c5e2641860343784a0ccbe5ae7a3743f20de9a13991da66 datafile/LICENSE diff --git a/package/lua-datafile/lua-datafile.mk b/package/lua-datafile/lua-datafile.mk index 75aef5290d..5d30fdcf97 100644 --- a/package/lua-datafile/lua-datafile.mk +++ b/package/lua-datafile/lua-datafile.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_DATAFILE_VERSION = 0.4-1 +LUA_DATAFILE_VERSION = 0.6-1 LUA_DATAFILE_NAME_UPSTREAM = datafile LUA_DATAFILE_SUBDIR = datafile LUA_DATAFILE_LICENSE = MIT diff --git a/package/lua-ev/Config.in b/package/lua-ev/Config.in index 52f82e1128..1e89c270a0 100644 --- a/package/lua-ev/Config.in +++ b/package/lua-ev/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LUA_EV bool "lua-ev" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER select BR2_PACKAGE_LIBEV help Get access to the libev library from Lua. diff --git a/package/lua-fifo/lua-fifo.hash b/package/lua-fifo/lua-fifo.hash index bab372804e..7d885f413d 100644 --- a/package/lua-fifo/lua-fifo.hash +++ b/package/lua-fifo/lua-fifo.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 53dea24ad658614a0254dcb10296a1a0fc5357315ada5724d6362f54c32b4c20 fifo-0.2-0.src.rock +sha256 8b4423dd4f55a69da1454b7a48346a54fd5b6e0408b38fde25cd29c0922962b6 fifo.lua-0.2/LICENSE diff --git a/package/lua-fifo/lua-fifo.mk b/package/lua-fifo/lua-fifo.mk index 875b89577a..8b15fc1fc1 100644 --- a/package/lua-fifo/lua-fifo.mk +++ b/package/lua-fifo/lua-fifo.mk @@ -4,8 +4,8 @@ # ################################################################################ -LUA_FIFO_VERSION_UPSTREAM =0.2 -LUA_FIFO_VERSION =$(LUA_FIFO_VERSION_UPSTREAM)-0 +LUA_FIFO_VERSION_UPSTREAM = 0.2 +LUA_FIFO_VERSION = $(LUA_FIFO_VERSION_UPSTREAM)-0 LUA_FIFO_NAME_UPSTREAM = fifo LUA_FIFO_SUBDIR = fifo.lua-$(LUA_FIFO_VERSION_UPSTREAM) LUA_FIFO_LICENSE = MIT diff --git a/package/lua-flu/lua-flu.hash b/package/lua-flu/lua-flu.hash index 92a0a13ffd..2195b42468 100644 --- a/package/lua-flu/lua-flu.hash +++ b/package/lua-flu/lua-flu.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 1389c22daec77161ec93ff90c39ee70e0f8a656ff92f22f9cf5d7121999d5c53 flu-20150331-1.src.rock +# computed by luarocks/buildroot +sha256 1389c22daec77161ec93ff90c39ee70e0f8a656ff92f22f9cf5d7121999d5c53 flu-20150331-1.src.rock +sha256 409f7c274eb26874a382241d675a360ba6b2659742c5941e680d71a41dd35913 doub-flu-a7daae986339/doc/LICENSE.txt diff --git a/package/lua-flu/lua-flu.mk b/package/lua-flu/lua-flu.mk index 7cfea8e6d0..c01a4848c7 100644 --- a/package/lua-flu/lua-flu.mk +++ b/package/lua-flu/lua-flu.mk @@ -5,7 +5,7 @@ ################################################################################ LUA_FLU_VERSION = 20150331-1 -LUA_FLU_NAME_UPSTREAM = flu +LUA_FLU_NAME_UPSTREAM = Flu LUA_FLU_SUBDIR = doub-flu-a7daae986339 LUA_FLU_LICENSE = MIT LUA_FLU_LICENSE_FILES = $(LUA_FLU_SUBDIR)/doc/LICENSE.txt diff --git a/package/lua-http/Config.in b/package/lua-http/Config.in index 247cc40317..8aaec69efb 100644 --- a/package/lua-http/Config.in +++ b/package/lua-http/Config.in @@ -1,16 +1,16 @@ config BR2_PACKAGE_LUA_HTTP bool "lua-http" depends on BR2_TOOLCHAIN_HAS_THREADS # luaossl & lua-cqueues - # These are runtime dependencies - select BR2_PACKAGE_LUA_BASEXX - select BR2_PACKAGE_LUA_COMPAT53 if !BR2_PACKAGE_LUA_5_3 - select BR2_PACKAGE_LUA_CQUEUES - select BR2_PACKAGE_LUA_FIFO - select BR2_PACKAGE_LUA_LPEG_PATTERNS - select BR2_PACKAGE_LUABITOP if BR2_PACKAGE_LUA_5_1 - select BR2_PACKAGE_LUAOSSL + select BR2_PACKAGE_LPEG # runtime + select BR2_PACKAGE_LUA_BASEXX # runtime + select BR2_PACKAGE_LUA_COMPAT53 if !BR2_PACKAGE_LUA_5_3 # runtime + select BR2_PACKAGE_LUA_CQUEUES # runtime + select BR2_PACKAGE_LUA_FIFO # runtime + select BR2_PACKAGE_LUA_LPEG_PATTERNS # runtime + select BR2_PACKAGE_LUABITOP if BR2_PACKAGE_LUA_5_1 # runtime + select BR2_PACKAGE_LUAOSSL # runtime help - HTTP library for Lua + HTTP library for Lua. https://daurnimator.github.io/lua-http/ diff --git a/package/lua-http/lua-http.hash b/package/lua-http/lua-http.hash index 2346ab97a4..3c7bcebd30 100644 --- a/package/lua-http/lua-http.hash +++ b/package/lua-http/lua-http.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 d68591eeeeb60c4187469eae89f5bad02d753a8c0adaa460d453b0734222645a http-0.2-0.src.rock +sha256 10650e71ba335c76955bbbec2b1f5b9d5655f2e0fdc6c7cecae5bd28a376302c lua-http-0.2/LICENSE.md diff --git a/package/lua-iconv/lua-iconv.hash b/package/lua-iconv/lua-iconv.hash index 46291026cf..8015599e42 100644 --- a/package/lua-iconv/lua-iconv.hash +++ b/package/lua-iconv/lua-iconv.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 fb66e785e15376c2d2817f1f1b27d10272b877eacc998c727a10f081a7d768fa lua-iconv-7-1.src.rock +# computed by luarocks/buildroot +sha256 fb66e785e15376c2d2817f1f1b27d10272b877eacc998c727a10f081a7d768fa lua-iconv-7-1.src.rock +sha256 30227b9571827f3dfcdeb3830594fc415459d64ad7271e9954178d3ef58a9bd4 lua-iconv-7/COPYING diff --git a/package/lua-iconv/lua-iconv.mk b/package/lua-iconv/lua-iconv.mk index dd7533af59..ea8e0dd8b6 100644 --- a/package/lua-iconv/lua-iconv.mk +++ b/package/lua-iconv/lua-iconv.mk @@ -5,8 +5,8 @@ ################################################################################ LUA_ICONV_VERSION = 7-1 -LUA_ICONV_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) LUA_ICONV_LICENSE = MIT LUA_ICONV_LICENSE_FILES = $(LUA_ICONV_SUBDIR)/COPYING +LUA_ICONV_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(eval $(luarocks-package)) diff --git a/package/lua-lpeg-patterns/Config.in b/package/lua-lpeg-patterns/Config.in index 9c701d3de7..08c063a0cd 100644 --- a/package/lua-lpeg-patterns/Config.in +++ b/package/lua-lpeg-patterns/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_LUA_LPEG_PATTERNS bool "lua-lpeg-patterns" - # These are runtime dependencies - select BR2_PACKAGE_LPEG + select BR2_PACKAGE_LPEG # runtime help a collection of LPEG patterns. diff --git a/package/lua-lpeg-patterns/lua-lpeg-patterns.hash b/package/lua-lpeg-patterns/lua-lpeg-patterns.hash index f779466df1..3fad73ca01 100644 --- a/package/lua-lpeg-patterns/lua-lpeg-patterns.hash +++ b/package/lua-lpeg-patterns/lua-lpeg-patterns.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 82c8eddee52069e5ae821b68cb9e295ab5767a47d07545a4ca36ac1e81066086 lpeg_patterns-0.4-0.src.rock +# computed by luarocks/buildroot +sha256 0e6d33543689e83911e2cb47965752e00412cbdfca888812ccbde9ec95259c56 lpeg_patterns-0.5-0.src.rock +sha256 5b0346f2b2432e5f05e8e4ad31503cf84ddf802dacde9e8c3e529efaa4be3348 lpeg_patterns-0.5/LICENSE.md diff --git a/package/lua-lpeg-patterns/lua-lpeg-patterns.mk b/package/lua-lpeg-patterns/lua-lpeg-patterns.mk index 8f40c9954a..290af8c17e 100644 --- a/package/lua-lpeg-patterns/lua-lpeg-patterns.mk +++ b/package/lua-lpeg-patterns/lua-lpeg-patterns.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_LPEG_PATTERNS_VERSION = 0.4-0 +LUA_LPEG_PATTERNS_VERSION = 0.5-0 LUA_LPEG_PATTERNS_NAME_UPSTREAM = lpeg_patterns LUA_LPEG_PATTERNS_ROCKSPEC = $(LUA_LPEG_PATTERNS_NAME_UPSTREAM)-$(LUA_LPEG_PATTERNS_VERSION).rockspec LUA_LPEG_PATTERNS_SOURCE = $(LUA_LPEG_PATTERNS_NAME_UPSTREAM)-$(LUA_LPEG_PATTERNS_VERSION).src.rock diff --git a/package/lua-markdown/lua-markdown.hash b/package/lua-markdown/lua-markdown.hash index 9bfbf6007f..682b4f84c1 100644 --- a/package/lua-markdown/lua-markdown.hash +++ b/package/lua-markdown/lua-markdown.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 bed84231bb48322f8e614b4392181c52c36bc71340f9273e0c3bd72dc922bc07 markdown-0.33-1.src.rock +sha256 c13c5634db49d16c87f164ce0b79fb7e1b313c8b66818ebf1c970747a429b39b markdown/LICENSE diff --git a/package/lua-markdown/lua-markdown.mk b/package/lua-markdown/lua-markdown.mk index a98f3125ac..d35f8be83f 100644 --- a/package/lua-markdown/lua-markdown.mk +++ b/package/lua-markdown/lua-markdown.mk @@ -5,7 +5,7 @@ ################################################################################ LUA_MARKDOWN_VERSION = 0.33-1 -LUA_MARKDOWN_NAME_UPSTREAM = markdown +LUA_MARKDOWN_NAME_UPSTREAM = Markdown LUA_MARKDOWN_SUBDIR = markdown LUA_MARKDOWN_LICENSE = MIT LUA_MARKDOWN_LICENSE_FILES = $(LUA_MARKDOWN_SUBDIR)/LICENSE diff --git a/package/lua-messagepack/Config.in b/package/lua-messagepack/Config.in index 2dab316a8d..7ec098f9a9 100644 --- a/package/lua-messagepack/Config.in +++ b/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/package/lua-messagepack/lua-messagepack.hash b/package/lua-messagepack/lua-messagepack.hash index 86ea5d0881..aa1a1b5414 100644 --- a/package/lua-messagepack/lua-messagepack.hash +++ b/package/lua-messagepack/lua-messagepack.hash @@ -1,3 +1,4 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 a27d985b8bdb79ebe78dfe255c795e839a04eb2fed1c610a81c7876e3f72fd97 lua-messagepack-0.5.1-1.src.rock sha256 b7f69ada6aed7e0cdfd690291607d8f41246e67f191107ecdc0a1e592c449abe lua-messagepack-lua53-0.5.1-1.src.rock +sha256 e409ff1f089c1cd36840349fd790a6ffce5a31f16d30c108ce94aaa3b128dcea lua-MessagePack-0.5.1/COPYRIGHT diff --git a/package/lua-msgpack-native/Config.in b/package/lua-msgpack-native/Config.in index 3837228fa0..8af508dd95 100644 --- a/package/lua-msgpack-native/Config.in +++ b/package/lua-msgpack-native/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LUA_MSGPACK_NATIVE bool "lua-msgpack-native" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER depends on BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT help This is a native, C language implementation of msgpack @@ -8,6 +7,6 @@ config BR2_PACKAGE_LUA_MSGPACK_NATIVE https://github.com/kengonakajima/lua-msgpack-native -comment "lua-msgpack-native needs a Lua 5.1 interpreter" +comment "lua-msgpack-native needs Lua 5.1 or LuaJIT" depends on !BR2_PACKAGE_LUA_5_1 depends on !BR2_PACKAGE_LUAJIT diff --git a/package/lua-periphery/0001-Add-missing-header-for-musl-compatibility.patch b/package/lua-periphery/0001-Add-missing-header-for-musl-compatibility.patch deleted file mode 100644 index 22c748ccb3..0000000000 --- a/package/lua-periphery/0001-Add-missing-header-for-musl-compatibility.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 1d8cb0ad54099c3d7261aaa19a2c0786f16736d0 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 8 Aug 2015 22:42:39 +0200 -Subject: [PATCH] Add missing header for musl compatibility - - is needed to get the definition of _IOC_SIZEBITS and -solve the following build failure: - -src/spi.c: In function 'spi_transfer': -src/spi.c:100:24: error: '_IOC_SIZEBITS' undeclared (first use in this function) - if (ioctl(spi->fd, SPI_IOC_MESSAGE(1), &spi_xfer) < 1) - -Signed-off-by: Thomas Petazzoni -[Port from c-periphery] -Signed-off-by: Jörg Krause ---- - src/spi.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lua-periphery/c-periphery/src/spi.c b/lua-periphery/c-periphery/src/spi.c -index 52a8d3d..1a6b17c 100644 ---- a/lua-periphery/c-periphery/src/spi.c -+++ b/lua-periphery/c-periphery/src/spi.c -@@ -16,6 +16,7 @@ - #include - - #include -+#include - #include - - #include "spi.h" --- -2.5.0 - diff --git a/package/lua-periphery/0002-Fix-build-on-SPARC.patch b/package/lua-periphery/0002-Fix-build-on-SPARC.patch deleted file mode 100644 index ce461ddca2..0000000000 --- a/package/lua-periphery/0002-Fix-build-on-SPARC.patch +++ /dev/null @@ -1,60 +0,0 @@ -[PATCH] Fix build on SPARC - -On SPARC, the definitions of B2500000, B3000000, B3500000 and B4000000 -are not necessarily available, so use those values only if defined in -the kernel headers. - -It fixes SPARC build failures such as: - -src/serial.c: In function '_serial_baudrate_to_bits': -src/serial.c:73:30: error: 'B2500000' undeclared (first use in this function) - case 2500000: return B2500000; - ^ -src/serial.c:73:30: note: each undeclared identifier is reported only once for each function it appears in -src/serial.c:74:30: error: 'B3000000' undeclared (first use in this function) - case 3000000: return B3000000; - ^ -Signed-off-by: Thomas Petazzoni - -Index: b/lua-periphery/c-periphery/src/serial.c -=================================================================== ---- a/lua-periphery/c-periphery/src/serial.c -+++ b/lua-periphery/c-periphery/src/serial.c -@@ -70,10 +70,18 @@ - case 1152000: return B1152000; - case 1500000: return B1500000; - case 2000000: return B2000000; -+#ifdef B2500000 - case 2500000: return B2500000; -+#endif -+#ifdef B3000000 - case 3000000: return B3000000; -+#endif -+#ifdef B3500000 - case 3500000: return B3500000; -+#endif -+#ifdef B4000000 - case 4000000: return B4000000; -+#endif - default: return -1; - } - } -@@ -107,10 +115,18 @@ - case B1152000: return 1152000; - case B1500000: return 1500000; - case B2000000: return 2000000; -+#ifdef B2500000 - case B2500000: return 2500000; -+#endif -+#ifdef B3000000 - case B3000000: return 3000000; -+#endif -+#ifdef B3500000 - case B3500000: return 3500000; -+#endif -+#ifdef B4000000 - case B4000000: return 4000000; -+#endif - default: return -1; - } - } diff --git a/package/lua-periphery/Config.in b/package/lua-periphery/Config.in index de5a71633c..e40abd712f 100644 --- a/package/lua-periphery/Config.in +++ b/package/lua-periphery/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LUA_PERIPHERY bool "lua-periphery" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help A library for GPIO, SPI, I2C, MMIO, and Serial peripheral I/O interface access in userspace Linux with Lua. diff --git a/package/lua-periphery/lua-periphery.hash b/package/lua-periphery/lua-periphery.hash index 7f6e63f3bb..b87cfbbc6e 100644 --- a/package/lua-periphery/lua-periphery.hash +++ b/package/lua-periphery/lua-periphery.hash @@ -1,2 +1,3 @@ -# Locally computed -sha256 53762ed9b8a2edfcc5b4c535ef73e6a425f2577e036bb15994ca16a39b16ebab lua-periphery-1.0.6-1.src.rock +# computed by luarocks/buildroot +sha256 ff8a4d08f02356586fadfe47f01859ba28539cc42013836f79a032bf4ccc78b3 lua-periphery-1.1.1-1.src.rock +sha256 7c60847b46f718e9651d1eca2f56bf6be09608cf08d130446a521eb8288c98e1 lua-periphery/LICENSE diff --git a/package/lua-periphery/lua-periphery.mk b/package/lua-periphery/lua-periphery.mk index 2c04eede86..af5abe70df 100644 --- a/package/lua-periphery/lua-periphery.mk +++ b/package/lua-periphery/lua-periphery.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_PERIPHERY_VERSION = 1.0.6-1 +LUA_PERIPHERY_VERSION = 1.1.1-1 LUA_PERIPHERY_SUBDIR = lua-periphery LUA_PERIPHERY_LICENSE = MIT LUA_PERIPHERY_LICENSE_FILES = $(LUA_PERIPHERY_SUBDIR)/LICENSE diff --git a/package/lua-resty-http/lua-resty-http.hash b/package/lua-resty-http/lua-resty-http.hash index e45df0e91e..486a110a74 100644 --- a/package/lua-resty-http/lua-resty-http.hash +++ b/package/lua-resty-http/lua-resty-http.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 4628413a5a2828645e3ddb38a2a0c764e81443cbd1a011357eeed7e983750329 lua-resty-http-0.12-0.src.rock +sha256 407e4b1412d8afa317dc703a1d318866c3de87d78899402125cbd90548c6057d lua-resty-http/LICENSE diff --git a/package/lua-sailor/Config.in b/package/lua-sailor/Config.in index 2600d4600e..c973c87670 100644 --- a/package/lua-sailor/Config.in +++ b/package/lua-sailor/Config.in @@ -1,13 +1,12 @@ config BR2_PACKAGE_LUA_SAILOR bool "lua-sailor" - # These are runtime dependencies - select BR2_PACKAGE_CGILUA - select BR2_PACKAGE_LBASE64 - select BR2_PACKAGE_LUAFILESYSTEM - select BR2_PACKAGE_LUA_DATAFILE - select BR2_PACKAGE_LUA_VALUA - select BR2_PACKAGE_XAVANTE - select BR2_PACKAGE_WSAPI_XAVANTE + select BR2_PACKAGE_CGILUA # runtime + select BR2_PACKAGE_LBASE64 # runtime + select BR2_PACKAGE_LUA_DATAFILE # runtime + select BR2_PACKAGE_LUA_VALUA # runtime + select BR2_PACKAGE_LUAFILESYSTEM # runtime + select BR2_PACKAGE_WSAPI_XAVANTE # runtime + select BR2_PACKAGE_XAVANTE # runtime help Sailor is a web framework written in Lua that follows the MVC design pattern. diff --git a/package/lua-sailor/lua-sailor.hash b/package/lua-sailor/lua-sailor.hash index f4c42cccc5..aec00afe57 100644 --- a/package/lua-sailor/lua-sailor.hash +++ b/package/lua-sailor/lua-sailor.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 4f7f43a7cf6c62712a521ebaf5f53aaf230039c7fb06480ae168c3aa036120bf sailor-0.5-4.src.rock +sha256 3a19bc44e1a653b39bcb1b91cc8058ac6b1cd1caf7e6cef93517fd559b189065 sailor/LICENSE diff --git a/package/lua-sailor/lua-sailor.mk b/package/lua-sailor/lua-sailor.mk index 17fbd7c618..f88e03591d 100644 --- a/package/lua-sailor/lua-sailor.mk +++ b/package/lua-sailor/lua-sailor.mk @@ -5,7 +5,7 @@ ################################################################################ LUA_SAILOR_VERSION = 0.5-4 -LUA_SAILOR_NAME_UPSTREAM = sailor +LUA_SAILOR_NAME_UPSTREAM = Sailor LUA_SAILOR_SUBDIR = sailor LUA_SAILOR_LICENSE = MIT LUA_SAILOR_LICENSE_FILES = $(LUA_SAILOR_SUBDIR)/LICENSE diff --git a/package/lua-std-debug/Config.in b/package/lua-std-debug/Config.in new file mode 100644 index 0000000000..948f2427d3 --- /dev/null +++ b/package/lua-std-debug/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LUA_STD_DEBUG + bool "lua-std-debug" + help + Manage an overall debug state, and associated hint + substates. + + http://lua-stdlib.github.io/_debug diff --git a/package/lua-std-debug/lua-std-debug.hash b/package/lua-std-debug/lua-std-debug.hash new file mode 100644 index 0000000000..3e94b40a9c --- /dev/null +++ b/package/lua-std-debug/lua-std-debug.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 7f6b84283d4b78dafee17e7765dd5f1f8e75c3314169977f4dda0e7873616ce2 std._debug-1.0.1-1.src.rock +sha256 034abdbbe9a13899c813509776d1e04af81bc58c2982b704c8b3663549504a31 _debug-1.0.1/LICENSE.md diff --git a/package/lua-std-debug/lua-std-debug.mk b/package/lua-std-debug/lua-std-debug.mk new file mode 100644 index 0000000000..e044d6cb4b --- /dev/null +++ b/package/lua-std-debug/lua-std-debug.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# lua-std-debug +# +################################################################################ + +LUA_STD_DEBUG_VERSION_UPSTREAM = 1.0.1 +LUA_STD_DEBUG_VERSION = $(LUA_STD_DEBUG_VERSION_UPSTREAM)-1 +LUA_STD_DEBUG_NAME_UPSTREAM = std._debug +LUA_STD_DEBUG_SUBDIR = _debug-$(LUA_STD_DEBUG_VERSION_UPSTREAM) +LUA_STD_DEBUG_ROCKSPEC = $(LUA_STD_DEBUG_NAME_UPSTREAM)-$(LUA_STD_DEBUG_VERSION).rockspec +LUA_STD_DEBUG_SOURCE = $(LUA_STD_DEBUG_NAME_UPSTREAM)-$(LUA_STD_DEBUG_VERSION).src.rock +LUA_STD_DEBUG_LICENSE = MIT +LUA_STD_DEBUG_LICENSE_FILES = $(LUA_STD_DEBUG_SUBDIR)/LICENSE.md + +$(eval $(luarocks-package)) diff --git a/package/lua-std-normalize/Config.in b/package/lua-std-normalize/Config.in new file mode 100644 index 0000000000..35d0a113a9 --- /dev/null +++ b/package/lua-std-normalize/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LUA_STD_NORMALIZE + bool "lua-std-normalize" + select BR2_PACKAGE_LUA_STD_DEBUG # runtime + help + This module can inject deterministic versions of core Lua + functions that do not behave identically across all + supported Lua implementations into your module's lexical + environment. Each function is as thin and fast a version as + is possible in each Lua implementation, evaluating to the + Lua C implementation with no overhead when semantics allow. + + https://lua-stdlib.github.io/normalize diff --git a/package/lua-std-normalize/lua-std-normalize.hash b/package/lua-std-normalize/lua-std-normalize.hash new file mode 100644 index 0000000000..7c11f4914c --- /dev/null +++ b/package/lua-std-normalize/lua-std-normalize.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 50baac6fbcbc6bbe72b63ce0871ec36176d75c04dccc6e368590ba6ef107c67a std.normalize-2.0.2-1.src.rock +sha256 a6a0a0ddc04f7437806a52cbd637c819144df7626a2e8a496cd3a2e20c8effb3 normalize-2.0.2/LICENSE.md diff --git a/package/lua-std-normalize/lua-std-normalize.mk b/package/lua-std-normalize/lua-std-normalize.mk new file mode 100644 index 0000000000..d3a58aa0d4 --- /dev/null +++ b/package/lua-std-normalize/lua-std-normalize.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# lua-std-normalize +# +################################################################################ + +LUA_STD_NORMALIZE_VERSION_UPSTREAM = 2.0.2 +LUA_STD_NORMALIZE_VERSION = $(LUA_STD_NORMALIZE_VERSION_UPSTREAM)-1 +LUA_STD_NORMALIZE_NAME_UPSTREAM = std.normalize +LUA_STD_NORMALIZE_SUBDIR = normalize-$(LUA_STD_NORMALIZE_VERSION_UPSTREAM) +LUA_STD_NORMALIZE_LICENSE = MIT +LUA_STD_NORMALIZE_LICENSE_FILES = $(LUA_STD_NORMALIZE_SUBDIR)/LICENSE.md + +$(eval $(luarocks-package)) diff --git a/package/lua-stdlib/lua-stdlib.hash b/package/lua-stdlib/lua-stdlib.hash index 4882bf1e7c..68f4d24124 100644 --- a/package/lua-stdlib/lua-stdlib.hash +++ b/package/lua-stdlib/lua-stdlib.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 b7302ecc8ea3992d3bad96c0c4d56272e38d786d16cc1ad5964fefa73fd7c10b stdlib-41.2.1-1.src.rock +# computed by luarocks/buildroot +sha256 67eadaccbb2b6037ea70129f9616da49eaeeaf1477652a8e2cc77740286531cf stdlib-41.2.2-1.src.rock +sha256 d3177e0cd97e6ef7c459aa2c6a85f53d9b4ff091f7f296d4ed8bfaf713b6fea2 lua-stdlib-release-v41.2.2/COPYING diff --git a/package/lua-stdlib/lua-stdlib.mk b/package/lua-stdlib/lua-stdlib.mk index a7930be5df..bf90116e4a 100644 --- a/package/lua-stdlib/lua-stdlib.mk +++ b/package/lua-stdlib/lua-stdlib.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUA_STDLIB_VERSION_UPSTREAM = 41.2.1 +LUA_STDLIB_VERSION_UPSTREAM = 41.2.2 LUA_STDLIB_VERSION = $(LUA_STDLIB_VERSION_UPSTREAM)-1 LUA_STDLIB_NAME_UPSTREAM = stdlib LUA_STDLIB_SUBDIR = lua-stdlib-release-v$(LUA_STDLIB_VERSION_UPSTREAM) diff --git a/package/lua-testmore/Config.in b/package/lua-testmore/Config.in index 61dea3a6ee..3cbed38407 100644 --- a/package/lua-testmore/Config.in +++ b/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/package/lua-testmore/lua-testmore.hash b/package/lua-testmore/lua-testmore.hash index 8db664f2d6..673e1cf607 100644 --- a/package/lua-testmore/lua-testmore.hash +++ b/package/lua-testmore/lua-testmore.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 163055ef92df9e01d9ae57cd45d6f6aace1ff4dd3abf7e29b9e30ecb1ab76ae2 lua-testmore-0.3.3-1.src.rock +# computed by luarocks/buildroot +sha256 163055ef92df9e01d9ae57cd45d6f6aace1ff4dd3abf7e29b9e30ecb1ab76ae2 lua-testmore-0.3.3-1.src.rock +sha256 0fa63370a149eda33e25987dd63bd096a616a3e47d2cfc45ca2fd66e8d2bfb35 lua-TestMore-0.3.3/COPYRIGHT diff --git a/package/lua-utf8/lua-utf8.hash b/package/lua-utf8/lua-utf8.hash index 51fa2439f1..e119f94352 100644 --- a/package/lua-utf8/lua-utf8.hash +++ b/package/lua-utf8/lua-utf8.hash @@ -1,2 +1,2 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 c9ceb3a9f327b3215cdf959eebf616970b5b0427ca3fde05b19f8236defa4b91 utf8-1.2-0.src.rock diff --git a/package/lua-valua/lua-valua.hash b/package/lua-valua/lua-valua.hash index 92ea613115..71d43e4faf 100644 --- a/package/lua-valua/lua-valua.hash +++ b/package/lua-valua/lua-valua.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 bff39692fd2ac3590fd814aa1b1ca33e5d5971092955309aa8424b02b88ce1a3 valua-0.3-1.src.rock +sha256 3444c2e739c88e41e327c6cd15e4a50fea8988570642bad6e6a43d50a7f7961f valua/LICENSE diff --git a/package/lua/5.2.4/0001-root-path.patch b/package/lua/5.2.4/0001-root-path.patch deleted file mode 100644 index c6f242c20e..0000000000 --- a/package/lua/5.2.4/0001-root-path.patch +++ /dev/null @@ -1,17 +0,0 @@ -Adjust installation location to /usr. - -Signed-off-by: Francois Perrad - -Index: b/src/luaconf.h -=================================================================== ---- a/src/luaconf.h -+++ b/src/luaconf.h -@@ -100,7 +100,7 @@ - #else /* }{ */ - - #define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/" --#define LUA_ROOT "/usr/local/" -+#define LUA_ROOT "/usr/" - #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR - #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR - #define LUA_PATH_DEFAULT \ diff --git a/package/lua/5.2.4/0002-shared-libs-for-lua.patch b/package/lua/5.2.4/0002-shared-libs-for-lua.patch deleted file mode 100644 index 3cf3b24848..0000000000 --- a/package/lua/5.2.4/0002-shared-libs-for-lua.patch +++ /dev/null @@ -1,78 +0,0 @@ -Add the compilation of a shared library. -Compile the lua binary with the shared library. -And install the shared library. -The variable BUILDMODE allows to switch between static and dynamic mode. - -Signed-off-by: Francois Perrad - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -42,6 +42,7 @@ - TO_BIN= lua luac - TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp - TO_LIB= liblua.a -+TO_SOLIB = liblua.so.$(R) - TO_MAN= lua.1 luac.1 - - # Lua version and release. -@@ -60,6 +61,8 @@ - install: dummy - cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) - cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) -+ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || : -+ test -f src/$(TO_SOLIB) && ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so || : - cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) - cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) - cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) -Index: b/src/Makefile -=================================================================== ---- a/src/Makefile -+++ b/src/Makefile -@@ -29,6 +29,7 @@ - PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris - - LUA_A= liblua.a -+LUA_SO= liblua.so - CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ - lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ - ltm.o lundump.o lvm.o lzio.o -@@ -43,8 +44,13 @@ - LUAC_O= luac.o - - ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) -+ifneq (dynamic,$(BUILDMODE)) - ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) -+else -+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T) -+endif - ALL_A= $(LUA_A) -+ALL_SO= $(LUA_SO) - - # Targets start here. - default: $(PLAT) -@@ -55,12 +61,23 @@ - - a: $(ALL_A) - -+so: $(ALL_SO) -+ - $(LUA_A): $(BASE_O) - $(AR) $@ $(BASE_O) - $(RANLIB) $@ - -+$(LUA_SO): $(CORE_O) $(LIB_O) -+ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $? -+ ln -fs $@.$(PKG_VERSION) $@ -+ -+ifneq (dynamic,$(BUILDMODE)) - $(LUA_T): $(LUA_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) -+else -+$(LUA_T): $(LUA_O) $(LUA_SO) -+ $(CC) -o $@ -L. $(LDFLAGS) $(LUA_O) -llua $(LIBS) -+endif - - $(LUAC_T): $(LUAC_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) diff --git a/package/lua/5.2.4/0011-linenoise.patch b/package/lua/5.2.4/0011-linenoise.patch deleted file mode 100644 index b1f228cd49..0000000000 --- a/package/lua/5.2.4/0011-linenoise.patch +++ /dev/null @@ -1,26 +0,0 @@ -Add support of linenoise (replace readline) - -see discussion, http://lua-users.org/lists/lua-l/2010-03/msg00879.html - -Signed-off-by: Francois Perrad - -Index: b/src/lua.c -=================================================================== ---- a/src/lua.c -+++ b/src/lua.c -@@ -72,6 +72,15 @@ - add_history(lua_tostring(L, idx)); /* add it to history */ - #define lua_freeline(L,b) ((void)L, free(b)) - -+#elif defined(LUA_USE_LINENOISE) -+ -+#include -+#define lua_readline(L,b,p) ((void)L, ((b)=linenoise(p)) != NULL) -+#define lua_saveline(L,idx) \ -+ if (lua_rawlen(L,idx) > 0) /* non-empty line? */ \ -+ linenoiseHistoryAdd(lua_tostring(L, idx)); /* add it to history */ -+#define lua_freeline(L,b) ((void)L, free(b)) -+ - #elif !defined(lua_readline) - - #define lua_readline(L,b,p) \ diff --git a/package/lua/Config.in b/package/lua/Config.in index 4d2f0e90fa..ce2e439f63 100644 --- a/package/lua/Config.in +++ b/package/lua/Config.in @@ -21,9 +21,6 @@ choice config BR2_PACKAGE_LUA_5_1 bool "Lua 5.1.x" -config BR2_PACKAGE_LUA_5_2 - bool "Lua 5.2.x" - config BR2_PACKAGE_LUA_5_3 bool "Lua 5.3.x" @@ -31,7 +28,6 @@ endchoice config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION default "5.1" if BR2_PACKAGE_LUA_5_1 - default "5.2" if BR2_PACKAGE_LUA_5_2 default "5.3" if BR2_PACKAGE_LUA_5_3 if BR2_PACKAGE_LUA_5_3 diff --git a/package/lua/lua.hash b/package/lua/lua.hash index 43f5be275e..ba57304d0f 100644 --- a/package/lua/lua.hash +++ b/package/lua/lua.hash @@ -2,8 +2,5 @@ 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 - md5 2e115fe26e435e33b0d5c022e4490567 lua-5.1.5.tar.gz sha1 b3882111ad02ecc6b972f8c1241647905cb2e3fc lua-5.1.5.tar.gz diff --git a/package/lua/lua.mk b/package/lua/lua.mk index 22643c4c8c..8a5f9258a0 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -7,16 +7,12 @@ ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUA_VERSION = 5.3.5 else -ifeq ($(BR2_PACKAGE_LUA_5_2),y) -LUA_VERSION = 5.2.4 -else LUA_VERSION = 5.1.5 endif -endif LUA_SITE = http://www.lua.org/ftp LUA_INSTALL_STAGING = YES LUA_LICENSE = MIT -ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y) +ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUA_LICENSE_FILES = doc/readme.html else LUA_LICENSE_FILES = COPYRIGHT @@ -26,10 +22,6 @@ LUA_PROVIDES = luainterpreter LUA_CFLAGS = -Wall -fPIC -DLUA_USE_POSIX -ifeq ($(BR2_PACKAGE_LUA_5_2),y) -LUA_CFLAGS += -DLUA_COMPAT_ALL -endif - ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUA_CFLAGS += -DLUA_COMPAT_5_2 endif diff --git a/package/luabitop/luabitop.hash b/package/luabitop/luabitop.hash index 78110205a2..6f36bd18b7 100644 --- a/package/luabitop/luabitop.hash +++ b/package/luabitop/luabitop.hash @@ -1,2 +1,2 @@ -# Locally calculated -sha256 fc7a8065a57462ee13bed7f95b0ab13f94ecd1bf846108c61ccf2c75548af26e luabitop-1.0.2-1.src.rock +# computed by luarocks/buildroot +sha256 fc7a8065a57462ee13bed7f95b0ab13f94ecd1bf846108c61ccf2c75548af26e luabitop-1.0.2-1.src.rock diff --git a/package/luacrypto/Config.in b/package/luacrypto/Config.in deleted file mode 100644 index e9d43cd809..0000000000 --- a/package/luacrypto/Config.in +++ /dev/null @@ -1,11 +0,0 @@ -config BR2_PACKAGE_LUACRYPTO - bool "luacrypto" - select BR2_PACKAGE_OPENSSL - help - LuaCrypto provides a Lua frontend to the OpenSSL cryptographic - library. - The OpenSSL features that are currently exposed are digests - (MD5, SHA-1, HMAC, and more) and crypto-grade random number - generators communication. - - http://luacrypto.luaforge.net diff --git a/package/luacrypto/luacrypto.hash b/package/luacrypto/luacrypto.hash deleted file mode 100644 index 5c577672e2..0000000000 --- a/package/luacrypto/luacrypto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally calculated -sha256 dc935c923b8851208d5d504b343448a9d5bd3e537bb8657875f12d72155600b8 luacrypto-0.3.2-1.src.rock diff --git a/package/luacrypto/luacrypto.mk b/package/luacrypto/luacrypto.mk deleted file mode 100644 index b6dbb9999f..0000000000 --- a/package/luacrypto/luacrypto.mk +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# -# luacrypto -# -################################################################################ - -LUACRYPTO_VERSION = 0.3.2-1 -LUACRYPTO_LICENSE = MIT -LUACRYPTO_LICENSE_FILES = $(LUACRYPTO_SUBDIR)/COPYING -LUACRYPTO_DEPENDENCIES = openssl - -$(eval $(luarocks-package)) diff --git a/package/luadbi-sqlite3/Config.in b/package/luadbi-sqlite3/Config.in index 6ed32a29aa..600c5526f6 100644 --- a/package/luadbi-sqlite3/Config.in +++ b/package/luadbi-sqlite3/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LUADBI_SQLITE3 bool "luadbi-sqlite3" - select BR2_PACKAGE_LUADBI # runtime dependency select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_LUADBI # runtime help LuaDBI is a database interface library for Lua. And this is the SQLite3 backend. diff --git a/package/luadbi-sqlite3/luadbi-sqlite3.hash b/package/luadbi-sqlite3/luadbi-sqlite3.hash index bd8b927fa5..093a9067fd 100644 --- a/package/luadbi-sqlite3/luadbi-sqlite3.hash +++ b/package/luadbi-sqlite3/luadbi-sqlite3.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 2868dad4d189368fcf5cddd191965c8cb2efaa3a3ba83d50e6a88c30353f74ce luadbi-sqlite3-0.6-2.src.rock +sha256 988d73cc2e56f972e8177091e084855fc2904d0fafcfe5c4e02864f25ce2b928 luadbi/COPYING diff --git a/package/luadbi-sqlite3/luadbi-sqlite3.mk b/package/luadbi-sqlite3/luadbi-sqlite3.mk index 422fa1e319..44cf4d1072 100644 --- a/package/luadbi-sqlite3/luadbi-sqlite3.mk +++ b/package/luadbi-sqlite3/luadbi-sqlite3.mk @@ -5,8 +5,8 @@ ################################################################################ LUADBI_SQLITE3_VERSION = 0.6-2 -LUADBI_SQLITE3_LICENSE = MIT LUADBI_SQLITE3_SUBDIR = luadbi +LUADBI_SQLITE3_LICENSE = MIT LUADBI_SQLITE3_LICENSE_FILES = $(LUADBI_SQLITE3_SUBDIR)/COPYING LUADBI_SQLITE3_DEPENDENCIES = sqlite diff --git a/package/luadbi/luadbi.hash b/package/luadbi/luadbi.hash index e5c022bdf4..d72690d9ad 100644 --- a/package/luadbi/luadbi.hash +++ b/package/luadbi/luadbi.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 723f63b744b7367ddfd6bbf7a7e6f6867aa1eaabbbc2bab5dc8a90e80b0c34c2 luadbi-0.6-2.src.rock +sha256 988d73cc2e56f972e8177091e084855fc2904d0fafcfe5c4e02864f25ce2b928 luadbi/COPYING diff --git a/package/luadbi/luadbi.mk b/package/luadbi/luadbi.mk index 268e0e6287..969c01ee25 100644 --- a/package/luadbi/luadbi.mk +++ b/package/luadbi/luadbi.mk @@ -5,8 +5,8 @@ ################################################################################ LUADBI_VERSION = 0.6-2 -LUADBI_LICENSE = MIT LUADBI_SUBDIR = luadbi +LUADBI_LICENSE = MIT LUADBI_LICENSE_FILES = $(LUADBI_SUBDIR)/COPYING $(eval $(luarocks-package)) diff --git a/package/luaexpat/0001-restore-getcurrentbytecount.patch b/package/luaexpat/0001-restore-getcurrentbytecount.patch new file mode 100644 index 0000000000..6cf2192678 --- /dev/null +++ b/package/luaexpat/0001-restore-getcurrentbytecount.patch @@ -0,0 +1,40 @@ +From 77cb691f781918908dfe34785f00a5ff75d5cc20 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sat, 16 Feb 2019 15:56:00 +0100 +Subject: [PATCH] restore getcurrentbytecount + +see https://github.com/tomasguisasola/luaexpat/issues/3 + +Fetch from: https://github.com/tomasguisasola/luaexpat/commit/0926f2d705109b7d35b721344264b39c1169e0de + +Signed-off-by: Francois Perrad +--- + src/lxplib.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/luaexpat-1.3.3/src/lxplib.c b/luaexpat-1.3.3/src/lxplib.c +index 7726913..35bec3c 100644 +--- a/luaexpat-1.3.3/src/lxplib.c ++++ b/luaexpat-1.3.3/src/lxplib.c +@@ -538,11 +538,18 @@ static int lxp_stop (lua_State *L) { + return 1; + } + ++static int lxp_getcurrentbytecount (lua_State* L) { ++ lxp_userdata *xpu = checkparser(L, 1); ++ lua_pushinteger(L, XML_GetCurrentByteCount(xpu->parser)); ++ return 1; ++} ++ + static const luaL_Reg lxp_meths[] = { + {"parse", lxp_parse}, + {"close", lxp_close}, + {"__gc", parser_gc}, + {"pos", lxp_pos}, ++ {"getcurrentbytecount", lxp_getcurrentbytecount}, + {"setencoding", lxp_setencoding}, + {"getcallbacks", getcallbacks}, + {"getbase", getbase}, +-- +2.17.1 + diff --git a/package/luaexpat/Config.in b/package/luaexpat/Config.in index 7139e8c6da..2322dc430c 100644 --- a/package/luaexpat/Config.in +++ b/package/luaexpat/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_LUAEXPAT bool "luaexpat" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER select BR2_PACKAGE_EXPAT help LuaExpat is a SAX XML parser based on the Expat library. - http://matthewwild.co.uk/projects/luaexpat/ + http://www.keplerproject.org/luaexpat/ diff --git a/package/luaexpat/luaexpat.hash b/package/luaexpat/luaexpat.hash index 27f6ed0342..dd1cf40e5f 100644 --- a/package/luaexpat/luaexpat.hash +++ b/package/luaexpat/luaexpat.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 aa7883a0d44f500e32ef306c04632546f97f33159fffa7bcdc3f451170f95896 luaexpat-1.3.0-1.src.rock +# computed by luarocks/buildroot +sha256 b55908fcd7df490a59aab25284460add8283f1c6b94ab584900fe3e49775172a luaexpat-1.3.3-1.src.rock +sha256 7f5cb0c1750babcbb09637b7f0ff34972d51cf23b7f413bef902b47aa65febcd luaexpat-1.3.3/LICENSE diff --git a/package/luaexpat/luaexpat.mk b/package/luaexpat/luaexpat.mk index c7377f6afe..8c86b24f26 100644 --- a/package/luaexpat/luaexpat.mk +++ b/package/luaexpat/luaexpat.mk @@ -4,9 +4,9 @@ # ################################################################################ -LUAEXPAT_VERSION = 1.3.0-1 -LUAEXPAT_DEPENDENCIES = expat +LUAEXPAT_VERSION = 1.3.3-1 LUAEXPAT_LICENSE = MIT -LUAEXPAT_LICENSE_FILES = $(LUAEXPAT_SUBDIR)/doc/us/license.html +LUAEXPAT_LICENSE_FILES = $(LUAEXPAT_SUBDIR)/LICENSE +LUAEXPAT_DEPENDENCIES = expat $(eval $(luarocks-package)) diff --git a/package/luafilesystem/Config.in b/package/luafilesystem/Config.in index 50e7975b92..7c130f8d3b 100644 --- a/package/luafilesystem/Config.in +++ b/package/luafilesystem/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LUAFILESYSTEM bool "luafilesystem" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help LuaFileSystem offers a portable way to access the underlying directory structure and file attributes. diff --git a/package/luafilesystem/luafilesystem.hash b/package/luafilesystem/luafilesystem.hash index bd4a446cf5..9afc05c256 100644 --- a/package/luafilesystem/luafilesystem.hash +++ b/package/luafilesystem/luafilesystem.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 65e6d437e577a1d6cd509b6cd224d2cb9501d58d32a72cafbd4fd3f911681576 luafilesystem-1.7.0-2.src.rock +sha256 beb2c9eed6466d572c3888028a77421206053a3c023429cbd69e5015badba842 luafilesystem/LICENSE diff --git a/package/luafilesystem/luafilesystem.mk b/package/luafilesystem/luafilesystem.mk index bde04267cd..37f265e2b6 100644 --- a/package/luafilesystem/luafilesystem.mk +++ b/package/luafilesystem/luafilesystem.mk @@ -5,8 +5,8 @@ ################################################################################ LUAFILESYSTEM_VERSION = 1.7.0-2 -LUAFILESYSTEM_LICENSE = MIT -LUAFILESYSTEM_LICENSE_FILES = luafilesystem/LICENSE LUAFILESYSTEM_SUBDIR = luafilesystem +LUAFILESYSTEM_LICENSE = MIT +LUAFILESYSTEM_LICENSE_FILES = $(LUAFILESYSTEM_SUBDIR)/LICENSE $(eval $(luarocks-package)) diff --git a/package/luajit/Config.in b/package/luajit/Config.in index 7e792c53c4..88c5bcbf28 100644 --- a/package/luajit/Config.in +++ b/package/luajit/Config.in @@ -36,6 +36,11 @@ config BR2_PACKAGE_PROVIDES_LUAINTERPRETER config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION default "5.1" +config BR2_PACKAGE_LUAJIT_COMPAT52 + bool "Lua 5.2 compatibility" + help + Compile with Lua 5.2 compatibility. + endif comment "luajit needs a toolchain w/ dynamic library" diff --git a/package/luajit/luajit.mk b/package/luajit/luajit.mk index 939fa660d8..5b08a42d98 100644 --- a/package/luajit/luajit.mk +++ b/package/luajit/luajit.mk @@ -14,6 +14,10 @@ LUAJIT_INSTALL_STAGING = YES LUAJIT_PROVIDES = luainterpreter +ifeq ($(BR2_PACKAGE_LUAJIT_COMPAT52),y) +LUAJIT_XCFLAGS += -DLUAJIT_ENABLE_LUA52COMPAT +endif + ifeq ($(BR2_STATIC_LIBS),y) LUAJIT_BUILDMODE = static else @@ -48,6 +52,7 @@ define LUAJIT_BUILD_CMDS HOST_CFLAGS="$(HOST_CFLAGS)" \ HOST_LDFLAGS="$(HOST_LDFLAGS)" \ BUILDMODE=$(LUAJIT_BUILDMODE) \ + XCFLAGS=$(LUAJIT_XCFLAGS) \ -C $(@D) amalg endef @@ -68,6 +73,7 @@ LUAJIT_POST_INSTALL_TARGET_HOOKS += LUAJIT_INSTALL_SYMLINK define HOST_LUAJIT_BUILD_CMDS $(HOST_MAKE_ENV) $(MAKE) PREFIX="$(HOST_DIR)" BUILDMODE=dynamic \ TARGET_LDFLAGS="$(HOST_LDFLAGS)" \ + XCFLAGS=$(LUAJIT_XCFLAGS) \ -C $(@D) amalg endef diff --git a/package/luajson/Config.in b/package/luajson/Config.in index c04aa7f008..c9321bb70e 100644 --- a/package/luajson/Config.in +++ b/package/luajson/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_LUAJSON bool "luajson" - # run-time dependency - select BR2_PACKAGE_LPEG + select BR2_PACKAGE_LPEG # runtime help LuaJSON is a customizable JSON decoder/encoder using LPEG for parsing. diff --git a/package/luajson/luajson.hash b/package/luajson/luajson.hash index 36534fe342..3b7885aa7e 100644 --- a/package/luajson/luajson.hash +++ b/package/luajson/luajson.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 28a5928cf2e4fd79fa9a9aceaef5ebf1dccb1146489b7de4c2726f561700f01c luajson-1.3.4-1.src.rock +sha256 87565fca189b70f2e119b2a99e5e92a7aaab9f2eb05228b56b88e6c2e2f98bcd luajson/LICENSE diff --git a/package/lualogging/Config.in b/package/lualogging/Config.in index bb87f57f0d..a1ed775fb1 100644 --- a/package/lualogging/Config.in +++ b/package/lualogging/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_LUALOGGING supports, through the use of appenders, console, file, rolling file, email, socket and SQL outputs. - http://www.keplerproject.org/lualogging/ + https://github.com/Neopallium/lualogging diff --git a/package/lualogging/lualogging.hash b/package/lualogging/lualogging.hash index 8a6211ec37..e2ba5df3a8 100644 --- a/package/lualogging/lualogging.hash +++ b/package/lualogging/lualogging.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 6ca3827c4903814626b96011e17ad99b42ecfa983b605aa75bf58f17e90ed58d lualogging-1.3.0-1.src.rock +# computed by luarocks/buildroot +sha256 6ca3827c4903814626b96011e17ad99b42ecfa983b605aa75bf58f17e90ed58d lualogging-1.3.0-1.src.rock +sha256 4e86086c032a006ce1289565cc9d9afff26b5117891cd26ffa15aa866bd28ee5 lualogging/COPYRIGHT diff --git a/package/luaossl/luaossl.hash b/package/luaossl/luaossl.hash index 8c91a1fcf5..981ad10a16 100644 --- a/package/luaossl/luaossl.hash +++ b/package/luaossl/luaossl.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 f9c94c97579efddf8abad1e373e0fe0ecc93d00cd9d1bd49f48c5716c281a08b luaossl-20171028-0.src.rock +# computed by luarocks/buildroot +sha256 b0af04a5ad83c12badaf0e988dbeddc98ad6d2cd9fc06baaf0c801290ae1a5bd luaossl-20181207-0.src.rock +sha256 7c397b120b8356805c17ba10fdea13d4319b1ee244703813d0de4cbb22720c74 luaossl-rel-20181207/LICENSE diff --git a/package/luaossl/luaossl.mk b/package/luaossl/luaossl.mk index 26021a73a6..aa3937bb01 100644 --- a/package/luaossl/luaossl.mk +++ b/package/luaossl/luaossl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUAOSSL_VERSION_UPSTREAM = 20171028 +LUAOSSL_VERSION_UPSTREAM = 20181207 LUAOSSL_VERSION = $(LUAOSSL_VERSION_UPSTREAM)-0 LUAOSSL_SUBDIR = luaossl-rel-$(LUAOSSL_VERSION_UPSTREAM) LUAOSSL_LICENSE = MIT diff --git a/package/luaposix/Config.in b/package/luaposix/Config.in index 91abcb9e32..bdc9926b1e 100644 --- a/package/luaposix/Config.in +++ b/package/luaposix/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_LUAPOSIX bool "luaposix" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER + select BR2_PACKAGE_LUA_STD_NORMALIZE # runtime # "bit32" is included in Lua 5.2+. luajit has an equivalent # "bit" module, but since it has a different name, luaposix # doesn't find it. - select BR2_PACKAGE_LUA_BIT32 if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT + select BR2_PACKAGE_LUA_BIT32 if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT # runtime help This is a POSIX binding for LuaJIT, Lua 5.1, 5.2 and 5.3; like most libraries it simply binds to C APIs on the diff --git a/package/luaposix/luaposix.hash b/package/luaposix/luaposix.hash index b3984c1d15..a13cb4a9eb 100644 --- a/package/luaposix/luaposix.hash +++ b/package/luaposix/luaposix.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ba0bc343783fc33958cd02a68cdbfd65430152d9f297f7ed92678b1a305bd5d7 luaposix-34.0.1.tar.gz +sha256 eb6e7322da3013bdb3d524f68df4f5510a2efd805c06bf7cc27be6611eab7483 luaposix-34.0.4.tar.gz diff --git a/package/luaposix/luaposix.mk b/package/luaposix/luaposix.mk index 779e707ce8..f4679929c0 100644 --- a/package/luaposix/luaposix.mk +++ b/package/luaposix/luaposix.mk @@ -4,8 +4,8 @@ # ################################################################################ -LUAPOSIX_VERSION = 34.0.1 -LUAPOSIX_SITE = $(call github,luaposix,luaposix,release-v$(LUAPOSIX_VERSION)) +LUAPOSIX_VERSION = 34.0.4 +LUAPOSIX_SITE = $(call github,luaposix,luaposix,v$(LUAPOSIX_VERSION)) LUAPOSIX_LICENSE = MIT LUAPOSIX_LICENSE_FILES = LICENSE LUAPOSIX_DEPENDENCIES = luainterpreter host-lua diff --git a/package/luarocks/0001-allow-libluajit-detection.patch b/package/luarocks/0001-allow-libluajit-detection.patch index c5e52f4281..05d025bba2 100644 --- a/package/luarocks/0001-allow-libluajit-detection.patch +++ b/package/luarocks/0001-allow-libluajit-detection.patch @@ -6,6 +6,8 @@ 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 +--- @@ -15,7 +17,7 @@ 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 -@@ -511,10 +511,8 @@ function deps.check_lua(vars) +@@ -513,10 +513,8 @@ function deps.check_lua(vars) "lua-" .. cfg.lua_version, "lua-" .. shortv, "lua", diff --git a/package/luarocks/buildroot.lua b/package/luarocks/buildroot.lua new file mode 100644 index 0000000000..4be5fbd7cd --- /dev/null +++ b/package/luarocks/buildroot.lua @@ -0,0 +1,326 @@ + +--- Module implementing the LuaRocks "buildroot" command. +local buildroot = {} + +local dir = require("luarocks.dir") +local fs = require("luarocks.fs") +local util = require("luarocks.util") +local queries = require("luarocks.queries") +local search = require("luarocks.search") +local download = require("luarocks.download") +local fetch = require("luarocks.fetch") + +buildroot.help_summary = "generate buildroot package files of a rock." +buildroot.help_arguments = "rockname [brname]" +buildroot.help = [[ +This addon generates Buildroot package files of a rock. +First argument is the name of a rock, the second argument is optional +and needed when Buildroot uses another name (usually prefixed by lua-). +Files are generated with the source content of the rock and more +especially the rockspec. So, the rock is downloaded and unpacked. +]] + +local function brname (name) + return name:upper():gsub('-', '_') +end + +local function brlicense (license) + if license:match('MIT/X') then + return 'MIT' + end + return license +end + +local function wrap (txt, max) + local lines = {} + local line = '' + for word in txt:gmatch('(%S+)') do + if line:len() + word:len() > max - 1 then + lines[#lines+1] = line + line = '' + end + if line == '' then + line = word + else + line = line .. ' ' .. word + end + end + lines[#lines+1] = line + return lines +end + +local function get_external_dependencies (rockspec) + local t = {} + for k in pairs(rockspec.external_dependencies or {}) do + k = k:lower() + if fs.is_dir('package/' .. k) then + t[#t+1] = k + else + t[#t+1] = 'lib' .. k + if not fs.is_dir('package/lib' .. k) then + util.printout('unkwown external dependency: ' .. k) + end + end + end + table.sort(t) + return t +end + +local function get_dependencies (rockspec) + local t = {} + for i = 1, #rockspec.dependencies do + local dep = tostring(rockspec.dependencies[i]):match('^(%S+)') + if dep ~= 'lua' then + dep = dep:gsub('_', '-') + if fs.is_dir('package/lua-' .. dep) then + t[#t+1] = 'lua-' .. dep + else + t[#t+1] = dep + if not fs.is_dir('package/' .. dep) then + util.printout('unkwown dependency: ' .. dep) + end + end + end + end + table.sort(t) + return t +end + +function get_digest (file) + local absname = fs.absolute_name(file) + local pipe = io.popen('sha256sum ' .. fs.Q(absname)) + local line = pipe:read('*l') + pipe:close() + local computed = line and line:match('(' .. ('%x'):rep(64) .. ')') + if computed then + return computed + else + return nil, "Failed to compute SHA256 hash for file " .. absname + end +end + +local function generate_config (rockspec, lcname) + local ucname = brname(lcname) + local only_luajit = rockspec.package:match('^lj') + local summary = rockspec.description.summary + if not summary then + summary = '???' + elseif not summary:match('%.%s*$') then + summary = summary:gsub('%s*$', '.') + end + local homepage = rockspec.description.homepage or '???' + local external_dependencies = get_external_dependencies(rockspec) + local dependencies = get_dependencies(rockspec) + local fname = 'package/' .. lcname .. '/Config.in' + local f = assert(io.open(fname, 'w')) + util.printout('write ' .. fname) + f:write('config BR2_PACKAGE_' .. ucname .. '\n') + f:write('\tbool "' .. lcname .. '"\n') + if only_luajit then + f:write('\tdepends on BR2_PACKAGE_LUAJIT\n') + end + for i = 1, #external_dependencies do + f:write('\tselect BR2_PACKAGE_' .. brname(external_dependencies[i]) .. '\n') + end + for i = 1, #dependencies do + f:write('\tselect BR2_PACKAGE_' .. brname(dependencies[i]) .. ' # runtime\n') + end + f:write('\thelp\n') + f:write('\t ' .. table.concat(wrap(summary, 62), '\n\t ') .. '\n') + f:write('\n\t ' .. homepage .. '\n') + if only_luajit then + f:write('\ncomment "' .. lcname .. ' needs LuaJIT"\n') + f:write('\tdepends on !BR2_PACKAGE_LUAJIT\n') + end + f:close() +end + +local function generate_mk (rockspec, lcname, licenses) + local function escape (s) + return s:gsub('-', '%%-'):gsub('%.', '%%.') + end + + local ucname = brname(lcname) + local need_name_upstream = false + local need_version_upstream = false + local name_upstream = rockspec.package + local version = rockspec.version + local version_upstream = version:match('^([^-]+)-') + local revision = version:match('-(%d+)$') + local license = rockspec.description.license + local subdir = rockspec.source.dir + if subdir then + local root = subdir:match('^(.-)-' .. escape(version) .. '$') + if root then + subdir = root .. '-$(' .. ucname .. '_VERSION)' + end + root = subdir:match('^(.--[Vv])' .. escape(version_upstream) .. '$') + if root then + need_version_upstream = true + subdir = root .. '$(' .. ucname .. '_VERSION_UPSTREAM)' + end + root = subdir:match('^(.-)-' .. escape(version_upstream) .. '$') + if root then + if root == lcname then + subdir = nil + elseif root == name_upstream then + subdir = nil + need_name_upstream = true + else + need_version_upstream = true + subdir = root .. '-$(' .. ucname .. '_VERSION_UPSTREAM)' + end + end + end + local external_dependencies = get_external_dependencies(rockspec) + local fname = 'package/' .. lcname .. '/' .. lcname .. '.mk' + local f = assert(io.open(fname, 'w')) + util.printout('write ' .. fname) + f:write('################################################################################\n') + f:write('#\n') + f:write('# ' .. lcname .. '\n') + f:write('#\n') + f:write('################################################################################\n') + f:write('\n') + if need_version_upstream then + f:write(ucname .. '_VERSION_UPSTREAM = ' .. version_upstream .. '\n') + f:write(ucname .. '_VERSION = $(' .. ucname .. '_VERSION_UPSTREAM)-' .. revision .. '\n') + else + f:write(ucname .. '_VERSION = ' .. version .. '\n') + end + if lcname ~= name_upstream:lower() or need_name_upstream then + f:write(ucname .. '_NAME_UPSTREAM = ' .. name_upstream .. '\n') + end + if subdir then + f:write(ucname .. '_SUBDIR = ' .. subdir .. '\n') + end + if license then + f:write(ucname .. '_LICENSE = ' .. brlicense(license) .. '\n') + end + if #licenses == 1 then + f:write(ucname .. '_LICENSE_FILES = $(' .. ucname .. '_SUBDIR)/' .. licenses[1] .. '\n') + elseif #licenses > 1 then + f:write(ucname .. '_LICENSE_FILES =') + for i = 1, #licenses do + local file = licenses[i] + f:write(' \\\n\t$(' .. ucname .. '_SUBDIR)/' .. file) + end + f:write('\n') + end + if #external_dependencies > 0 then + f:write(ucname .. '_DEPENDENCIES = ' .. table.concat(external_dependencies, ' ') .. '\n') + end + f:write('\n$(eval $(luarocks-package))\n') + f:close() +end + +local function generate_hash (rockspec, lcname, rock_file, licenses, digest) + local subdir = rockspec.source.dir + local fname = 'package/' .. lcname .. '/' .. lcname .. '.hash' + local f = assert(io.open(fname, 'w')) + util.printout('write ' .. fname) + f:write('# computed by luarocks/buildroot\n') + f:write('sha256 ' .. digest[rock_file] .. ' ' .. rock_file .. '\n') + for i = 1, #licenses do + local file = licenses[i] + f:write('sha256 ' .. digest[file] .. ' ' .. subdir .. '/' .. file .. '\n') + end + f:close() +end + +--- Driver function for the "buildroot" command. +-- @param rockname string: the name of a rock to be fetched and unpacked. +-- @param brname string: the name used by Buildroot (optional) +-- @return boolean: true if successful +function buildroot.command(flags, rockname, fsname) + if type(rockname) ~= 'string' then + return nil, "Argument missing. "..util.see_help('buildroot') + end + fsname = fsname or rockname + assert(type(fsname) == 'string') + + local query = queries.new(rockname:lower(), nil, false, 'src') + local url, err = search.find_suitable_rock(query) + if not url then + return nil, "Could not find a result named " .. tostring(query) .. ": " .. err + end + local rock_file = dir.base_name(url) + + local temp_dir, err = fs.make_temp_dir(rockname) + if not temp_dir then + return nil, "Failed creating temporary dir: " .. err + end + local ok, err = fs.change_dir(temp_dir) + if not ok then return nil, err end + + ok = fs.download(url, rock_file, true) + if not ok then + return nil, "Failed downloading " .. url + end + + local digest = {} + digest[rock_file], err = get_digest(rock_file) + if not digest[rock_file] then return nil, err end + ok, err = fs.unzip(rock_file) + if not ok then return nil, err end + + local rockspec_file = rock_file:gsub('%.src%.rock$', '.rockspec') + local rockspec, err = fetch.load_rockspec(rockspec_file) + if not rockspec then + return nil, "Error loading rockspec: " .. err + end + if rockspec.source.file then + ok, err = fs.unpack_archive(rockspec.source.file) + if not ok then return nil, err end + end + + if rockspec.source.dir ~= '.' then + fs.copy(rockspec.local_abs_filename, rockspec.source.dir, 'read') + end + + local build_type = rockspec.build.type + if build_type ~= 'none' and build_type ~= 'builtin' and build_type ~= 'module' then + util.printout('[' .. rockspec.package .. "] build_type '" .. build_type .. "' not supported") + end + + local licenses = {} + ok, err = fs.change_dir(rockspec.source.dir) + if not ok then return nil, err end + local files = fs.find() + for i = 1, #files do + local v = files[i] + if v == 'COPYING' + or v == 'COPYRIGHT' + or v:match('^LICENSE') then + licenses[#licenses+1] = v + digest[v], err = get_digest(v) + if not digest[v] then return nil, err end + end + end + if #licenses == 0 then + for i = 1, #files do + local v = files[i] + if v:match('^doc/LICENSE') + or v:match('^doc/license') + or v:match('^doc/us/license') then + licenses[#licenses+1] = v + digest[v], err = get_digest(v) + if not digest[v] then return nil, err end + end + end + end + fs.pop_dir() + table.sort(licenses) + + fs.pop_dir() + ok, err = fs.make_dir('package/' .. fsname:lower()) + if not ok then return nil, err end + + generate_config(rockspec, fsname:lower()) + generate_mk(rockspec, fsname:lower(), licenses) + generate_hash(rockspec, fsname:lower(), rock_file, licenses, digest) + + return true +end + +return buildroot diff --git a/package/luarocks/luarocks-br-config.lua b/package/luarocks/luarocks-br-config.lua new file mode 100644 index 0000000000..32d71e1e21 --- /dev/null +++ b/package/luarocks/luarocks-br-config.lua @@ -0,0 +1,13 @@ +-- BR cross-compilation +local function getenv (name) return os_getenv(name) or '' end +variables.LUA_INCDIR = getenv('STAGING_DIR') .. [[/usr/include]] +variables.LUA_LIBDIR = getenv('STAGING_DIR') .. [[/usr/lib]] +variables.CC = getenv('TARGET_CC') +variables.LD = getenv('TARGET_CC') +variables.CFLAGS = getenv('TARGET_CFLAGS') +variables.LIBFLAG = [[-shared ]] .. getenv('TARGET_LDFLAGS') +external_deps_dirs = { getenv('STAGING_DIR') .. [[/usr]] } +gcc_rpath = false +rocks_trees = { getenv('TARGET_DIR') .. [[/usr]] } +wrap_bin_scripts = false +deps_mode = [[none]] diff --git a/package/luarocks/luarocks.hash b/package/luarocks/luarocks.hash index 87ef6827c6..224dbcc164 100644 --- a/package/luarocks/luarocks.hash +++ b/package/luarocks/luarocks.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 a43fffb997100f11cccb529a3db5456ce8dab18171a5cb3645f948147b6f64a1 luarocks-3.0.0.tar.gz +sha256 1236a307ca5c556c4fed9fdbd35a7e0e80ccf063024becc8c3bf212f37ff0edf luarocks-3.0.4.tar.gz +sha256 542ad0ee9b8ba582437ca7b4d0959c9b9432f25d2067f144d017188a7a84dd2f COPYING diff --git a/package/luarocks/luarocks.mk b/package/luarocks/luarocks.mk index cd4be266cf..5b15eae675 100644 --- a/package/luarocks/luarocks.mk +++ b/package/luarocks/luarocks.mk @@ -4,20 +4,26 @@ # ################################################################################ -LUAROCKS_VERSION = 3.0.0 +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 endif +define LUAROCKS_ADDON_EXTRACT + mkdir $(@D)/src/luarocks/cmd/external + cp package/luarocks/buildroot.lua $(@D)/src/luarocks/cmd/external/buildroot.lua +endef +HOST_LUAROCKS_POST_EXTRACT_HOOKS += LUAROCKS_ADDON_EXTRACT + HOST_LUAROCKS_CONF_OPTS = \ --prefix=$(HOST_DIR) \ --sysconfdir=$(LUAROCKS_CONFIG_DIR) \ @@ -30,25 +36,16 @@ endef define HOST_LUAROCKS_INSTALL_CMDS rm -f $(LUAROCKS_CONFIG_FILE) $(MAKE1) -C $(@D) install - echo "-- BR cross-compilation" >> $(LUAROCKS_CONFIG_FILE) - echo "variables.LUA_DIR = [[$(STAGING_DIR)/usr]]" >> $(LUAROCKS_CONFIG_FILE) - echo "variables.LUA_BINDIR = [[$(STAGING_DIR)/usr/bin]]" >> $(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) + cat $(HOST_LUAROCKS_PKGDIR)/luarocks-br-config.lua >> $(LUAROCKS_CONFIG_FILE) endef $(eval $(host-generic-package)) -LUAROCKS_RUN_ENV = LUA_PATH="$(HOST_DIR)/share/lua/$(LUAINTERPRETER_ABIVER)/?.lua" +LUAROCKS_RUN_ENV = \ + LUA_PATH="$(HOST_DIR)/share/lua/$(LUAINTERPRETER_ABIVER)/?.lua" \ + TARGET_CC="$(TARGET_CC)" \ + TARGET_CFLAGS="$(LUAROCKS_CFLAGS)" \ + TARGET_LDFLAGS="$(TARGET_LDFLAGS)" LUAROCKS_RUN_CMD = $(LUA_RUN) $(HOST_DIR)/bin/luarocks define LUAROCKS_FINALIZE_TARGET diff --git a/package/luasec/Config.in b/package/luasec/Config.in index d7900a081f..43527ab09d 100644 --- a/package/luasec/Config.in +++ b/package/luasec/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_LUASEC bool "luasec" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_LUASOCKET + select BR2_PACKAGE_LUASOCKET # runtime help LuaSec is a binding for OpenSSL library to provide TLS/SSL communication. diff --git a/package/luasec/luasec.hash b/package/luasec/luasec.hash index 1fdbe7d7e5..37fc08d455 100644 --- a/package/luasec/luasec.hash +++ b/package/luasec/luasec.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 383e183ba712f00b2fcbf60187177432ccde724a23ac6186075ceae620cf0b0a luasec-0.7-1.src.rock +# computed by luarocks/buildroot +sha256 383e183ba712f00b2fcbf60187177432ccde724a23ac6186075ceae620cf0b0a luasec-0.7-1.src.rock +sha256 b310a4c5a9927a43123e3ffcfaa5f5921b545b64d38ea55c7faf2a837547a200 luasec-luasec-0.7/LICENSE diff --git a/package/luasocket/Config.in b/package/luasocket/Config.in index 45f959e8d0..45263030f3 100644 --- a/package/luasocket/Config.in +++ b/package/luasocket/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LUASOCKET bool "luasocket" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help LuaSocket is the most comprehensive networking support library for the Lua language. diff --git a/package/luasocket/luasocket.hash b/package/luasocket/luasocket.hash index ad91f44205..843647b27f 100644 --- a/package/luasocket/luasocket.hash +++ b/package/luasocket/luasocket.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 453fc1d0e9b6a44bbada4290d565f840a5e96ba2d1b47562ba38bd9c7e82195a luasocket-3.0rc1-1.src.rock +# computed by luarocks/buildroot +sha256 453fc1d0e9b6a44bbada4290d565f840a5e96ba2d1b47562ba38bd9c7e82195a luasocket-3.0rc1-1.src.rock +sha256 8e8c6314d9e78fe452ee355167f2c40cfbee8207e14dcb5ddd4a2655cb5c6aad luasocket-3.0-rc1/LICENSE diff --git a/package/luasql-sqlite3/Config.in b/package/luasql-sqlite3/Config.in index 483d6a0f37..cc4d3d5450 100644 --- a/package/luasql-sqlite3/Config.in +++ b/package/luasql-sqlite3/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LUASQL_SQLITE3 bool "luasql-sqlite3" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER select BR2_PACKAGE_SQLITE help LuaSQL is a simple interface from Lua to a DBMS. diff --git a/package/luasql-sqlite3/luasql-sqlite3.hash b/package/luasql-sqlite3/luasql-sqlite3.hash index 5728c8db04..5406d9454f 100644 --- a/package/luasql-sqlite3/luasql-sqlite3.hash +++ b/package/luasql-sqlite3/luasql-sqlite3.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 e98d4e997682097f5bc2859596b9615f4cb87438db23ceb4af5e36b4424524ab luasql-sqlite3-2.3.0-1.src.rock +# computed by luarocks/buildroot +sha256 502faabc5e06c1d7c1ddb9a0550eb19220020c86b9f1e26a2cc2001e1343b35d luasql-sqlite3-2.4.0-1.src.rock +sha256 c8bb3a3947379addb89412e578d0aae95ca37dc6e48a17e128f40e512d10b025 luasql/doc/us/license.html diff --git a/package/luasql-sqlite3/luasql-sqlite3.mk b/package/luasql-sqlite3/luasql-sqlite3.mk index 51178db223..69fc956c98 100644 --- a/package/luasql-sqlite3/luasql-sqlite3.mk +++ b/package/luasql-sqlite3/luasql-sqlite3.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUASQL_SQLITE3_VERSION = 2.3.0-1 +LUASQL_SQLITE3_VERSION = 2.4.0-1 LUASQL_SQLITE3_SUBDIR = luasql LUASQL_SQLITE3_LICENSE = MIT LUASQL_SQLITE3_LICENSE_FILES = $(LUASQL_SQLITE3_SUBDIR)/doc/us/license.html diff --git a/package/lunit/lunit.hash b/package/lunit/lunit.hash index 9c8d53c5ed..bd168ba8f5 100644 --- a/package/lunit/lunit.hash +++ b/package/lunit/lunit.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 b19854c685337ddcec2fe9c22113d2cd14715d52ccd2676abe2fa49b61a2ec4d lunit-0.5-2.src.rock +# computed by luarocks/buildroot +sha256 b19854c685337ddcec2fe9c22113d2cd14715d52ccd2676abe2fa49b61a2ec4d lunit-0.5-2.src.rock +sha256 316317e9e9b7eac811e1be56738e2434fb4a0c39ecd660f3b34dad739bfb3707 lunit-0.5/LICENSE diff --git a/package/lutok/Config.in b/package/lutok/Config.in index ab9c32b6d5..abeaa4011d 100644 --- a/package/lutok/Config.in +++ b/package/lutok/Config.in @@ -9,4 +9,3 @@ config BR2_PACKAGE_LUTOK comment "lutok needs a toolchain w/ C++ and full Lua" depends on !BR2_INSTALL_LIBSTDCPP || BR2_PACKAGE_LUAJIT - depends on BR2_PACKAGE_HAS_LUAINTERPRETER diff --git a/package/luv/0001-Do-not-include-compat-5.3.h-in-luv-header-file.patch b/package/luv/0001-Do-not-include-compat-5.3.h-in-luv-header-file.patch new file mode 100644 index 0000000000..22428c98f7 --- /dev/null +++ b/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/package/luv/luv.hash b/package/luv/luv.hash index 44f4048df3..24440bef8e 100644 --- a/package/luv/luv.hash +++ b/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/package/luv/luv.mk b/package/luv/luv.mk index 633bfe6890..87158b72ed 100644 --- a/package/luv/luv.mk +++ b/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/package/luvi/luvi.hash b/package/luvi/luvi.hash index e2239b6171..084f3a42cd 100644 --- a/package/luvi/luvi.hash +++ b/package/luvi/luvi.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 ce9a1fb762e61267618ddea9ea129170fd543bb918c382b71cb35985d0024c42 luvi-src-v2.7.6.tar.gz +sha256 81e898dc67b8166222716f763d8d0e0307132edc999167259d28ad0b54e20a7f luvi-src-v2.9.0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/package/luvi/luvi.mk b/package/luvi/luvi.mk index a2bc218e77..c43033f4f3 100644 --- a/package/luvi/luvi.mk +++ b/package/luvi/luvi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LUVI_VERSION = v2.7.6 +LUVI_VERSION = v2.9.0 LUVI_SOURCE = luvi-src-$(LUVI_VERSION).tar.gz LUVI_SITE = https://github.com/luvit/luvi/releases/download/$(LUVI_VERSION) LUVI_LICENSE = Apache-2.0 diff --git a/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch b/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch index 8ca39c2cab..7ef153313c 100644 --- a/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch +++ b/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch @@ -1,4 +1,4 @@ -From f563334a76e31442f7b8693d2d350e6981c51c46 Mon Sep 17 00:00:00 2001 +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 @@ -27,7 +27,7 @@ library. Signed-off-by: Marcin Niestroj --- configure | 32 ++++++++++++++++++++++++++++++-- - configure.in | 28 +++++++++++++++++++++++++--- + configure.ac | 28 +++++++++++++++++++++++++--- include/configure.h.in | 3 +++ lib/misc/lib.h | 10 +++++----- libdm/datastruct/bitset.c | 5 +---- @@ -37,10 +37,10 @@ Signed-off-by: Marcin Niestroj 8 files changed, 67 insertions(+), 17 deletions(-) diff --git a/configure b/configure -index e1ae0e884..c5d11c1b6 100755 +index 7d945dfa8..94cd6b1ea 100755 --- a/configure +++ b/configure -@@ -985,6 +985,7 @@ enable_fsadm +@@ -975,6 +975,7 @@ enable_fsadm enable_blkdeactivate enable_dmeventd enable_selinux @@ -48,7 +48,7 @@ index e1ae0e884..c5d11c1b6 100755 enable_nls with_localedir with_confdir -@@ -1729,6 +1730,9 @@ Optional Features: +@@ -1725,6 +1726,9 @@ Optional Features: --disable-blkdeactivate disable blkdeactivate --enable-dmeventd enable the device-mapper event daemon --disable-selinux disable selinux support @@ -58,15 +58,15 @@ index e1ae0e884..c5d11c1b6 100755 --enable-nls enable Native Language Support Optional Packages: -@@ -3169,7 +3173,6 @@ if test -z "$CFLAGS"; then : +@@ -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 - CLDWHOLEARCHIVE="-Wl,-whole-archive" -@@ -3190,7 +3193,6 @@ case "$host_os" in +@@ -3178,7 +3181,6 @@ case "$host_os" in ;; darwin*) CFLAGS="$CFLAGS -no-cpp-precomp -fno-common" @@ -74,7 +74,7 @@ index e1ae0e884..c5d11c1b6 100755 ELDFLAGS= CLDWHOLEARCHIVE="-all_load" CLDNOWHOLEARCHIVE= -@@ -14609,6 +14611,32 @@ done +@@ -14401,6 +14403,32 @@ done LIBS=$lvm_saved_libs fi @@ -107,15 +107,16 @@ index e1ae0e884..c5d11c1b6 100755 ################################################################################ { $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.in b/configure.in -index 2e5e015c8..09c390850 100644 ---- a/configure.in -+++ b/configure.in -@@ -30,12 +30,10 @@ AC_CANONICAL_TARGET([]) +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" @@ -124,7 +125,7 @@ index 2e5e015c8..09c390850 100644 LIB_SUFFIX=so DEVMAPPER=yes BUILD_LVMETAD=no -@@ -51,7 +49,6 @@ case "$host_os" in +@@ -52,7 +50,6 @@ case "$host_os" in ;; darwin*) CFLAGS="$CFLAGS -no-cpp-precomp -fno-common" @@ -132,7 +133,7 @@ index 2e5e015c8..09c390850 100644 ELDFLAGS= CLDWHOLEARCHIVE="-all_load" CLDNOWHOLEARCHIVE= -@@ -1742,6 +1739,31 @@ package as well (which may be called readline-devel or something similar).]) +@@ -1656,6 +1653,31 @@ package as well (which may be called readline-devel or something similar).]) LIBS=$lvm_saved_libs fi @@ -165,10 +166,10 @@ index 2e5e015c8..09c390850 100644 dnl -- Internationalisation stuff AC_MSG_CHECKING(whether to enable internationalisation) diff --git a/include/configure.h.in b/include/configure.h.in -index 51726506c..3fc181b1e 100644 +index 15fd150ed..7a07a10ef 100644 --- a/include/configure.h.in +++ b/include/configure.h.in -@@ -151,6 +151,9 @@ +@@ -147,6 +147,9 @@ /* Path to fsadm binary. */ #undef FSADM_PATH @@ -179,10 +180,10 @@ index 51726506c..3fc181b1e 100644 #undef HAVE_ALARM diff --git a/lib/misc/lib.h b/lib/misc/lib.h -index 8ed06f81d..9b3ce8a03 100644 +index d7fa5c721..7cf98f932 100644 --- a/lib/misc/lib.h +++ b/lib/misc/lib.h -@@ -42,16 +42,16 @@ +@@ -41,16 +41,16 @@ * macro DM_EXPORT_SYMBOL to export the function and bind it to the * specified version string. * @@ -203,7 +204,7 @@ index 8ed06f81d..9b3ce8a03 100644 * // Backward compatible dm_foo() version 1.02.104 * int dm_foo_v1_02_104(void); * int dm_foo_v1_02_104(void) -@@ -68,7 +68,7 @@ +@@ -67,7 +67,7 @@ * versions of library symbols prior to the introduction of symbol * versioning: it must never be used for new symbols. */ @@ -234,10 +235,10 @@ index b0826e1eb..2ec3f8f84 100644 - #endif diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c -index c47e08467..b98afb15d 100644 +index 769b69c1b..28e2eadee 100644 --- a/libdm/ioctl/libdm-iface.c +++ b/libdm/ioctl/libdm-iface.c -@@ -2137,7 +2137,7 @@ void dm_lib_exit(void) +@@ -2145,7 +2145,7 @@ void dm_lib_exit(void) _version_checked = 0; } @@ -247,10 +248,10 @@ index c47e08467..b98afb15d 100644 * 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 cf4fd62e7..474871da5 100644 +index ab0545659..00651c0b2 100644 --- a/libdm/libdm-deptree.c +++ b/libdm/libdm-deptree.c -@@ -4110,7 +4110,7 @@ void dm_tree_node_set_callback(struct dm_tree_node *dnode, +@@ -3797,7 +3797,7 @@ void dm_tree_node_set_callback(struct dm_tree_node *dnode, dnode->callback_data = data; } @@ -260,10 +261,10 @@ index cf4fd62e7..474871da5 100644 * Backward compatible implementations. * diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c -index bc498675f..d424928c7 100644 +index 94ad380e0..76efbbe35 100644 --- a/libdm/libdm-stats.c +++ b/libdm/libdm-stats.c -@@ -5064,7 +5064,7 @@ int dm_stats_start_filemapd(int fd, uint64_t group_id, const char *path, +@@ -5065,7 +5065,7 @@ int dm_stats_start_filemapd(int fd, uint64_t group_id, const char *path, * current dm_stats_create_region() version. */ diff --git a/package/lvm2/Config.in b/package/lvm2/Config.in index 0dd6d53b4a..de5b972e99 100644 --- a/package/lvm2/Config.in +++ b/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/package/lvm2/lvm2.hash b/package/lvm2/lvm2.hash index b0dfcfcef3..ad0d93b144 100644 --- a/package/lvm2/lvm2.hash +++ b/package/lvm2/lvm2.hash @@ -1,5 +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 3947523c6b0862ada40677ed171ed0cf95e070119e377296fc5ccb153e9c4212d34c0b16a887dbd68ccf265525345dabfed2aa59fb3604555429a7e2ecfff4d7 LVM2.2.02.183.tgz # Locally computed sha256 checksums sha256 e76fbcd2fb97cf202da330301327754d2db5c58b5b4bebd3a8a749393e7603d1 COPYING sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LIB diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk index ccdc2c38e6..7fdb9a7e30 100644 --- a/package/lvm2/lvm2.mk +++ b/package/lvm2/lvm2.mk @@ -4,9 +4,9 @@ # ################################################################################ -LVM2_VERSION = 2.02.173 +LVM2_VERSION = 2.02.183 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 @@ -22,7 +22,7 @@ LVM2_CONF_OPTS += \ --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. @@ -59,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/package/lxc/Config.in b/package/lxc/Config.in index d90e78857a..d8d8f50c8e 100644 --- a/package/lxc/Config.in +++ b/package/lxc/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_LXC depends on BR2_USE_MMU # fork() # build system forcefully builds a shared library depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # setns() system call help Linux Containers (LXC), provides the ability to group and @@ -13,8 +14,9 @@ config BR2_PACKAGE_LXC https://linuxcontainers.org/ -comment "lxc needs a toolchain w/ threads, headers >= 3.0, dynamic library" +comment "lxc needs a toolchain w/ threads, headers >= 3.0, dynamic library, gcc >= 4.7" depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \ || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 \ || BR2_STATIC_LIBS diff --git a/package/lxc/lxc.hash b/package/lxc/lxc.hash index f46b1e1f5e..aad38ca57a 100644 --- a/package/lxc/lxc.hash +++ b/package/lxc/lxc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 45986c49be1c048fa127bd3e7ea1bd3347e25765c008a09a2e4c233151a2d5db lxc-3.0.1.tar.gz +sha256 4d8772c25baeaea2c37a954902b88c05d1454c91c887cb6a0997258cfac3fdc5 lxc-3.1.0.tar.gz sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/lxc/lxc.mk b/package/lxc/lxc.mk index d1487e0e59..a059fd578e 100644 --- a/package/lxc/lxc.mk +++ b/package/lxc/lxc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LXC_VERSION = 3.0.1 +LXC_VERSION = 3.1.0 LXC_SITE = https://linuxcontainers.org/downloads/lxc LXC_LICENSE = LGPL-2.1+ LXC_LICENSE_FILES = COPYING @@ -15,6 +15,10 @@ LXC_CONF_OPTS = --disable-apparmor --with-distro=buildroot \ --disable-werror \ $(if $(BR2_PACKAGE_BASH),,--disable-bash) +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +LXC_DEPENDENCIES += bash-completion +endif + ifeq ($(BR2_PACKAGE_GNUTLS),y) LXC_CONF_OPTS += --enable-gnutls LXC_DEPENDENCIES += gnutls diff --git a/package/lynx/0001-src-chrtrans-don-t-build-host-tools-with-target-LDFL.patch b/package/lynx/0001-src-chrtrans-don-t-build-host-tools-with-target-LDFL.patch deleted file mode 100644 index cc057cee13..0000000000 --- a/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/package/lynx/lynx.hash b/package/lynx/lynx.hash index c39475aa23..76d7614a7c 100644 --- a/package/lynx/lynx.hash +++ b/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/package/lynx/lynx.mk b/package/lynx/lynx.mk index a95326a14a..3ac5b4cabf 100644 --- a/package/lynx/lynx.mk +++ b/package/lynx/lynx.mk @@ -4,13 +4,13 @@ # ################################################################################ -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 LYNX_LICENSE_FILES = COPYING -LYNX_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +LYNX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) ifeq ($(BR2_PACKAGE_NCURSES),y) LYNX_DEPENDENCIES += ncurses @@ -21,8 +21,9 @@ LYNX_CONF_OPTS += --with-screen=slang endif ifeq ($(BR2_PACKAGE_OPENSSL),y) -LYNX_DEPENDENCIES += openssl -LYNX_CONF_OPTS += --with-ssl +LYNX_DEPENDENCIES += host-pkgconf openssl +LYNX_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr +LYNX_CONF_ENV = LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` else ifeq ($(BR2_PACKAGE_GNUTLS),y) LYNX_DEPENDENCIES += gnutls LYNX_CONF_OPTS += --with-gnutls diff --git a/package/lz4/lz4.hash b/package/lz4/lz4.hash index 90bd217cdf..691ec6c42a 100644 --- a/package/lz4/lz4.hash +++ b/package/lz4/lz4.hash @@ -1,4 +1,4 @@ # sha256 locally computed -sha256 0963fbe9ee90acd1d15e9f09e826eaaf8ea0312e854803caf2db0a6dd40f4464 lz4-v1.8.2.tar.gz +sha256 33af5936ac06536805f9745e0b6d61da606a1f8b4cc5c04dd3cbaca3b9b4fc43 lz4-v1.8.3.tar.gz sha256 d15d99c8dc6b0ec22174c0e563a95bc40f9363ca7f9d9d793bb5c5a8e8d0af71 lib/LICENSE sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 programs/COPYING diff --git a/package/lz4/lz4.mk b/package/lz4/lz4.mk index 183df45649..a7152cb531 100644 --- a/package/lz4/lz4.mk +++ b/package/lz4/lz4.mk @@ -4,7 +4,7 @@ # ################################################################################ -LZ4_VERSION = v1.8.2 +LZ4_VERSION = v1.8.3 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/package/lzo/lzo.mk b/package/lzo/lzo.mk index 27ca459acf..0ead92725a 100644 --- a/package/lzo/lzo.mk +++ b/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/package/madplay/0002-buildroot-libtool-v1.5.patch.patch b/package/madplay/0002-buildroot-libtool-v1.5.patch.patch deleted file mode 100644 index 2be336384b..0000000000 --- a/package/madplay/0002-buildroot-libtool-v1.5.patch.patch +++ /dev/null @@ -1,109 +0,0 @@ -From ce661985c098635965573aac8fc983a72f60d396 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 30 May 2017 16:42:34 +0200 -Subject: [PATCH] buildroot-libtool-v1.5.patch - -Apply buildroot-libtool-v1.5.patch rebased on libtool 1.5.2 used -in madplay and fixing all conflicts. - -Signed-off-by: Romain Naour ---- - ltmain.sh | 40 ++++++++++++++++++++++++++++++---------- - 1 file changed, 30 insertions(+), 10 deletions(-) - -diff --git a/ltmain.sh b/ltmain.sh -index 4b9f940..0b71220 100644 ---- a/ltmain.sh -+++ b/ltmain.sh -@@ -164,6 +164,11 @@ do - arg="$1" - shift - -+ # Make -static behave as -all-static -+ case $arg in -+ -static) arg="-all-static" ;; -+ esac -+ - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; -@@ -549,8 +554,9 @@ if test -z "$show_help"; then - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" -- $echo "$modename: specify a tag with \`--tag'" 1>&2 -- exit 1 -+ $echo "$modename: defaulting to \`CC'" -+ $echo "$modename: if this is not correct, specify a tag with \`--tag'" -+# exit 1 - # else - # $echo "$modename: using $tagname tagged configuration" - fi -@@ -1228,7 +1234,8 @@ EOF - prevarg="$arg" - - case $arg in -- -all-static) -+ # Make -static behave like -all-static -+ -all-static | -static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" -@@ -2135,8 +2142,14 @@ EOF - absdir="$abs_ladir" - libdir="$abs_ladir" - else -- dir="$libdir" -- absdir="$libdir" -+ # Adding 'libdir' from the .la file to our library search paths -+ # breaks crosscompilation horribly. We cheat here and don't add -+ # it, instead adding the path where we found the .la. -CL -+ dir="$abs_ladir" -+ absdir="$abs_ladir" -+ libdir="$abs_ladir" -+ #dir="$libdir" -+ #absdir="$libdir" - fi - else - dir="$ladir/$objdir" -@@ -2261,7 +2274,7 @@ EOF - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" -- need_relink=yes -+ need_relink=no - fi - # This is a shared library - -@@ -5146,6 +5159,10 @@ fi\ - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do -+ # Replacing uninstalled with installed can easily break crosscompilation, -+ # since the installed path is generally the wrong architecture. -CL -+ newdependency_libs="$newdependency_libs $deplib" -+ continue - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` -@@ -5464,10 +5481,13 @@ relink_command=\"$relink_command\"" - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. -- if test "$inst_prefix_dir" = "$destdir"; then -- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -- exit 1 -- fi -+ # -+ # This breaks install into our staging area. -PB -+ # -+ # if test "$inst_prefix_dir" = "$destdir"; then -+ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ # exit 1 -+ # fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. --- -2.9.4 - diff --git a/package/madplay/0002-configure-ac-automake-foreign.patch b/package/madplay/0002-configure-ac-automake-foreign.patch new file mode 100644 index 0000000000..38d1630987 --- /dev/null +++ b/package/madplay/0002-configure-ac-automake-foreign.patch @@ -0,0 +1,16 @@ +configure.ac: don't require GNU-specific files when running automake + +Signed-off-by: Fabrice Fontaine + +diff -durN madplay-0.15.2b-orig/configure.ac madplay-0.15.2b/configure.ac +--- madplay-0.15.2b-orig/configure.ac 2019-02-14 21:34:01.507212449 +0100 ++++ madplay-0.15.2b/configure.ac 2019-02-14 21:34:23.439336353 +0100 +@@ -26,7 +26,7 @@ + + AC_CONFIG_SRCDIR([madplay.c]) + +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + + AM_CONFIG_HEADER([config.h]) + diff --git a/package/madplay/0003-configure-ac-use-pkg-config-to-find-id3tag.patch b/package/madplay/0003-configure-ac-use-pkg-config-to-find-id3tag.patch new file mode 100644 index 0000000000..47645edd4c --- /dev/null +++ b/package/madplay/0003-configure-ac-use-pkg-config-to-find-id3tag.patch @@ -0,0 +1,23 @@ +configure.ac: use pkg-config to find id3tag + +Signed-off-by: Fabrice Fontaine + +diff -durN madplay-0.15.2b-orig/configure.ac madplay-0.15.2b/configure.ac +--- madplay-0.15.2b-orig/configure.ac 2019-02-14 21:34:01.507212449 +0100 ++++ madplay-0.15.2b/configure.ac 2019-02-15 23:24:00.079876087 +0100 +@@ -182,12 +182,13 @@ + *** environment variable to specify its installed location, e.g. -L

          .]) + ]) + +-AC_CHECK_LIB(id3tag, id3_tag_parse, :, [ ++PKG_CHECK_MODULES(ID3TAG, id3tag, [ ++ CFLAGS="$CFLAGS $ID3TAG_CFLAGS" LIBS="$LIBS $ID3TAG_LIBS"], [ + AC_MSG_ERROR([libid3tag was not found + *** You must first install libid3tag before you can build this package. + *** If libid3tag is already installed, you may need to use the LDFLAGS + *** environment variable to specify its installed location, e.g. -L.]) +-], [-lz]) ++]) + + AC_FUNC_VPRINTF + AC_CHECK_FUNCS(madvise localeconv) diff --git a/package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch b/package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch new file mode 100644 index 0000000000..7d3fb8ddc6 --- /dev/null +++ b/package/madplay/0004-configure-ac-call-AM_MKINSTALLDIRS.patch @@ -0,0 +1,23 @@ +configure.ac: call AM_MKINSTALLDIRS to substitute @MKINSTALLDIRS@ + +MKINSTALLDIRS is obsolete and doesn't get automatically called. + +Force call AM_MKINSTALLDIRS() macro to substitute every @MKINSTALLDIRS@ +occurence in *.in files. + +Signed-off-by: Giulio Benetti + +diff -urpN madplay-0.15.2b.orig/configure.ac madplay-0.15.2b/configure.ac +--- madplay-0.15.2b.orig/configure.ac 2019-04-16 12:06:03.781018755 +0200 ++++ madplay-0.15.2b/configure.ac 2019-04-16 12:07:48.399162610 +0200 +@@ -146,6 +146,10 @@ ALL_LINGUAS="en es fr hr no" + AM_GNU_GETTEXT([use-libtool]) + AM_GNU_GETTEXT_VERSION(0.14.1) + ++dnl Substitute MKINSTALLDIRS ++ ++AM_MKINSTALLDIRS() ++ + dnl Checks for header files. + + AC_HEADER_STDC diff --git a/package/madplay/madplay.hash b/package/madplay/madplay.hash index 99487b5ecd..227702976b 100644 --- a/package/madplay/madplay.hash +++ b/package/madplay/madplay.hash @@ -1,2 +1,4 @@ # Locally computed: sha256 5a79c7516ff7560dffc6a14399a389432bc619c905b13d3b73da22fa65acede0 madplay-0.15.2b.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 915bfd70548f31d11f9b4ffb21f343d1196af96c79d6aaac5663ea46c39dd3a3 COPYRIGHT diff --git a/package/madplay/madplay.mk b/package/madplay/madplay.mk index e72e2f8180..e1a78bd7d7 100644 --- a/package/madplay/madplay.mk +++ b/package/madplay/madplay.mk @@ -8,14 +8,18 @@ MADPLAY_VERSION = 0.15.2b MADPLAY_SITE = http://downloads.sourceforge.net/project/mad/madplay/$(MADPLAY_VERSION) MADPLAY_LICENSE = GPL-2.0+ MADPLAY_LICENSE_FILES = COPYING COPYRIGHT -MADPLAY_LIBTOOL_PATCH = NO -MADPLAY_DEPENDENCIES = libmad libid3tag $(TARGET_NLS_DEPENDENCIES) +MADPLAY_DEPENDENCIES = host-pkgconf libmad libid3tag $(TARGET_NLS_DEPENDENCIES) + +# Force autoreconf to be able to use a more recent libtool script, that +# is able to properly behave in the face of a missing C++ compiler. +# Also 0003-configure-ac-use-pkg-config-to-find-id3tag.patch +MADPLAY_AUTORECONF = YES # Check if ALSA is built, then we should configure after alsa-lib so # ./configure can find alsa-lib. ifeq ($(BR2_PACKAGE_MADPLAY_ALSA),y) MADPLAY_CONF_OPTS += --with-alsa -MADPLAY_DEPENDENCIES += host-pkgconf alsa-lib +MADPLAY_DEPENDENCIES += alsa-lib MADPLAY_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs alsa`" endif diff --git a/package/make/0001-glob-Do-not-assume-glibc-glob-internals.patch b/package/make/0001-glob-Do-not-assume-glibc-glob-internals.patch new file mode 100644 index 0000000000..33ded3c501 --- /dev/null +++ b/package/make/0001-glob-Do-not-assume-glibc-glob-internals.patch @@ -0,0 +1,70 @@ +From 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Sun, 24 Sep 2017 09:12:58 -0400 +Subject: [PATCH] glob: Do not assume glibc glob internals. + +It has been proposed that glibc glob start using gl_lstat, +which the API allows it to do. GNU 'make' should not get in +the way of this. See: +https://sourceware.org/ml/libc-alpha/2017-09/msg00409.html + +* dir.c (local_lstat): New function, like local_stat. +(dir_setup_glob): Use it to initialize gl_lstat too, as the API +requires. + +Signed-off-by: Samuel Mendoza-Jonas +(from upstream commit 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4) +--- + dir.c | 29 +++++++++++++++++++++++++++-- + 1 file changed, 27 insertions(+), 2 deletions(-) + +diff --git a/dir.c b/dir.c +index adbb8a9..c343e4c 100644 +--- a/dir.c ++++ b/dir.c +@@ -1299,15 +1299,40 @@ local_stat (const char *path, struct stat *buf) + } + #endif + ++/* Similarly for lstat. */ ++#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS) ++# ifndef VMS ++# ifndef HAVE_SYS_STAT_H ++int lstat (const char *path, struct stat *sbuf); ++# endif ++# else ++ /* We are done with the fake lstat. Go back to the real lstat */ ++# ifdef lstat ++# undef lstat ++# endif ++# endif ++# define local_lstat lstat ++#elif defined(WINDOWS32) ++/* Windows doesn't support lstat(). */ ++# define local_lstat local_stat ++#else ++static int ++local_lstat (const char *path, struct stat *buf) ++{ ++ int e; ++ EINTRLOOP (e, lstat (path, buf)); ++ return e; ++} ++#endif ++ + void + dir_setup_glob (glob_t *gl) + { + gl->gl_opendir = open_dirstream; + gl->gl_readdir = read_dirstream; + gl->gl_closedir = free; ++ gl->gl_lstat = local_lstat; + gl->gl_stat = local_stat; +- /* We don't bother setting gl_lstat, since glob never calls it. +- The slot is only there for compatibility with 4.4 BSD. */ + } + + void +-- +2.21.0 + diff --git a/package/make/make.mk b/package/make/make.mk index 01cd2eaa18..10082353a2 100644 --- a/package/make/make.mk +++ b/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/package/mariadb/mariadb.hash b/package/mariadb/mariadb.hash index e4736465e0..db24f7bb9b 100644 --- a/package/mariadb/mariadb.hash +++ b/package/mariadb/mariadb.hash @@ -1,9 +1,9 @@ -# From https://downloads.mariadb.org/mariadb/10.1.35/ -md5 935f401314ff08a4177beb70fed6055c mariadb-10.1.35.tar.gz -sha1 d322f0da17f4de475832dd534657eba5a936f77b mariadb-10.1.35.tar.gz -sha256 9e91d985ed4f662126e3e5791fe91ec8a2f44ec811113c2b6fbc72fa14553c4d mariadb-10.1.35.tar.gz -sha512 88e6049f3bbc3aa047e108f91a2c4f335758e80f25bfa2974b5f8c2e13f5758824d7835dece021b515c531e5641b9998e4de92256ad4b47b7f694da99bd471aa mariadb-10.1.35.tar.gz +# From https://downloads.mariadb.org/mariadb/10.3.13 +md5 603ce42e35b9a688f2cca05275acb5cb mariadb-10.3.13.tar.gz +sha1 08467885412184e99b835732913d445fd2c4b1b3 mariadb-10.3.13.tar.gz +sha256 b2aa857ef5b84f85a7ea60a1eac7b34c0ca5151c71a0d44ce2d7fb028d71459a mariadb-10.3.13.tar.gz +sha512 3cbd93291aa43b235e5b81d953ea69fb32df54fb518f922f69b5485952f01fae693c77b0efac37f414ed7ff132d3b58f899812bdb7be8a5b344c3640e2c3a0dd mariadb-10.3.13.tar.gz # Hash for license files -sha256 69ce89a0cadbe35a858398c258be93c388715e84fc0ca04e5a1fd1aa9770dd3a README +sha256 43f4b5b13cecbbdb04a180cbf6c2bd64237819d1a32165b7d475c1b392e6a8d1 README.md sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk index e8ccf7a2a9..356dd29af3 100644 --- a/package/mariadb/mariadb.mk +++ b/package/mariadb/mariadb.mk @@ -4,12 +4,12 @@ # ################################################################################ -MARIADB_VERSION = 10.1.35 +MARIADB_VERSION = 10.3.13 MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library) # Tarball no longer contains LGPL license text # https://jira.mariadb.org/browse/MDEV-12297 -MARIADB_LICENSE_FILES = README COPYING +MARIADB_LICENSE_FILES = README.md COPYING MARIADB_INSTALL_STAGING = YES MARIADB_PROVIDES = mysql @@ -41,6 +41,14 @@ MARIADB_CONF_OPTS += -DSTACK_DIRECTION=-1 # when it comes to cross-compilation we shall disable it and also disable TokuDB. MARIADB_CONF_OPTS += -DWITH_JEMALLOC=no -DWITHOUT_TOKUDB=1 +# RocksDB fails to build in some configurations with the following build error: +# ./output/build/mariadb-10.2.17/storage/rocksdb/rocksdb/utilities/backupable/backupable_db.cc:327:38: +# error: field 'result' has incomplete type 'std::promise' +# std::promise result; +# +# To work around the issue, we disable RocksDB +MARIADB_CONF_OPTS += -DWITHOUT_ROCKSDB=1 + # Make it explicit that we are cross-compiling MARIADB_CONF_OPTS += -DCMAKE_CROSSCOMPILING=1 @@ -57,7 +65,14 @@ else MARIADB_CONF_OPTS += -DWITHOUT_SERVER=ON endif +MARIADB_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +MARIADB_CXXFLAGS += -latomic +endif + MARIADB_CONF_OPTS += \ + -DCMAKE_CXX_FLAGS="$(MARIADB_CXXFLAGS)" \ -DINSTALL_DOCDIR=share/doc/mariadb-$(MARIADB_VERSION) \ -DINSTALL_DOCREADMEDIR=share/doc/mariadb-$(MARIADB_VERSION) \ -DINSTALL_MANDIR=share/man \ @@ -71,7 +86,7 @@ MARIADB_CONF_OPTS += \ -DMYSQL_DATADIR=/var/lib/mysql \ -DMYSQL_UNIX_ADDR=$(MYSQL_SOCKET) -HOST_MARIADB_CONF_OPTS += -DWITH_SSL=bundled +HOST_MARIADB_CONF_OPTS += -DWITH_SSL=OFF # Some helpers must be compiled for host in order to crosscompile mariadb for # the target. They are then included by import_executables.cmake which is @@ -112,8 +127,6 @@ endif # 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 $(RM) $(TARGET_DIR)/usr/bin/mysql_config $(RM) -r $(TARGET_DIR)/usr/share/mysql/test endef diff --git a/package/mbedtls/mbedtls.hash b/package/mbedtls/mbedtls.hash index 47e446dd07..57a5aeffcb 100644 --- a/package/mbedtls/mbedtls.hash +++ b/package/mbedtls/mbedtls.hash @@ -1,5 +1,5 @@ -# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.12.0-2.7.5-and-2.1.14-released -sha1 180ca49e2bb6df3826113781b793529a81427ce3 mbedtls-2.7.5-apache.tgz -sha256 a1302ad9094aabb9880d2755927b466a6bac8e02b68e04dee77321f3859e9b40 mbedtls-2.7.5-apache.tgz +# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.16.0-2.7.9-and-2.1.18-released +sha1 70dc65f3f6f6b2392b821163be7f1f634f0012c8 mbedtls-2.7.9-apache.tgz +sha256 18e57260b46579245744adb79c2924194dad36aac38c2d0be9e749b9181c706f mbedtls-2.7.9-apache.tgz # Locally calculated sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache-2.0.txt diff --git a/package/mbedtls/mbedtls.mk b/package/mbedtls/mbedtls.mk index e07cc3d71c..4a5a731d42 100644 --- a/package/mbedtls/mbedtls.mk +++ b/package/mbedtls/mbedtls.mk @@ -5,7 +5,7 @@ ################################################################################ MBEDTLS_SITE = https://tls.mbed.org/code/releases -MBEDTLS_VERSION = 2.7.5 +MBEDTLS_VERSION = 2.7.9 MBEDTLS_SOURCE = mbedtls-$(MBEDTLS_VERSION)-apache.tgz MBEDTLS_CONF_OPTS = \ -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \ diff --git a/package/mdadm/mdadm.mk b/package/mdadm/mdadm.mk index 207b0be60d..b2ed5049aa 100644 --- a/package/mdadm/mdadm.mk +++ b/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/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch b/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch new file mode 100644 index 0000000000..792c3eeb44 --- /dev/null +++ b/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/package/mediastreamer/mediastreamer.hash b/package/mediastreamer/mediastreamer.hash index 5f26b54bff..8ebf64af09 100644 --- a/package/mediastreamer/mediastreamer.hash +++ b/package/mediastreamer/mediastreamer.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 1144849c0c96abafb1153adf56109f0f195a9e4a53cf28cb611bbca7a9012c1a mediastreamer-2.14.0.tar.gz +sha256 ba9ed2269151ad63b922598f3c5c19ddf781b2bbb6cb843ed9f085ecd1679c5d COPYING diff --git a/package/memcached/memcached.hash b/package/memcached/memcached.hash index 8278933827..df430cf4ff 100644 --- a/package/memcached/memcached.hash +++ b/package/memcached/memcached.hash @@ -1,3 +1,6 @@ -# From http://www.memcached.org/files/memcached-1.5.6.tar.gz.sha1 -sha1 ca35929e74b132c2495a6957cfdc80556337fb90 memcached-1.5.6.tar.gz -sha256 9675ee859d7d81f7a950f190a6812720b26f08228d356044ec517d4d5af25f03 memcached-1.5.6.tar.gz +# From http://www.memcached.org/files/memcached-1.5.12.tar.gz.sha1 +sha1 f67096ba64b0c47668bcad5b680010c4f8987d4c memcached-1.5.12.tar.gz + +# Locally computed +sha256 c02f97d5685617b209fbe25f3464317b234d765b427d254c2413410a5c095b29 memcached-1.5.12.tar.gz +sha256 bc887c4ad8051fe690ace9528fe37a2e0bb362e6d963331d82e845ca9b585a0c COPYING diff --git a/package/memcached/memcached.mk b/package/memcached/memcached.mk index c15abc79bf..b7c36ec155 100644 --- a/package/memcached/memcached.mk +++ b/package/memcached/memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -MEMCACHED_VERSION = 1.5.6 +MEMCACHED_VERSION = 1.5.12 MEMCACHED_SITE = http://www.memcached.org/files MEMCACHED_DEPENDENCIES = libevent MEMCACHED_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' diff --git a/package/mender/0001-FIX-Enabling-compiling-ppc64le.patch b/package/mender/0001-FIX-Enabling-compiling-ppc64le.patch deleted file mode 100644 index 3197a0ec01..0000000000 --- a/package/mender/0001-FIX-Enabling-compiling-ppc64le.patch +++ /dev/null @@ -1,37 +0,0 @@ -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/package/mender/S42mender b/package/mender/S42mender new file mode 100644 index 0000000000..108fecfea9 --- /dev/null +++ b/package/mender/S42mender @@ -0,0 +1,56 @@ +#!/bin/sh +# +# Starts mender service. +# + +start() { + # If /var/lib/mender is a symlink to /var/run/mender, and + # - the filesystem is RO (i.e. we can not rm the symlink), + # create the directory pointed to by the symlink. + # - the filesystem is RW (i.e. we can rm the symlink), + # replace the symlink with an actual directory + if [ -L /var/lib/mender \ + -a "$(readlink /var/lib/mender)" = "/var/run/mender" ] + then + if rm -f /var/lib/mender >/dev/null 2>&1; then + mkdir -p /var/lib/mender + else + echo "No persistent location to store mender data. Data will be lost" + echo "at reboot. Are you sure this is what you want to do?" + mkdir -p "$(readlink /var/lib/mender)" + fi + fi + + printf "Starting mender service: " + umask 077 + + start-stop-daemon -S -q -b -m -p /var/run/mender.pid \ + --exec /usr/bin/mender -- -daemon + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + printf "Stopping mender service: " + start-stop-daemon -K -q -p /var/run/mender.pid + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/package/mender/artifact_info b/package/mender/artifact_info new file mode 100644 index 0000000000..1c84b088d0 --- /dev/null +++ b/package/mender/artifact_info @@ -0,0 +1 @@ +artifact_name=BUILDROOT_ARTIFACT diff --git a/package/mender/device_type b/package/mender/device_type new file mode 100644 index 0000000000..a097ef2b3a --- /dev/null +++ b/package/mender/device_type @@ -0,0 +1 @@ +device_type=BUILDROOT_DEVICE diff --git a/package/mender/mender.hash b/package/mender/mender.hash index 8faa740e3b..89aec239b1 100644 --- a/package/mender/mender.hash +++ b/package/mender/mender.hash @@ -1,14 +1,14 @@ # Locally computed: -sha256 267fa73ad472b034248ee298593b5c52ea0b105fd73c91febb3587280c61bee2 mender-1.4.0.tar.gz +sha256 caee18d1b8446df0cbb9a9c5a1c040d7eb1924332da94c3489494443a8077eb8 1.7.0.tar.gz # Apache-2.0 license, locally computed -sha256 ceb1b36ff073bd13d9806d4615b931707768ca9023805620acc32dd1cfc2f680 LICENSE +sha256 98ed35b5a138f58164b5c0dbccd9d7f01ef4d84b9dba01e896f0a3241c50c0f7 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 98ed35b5a138f58164b5c0dbccd9d7f01ef4d84b9dba01e896f0a3241c50c0f7 vendor/github.com/mendersoftware/mendertesting/LICENSE sha256 3591f687e2d6f49c83b1ec69577e8110afbde80be5ec81791bd86d2838ccd3de vendor/github.com/mendersoftware/log/LICENSE sha256 bbb303820971c294a9a8e5eba5affcf1379036e877ea61c11cbf9400b2949483 vendor/github.com/mendersoftware/log/COPYING sha256 3591f687e2d6f49c83b1ec69577e8110afbde80be5ec81791bd86d2838ccd3de vendor/github.com/mendersoftware/scopestack/LICENSE @@ -38,4 +38,4 @@ sha256 ffa15bdce332058a03a1d923910864fb6e58bf6df66a0e3914284725b327183e vendor/ sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 vendor/github.com/bmatsuo/lmdb-go/LICENSE.mdb.md # sha256 of all the vendor licenses combined -sha256 54d6f54a2815cc2e3cef4f7dde5a3aae20f09b2cde394d8d3f1dce5d8a79d738 LIC_FILES_CHKSUM.sha256 +sha256 b84b543cab0505452982422783c0e68b7bfa0a1de4a625753d325e0a8b2dacb1 LIC_FILES_CHKSUM.sha256 diff --git a/package/mender/mender.mk b/package/mender/mender.mk index 9275426a7b..07f6e5e5f9 100644 --- a/package/mender/mender.mk +++ b/package/mender/mender.mk @@ -4,8 +4,9 @@ # ################################################################################ -MENDER_VERSION = 1.4.0 -MENDER_SITE = $(call github,mendersoftware,mender,$(MENDER_VERSION)) +MENDER_VERSION = 1.7.0 +MENDER_SITE = https://github.com/mendersoftware/mender/archive +MENDER_SOURCE = $(MENDER_VERSION).tar.gz MENDER_LICENSE = Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT, OLDAP-2.8 # Vendor license paths generated with: @@ -38,10 +39,9 @@ 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 package/mender/mender.conf \ + $(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/mender.conf \ $(TARGET_DIR)/etc/mender/mender.conf - - $(INSTALL) -D -m 0644 package/mender/server.crt \ + $(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/server.crt \ $(TARGET_DIR)/etc/mender/server.crt $(INSTALL) -D -m 0755 $(@D)/support/mender-device-identity \ @@ -50,16 +50,30 @@ define MENDER_INSTALL_CONFIG_FILES $(INSTALL) -D -m 0755 $(@D)/support/mender-inventory-$(f) \ $(TARGET_DIR)/usr/share/mender/inventory/mender-inventory-$(f) ) + + $(INSTALL) -D -m 0755 package/mender/artifact_info \ + $(TARGET_DIR)/etc/mender/artifact_info + + $(INSTALL) -D -m 0755 package/mender/device_type \ + $(TARGET_DIR)/etc/mender/device_type + + mkdir -p $(TARGET_DIR)/var/lib + ln -snf /var/run/mender $(TARGET_DIR)/var/lib/mender endef MENDER_POST_INSTALL_TARGET_HOOKS += MENDER_INSTALL_CONFIG_FILES define MENDER_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 0644 package/mender/mender.service \ + $(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/mender.service \ $(TARGET_DIR)/usr/lib/systemd/system/mender.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants ln -fs ../../../../usr/lib/systemd/system/mender.service \ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mender.service endef +define MENDER_INSTALL_INIT_SYSV + $(INSTALL) -D -m 755 package/mender/S42mender \ + $(TARGET_DIR)/etc/init.d/S42mender +endef + $(eval $(golang-package)) diff --git a/package/mender/mender.service b/package/mender/mender.service index 9ede55acb5..2a5f476ee5 100644 --- a/package/mender/mender.service +++ b/package/mender/mender.service @@ -6,7 +6,17 @@ After=systemd-resolved.service Type=idle User=root Group=root -ExecStartPre=/bin/mkdir -p -m 0700 /data/mender +ExecStartPre=/bin/sh -c '\ +if [ -L /var/lib/mender \ + -a "$(readlink /var/lib/mender)" = "/var/run/mender" ]; then \ + if rm -f /var/lib/mender >/dev/null 2>&1; then \ + mkdir -p /var/lib/mender; \ + else \ + echo "No persistent location to store mender data. Data will be lost" \ + echo "at reboot. Are you sure this is what you want to do?"; \ + mkdir -p "$(readlink /var/lib/mender)"; \ + fi; \ +fi' ExecStart=/usr/bin/mender -daemon Restart=on-abort diff --git a/package/mender/readme.txt b/package/mender/readme.txt new file mode 100644 index 0000000000..329b2a42f2 --- /dev/null +++ b/package/mender/readme.txt @@ -0,0 +1,18 @@ +=== Notes on using Mender on Buildroot +====================================== +Default configurations files +---------------------------- + +Buildroot comes with a default artifact_info and device_type configuration files +in /etc/mender. They contain default values, and thus they should be overridden +on a production system. + +The simplest way to do it is to change these files in an overlay or in a post +build script. + +Configuring mender with certificates +------------------------------------ + +Mender uses TLS to communicate with the management server, and if you use a +CA-signed certificate on the server, you should select the ca-certificates +package otherwise it doesn't work. diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index fc88f0ed60..4730463eac 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -12,7 +12,7 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 18.1.5 +MESA3D_HEADERS_VERSION = 18.3.3 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive MESA3D_HEADERS_DL_SUBDIR = mesa3d @@ -63,6 +63,10 @@ ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) MESA3D_HEADERS_DIRS += GLES GLES2 endif +ifeq ($(BR2_PACKAGE_HAS_LIBOPENCL),y) +MESA3D_HEADERS_DIRS += CL +endif + define MESA3D_HEADERS_BUILD_CMDS $(MESA3D_HEADERS_BUILD_DRI_PC) endef diff --git a/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch b/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch index 337ad642a5..5135528795 100644 --- a/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch +++ b/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch @@ -15,6 +15,8 @@ Signed-off-by: Gustavo Zacarias Signed-off-by: Vicente Olivert Riera [Romain: rebase on 18.1] Signed-off-by: Romain Naour +[Bernd rebase on 18.3] +Signed-off-by: Bernd Kuhls --- configure.ac | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) @@ -23,22 +25,27 @@ diff --git a/configure.ac b/configure.ac index f1fbdcc6c7..dcf87e7dd6 100644 --- a/configure.ac +++ b/configure.ac -@@ -1796,11 +1796,11 @@ for plat in $platforms; do - PKG_CHECK_MODULES([WAYLAND_PROTOCOLS], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED]) +@@ -1841,17 +1841,16 @@ + fi 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 ++ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) ++ if test "x$WAYLAND_SCANNER" = x; then ++ PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], + WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, + WAYLAND_SCANNER='') ++ fi + PKG_CHECK_EXISTS([wayland-scanner >= 1.15], + AC_SUBST(SCANNER_ARG, 'private-code'), + AC_SUBST(SCANNER_ARG, 'code')) +- if test "x$WAYLAND_SCANNER" = x; then +- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) +- fi +- if test "x$WAYLAND_SCANNER" = "x:"; then + AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform]) + fi -- 2.14.3 - diff --git a/package/mesa3d/0003-musl-time-h.patch b/package/mesa3d/0003-musl-time-h.patch deleted file mode 100644 index 811d135622..0000000000 --- a/package/mesa3d/0003-musl-time-h.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 3c288da5eec81ee58b85927df18d9194ead8f5c2 Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Tue, 12 Jun 2018 11:59:01 +0100 -Subject: drivers/dri/i965: add missing #include - -brw_bufmgr.h uses time_t without include time.h, so the build fails under musl. - -Reviewed-by: Eric Engestrom - -Downloaded from upstream commit -https://cgit.freedesktop.org/mesa/mesa/commit/src/mesa/drivers/dri/i965/brw_bufmgr.h?id=3c288da5eec81ee58b85927df18d9194ead8f5c2 - -Signed-off-by: Bernd Kuhls ---- - src/mesa/drivers/dri/i965/brw_bufmgr.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.h b/src/mesa/drivers/dri/i965/brw_bufmgr.h -index 8cdf944..32fc7a5 100644 ---- a/src/mesa/drivers/dri/i965/brw_bufmgr.h -+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.h -@@ -37,6 +37,8 @@ - #include - #include - #include -+#include -+ - #include "util/u_atomic.h" - #include "util/list.h" - --- -cgit v1.1 - diff --git a/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch b/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch new file mode 100644 index 0000000000..42ae826a36 --- /dev/null +++ b/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch @@ -0,0 +1,37 @@ +From 94bceeb621e36f3188c6246a763def8695526578 Mon Sep 17 00:00:00 2001 +From: Valentin Korenblit +Date: Sat, 20 Oct 2018 10:56:23 +0200 +Subject: [PATCH] Set proper value for LIBCLC_INCLUDEDIR + +LIBCLC_INCLUDEDIR is the location where mesa3d OpenCL implementation +will look for OpenCL "headers" on the target, when building the OpenCL +kernels. + +The value returned by pkg-config for includedir is relevant when +cross-compiling, on the build machine. But in this specific case, we +really need a value that is valid on the target. + +Those headers are installed by the libclc package in /usr/share so +that they are not removed by Buildroot target-finalize logic. + +Signed-off-by: Valentin Korenblit +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 864dcae..cc2390b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2429,7 +2429,7 @@ if test "x$enable_opencl" = xyes; then + PKG_CONFIG_PATH environment variable. + By default libclc.pc is installed to /usr/local/share/pkgconfig/]) + else +- LIBCLC_INCLUDEDIR=`$PKG_CONFIG --variable=includedir libclc` ++ LIBCLC_INCLUDEDIR="/usr/share" + LIBCLC_LIBEXECDIR=`$PKG_CONFIG --variable=libexecdir libclc` + AC_SUBST([LIBCLC_INCLUDEDIR]) + AC_SUBST([LIBCLC_LIBEXECDIR]) +-- +2.7.4 + diff --git a/package/mesa3d/0004-egl-add-missing-include-stddef.h-in-egldevice.h.patch b/package/mesa3d/0004-egl-add-missing-include-stddef.h-in-egldevice.h.patch new file mode 100644 index 0000000000..04621eeabd --- /dev/null +++ b/package/mesa3d/0004-egl-add-missing-include-stddef.h-in-egldevice.h.patch @@ -0,0 +1,47 @@ +From eb44c36cf1729e7e200b77cf8ea755dff72d1639 Mon Sep 17 00:00:00 2001 +From: Gurchetan Singh +Date: Wed, 28 Nov 2018 08:39:34 -0800 +Subject: [PATCH] egl: add missing #include in egldevice.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Otherwise, I get this error: + +main/egldevice.h:54:13: error: ‘NULL’ undeclared (first use in this function) + dev = NULL; + ^~~~ +with this config: + +./autogen.sh --enable-gles1 --enable-gles2 --with-platforms='surfaceless' --disable-glx + --with-dri-drivers="i965" --with-gallium-drivers="" --enable-gbm + +v3: Use stddef.h (Matt) +v4: Modify commit message (Eric) + +Reviewed-by: Matt Turner +Reviewed-by: Eric Engestrom +Backported from upstream commit eb44c36cf1729e7e200b77cf8ea755dff72d1639 +Signed-off-by: James Hilliard +--- + src/egl/main/egldevice.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/egl/main/egldevice.h b/src/egl/main/egldevice.h +index ddcdcd1..83a47d5 100644 +--- a/src/egl/main/egldevice.h ++++ b/src/egl/main/egldevice.h +@@ -31,9 +31,9 @@ + + + #include ++#include + #include "egltypedefs.h" + +- + #ifdef __cplusplus + extern "C" { + #endif +-- +2.7.4 + diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index 06574ae513..fdd64b0337 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -13,6 +13,8 @@ menuconfig BR2_PACKAGE_MESA3D select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXXF86VM if BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7 select BR2_PACKAGE_ZLIB help @@ -49,6 +51,17 @@ comment "llvm support needs a toolchain not affected by GCC bug 64735" depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 +# clang and libclc dependencies are satisfied by +# BR2_PACKAGE_MESA3D_LLVM +config BR2_PACKAGE_MESA3D_OPENCL + bool "OpenCL support" + depends on BR2_PACKAGE_MESA3D_LLVM + depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 || \ + BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI + select BR2_PACKAGE_CLANG + select BR2_PACKAGE_LIBCLC + select BR2_PACKAGE_HAS_LIBOPENCL + # inform the .mk file of gallium, dri or vulkan driver selection config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER bool @@ -112,6 +125,7 @@ comment "R600 driver needs a uClibc or glibc toolchain when llvm is enabled" config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI bool "Gallium Radeon SI driver" + depends on BR2_USE_MMU # libdrm depends on BR2_i386 || BR2_x86_64 depends on BR2_PACKAGE_MESA3D_LLVM depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils @@ -128,6 +142,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI # Radeon SI needs libelf # musl is not currently compatible with elfutils comment "Radeon SI driver needs a uClibc or glibc toolchain" + depends on BR2_USE_MMU depends on BR2_PACKAGE_MESA3D_LLVM depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) @@ -186,11 +201,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 @@ -211,7 +231,7 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL bool "Vulkan Intel driver" depends on BR2_i386 || BR2_x86_64 depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libxshmfence - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # memfd.h + 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 # xorgproto select BR2_PACKAGE_MESA3D_VULKAN_DRIVER @@ -220,10 +240,10 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL 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_HAS_SYNC_4 - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 || \ + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \ !BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7 comment "Off-screen Rendering" @@ -253,29 +273,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 @@ -287,6 +284,9 @@ config BR2_PACKAGE_PROVIDES_LIBEGL config BR2_PACKAGE_PROVIDES_LIBGLES default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES +config BR2_PACKAGE_PROVIDES_LIBOPENCL + default "mesa3d" if BR2_PACKAGE_MESA3D_OPENCL + endif # BR2_PACKAGE_MESA3D comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library" diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash index ff336f7d41..b0774ff407 100644 --- a/package/mesa3d/mesa3d.hash +++ b/package/mesa3d/mesa3d.hash @@ -1,8 +1,7 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2018-July/000445.html -md5 622bd23ca8daa83a62938bd33600a580 mesa-18.1.5.tar.xz -sha1 1ca7d5f5d12c95f8da137be34223229b9f0594fe mesa-18.1.5.tar.xz -sha256 69dbe6f1a6660386f5beb85d4fcf003ee23023ed7b9a603de84e9a37e8d98dea mesa-18.1.5.tar.xz -sha512 f0bcb903bbf2ff7fc0b4a8fe100ea26ee91c0029b64adaf5fc4877ed7681f325c54b1be8eb0b140bff620da79f30a96375c2e1085e504ebfaf50e57f6da93013 mesa-18.1.5.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2019-February/000492.html +md5 e9d1a24dbd5ca20efa75b9a29eb4566f mesa-18.3.3.tar.xz +sha1 abb067204ae31493dba7710c378b2b90245108ca mesa-18.3.3.tar.xz +sha256 2ab6886a6966c532ccbcc3b240925e681464b658244f0cbed752615af3936299 mesa-18.3.3.tar.xz +sha512 cd6214b8bbeb3e3d187139ae1e949684f32f90152e1d7ba8d81222bd088770e28cff7ff165f2ccc41c068950561fe952420c6e54472f7204532a8d8700ff18bb mesa-18.3.3.tar.xz # License sha256 630e75b4fdeb75ee2bf9e55db54dd1e3ff7353d52d9314ca8512bfd460f8e24c docs/license.html -sha256 3a0cf6c7835f98f86d5579b2cc517f84254da7411f764fb0095a383fb0759771 docs/patents.txt diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index e1e21321b0..c3469f7788 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -5,11 +5,13 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 18.1.5 +MESA3D_VERSION = 18.3.3 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz MESA3D_SITE = https://mesa.freedesktop.org/archive MESA3D_LICENSE = MIT, SGI, Khronos MESA3D_LICENSE_FILES = docs/license.html +# 0002-configure.ac-invert-order-for-wayland-scanner-check.patch +# 0003-set-LIBCLC_INCLUDEDIR.patch MESA3D_AUTORECONF = YES MESA3D_INSTALL_STAGING = YES @@ -43,6 +45,18 @@ else MESA3D_CONF_OPTS += --disable-llvm endif +# Disable opencl-icd: OpenCL lib will be named libOpenCL instead of +# libMesaOpenCL and CL headers are installed +ifeq ($(BR2_PACKAGE_MESA3D_OPENCL),y) +MESA3D_PROVIDES += libopencl +MESA3D_DEPENDENCIES += clang libclc +MESA3D_CONF_OPTS += --enable-opencl \ + --disable-opencl-icd \ + --with-clang-libdir=$(STAGING_DIR)/usr/lib +else +MESA3D_CONF_OPTS += --disable-opencl +endif + ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS),y) MESA3D_DEPENDENCIES += elfutils endif @@ -61,6 +75,8 @@ MESA3D_DEPENDENCIES += \ xlib_libXext \ xlib_libXdamage \ xlib_libXfixes \ + xlib_libXrandr \ + xlib_libXxf86vm \ xorgproto \ libxcb MESA3D_CONF_OPTS += --enable-glx --disable-mangling @@ -117,12 +133,10 @@ MESA3D_CONF_OPTS += --enable-dri3 else MESA3D_CONF_OPTS += --disable-dri3 endif -ifeq ($(BR2_PACKAGE_XLIB_LIBXXF86VM),y) -MESA3D_DEPENDENCIES += xlib_libXxf86vm -endif MESA3D_CONF_OPTS += \ --enable-shared-glapi \ --enable-driglx-direct \ + --with-dri-driverdir=/usr/lib/dri \ --with-dri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y)) endif @@ -202,13 +216,6 @@ else MESA3D_CONF_OPTS += --disable-gles1 --disable-gles2 endif -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT),y) -MESA3D_CONF_OPTS += --enable-texture-float -MESA3D_LICENSE_FILES += docs/patents.txt -else -MESA3D_CONF_OPTS += --disable-texture-float -endif - ifeq ($(BR2_PACKAGE_XLIB_LIBXVMC),y) MESA3D_DEPENDENCIES += xlib_libXvMC MESA3D_CONF_OPTS += --enable-xvmc diff --git a/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch b/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch index 03c1944258..a7b66c1067 100644 --- a/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch +++ b/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch @@ -1,32 +1,36 @@ -From 53e4920038d5562b7b672fec8b9469fc02eef4ad Mon Sep 17 00:00:00 2001 +From 4db4fd79d9bb2b98cea1117f22b6c97942ab2ecd Mon Sep 17 00:00:00 2001 From: Eric Le Bihan -Date: Thu, 10 May 2018 21:57:49 +0200 +Date: Sat, 14 Jul 2018 11:18:45 +0200 Subject: [PATCH] Only fix RPATH if install_rpath is not empty Signed-off-by: Eric Le Bihan +[Fix: remove leftover from original/unconditional code] +Signed-off-by: Peter Seiderer --- - mesonbuild/scripts/meson_install.py | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) + mesonbuild/minstall.py | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) -diff --git a/mesonbuild/scripts/meson_install.py b/mesonbuild/scripts/meson_install.py -index 013f2a00..f7ff1dcc 100644 ---- a/mesonbuild/scripts/meson_install.py -+++ b/mesonbuild/scripts/meson_install.py -@@ -368,7 +368,13 @@ def install_targets(d): - printed_symlink_error = True - if os.path.isfile(outname): - try: -- depfixer.fix_rpath(outname, install_rpath, 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, False) -+ else: -+ print("Skipping RPATH fixing") - except SystemExit as e: - if isinstance(e.code, int) and e.code == 0: - pass +diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py +index 8ac6aab1..7ef04116 100644 +--- a/mesonbuild/minstall.py ++++ b/mesonbuild/minstall.py +@@ -478,8 +478,14 @@ class Installer: + printed_symlink_error = True + if os.path.isfile(outname): + try: +- depfixer.fix_rpath(outname, install_rpath, final_path, +- install_name_mappings, verbose=False) ++ # Buildroot check-host-rpath script expects RPATH ++ # But if install_rpath is empty, it will stripped. ++ # So, preserve it in this case ++ if install_rpath: ++ depfixer.fix_rpath(outname, install_rpath, final_path, ++ install_name_mappings, verbose=False) ++ else: ++ print("Skipping RPATH fixing") + except SystemExit as e: + if isinstance(e.code, int) and e.code == 0: + pass -- -2.14.3 +2.20.1 diff --git a/package/meson/cross-compilation.conf.in b/package/meson/cross-compilation.conf.in index 0eec74087b..fc8e27f7eb 100644 --- a/package/meson/cross-compilation.conf.in +++ b/package/meson/cross-compilation.conf.in @@ -11,6 +11,7 @@ strip = '@TARGET_CROSS@strip' pkgconfig = '@HOST_DIR@/usr/bin/pkg-config' [properties] +needs_exe_wrapper = true c_args = [@TARGET_CFLAGS@] c_link_args = [@TARGET_LDFLAGS@] cpp_args = [@TARGET_CXXFLAGS@] diff --git a/package/meson/meson.hash b/package/meson/meson.hash index bd9e4114ff..3a5c7dd438 100644 --- a/package/meson/meson.hash +++ b/package/meson/meson.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://github.com/mesonbuild/meson/releases/download/0.46.1/meson-0.46.1.tar.gz.asc -sha256 19497a03e7e5b303d8d11f98789a79aba59b5ad4a81bd00f4d099be0212cee78 meson-0.46.1.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING +# https://github.com/mesonbuild/meson/releases/download/0.49.0/meson-0.49.0.tar.gz.asc +sha256 fb0395c4ac208eab381cd1a20571584bdbba176eb562a7efa9cb17cace0e1551 meson-0.49.0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/package/meson/meson.mk b/package/meson/meson.mk index 28c9e6f202..d76541cc93 100644 --- a/package/meson/meson.mk +++ b/package/meson/meson.mk @@ -4,7 +4,7 @@ # ################################################################################ -MESON_VERSION = 0.46.1 +MESON_VERSION = 0.49.0 MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION) MESON_LICENSE = Apache-2.0 MESON_LICENSE_FILES = COPYING @@ -14,16 +14,47 @@ HOST_MESON_DEPENDENCIES = host-ninja HOST_MESON_NEEDS_HOST_PYTHON = python3 HOST_MESON_TARGET_ENDIAN = $(call LOWERCASE,$(BR2_ENDIAN)) -HOST_MESON_TARGET_CPU = $(call qstrip,$(BR2_GCC_TARGET_CPU)) +HOST_MESON_TARGET_CPU = $(GCC_TARGET_CPU) + +# https://mesonbuild.com/Reference-tables.html#cpu-families +ifeq ($(BR2_arcle)$(BR2_arceb),y) +HOST_MESON_TARGET_CPU_FAMILY = arc +else ifeq ($(BR2_arm)$(BR2_armeb),y) +HOST_MESON_TARGET_CPU_FAMILY = arm +else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) +HOST_MESON_TARGET_CPU_FAMILY = aarch64 +else ifeq ($(BR2_i386),y) +HOST_MESON_TARGET_CPU_FAMILY = x86 +else ifeq ($(BR2_mips)$(BR2_mipsel),y) +HOST_MESON_TARGET_CPU_FAMILY = mips +else ifeq ($(BR2_mips64)$(BR2_mips64el),y) +HOST_MESON_TARGET_CPU_FAMILY = mips64 +else ifeq ($(BR2_powerpc),y) +HOST_MESON_TARGET_CPU_FAMILY = ppc +else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y) +HOST_MESON_TARGET_CPU_FAMILY = ppc64 +else ifeq ($(BR2_riscv),y) +HOST_MESON_TARGET_CPU_FAMILY = riscv64 +else ifeq ($(BR2_sparc),y) +HOST_MESON_TARGET_CPU_FAMILY = sparc +else ifeq ($(BR2_sparc64),y) +HOST_MESON_TARGET_CPU_FAMILY = sparc64 +else ifeq ($(BR2_x86_64),y) +HOST_MESON_TARGET_CPU_FAMILY = x86_64 +else +HOST_MESON_TARGET_CPU_FAMILY = $(ARCH) +endif HOST_MESON_SED_CFLAGS = $(if $(TARGET_CFLAGS),`printf '"%s"$(comma) ' $(TARGET_CFLAGS)`) HOST_MESON_SED_LDFLAGS = $(if $(TARGET_LDFLAGS),`printf '"%s"$(comma) ' $(TARGET_LDFLAGS)`) HOST_MESON_SED_CXXFLAGS = $(if $(TARGET_CXXFLAGS),`printf '"%s"$(comma) ' $(TARGET_CXXFLAGS)`) +# Generate a Meson cross-compilation.conf suitable for use with the +# SDK define HOST_MESON_INSTALL_CROSS_CONF mkdir -p $(HOST_DIR)/etc/meson sed -e "s%@TARGET_CROSS@%$(TARGET_CROSS)%g" \ - -e "s%@TARGET_ARCH@%$(ARCH)%g" \ + -e "s%@TARGET_ARCH@%$(HOST_MESON_TARGET_CPU_FAMILY)%g" \ -e "s%@TARGET_CPU@%$(HOST_MESON_TARGET_CPU)%g" \ -e "s%@TARGET_ENDIAN@%$(HOST_MESON_TARGET_ENDIAN)%g" \ -e "s%@TARGET_CFLAGS@%$(HOST_MESON_SED_CFLAGS)%g" \ @@ -34,6 +65,6 @@ define HOST_MESON_INSTALL_CROSS_CONF > $(HOST_DIR)/etc/meson/cross-compilation.conf endef -HOST_MESON_POST_INSTALL_HOOKS += HOST_MESON_INSTALL_CROSS_CONF +TARGET_FINALIZE_HOOKS += HOST_MESON_INSTALL_CROSS_CONF $(eval $(host-python-package)) diff --git a/package/micropython/micropython.hash b/package/micropython/micropython.hash index d42d7ee148..88068a60f3 100644 --- a/package/micropython/micropython.hash +++ b/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/package/micropython/micropython.mk b/package/micropython/micropython.mk index 2c6bddd81d..cff8b17b14 100644 --- a/package/micropython/micropython.mk +++ b/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/package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch b/package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch new file mode 100644 index 0000000000..36ddee422f --- /dev/null +++ b/package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch @@ -0,0 +1,31 @@ +From 949ae648bf7c654b8fae607a0988bfa672607156 Mon Sep 17 00:00:00 2001 +From: Patrick Rauscher +Date: Fri, 18 Aug 2017 17:31:23 +0200 +Subject: [PATCH] Prepend zero-byte before unsigned integers + +fixes #8 + +Signed-off-by: Alexander Sverdlin +--- + mib.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/mib.c b/mib.c +index 7d2e513..a9ffbe2 100644 +--- a/mib.c ++++ b/mib.c +@@ -207,6 +207,11 @@ static int encode_unsigned(data_t *data, int type, unsigned int ticks_value) + else + length = 1; + ++ /* check if the integer could be interpreted negative during a signed decode and prepend a zero-byte if necessary */ ++ if ((ticks_value >> (8 * (length - 1))) & 0x80) { ++ length++; ++ } ++ + *buffer++ = type; + *buffer++ = length; + while (length--) +-- +2.13.2 + diff --git a/package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch b/package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch new file mode 100644 index 0000000000..045d296913 --- /dev/null +++ b/package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch @@ -0,0 +1,28 @@ +From 556c8a406c9e08dd9444222e072f7eb9c82a81e8 Mon Sep 17 00:00:00 2001 +From: Patrick Rauscher +Date: Fri, 18 Aug 2017 17:44:32 +0200 +Subject: [PATCH] mib.c: allow unsigned integers to have an extra byte + +The extra byte can be needed when encoding huge unsigned numbers (i.e. 0x80000000 or higher). In this case, during encoding we need an extra byte to make sure clients decoding as signed int do not get negative numbers. For further details, see commit 949ae648 + +Signed-off-by: Alexander Sverdlin +--- + mib.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mib.c b/mib.c +index a9ffbe2..83cc20d 100644 +--- a/mib.c ++++ b/mib.c +@@ -372,7 +372,7 @@ static int data_alloc(data_t *data, int type) + case BER_TYPE_COUNTER: + case BER_TYPE_GAUGE: + case BER_TYPE_TIME_TICKS: +- data->max_length = sizeof(unsigned int) + 2; ++ data->max_length = sizeof(unsigned int) + 3; + data->encoded_length = 0; + data->buffer = allocate(data->max_length); + break; +-- +2.13.2 + diff --git a/package/mini-snmpd/Config.in b/package/mini-snmpd/Config.in new file mode 100644 index 0000000000..1f61cddbcf --- /dev/null +++ b/package/mini-snmpd/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_MINI_SNMPD + bool "mini-snmpd" + help + Mini SNMPd is a minimal implementation targeted at small or + embedded UNIX systems with limited resources + + http://troglobit.com/mini-snmpd.html diff --git a/package/mini-snmpd/mini-snmpd.hash b/package/mini-snmpd/mini-snmpd.hash new file mode 100644 index 0000000000..19118b7f96 --- /dev/null +++ b/package/mini-snmpd/mini-snmpd.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 59f84e94ef7c9ff36d243c7974a100903a4a9a0bb529b67cf6f0d3352138a86b mini-snmpd-v1.4.tar.gz +sha256 8a43b895972a24567297f44f35dab0f5f9ed3b7db6dac0bf6094075b27ab9d56 COPYING diff --git a/package/mini-snmpd/mini-snmpd.mk b/package/mini-snmpd/mini-snmpd.mk new file mode 100644 index 0000000000..ebcbcce1ce --- /dev/null +++ b/package/mini-snmpd/mini-snmpd.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# mini-snmpd +# +################################################################################ + +MINI_SNMPD_VERSION = v1.4 +MINI_SNMPD_SITE = $(call github,troglobit,mini-snmpd,$(MINI_SNMPD_VERSION)) +MINI_SNMPD_LICENSE = GPL-2.0 +MINI_SNMPD_LICENSE_FILES = COPYING +MINI_SNMPD_AUTORECONF = YES + +define MINI_SNMPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/mini-snmpd/mini-snmpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/mini-snmpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/mini-snmpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mini-snmpd.service +endef + +$(eval $(autotools-package)) diff --git a/package/mini-snmpd/mini-snmpd.service b/package/mini-snmpd/mini-snmpd.service new file mode 100644 index 0000000000..8a15585e6e --- /dev/null +++ b/package/mini-snmpd/mini-snmpd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Mini SNMP Daemon +StartLimitIntervalSec=0 + +[Service] +Environment='COMMUNITY=public' +ExecStart=/sbin/mini_snmpd -a -n -c ${COMMUNITY} $EXTRA_PARAMS +Restart=always +RestartSec=1 + +[Install] +WantedBy=multi-user.target diff --git a/package/minicom/0001-musl-libc-compile-fix.patch b/package/minicom/0001-musl-libc-compile-fix.patch deleted file mode 100644 index 94c0da06a5..0000000000 --- a/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/package/minicom/0001-sysdep1-check-if-RS485-is-support-before-setting-its.patch b/package/minicom/0001-sysdep1-check-if-RS485-is-support-before-setting-its.patch new file mode 100644 index 0000000000..39f68350c8 --- /dev/null +++ b/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/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch b/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch deleted file mode 100644 index 83e1530600..0000000000 --- a/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/package/minicom/0002-src-Makefile.am-fix-ascii-xfr-link-with-lintl.patch b/package/minicom/0002-src-Makefile.am-fix-ascii-xfr-link-with-lintl.patch new file mode 100644 index 0000000000..efc880d2e7 --- /dev/null +++ b/package/minicom/0002-src-Makefile.am-fix-ascii-xfr-link-with-lintl.patch @@ -0,0 +1,44 @@ +From 6fe734c5a1d51e2d4a3c1cd4d7a61cc246faa3f2 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 20 Apr 2019 13:34:23 +0200 +Subject: [PATCH] src/Makefile.am: fix ascii-xfr link with lintl + +ascii-xfr needs to link with lintl if needed: + +/home/dawncrow/buildroot-test/scripts/instance-0/output/host/bin/m68k-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -W -Wall -Wextra -std=gnu99 -Wno-format-truncation -o ascii-xfr ascii-xfr.o ../lib/libport.a -lncurses +ascii-xfr.o: In function `stats': +ascii-xfr.c:(.text+0x4c): undefined reference to `libintl_gettext' +ascii-xfr.c:(.text+0xb2): undefined reference to `libintl_gettext' +ascii-xfr.o: In function `usage': +ascii-xfr.c:(.text+0x10e): undefined reference to `libintl_gettext' +ascii-xfr.o: In function `asend': +ascii-xfr.c:(.text+0x534): undefined reference to `libintl_gettext' +ascii-xfr.o: In function `main': +ascii-xfr.c:(.text.startup+0xc8): undefined reference to `libintl_gettext' +ascii-xfr.o:ascii-xfr.c:(.text.startup+0x1a8): more undefined references to `libintl_gettext' follow + +Fixes: + - http://autobuild.buildroot.org/results/e64cdcf648764be53a3e951304bb89dc9410db23 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://salsa.debian.org/minicom-team/minicom/merge_requests/7] +--- + src/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 19b1888..ba92f71 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -29,6 +29,7 @@ confdir = @MINICOM_CONFDIR@ + AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/lib -DCONFDIR=\"$(confdir)\" \ + -DLOCALEDIR=\"$(datadir)/locale\" + ++ascii_xfr_LDADD = @LIBINTL@ + minicom_LDADD = @LIBINTL@ $(LIBICONV) $(MINICOM_LIBPORT) $(LOCKDEV_LIBS) + minicom_keyserv_LDADD = @LIBINTL@ $(MINICOM_LIBPORT) + runscript_LDADD = @LIBINTL@ $(MINICOM_LIBPORT) +-- +2.20.1 + diff --git a/package/minicom/Config.in b/package/minicom/Config.in index c41c188570..efc4f1b709 100644 --- a/package/minicom/Config.in +++ b/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/package/minicom/minicom.hash b/package/minicom/minicom.hash index f49e430c67..c566f4be52 100644 --- a/package/minicom/minicom.hash +++ b/package/minicom/minicom.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1 minicom-2.7.1.tar.gz +sha256 3bd58b594ac66545649c13ab2b728a4df0f78612eb030680d4152f7627d1f177 minicom-19ab49422f3431102c31fea01549121385113f80.tar.gz sha256 cf80a758014eefbf068afffe3d462fc34ff4f528527524d8e100329c42094e15 COPYING diff --git a/package/minicom/minicom.mk b/package/minicom/minicom.mk index cb06482379..000597f8a9 100644 --- a/package/minicom/minicom.mk +++ b/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/package/minizip/Config.in b/package/minizip/Config.in index 7205e0007e..5a0c52b3bb 100644 --- a/package/minizip/Config.in +++ b/package/minizip/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_MINIZIP bool "minizip" - select BR2_PACKAGE_ZLIB + depends on BR2_USE_WCHAR help Enables to extract files from a .zip archive file. It is compatible with PKZip 2.04g, WinZip, InfoZip, @@ -9,7 +9,10 @@ config BR2_PACKAGE_MINIZIP https://github.com/nmoinvaz/minizip config BR2_PACKAGE_MINIZIP_DEMOS - bool "miniunzip/minizip" + bool "minizip" depends on BR2_PACKAGE_MINIZIP help - Enable miniunzip/minizip binary tools. + Enable minizip binary tool. + +comment "minizip needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR diff --git a/package/minizip/minizip.hash b/package/minizip/minizip.hash index 718026c1f6..d9473581c1 100644 --- a/package/minizip/minizip.hash +++ b/package/minizip/minizip.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 5666b5ee3e85dfd2dd119970613c12e6267d31813f07d3ffa5d359fe272cb6d1 minizip-1.1.tar.gz +sha256 b01607d219ed40d817404947dd5339d64242a083df6372c37b0387b5501d84f5 minizip-2.8.2.tar.gz +sha256 87642305968765a4030fd202ff7006afa67274da7f9bde84506e51ae58ecc2b4 LICENSE diff --git a/package/minizip/minizip.mk b/package/minizip/minizip.mk index bcd6cc928f..a9eea1b1c8 100644 --- a/package/minizip/minizip.mk +++ b/package/minizip/minizip.mk @@ -4,13 +4,38 @@ # ################################################################################ -MINIZIP_VERSION = 1.1 +MINIZIP_VERSION = 2.8.2 MINIZIP_SITE = $(call github,nmoinvaz,minizip,$(MINIZIP_VERSION)) -MINIZIP_DEPENDENCIES = zlib -MINIZIP_AUTORECONF = YES +MINIZIP_DEPENDENCIES = \ + host-pkgconf \ + $(if $(BR2_PACKAGE_LIBBSD),libbsd) \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) MINIZIP_INSTALL_STAGING = YES -MINIZIP_CONF_OPTS = $(if $(BR2_PACKAGE_MINIZIP_DEMOS),--enable-demos) +MINIZIP_CONF_OPTS = \ + $(if $(BR2_PACKAGE_MINIZIP_DEMOS),-DBUILD_TEST=ON) \ + -DUSE_COMPAT=OFF MINIZIP_LICENSE = Zlib MINIZIP_LICENSE_FILES = LICENSE -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_BZIP2),y) +MINIZIP_DEPENDENCIES += bzip2 +MINIZIP_CONF_OPTS += -DUSE_BZIP2=ON +else +MINIZIP_CONF_OPTS += -DUSE_BZIP2=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +MINIZIP_DEPENDENCIES += openssl +MINIZIP_CONF_OPTS += -DUSE_OPENSSL=ON +else +MINIZIP_CONF_OPTS += -DUSE_OPENSSL=OFF +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +MINIZIP_DEPENDENCIES += zlib +MINIZIP_CONF_OPTS += -DUSE_ZLIB=ON +else +MINIZIP_CONF_OPTS += -DUSE_ZLIB=OFF +endif + +$(eval $(cmake-package)) diff --git a/package/mjpg-streamer/0001-musl-pthread.patch b/package/mjpg-streamer/0001-musl-pthread.patch deleted file mode 100644 index 9e76e760d8..0000000000 --- a/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/package/mjpg-streamer/Config.in b/package/mjpg-streamer/Config.in index f42c2a50db..59f4208ca7 100644 --- a/package/mjpg-streamer/Config.in +++ b/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/package/mjpg-streamer/mjpg-streamer.hash b/package/mjpg-streamer/mjpg-streamer.hash index 8bbac29e33..76716266b9 100644 --- a/package/mjpg-streamer/mjpg-streamer.hash +++ b/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/package/mjpg-streamer/mjpg-streamer.mk b/package/mjpg-streamer/mjpg-streamer.mk index 4fecf69ec9..4077a3dcbc 100644 --- a/package/mjpg-streamer/mjpg-streamer.mk +++ b/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/package/mmc-utils/0002-fix-overlapping-with-strncpy.patch b/package/mmc-utils/0002-fix-overlapping-with-strncpy.patch new file mode 100644 index 0000000000..a562845ffa --- /dev/null +++ b/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] 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/package/moarvm/0001-Fix-Name-Collision-With-LibTomMath-Funcs.patch b/package/moarvm/0001-Fix-Name-Collision-With-LibTomMath-Funcs.patch new file mode 100644 index 0000000000..4af4d3264e --- /dev/null +++ b/package/moarvm/0001-Fix-Name-Collision-With-LibTomMath-Funcs.patch @@ -0,0 +1,65 @@ +From ead5f4da759465cf6fc2ceab7c431d3550a3323f Mon Sep 17 00:00:00 2001 +From: Timo Paulssen +Date: Tue, 15 Jan 2019 12:35:56 +0100 +Subject: [PATCH] Fix Name Collision With Existing LibTomMath Function + +fixes #1032 + +Upstream: https://github.com/MoarVM/MoarVM/commit/f7204a3ee5199dd70f26d6fe133008cc86c63bbe +(backported mp_get_double() as other functions weren't yet used) + +Signed-off-by: Matthew Weber +--- + src/math/bigintops.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/math/bigintops.c b/src/math/bigintops.c +index 2275593..8ab7ed6 100644 +--- a/src/math/bigintops.c ++++ b/src/math/bigintops.c +@@ -45,7 +45,7 @@ int MVM_bigint_mp_set_uint64(mp_int * a, MVMuint64 b) { + return MP_OKAY; + } + +-static MVMnum64 mp_get_double(mp_int *a) { ++static MVMnum64 MVM_mp_get_double(mp_int *a) { + MVMnum64 d = 0.0; + MVMnum64 sign = SIGN(a) == MP_NEG ? -1.0 : 1.0; + int i; +@@ -680,8 +680,8 @@ MVMObject * MVM_bigint_pow(MVMThreadContext *tc, MVMObject *a, MVMObject *b, + } + } + else { +- MVMnum64 f_base = mp_get_double(base); +- MVMnum64 f_exp = mp_get_double(exponent); ++ MVMnum64 f_base = MVM_mp_get_double(base); ++ MVMnum64 f_exp = MVM_mp_get_double(exponent); + r = MVM_repr_box_num(tc, num_type, pow(f_base, f_exp)); + } + clear_temp_bigints(tmp, 2); +@@ -880,7 +880,7 @@ MVMnum64 MVM_bigint_to_num(MVMThreadContext *tc, MVMObject *a) { + + if (MVM_BIGINT_IS_BIG(ba)) { + mp_int *ia = ba->u.bigint; +- return mp_get_double(ia); ++ return MVM_mp_get_double(ia); + } else { + return (double)ba->u.smallint.value; + } +@@ -913,11 +913,11 @@ MVMnum64 MVM_bigint_div_num(MVMThreadContext *tc, MVMObject *a, MVMObject *b) { + mp_init(&reduced_b); + mp_div_2d(ia, max_size - 1023, &reduced_a, NULL); + mp_div_2d(ib, max_size - 1023, &reduced_b, NULL); +- c = mp_get_double(&reduced_a) / mp_get_double(&reduced_b); ++ c = MVM_mp_get_double(&reduced_a) / MVM_mp_get_double(&reduced_b); + mp_clear(&reduced_a); + mp_clear(&reduced_b); + } else { +- c = mp_get_double(ia) / mp_get_double(ib); ++ c = MVM_mp_get_double(ia) / MVM_mp_get_double(ib); + } + clear_temp_bigints(tmp, 2); + } else { +-- +1.9.1 + diff --git a/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash b/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash index 5ab2e318fe..632fc935a8 100644 --- a/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash +++ b/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash @@ -1,2 +1,4 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/mobile-broadband-provider-info/20151214/mobile-broadband-provider-info-20151214.sha256sum -sha256 8ae45d6f10fed9750e259935804c4f40a4372bb119f0504187e4221896b205a4 mobile-broadband-provider-info-20151214.tar.xz +# http://ftp.acc.umu.se/pub/GNOME/sources/mobile-broadband-provider-info/20190116/mobile-broadband-provider-info-20190116.sha256sum +sha256 2cba10f82b8e6aec46b871c1f7d20086ecc17e1168f18e588a6a37770fa3c59b mobile-broadband-provider-info-20190116.tar.xz +# Locally computed +sha256 3d510b215a33087b9ceb9592da21575ea1f9f98bd4d983a38e65fe851a552174 COPYING diff --git a/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk b/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk index 1a68708d45..ed741f6fa2 100644 --- a/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk +++ b/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOBILE_BROADBAND_PROVIDER_INFO_VERSION = 20151214 +MOBILE_BROADBAND_PROVIDER_INFO_VERSION = 20190116 MOBILE_BROADBAND_PROVIDER_INFO_SITE = http://ftp.gnome.org/pub/GNOME/sources/mobile-broadband-provider-info/$(MOBILE_BROADBAND_PROVIDER_INFO_VERSION) MOBILE_BROADBAND_PROVIDER_INFO_SOURCE = mobile-broadband-provider-info-$(MOBILE_BROADBAND_PROVIDER_INFO_VERSION).tar.xz MOBILE_BROADBAND_PROVIDER_INFO_LICENSE = Public domain diff --git a/package/modem-manager/S44modem-manager b/package/modem-manager/S44modem-manager old mode 100755 new mode 100644 diff --git a/package/mongodb/0001-ssl_manager.cpp-fix-build-with-gcc-7-and-fpermissive.patch b/package/mongodb/0001-ssl_manager.cpp-fix-build-with-gcc-7-and-fpermissive.patch new file mode 100644 index 0000000000..b4b1746682 --- /dev/null +++ b/package/mongodb/0001-ssl_manager.cpp-fix-build-with-gcc-7-and-fpermissive.patch @@ -0,0 +1,55 @@ +From 362be06fc16a5ad0f9e9aa90cc763c5242e8e35c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 9 Feb 2019 12:41:45 +0100 +Subject: [PATCH] ssl_manager.cpp: fix build with gcc 7 and -fpermissive + +Change prototype of DERToken::parse function from +parse(ConstDataRange cdr, size_t* outLength); +to parse(ConstDataRange cdr, uint64_t* outLength); + +Otherwise, we got the following error: + +src/mongo/util/net/ssl_manager.cpp: In static member function 'static mongo::StatusWith mongo::{anonymous}::DERToken::parse(mongo::ConstDataRange, size_t*)': +src/mongo/util/net/ssl_manager.cpp:575:79: error: invalid conversion from 'size_t* {aka unsigned int*}' to 'long unsigned int*' [-fpermissive] + if (mongoUnsignedAddOverflow64(tagAndLengthByteCount, derLength, outLength) || + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/mongodb/mongo/pull/1296] +--- + src/mongo/util/net/ssl_manager.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/mongo/util/net/ssl_manager.cpp b/src/mongo/util/net/ssl_manager.cpp +index b93ebe84a4..3511eb5d99 100644 +--- a/src/mongo/util/net/ssl_manager.cpp ++++ b/src/mongo/util/net/ssl_manager.cpp +@@ -782,7 +782,7 @@ public: + * + * Returns a DERToken which consists of the (tag, length, value) tuple. + */ +- static StatusWith parse(ConstDataRange cdr, size_t* outLength); ++ static StatusWith parse(ConstDataRange cdr, uint64_t* outLength); + + private: + DERType _type{DERType::EndOfContent}; +@@ -799,7 +799,7 @@ struct DataType::Handler { + size_t length, + size_t* advanced, + std::ptrdiff_t debug_offset) { +- size_t outLength; ++ uint64_t outLength; + + auto swPair = DERToken::parse(ConstDataRange(ptr, length), &outLength); + +@@ -844,7 +844,7 @@ StatusWith readDERString(ConstDataRangeCursor& cdc) { + } + + +-StatusWith DERToken::parse(ConstDataRange cdr, size_t* outLength) { ++StatusWith DERToken::parse(ConstDataRange cdr, uint64_t* outLength) { + const size_t kTagLength = 1; + const size_t kTagLengthAndInitialLengthByteLength = kTagLength + 1; + +-- +2.14.1 + diff --git a/package/mongodb/Config.in b/package/mongodb/Config.in index ed3ad56916..9c5dba8347 100644 --- a/package/mongodb/Config.in +++ b/package/mongodb/Config.in @@ -1,18 +1,30 @@ -# from src/mongo/platform/bits.h +# from https://docs.mongodb.com/manual/installation/#supported-platforms config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS bool # ARM needs LDREX/STREX, so ARMv6+ default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 - default y if BR2_aarch64 || BR2_i386 || BR2_powerpc64 || BR2_x86_64 + default y if BR2_aarch64 || BR2_x86_64 config BR2_PACKAGE_MONGODB bool "mongodb" depends on BR2_PACKAGE_MONGODB_ARCH_SUPPORTS + depends on !BR2_PACKAGE_PYTHON3 depends on BR2_TOOLCHAIN_USES_GLIBC # needs glibc malloc_usable_size depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_IOSTREAMS + select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE_UTF # runtime + select BR2_PACKAGE_SNAPPY + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_YAML_CPP + select BR2_PACKAGE_ZLIB help MongoDB is a cross-platform document-oriented database (NoSQL). @@ -23,8 +35,9 @@ config BR2_PACKAGE_MONGODB https://www.mongodb.org/ -comment "mongodb needs a glibc toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "mongodb needs a glibc toolchain w/ wchar, threads, C++, gcc >= 6" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_6 depends on BR2_PACKAGE_MONGODB_ARCH_SUPPORTS + depends on !BR2_PACKAGE_PYTHON3 diff --git a/package/mongodb/mongodb.hash b/package/mongodb/mongodb.hash index b01ad53ab5..916323d7c1 100644 --- a/package/mongodb/mongodb.hash +++ b/package/mongodb/mongodb.hash @@ -1,2 +1,4 @@ # Locally computed: -sha256 4764945631bca4ac5c2b239e04e91db00e39716915204349170c37cb7897c564 mongodb-r3.3.4.tar.gz +sha256 5db85f06b2a0b2ae393339a4aed1366928aaef2b46c7c32826fa87c3217dc6f7 mongodb-r4.0.6.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 APACHE-2.0.txt +sha256 09d99ca61eb07873d5334077acba22c33e7f7d0a9fa08c92734e0ac8430d6e27 LICENSE-Community.txt diff --git a/package/mongodb/mongodb.mk b/package/mongodb/mongodb.mk index 54c904e51a..e420ecb41d 100644 --- a/package/mongodb/mongodb.mk +++ b/package/mongodb/mongodb.mk @@ -4,21 +4,38 @@ # ################################################################################ -MONGODB_VERSION_BASE = 3.3.4 +MONGODB_VERSION_BASE = 4.0.6 MONGODB_VERSION = r$(MONGODB_VERSION_BASE) MONGODB_SITE = $(call github,mongodb,mongo,$(MONGODB_VERSION)) -MONGODB_LICENSE = AGPL-3.0, Apache-2.0 -MONGODB_LICENSE_FILES = GNU-AGPL-3.0.txt APACHE-2.0.txt +MONGODB_LICENSE = Apache-2.0 (drivers), SSPL (database) +MONGODB_LICENSE_FILES = APACHE-2.0.txt LICENSE-Community.txt -MONGODB_DEPENDENCIES = host-scons +MONGODB_DEPENDENCIES = \ + boost \ + host-python-cheetah \ + host-python-pyyaml \ + host-python-typing \ + host-scons \ + pcre \ + snappy \ + sqlite \ + yaml-cpp \ + zlib MONGODB_SCONS_TARGETS = mongod mongos MONGODB_SCONS_ENV = CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" \ -j"$(PARALLEL_JOBS)" -MONGODB_SCONS_OPTS = --disable-warnings-as-errors +MONGODB_SCONS_OPTS = \ + --disable-warnings-as-errors \ + --use-system-boost \ + --use-system-pcre \ + --use-system-snappy \ + --use-system-sqlite \ + --use-system-yaml \ + --use-system-zlib # need to pass mongo version when not building from git repo MONGODB_SCONS_OPTS += MONGO_VERSION=$(MONGODB_VERSION_BASE)- @@ -41,9 +58,18 @@ else MONGODB_SCONS_OPTS += --js-engine=none --allocator=system endif +ifeq ($(BR2_PACKAGE_LIBCURL),y) +MONGODB_DEPENDENCIES += libcurl +MONGODB_SCONS_OPTS += --enable-free-mon=on +else +MONGODB_SCONS_OPTS += --enable-free-mon=off +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) MONGODB_DEPENDENCIES += openssl -MONGODB_SCONS_OPTS += --ssl=SSL +MONGODB_SCONS_OPTS += \ + --ssl \ + --ssl-provider=openssl endif define MONGODB_BUILD_CMDS diff --git a/package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch b/package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch deleted file mode 100644 index a696042436..0000000000 --- a/package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 9e93f71556f8d5ba62fccec46ee5689e385d6d37 Mon Sep 17 00:00:00 2001 -From: Deomid Ryabkov -Date: Mon, 13 Aug 2018 15:50:01 +0300 -Subject: [PATCH] Fix body length calculation in mg_handle_cgi - -Fixes https://nvd.nist.gov/vuln/detail/CVE-2018-10945 - -CL: mg: Fix body length calculation in mg_handle_cgi - -PUBLISHED_FROM=0c30cf36fdb67c75f6148468701e23d6ee72d953 - -[Thomas: backported from upstream commit -f33d3a4e0225d6e009b90193402141025e9ea74d, dropping the changes in -src/mg_http_cgi.c, because back in 6.7, the initial mongoose sources -were not in the tree, only the amalgamated version.] -Signed-off-by: Thomas Petazzoni ---- - mongoose.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/mongoose.c b/mongoose.c -index 7e55896..f5b0177 100644 ---- a/mongoose.c -+++ b/mongoose.c -@@ -8308,7 +8308,6 @@ MG_INTERNAL void mg_handle_cgi(struct mg_connection *nc, const char *prog, - - if (mg_start_process(opts->cgi_interpreter, prog, blk.buf, blk.vars, dir, - fds[1]) != 0) { -- size_t n = nc->recv_mbuf.len - (hm->message.len - hm->body.len); - struct mg_connection *cgi_nc = - mg_add_sock(nc->mgr, fds[0], mg_cgi_ev_handler); - struct mg_http_proto_data *cgi_pd = mg_http_get_proto_data(cgi_nc); -@@ -8316,8 +8315,8 @@ MG_INTERNAL void mg_handle_cgi(struct mg_connection *nc, const char *prog, - cgi_pd->cgi.cgi_nc->user_data = nc; - nc->flags |= MG_F_USER_1; - /* Push POST data to the CGI */ -- if (n > 0 && n < nc->recv_mbuf.len) { -- mg_send(cgi_pd->cgi.cgi_nc, hm->body.p, n); -+ if (hm->body.len > 0) { -+ mg_send(cgi_pd->cgi.cgi_nc, hm->body.p, hm->body.len); - } - mbuf_remove(&nc->recv_mbuf, nc->recv_mbuf.len); - } else { --- -2.14.4 - diff --git a/package/mongoose/mongoose.hash b/package/mongoose/mongoose.hash index d5252eb687..86ebe8efbf 100644 --- a/package/mongoose/mongoose.hash +++ b/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/package/mongoose/mongoose.mk b/package/mongoose/mongoose.mk index e2149e06e8..653c83c7d4 100644 --- a/package/mongoose/mongoose.mk +++ b/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/package/monkey/Config.in b/package/monkey/Config.in index 9054aa05c2..32a95ee623 100644 --- a/package/monkey/Config.in +++ b/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/package/monkey/monkey.hash b/package/monkey/monkey.hash index 6c7eada8c0..83fc0def60 100644 --- a/package/monkey/monkey.hash +++ b/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/package/monkey/monkey.mk b/package/monkey/monkey.mk index 02c26c99f4..6159f5522e 100644 --- a/package/monkey/monkey.mk +++ b/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/package/mono/mono.hash b/package/mono/mono.hash index 2cde7b6b21..db7ce52c97 100644 --- a/package/mono/mono.hash +++ b/package/mono/mono.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 f0636baa0c1399805526142e799cb697ddccf736e506cf1a30a870eaa2830a89 mono-5.12.0.226.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/package/mono/mono.mk b/package/mono/mono.mk index d1fe9bb0b1..62eaeaf8b4 100644 --- a/package/mono/mono.mk +++ b/package/mono/mono.mk @@ -4,7 +4,7 @@ # ################################################################################ -MONO_VERSION = 5.12.0.226 +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 diff --git a/package/monolite/monolite.hash b/package/monolite/monolite.hash index 77810a9511..cf72916855 100644 --- a/package/monolite/monolite.hash +++ b/package/monolite/monolite.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 fece21adc06118fa5d79d3621a5fc702ec354abf83be29a36f8718645a2dc058 monolite-linux-1051200002-latest.tar.gz +sha256 bb4b3b12b9ff04b219ad00dcea78145475d756a1c22ad84e0db978a8eee8c654 monolite-linux-1051400005-latest.tar.gz diff --git a/package/monolite/monolite.mk b/package/monolite/monolite.mk index 4e1d548994..2e1e54a549 100644 --- a/package/monolite/monolite.mk +++ b/package/monolite/monolite.mk @@ -4,7 +4,7 @@ # ################################################################################ -MONOLITE_VERSION = 1051200002 +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/package/mosquitto/0001-_GNU_SOURCE-needed-for-EAI_INPROGRESS.patch b/package/mosquitto/0001-_GNU_SOURCE-needed-for-EAI_INPROGRESS.patch deleted file mode 100644 index e350e465b4..0000000000 --- a/package/mosquitto/0001-_GNU_SOURCE-needed-for-EAI_INPROGRESS.patch +++ /dev/null @@ -1,46 +0,0 @@ -From d684055b2b92e7ec5793e70c9a80c7f8e45e0696 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Fri, 24 Aug 2018 16:38:42 +0200 -Subject: [PATCH] _GNU_SOURCE needed for EAI_INPROGRESS -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Define of _GNU_SOURCE is needed to be able to use EAI_INPROGRESS in -loop.c. - -This patch fixes a build error - -loop.c:334:17: error: ‘EAI_INPROGRESS’ undeclared (first use in this function) - if(rc == EAI_INPROGRESS){ - -occuring with a glibc-2.27-based buildroot toolchain for sparc64 - -Target: sparc64-buildroot-linux-gnu -[...] -gcc version 6.4.0 (Buildroot 2018.05) - -Source: -http://autobuild.buildroot.org/toolchains/tarballs/br-sparc64-full-2018.05.tar.bz2 - -Patch sent upstream as PR 933. - -Signed-off-by: Bernd Kuhls ---- - config.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/config.h b/config.h -index 7607019..ba0ba93 100644 ---- a/config.h -+++ b/config.h -@@ -39,4 +39,6 @@ - # define _POSIX_C_SOURCE 200809L - #endif - -+#define _GNU_SOURCE -+ - #endif --- -2.18.0 - diff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in index 1e6418a4de..11b6d7891b 100644 --- a/package/mosquitto/Config.in +++ b/package/mosquitto/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_MOSQUITTO bool "mosquitto" - depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_STATIC_LIBS # builds .so help Mosquitto is an open source message broker that implements @@ -14,7 +12,16 @@ config BR2_PACKAGE_MOSQUITTO http://mosquitto.org/ +config BR2_PACKAGE_MOSQUITTO_BROKER + bool "install the mosquitto broker" + default y + depends on BR2_USE_MMU # fork() + depends on BR2_PACKAGE_MOSQUITTO + help + Build and install the mosquitto broker onto target. + +comment "mosquitto broker needs a system with MMU" + depends on BR2_PACKAGE_MOSQUTTO && !BR2_USE_MMU + comment "mosquitto needs a toolchain w/ dynamic library" - depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS diff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash index b38830b8b5..25b9910138 100644 --- a/package/mosquitto/mosquitto.hash +++ b/package/mosquitto/mosquitto.hash @@ -1,5 +1,5 @@ # Locally calculated after checking gpg signature -sha256 3081a998d303a883b1cd064009beabc88aa9159e26f5258a4ae6007160491d10 mosquitto-1.5.3.tar.gz +sha256 78d7e70c3794dc3a1d484b4f2f8d3addebe9c2da3f5a1cebe557f7d13beb0da4 mosquitto-1.5.8.tar.gz # License files sha256 cc77e25bafd40637b7084f04086d606f0a200051b61806f97c93405926670bc1 LICENSE.txt diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk index 1d72f9b16e..51c0abd0ba 100644 --- a/package/mosquitto/mosquitto.mk +++ b/package/mosquitto/mosquitto.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOSQUITTO_VERSION = 1.5.3 +MOSQUITTO_VERSION = 1.5.8 MOSQUITTO_SITE = https://mosquitto.org/files/source MOSQUITTO_LICENSE = EPL-1.0 or EDLv1.0 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v10 edl-v10 @@ -67,24 +67,30 @@ endef MOSQUITTO_POST_PATCH_HOOKS += MOSQUITTO_DISABLE_CPP endif +MOSQUITTO_MAKE_DIRS = lib client +ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y) +MOSQUITTO_MAKE_DIRS += src +endif + define MOSQUITTO_BUILD_CMDS - $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \ $(MOSQUITTO_MAKE_OPTS) endef define MOSQUITTO_INSTALL_STAGING_CMDS - $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \ $(MOSQUITTO_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install endef define MOSQUITTO_INSTALL_TARGET_CMDS - $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \ $(MOSQUITTO_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install rm -f $(TARGET_DIR)/etc/mosquitto/*.example $(INSTALL) -D -m 0644 $(@D)/mosquitto.conf \ $(TARGET_DIR)/etc/mosquitto/mosquitto.conf endef +ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y) define MOSQUITTO_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/mosquitto/S50mosquitto \ $(TARGET_DIR)/etc/init.d/S50mosquitto @@ -101,5 +107,6 @@ endef define MOSQUITTO_USERS mosquitto -1 nogroup -1 * - - - Mosquitto user endef +endif $(eval $(generic-package)) diff --git a/package/motion/Config.in b/package/motion/Config.in index a27e7f9fb6..7a2e5dbea1 100644 --- a/package/motion/Config.in +++ b/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/package/motion/motion.hash b/package/motion/motion.hash index 5b67755e8b..679defa3d3 100644 --- a/package/motion/motion.hash +++ b/package/motion/motion.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 2074b935bdfe28f84c2c3233274b06908336778f303bb13530d4299c3f8aa4e2 motion-release-4.1.1.tar.gz +sha256 d97ec6ae766adfd478b6f7f9cc0da5f2fe21faa9366d98664be255714c1cf81d motion-release-4.2.1.tar.gz sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/package/motion/motion.mk b/package/motion/motion.mk index 0f4898674b..6dfc5a5619 100644 --- a/package/motion/motion.mk +++ b/package/motion/motion.mk @@ -4,11 +4,11 @@ # ################################################################################ -MOTION_VERSION = release-4.1.1 +MOTION_VERSION = release-4.2.1 MOTION_SITE = $(call github,Motion-Project,motion,$(MOTION_VERSION)) MOTION_LICENSE = GPL-2.0 MOTION_LICENSE_FILES = COPYING -MOTION_DEPENDENCIES = host-pkgconf jpeg +MOTION_DEPENDENCIES = host-pkgconf jpeg libmicrohttpd $(TARGET_NLS_DEPENDENCIES) # From git MOTION_AUTORECONF = YES diff --git a/package/mpd-mpc/mpd-mpc.hash b/package/mpd-mpc/mpd-mpc.hash index 05ec389e2c..b1f262fc08 100644 --- a/package/mpd-mpc/mpd-mpc.hash +++ b/package/mpd-mpc/mpd-mpc.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 65fc5b0a8430efe9acbe6e261127960682764b20ab994676371bdc797d867fce mpc-0.30.tar.xz +sha256 62373e83a8a165b2ed43967975efecd3feee530f4557d6b861dd08aa89d52b2d mpc-0.31.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/mpd-mpc/mpd-mpc.mk b/package/mpd-mpc/mpd-mpc.mk index 0666339ff9..05c70ba04d 100644 --- a/package/mpd-mpc/mpd-mpc.mk +++ b/package/mpd-mpc/mpd-mpc.mk @@ -5,7 +5,7 @@ ################################################################################ MPD_MPC_VERSION_MAJOR = 0 -MPD_MPC_VERSION = $(MPD_MPC_VERSION_MAJOR).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+ diff --git a/package/mpd/mpd.hash b/package/mpd/mpd.hash index 6eb384e763..b80bfc82a4 100644 --- a/package/mpd/mpd.hash +++ b/package/mpd/mpd.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 a9e458c6e07cdf62649de7722e1e5a7f13aa82eeb397bfbbebc07cf5cf273584 mpd-0.20.20.tar.xz +sha256 503e5f9f237290f568ff7956ab2f9aed563594bf749f19b8fe994fb21434afea mpd-0.20.23.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk index a0bbc7222a..f410c1fd95 100644 --- a/package/mpd/mpd.mk +++ b/package/mpd/mpd.mk @@ -5,7 +5,7 @@ ################################################################################ MPD_VERSION_MAJOR = 0.20 -MPD_VERSION = $(MPD_VERSION_MAJOR).20 +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/package/mpv/mpv.mk b/package/mpv/mpv.mk index b8260213b7..3ab2673774 100644 --- a/package/mpv/mpv.mk +++ b/package/mpv/mpv.mk @@ -132,7 +132,7 @@ endif # LUA support, only for lua51/lua52/luajit # This enables the controller (OSD) together with libass -ifeq ($(BR2_PACKAGE_LUA_5_1)$(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUAJIT),y) +ifeq ($(BR2_PACKAGE_LUA_5_1)$(BR2_PACKAGE_LUAJIT),y) MPV_CONF_OPTS += --enable-lua MPV_DEPENDENCIES += luainterpreter else diff --git a/package/msgpack/msgpack.hash b/package/msgpack/msgpack.hash index f1033ade42..df4e54b181 100644 --- a/package/msgpack/msgpack.hash +++ b/package/msgpack/msgpack.hash @@ -1,2 +1,4 @@ # Locally computed: -sha256 9c87f80fc651b900772deaef0ab154b63160c74d292529b5be6d06d6485d4640 msgpack-2.1.5.tar.gz +sha256 bda49f996a73d2c6080ff0523e7b535917cd28c8a79c3a5da54fc29332d61d1e msgpack-3.1.1.tar.gz +sha256 664550b43996452a5a2c7471bb0ff77185a58c69ccafa60f983dc4c162e1ee22 COPYING +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt diff --git a/package/msgpack/msgpack.mk b/package/msgpack/msgpack.mk index 38df8f53af..781e67e37a 100644 --- a/package/msgpack/msgpack.mk +++ b/package/msgpack/msgpack.mk @@ -4,12 +4,12 @@ # ################################################################################ -MSGPACK_VERSION = 2.1.5 +MSGPACK_VERSION = 3.1.1 MSGPACK_SITE = $(call github,msgpack,msgpack-c,cpp-$(MSGPACK_VERSION)) MSGPACK_LICENSE = BSL-1.0 MSGPACK_LICENSE_FILES = COPYING LICENSE_1_0.txt MSGPACK_INSTALL_STAGING = YES -MSGPACK_CONF_OPTS = -DMSGPACK_BUILD_EXAMPLES=OFF +MSGPACK_CONF_OPTS = -DMSGPACK_BUILD_EXAMPLES=OFF -DMSGPACK_BUILD_TESTS=OFF ifeq ($(BR2_STATIC_LIBS),y) MSGPACK_CONF_OPTS += -DMSGPACK_ENABLE_SHARED=OFF diff --git a/package/msmtp/Config.in b/package/msmtp/Config.in index 46bb1985e3..c83525d5ba 100644 --- a/package/msmtp/Config.in +++ b/package/msmtp/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_MSMTP mail to an SMTP server (for example at a free mail provider) which takes care of further delivery. - http://msmtp.sourceforge.net/ + https://marlam.de/msmtp/ diff --git a/package/msmtp/msmtp.hash b/package/msmtp/msmtp.hash index 0b66cec862..f966e5d6d4 100644 --- a/package/msmtp/msmtp.hash +++ b/package/msmtp/msmtp.hash @@ -1,9 +1,6 @@ -# From http://sourceforge.net/projects/msmtp/files/msmtp/1.6.6/ -md5 82b0520b57db4b2cf05333d11fb5974d msmtp-1.6.6.tar.xz -sha1 f997f40dfb3f882df837cfd9a63bd4d271dcdc41 msmtp-1.6.6.tar.xz # Locally calculated after checking signature -# http://downloads.sourceforge.net/project/msmtp/msmtp/1.6.6/msmtp-1.6.6.tar.xz.sig -sha256 da15db1f62bd0201fce5310adb89c86188be91cd745b7cb3b62b81a501e7fb5e msmtp-1.6.6.tar.xz +# https://marlam.de/msmtp/releases/msmtp-1.8.0.tar.xz.sig +sha256 bd730cbf000d1b8382849ea21d569a387e63f936be00dc07c569f67915e53ccd msmtp-1.8.0.tar.xz # Hash for license file: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/msmtp/msmtp.mk b/package/msmtp/msmtp.mk index 65fd0e4319..db3d42cd94 100644 --- a/package/msmtp/msmtp.mk +++ b/package/msmtp/msmtp.mk @@ -4,14 +4,21 @@ # ################################################################################ -MSMTP_VERSION = 1.6.6 -MSMTP_SITE = http://downloads.sourceforge.net/project/msmtp/msmtp/$(MSMTP_VERSION) +MSMTP_VERSION = 1.8.0 +MSMTP_SITE = https://marlam.de/msmtp/releases MSMTP_SOURCE = msmtp-$(MSMTP_VERSION).tar.xz MSMTP_DEPENDENCIES = host-pkgconf MSMTP_CONF_OPTS = --disable-gai-idn MSMTP_LICENSE = GPL-3.0+ MSMTP_LICENSE_FILES = COPYING +# msmtpd needs fork +ifeq ($(BR2_USE_MMU),y) +MSMTP_CONF_OPTS += --with-msmtpd +else +MSMTP_CONF_OPTS += --without-msmtpd +endif + ifeq ($(BR2_PACKAGE_LIBGSASL),y) MSMTP_CONF_OPTS += --with-libgsasl MSMTP_DEPENDENCIES += libgsasl @@ -19,9 +26,9 @@ else MSMTP_CONF_OPTS += --without-libgsasl endif -ifeq ($(BR2_PACKAGE_LIBIDN),y) +ifeq ($(BR2_PACKAGE_LIBIDN2),y) MSMTP_CONF_OPTS += --with-libidn -MSMTP_DEPENDENCIES += libidn +MSMTP_DEPENDENCIES += libidn2 else MSMTP_CONF_OPTS += --without-libidn endif @@ -33,18 +40,14 @@ else MSMTP_CONF_OPTS += --without-libsecret endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) -MSMTP_CONF_OPTS += --with-ssl=openssl -MSMTP_DEPENDENCIES += openssl -ifeq ($(BR2_STATIC_LIBS),y) -# openssl uses zlib, so we need to explicitly link with it when static -MSMTP_CONF_ENV += LIBS=-lz -endif -else ifeq ($(BR2_PACKAGE_GNUTLS),y) -MSMTP_CONF_OPTS += --with-ssl=gnutls +ifeq ($(BR2_PACKAGE_GNUTLS),y) +MSMTP_CONF_OPTS += --with-tls=gnutls MSMTP_DEPENDENCIES += gnutls +else ifeq ($(BR2_PACKAGE_OPENSSL),y) +MSMTP_CONF_OPTS += --with-tls=openssl +MSMTP_DEPENDENCIES += openssl else -MSMTP_CONF_OPTS += --with-ssl=no +MSMTP_CONF_OPTS += --with-tls=no endif $(eval $(autotools-package)) diff --git a/package/multicat/0001-Fix-build-with-musl-libc.patch b/package/multicat/0001-Fix-build-with-musl-libc.patch deleted file mode 100644 index d68b861a1d..0000000000 --- a/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/package/multicat/multicat.hash b/package/multicat/multicat.hash index 0f718d0e0e..9cf84bc50f 100644 --- a/package/multicat/multicat.hash +++ b/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/package/multicat/multicat.mk b/package/multicat/multicat.mk index 67cebec26a..1d31ec869d 100644 --- a/package/multicat/multicat.mk +++ b/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/package/musl/Config.in b/package/musl/Config.in index bedc50cd45..67e9e78a14 100644 --- a/package/musl/Config.in +++ b/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/package/musl/musl.hash b/package/musl/musl.hash index c011bbb711..5644401770 100644 --- a/package/musl/musl.hash +++ b/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 -sha256 15d9afbf84041872b4d840ed7d165d3eee786ff3f97e703b10467c259ff4e7d9 COPYRIGHT +# http://www.musl-libc.org/releases/musl-1.1.22.tar.gz.asc +sha256 8b0941a48d2f980fd7036cfbd24aa1d414f03d9a0652ecbd5ec5c7ff1bee29e3 musl-1.1.22.tar.gz +sha256 a3ae1b9fc5d4938f5734734383b9813d27a5652df23010c6f9d4c5419b239a41 COPYRIGHT diff --git a/package/musl/musl.mk b/package/musl/musl.mk index fa775d1e78..5db5bbd265 100644 --- a/package/musl/musl.mk +++ b/package/musl/musl.mk @@ -4,7 +4,7 @@ # ################################################################################ -MUSL_VERSION = 1.1.19 +MUSL_VERSION = 1.1.22 MUSL_SITE = http://www.musl-libc.org/releases MUSL_LICENSE = MIT MUSL_LICENSE_FILES = COPYRIGHT @@ -58,7 +58,7 @@ endef define MUSL_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ DESTDIR=$(TARGET_DIR) install-libs - $(RM) $(addprefix $(TARGET_DIR)/lib/,crt1.o crtn.o crti.o Scrt1.o) + $(RM) $(addprefix $(TARGET_DIR)/lib/,crt1.o crtn.o crti.o rcrt1.o Scrt1.o) endef $(eval $(generic-package)) diff --git a/package/mutt/0001-Fix-static-build-with-libidn2-and-libunistring.patch b/package/mutt/0001-Fix-static-build-with-libidn2-and-libunistring.patch deleted file mode 100644 index 56b90f5e3b..0000000000 --- a/package/mutt/0001-Fix-static-build-with-libidn2-and-libunistring.patch +++ /dev/null @@ -1,36 +0,0 @@ -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/package/mutt/0001-configure.ac-fix-static-build-with-idn2-and-unistrin.patch b/package/mutt/0001-configure.ac-fix-static-build-with-idn2-and-unistrin.patch new file mode 100644 index 0000000000..c802cbb365 --- /dev/null +++ b/package/mutt/0001-configure.ac-fix-static-build-with-idn2-and-unistrin.patch @@ -0,0 +1,37 @@ +From c53b36698fe4721fb562908ac6119aa9280383af Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 14 Apr 2019 10:22:12 +0200 +Subject: [PATCH] configure.ac: fix static build with idn2 and unistring + +Commit 78db40f25c6479b14da5a73adf7207bfbec5ccc5 did not fix static build +failure + +AC_SEARCH_LIBS prepends the library to LIBS as a result -lunistring is +added before -lidn2. To fix static build, we must set -lunistring after +-lidn2 + +Fixes: + - http://autobuild.buildroot.org/results/c9544b4f1a0252e260a2ed19218fa950f4dc2d2d + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://gitlab.com/muttmua/mutt/merge_requests/42] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index bd8beb91..75943eee 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1402,7 +1402,7 @@ if test "x$with_idn2" != "xno"; then + AC_SEARCH_LIBS([idn2_check_version], [idn2], [ + AC_DEFINE([HAVE_LIBIDN2], 1, [Define to 1 if you have the GNU idn2 library]) + dnl -lunistring is needed for static linking +- AC_SEARCH_LIBS([u8_strconv_from_locale], [unistring]) ++ AC_SEARCH_LIBS([u8_strconv_from_locale], [unistring], [LIBS="$LIBS -lunistring"]) + MUTTLIBS="$MUTTLIBS $LIBS" + + dnl libidn2 >= 2.0.0 declares compatibility macros in idn2.h +-- +2.20.1 + diff --git a/package/mutt/mutt.hash b/package/mutt/mutt.hash index 27eeb56804..476773c294 100644 --- a/package/mutt/mutt.hash +++ b/package/mutt/mutt.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 734a3883158ec3d180cf6538d8bd7f685ce641d2cdef657aa0038f76e79a54a0 mutt-1.10.1.tar.gz +sha256 da5cd4c39f228914d3933d8cf3a017c8271fdd9b9d81c6e4fc42ad22e1a28723 mutt-1.11.2.tar.gz sha256 732f24b69a6c71cd8e01e4672bb8e12cc1cbb88a50a4665e6ca4fd95000a57ee GPL diff --git a/package/mutt/mutt.mk b/package/mutt/mutt.mk index 9918b45e64..5860e8430e 100644 --- a/package/mutt/mutt.mk +++ b/package/mutt/mutt.mk @@ -4,11 +4,11 @@ # ################################################################################ -MUTT_VERSION = 1.10.1 +MUTT_VERSION = 1.11.2 MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads MUTT_LICENSE = GPL-2.0+ MUTT_LICENSE_FILES = GPL -MUTT_DEPENDENCIES = host-pkgconf ncurses +MUTT_DEPENDENCIES = ncurses MUTT_CONF_OPTS = --disable-doc --disable-smtp # We're patching configure.ac MUTT_AUTORECONF = YES diff --git a/package/mysql/Config.in b/package/mysql/Config.in index 66bd0faa57..30a82cc91b 100644 --- a/package/mysql/Config.in +++ b/package/mysql/Config.in @@ -16,8 +16,8 @@ choice config BR2_PACKAGE_MARIADB bool "mariadb" - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 select BR2_PACKAGE_LIBAIO select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_NCURSES @@ -32,8 +32,8 @@ config BR2_PACKAGE_MARIADB http://www.mariadb.org/ comment "mariadb needs a toolchain w/ dynamic library" - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS depends on BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 config BR2_PACKAGE_ORACLE_MYSQL bool "oracle mysql" @@ -55,8 +55,8 @@ config BR2_PACKAGE_MARIADB_SERVER Install the mariadb server on the target. config BR2_PACKAGE_MARIADB_SERVER_EMBEDDED - depends on BR2_PACKAGE_MARIADB_SERVER bool "mariadb embedded server" + depends on BR2_PACKAGE_MARIADB_SERVER help Install the mariadb embedded server on the target. diff --git a/package/nano/nano.hash b/package/nano/nano.hash index 2f372933b7..eae648d16e 100644 --- a/package/nano/nano.hash +++ b/package/nano/nano.hash @@ -1,3 +1,5 @@ # Locally calculated after checking pgp signature -sha256 c2deac31ba4d3fd27a42fafcc47ccf499296cc69a422bbecab63f2933ea85488 nano-2.9.8.tar.xz +# https://www.nano-editor.org/dist/v3/nano-3.2.tar.xz.asc +# using key BFD009061E535052AD0DF2150D28D4D2A0ACE884 +sha256 d12773af3589994b2e4982c5792b07c6240da5b86c5aef2103ab13b401fe6349 nano-3.2.tar.xz sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/nano/nano.mk b/package/nano/nano.mk index 3815cdcc1c..206d210a16 100644 --- a/package/nano/nano.mk +++ b/package/nano/nano.mk @@ -4,8 +4,8 @@ # ################################################################################ -NANO_VERSION_MAJOR = 2.9 -NANO_VERSION = $(NANO_VERSION_MAJOR).8 +NANO_VERSION_MAJOR = 3 +NANO_VERSION = $(NANO_VERSION_MAJOR).2 NANO_SITE = https://www.nano-editor.org/dist/v$(NANO_VERSION_MAJOR) NANO_SOURCE = nano-$(NANO_VERSION).tar.xz NANO_LICENSE = GPL-3.0+ diff --git a/package/ncdu/ncdu.hash b/package/ncdu/ncdu.hash index 8a0c1d16c5..7326a15987 100644 --- a/package/ncdu/ncdu.hash +++ b/package/ncdu/ncdu.hash @@ -1,3 +1,6 @@ -# From http://dev.yorhel.nl/download/ncdu-1.12.tar.gz.{md5,sha1} -md5 7365ac46c420bc511621216b1747984f ncdu-1.12.tar.gz -sha1 b79b1c44784f334dca74d89a49f49274f14cfeef ncdu-1.12.tar.gz +# From http://dev.yorhel.nl/download/ncdu-1.13.tar.gz.{md5,sha1} +md5 67239592ac41f42290f52ab89ff198be ncdu-1.13.tar.gz +sha1 3233c4185208d9989ac528a94817ed92dd59c773 ncdu-1.13.tar.gz + +# computed locally +sha256 0ee47c3742a867ace26eb429cce593b54ab4ccb4c4a97d62e41363cbf80c8a24 COPYING diff --git a/package/ncdu/ncdu.mk b/package/ncdu/ncdu.mk index d45e62d95c..9a7170d600 100644 --- a/package/ncdu/ncdu.mk +++ b/package/ncdu/ncdu.mk @@ -4,7 +4,7 @@ # ################################################################################ -NCDU_VERSION = 1.12 +NCDU_VERSION = 1.13 NCDU_SITE = http://dev.yorhel.nl/download NCDU_DEPENDENCIES = ncurses diff --git a/package/ncmpc/0002-Global-Bindings-add-KeyBindings-constructor-to-simplify-initializers.patch b/package/ncmpc/0002-Global-Bindings-add-KeyBindings-constructor-to-simplify-initializers.patch new file mode 100644 index 0000000000..217fa9b55b --- /dev/null +++ b/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/package/ncmpc/ncmpc.hash b/package/ncmpc/ncmpc.hash index 021b532c83..afa5260be7 100644 --- a/package/ncmpc/ncmpc.hash +++ b/package/ncmpc/ncmpc.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -sha256 e3fe0cb58b8a77f63fb1645c2f974b334f1614efdc834ec698ee7d861f1b12a3 ncmpc-0.30.tar.xz +sha256 8d3416c5b99ec21527b506f75bd7e536ddff60e61695b05989e791a751611bcc ncmpc-0.31.tar.xz # Hash for license file: sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/ncmpc/ncmpc.mk b/package/ncmpc/ncmpc.mk index 296fce12d2..787f58201a 100644 --- a/package/ncmpc/ncmpc.mk +++ b/package/ncmpc/ncmpc.mk @@ -5,14 +5,16 @@ ################################################################################ NCMPC_VERSION_MAJOR = 0 -NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).30 +NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).31 NCMPC_SOURCE = ncmpc-$(NCMPC_VERSION).tar.xz NCMPC_SITE = http://www.musicpd.org/download/ncmpc/$(NCMPC_VERSION_MAJOR) NCMPC_DEPENDENCIES = host-pkgconf libglib2 libmpdclient ncurses NCMPC_LICENSE = GPL-2.0+ NCMPC_LICENSE_FILES = COPYING -NCMPC_CONF_OPTS = -Dcurses=ncurses +NCMPC_CONF_OPTS = \ + -Dcurses=ncurses \ + -Ddocumentation=false ifeq ($(BR2_PACKAGE_LIRC_TOOLS),y) NCMPC_DEPENDENCIES += lirc-tools diff --git a/package/neard/S53neard b/package/neard/S53neard old mode 100755 new mode 100644 diff --git a/package/neardal/0001-fix-static-linking-with-libedit-or-readline.patch b/package/neardal/0001-fix-static-linking-with-libedit-or-readline.patch new file mode 100644 index 0000000000..bae0edae96 --- /dev/null +++ b/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/package/neardal/neardal.mk b/package/neardal/neardal.mk index f3e55fd99f..3883011932 100644 --- a/package/neardal/neardal.mk +++ b/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/package/neon/neon.mk b/package/neon/neon.mk index 1b8eb368c2..2c00e6a8b4 100644 --- a/package/neon/neon.mk +++ b/package/neon/neon.mk @@ -11,7 +11,8 @@ NEON_LICENSE_FILES = src/COPYING.LIB test/COPYING README NEON_INSTALL_STAGING = YES NEON_CONF_OPTS = --without-gssapi --disable-rpath NEON_CONFIG_SCRIPTS = neon-config -NEON_DEPENDENCIES = host-pkgconf +NEON_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) +NEON_CONF_ENV = ne_cv_libsfor_bindtextdomain=$(TARGET_NLS_LIBS) ifeq ($(BR2_PACKAGE_NEON_ZLIB),y) NEON_CONF_OPTS += --with-zlib=$(STAGING_DIR) diff --git a/package/netatalk/S50netatalk b/package/netatalk/S50netatalk old mode 100755 new mode 100644 diff --git a/package/netatalk/netatalk.hash b/package/netatalk/netatalk.hash index ce78373ae3..762fcd460e 100644 --- a/package/netatalk/netatalk.hash +++ b/package/netatalk/netatalk.hash @@ -1,3 +1,3 @@ -# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.11/ -md5 8f79ce2a275b128ebb07188766f088fc netatalk-3.1.11.tar.bz2 -sha1 5aa7900e6f7de3c7ee812aa1130c1245d1974586 netatalk-3.1.11.tar.bz2 +# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.12/ +md5 021d2330cb7f7cd2977aec46299dcc1b netatalk-3.1.12.tar.bz2 +sha1 cc1fe1ebdbdb4da9cf82835c440e82ba28a832c5 netatalk-3.1.12.tar.bz2 diff --git a/package/netatalk/netatalk.mk b/package/netatalk/netatalk.mk index 28a87509e0..1214fc3bf5 100644 --- a/package/netatalk/netatalk.mk +++ b/package/netatalk/netatalk.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETATALK_VERSION = 3.1.11 +NETATALK_VERSION = 3.1.12 NETATALK_SITE = http://downloads.sourceforge.net/project/netatalk/netatalk/$(NETATALK_VERSION) NETATALK_SOURCE = netatalk-$(NETATALK_VERSION).tar.bz2 # For 0001-Fix-setting-of-LD_LIBRARY_FLAGS-shlibpath_var.patch diff --git a/package/netplug/S29netplug b/package/netplug/S29netplug old mode 100755 new mode 100644 index 66459061b3..cef0e6a945 --- a/package/netplug/S29netplug +++ b/package/netplug/S29netplug @@ -26,7 +26,7 @@ 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 diff --git a/package/netsniff-ng/netsniff-ng.hash b/package/netsniff-ng/netsniff-ng.hash index 576e000878..706c9461cf 100644 --- a/package/netsniff-ng/netsniff-ng.hash +++ b/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/package/netsniff-ng/netsniff-ng.mk b/package/netsniff-ng/netsniff-ng.mk index fb1c2c7a4e..77d8921425 100644 --- a/package/netsniff-ng/netsniff-ng.mk +++ b/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/package/netsnmp/S59snmpd b/package/netsnmp/S59snmpd old mode 100755 new mode 100644 diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index 65a3f16a4d..ed573c51e3 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -53,15 +53,12 @@ endif # OpenSSL ifeq ($(BR2_PACKAGE_OPENSSL),y) -NETSNMP_DEPENDENCIES += openssl +NETSNMP_DEPENDENCIES += host-pkgconf openssl NETSNMP_CONF_OPTS += \ --with-openssl=$(STAGING_DIR)/usr/include/openssl \ --with-security-modules="tsm,usm" \ --with-transports="DTLSUDP,TLSTCP" -ifeq ($(BR2_STATIC_LIBS),y) -# openssl uses zlib, so we need to explicitly link with it when static -NETSNMP_CONF_ENV += LIBS=-lz -endif +NETSNMP_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` else ifeq ($(BR2_PACKAGE_NETSNMP_OPENSSL_INTERNAL),y) NETSNMP_CONF_OPTS += --with-openssl=internal else @@ -106,12 +103,4 @@ define NETSNMP_INSTALL_INIT_SYSV endef endif -define NETSNMP_STAGING_NETSNMP_CONFIG_FIXUP - $(SED) "s,^includedir=.*,includedir=\'$(STAGING_DIR)/usr/include\',g" \ - -e "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" \ - $(STAGING_DIR)/usr/bin/net-snmp-config -endef - -NETSNMP_POST_INSTALL_STAGING_HOOKS += NETSNMP_STAGING_NETSNMP_CONFIG_FIXUP - $(eval $(autotools-package)) diff --git a/package/netsurf/0001-avoid-system-perl-dependencies.patch b/package/netsurf/0001-avoid-system-perl-dependencies.patch new file mode 100644 index 0000000000..979ddafc89 --- /dev/null +++ b/package/netsurf/0001-avoid-system-perl-dependencies.patch @@ -0,0 +1,29 @@ +From b42e4b5bfca030965dcfca993a47a6ddaa941287 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sun, 25 Nov 2018 18:27:54 +0100 +Subject: [PATCH] avoid system perl dependencies + +this subroutine format is used for android target. +with eval the load of HTML::Entities is deferred. + +Signed-off-by: Francois Perrad +--- + netsurf/utils/split-messages.pl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/netsurf/utils/split-messages.pl b/netsurf/utils/split-messages.pl +index 4b50dde..e47dded 100644 +--- a/netsurf/utils/split-messages.pl ++++ b/netsurf/utils/split-messages.pl +@@ -311,7 +311,7 @@ TXT + sub footer { qq|| } + sub format + { +- use HTML::Entities qw(encode_entities); ++ eval q|use HTML::Entities qw(encode_entities);|; + my $escaped = encode_entities( $_[1], '<>&"' ); + qq| $escaped\n|; + } +-- +2.17.1 + diff --git a/package/netsurf/0002-fix-freetype-detection.patch b/package/netsurf/0002-fix-freetype-detection.patch new file mode 100644 index 0000000000..27e3a6a1d5 --- /dev/null +++ b/package/netsurf/0002-fix-freetype-detection.patch @@ -0,0 +1,32 @@ +From 85336f2404b9583267019650ea0112ebf1bb571a Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Wed, 28 Nov 2018 17:59:44 +0100 +Subject: [PATCH] fix freetype detection + +Using freetype-config doesn't work well, because it's going to use the +system freetype-config instead of the one installed in the +cross-compilation sysroot. So, let's use pkg-config instead. + +Signed-off-by: Francois Perrad +--- + netsurf/frontends/framebuffer/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/netsurf/frontends/framebuffer/Makefile b/netsurf/frontends/framebuffer/Makefile +index bdedd90..249c7c4 100644 +--- a/netsurf/frontends/framebuffer/Makefile ++++ b/netsurf/frontends/framebuffer/Makefile +@@ -35,8 +35,8 @@ LDFLAGS += -Wl,--no-whole-archive + + # freetype is optional but does not use pkg-config + ifeq ($(NETSURF_FB_FONTLIB),freetype) +- CFLAGS += -DFB_USE_FREETYPE $(shell freetype-config --cflags) +- LDFLAGS += $(shell freetype-config --libs) ++ CFLAGS += -DFB_USE_FREETYPE $(shell $(PKG_CONFIG) --cflags freetype2) ++ LDFLAGS += $(shell $(PKG_CONFIG) --libs freetype2) + endif + + +-- +2.17.1 + diff --git a/package/netsurf/0003-do-not-cross-compile-nsgenbind.patch b/package/netsurf/0003-do-not-cross-compile-nsgenbind.patch new file mode 100644 index 0000000000..01e77e9774 --- /dev/null +++ b/package/netsurf/0003-do-not-cross-compile-nsgenbind.patch @@ -0,0 +1,30 @@ +From 2419ad79b25fcc1746178aba609fddbb0aa8c9e0 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sat, 1 Dec 2018 16:10:13 +0100 +Subject: [PATCH] build nsgenbind for the build machine + +The nsgenbind tool is meant to be executed on the build machine during +the build, so it should not be built with the cross-compiler, but with +the native compiler. + +Signed-off-by: Francois Perrad +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index f279f01..5698c87 100644 +--- a/Makefile ++++ b/Makefile +@@ -109,7 +109,7 @@ endef + + # prefixed install macro for each host sub target + define do_build_prefix_install +- $(MAKE) install --directory=$1 HOST=$(BUILD) PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= ++ $(MAKE) install --directory=$1 HOST=$(BUILD) CC=$(BUILD_CC) PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= + + endef + +-- +2.17.1 + diff --git a/package/netsurf/0004-fix-compilation-without-curl.patch b/package/netsurf/0004-fix-compilation-without-curl.patch new file mode 100644 index 0000000000..2300ae5f4e --- /dev/null +++ b/package/netsurf/0004-fix-compilation-without-curl.patch @@ -0,0 +1,27 @@ +From 7d7c59dbfc92fcbcd0eac2c84e0fb98662c4bd71 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sat, 8 Dec 2018 09:43:40 +0100 +Subject: [PATCH] fix compilation without curl + +Signed-off-by: Francois Perrad +--- + netsurf/content/fetch.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/netsurf/content/fetch.c b/netsurf/content/fetch.c +index 7665029..0f41c49 100644 +--- a/netsurf/content/fetch.c ++++ b/netsurf/content/fetch.c +@@ -54,7 +54,9 @@ + #include "content/fetchers.h" + #include "content/fetchers/resource.h" + #include "content/fetchers/about.h" ++#ifdef WITH_CURL + #include "content/fetchers/curl.h" ++#endif + #include "content/fetchers/data.h" + #include "content/fetchers/file.h" + #include "javascript/fetcher.h" +-- +2.17.1 + diff --git a/package/netsurf/Config.in b/package/netsurf/Config.in new file mode 100644 index 0000000000..8a301e6218 --- /dev/null +++ b/package/netsurf/Config.in @@ -0,0 +1,41 @@ +config BR2_PACKAGE_NETSURF + bool "netsurf" + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_OPENSSL if BR2_PACKAGE_LIBCURL + help + NetSurf is a compact graphical web browser which aims for + HTML5, CSS and JavaScript support. + Frontends: GTK (X11), SDL 1.2 (framebuffer) + + http://www.netsurf-browser.org/ + +if BR2_PACKAGE_NETSURF + +choice + prompt "Netsurf frontend" + default BR2_PACKAGE_NETSURF_SDL + +config BR2_PACKAGE_NETSURF_SDL + bool "sdl frontend" + select BR2_PACKAGE_SDL + help + Select SDL 1.2 frontend. + +config BR2_PACKAGE_NETSURF_GTK + bool "gtk2 frontend" + depends on BR2_PACKAGE_LIBGTK2 + help + Select GTK+ 2 frontend. + +config BR2_PACKAGE_NETSURF_GTK3 + bool "gtk3 frontend" + depends on BR2_PACKAGE_LIBGTK3 + help + Select GTK+ 3 frontend. + +endchoice + +endif diff --git a/package/netsurf/netsurf.hash b/package/netsurf/netsurf.hash new file mode 100644 index 0000000000..26e8c76f34 --- /dev/null +++ b/package/netsurf/netsurf.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 eb4864d4459d6f9958dd10a3301c272ea7f5df72667a7db0aad5bc5ae06c0e10 netsurf-all-3.8.tar.gz +sha256 55c4a7ae3953d720a462e69d1f128a20004933d12538be5314a33f8821675378 netsurf/COPYING diff --git a/package/netsurf/netsurf.mk b/package/netsurf/netsurf.mk new file mode 100644 index 0000000000..e617707ade --- /dev/null +++ b/package/netsurf/netsurf.mk @@ -0,0 +1,96 @@ +################################################################################ +# +# netsurf +# +################################################################################ + +NETSURF_VERSION = 3.8 +NETSURF_SOURCE = netsurf-all-$(NETSURF_VERSION).tar.gz +NETSURF_SITE = http://download.netsurf-browser.org/netsurf/releases/source-full +NETSURF_LICENSE = GPL-2.0 +NETSURF_LICENSE_FILES = netsurf/COPYING +NETSURF_DEPENDENCIES = expat jpeg libpng \ + host-bison host-flex host-gperf host-pkgconf + +ifeq ($(BR2_PACKAGE_NETSURF_GTK),y) +NETSURF_DEPENDENCIES += libgtk2 +NETSURF_FRONTEND = gtk +endif + +ifeq ($(BR2_PACKAGE_NETSURF_GTK3),y) +NETSURF_DEPENDENCIES += libgtk3 +NETSURF_FRONTEND = gtk3 +endif + +ifeq ($(BR2_PACKAGE_NETSURF_GTK)$(BR2_PACKAGE_NETSURF_GTK3),y) +ifeq ($(BR2_PACKAGE_LIBRSVG),y) +NETSURF_DEPENDENCIES += librsvg +define NETSURF_SVG_CONFIGURE_CMDS + echo "override NETSURF_USE_RSVG := YES" >> $(@D)/netsurf/Makefile.config + echo "override NETSURF_USE_NSSVG := NO" >> $(@D)/netsurf/Makefile.config +endef +endif +endif + +ifeq ($(BR2_PACKAGE_NETSURF_SDL),y) +NETSURF_DEPENDENCIES += sdl host-libpng +NETSURF_FRONTEND = framebuffer +NETSURF_CONFIG = \ + HOST_CFLAGS='$(HOST_CFLAGS)' \ + HOST_LDFLAGS='$(HOST_LDFLAGS) -lpng' +ifeq ($(BR2_PACKAGE_FREETYPE),y) +NETSURF_DEPENDENCIES += freetype +define NETSURF_FONTLIB_CONFIGURE_CMDS + echo "override NETSURF_FB_FONTLIB := freetype" >> $(@D)/netsurf/Makefile.config +endef +endif +endif + +ifeq ($(BR2_PACKAGE_LIBICONV),y) +NETSURF_DEPENDENCIES += libiconv +define NETSURF_ICONV_CONFIGURE_CMDS + echo "CFLAGS += -DWITH_ICONV_FILTER" >> $(@D)/libparserutils/Makefile.config.override + echo "override NETSURF_USE_LIBICONV_PLUG := NO" >> $(@D)/netsurf/Makefile.config +endef +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +NETSURF_DEPENDENCIES += libcurl openssl +else +define NETSURF_CURL_CONFIGURE_CMDS + echo "override NETSURF_USE_CURL := NO" >> $(@D)/netsurf/Makefile.config + echo "override NETSURF_USE_OPENSSL := NO" >> $(@D)/netsurf/Makefile.config +endef +endif + +define NETSURF_CONFIGURE_CMDS + $(NETSURF_ICONV_CONFIGURE_CMDS) + $(NETSURF_SVG_CONFIGURE_CMDS) + $(NETSURF_FONTLIB_CONFIGURE_CMDS) + $(NETSURF_CURL_CONFIGURE_CMDS) +endef + +NETSURF_MAKE_OPTS = \ + TARGET=$(NETSURF_FRONTEND) \ + BISON="$(HOST_DIR)/bin/bison" \ + FLEX="$(HOST_DIR)/bin/flex" \ + PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + BUILD_CC="$(HOSTCC)" \ + CC="$(TARGET_CC) -I$(@D)/tmpusr/include -L$(@D)/tmpusr/lib" \ + AR="$(TARGET_AR)" \ + TMP_PREFIX=$(@D)/tmpusr \ + NETSURF_CONFIG="$(NETSURF_CONFIG)" \ + PREFIX=/usr + +define NETSURF_BUILD_CMDS + mkdir -p $(@D)/tmpusr + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(NETSURF_MAKE_OPTS) \ + build +endef + +define NETSURF_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(NETSURF_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/package/nettle/0001-Fix-accidental-use-of-C99-for-loop.patch b/package/nettle/0001-Fix-accidental-use-of-C99-for-loop.patch new file mode 100644 index 0000000000..e03af7a45a --- /dev/null +++ b/package/nettle/0001-Fix-accidental-use-of-C99-for-loop.patch @@ -0,0 +1,71 @@ +From f5a3a224bf00bef5669366d2ae23c2b2b13b8016 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Niels=20M=C3=B6ller?= +Date: Wed, 26 Dec 2018 11:04:31 +0100 +Subject: [PATCH] Fix accidental use of C99 for loop. + +* rsa-sign-tr.c (sec_equal): Fix accidental use of C99 for loop. +Reported by Andreas Gustafsson. +* testsuite/rsa-sec-decrypt-test.c (test_main): Likewise. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://git.lysator.liu.se/nettle/nettle/commit/f5a3a224bf00bef5669366d2ae23c2b2b13b8016] +--- + ChangeLog | 6 ++++++ + rsa-sign-tr.c | 3 ++- + testsuite/rsa-sec-decrypt-test.c | 3 ++- + 3 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index 4c7338a1..079d0153 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,9 @@ ++2018-12-26 Niels Möller ++ ++ * rsa-sign-tr.c (sec_equal): Fix accidental use of C99 for loop. ++ Reported by Andreas Gustafsson. ++ * testsuite/rsa-sec-decrypt-test.c (test_main): Likewise. ++ + 2018-12-04 Niels Möller + + * Released nettle-3.4.1. +diff --git a/rsa-sign-tr.c b/rsa-sign-tr.c +index 59c9bd07..f824c4ca 100644 +--- a/rsa-sign-tr.c ++++ b/rsa-sign-tr.c +@@ -239,8 +239,9 @@ static int + sec_equal(const mp_limb_t *a, const mp_limb_t *b, size_t limbs) + { + volatile mp_limb_t z = 0; ++ size_t i; + +- for (size_t i = 0; i < limbs; i++) ++ for (i = 0; i < limbs; i++) + { + z |= (a[i] ^ b[i]); + } +diff --git a/testsuite/rsa-sec-decrypt-test.c b/testsuite/rsa-sec-decrypt-test.c +index 64f0b13c..fb0ed3a1 100644 +--- a/testsuite/rsa-sec-decrypt-test.c ++++ b/testsuite/rsa-sec-decrypt-test.c +@@ -68,6 +68,7 @@ test_main(void) + unsigned n_size = 1024; + mpz_t gibberish; + mpz_t garbage; ++ size_t size; + + rsa_private_key_init(&key); + rsa_public_key_init(&pub); +@@ -78,7 +79,7 @@ test_main(void) + + memset(verifybad, 'A', PAYLOAD_SIZE); + +- for (size_t size = 1; size < 51; size++) ++ for (size = 1; size < 51; size++) + { + ASSERT (rsa_generate_keypair(&pub, &key, &random_ctx, + (nettle_random_func *) knuth_lfib_random, +-- +2.18.1 + diff --git a/package/nettle/nettle.hash b/package/nettle/nettle.hash index 473be1c2df..32ed22c6c7 100644 --- a/package/nettle/nettle.hash +++ b/package/nettle/nettle.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/nettle/nettle-3.4.tar.gz.sig -sha256 ae7a42df026550b85daca8389b6a60ba6313b0567f374392e54918588a411e94 nettle-3.4.tar.gz +# https://ftp.gnu.org/gnu/nettle/nettle-3.4.1.tar.gz.sig +sha256 f941cf1535cd5d1819be5ccae5babef01f6db611f9b5a777bae9c7604b8a92ad nettle-3.4.1.tar.gz # Locally calculated sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSERv3 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 diff --git a/package/nettle/nettle.mk b/package/nettle/nettle.mk index 9582815048..6a1144ed39 100644 --- a/package/nettle/nettle.mk +++ b/package/nettle/nettle.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETTLE_VERSION = 3.4 +NETTLE_VERSION = 3.4.1 NETTLE_SITE = http://www.lysator.liu.se/~nisse/archive NETTLE_DEPENDENCIES = gmp NETTLE_INSTALL_STAGING = YES diff --git a/package/network-manager/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch b/package/network-manager/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch new file mode 100644 index 0000000000..c6066abe28 --- /dev/null +++ b/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/package/network-manager/S45network-manager b/package/network-manager/S45network-manager old mode 100755 new mode 100644 diff --git a/package/network-manager/network-manager.hash b/package/network-manager/network-manager.hash index 8fedc64729..3439439175 100644 --- a/package/network-manager/network-manager.hash +++ b/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/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index a520aad9c0..2b9f68a030 100644 --- a/package/network-manager/network-manager.mk +++ b/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/package/nfs-utils/0006-Include-sys-sysmacros.h-where-appropriate.patch b/package/nfs-utils/0006-Include-sys-sysmacros.h-where-appropriate.patch new file mode 100644 index 0000000000..a593ca3b6f --- /dev/null +++ b/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/package/nfs-utils/S60nfs b/package/nfs-utils/S60nfs old mode 100755 new mode 100644 diff --git a/package/nftables/nftables.hash b/package/nftables/nftables.hash index 3effe68f2e..a0e0d5e779 100644 --- a/package/nftables/nftables.hash +++ b/package/nftables/nftables.hash @@ -1,6 +1,3 @@ -# From http://www.netfilter.org/projects/nftables/downloads.html -sha1 533cb3bf17e90579d24f9621fdb22bdb4f7e3287 nftables-0.8.3.tar.bz2 -# Locally calculated after checking pgp signature -# http://www.netfilter.org/projects/nftables/files/nftables-0.8.3.tar.bz2.sig -sha256 d16be1f5db88e95d29fc0b0e4df88acd079f3ee8e2b872ec7673f9a0d5d95e38 nftables-0.8.3.tar.bz2 +# From https://netfilter.org/projects/nftables/downloads.html +sha256 ad8181b5fcb9ca572f444bed54018749588522ee97e4c21922648bb78d7e7e91 nftables-0.9.0.tar.bz2 sha256 c17bc4fa5b2434c6f283ffcb2312e5bf3c7cdf5787b79505f094d8de734ac53e COPYING diff --git a/package/nftables/nftables.mk b/package/nftables/nftables.mk index 571cd33ad5..9f12e42c58 100644 --- a/package/nftables/nftables.mk +++ b/package/nftables/nftables.mk @@ -4,9 +4,9 @@ # ################################################################################ -NFTABLES_VERSION = 0.8.3 +NFTABLES_VERSION = 0.9.0 NFTABLES_SOURCE = nftables-$(NFTABLES_VERSION).tar.bz2 -NFTABLES_SITE = http://www.netfilter.org/projects/nftables/files +NFTABLES_SITE = https://www.netfilter.org/projects/nftables/files NFTABLES_DEPENDENCIES = gmp libmnl libnftnl host-bison host-flex \ host-pkgconf $(TARGET_NLS_DEPENDENCIES) NFTABLES_LICENSE = GPL-2.0 @@ -20,6 +20,13 @@ else NFTABLES_CONF_OPTS += --without-cli endif +ifeq ($(BR2_PACKAGE_JANSSON),y) +NFTABLES_DEPENDENCIES += jansson +NFTABLES_CONF_OPTS += --with-json +else +NFTABLES_CONF_OPTS += --without-json +endif + ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_LIBNFTNL_JSON),yy) NFTABLES_LIBS += -ljansson -lm endif diff --git a/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch b/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch index 103f90b305..09e708b73c 100644 --- a/package/nginx/0004-auto-lib-libxslt-conf-use-pkg-config.patch +++ b/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/package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch b/package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch index 34e7981c8f..cea68035e1 100644 --- a/package/nginx/0007-auto-lib-libgd-conf-use-pkg-config.patch +++ b/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/package/nginx/S50nginx b/package/nginx/S50nginx old mode 100755 new mode 100644 diff --git a/package/nginx/nginx.hash b/package/nginx/nginx.hash index 51284aefbe..40dba402e2 100644 --- a/package/nginx/nginx.hash +++ b/package/nginx/nginx.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 b0b58c9a3fd73aa8b89edf5cfadc6641a352e0e6d3071db1eb3215d72b7fb516 nginx-1.15.0.tar.gz +sha256 8f22ea2f6c0e0a221b6ddc02b6428a3ff708e2ad55f9361102b1c9f4142bdf93 nginx-1.15.7.tar.gz # License files, locally calculated sha256 e18f05bcaad47528f8b21861d4a0fb9815ca1bbb4be946c51a51d36623758bcc LICENSE diff --git a/package/nginx/nginx.mk b/package/nginx/nginx.mk index 23cf2b46d5..3bdd92b3f5 100644 --- a/package/nginx/nginx.mk +++ b/package/nginx/nginx.mk @@ -4,7 +4,7 @@ # ################################################################################ -NGINX_VERSION = 1.15.0 +NGINX_VERSION = 1.15.7 NGINX_SITE = http://nginx.org/download NGINX_LICENSE = BSD-2-Clause NGINX_LICENSE_FILES = LICENSE diff --git a/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch b/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch new file mode 100644 index 0000000000..69c5c887e8 --- /dev/null +++ b/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/package/ngrep/0001-make-objs.patch b/package/ngrep/0001-make-objs.patch deleted file mode 100644 index 8b55e3f456..0000000000 --- a/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/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch b/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch new file mode 100644 index 0000000000..22b18ab7ee --- /dev/null +++ b/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/package/ngrep/0002-pcre-header.patch b/package/ngrep/0002-pcre-header.patch deleted file mode 100644 index 40b9234dbc..0000000000 --- a/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/package/ngrep/0003-fix-disable-tcpkill.patch b/package/ngrep/0003-fix-disable-tcpkill.patch new file mode 100644 index 0000000000..1264fd7e3b --- /dev/null +++ b/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/package/ngrep/0003-fix-static-link.patch b/package/ngrep/0003-fix-static-link.patch deleted file mode 100644 index 98c262696d..0000000000 --- a/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/package/ngrep/Config.in b/package/ngrep/Config.in index cd91225791..5f87f2f79b 100644 --- a/package/ngrep/Config.in +++ b/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/package/ngrep/ngrep.hash b/package/ngrep/ngrep.hash index e0a6a2580b..bf9e621a89 100644 --- a/package/ngrep/ngrep.hash +++ b/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/package/ngrep/ngrep.mk b/package/ngrep/ngrep.mk index 3f569374b4..d17792cda0 100644 --- a/package/ngrep/ngrep.mk +++ b/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/package/nilfs-utils/Config.in b/package/nilfs-utils/Config.in index e245dc4656..7b239b1af5 100644 --- a/package/nilfs-utils/Config.in +++ b/package/nilfs-utils/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_NILFS_UTILS bool "nilfs-utils" depends on BR2_USE_MMU # util-linux libmount, libblkid depends on BR2_TOOLCHAIN_HAS_THREADS # sem_open() - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() select BR2_PACKAGE_UTIL_LINUX_LIBUUID select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT @@ -12,7 +11,6 @@ config BR2_PACKAGE_NILFS_UTILS https://github.com/nilfs-dev/nilfs-utils -comment "nilfs-utils needs a toolchain w/ threads, NPTL" +comment "nilfs-utils needs a toolchain w/ threads" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/nodejs/nodejs.hash b/package/nodejs/nodejs.hash index 8285172215..ad8ad4ad99 100644 --- a/package/nodejs/nodejs.hash +++ b/package/nodejs/nodejs.hash @@ -1,5 +1,5 @@ -# From http://nodejs.org/dist/v8.11.4/SHASUMS256.txt -sha256 fbce7de6d96b0bcb0db0bf77f0e6ea999b6755e6930568aedaab06847552a609 node-v8.11.4.tar.xz +# From https://nodejs.org/dist/v8.15.1/SHASUMS256.txt +sha256 6b6486a3f452624941f6e11dd5f878c298d43e9c21b5f43ca1721dc7ce25add1 node-v8.15.1.tar.xz # Hash for license file sha256 b87be6c1479ed977481115869c2dd8b6d59e5ea55aa09939d6c898242121b2f5 LICENSE diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index 3c5e40a4d6..06d2eaad99 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -4,13 +4,13 @@ # ################################################################################ -NODEJS_VERSION = 8.11.4 +NODEJS_VERSION = 8.15.1 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) NODEJS_DEPENDENCIES = host-python host-nodejs c-ares \ libhttpparser libuv zlib \ $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) -HOST_NODEJS_DEPENDENCIES = host-python host-zlib +HOST_NODEJS_DEPENDENCIES = host-libopenssl host-python host-zlib NODEJS_LICENSE = MIT (core code); MIT, Apache and BSD family licenses (Bundled components) NODEJS_LICENSE_FILES = LICENSE @@ -50,10 +50,6 @@ define HOST_NODEJS_CONFIGURE_CMDS mkdir -p $(@D)/bin ln -sf $(HOST_DIR)/bin/python2 $(@D)/bin/python - # Build with the static, built-in OpenSSL which is supplied as part of - # the nodejs source distribution. This is needed on the host because - # NPM is non-functional without it, and host-openssl isn't part of - # buildroot. (cd $(@D); \ $(HOST_CONFIGURE_OPTS) \ PATH=$(@D)/bin:$(BR_PATH) \ @@ -63,6 +59,9 @@ define HOST_NODEJS_CONFIGURE_CMDS --without-snapshot \ --without-dtrace \ --without-etw \ + --shared-openssl \ + --shared-openssl-includes=$(HOST_DIR)/include/openssl \ + --shared-openssl-libpath=$(HOST_DIR)/lib \ --shared-zlib \ --with-intl=none \ ) @@ -97,7 +96,7 @@ NODEJS_CPU = arm else ifeq ($(BR2_aarch64),y) NODEJS_CPU = arm64 # V8 needs to know what floating point ABI the target is using. -NODEJS_ARM_FP = $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) +NODEJS_ARM_FP = $(GCC_TARGET_FLOAT_ABI) endif # MIPS architecture specific options diff --git a/package/nodm/S90nodm b/package/nodm/S90nodm old mode 100755 new mode 100644 diff --git a/package/nss-mdns/nss-mdns.mk b/package/nss-mdns/nss-mdns.mk index 407b9426b2..1512ea2e7f 100644 --- a/package/nss-mdns/nss-mdns.mk +++ b/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/package/nss-myhostname/Config.in b/package/nss-myhostname/Config.in new file mode 100644 index 0000000000..bdd9830e0a --- /dev/null +++ b/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/package/nss-myhostname/nss-myhostname.hash b/package/nss-myhostname/nss-myhostname.hash new file mode 100644 index 0000000000..dfa531c94b --- /dev/null +++ b/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/package/nss-myhostname/nss-myhostname.mk b/package/nss-myhostname/nss-myhostname.mk new file mode 100644 index 0000000000..08683a542b --- /dev/null +++ b/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/package/ntp/0003-fix-nommu.patch b/package/ntp/0003-fix-nommu.patch deleted file mode 100644 index 0959fa0ba5..0000000000 --- a/package/ntp/0003-fix-nommu.patch +++ /dev/null @@ -1,29 +0,0 @@ -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/package/ntp/0004-fix-work-fork-without-droproot.patch b/package/ntp/0004-fix-work-fork-without-droproot.patch deleted file mode 100644 index cb6fec0125..0000000000 --- a/package/ntp/0004-fix-work-fork-without-droproot.patch +++ /dev/null @@ -1,26 +0,0 @@ -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/package/ntp/Config.in b/package/ntp/Config.in index efd47e1895..97d933b5a8 100644 --- a/package/ntp/Config.in +++ b/package/ntp/Config.in @@ -12,7 +12,12 @@ if BR2_PACKAGE_NTP config BR2_PACKAGE_NTP_SNTP bool "sntp" help - Simple network time protocol program + Simple network time protocol program (a replacement + for the ntpdate tool) + + A script is installed as S48sntp which will retrieve and + step the time if there is a large difference before ntpd + takes over the necessary slew adjustments in S49ntp. config BR2_PACKAGE_NTP_NTP_KEYGEN bool "ntp-keygen" diff --git a/package/ntp/S48sntp b/package/ntp/S48sntp new file mode 100644 index 0000000000..96d8d507aa --- /dev/null +++ b/package/ntp/S48sntp @@ -0,0 +1,55 @@ +#!/bin/sh + +DAEMON="sntp" +# sntp uses all the IPs resolved for the hostname (i.e. pool.ntp.org has 4). +# It will try each until they either all timeout or time has been set. Thus +# default to only providing one NTP pool host. +SNTP_SERVERS="pool.ntp.org" +# Step if time delta is greater then 128ms, otherwise slew +SNTP_ARGS="-Ss -M 128" +SNTP_KEY_CACHE="/tmp/kod" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # Create key cache file to prevents warning that file is missing + touch $SNTP_KEY_CACHE + # shellcheck disable=SC2086 # we need the word splitting + /usr/bin/$DAEMON $SNTP_ARGS -K $SNTP_KEY_CACHE $SNTP_SERVERS + # sntp behavior + # - Does not background + # - Does not infinitely block + # - Time-out w/o network = ~2 sec + # - Time-out w/ network = ~5sec * # of servers + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + echo "Nothing to do, $DAEMON is not a daemon." +} + +restart() { + stop + sleep 1 + start +} + +reload() { + echo "Nothing to do, $DAEMON does not support reload." +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/ntp/S49ntp b/package/ntp/S49ntp old mode 100755 new mode 100644 diff --git a/package/ntp/ntp.hash b/package/ntp/ntp.hash index 2fd8a8322b..4014936e61 100644 --- a/package/ntp/ntp.hash +++ b/package/ntp/ntp.hash @@ -1,5 +1,5 @@ -# 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 +# From https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p13.tar.gz.md5 +md5 ea040ab9b4ca656b5229b89d6b822f13 ntp-4.2.8p13.tar.gz # Calculated based on the hash above -sha256 709b222b5013d77d26bfff532b5ea470a8039497ef29d09363931c036cb30454 ntp-4.2.8p12.tar.gz -sha256 62c87b269365b38b55359b16dfde7ec28c683c722ef489db90afd0f2e478e4a1 COPYRIGHT +sha256 288772cecfcd9a53694ffab108d1825a31ba77f3a8466b0401baeca3bc232a38 ntp-4.2.8p13.tar.gz +sha256 3828da5fc8126889d6a64432288ace08526c490bf5427d799931689069968d91 COPYRIGHT diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index af3c1aad9f..d53fcc5d0b 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -5,7 +5,7 @@ ################################################################################ NTP_VERSION_MAJOR = 4.2 -NTP_VERSION = $(NTP_VERSION_MAJOR).8p12 +NTP_VERSION = $(NTP_VERSION_MAJOR).8p13 NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR) NTP_DEPENDENCIES = host-pkgconf libevent NTP_LICENSE = NTP @@ -93,8 +93,16 @@ define NTP_INSTALL_TARGET_CMDS $(INSTALL) -m 644 package/ntp/ntpd.etc.conf $(TARGET_DIR)/etc/ntp.conf endef +# This script will step the time if there is a large difference +# before ntpd takes over the necessary slew adjustments +ifeq ($(BR2_PACKAGE_NTP_SNTP),y) +define NTP_INSTALL_INIT_SYSV_SNTP + $(INSTALL) -D -m 755 package/ntp/S48sntp $(TARGET_DIR)/etc/init.d/S48sntp +endef +endif + ifeq ($(BR2_PACKAGE_NTP_NTPD),y) -define NTP_INSTALL_INIT_SYSV +define NTP_INSTALL_INIT_SYSV_NTPD $(INSTALL) -D -m 755 package/ntp/S49ntp $(TARGET_DIR)/etc/init.d/S49ntp endef @@ -106,4 +114,9 @@ define NTP_INSTALL_INIT_SYSTEMD endef endif +define NTP_INSTALL_INIT_SYSV + $(NTP_INSTALL_INIT_SYSV_NTPD) + $(NTP_INSTALL_INIT_SYSV_SNTP) +endef + $(eval $(autotools-package)) diff --git a/package/numactl/0001-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch b/package/numactl/0001-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch deleted file mode 100644 index ebb934f60f..0000000000 --- a/package/numactl/0001-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3770bdc4fa7b9059db5cd2aa8bb09b50fa15e456 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Fri, 12 Feb 2016 19:25:02 +0100 -Subject: [PATCH] Fix usage of __GLIBC_PREREQ for non-glibc toolchains - -The way __GLIBC_PREREQ() is currently used means that it's evaluated -even if __GLIBC__ is not defined. But obviously, __GLIBC_PREREQ will -not exist if __GLIBC__ is not defined, causing build failures on C -libraries not defining __GLIBC__ such as the musl C library. - -Patch originally taken from: -https://github.com/voidlinux/void-packages/blob/master/srcpkgs/numactl/patches/musl.patch - -Signed-off-by: Bernd Kuhls -[Bernd: Reworked to fix uClibc] -Signed-off-by: Thomas Petazzoni -[Thomas: improve patch description.] -[Upstream commit: https://github.com/numactl/numactl/commit/3770bdc4fa7b9059db5cd2aa8bb09b50fa15e456.] ---- - syscall.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/syscall.c b/syscall.c -index 4589b85..37782d9 100644 ---- a/syscall.c -+++ b/syscall.c -@@ -115,7 +115,7 @@ - - #endif - --#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 11) -+#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 11) - - /* glibc 2.11 seems to have working 6 argument sycall. Use the - glibc supplied syscall in this case. diff --git a/package/numactl/0002-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch b/package/numactl/0002-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch deleted file mode 100644 index a98fd7247c..0000000000 --- a/package/numactl/0002-Fix-usage-of-GLIBC_PREREQ-for-non-glibc-toolchains.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 31dc2951c758698bff060aeae8ffd8854616183b Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Fri, 12 Feb 2016 19:25:02 +0100 -Subject: [PATCH] Fix usage of __GLIBC_PREREQ for non-glibc toolchains - -The way __GLIBC_PREREQ() is currently used means that it's evaluated -even if __GLIBC__ is not defined. But obviously, __GLIBC_PREREQ will -not exist if __GLIBC__ is not defined, causing build failures on C -libraries not defining __GLIBC__ such as the musl C library. - -Patch originally taken from: -https://github.com/voidlinux/void-packages/blob/master/srcpkgs/numactl/patches/musl.patch - -Signed-off-by: Bernd Kuhls -[Bernd: Reworked to fix uClibc] -Signed-off-by: Thomas Petazzoni -[Thomas: improve patch description.] -[Upstream commit: https://github.com/numactl/numactl/commit/31dc2951c758698bff060aeae8ffd8854616183b] ---- - syscall.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/syscall.c b/syscall.c -index 37782d9..255853d 100644 ---- a/syscall.c -+++ b/syscall.c -@@ -115,7 +115,11 @@ - - #endif - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 11) -+#ifndef __GLIBC_PREREQ -+# define __GLIBC_PREREQ(x,y) 0 -+#endif -+ -+#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 11) - - /* glibc 2.11 seems to have working 6 argument sycall. Use the - glibc supplied syscall in this case. diff --git a/package/numactl/numactl.hash b/package/numactl/numactl.hash index 8a395417f1..d93af1a7bb 100644 --- a/package/numactl/numactl.hash +++ b/package/numactl/numactl.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 3e099a59b2c527bcdbddd34e1952ca87462d2cef4c93da9b0bc03f02903f7089 numactl-v2.0.11.tar.gz +sha256 7c3e819c2bdeb883de68bafe88776a01356f7ef565e75ba866c4b49a087c6bdf numactl-v2.0.12.tar.gz +sha256 e2b738b1303c088421b09933a78c1326fe43692e2c05a7c510a2eb7e7a8eb575 README.md diff --git a/package/numactl/numactl.mk b/package/numactl/numactl.mk index d3ce4f43c0..9efbcb5f67 100644 --- a/package/numactl/numactl.mk +++ b/package/numactl/numactl.mk @@ -4,10 +4,10 @@ # ################################################################################ -NUMACTL_VERSION = v2.0.11 +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 diff --git a/package/nut/0003-Add-compatibility-with-openssl-1.1.0.patch b/package/nut/0003-Add-compatibility-with-openssl-1.1.0.patch new file mode 100644 index 0000000000..5a0031acd8 --- /dev/null +++ b/package/nut/0003-Add-compatibility-with-openssl-1.1.0.patch @@ -0,0 +1,76 @@ +From fcbf18c92918ce5e81d0aab62a7aed5c2245ea4d Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Fri, 1 Jun 2018 11:17:28 -0300 +Subject: [PATCH] Add compatibility with openssl 1.1.0 + +Minor adjustments were needed: +* Openssl 1.1 libs do not need to be initialized. +* TLSv*_method became TLS_*_method. + +Signed-off-by: Eneas U de Queiroz +Upstream: https://github.com/networkupstools/nut/pull/558/ +[added check for libressl] +Signed-off-by: Patrick Havelange +--- + clients/upsclient.c | 5 ++++- + m4/nut_check_libopenssl.m4 | 2 +- + server/netssl.c | 7 +++++-- + 3 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/clients/upsclient.c b/clients/upsclient.c +index b90587b0..053d60fb 100644 +--- a/clients/upsclient.c ++++ b/clients/upsclient.c +@@ -316,10 +316,13 @@ int upscli_init(int certverify, const char *certpath, + + #ifdef WITH_OPENSSLdefined(LIBRESSL_VERSION_NUMBER) + ++# if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) + SSL_library_init(); + SSL_load_error_strings(); ++# define TLS_client_method TLSv1_client_method ++# endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ + +- ssl_method = TLSv1_client_method(); ++ ssl_method = TLS_client_method(); + + if (!ssl_method) { + return 0; +diff --git a/m4/nut_check_libopenssl.m4 b/m4/nut_check_libopenssl.m4 +index 1b875077..7eb401cd 100644 +--- a/m4/nut_check_libopenssl.m4 ++++ b/m4/nut_check_libopenssl.m4 +@@ -58,7 +58,7 @@ if test -z "${nut_have_libopenssl_seen}"; then + + dnl check if openssl is usable + AC_CHECK_HEADERS(openssl/ssl.h, [nut_have_openssl=yes], [nut_have_openssl=no], [AC_INCLUDES_DEFAULT]) +- AC_CHECK_FUNCS(SSL_library_init, [], [nut_have_openssl=no]) ++ AC_CHECK_FUNCS(SSL_CTX_new, [], [nut_have_openssl=no]) + + if test "${nut_have_openssl}" = "yes"; then + nut_with_ssl="yes" +diff --git a/server/netssl.c b/server/netssl.c +index c2f40989..0289e296 100644 +--- a/server/netssl.c ++++ b/server/netssl.c +@@ -387,12 +387,15 @@ void ssl_init(void) + + #ifdef WITH_OPENSSL + ++# if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) + SSL_load_error_strings(); + SSL_library_init(); ++# define TLS_server_method TLSv1_server_method ++# endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ + +- if ((ssl_method = TLSv1_server_method()) == NULL) { ++ if ((ssl_method = TLS_server_method()) == NULL) { + ssl_debug(); +- fatalx(EXIT_FAILURE, "TLSv1_server_method failed"); ++ fatalx(EXIT_FAILURE, "TLS_server_method failed"); + } + + if ((ssl_ctx = SSL_CTX_new(ssl_method)) == NULL) { +-- +2.16.1 + diff --git a/package/nvidia-driver/Config.in b/package/nvidia-driver/Config.in index 732d9255c7..9631b3e70c 100644 --- a/package/nvidia-driver/Config.in +++ b/package/nvidia-driver/Config.in @@ -60,6 +60,11 @@ if BR2_PACKAGE_NVIDIA_DRIVER_CUDA config BR2_PACKAGE_NVIDIA_DRIVER_OPENCL bool "OpenCL support" + select BR2_PACKAGE_MESA3D_HEADERS + select BR2_PACKAGE_HAS_LIBOPENCL + +config BR2_PACKAGE_PROVIDES_LIBOPENCL + default "nvidia-driver" if BR2_PACKAGE_NVIDIA_DRIVER_OPENCL config BR2_PACKAGE_NVIDIA_DRIVER_CUDA_PROGS bool "CUDA MPS server and control" diff --git a/package/nvidia-driver/nvidia-driver.mk b/package/nvidia-driver/nvidia-driver.mk index a595aed4f7..baf2ba2be5 100644 --- a/package/nvidia-driver/nvidia-driver.mk +++ b/package/nvidia-driver/nvidia-driver.mk @@ -20,8 +20,8 @@ ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_XORG),y) # are build dependencies of packages that depend on nvidia-driver, so # they should be built prior to those packages, and the only simple # way to do so is to make nvidia-driver depend on them. -NVIDIA_DRIVER_DEPENDENCIES = mesa3d-headers xlib_libX11 xlib_libXext -NVIDIA_DRIVER_PROVIDES = libgl libegl libgles +NVIDIA_DRIVER_DEPENDENCIES += mesa3d-headers xlib_libX11 xlib_libXext +NVIDIA_DRIVER_PROVIDES += libgl libegl libgles # libGL.so.$(NVIDIA_DRIVER_VERSION) is the legacy libGL.so library; it # has been replaced with libGL.so.1.0.0. Installing both is technically @@ -65,7 +65,7 @@ NVIDIA_DRIVER_LIBS_MISC = \ libvdpau_nvidia.so.$(NVIDIA_DRIVER_VERSION) \ libnvidia-ml.so.$(NVIDIA_DRIVER_VERSION) -NVIDIA_DRIVER_LIBS = \ +NVIDIA_DRIVER_LIBS += \ $(NVIDIA_DRIVER_LIBS_GL) \ $(NVIDIA_DRIVER_LIBS_EGL) \ $(NVIDIA_DRIVER_LIBS_GLES) \ @@ -116,6 +116,8 @@ ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_OPENCL),y) NVIDIA_DRIVER_LIBS += \ libOpenCL.so.1.0.0 \ libnvidia-opencl.so.$(NVIDIA_DRIVER_VERSION) +NVIDIA_DRIVER_DEPENDENCIES += mesa3d-headers +NVIDIA_DRIVER_PROVIDES += libopencl endif # Build and install the kernel modules if needed diff --git a/package/ocrad/ocrad.hash b/package/ocrad/ocrad.hash index 5cde4d3ac4..7ae38c30e8 100644 --- a/package/ocrad/ocrad.hash +++ b/package/ocrad/ocrad.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 c383d37869baa0990d38d38836d4d567e9e2862aa0cd704868b62dafeac18e3c ocrad-0.26.tar.lz +sha256 a9bfe67e9a040907aff5640dca56392476b6a89e48e37dc94ba846c5b6733b36 ocrad-0.27.tar.lz sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/package/ocrad/ocrad.mk b/package/ocrad/ocrad.mk index 94020d2d25..e037a08195 100644 --- a/package/ocrad/ocrad.mk +++ b/package/ocrad/ocrad.mk @@ -4,7 +4,7 @@ # ################################################################################ -OCRAD_VERSION = 0.26 +OCRAD_VERSION = 0.27 OCRAD_SOURCE = ocrad-$(OCRAD_VERSION).tar.lz OCRAD_SITE = $(BR2_GNU_MIRROR)/ocrad OCRAD_LICENSE = GPL-3.0+ diff --git a/package/odhcp6c/0001-dhcpv6-fix-strncpy-bounds.patch b/package/odhcp6c/0001-dhcpv6-fix-strncpy-bounds.patch new file mode 100644 index 0000000000..abf5191522 --- /dev/null +++ b/package/odhcp6c/0001-dhcpv6-fix-strncpy-bounds.patch @@ -0,0 +1,28 @@ +From 327f73dd7093d04c2dbea13ee30fc3dfafc5e944 Mon Sep 17 00:00:00 2001 +From: Hans Dedecker +Date: Sat, 21 Apr 2018 13:40:29 +0200 +Subject: [PATCH] dhcpv6: fix strncpy bounds + +Fixes dhcpv6.c:138:2: error: 'strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation] strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); + +Signed-off-by: Khem Raj +Signed-off-by: Hans Dedecker +[Retrieved (and backported) from: +https://github.com/openwrt/odhcp6c/commit/327f73dd7093d04c2dbea13ee30fc3dfafc5e944] +Signed-off-by: Fabrice Fontaine +--- + src/dhcpv6.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/dhcpv6.c b/src/dhcpv6.c +index 0b3585c..d70d533 100644 +--- a/src/dhcpv6.c ++++ b/src/dhcpv6.c +@@ -135,7 +135,7 @@ int init_dhcpv6(const char *ifname, unsigned int options, int sol_timeout) + // Detect interface + struct ifreq ifr; +- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); ++ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name) - 1); + if (ioctl(sock, SIOCGIFINDEX, &ifr) < 0) + return -1; + diff --git a/package/ofono/0002-fix-musl-compile.patch b/package/ofono/0002-fix-musl-compile.patch new file mode 100644 index 0000000000..369fb71791 --- /dev/null +++ b/package/ofono/0002-fix-musl-compile.patch @@ -0,0 +1,37 @@ +From 4a1d114fa3a5d6bef1f71222787c1f6c3a952284 Mon Sep 17 00:00:00 2001 +From: Nicolas Serafini +Date: Thu, 24 Jan 2019 10:11:42 +0100 +Subject: [PATCH] mbim: add optional copy of TEMP_FAILURE_RETRY macro (fix musl + compile) + +TEMP_FAILURE_RETRY is not available on musl. + +Signed-off-by: Nicolas Serafini +--- + drivers/mbimmodem/mbim.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drivers/mbimmodem/mbim.c b/drivers/mbimmodem/mbim.c +index 54b18acf..4b040528 100644 +--- a/drivers/mbimmodem/mbim.c ++++ b/drivers/mbimmodem/mbim.c +@@ -37,6 +37,16 @@ + #include "mbim-message.h" + #include "mbim-private.h" + ++/* taken from glibc unistd.h for musl support */ ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++ + #define MAX_CONTROL_TRANSFER 4096 + #define HEADER_SIZE (sizeof(struct mbim_message_header) + \ + sizeof(struct mbim_fragment_header)) +-- +2.20.1 + diff --git a/package/ofono/S46ofono b/package/ofono/S46ofono old mode 100755 new mode 100644 diff --git a/package/ofono/ofono.hash b/package/ofono/ofono.hash index 37933f126b..2dbb9986c7 100644 --- a/package/ofono/ofono.hash +++ b/package/ofono/ofono.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/linux/network/ofono/sha256sums.asc -sha256 a6b021cda0b444b772897cd637d5f455857fb5819b62c279a8302b44f9c7f2c3 ofono-1.21.tar.xz +sha256 93bb2cedef54f897dd5200e22b072a6e38b5d9b44be57eebbbe8d513f0beb0e4 ofono-1.28.tar.xz +# Locally computed +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/package/ofono/ofono.mk b/package/ofono/ofono.mk index b4b7915a30..0552a181fd 100644 --- a/package/ofono/ofono.mk +++ b/package/ofono/ofono.mk @@ -4,7 +4,7 @@ # ################################################################################ -OFONO_VERSION = 1.21 +OFONO_VERSION = 1.28 OFONO_SOURCE = ofono-$(OFONO_VERSION).tar.xz OFONO_SITE = $(BR2_KERNEL_MIRROR)/linux/network/ofono OFONO_LICENSE = GPL-2.0 diff --git a/package/olsr/S50olsr b/package/olsr/S50olsr old mode 100755 new mode 100644 diff --git a/package/opencv/Config.in b/package/opencv/Config.in index b7c8c41682..54094b29ca 100644 --- a/package/opencv/Config.in +++ b/package/opencv/Config.in @@ -266,18 +266,6 @@ config BR2_PACKAGE_OPENCV_WITH_PNG help Use shared libpng from the target system. -config BR2_PACKAGE_OPENCV_WITH_QT - bool "qt backend support" - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_MMU # qt - depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI - select BR2_PACKAGE_QT - select BR2_PACKAGE_QT_STL - select BR2_PACKAGE_QT_GUI_MODULE - select BR2_PACKAGE_QT_TEST - help - Use Qt with QtTest module and STL support - config BR2_PACKAGE_OPENCV_WITH_TIFF bool "tiff support" select BR2_PACKAGE_TIFF diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk index d9813a041d..ccc2d820da 100644 --- a/package/opencv/opencv.mk +++ b/package/opencv/opencv.mk @@ -160,6 +160,7 @@ OPENCV_CONF_OPTS += \ -DWITH_OPENGL=OFF \ -DWITH_OPENMP=OFF \ -DWITH_OPENNI=OFF \ + -DWITH_QT=OFF \ -DWITH_UNICAP=OFF \ -DWITH_XINE=OFF @@ -215,13 +216,6 @@ else OPENCV_CONF_OPTS += -DWITH_PNG=OFF endif -ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT),y) -OPENCV_CONF_OPTS += -DWITH_QT=4 -OPENCV_DEPENDENCIES += qt -else -OPENCV_CONF_OPTS += -DWITH_QT=OFF -endif - ifeq ($(BR2_PACKAGE_OPENCV_WITH_TIFF),y) OPENCV_CONF_OPTS += -DWITH_TIFF=ON OPENCV_DEPENDENCIES += tiff diff --git a/package/opencv3/0001-3rdparty-protobuf-fix-compilation-issue-on-s390.patch b/package/opencv3/0001-3rdparty-protobuf-fix-compilation-issue-on-s390.patch new file mode 100644 index 0000000000..7743eae533 --- /dev/null +++ b/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/package/opencv3/Config.in b/package/opencv3/Config.in index 80a297a904..61405a7c64 100644 --- a/package/opencv3/Config.in +++ b/package/opencv3/Config.in @@ -82,20 +82,6 @@ comment "gtk3 support needs libgtk3" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_PACKAGE_LIBGTK3 -config BR2_PACKAGE_OPENCV3_WITH_QT - bool "qt4" - depends on BR2_PACKAGE_QT - select BR2_PACKAGE_QT_STL - select BR2_PACKAGE_QT_GUI_MODULE - select BR2_PACKAGE_QT_TEST - help - Use Qt4 with QtTest and QtGui modules and STL support, as - GUI toolkit. - -comment "qt4 support needs qt" - depends on BR2_USE_MMU # qt - depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 - config BR2_PACKAGE_OPENCV3_WITH_QT5 bool "qt5" depends on BR2_PACKAGE_QT5 @@ -108,7 +94,7 @@ config BR2_PACKAGE_OPENCV3_WITH_QT5 components, as GUI toolkit. comment "qt5 support needs qt5" - depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 + depends on !BR2_PACKAGE_QT5 endchoice diff --git a/package/opencv3/opencv3.hash b/package/opencv3/opencv3.hash index e2d020db9b..34baf260d4 100644 --- a/package/opencv3/opencv3.hash +++ b/package/opencv3/opencv3.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 81dbd5e7e9f8a4c936b94629bf4765745942a1d634ae38ec08bc57b73b28ffc5 opencv3-3.4.2.tar.gz +sha256 4eef85759d5450b183459ff216b4c0fa43e87a4f6aa92c8af649f89336f002ec opencv3-3.4.3.tar.gz sha256 fea311907cb6271b05ff5843b238e0f2edb6f204a3432975211030d20704b321 LICENSE diff --git a/package/opencv3/opencv3.mk b/package/opencv3/opencv3.mk index ea4d22743f..3a2594b584 100644 --- a/package/opencv3/opencv3.mk +++ b/package/opencv3/opencv3.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENCV3_VERSION = 3.4.2 +OPENCV3_VERSION = 3.4.3 OPENCV3_SITE = $(call github,opencv,opencv,$(OPENCV3_VERSION)) OPENCV3_INSTALL_STAGING = YES OPENCV3_LICENSE = BSD-3-Clause @@ -288,18 +288,11 @@ else OPENCV3_CONF_OPTS += -DWITH_PNG=OFF endif -ifeq ($(BR2_PACKAGE_OPENCV3_WITH_QT)$(BR2_PACKAGE_OPENCV3_WITH_QT5),) -OPENCV3_CONF_OPTS += -DWITH_QT=OFF -endif - -ifeq ($(BR2_PACKAGE_OPENCV3_WITH_QT),y) -OPENCV3_CONF_OPTS += -DWITH_QT=4 -OPENCV3_DEPENDENCIES += qt -endif - ifeq ($(BR2_PACKAGE_OPENCV3_WITH_QT5),y) OPENCV3_CONF_OPTS += -DWITH_QT=5 OPENCV3_DEPENDENCIES += qt5base +else +OPENCV3_CONF_OPTS += -DWITH_QT=OFF endif ifeq ($(BR2_PACKAGE_OPENCV3_WITH_TIFF),y) diff --git a/package/opengl/Config.in b/package/opengl/Config.in index 20ee28b06e..cbc001427d 100644 --- a/package/opengl/Config.in +++ b/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/package/opengl/libopencl/Config.in b/package/opengl/libopencl/Config.in new file mode 100644 index 0000000000..57a3ad7d0d --- /dev/null +++ b/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/package/opengl/libopencl/libopencl.mk b/package/opengl/libopencl/libopencl.mk new file mode 100644 index 0000000000..e1c71f82d1 --- /dev/null +++ b/package/opengl/libopencl/libopencl.mk @@ -0,0 +1,7 @@ +################################################################################ +# +# libopencl +# +################################################################################ + +$(eval $(virtual-package)) diff --git a/package/openjpeg/0004-install-static-lib.patch b/package/openjpeg/0004-install-static-lib.patch deleted file mode 100644 index 4a3bbfa28a..0000000000 --- a/package/openjpeg/0004-install-static-lib.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 66297f07a43d2770a97c8456d20202f3d051d980 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Mon, 9 Oct 2017 11:40:43 +0200 -Subject: [PATCH] Unix build: fix regression of 2.3.0 where a shared-only or - static-only build lacks the installation target for the library (#1019, fixes - regression introduced by 3dfc6ca2bcf06fd1adb6b6b4cecc6c092f08ba0b) - -Downloaded from upstream commit -https://github.com/uclouvain/openjpeg/commit/66297f07a43d2770a97c8456d20202f3d051d980 - -Signed-off-by: Bernd Kuhls ---- - src/lib/openjp2/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/lib/openjp2/CMakeLists.txt b/src/lib/openjp2/CMakeLists.txt -index 0b4520384..f8990ccf0 100644 ---- a/src/lib/openjp2/CMakeLists.txt -+++ b/src/lib/openjp2/CMakeLists.txt -@@ -99,6 +99,7 @@ else() - set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME} openjp2_static) - else() - add_library(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS}) -+ set(INSTALL_LIBS ${OPENJPEG_LIBRARY_NAME}) - endif() - endif() - diff --git a/package/openjpeg/openjpeg.hash b/package/openjpeg/openjpeg.hash index dd3cf26cf0..8a6fda48c4 100644 --- a/package/openjpeg/openjpeg.hash +++ b/package/openjpeg/openjpeg.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 3dc787c1bb6023ba846c2a0d9b1f6e179f1cd255172bde9eb75b01f1e6c7d71a openjpeg-2.3.0.tar.gz +sha256 3389a1aa908c2b577863da213db3a170df3edbb1432e99ae5fd3f2ac721d69d3 openjpeg-51f097e6d5754ddae93e716276fe8176b44ec548.tar.gz +sha256 a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6 LICENSE diff --git a/package/openjpeg/openjpeg.mk b/package/openjpeg/openjpeg.mk index 9a8fdab7a4..6036ab95a3 100644 --- a/package/openjpeg/openjpeg.mk +++ b/package/openjpeg/openjpeg.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPENJPEG_VERSION = 2.3.0 -OPENJPEG_SITE = $(call github,uclouvain,openjpeg,v$(OPENJPEG_VERSION)) +OPENJPEG_VERSION = 51f097e6d5754ddae93e716276fe8176b44ec548 +OPENJPEG_SITE = $(call github,uclouvain,openjpeg,$(OPENJPEG_VERSION)) OPENJPEG_LICENSE = BSD-2-Clause OPENJPEG_LICENSE_FILES = LICENSE OPENJPEG_INSTALL_STAGING = YES diff --git a/package/openmpi/openmpi.hash b/package/openmpi/openmpi.hash index 4e967e6589..4e76951c8f 100644 --- a/package/openmpi/openmpi.hash +++ b/package/openmpi/openmpi.hash @@ -1,5 +1,6 @@ -# From: https://www.open-mpi.org/software/ompi/v1.10/ -md5 c87c613f9acb1a4eee21fa1ac8042579 openmpi-1.10.7.tar.bz2 -sha1 fe359d8caa4888625308cf03343d913dd5ac6198 openmpi-1.10.7.tar.bz2 +# From: https://www.open-mpi.org/software/ompi/v4.0/ +md5 e3da67df1e968c8798827e0e5fe9a510 openmpi-4.0.0.tar.bz2 +sha1 fee1d0287abfb150bae16957de342752c9bdd4e8 openmpi-4.0.0.tar.bz2 # Locally computed -sha256 a089ece151fec974905caa35b0a59039b227bdea4e7933069e94bee4ed0e5a90 openmpi-1.10.7.tar.bz2 +sha256 2f0b8a36cfeb7354b45dda3c5425ef8393c9b04115570b615213faaa3f97366b openmpi-4.0.0.tar.bz2 +sha256 8298a80ed5f09cfd007bae1c0e7d67d1c2810c6389876778dad070c31a691dac LICENSE diff --git a/package/openmpi/openmpi.mk b/package/openmpi/openmpi.mk index df3270f50a..8d9eafd631 100644 --- a/package/openmpi/openmpi.mk +++ b/package/openmpi/openmpi.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPENMPI_VERSION_MAJOR = 1.10 -OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).7 +OPENMPI_VERSION_MAJOR = 4.0 +OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).0 OPENMPI_SITE = https://www.open-mpi.org/software/ompi/v$(OPENMPI_VERSION_MAJOR)/downloads OPENMPI_SOURCE = openmpi-$(OPENMPI_VERSION).tar.bz2 OPENMPI_LICENSE = BSD-3-Clause diff --git a/package/openntpd/S49ntp b/package/openntpd/S49ntp old mode 100755 new mode 100644 diff --git a/package/openocd/Config.in b/package/openocd/Config.in index 6cba7a04c8..abba07e889 100644 --- a/package/openocd/Config.in +++ b/package/openocd/Config.in @@ -9,6 +9,17 @@ if BR2_PACKAGE_OPENOCD comment "Adapters" +config BR2_PACKAGE_OPENOCD_CMSIS_DAP + bool "CMSIS-DAP compliant debuggers" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + depends on BR2_PACKAGE_HAS_UDEV # hidapi + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # hidapi + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_HIDAPI + help + Enable support for CMSIS-DAP compliant debuggers (i.e + Atmel/Microchip EDBG, etc.) + config BR2_PACKAGE_OPENOCD_FTDI bool "MPSSE mode of FTDI based devices" depends on BR2_TOOLCHAIN_HAS_THREADS # libusb diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk index 548d8b81a0..d35ed77cd1 100644 --- a/package/openocd/openocd.mk +++ b/package/openocd/openocd.mk @@ -31,10 +31,12 @@ 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) \ - $(if $(BR2_PACKAGE_LIBHID),libhid) + $(if $(BR2_PACKAGE_LIBHID),libhid) \ + $(if $(BR2_PACKAGE_HIDAPI),hidapi) # Adapters OPENOCD_CONF_OPTS += \ diff --git a/package/openpowerlink/0004-stack-src-kernel-edrv-edrv-rawsock_linux.c-add-missi.patch b/package/openpowerlink/0004-stack-src-kernel-edrv-edrv-rawsock_linux.c-add-missi.patch deleted file mode 100644 index 4e00ecdb67..0000000000 --- a/package/openpowerlink/0004-stack-src-kernel-edrv-edrv-rawsock_linux.c-add-missi.patch +++ /dev/null @@ -1,35 +0,0 @@ -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/package/openpowerlink/openpowerlink.hash b/package/openpowerlink/openpowerlink.hash index da9bdd2a72..13b5e9351e 100644 --- a/package/openpowerlink/openpowerlink.hash +++ b/package/openpowerlink/openpowerlink.hash @@ -1,5 +1,5 @@ -# 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 +# From https://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.7.1/ +md5 04524d1b1f9946176dce0ccb0eecf537 openPOWERLINK_V2.7.1.tar.gz +sha1 4ee9c6e26bbc729fdbbb272155b093ffa0d9cefd openPOWERLINK_V2.7.1.tar.gz # sha256 locally computed -sha256 64c23ee42e3852bf2316fd99c59eae9cdd634219f92b3ea70ce747dad1e05354 openPOWERLINK_V2.7.0.tar.gz +sha256 d0d65f4fb8f2ad209cf9575714f88f33168a1cf71e8f1801e1e1ac4df6a37ffd openPOWERLINK_V2.7.1.tar.gz diff --git a/package/openpowerlink/openpowerlink.mk b/package/openpowerlink/openpowerlink.mk index 90088cef56..f869780822 100644 --- a/package/openpowerlink/openpowerlink.mk +++ b/package/openpowerlink/openpowerlink.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPENPOWERLINK_VERSION = V2.7.0 -OPENPOWERLINK_SITE = http://downloads.sourceforge.net/project/openpowerlink/openPOWERLINK/$(OPENPOWERLINK_VERSION) +OPENPOWERLINK_VERSION = V2.7.1 +OPENPOWERLINK_SITE = https://downloads.sourceforge.net/project/openpowerlink/openPOWERLINK/$(OPENPOWERLINK_VERSION) OPENPOWERLINK_SOURCE = openPOWERLINK_$(OPENPOWERLINK_VERSION).tar.gz OPENPOWERLINK_LICENSE = BSD-2-Clause, GPL-2.0 OPENPOWERLINK_LICENSE_FILES = license.md diff --git a/package/openresolv/Config.in b/package/openresolv/Config.in new file mode 100644 index 0000000000..835fbf29ee --- /dev/null +++ b/package/openresolv/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_OPENRESOLV + bool "openresolv" + help + openresolv is a resolvconf implementation which + manages resolv.conf. This tool provides a dns management + framework to track currently available nameservers. + + https://roy.marples.name/projects/openresolv diff --git a/package/openresolv/openresolv.hash b/package/openresolv/openresolv.hash new file mode 100644 index 0000000000..e1a1fb5468 --- /dev/null +++ b/package/openresolv/openresolv.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 96b3f84435a183426c622db7097a930fb0d48a99e82cd87ce83bd343b8c20574 openresolv-fe4e1ec4e2be2adfc1530ade94ebb30aa6f51540.tar.gz +sha256 d1f9dcd2dac4e095b14caab517cfe791a6e0785346164b7d0cafc13c714f8aa5 LICENSE diff --git a/package/openresolv/openresolv.mk b/package/openresolv/openresolv.mk new file mode 100644 index 0000000000..3f9d603d40 --- /dev/null +++ b/package/openresolv/openresolv.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# openresolv +# +################################################################################ + +OPENRESOLV_VERSION = fe4e1ec4e2be2adfc1530ade94ebb30aa6f51540 +OPENRESOLV_SITE = $(call github,rsmarples,openresolv,$(OPENRESOLV_VERSION)) +OPENRESOLV_LICENSE = BSD-2-Clause +OPENRESOLV_LICENSE_FILES = LICENSE + +define OPENRESOLV_CONFIGURE_CMDS + cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure --sysconfdir=/etc +endef + +define OPENRESOLV_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define OPENRESOLV_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install +endef + +$(eval $(generic-package)) diff --git a/package/openswan/openswan.hash b/package/openswan/openswan.hash index 805ab948fb..de0fa05058 100644 --- a/package/openswan/openswan.hash +++ b/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/package/openswan/openswan.mk b/package/openswan/openswan.mk index 928eb9bb6f..d7f1c46471 100644 --- a/package/openswan/openswan.mk +++ b/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/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch deleted file mode 100644 index 90a945bb27..0000000000 --- a/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 9462847f23a25524fdc2112cbc8de3f2c02a1669 Mon Sep 17 00:00:00 2001 -From: Jan Heylen -Date: Fri, 22 Dec 2017 22:04:29 +0100 -Subject: [PATCH] CMake: make shared/static target a configurable option - -Signed-off-by: Jan Heylen ---- - CMakeLists.txt | 40 ++++++++++++++++++++++++++++------------ - 1 file changed, 28 insertions(+), 12 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index aadf2f9..d03bd00 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -70,18 +70,36 @@ endif() - include_directories(include) - include_directories(SYSTEM 3rd_party/include) - -+option(BUILD_SHARED_LIBS "Build as a shared library" ON) -+option(BUILD_STATIC_LIBS "Build as a static library" ON) -+ -+if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) -+ message(FATAL_ERROR "One or both of BUILD_SHARED_LIBS or BUILD_STATIC_LIBS must be set to ON to build") -+endif() -+ - set(SRCS src/propagation.cpp src/noop.cpp src/tracer.cpp) --add_library(opentracing SHARED ${SRCS}) --target_include_directories(opentracing INTERFACE "$") --set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING} -+ -+if (BUILD_SHARED_LIBS) -+ add_library(opentracing SHARED ${SRCS}) -+ target_include_directories(opentracing INTERFACE "$") -+ set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING} - SOVERSION ${OPENTRACING_VERSION_MAJOR}) --add_library(opentracing-static STATIC ${SRCS}) --set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing) --target_include_directories(opentracing-static INTERFACE "$") --if (CLANG_TIDY_EXE) -- set_target_properties(opentracing PROPERTIES -+ install(TARGETS opentracing EXPORT OpenTracingTargets -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ if (CLANG_TIDY_EXE) -+ set_target_properties(opentracing PROPERTIES - CXX_CLANG_TIDY "${DO_CLANG_TIDY}") --endif() -+ endif() -+endif(BUILD_SHARED_LIBS) -+ -+if (BUILD_STATIC_LIBS) -+ add_library(opentracing-static STATIC ${SRCS}) -+ set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing) -+ target_include_directories(opentracing-static INTERFACE "$") -+ install(TARGETS opentracing-static EXPORT OpenTracingTargets -+ ARCHIVE DESTINATION lib) -+endif(BUILD_STATIC_LIBS) - - - install(DIRECTORY 3rd_party/include/opentracing DESTINATION include -@@ -89,9 +107,7 @@ install(DIRECTORY 3rd_party/include/opentracing DESTINATION include - PATTERN "*.h") - install(DIRECTORY include/opentracing DESTINATION include - FILES_MATCHING PATTERN "*.h") --install(TARGETS opentracing opentracing-static EXPORT OpenTracingTargets -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib) -+ - - # ============================================================================== - # Package configuration setup --- -2.7.4 - diff --git a/package/opentracing-cpp/Config.in b/package/opentracing-cpp/Config.in index 4ee7b29de2..ff3067b7d1 100644 --- a/package/opentracing-cpp/Config.in +++ b/package/opentracing-cpp/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_OPENTRACING_CPP bool "opentracing-cpp" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr help @@ -8,8 +10,9 @@ config BR2_PACKAGE_OPENTRACING_CPP http://opentracing.io -comment "opentracing-cpp needs a toolchain w/ C++, gcc >= 4.8" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 +comment "opentracing-cpp needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 comment "opentracing-cpp needs exception_ptr" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/package/opentracing-cpp/opentracing-cpp.hash b/package/opentracing-cpp/opentracing-cpp.hash index d25dbafeea..c5085ba9ce 100644 --- a/package/opentracing-cpp/opentracing-cpp.hash +++ b/package/opentracing-cpp/opentracing-cpp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c77041cb2f147ac81b2b0702abfced5565a9cebc318d045c060a4c3e074009ee opentracing-cpp-v1.2.0.tar.gz -sha256 b80bffcfee825a69645f7ca97ddba48714031ea5c845198d184714d5490798b6 COPYING +sha256 015c4187f7a6426a2b5196f0ccd982aa87f010cf61f507ae3ce5c90523f92301 opentracing-cpp-v1.5.1.tar.gz +sha256 076d03156735d5ff2df2ea0f8b12351ef65e5e9222b5c8c6a35101dadb41e717 LICENSE diff --git a/package/opentracing-cpp/opentracing-cpp.mk b/package/opentracing-cpp/opentracing-cpp.mk index 4e296fc9fb..a61993f7f2 100644 --- a/package/opentracing-cpp/opentracing-cpp.mk +++ b/package/opentracing-cpp/opentracing-cpp.mk @@ -4,10 +4,10 @@ # ################################################################################ -OPENTRACING_CPP_VERSION = v1.2.0 +OPENTRACING_CPP_VERSION = v1.5.1 OPENTRACING_CPP_SITE = $(call github,opentracing,opentracing-cpp,$(OPENTRACING_CPP_VERSION)) -OPENTRACING_CPP_LICENSE = MIT -OPENTRACING_CPP_LICENSE_FILES = COPYING +OPENTRACING_CPP_LICENSE = Apache-2.0 +OPENTRACING_CPP_LICENSE_FILES = LICENSE OPENTRACING_CPP_INSTALL_STAGING = YES diff --git a/package/openvmtools/0001-has_bsd_printf.patch b/package/openvmtools/0001-has_bsd_printf.patch deleted file mode 100644 index df23f00414..0000000000 --- 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 65% rename from package/openvmtools/0002-no_cflags_werror.patch rename to package/openvmtools/0001-no_cflags_werror.patch index 1621574f81..3378cb8e7d 100644 --- a/package/openvmtools/0002-no_cflags_werror.patch +++ b/package/openvmtools/0001-no_cflags_werror.patch @@ -4,8 +4,8 @@ Disable the mandatory flag -Werror in configure.ac. Signed-off-by: Karoly Kasza ---- openvmtools-stable-9.10.0.orig/open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200 -+++ openvmtools-stable-9.10.0/open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200 +--- open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200 ++++ open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200 @@ -935,7 +935,7 @@ ### General flags / actions diff --git a/package/openvmtools/0003-dont-force-cppflags.patch b/package/openvmtools/0002-dont-force-cppflags.patch similarity index 73% rename from package/openvmtools/0003-dont-force-cppflags.patch rename to package/openvmtools/0002-dont-force-cppflags.patch index c8fa6b17c1..eb2fe16ba9 100644 --- a/package/openvmtools/0003-dont-force-cppflags.patch +++ b/package/openvmtools/0002-dont-force-cppflags.patch @@ -4,8 +4,8 @@ This is so horribly broken for cross-compilation. :-( Signed-off-by: "Yann E. MORIN" ---- openvmtools-stable-9.10.0.orig/open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 -+++ openvmtools-stable-9.10.0/open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 +--- open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 ++++ open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 @@ -281,10 +281,10 @@ if test "$os" = freebsd; then CUSTOM_$1_CPPFLAGS="-I/usr/local/include" diff --git a/package/openvmtools/0004-uclibc_secure_getenv.patch b/package/openvmtools/0004-uclibc_secure_getenv.patch deleted file mode 100644 index 6fb9ebd723..0000000000 --- a/package/openvmtools/0004-uclibc_secure_getenv.patch +++ /dev/null @@ -1,18 +0,0 @@ -lib/misc/idLinux.c: add uClibc support - -uClibc does not have a secure_getenv function, so we use the -Android method. - -Signed-off-by: Karoly Kasza - ---- openvmtools-stable-9.10.0.orig/open-vm-tools/lib/misc/idLinux.c 2015-06-17 10:04:00.000000000 +0200 -+++ openvmtools-stable-9.10.0/open-vm-tools/lib/misc/idLinux.c 2015-06-17 10:04:00.000000000 +0200 -@@ -997,7 +997,7 @@ - static Bool - IdIsSetUGid(void) - { --#if defined(__ANDROID__) -+#if defined(__ANDROID__) || defined(__UCLIBC__) - /* Android does not have a secure_getenv, so be conservative. */ - return TRUE; - #else diff --git a/package/openvmtools/openvmtools.hash b/package/openvmtools/openvmtools.hash index bf344e506b..bd81d1f05c 100644 --- a/package/openvmtools/openvmtools.hash +++ b/package/openvmtools/openvmtools.hash @@ -1,2 +1,3 @@ # locally computed -sha256 ff384ab0c11e19db0fd6ddab60e8ae48a4591b141fb3a8e8f1d4e1a489dd293f openvmtools-5a9033ddfa95786d867e4d02bbb9a29bac8fb64f.tar.gz +sha256 364cd0fdfa5a05e872d08609659e6231ec99788669f7ebba24bfb8c94168daef open-vm-tools-10.3.5-10430147.tar.gz +sha256 f734933bd7d49aef25aaf897ed7281ee822e8635056e69b895a7d2e668937fc5 COPYING diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk index 9501ef3361..0dc2956d02 100644 --- a/package/openvmtools/openvmtools.mk +++ b/package/openvmtools/openvmtools.mk @@ -4,13 +4,14 @@ # ################################################################################ -OPENVMTOOLS_VERSION = 5a9033ddfa95786d867e4d02bbb9a29bac8fb64f -OPENVMTOOLS_SITE = $(call github,vmware,open-vm-tools,$(OPENVMTOOLS_VERSION)) -OPENVMTOOLS_SUBDIR = open-vm-tools +OPENVMTOOLS_VERSION_MAJOR = 10.3.5 +OPENVMTOOLS_VERSION = $(OPENVMTOOLS_VERSION_MAJOR)-10430147 +OPENVMTOOLS_SITE = https://github.com/vmware/open-vm-tools/releases/download/stable-$(OPENVMTOOLS_VERSION_MAJOR) +OPENVMTOOLS_SOURCE = open-vm-tools-$(OPENVMTOOLS_VERSION).tar.gz OPENVMTOOLS_LICENSE = LGPL-2.1 -OPENVMTOOLS_LICENSE_FILES = $(OPENVMTOOLS_SUBDIR)/COPYING +OPENVMTOOLS_LICENSE_FILES = COPYING -# Autoreconf needed or config/missing will run configure again at buildtime +# configure.ac is patched OPENVMTOOLS_AUTORECONF = YES OPENVMTOOLS_CONF_OPTS = --with-dnet \ --without-icu --without-x --without-gtk2 \ diff --git a/package/openvpn/S60openvpn b/package/openvpn/S60openvpn old mode 100755 new mode 100644 diff --git a/package/openzwave/0004-Fix-compilation-error-in-regards-to-Werror-restrict.patch b/package/openzwave/0004-Fix-compilation-error-in-regards-to-Werror-restrict.patch new file mode 100644 index 0000000000..b3dbd8f88e --- /dev/null +++ b/package/openzwave/0004-Fix-compilation-error-in-regards-to-Werror-restrict.patch @@ -0,0 +1,39 @@ +From 14164e9920ce3482747483fc16654c82d3ce445f Mon Sep 17 00:00:00 2001 +From: pipiche38 +Date: Fri, 8 Jun 2018 15:13:39 +0200 +Subject: [PATCH] Fix compilation error in regards to -Werror=restrict +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +/usr/share/domoticz/open-zwave/cpp/src/command_classes/DoorLockLogging.cpp: In member function �virtual bool OpenZWave::DoorLockLogging::HandleMsg(const uint8*, uint32, uint32)�: +/usr/share/domoticz/open-zwave/cpp/src/command_classes/DoorLockLogging.cpp:312:15: error: passing argument 1 to restrict-qualified parameter aliases with argument 4 [-Werror=restrict] + snprintf(usercode, sizeof(usercode), "%s %d", usercode, (int)_data[12+i]); + ^~~~~~~~ ~~~~~~~~ +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/OpenZWave/open-zwave/commit/14164e9920ce3482747483fc16654c82d3ce445f] +--- + cpp/src/command_classes/DoorLockLogging.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/cpp/src/command_classes/DoorLockLogging.cpp b/cpp/src/command_classes/DoorLockLogging.cpp +index c235a8497..418f61b7d 100644 +--- a/cpp/src/command_classes/DoorLockLogging.cpp ++++ b/cpp/src/command_classes/DoorLockLogging.cpp +@@ -304,12 +304,13 @@ bool DoorLockLogging::HandleMsg + } + uint8 userid = (_data[10]); + uint8 usercodelength = (_data[11]); +- char usercode[254]; ++ char usercode[254], tmpusercode[254]; + snprintf(usercode, sizeof(usercode), "UserCode:"); + if (usercodelength > 0) + for (int i = 0; i < usercodelength; i++ ) + { +- snprintf(usercode, sizeof(usercode), "%s %d", usercode, (int)_data[12+i]); ++ strncpy(tmpusercode, usercode, sizeof(tmpusercode)); ++ snprintf(usercode, sizeof(usercode), "%s %d", tmpusercode, (int)_data[12+i]); + } + + if (valid) { diff --git a/package/opus-tools/Config.in b/package/opus-tools/Config.in index 2552d19515..c045239ea7 100644 --- a/package/opus-tools/Config.in +++ b/package/opus-tools/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_OPUS_TOOLS bool "opus-tools" - select BR2_PACKAGE_OPUS select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBOPUSENC + select BR2_PACKAGE_OPUS + select BR2_PACKAGE_OPUSFILE help Opus codec command line tools. This package provides the reference implementations of encoder and decoder utilities diff --git a/package/opus-tools/opus-tools.hash b/package/opus-tools/opus-tools.hash index c7759e559f..1b87458f53 100644 --- a/package/opus-tools/opus-tools.hash +++ b/package/opus-tools/opus-tools.hash @@ -1,5 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 a2357532d19471b70666e0e0ec17d514246d8b3cb2eb168f68bb0f6fd372b28c opus-tools-0.1.10.tar.gz +sha256 b4e56cb00d3e509acfba9a9b627ffd8273b876b4e2408642259f6da28fa0ff86 opus-tools-0.2.tar.gz # Hash for license file -sha256 88021117568c64038175d7fb3b8286056f7cdb54f09dc806578f6bd9342c62cc COPYING +sha256 c28016e58544119d6b93aea28297d040f17dcef7a9f548d3e6a4d0b558c5d248 COPYING diff --git a/package/opus-tools/opus-tools.mk b/package/opus-tools/opus-tools.mk index ab00ced705..f69c3bef8b 100644 --- a/package/opus-tools/opus-tools.mk +++ b/package/opus-tools/opus-tools.mk @@ -4,12 +4,12 @@ # ################################################################################ -OPUS_TOOLS_VERSION = 0.1.10 +OPUS_TOOLS_VERSION = 0.2 OPUS_TOOLS_SITE = https://downloads.xiph.org/releases/opus OPUS_TOOLS_LICENSE = BSD-2-Clause, GPL-2.0 (opusinfo) OPUS_TOOLS_LICENSE_FILES = COPYING OPUS_TOOLS_CONF_OPTS = --disable-oggtest --disable-opustest -OPUS_TOOLS_DEPENDENCIES = opus libogg host-pkgconf +OPUS_TOOLS_DEPENDENCIES = libogg libopusenc opus opusfile host-pkgconf ifeq ($(BR2_PACKAGE_LIBPCAP),y) OPUS_TOOLS_DEPENDENCIES += libpcap diff --git a/package/opus/opus.hash b/package/opus/opus.hash index c1a92d6b94..2a94d3723d 100644 --- a/package/opus/opus.hash +++ b/package/opus/opus.hash @@ -1,5 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 cfafd339ccd9c5ef8d6ab15d7e1a412c054bf4cb4ecbbbcc78c12ef2def70732 opus-1.2.1.tar.gz +sha256 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d opus-1.3.1.tar.gz # Hash for license file sha256 8338ce8d922bb4416ce3dd1e5680173332435e3f0755007ac7801ccd674fe682 COPYING diff --git a/package/opus/opus.mk b/package/opus/opus.mk index 44de5db253..f23461a3af 100644 --- a/package/opus/opus.mk +++ b/package/opus/opus.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPUS_VERSION = 1.2.1 +OPUS_VERSION = 1.3.1 OPUS_SITE = https://downloads.xiph.org/releases/opus OPUS_LICENSE = BSD-3-Clause OPUS_LICENSE_FILES = COPYING diff --git a/package/opusfile/opusfile.hash b/package/opusfile/opusfile.hash index f1fcf5f9d6..e9ecf83feb 100644 --- a/package/opusfile/opusfile.hash +++ b/package/opusfile/opusfile.hash @@ -1,5 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 48e03526ba87ef9cf5f1c47b5ebe3aa195bd89b912a57060c36184a6cd19412f opusfile-0.10.tar.gz +sha256 74ce9b6cf4da103133e7b5c95df810ceb7195471e1162ed57af415fabf5603bf opusfile-0.11.tar.gz # Hash for license file sha256 0267ae795ab744c4e0f9c45e249440fdf2e75dac8c804f36066b28649bf74aaf COPYING diff --git a/package/opusfile/opusfile.mk b/package/opusfile/opusfile.mk index 0cfe623941..49a53b3958 100644 --- a/package/opusfile/opusfile.mk +++ b/package/opusfile/opusfile.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPUSFILE_VERSION = 0.10 +OPUSFILE_VERSION = 0.11 OPUSFILE_SITE = https://downloads.xiph.org/releases/opus OPUSFILE_DEPENDENCIES = host-pkgconf libogg opus OPUSFILE_LICENSE = BSD-3-Clause diff --git a/package/orbit/Config.in b/package/orbit/Config.in index 8df42a8380..7b6e9a43f7 100644 --- a/package/orbit/Config.in +++ b/package/orbit/Config.in @@ -1,10 +1,9 @@ config BR2_PACKAGE_ORBIT bool "orbit" depends on BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT - # These are runtime dependencies - select BR2_PACKAGE_LPEG - select BR2_PACKAGE_LUAFILESYSTEM - select BR2_PACKAGE_WSAPI_XAVANTE + select BR2_PACKAGE_LPEG # runtime + select BR2_PACKAGE_LUAFILESYSTEM # runtime + select BR2_PACKAGE_WSAPI_XAVANTE # runtime help An MVC web framework for Lua. The design is inspired by lightweight Ruby frameworks such as Camping diff --git a/package/orbit/orbit.hash b/package/orbit/orbit.hash index 9662a650ad..eb427b63bb 100644 --- a/package/orbit/orbit.hash +++ b/package/orbit/orbit.hash @@ -1,2 +1,4 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 91e3c514d5b86918db83666c8889635bb2d50c71d1ab3aeb69c6469c9424089b orbit-2.2.4-1.src.rock +sha256 dd7d37caed0f4ee994e9e64ea4ab292dce549bb609412c84fc47ed079275ae98 orbit/doc/us/license.html +sha256 140134369c1f041abf7d8cd39a5b0c42f8b5e827695ce7c1ef5ca8f0911a0246 orbit/doc/us/license.md diff --git a/package/orbit/orbit.mk b/package/orbit/orbit.mk index 3329439db6..5cf7ac643a 100644 --- a/package/orbit/orbit.mk +++ b/package/orbit/orbit.mk @@ -4,10 +4,11 @@ # ################################################################################ -ORBIT_VERSION_UPSTREAM = 2.2.4 -ORBIT_VERSION = $(ORBIT_VERSION_UPSTREAM)-1 +ORBIT_VERSION = 2.2.4-1 ORBIT_SUBDIR = orbit ORBIT_LICENSE = MIT -ORBIT_LICENSE_FILES = $(ORBIT_SUBDIR)/doc/us/license.md +ORBIT_LICENSE_FILES = \ + $(ORBIT_SUBDIR)/doc/us/license.html \ + $(ORBIT_SUBDIR)/doc/us/license.md $(eval $(luarocks-package)) diff --git a/package/owfs/0001-configure.ac-check-for-localtime_r.patch b/package/owfs/0001-configure.ac-check-for-localtime_r.patch deleted file mode 100644 index b25aa59878..0000000000 --- a/package/owfs/0001-configure.ac-check-for-localtime_r.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 75e92438bcdb78a90912366b07bf503646806686 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Sun, 21 Feb 2016 17:02:06 +0100 -Subject: [PATCH] configure.ac: check for localtime_r - -HAVE_LOCALTIME_R is used in owftp.c, so it should be checked for. - -Without this, static build fails because localtime_r is defined twice. - -Upstream-Status: Submitted -https://sourceforge.net/p/owfs/mailman/message/34873667/ - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) -[Bernd: rebased against version 3.2p1] -Signed-off-by: Bernd Kuhls ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index c22dde9..12fdd18 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1646,7 +1646,7 @@ - AC_FUNC_STRFTIME - AC_FUNC_STRTOD - AC_TYPE_SIGNAL --AC_CHECK_FUNCS([accept daemon getaddrinfo freeaddrinfo gethostbyname2_r gethostbyaddr_r gethostbyname_r getservbyname_r getopt getopt_long gmtime_r gettimeofday localtime_r inet_ntop inet_pton memchr memset select socket strcasecmp strchr strdup strncasecmp strtol strtoul twalk tsearch tfind tdelete tdestroy vasprintf strsep vsprintf vsnprintf writev getline]) -+AC_CHECK_FUNCS([accept daemon getaddrinfo freeaddrinfo gethostbyname2_r gethostbyaddr_r gethostbyname_r getservbyname_r getopt getopt_long gmtime_r gettimeofday localtime_r inet_ntop inet_pton memchr memset select socket strcasecmp strchr strdup strncasecmp strtol strtoul twalk tsearch tfind tdelete tdestroy vasprintf strsep vsprintf vsnprintf writev getline localtime_r]) - - save_LIBS="$LIBS" - LIBS="" --- -2.7.0 - diff --git a/package/owfs/0001-include-sys-sysmacros.h-for-major.patch b/package/owfs/0001-include-sys-sysmacros.h-for-major.patch new file mode 100644 index 0000000000..dadf0276cd --- /dev/null +++ b/package/owfs/0001-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/package/owfs/S25owserver b/package/owfs/S25owserver old mode 100755 new mode 100644 diff --git a/package/owfs/S30owfs b/package/owfs/S30owfs old mode 100755 new mode 100644 diff --git a/package/owfs/owfs.hash b/package/owfs/owfs.hash index 1e57e29561..eeea64368c 100644 --- a/package/owfs/owfs.hash +++ b/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/package/owfs/owfs.mk b/package/owfs/owfs.mk index 47626ceafc..cd1c2dba6d 100644 --- a/package/owfs/owfs.mk +++ b/package/owfs/owfs.mk @@ -4,12 +4,12 @@ # ################################################################################ -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 -# 0001-configure.ac-check-for-localtime_r.patch touches configure.ac +# We're patching configure.ac OWFS_AUTORECONF = YES # owtcl license is declared in module/ownet/c/src/include/ow_functions.h @@ -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 += \ @@ -39,6 +42,20 @@ else OWFS_CONF_OPTS += --disable-owfs endif +ifeq ($(BR2_PACKAGE_LIBFTDI1),y) +OWFS_CONF_OPTS += \ + --enable-ftdi \ + --with-libftdi-config=$(STAGING_DIR)/usr/bin/libftdi1-config +OWFS_DEPENDENCIES += libftdi1 +else ifeq ($(BR2_PACKAGE_LIBFTDI),y) +OWFS_CONF_OPTS += \ + --enable-ftdi \ + --with-libftdi-config=$(STAGING_DIR)/usr/bin/libftdi-config +OWFS_DEPENDENCIES += libftdi +else +OWFS_CONF_OPTS += --disable-ftdi +endif + ifeq ($(BR2_PACKAGE_LIBUSB),y) OWFS_CONF_OPTS += --enable-usb OWFS_DEPENDENCIES += libusb diff --git a/package/p11-kit/p11-kit.mk b/package/p11-kit/p11-kit.mk index d4cf9bc09c..10b5cc0393 100644 --- a/package/p11-kit/p11-kit.mk +++ b/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/package/paho-mqtt-c/0001-Declare-mqtt-tests-as-a-C-only-project.patch b/package/paho-mqtt-c/0001-Declare-mqtt-tests-as-a-C-only-project.patch deleted file mode 100644 index 9edb2c4a8b..0000000000 --- a/package/paho-mqtt-c/0001-Declare-mqtt-tests-as-a-C-only-project.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 6556e62a07972eafccaefdcdf32bd0d386c64ca2 Mon Sep 17 00:00:00 2001 -From: Yegor Yefremov -Date: Wed, 13 Sep 2017 07:59:50 +0200 -Subject: [PATCH] Declare mqtt-tests as a C-only project - -This way CMake doesn't break the build on the systems without -C++ compiler. - -Signed-off-by: Yegor Yefremov -Reported-by: Marcus Hoffmann ---- - test/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 5c88c44..3aca80f 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -1,4 +1,4 @@ --PROJECT(mqtt-tests) -+PROJECT(mqtt-tests C) - - IF (WIN32) - SET(MQTT_TEST_BROKER "tcp://mqtt.iotree.co.uk:1883" CACHE STRING "Hostname of a test MQTT broker to use") --- -2.1.4 - diff --git a/package/paho-mqtt-c/paho-mqtt-c.hash b/package/paho-mqtt-c/paho-mqtt-c.hash index 3bee8914f9..d628d06611 100644 --- a/package/paho-mqtt-c/paho-mqtt-c.hash +++ b/package/paho-mqtt-c/paho-mqtt-c.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 0cb0396554ebe0e8ac6b0de1cbc16601ef169b6a63baf6f0f3ddeb405f5471a5 paho-mqtt-c-v1.2.0.tar.gz +sha256 87cf846b02dde6328b84832287d8725d91f12f41366eecb4d59eeda1d6c7efdf paho-mqtt-c-v1.3.0.tar.gz sha256 83bbba033dc985487e321b6dfde111772affb73460be48726299fed3da684b1c edl-v10 sha256 44277b2bec6093e4ac313afec251a4de599d24c4e768f8574d95b13a9d2d97b5 epl-v10 diff --git a/package/paho-mqtt-c/paho-mqtt-c.mk b/package/paho-mqtt-c/paho-mqtt-c.mk index 5df7a55c62..9e8ae29999 100644 --- a/package/paho-mqtt-c/paho-mqtt-c.mk +++ b/package/paho-mqtt-c/paho-mqtt-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -PAHO_MQTT_C_VERSION = v1.2.0 +PAHO_MQTT_C_VERSION = v1.3.0 PAHO_MQTT_C_SITE = $(call github,eclipse,paho.mqtt.c,$(PAHO_MQTT_C_VERSION)) PAHO_MQTT_C_LICENSE = EPL-1.0 or BSD-3-Clause PAHO_MQTT_C_LICENSE_FILES = epl-v10 edl-v10 diff --git a/package/pamtester/Config.in b/package/pamtester/Config.in new file mode 100644 index 0000000000..19b76d3f53 --- /dev/null +++ b/package/pamtester/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PAMTESTER + bool "pamtester" + depends on BR2_PACKAGE_LINUX_PAM + help + A tiny utility for testing pluggable authentication modules + (PAM) facility. While specifically designed to help PAM module + authors to test their modules, that might also be handy for + system administrators interested in building a centralised + authentication system using common standards such as NIS, SASL + and LDAP. + + http://pamtester.sourceforge.net/ + +comment "pamtester depends on linux-pam" + depends on !BR2_PACKAGE_LINUX_PAM diff --git a/package/pamtester/pamtester.hash b/package/pamtester/pamtester.hash new file mode 100644 index 0000000000..17497e3159 --- /dev/null +++ b/package/pamtester/pamtester.hash @@ -0,0 +1,3 @@ +# from https://sourceforge.net/projects/pamtester/files/pamtester/0.1.2/ +sha1 33bcc610d7f208b50a0a23c144bdbd1e2cae4ac6 pamtester-0.1.2.tar.gz +sha256 1e3922a8ab0907c1f3bcc3e00005ef88930e50d0890f40a6a39f5f83b05f05cc LICENSE diff --git a/package/pamtester/pamtester.mk b/package/pamtester/pamtester.mk new file mode 100644 index 0000000000..b09e4d1cc0 --- /dev/null +++ b/package/pamtester/pamtester.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# pamtester +# +################################################################################ + +PAMTESTER_VERSION = 0.1.2 +PAMTESTER_SITE = https://download.sourceforge.net/project/pamtester/pamtester/$(PAMTESTER_VERSION) +PAMTESTER_DEPENDENCIES = linux-pam +PAMTESTER_LICENSE = BSD-3-Clause +PAMTESTER_LICENSE_FILES = LICENSE + +$(eval $(autotools-package)) diff --git a/package/pango/0002-Prevent-an-assertion-with-invalid-Unicode-sequences.patch b/package/pango/0002-Prevent-an-assertion-with-invalid-Unicode-sequences.patch new file mode 100644 index 0000000000..010981e8b4 --- /dev/null +++ b/package/pango/0002-Prevent-an-assertion-with-invalid-Unicode-sequences.patch @@ -0,0 +1,38 @@ +From 71aaeaf020340412b8d012fe23a556c0420eda5f Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Fri, 17 Aug 2018 22:29:36 -0400 +Subject: [PATCH] Prevent an assertion with invalid Unicode sequences + +Invalid Unicode sequences, such as 0x2665 0xfe0e 0xfe0f, +can trick the Emoji iter code into returning an empty +segment, which then triggers an assertion in the itemizer. + +Prevent this by ensuring that we make progress. + +This issue was reported by Jeffrey M. + +Signed-off-by: Peter Korsgaard +--- + pango/pango-emoji.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/pango/pango-emoji.c b/pango/pango-emoji.c +index 0e332dff..29472452 100644 +--- a/pango/pango-emoji.c ++++ b/pango/pango-emoji.c +@@ -253,6 +253,12 @@ _pango_emoji_iter_next (PangoEmojiIter *iter) + if (iter->is_emoji == PANGO_EMOJI_TYPE_IS_EMOJI (current_emoji_type)) + { + iter->is_emoji = !PANGO_EMOJI_TYPE_IS_EMOJI (current_emoji_type); ++ ++ /* Make sure we make progress. Weird sequences, like a VC15 followed ++ * by VC16, can trick us into stalling otherwise. */ ++ if (iter->start == iter->end) ++ iter->end = g_utf8_next_char (iter->end); ++ + return TRUE; + } + } +-- +2.11.0 + diff --git a/package/patchelf/patchelf.mk b/package/patchelf/patchelf.mk index 74e6cccdbe..52912e295b 100644 --- a/package/patchelf/patchelf.mk +++ b/package/patchelf/patchelf.mk @@ -5,7 +5,7 @@ ################################################################################ PATCHELF_VERSION = 0.9 -PATCHELF_SITE = http://releases.nixos.org/patchelf/patchelf-$(PATCHELF_VERSION) +PATCHELF_SITE = https://nixos.org/releases/patchelf/patchelf-$(PATCHELF_VERSION) PATCHELF_SOURCE = patchelf-$(PATCHELF_VERSION).tar.bz2 PATCHELF_LICENSE = GPL-3.0+ PATCHELF_LICENSE_FILES = COPYING diff --git a/package/pcm-tools/0001-Look-for-pcm-core-at-the-default-path.patch b/package/pcm-tools/0001-Look-for-pcm-core-at-the-default-path.patch new file mode 100644 index 0000000000..933eec0237 --- /dev/null +++ b/package/pcm-tools/0001-Look-for-pcm-core-at-the-default-path.patch @@ -0,0 +1,46 @@ +From 53b6161d2413406778fa222274069c82846f0297 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Thu, 6 Dec 2018 21:17:02 -0200 +Subject: [PATCH] Look for pcm-core at the default path + +On Buildroot, pcm-core.x is installed as /usr/bin/pcm-core. Remove the +platform test, since we know that it's neither CigWin nor Windows, and +use the default path. + +It's not nice to have a Buildroot specific patch but let's use one while +we look for a solution that is acceptable upstream. + +Signed-off-by: Carlos Santos +--- + pmu-query.py | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/pmu-query.py b/pmu-query.py +index 4c596c7..dc39df6 100755 +--- a/pmu-query.py ++++ b/pmu-query.py +@@ -3,7 +3,6 @@ import urllib2 + import json, csv + import subprocess + import sys +-import platform + import getopt + + all_flag = False +@@ -38,12 +37,7 @@ if filename == None: + except StopIteration: + break + +- if platform.system() == 'CYGWIN_NT-6.1': +- p = subprocess.Popen(['./pcm-core.exe -c'],stdout=subprocess.PIPE,shell=True) +- elif platform.system() == 'Windows': +- p = subprocess.Popen(['pcm-core.exe -c'],stdout=subprocess.PIPE,shell=True) +- else: +- p = subprocess.Popen(['./pcm-core.x -c'],stdout=subprocess.PIPE,shell=True) ++ p = subprocess.Popen(['/usr/bin/pcm-core -c'],stdout=subprocess.PIPE,shell=True) + + (output, err) = p.communicate() + p_status = p.wait() +-- +2.19.2 + diff --git a/package/pcm-tools/Config.in b/package/pcm-tools/Config.in new file mode 100644 index 0000000000..f347a265a4 --- /dev/null +++ b/package/pcm-tools/Config.in @@ -0,0 +1,33 @@ +comment "pcm-tools needs a toolchain w/ C++" + depends on BR2_i386 || BR2_x86_64 + depends on !BR2_INSTALL_LIBSTDCPP + +config BR2_PACKAGE_PCM_TOOLS + bool "pcm-tools" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_HWDATA + select BR2_PACKAGE_HWDATA_PCI_IDS + help + Processor Counter Monitor (PCM) is an application programming + interface (API) and a set of tools based on the API to monitor + performance and energy metrics of Intel(R) Core(TM), Xeon(R), + Atom(TM) and Xeon Phi(TM) processors. + + https://github.com/opcm/pcm + +if BR2_PACKAGE_PCM_TOOLS + +# The pmu-query script is not compatible with Python 3 +config BR2_PACKAGE_PCM_TOOLS_PMU_QUERY + bool "install the pmu-query script" + default y + depends on BR2_PACKAGE_PYTHON + select BR2_PACKAGE_CA_CERTIFICATES # https + select BR2_PACKAGE_PYTHON_HASHLIB # urllib2 + select BR2_PACKAGE_PYTHON_SSL # urllib2 + +comment "pmu-query needs Python 2.x" + depends on !BR2_PACKAGE_PYTHON + +endif diff --git a/package/pcm-tools/pcm-tools.hash b/package/pcm-tools/pcm-tools.hash new file mode 100644 index 0000000000..77f1482462 --- /dev/null +++ b/package/pcm-tools/pcm-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 798eb1bc5d9c34fa107de21b2100e8d4326cb45b613bc35baa1e1efb1dd13b04 pcm-tools-201812.tar.gz +sha256 fac73f62c4d665c82622862a2be2b89713e0f480c93e593af2d8ef29a13d814b LICENSE diff --git a/package/pcm-tools/pcm-tools.mk b/package/pcm-tools/pcm-tools.mk new file mode 100644 index 0000000000..6d5938f94e --- /dev/null +++ b/package/pcm-tools/pcm-tools.mk @@ -0,0 +1,36 @@ +################################################################################ +# +# pcm-tools +# +################################################################################ + +PCM_TOOLS_VERSION = 201812 +PCM_TOOLS_SITE = $(call github,opcm,pcm,$(PCM_TOOLS_VERSION)) +PCM_TOOLS_LICENSE = BSD-3-Clause +PCM_TOOLS_LICENSE_FILES = LICENSE + +PCM_TOOLS_EXE_FILES = \ + pcm-core pcm-iio pcm-lspci pcm-memory pcm-msr pcm-numa \ + pcm-pcicfg pcm-pcie pcm-power pcm-sensor pcm-tsx pcm + +define PCM_TOOLS_BUILD_CMDS + touch $(@D)/daemon-binaries + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" \ + UNAME=Linux HOST=_LINUX +endef + +ifeq ($(BR2_PACKAGE_PCM_TOOLS_PMU_QUERY),y) +define PCM_TOOLS_INSTALL_PMU_QUERY + $(INSTALL) -D -m 755 $(@D)/pmu-query.py $(TARGET_DIR)/usr/bin/pmu-query +endef +endif + +define PCM_TOOLS_INSTALL_TARGET_CMDS + $(foreach f,$(PCM_TOOLS_EXE_FILES),\ + $(INSTALL) -D -m 755 $(@D)/$(f).x $(TARGET_DIR)/usr/bin/$(f) + ) + $(PCM_TOOLS_INSTALL_PMU_QUERY) +endef + +$(eval $(generic-package)) diff --git a/package/pcre2/0001-fix-heapframe-alignment.patch b/package/pcre2/0001-fix-heapframe-alignment.patch deleted file mode 100644 index a10e9e793f..0000000000 --- a/package/pcre2/0001-fix-heapframe-alignment.patch +++ /dev/null @@ -1,49 +0,0 @@ -src/pcre2_intmodedep.h: fix alignment of fields in struct heapframe - -pcre2_intmodedep.h has a check to verify that the size of the struct -heapframe is a multiple of 4 bytes. On most architectures this works -fine, but not on m68k. Indeed, when building the 16-bit variant of -pcre2, the heapframe structure contains: - - PCRE2_UCHAR occu[2]; - PCRE2_SPTR eptr; - -Where PCRE2_UCHAR is a 16-bit data type, and PCRE2_SPTR is a -pointer. The occu[] array starts at byte 0x32, so not aligned on a -32-bit boundary. With 2 x 16-bit, the occur[] array ends at byte 0x36. - -Now, on most architectures, the alignment required for a pointer will -make the eptr field start at 0x38 (on 32 bit architectures). However, -on m68k, it is fine to have a pointer aligned only on a 16-bit -boundary, and the eptr pointer will be at offset 0x36. - -This doesn't cause a problem per-se, but breaks the check that -heapframe should be a multiple of 4 bytes. - -To fix this, we make sure eptr is aligned by introducing an unused -field of 16 bits after the occu[] array (in the 16-bit variant) or -after the occu[] array (in the 32-bit variant). These choices have -been made to keep the structure layout unchanged. - -Fixes the following build failure on m68k: - -src/pcre2_intmodedep.h:818:14: error: size of array 'check_heapframe_size' is negative - typedef char check_heapframe_size[ - ^~~~~~~~~~~~~~~~~~~~ - -Signed-off-by: Thomas Petazzoni -Upstream: https://bugs.exim.org/show_bug.cgi?id=2247 - -Index: src/pcre2_intmodedep.h -=================================================================== ---- a/src/pcre2_intmodedep.h (revision 923) -+++ b/src/pcre2_intmodedep.h (working copy) -@@ -797,7 +797,9 @@ - PCRE2_UCHAR occu[6]; /* Used for other case code units */ - #elif PCRE2_CODE_UNIT_WIDTH == 16 - PCRE2_UCHAR occu[2]; /* Used for other case code units */ -+ uint8_t unused[2]; /* Ensure 32 bit alignment */ - #else -+ uint8_t unused[2]; /* Ensure 32 bit alignment */ - PCRE2_UCHAR occu[1]; /* Used for other case code units */ - #endif diff --git a/package/pcre2/pcre2.hash b/package/pcre2/pcre2.hash index 210e2e58c1..a3210b184a 100644 --- a/package/pcre2/pcre2.hash +++ b/package/pcre2/pcre2.hash @@ -1,4 +1,4 @@ -# 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 calculated after checking pgp signature at https://ftp.pcre.org/pub/pcre/pcre2-10.32.tar.bz2.sig +sha256 f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e pcre2-10.32.tar.bz2 # Locally computed -sha256 4806d1c067bffe106d97dac68744373a866bfdd65486c0532ed1b41595ec4b64 LICENCE +sha256 c4a8b89cd38d6a7501d5b11a472fa15e71a051b66d6331c6cda364101389d6ee LICENCE diff --git a/package/pcre2/pcre2.mk b/package/pcre2/pcre2.mk index 49ece6b9dc..ee3cacb9aa 100644 --- a/package/pcre2/pcre2.mk +++ b/package/pcre2/pcre2.mk @@ -4,7 +4,7 @@ # ################################################################################ -PCRE2_VERSION = 10.31 +PCRE2_VERSION = 10.32 PCRE2_SITE = https://ftp.pcre.org/pub/pcre PCRE2_SOURCE = pcre2-$(PCRE2_VERSION).tar.bz2 PCRE2_LICENSE = BSD-3-Clause diff --git a/package/pdbg/pdbg.hash b/package/pdbg/pdbg.hash index 39aa33e12c..2f11ad5996 100644 --- a/package/pdbg/pdbg.hash +++ b/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/package/pdbg/pdbg.mk b/package/pdbg/pdbg.mk index ba9aa15d02..ba3b0b8877 100644 --- a/package/pdbg/pdbg.mk +++ b/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/package/perl-apache-logformat-compiler/Config.in b/package/perl-apache-logformat-compiler/Config.in new file mode 100644 index 0000000000..d78104f16b --- /dev/null +++ b/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/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash b/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash new file mode 100644 index 0000000000..5466435c5a --- /dev/null +++ b/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/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk b/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk new file mode 100644 index 0000000000..59290f376e --- /dev/null +++ b/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/package/perl-appconfig/Config.in b/package/perl-appconfig/Config.in new file mode 100644 index 0000000000..f89bf06c27 --- /dev/null +++ b/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/package/perl-appconfig/perl-appconfig.hash b/package/perl-appconfig/perl-appconfig.hash new file mode 100644 index 0000000000..151a2e903f --- /dev/null +++ b/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/package/perl-appconfig/perl-appconfig.mk b/package/perl-appconfig/perl-appconfig.mk new file mode 100644 index 0000000000..8f9dd52021 --- /dev/null +++ b/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/package/perl-astro-suntime/Config.in b/package/perl-astro-suntime/Config.in new file mode 100644 index 0000000000..ee4f3e32f0 --- /dev/null +++ b/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/package/perl-astro-suntime/perl-astro-suntime.hash b/package/perl-astro-suntime/perl-astro-suntime.hash new file mode 100644 index 0000000000..e75293d4fb --- /dev/null +++ b/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/package/perl-astro-suntime/perl-astro-suntime.mk b/package/perl-astro-suntime/perl-astro-suntime.mk new file mode 100644 index 0000000000..e5cad6a409 --- /dev/null +++ b/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/package/perl-class-inspector/Config.in b/package/perl-class-inspector/Config.in new file mode 100644 index 0000000000..46b9368249 --- /dev/null +++ b/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/package/perl-class-inspector/perl-class-inspector.hash b/package/perl-class-inspector/perl-class-inspector.hash new file mode 100644 index 0000000000..181c09acec --- /dev/null +++ b/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/package/perl-class-inspector/perl-class-inspector.mk b/package/perl-class-inspector/perl-class-inspector.mk new file mode 100644 index 0000000000..c265194f12 --- /dev/null +++ b/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/package/perl-class-load/Config.in b/package/perl-class-load/Config.in new file mode 100644 index 0000000000..fe956b177d --- /dev/null +++ b/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/package/perl-class-load/perl-class-load.hash b/package/perl-class-load/perl-class-load.hash new file mode 100644 index 0000000000..c2900d6964 --- /dev/null +++ b/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/package/perl-class-load/perl-class-load.mk b/package/perl-class-load/perl-class-load.mk new file mode 100644 index 0000000000..c18e53d199 --- /dev/null +++ b/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/package/perl-class-method-modifiers/Config.in b/package/perl-class-method-modifiers/Config.in new file mode 100644 index 0000000000..7acdb38b9d --- /dev/null +++ b/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/package/perl-class-method-modifiers/perl-class-method-modifiers.hash b/package/perl-class-method-modifiers/perl-class-method-modifiers.hash new file mode 100644 index 0000000000..540f357b6c --- /dev/null +++ b/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/package/perl-class-method-modifiers/perl-class-method-modifiers.mk b/package/perl-class-method-modifiers/perl-class-method-modifiers.mk new file mode 100644 index 0000000000..e93553f964 --- /dev/null +++ b/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/package/perl-class-std-fast/Config.in b/package/perl-class-std-fast/Config.in new file mode 100644 index 0000000000..6eabc0bb04 --- /dev/null +++ b/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/package/perl-class-std-fast/perl-class-std-fast.hash b/package/perl-class-std-fast/perl-class-std-fast.hash new file mode 100644 index 0000000000..07e830a5ee --- /dev/null +++ b/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/package/perl-class-std-fast/perl-class-std-fast.mk b/package/perl-class-std-fast/perl-class-std-fast.mk new file mode 100644 index 0000000000..57e57b1954 --- /dev/null +++ b/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/package/perl-class-std/Config.in b/package/perl-class-std/Config.in new file mode 100644 index 0000000000..332cdf27c3 --- /dev/null +++ b/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/package/perl-class-std/perl-class-std.hash b/package/perl-class-std/perl-class-std.hash new file mode 100644 index 0000000000..0cc3861416 --- /dev/null +++ b/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/package/perl-class-std/perl-class-std.mk b/package/perl-class-std/perl-class-std.mk new file mode 100644 index 0000000000..493a89f26b --- /dev/null +++ b/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/package/perl-convert-asn1/Config.in b/package/perl-convert-asn1/Config.in index a3e988c888..3fe47c3260 100644 --- a/package/perl-convert-asn1/Config.in +++ b/package/perl-convert-asn1/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PERL_CONVERT_ASN1 bool "perl-convert-asn1" help - Convert between perl data structures and ASN.1 encoded packets + Convert between perl data structures and ASN.1 encoded + packets. https://metacpan.org/release/Convert-ASN1 diff --git a/package/perl-convert-asn1/perl-convert-asn1.mk b/package/perl-convert-asn1/perl-convert-asn1.mk index 74482010f9..b6ba76a7e8 100644 --- a/package/perl-convert-asn1/perl-convert-asn1.mk +++ b/package/perl-convert-asn1/perl-convert-asn1.mk @@ -9,5 +9,6 @@ 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/package/perl-cookie-baker/Config.in b/package/perl-cookie-baker/Config.in new file mode 100644 index 0000000000..024f0ade25 --- /dev/null +++ b/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/package/perl-cookie-baker/perl-cookie-baker.hash b/package/perl-cookie-baker/perl-cookie-baker.hash new file mode 100644 index 0000000000..8d0d63b174 --- /dev/null +++ b/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/package/perl-cookie-baker/perl-cookie-baker.mk b/package/perl-cookie-baker/perl-cookie-baker.mk new file mode 100644 index 0000000000..45ecdc96c1 --- /dev/null +++ b/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/package/perl-crypt-blowfish/Config.in b/package/perl-crypt-blowfish/Config.in index 093f11d95b..1a51a16f8f 100644 --- a/package/perl-crypt-blowfish/Config.in +++ b/package/perl-crypt-blowfish/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PERL_CRYPT_BLOWFISH bool "perl-crypt-blowfish" depends on !BR2_STATIC_LIBS help - Perl Blowfish encryption module + Perl Blowfish encryption module. https://metacpan.org/release/Crypt-Blowfish diff --git a/package/perl-crypt-blowfish/perl-crypt-blowfish.mk b/package/perl-crypt-blowfish/perl-crypt-blowfish.mk index acb6d8af1d..a8f274b601 100644 --- a/package/perl-crypt-blowfish/perl-crypt-blowfish.mk +++ b/package/perl-crypt-blowfish/perl-crypt-blowfish.mk @@ -9,5 +9,6 @@ PERL_CRYPT_BLOWFISH_SOURCE = Crypt-Blowfish-$(PERL_CRYPT_BLOWFISH_VERSION).tar.g 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/package/perl-crypt-cbc/Config.in b/package/perl-crypt-cbc/Config.in index 7ecfa70552..5cd9c69ea2 100644 --- a/package/perl-crypt-cbc/Config.in +++ b/package/perl-crypt-cbc/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_CRYPT_CBC bool "perl-crypt-cbc" help - Encrypt Data with Cipher Block Chaining Mode + Encrypt Data with Cipher Block Chaining Mode. https://metacpan.org/release/Crypt-CBC diff --git a/package/perl-crypt-cbc/perl-crypt-cbc.mk b/package/perl-crypt-cbc/perl-crypt-cbc.mk index 749499c26b..c00ec37eea 100644 --- a/package/perl-crypt-cbc/perl-crypt-cbc.mk +++ b/package/perl-crypt-cbc/perl-crypt-cbc.mk @@ -9,5 +9,6 @@ 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/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash new file mode 100644 index 0000000000..327b06900a --- /dev/null +++ b/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/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk b/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk new file mode 100644 index 0000000000..a53285165b --- /dev/null +++ b/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/package/perl-crypt-openssl-random/Config.in b/package/perl-crypt-openssl-random/Config.in index 2ceb78dfd6..6b5da7c881 100644 --- a/package/perl-crypt-openssl-random/Config.in +++ b/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/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash index caacdc9015..57677e3445 100644 --- a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash +++ b/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/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk b/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk index de029e9af0..e70eb7e927 100644 --- a/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk +++ b/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/package/perl-crypt-openssl-rsa/Config.in b/package/perl-crypt-openssl-rsa/Config.in index 1fa1fd9881..e58a921bcb 100644 --- a/package/perl-crypt-openssl-rsa/Config.in +++ b/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/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash index 6e060ce672..fe2a578583 100644 --- a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash +++ b/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/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk b/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk index b853d9953e..b161523421 100644 --- a/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk +++ b/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/package/perl-data-dump/Config.in b/package/perl-data-dump/Config.in new file mode 100644 index 0000000000..b44209fe76 --- /dev/null +++ b/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/package/perl-data-dump/perl-data-dump.hash b/package/perl-data-dump/perl-data-dump.hash new file mode 100644 index 0000000000..87850326de --- /dev/null +++ b/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/package/perl-data-dump/perl-data-dump.mk b/package/perl-data-dump/perl-data-dump.mk new file mode 100644 index 0000000000..54d3a925fe --- /dev/null +++ b/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/package/perl-data-optlist/Config.in b/package/perl-data-optlist/Config.in new file mode 100644 index 0000000000..88152f27b4 --- /dev/null +++ b/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/package/perl-data-optlist/perl-data-optlist.hash b/package/perl-data-optlist/perl-data-optlist.hash new file mode 100644 index 0000000000..93df006486 --- /dev/null +++ b/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/package/perl-data-optlist/perl-data-optlist.mk b/package/perl-data-optlist/perl-data-optlist.mk new file mode 100644 index 0000000000..49aeb820e2 --- /dev/null +++ b/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/package/perl-data-uuid/Config.in b/package/perl-data-uuid/Config.in new file mode 100644 index 0000000000..9b4812b233 --- /dev/null +++ b/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/package/perl-data-uuid/perl-data-uuid.hash b/package/perl-data-uuid/perl-data-uuid.hash new file mode 100644 index 0000000000..5086936d4e --- /dev/null +++ b/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/package/perl-data-uuid/perl-data-uuid.mk b/package/perl-data-uuid/perl-data-uuid.mk new file mode 100644 index 0000000000..6ce3939603 --- /dev/null +++ b/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/package/perl-date-manip/Config.in b/package/perl-date-manip/Config.in new file mode 100644 index 0000000000..4ebcd4da43 --- /dev/null +++ b/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/package/perl-date-manip/perl-date-manip.hash b/package/perl-date-manip/perl-date-manip.hash new file mode 100644 index 0000000000..b290e8ea24 --- /dev/null +++ b/package/perl-date-manip/perl-date-manip.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 d922d5fe4a00521dc171ac3ee65a9d61 Date-Manip-6.75.tar.gz +sha256 c1fbcfbe2ab1a84e57f191807e87c97985da00926f64d1aae598c8756acbb67d Date-Manip-6.75.tar.gz + +# computed by scancpan +sha256 8ba2a138654f8b59b7e1e3ad0d4c81918b9148ff95078b172ccbb45fa241431d LICENSE diff --git a/package/perl-date-manip/perl-date-manip.mk b/package/perl-date-manip/perl-date-manip.mk new file mode 100644 index 0000000000..cc668184ee --- /dev/null +++ b/package/perl-date-manip/perl-date-manip.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-date-manip +# +################################################################################ + +PERL_DATE_MANIP_VERSION = 6.75 +PERL_DATE_MANIP_SOURCE = Date-Manip-$(PERL_DATE_MANIP_VERSION).tar.gz +PERL_DATE_MANIP_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SB/SBECK +PERL_DATE_MANIP_LICENSE = Artistic or GPL-1.0+ +PERL_DATE_MANIP_LICENSE_FILES = LICENSE +PERL_DATE_MANIP_DISTNAME = Date-Manip + +$(eval $(perl-package)) diff --git a/package/perl-datetime-tiny/Config.in b/package/perl-datetime-tiny/Config.in index 7721c0769a..ea44ae0c25 100644 --- a/package/perl-datetime-tiny/Config.in +++ b/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/package/perl-datetime-tiny/perl-datetime-tiny.mk b/package/perl-datetime-tiny/perl-datetime-tiny.mk index e8ee3d60e2..2a4264261e 100644 --- a/package/perl-datetime-tiny/perl-datetime-tiny.mk +++ b/package/perl-datetime-tiny/perl-datetime-tiny.mk @@ -9,5 +9,6 @@ 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/package/perl-dbd-mysql/Config.in b/package/perl-dbd-mysql/Config.in new file mode 100644 index 0000000000..55bbc95347 --- /dev/null +++ b/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/package/perl-dbd-mysql/perl-dbd-mysql.hash b/package/perl-dbd-mysql/perl-dbd-mysql.hash new file mode 100644 index 0000000000..51de476095 --- /dev/null +++ b/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/package/perl-dbd-mysql/perl-dbd-mysql.mk b/package/perl-dbd-mysql/perl-dbd-mysql.mk new file mode 100644 index 0000000000..98521a78cf --- /dev/null +++ b/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/package/perl-dbi/Config.in b/package/perl-dbi/Config.in new file mode 100644 index 0000000000..2c08c73379 --- /dev/null +++ b/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/package/perl-dbi/perl-dbi.hash b/package/perl-dbi/perl-dbi.hash new file mode 100644 index 0000000000..1d0b7e9ad5 --- /dev/null +++ b/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/package/perl-dbi/perl-dbi.mk b/package/perl-dbi/perl-dbi.mk new file mode 100644 index 0000000000..835e8bdfe3 --- /dev/null +++ b/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/package/perl-devel-globaldestruction/Config.in b/package/perl-devel-globaldestruction/Config.in new file mode 100644 index 0000000000..a951e20d9f --- /dev/null +++ b/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/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash b/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash new file mode 100644 index 0000000000..b3cd6e32f1 --- /dev/null +++ b/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/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk b/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk new file mode 100644 index 0000000000..3d4d60ed23 --- /dev/null +++ b/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/package/perl-devel-stacktrace-ashtml/Config.in b/package/perl-devel-stacktrace-ashtml/Config.in new file mode 100644 index 0000000000..9c73f0e4ff --- /dev/null +++ b/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/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash b/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash new file mode 100644 index 0000000000..4f31c6a1e4 --- /dev/null +++ b/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/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk b/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk new file mode 100644 index 0000000000..949823c024 --- /dev/null +++ b/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/package/perl-devel-stacktrace/Config.in b/package/perl-devel-stacktrace/Config.in new file mode 100644 index 0000000000..3311f72e96 --- /dev/null +++ b/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/package/perl-devel-stacktrace/perl-devel-stacktrace.hash b/package/perl-devel-stacktrace/perl-devel-stacktrace.hash new file mode 100644 index 0000000000..1fcfb6438d --- /dev/null +++ b/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/package/perl-devel-stacktrace/perl-devel-stacktrace.mk b/package/perl-devel-stacktrace/perl-devel-stacktrace.mk new file mode 100644 index 0000000000..1d3ec98ec3 --- /dev/null +++ b/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/package/perl-device-serialport/Config.in b/package/perl-device-serialport/Config.in new file mode 100644 index 0000000000..f14e9794d0 --- /dev/null +++ b/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/package/perl-device-serialport/perl-device-serialport.hash b/package/perl-device-serialport/perl-device-serialport.hash new file mode 100644 index 0000000000..35ddc13d3f --- /dev/null +++ b/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/package/perl-device-serialport/perl-device-serialport.mk b/package/perl-device-serialport/perl-device-serialport.mk new file mode 100644 index 0000000000..9889c91321 --- /dev/null +++ b/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/package/perl-digest-hmac/Config.in b/package/perl-digest-hmac/Config.in index 733a53d8ae..bb9b454174 100644 --- a/package/perl-digest-hmac/Config.in +++ b/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/package/perl-digest-hmac/perl-digest-hmac.mk b/package/perl-digest-hmac/perl-digest-hmac.mk index a926a1e5c0..daacf7dab4 100644 --- a/package/perl-digest-hmac/perl-digest-hmac.mk +++ b/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/package/perl-digest-md5/Config.in b/package/perl-digest-md5/Config.in index e8bb3fd8e7..88aeab6fc0 100644 --- a/package/perl-digest-md5/Config.in +++ b/package/perl-digest-md5/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PERL_DIGEST_MD5 bool "perl-digest-md5" depends on !BR2_STATIC_LIBS help - Perl interface to the MD-5 algorithm + Perl interface to the MD-5 algorithm. https://metacpan.org/release/Digest-MD5 diff --git a/package/perl-digest-md5/perl-digest-md5.mk b/package/perl-digest-md5/perl-digest-md5.mk index f39f4b2323..19c89d95ac 100644 --- a/package/perl-digest-md5/perl-digest-md5.mk +++ b/package/perl-digest-md5/perl-digest-md5.mk @@ -9,5 +9,6 @@ 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/package/perl-digest-sha1/Config.in b/package/perl-digest-sha1/Config.in index b72a4ae938..1e093a04a2 100644 --- a/package/perl-digest-sha1/Config.in +++ b/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/package/perl-digest-sha1/perl-digest-sha1.mk b/package/perl-digest-sha1/perl-digest-sha1.mk index d93159b94e..d3188db14e 100644 --- a/package/perl-digest-sha1/perl-digest-sha1.mk +++ b/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/package/perl-dist-checkconflicts/Config.in b/package/perl-dist-checkconflicts/Config.in new file mode 100644 index 0000000000..b34496e799 --- /dev/null +++ b/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/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash b/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash new file mode 100644 index 0000000000..5605fed4ae --- /dev/null +++ b/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/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk b/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk new file mode 100644 index 0000000000..47bd19f6ca --- /dev/null +++ b/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/package/perl-encode-detect/perl-encode-detect.mk b/package/perl-encode-detect/perl-encode-detect.mk index 732fba8db5..8e9ea77968 100644 --- a/package/perl-encode-detect/perl-encode-detect.mk +++ b/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/package/perl-encode-locale/Config.in b/package/perl-encode-locale/Config.in index d15aecbdfa..836e736cd3 100644 --- a/package/perl-encode-locale/Config.in +++ b/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/package/perl-encode-locale/perl-encode-locale.mk b/package/perl-encode-locale/perl-encode-locale.mk index 80d9c3b5fc..1e948c65e1 100644 --- a/package/perl-encode-locale/perl-encode-locale.mk +++ b/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/package/perl-exporter-tiny/Config.in b/package/perl-exporter-tiny/Config.in new file mode 100644 index 0000000000..04839ac15c --- /dev/null +++ b/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/package/perl-exporter-tiny/perl-exporter-tiny.hash b/package/perl-exporter-tiny/perl-exporter-tiny.hash new file mode 100644 index 0000000000..1d36c63a10 --- /dev/null +++ b/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/package/perl-exporter-tiny/perl-exporter-tiny.mk b/package/perl-exporter-tiny/perl-exporter-tiny.mk new file mode 100644 index 0000000000..1ba1a5ac70 --- /dev/null +++ b/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/package/perl-extutils-config/perl-extutils-config.hash b/package/perl-extutils-config/perl-extutils-config.hash new file mode 100644 index 0000000000..518de84188 --- /dev/null +++ b/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/package/perl-extutils-config/perl-extutils-config.mk b/package/perl-extutils-config/perl-extutils-config.mk new file mode 100644 index 0000000000..f46ca3e6fd --- /dev/null +++ b/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/package/perl-extutils-helpers/perl-extutils-helpers.hash b/package/perl-extutils-helpers/perl-extutils-helpers.hash new file mode 100644 index 0000000000..2d291901e6 --- /dev/null +++ b/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/package/perl-extutils-helpers/perl-extutils-helpers.mk b/package/perl-extutils-helpers/perl-extutils-helpers.mk new file mode 100644 index 0000000000..d3b14d88ce --- /dev/null +++ b/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/package/perl-extutils-installpaths/perl-extutils-installpaths.hash b/package/perl-extutils-installpaths/perl-extutils-installpaths.hash new file mode 100644 index 0000000000..2627a27d50 --- /dev/null +++ b/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/package/perl-extutils-installpaths/perl-extutils-installpaths.mk b/package/perl-extutils-installpaths/perl-extutils-installpaths.mk new file mode 100644 index 0000000000..e90e130c36 --- /dev/null +++ b/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/package/perl-file-listing/Config.in b/package/perl-file-listing/Config.in index 85f8e2eb1d..acca98be22 100644 --- a/package/perl-file-listing/Config.in +++ b/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/package/perl-file-listing/perl-file-listing.mk b/package/perl-file-listing/perl-file-listing.mk index e150de77a0..9f3ca95164 100644 --- a/package/perl-file-listing/perl-file-listing.mk +++ b/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/package/perl-file-sharedir-install/perl-file-sharedir-install.hash b/package/perl-file-sharedir-install/perl-file-sharedir-install.hash new file mode 100644 index 0000000000..abbab34e98 --- /dev/null +++ b/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/package/perl-file-sharedir-install/perl-file-sharedir-install.mk b/package/perl-file-sharedir-install/perl-file-sharedir-install.mk new file mode 100644 index 0000000000..3653a4bade --- /dev/null +++ b/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/package/perl-file-sharedir/Config.in b/package/perl-file-sharedir/Config.in new file mode 100644 index 0000000000..169569f77c --- /dev/null +++ b/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/package/perl-file-sharedir/perl-file-sharedir.hash b/package/perl-file-sharedir/perl-file-sharedir.hash new file mode 100644 index 0000000000..e0a4966553 --- /dev/null +++ b/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/package/perl-file-sharedir/perl-file-sharedir.mk b/package/perl-file-sharedir/perl-file-sharedir.mk new file mode 100644 index 0000000000..d907f3b066 --- /dev/null +++ b/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/package/perl-file-slurp/Config.in b/package/perl-file-slurp/Config.in new file mode 100644 index 0000000000..33b6d33768 --- /dev/null +++ b/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/package/perl-file-slurp/perl-file-slurp.hash b/package/perl-file-slurp/perl-file-slurp.hash new file mode 100644 index 0000000000..4ed670ec7c --- /dev/null +++ b/package/perl-file-slurp/perl-file-slurp.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 52afbe79bbf2b86c11ac4986030a9275 File-Slurp-9999.25.tar.gz +sha256 c7ea97bae61bc68404476ce69277f6f796d31ab58c9c40ee390d9d5a1c5ce3c1 File-Slurp-9999.25.tar.gz + +# computed by scancpan +sha256 87744d1995d9a41ef32478c98f08167a13a1e09d96c3bb00ade315e3290facef README.md diff --git a/package/perl-file-slurp/perl-file-slurp.mk b/package/perl-file-slurp/perl-file-slurp.mk new file mode 100644 index 0000000000..4ceba25f51 --- /dev/null +++ b/package/perl-file-slurp/perl-file-slurp.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-file-slurp +# +################################################################################ + +PERL_FILE_SLURP_VERSION = 9999.25 +PERL_FILE_SLURP_SOURCE = File-Slurp-$(PERL_FILE_SLURP_VERSION).tar.gz +PERL_FILE_SLURP_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CA/CAPOEIRAB +PERL_FILE_SLURP_LICENSE = Artistic or GPL-1.0+ +PERL_FILE_SLURP_LICENSE_FILES = README.md +PERL_FILE_SLURP_DISTNAME = File-Slurp + +$(eval $(perl-package)) diff --git a/package/perl-file-util/Config.in b/package/perl-file-util/Config.in index 871be988af..ddd155be77 100644 --- a/package/perl-file-util/Config.in +++ b/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/package/perl-file-util/perl-file-util.mk b/package/perl-file-util/perl-file-util.mk index f8f2712199..5437bc11cf 100644 --- a/package/perl-file-util/perl-file-util.mk +++ b/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/package/perl-filesys-notify-simple/Config.in b/package/perl-filesys-notify-simple/Config.in new file mode 100644 index 0000000000..bff3cc6114 --- /dev/null +++ b/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/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash b/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash new file mode 100644 index 0000000000..a48394504a --- /dev/null +++ b/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/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk b/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk new file mode 100644 index 0000000000..bb48f22782 --- /dev/null +++ b/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/package/perl-gd/Config.in b/package/perl-gd/Config.in index 2b7a265f15..ef28f7b971 100644 --- a/package/perl-gd/Config.in +++ b/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/package/perl-gd/perl-gd.hash b/package/perl-gd/perl-gd.hash index c1990e4949..851aa6e57c 100644 --- a/package/perl-gd/perl-gd.hash +++ b/package/perl-gd/perl-gd.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 b18bf9698608699309dfb3d09e260c63 GD-2.68.tar.gz -sha256 6aa3de0d49c22011d412789be664c46520b8d4eb4920fe30dbac501b88515e5c GD-2.68.tar.gz +md5 d9596406f64e50b9ecef8d7cfbf0d99b GD-2.70.tar.gz +sha256 66b26a322e1fd82ef874721dd5274effcc60eb0c0f3481bf88ddf91529b633e2 GD-2.70.tar.gz # computed by scancpan sha256 1e2250289d6df4ba1c24f7550982d7ffaff2c97cd02e847659406e1afd28e83f LICENSE diff --git a/package/perl-gd/perl-gd.mk b/package/perl-gd/perl-gd.mk index 3686e9c871..7557517131 100644 --- a/package/perl-gd/perl-gd.mk +++ b/package/perl-gd/perl-gd.mk @@ -4,12 +4,13 @@ # ################################################################################ -PERL_GD_VERSION = 2.68 +PERL_GD_VERSION = 2.70 PERL_GD_SOURCE = GD-$(PERL_GD_VERSION).tar.gz PERL_GD_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN PERL_GD_DEPENDENCIES = zlib libpng freetype gd PERL_GD_LICENSE = Artistic or GPL-1.0+ PERL_GD_LICENSE_FILES = LICENSE +PERL_GD_DISTNAME = GD PERL_GD_CONF_OPTS = \ -lib_gd_path=$(STAGING_DIR)/usr \ diff --git a/package/perl-gdgraph/Config.in b/package/perl-gdgraph/Config.in index 10b3cd0323..d8885fe0eb 100644 --- a/package/perl-gdgraph/Config.in +++ b/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/package/perl-gdgraph/perl-gdgraph.mk b/package/perl-gdgraph/perl-gdgraph.mk index c4317075f6..284dc9dc21 100644 --- a/package/perl-gdgraph/perl-gdgraph.mk +++ b/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/package/perl-gdtextutil/Config.in b/package/perl-gdtextutil/Config.in index 9baf0a078b..cff328e064 100644 --- a/package/perl-gdtextutil/Config.in +++ b/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/package/perl-gdtextutil/perl-gdtextutil.mk b/package/perl-gdtextutil/perl-gdtextutil.mk index 087102a749..cd1617fbbd 100644 --- a/package/perl-gdtextutil/perl-gdtextutil.mk +++ b/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/package/perl-hash-multivalue/Config.in b/package/perl-hash-multivalue/Config.in new file mode 100644 index 0000000000..8621983d45 --- /dev/null +++ b/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/package/perl-hash-multivalue/perl-hash-multivalue.hash b/package/perl-hash-multivalue/perl-hash-multivalue.hash new file mode 100644 index 0000000000..3a68650697 --- /dev/null +++ b/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/package/perl-hash-multivalue/perl-hash-multivalue.mk b/package/perl-hash-multivalue/perl-hash-multivalue.mk new file mode 100644 index 0000000000..dcbfe8431c --- /dev/null +++ b/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/package/perl-html-parser/Config.in b/package/perl-html-parser/Config.in index 22a16d646f..10cd95e484 100644 --- a/package/perl-html-parser/Config.in +++ b/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/package/perl-html-parser/perl-html-parser.mk b/package/perl-html-parser/perl-html-parser.mk index 66016eb8b0..6e5a81bb72 100644 --- a/package/perl-html-parser/perl-html-parser.mk +++ b/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/package/perl-html-tagset/Config.in b/package/perl-html-tagset/Config.in index a39bc651f2..4956198f59 100644 --- a/package/perl-html-tagset/Config.in +++ b/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/package/perl-html-tagset/perl-html-tagset.mk b/package/perl-html-tagset/perl-html-tagset.mk index ff371fa2d3..c6b5f69134 100644 --- a/package/perl-html-tagset/perl-html-tagset.mk +++ b/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/package/perl-http-cookies/Config.in b/package/perl-http-cookies/Config.in index 4095fee824..fd869f0644 100644 --- a/package/perl-http-cookies/Config.in +++ b/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/package/perl-http-cookies/perl-http-cookies.mk b/package/perl-http-cookies/perl-http-cookies.mk index 0777c0845e..74ffe8f426 100644 --- a/package/perl-http-cookies/perl-http-cookies.mk +++ b/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/package/perl-http-daemon/Config.in b/package/perl-http-daemon/Config.in index 7544ece1ae..bc03b8c8c5 100644 --- a/package/perl-http-daemon/Config.in +++ b/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/package/perl-http-daemon/perl-http-daemon.mk b/package/perl-http-daemon/perl-http-daemon.mk index 65cdaf8e2b..99e053f425 100644 --- a/package/perl-http-daemon/perl-http-daemon.mk +++ b/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/package/perl-http-date/Config.in b/package/perl-http-date/Config.in index 5ce4781394..12524e6dac 100644 --- a/package/perl-http-date/Config.in +++ b/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/package/perl-http-date/perl-http-date.mk b/package/perl-http-date/perl-http-date.mk index feccf25dd2..5dc91f31de 100644 --- a/package/perl-http-date/perl-http-date.mk +++ b/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/package/perl-http-entity-parser/Config.in b/package/perl-http-entity-parser/Config.in new file mode 100644 index 0000000000..445366b71d --- /dev/null +++ b/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/package/perl-http-entity-parser/perl-http-entity-parser.hash b/package/perl-http-entity-parser/perl-http-entity-parser.hash new file mode 100644 index 0000000000..cb6657413a --- /dev/null +++ b/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/package/perl-http-entity-parser/perl-http-entity-parser.mk b/package/perl-http-entity-parser/perl-http-entity-parser.mk new file mode 100644 index 0000000000..6d814b2f53 --- /dev/null +++ b/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/package/perl-http-headers-fast/Config.in b/package/perl-http-headers-fast/Config.in new file mode 100644 index 0000000000..b4b19e5b2c --- /dev/null +++ b/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/package/perl-http-headers-fast/perl-http-headers-fast.hash b/package/perl-http-headers-fast/perl-http-headers-fast.hash new file mode 100644 index 0000000000..0cba0f95a7 --- /dev/null +++ b/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/package/perl-http-headers-fast/perl-http-headers-fast.mk b/package/perl-http-headers-fast/perl-http-headers-fast.mk new file mode 100644 index 0000000000..fadf06d5b0 --- /dev/null +++ b/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/package/perl-http-message/Config.in b/package/perl-http-message/Config.in index 682a4b01fa..82538cfce8 100644 --- a/package/perl-http-message/Config.in +++ b/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/package/perl-http-message/perl-http-message.mk b/package/perl-http-message/perl-http-message.mk index e4d642afde..becae4d17b 100644 --- a/package/perl-http-message/perl-http-message.mk +++ b/package/perl-http-message/perl-http-message.mk @@ -7,8 +7,8 @@ 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/package/perl-http-multipartparser/Config.in b/package/perl-http-multipartparser/Config.in new file mode 100644 index 0000000000..93c196ca1b --- /dev/null +++ b/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/package/perl-http-multipartparser/perl-http-multipartparser.hash b/package/perl-http-multipartparser/perl-http-multipartparser.hash new file mode 100644 index 0000000000..079c02f60b --- /dev/null +++ b/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/package/perl-http-multipartparser/perl-http-multipartparser.mk b/package/perl-http-multipartparser/perl-http-multipartparser.mk new file mode 100644 index 0000000000..7fb3b8aaaf --- /dev/null +++ b/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/package/perl-http-negotiate/Config.in b/package/perl-http-negotiate/Config.in index dcb1bbbfb9..c519ede2df 100644 --- a/package/perl-http-negotiate/Config.in +++ b/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/package/perl-http-negotiate/perl-http-negotiate.mk b/package/perl-http-negotiate/perl-http-negotiate.mk index 86ca554a62..868516fa72 100644 --- a/package/perl-http-negotiate/perl-http-negotiate.mk +++ b/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/package/perl-io-html/Config.in b/package/perl-io-html/Config.in index 86038af007..e12e39a550 100644 --- a/package/perl-io-html/Config.in +++ b/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/package/perl-io-html/perl-io-html.mk b/package/perl-io-html/perl-io-html.mk index bb79f450f2..ae8c6405a3 100644 --- a/package/perl-io-html/perl-io-html.mk +++ b/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/package/perl-io-interface/Config.in b/package/perl-io-interface/Config.in new file mode 100644 index 0000000000..e3137b2459 --- /dev/null +++ b/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/package/perl-io-interface/perl-io-interface.hash b/package/perl-io-interface/perl-io-interface.hash new file mode 100644 index 0000000000..75e572f918 --- /dev/null +++ b/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/package/perl-io-interface/perl-io-interface.mk b/package/perl-io-interface/perl-io-interface.mk new file mode 100644 index 0000000000..84e4d1a9b6 --- /dev/null +++ b/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/package/perl-io-socket-multicast/Config.in b/package/perl-io-socket-multicast/Config.in new file mode 100644 index 0000000000..b1328c5b0c --- /dev/null +++ b/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/package/perl-io-socket-multicast/perl-io-socket-multicast.hash b/package/perl-io-socket-multicast/perl-io-socket-multicast.hash new file mode 100644 index 0000000000..c12da12c41 --- /dev/null +++ b/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/package/perl-io-socket-multicast/perl-io-socket-multicast.mk b/package/perl-io-socket-multicast/perl-io-socket-multicast.mk new file mode 100644 index 0000000000..a8c6896ce2 --- /dev/null +++ b/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/package/perl-io-socket-ssl/Config.in b/package/perl-io-socket-ssl/Config.in index d24e568bc5..a7b94a3925 100644 --- a/package/perl-io-socket-ssl/Config.in +++ b/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/package/perl-io-socket-ssl/perl-io-socket-ssl.hash b/package/perl-io-socket-ssl/perl-io-socket-ssl.hash index 5b9cb9934b..ad9e5ae4b4 100644 --- a/package/perl-io-socket-ssl/perl-io-socket-ssl.hash +++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 7f575fd3844263a3401dc6e1fe3ad44c IO-Socket-SSL-2.056.tar.gz -sha256 91451ecc28b243a78b438f0a42db24c4b60a86f088879b38e40bdbd697818259 IO-Socket-SSL-2.056.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/package/perl-io-socket-ssl/perl-io-socket-ssl.mk b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk index 95bb852f56..e4857c70c7 100644 --- a/package/perl-io-socket-ssl/perl-io-socket-ssl.mk +++ b/package/perl-io-socket-ssl/perl-io-socket-ssl.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_IO_SOCKET_SSL_VERSION = 2.056 +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/package/perl-json-maybexs/Config.in b/package/perl-json-maybexs/Config.in new file mode 100644 index 0000000000..7959b2c3a5 --- /dev/null +++ b/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/package/perl-json-maybexs/perl-json-maybexs.hash b/package/perl-json-maybexs/perl-json-maybexs.hash new file mode 100644 index 0000000000..c8bf172aaa --- /dev/null +++ b/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/package/perl-json-maybexs/perl-json-maybexs.mk b/package/perl-json-maybexs/perl-json-maybexs.mk new file mode 100644 index 0000000000..cb6518b592 --- /dev/null +++ b/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/package/perl-json-tiny/perl-json-tiny.mk b/package/perl-json-tiny/perl-json-tiny.mk index 6b45613c5a..886cff8104 100644 --- a/package/perl-json-tiny/perl-json-tiny.mk +++ b/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/package/perl-libwww-perl/Config.in b/package/perl-libwww-perl/Config.in index 09fc00543d..6e191dd529 100644 --- a/package/perl-libwww-perl/Config.in +++ b/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/package/perl-libwww-perl/perl-libwww-perl.hash b/package/perl-libwww-perl/perl-libwww-perl.hash index 5606c926b2..b6d8382af4 100644 --- a/package/perl-libwww-perl/perl-libwww-perl.hash +++ b/package/perl-libwww-perl/perl-libwww-perl.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 725d6aac274575d614c3cc87e1a91eb8 libwww-perl-6.34.tar.gz -sha256 260363fd4204c0ddf7cd76f7b70e22beb3b5186e4c346f250a59288b52dc114c libwww-perl-6.34.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/package/perl-libwww-perl/perl-libwww-perl.mk b/package/perl-libwww-perl/perl-libwww-perl.mk index 254603df7b..c3367e10c4 100644 --- a/package/perl-libwww-perl/perl-libwww-perl.mk +++ b/package/perl-libwww-perl/perl-libwww-perl.mk @@ -4,24 +4,11 @@ # ################################################################################ -PERL_LIBWWW_PERL_VERSION = 6.34 +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/package/perl-lwp-mediatypes/Config.in b/package/perl-lwp-mediatypes/Config.in index ae2056adef..4881090144 100644 --- a/package/perl-lwp-mediatypes/Config.in +++ b/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/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk b/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk index bcf4e5f742..3ba2abc894 100644 --- a/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk +++ b/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/package/perl-mail-dkim/Config.in b/package/perl-mail-dkim/Config.in index 3db54f3c39..057796b501 100644 --- a/package/perl-mail-dkim/Config.in +++ b/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/package/perl-mail-dkim/perl-mail-dkim.hash b/package/perl-mail-dkim/perl-mail-dkim.hash index 99b3e7cce3..6d0b079706 100644 --- a/package/perl-mail-dkim/perl-mail-dkim.hash +++ b/package/perl-mail-dkim/perl-mail-dkim.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 f366863f09905bbe5faa1f986133759c Mail-DKIM-0.52.tar.gz -sha256 9eaf0b212af1883b9c3f709dcf4811e46122546a38ae979a08756fbfcffb6cb5 Mail-DKIM-0.52.tar.gz +md5 7f65cb291545aa10fa9d0d87d0e8d1d2 Mail-DKIM-0.54.tar.gz +sha256 b72f78c80f7aa1bdb2a80986b45f9225a8fa0b7c91644590b102a78eb31c3dca Mail-DKIM-0.54.tar.gz diff --git a/package/perl-mail-dkim/perl-mail-dkim.mk b/package/perl-mail-dkim/perl-mail-dkim.mk index e6bfd7bd83..986df27cbc 100644 --- a/package/perl-mail-dkim/perl-mail-dkim.mk +++ b/package/perl-mail-dkim/perl-mail-dkim.mk @@ -4,9 +4,9 @@ # ################################################################################ -PERL_MAIL_DKIM_VERSION = 0.52 +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/package/perl-mailtools/Config.in b/package/perl-mailtools/Config.in index 2123c61ea3..a442e7193d 100644 --- a/package/perl-mailtools/Config.in +++ b/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/package/perl-mailtools/perl-mailtools.hash b/package/perl-mailtools/perl-mailtools.hash index 9fb91cbd26..1db4772f56 100644 --- a/package/perl-mailtools/perl-mailtools.hash +++ b/package/perl-mailtools/perl-mailtools.hash @@ -1,5 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 53e9d35256c3fd7cef0e4a24b15e9512 MailTools-2.20.tar.gz sha256 f55606f7a9cc342ee9d5f996e2b6a4c0047e2ee47cd88c3250ecf0d0c5fb3196 MailTools-2.20.tar.gz -# Locally computed -sha256 734d5b1bd212de832aea99e94c98d56217ea9519d900a29c0547538f596a9b26 README + +# computed by scancpan +sha256 734d5b1bd212de832aea99e94c98d56217ea9519d900a29c0547538f596a9b26 README diff --git a/package/perl-mailtools/perl-mailtools.mk b/package/perl-mailtools/perl-mailtools.mk index ae595bbfcf..ef58849b98 100644 --- a/package/perl-mailtools/perl-mailtools.mk +++ b/package/perl-mailtools/perl-mailtools.mk @@ -7,8 +7,8 @@ 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/package/perl-mime-base64-urlsafe/Config.in b/package/perl-mime-base64-urlsafe/Config.in index 8abfdc25ab..be4540a473 100644 --- a/package/perl-mime-base64-urlsafe/Config.in +++ b/package/perl-mime-base64-urlsafe/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_MIME_BASE64_URLSAFE bool "perl-mime-base64-urlsafe" help - Perl version of Python's URL-safe base64 codec + Perl version of Python's URL-safe base64 codec. https://metacpan.org/release/MIME-Base64-URLSafe diff --git a/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk b/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk index c29372ecd7..1a6a36eeae 100644 --- a/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk +++ b/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk @@ -9,5 +9,6 @@ PERL_MIME_BASE64_URLSAFE_SOURCE = MIME-Base64-URLSafe-$(PERL_MIME_BASE64_URLSAFE 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/package/perl-mime-base64/Config.in b/package/perl-mime-base64/Config.in index 702259853a..ecb3d2ee68 100644 --- a/package/perl-mime-base64/Config.in +++ b/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/package/perl-mime-base64/perl-mime-base64.mk b/package/perl-mime-base64/perl-mime-base64.mk index e7febe1939..201707d46d 100644 --- a/package/perl-mime-base64/perl-mime-base64.mk +++ b/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/package/perl-mime-tools/Config.in b/package/perl-mime-tools/Config.in new file mode 100644 index 0000000000..f8495c325f --- /dev/null +++ b/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/package/perl-mime-tools/perl-mime-tools.hash b/package/perl-mime-tools/perl-mime-tools.hash new file mode 100644 index 0000000000..41e13eb0b2 --- /dev/null +++ b/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/package/perl-mime-tools/perl-mime-tools.mk b/package/perl-mime-tools/perl-mime-tools.mk new file mode 100644 index 0000000000..10279d7308 --- /dev/null +++ b/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/package/perl-module-build-tiny/perl-module-build-tiny.hash b/package/perl-module-build-tiny/perl-module-build-tiny.hash new file mode 100644 index 0000000000..357c238dd3 --- /dev/null +++ b/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/package/perl-module-build-tiny/perl-module-build-tiny.mk b/package/perl-module-build-tiny/perl-module-build-tiny.mk new file mode 100644 index 0000000000..cdf6ac3ec4 --- /dev/null +++ b/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/package/perl-module-build/perl-module-build.mk b/package/perl-module-build/perl-module-build.mk index 42c9c11141..caf68f7fe3 100644 --- a/package/perl-module-build/perl-module-build.mk +++ b/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/package/perl-module-implementation/Config.in b/package/perl-module-implementation/Config.in new file mode 100644 index 0000000000..04561dea0a --- /dev/null +++ b/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/package/perl-module-implementation/perl-module-implementation.hash b/package/perl-module-implementation/perl-module-implementation.hash new file mode 100644 index 0000000000..caf365c024 --- /dev/null +++ b/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/package/perl-module-implementation/perl-module-implementation.mk b/package/perl-module-implementation/perl-module-implementation.mk new file mode 100644 index 0000000000..7cf7cbb215 --- /dev/null +++ b/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/package/perl-module-runtime/Config.in b/package/perl-module-runtime/Config.in new file mode 100644 index 0000000000..1db03e5bae --- /dev/null +++ b/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/package/perl-module-runtime/perl-module-runtime.hash b/package/perl-module-runtime/perl-module-runtime.hash new file mode 100644 index 0000000000..c52cb75504 --- /dev/null +++ b/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/package/perl-module-runtime/perl-module-runtime.mk b/package/perl-module-runtime/perl-module-runtime.mk new file mode 100644 index 0000000000..dcf045cf18 --- /dev/null +++ b/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/package/perl-mojolicious-plugin-authentication/Config.in b/package/perl-mojolicious-plugin-authentication/Config.in index 26c3cde5d4..4fa01806fd 100644 --- a/package/perl-mojolicious-plugin-authentication/Config.in +++ b/package/perl-mojolicious-plugin-authentication/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION bool "perl-mojolicious-plugin-authentication" - select BR2_PACKAGE_PERL_MOJOLICIOUS + select BR2_PACKAGE_PERL_MOJOLICIOUS # runtime help - A plugin to make authentication a bit easier + A plugin to make authentication a bit easier. https://metacpan.org/release/Mojolicious-Plugin-Authentication diff --git a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk index 2748965944..cce12314db 100644 --- a/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk +++ b/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk @@ -7,8 +7,8 @@ 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_DEPENDENCIES = perl-mojolicious 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/package/perl-mojolicious/Config.in b/package/perl-mojolicious/Config.in index 28d45a35fd..8bcce5f027 100644 --- a/package/perl-mojolicious/Config.in +++ b/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. https://mojolicious.org diff --git a/package/perl-mojolicious/perl-mojolicious.hash b/package/perl-mojolicious/perl-mojolicious.hash index 528fb7a731..e2eb158b11 100644 --- a/package/perl-mojolicious/perl-mojolicious.hash +++ b/package/perl-mojolicious/perl-mojolicious.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 2aca5046a2efc7ce596c4470893b555f Mojolicious-7.84.tar.gz -sha256 7461a27e8e8665b436a60c708cf6ce4164b84dfb1b2435480a65597085d26ebc Mojolicious-7.84.tar.gz +md5 00419dac75fec23d06fe8695e4bde303 Mojolicious-8.11.tar.gz +sha256 d95f42aa901b9aba96880dae53fd77d89690cca65635ff93a47885a2c7b312f2 Mojolicious-8.11.tar.gz # computed by scancpan sha256 19e2e0f2079ea1ce1576eb4ecc0575b33fe45b2b8e71f4aa589d6bedd1da4e0a LICENSE diff --git a/package/perl-mojolicious/perl-mojolicious.mk b/package/perl-mojolicious/perl-mojolicious.mk index f20fabc9fa..4ff942ce80 100644 --- a/package/perl-mojolicious/perl-mojolicious.mk +++ b/package/perl-mojolicious/perl-mojolicious.mk @@ -4,10 +4,11 @@ # ################################################################################ -PERL_MOJOLICIOUS_VERSION = 7.84 +PERL_MOJOLICIOUS_VERSION = 8.11 PERL_MOJOLICIOUS_SOURCE = Mojolicious-$(PERL_MOJOLICIOUS_VERSION).tar.gz PERL_MOJOLICIOUS_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SR/SRI PERL_MOJOLICIOUS_LICENSE = Artistic-2.0 PERL_MOJOLICIOUS_LICENSE_FILES = LICENSE +PERL_MOJOLICIOUS_DISTNAME = Mojolicious $(eval $(perl-package)) diff --git a/package/perl-moo/Config.in b/package/perl-moo/Config.in new file mode 100644 index 0000000000..141b95ca58 --- /dev/null +++ b/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/package/perl-moo/perl-moo.hash b/package/perl-moo/perl-moo.hash new file mode 100644 index 0000000000..509a9ea4ed --- /dev/null +++ b/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/package/perl-moo/perl-moo.mk b/package/perl-moo/perl-moo.mk new file mode 100644 index 0000000000..64e8d748a9 --- /dev/null +++ b/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/package/perl-net-dns/Config.in b/package/perl-net-dns/Config.in index c156505c76..cf68655447 100644 --- a/package/perl-net-dns/Config.in +++ b/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/package/perl-net-dns/perl-net-dns.hash b/package/perl-net-dns/perl-net-dns.hash index 44cad68764..2a30ea7ba5 100644 --- a/package/perl-net-dns/perl-net-dns.hash +++ b/package/perl-net-dns/perl-net-dns.hash @@ -1,5 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 daaf39133bb89a31c093510169c228e1 Net-DNS-1.15.tar.gz -sha256 1ad46ba6438b846a94b4f50d53ecfda55f504a17e11b94effb087ff9329e61d0 Net-DNS-1.15.tar.gz -# Locally computed -sha256 ab10a05c33f412e00f71a828aa7521288309cfac74b1f075daef8560e86a9b94 README +md5 8a40402888487b853f861d21433f341a Net-DNS-1.19.tar.gz +sha256 206278bdd9a538bec3e45b50e80cc5a9d7dc6e70ebf0889ef78254f0f710ccd7 Net-DNS-1.19.tar.gz + +# computed by scancpan +sha256 afa7d288df3e3edbdb34790407ba4a9c7750c2746059d9355f4168bfb3212583 README diff --git a/package/perl-net-dns/perl-net-dns.mk b/package/perl-net-dns/perl-net-dns.mk index f9d22c240d..31db330b1f 100644 --- a/package/perl-net-dns/perl-net-dns.mk +++ b/package/perl-net-dns/perl-net-dns.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_NET_DNS_VERSION = 1.15 +PERL_NET_DNS_VERSION = 1.19 PERL_NET_DNS_SOURCE = Net-DNS-$(PERL_NET_DNS_VERSION).tar.gz PERL_NET_DNS_SITE = $(BR2_CPAN_MIRROR)/authors/id/N/NL/NLNETLABS -PERL_NET_DNS_DEPENDENCIES = perl-digest-hmac PERL_NET_DNS_LICENSE = MIT PERL_NET_DNS_LICENSE_FILES = README +PERL_NET_DNS_DISTNAME = Net-DNS $(eval $(perl-package)) diff --git a/package/perl-net-http/Config.in b/package/perl-net-http/Config.in index 63215772a4..c09f3843b9 100644 --- a/package/perl-net-http/Config.in +++ b/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/package/perl-net-http/perl-net-http.hash b/package/perl-net-http/perl-net-http.hash index 21cd6308f2..0dd9964953 100644 --- a/package/perl-net-http/perl-net-http.hash +++ b/package/perl-net-http/perl-net-http.hash @@ -1,5 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 6da11a7db0e933b7684148e1fb32006a Net-HTTP-6.18.tar.gz sha256 7e42df2db7adce3e0eb4f78b88c450f453f5380f120fd5411232e03374ba951c Net-HTTP-6.18.tar.gz -# Locally computed -sha256 49fbcc80e17295888b909176a0029f275a8c17b6cbfaf8867fe571ebe9a9ca79 LICENSE + +# computed by scancpan +sha256 49fbcc80e17295888b909176a0029f275a8c17b6cbfaf8867fe571ebe9a9ca79 LICENSE diff --git a/package/perl-net-http/perl-net-http.mk b/package/perl-net-http/perl-net-http.mk index 12bd50f848..da65450eaf 100644 --- a/package/perl-net-http/perl-net-http.mk +++ b/package/perl-net-http/perl-net-http.mk @@ -7,8 +7,8 @@ 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/package/perl-net-ping/Config.in b/package/perl-net-ping/Config.in index a0ba7b0de1..21239a095f 100644 --- a/package/perl-net-ping/Config.in +++ b/package/perl-net-ping/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_NET_PING bool "perl-net-ping" help - check a remote host for reachability + check a remote host for reachability. https://metacpan.org/release/Net-Ping diff --git a/package/perl-net-ping/perl-net-ping.hash b/package/perl-net-ping/perl-net-ping.hash index 363d095386..c3bff0339d 100644 --- a/package/perl-net-ping/perl-net-ping.hash +++ b/package/perl-net-ping/perl-net-ping.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 0b01ada2bc588330456924393d47ed11 Net-Ping-2.68.tar.gz -sha256 d01ac2fcdf684c4a23a07104fbb147cfbdbda47fd5b660912124258f29afd7e3 Net-Ping-2.68.tar.gz +md5 58110451d15d27b46ebc6a53f1697ff1 Net-Ping-2.71.tar.gz +sha256 0819d0aa87b173e98ecb3ccfd92272ce53c7fc9e86f962f64602a6fa477f7d4f Net-Ping-2.71.tar.gz # computed by scancpan -sha256 eb4ad254a468a977f29849efda0183f69b7f4ede0f7123e0dd5768207ee73c58 README +sha256 9441a22309a2b40ff1282ac1906c137f07f5e521e7b1ec162b251f6006051b47 README diff --git a/package/perl-net-ping/perl-net-ping.mk b/package/perl-net-ping/perl-net-ping.mk index 51d8f13792..5e8f53be1e 100644 --- a/package/perl-net-ping/perl-net-ping.mk +++ b/package/perl-net-ping/perl-net-ping.mk @@ -4,10 +4,11 @@ # ################################################################################ -PERL_NET_PING_VERSION = 2.68 +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/package/perl-net-snmp/Config.in b/package/perl-net-snmp/Config.in index e509292cd8..850cd9ba3e 100644 --- a/package/perl-net-snmp/Config.in +++ b/package/perl-net-snmp/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_NET_SNMP bool "perl-net-snmp" help - Object oriented interface to SNMP + Object oriented interface to SNMP. https://metacpan.org/release/Net-SNMP diff --git a/package/perl-net-snmp/perl-net-snmp.mk b/package/perl-net-snmp/perl-net-snmp.mk index a9daa13d7f..ae8607e406 100644 --- a/package/perl-net-snmp/perl-net-snmp.mk +++ b/package/perl-net-snmp/perl-net-snmp.mk @@ -10,5 +10,6 @@ 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/package/perl-net-ssh2/perl-net-ssh2.mk b/package/perl-net-ssh2/perl-net-ssh2.mk index ebd5803826..7860c7f05f 100644 --- a/package/perl-net-ssh2/perl-net-ssh2.mk +++ b/package/perl-net-ssh2/perl-net-ssh2.mk @@ -10,6 +10,8 @@ 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" \ diff --git a/package/perl-net-ssleay/Config.in b/package/perl-net-ssleay/Config.in index 80178e0b98..6998553ef8 100644 --- a/package/perl-net-ssleay/Config.in +++ b/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/package/perl-net-ssleay/perl-net-ssleay.mk b/package/perl-net-ssleay/perl-net-ssleay.mk index 2b3b10716d..80ce8b9cc7 100644 --- a/package/perl-net-ssleay/perl-net-ssleay.mk +++ b/package/perl-net-ssleay/perl-net-ssleay.mk @@ -10,6 +10,7 @@ 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/package/perl-net-telnet/Config.in b/package/perl-net-telnet/Config.in index 6d7993c608..c4f68072b7 100644 --- a/package/perl-net-telnet/Config.in +++ b/package/perl-net-telnet/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_NET_TELNET bool "perl-net-telnet" help - Interact with TELNET port or other TCP ports + Interact with TELNET port or other TCP ports. https://metacpan.org/release/Net-Telnet diff --git a/package/perl-net-telnet/perl-net-telnet.mk b/package/perl-net-telnet/perl-net-telnet.mk index 28568871e2..0b9cce0af8 100644 --- a/package/perl-net-telnet/perl-net-telnet.mk +++ b/package/perl-net-telnet/perl-net-telnet.mk @@ -9,5 +9,6 @@ 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/package/perl-netaddr-ip/Config.in b/package/perl-netaddr-ip/Config.in index d4061e1dfd..3536c3496a 100644 --- a/package/perl-netaddr-ip/Config.in +++ b/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/package/perl-netaddr-ip/perl-netaddr-ip.mk b/package/perl-netaddr-ip/perl-netaddr-ip.mk index a1f02c6912..4824b4e9ee 100644 --- a/package/perl-netaddr-ip/perl-netaddr-ip.mk +++ b/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/package/perl-number-bytes-human/Config.in b/package/perl-number-bytes-human/Config.in new file mode 100644 index 0000000000..b56f70b002 --- /dev/null +++ b/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/package/perl-number-bytes-human/perl-number-bytes-human.hash b/package/perl-number-bytes-human/perl-number-bytes-human.hash new file mode 100644 index 0000000000..af7a6b65a1 --- /dev/null +++ b/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/package/perl-number-bytes-human/perl-number-bytes-human.mk b/package/perl-number-bytes-human/perl-number-bytes-human.mk new file mode 100644 index 0000000000..d2d712f8fa --- /dev/null +++ b/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/package/perl-package-stash/Config.in b/package/perl-package-stash/Config.in new file mode 100644 index 0000000000..6b7ca24782 --- /dev/null +++ b/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/package/perl-package-stash/perl-package-stash.hash b/package/perl-package-stash/perl-package-stash.hash new file mode 100644 index 0000000000..be8760d2d9 --- /dev/null +++ b/package/perl-package-stash/perl-package-stash.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 dc2d802eea2cb0b52ed9c4dd178761dd Package-Stash-0.38.tar.gz +sha256 c58ee8844df2dda38e3bf66fdf443439aaefaef1a33940edf2055f0afd223a7f Package-Stash-0.38.tar.gz + +# computed by scancpan +sha256 13aab710649bae5a8bbb1ae725587ece773bf390537dba2da71247bd937d54b4 LICENSE diff --git a/package/perl-package-stash/perl-package-stash.mk b/package/perl-package-stash/perl-package-stash.mk new file mode 100644 index 0000000000..b1a83bd957 --- /dev/null +++ b/package/perl-package-stash/perl-package-stash.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-package-stash +# +################################################################################ + +PERL_PACKAGE_STASH_VERSION = 0.38 +PERL_PACKAGE_STASH_SOURCE = Package-Stash-$(PERL_PACKAGE_STASH_VERSION).tar.gz +PERL_PACKAGE_STASH_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER +PERL_PACKAGE_STASH_LICENSE = Artistic or GPL-1.0+ +PERL_PACKAGE_STASH_LICENSE_FILES = LICENSE +PERL_PACKAGE_STASH_DISTNAME = Package-Stash + +$(eval $(perl-package)) diff --git a/package/perl-params-util/Config.in b/package/perl-params-util/Config.in new file mode 100644 index 0000000000..bbc821674f --- /dev/null +++ b/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/package/perl-params-util/perl-params-util.hash b/package/perl-params-util/perl-params-util.hash new file mode 100644 index 0000000000..0c247ebfe5 --- /dev/null +++ b/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/package/perl-params-util/perl-params-util.mk b/package/perl-params-util/perl-params-util.mk new file mode 100644 index 0000000000..c33ea816eb --- /dev/null +++ b/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/package/perl-path-tiny/Config.in b/package/perl-path-tiny/Config.in index f85e792dd9..f79de73e72 100644 --- a/package/perl-path-tiny/Config.in +++ b/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/package/perl-path-tiny/perl-path-tiny.hash b/package/perl-path-tiny/perl-path-tiny.hash index c73b621ebb..2ad8a6414c 100644 --- a/package/perl-path-tiny/perl-path-tiny.hash +++ b/package/perl-path-tiny/perl-path-tiny.hash @@ -1,6 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 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/package/perl-path-tiny/perl-path-tiny.mk b/package/perl-path-tiny/perl-path-tiny.mk index 53e787dc10..5d654efee3 100644 --- a/package/perl-path-tiny/perl-path-tiny.mk +++ b/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/package/perl-plack/Config.in b/package/perl-plack/Config.in new file mode 100644 index 0000000000..c81ac4a444 --- /dev/null +++ b/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/package/perl-plack/perl-plack.hash b/package/perl-plack/perl-plack.hash new file mode 100644 index 0000000000..7324b726ae --- /dev/null +++ b/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/package/perl-plack/perl-plack.mk b/package/perl-plack/perl-plack.mk new file mode 100644 index 0000000000..cccf5a6224 --- /dev/null +++ b/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/package/perl-posix-strftime-compiler/Config.in b/package/perl-posix-strftime-compiler/Config.in new file mode 100644 index 0000000000..3c8d7d240f --- /dev/null +++ b/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/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash b/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash new file mode 100644 index 0000000000..e8c5219c48 --- /dev/null +++ b/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/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk b/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk new file mode 100644 index 0000000000..d7e23d254f --- /dev/null +++ b/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/package/perl-role-tiny/Config.in b/package/perl-role-tiny/Config.in new file mode 100644 index 0000000000..ebbe720203 --- /dev/null +++ b/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/package/perl-role-tiny/perl-role-tiny.hash b/package/perl-role-tiny/perl-role-tiny.hash new file mode 100644 index 0000000000..33601bb6b2 --- /dev/null +++ b/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/package/perl-role-tiny/perl-role-tiny.mk b/package/perl-role-tiny/perl-role-tiny.mk new file mode 100644 index 0000000000..6501972f22 --- /dev/null +++ b/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/package/perl-stream-buffered/Config.in b/package/perl-stream-buffered/Config.in new file mode 100644 index 0000000000..3bddefe570 --- /dev/null +++ b/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/package/perl-stream-buffered/perl-stream-buffered.hash b/package/perl-stream-buffered/perl-stream-buffered.hash new file mode 100644 index 0000000000..a40955d8f6 --- /dev/null +++ b/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/package/perl-stream-buffered/perl-stream-buffered.mk b/package/perl-stream-buffered/perl-stream-buffered.mk new file mode 100644 index 0000000000..63aa1a2461 --- /dev/null +++ b/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/package/perl-sub-exporter-progressive/Config.in b/package/perl-sub-exporter-progressive/Config.in new file mode 100644 index 0000000000..e44de83e65 --- /dev/null +++ b/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/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash b/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash new file mode 100644 index 0000000000..6bd2441641 --- /dev/null +++ b/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/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk b/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk new file mode 100644 index 0000000000..22fc29d5b1 --- /dev/null +++ b/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/package/perl-sub-install/Config.in b/package/perl-sub-install/Config.in new file mode 100644 index 0000000000..d1f539c085 --- /dev/null +++ b/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/package/perl-sub-install/perl-sub-install.hash b/package/perl-sub-install/perl-sub-install.hash new file mode 100644 index 0000000000..3abd9940e6 --- /dev/null +++ b/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/package/perl-sub-install/perl-sub-install.mk b/package/perl-sub-install/perl-sub-install.mk new file mode 100644 index 0000000000..85d60caf52 --- /dev/null +++ b/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/package/perl-sub-quote/Config.in b/package/perl-sub-quote/Config.in new file mode 100644 index 0000000000..4487e9303c --- /dev/null +++ b/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/package/perl-sub-quote/perl-sub-quote.hash b/package/perl-sub-quote/perl-sub-quote.hash new file mode 100644 index 0000000000..8af5e2c07d --- /dev/null +++ b/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/package/perl-sub-quote/perl-sub-quote.mk b/package/perl-sub-quote/perl-sub-quote.mk new file mode 100644 index 0000000000..1e364f2133 --- /dev/null +++ b/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/package/perl-sys-cpu/0001-remove-extraneous-include.patch b/package/perl-sys-cpu/0001-remove-extraneous-include.patch new file mode 100644 index 0000000000..eb7d8f76a8 --- /dev/null +++ b/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/package/perl-sys-cpu/Config.in b/package/perl-sys-cpu/Config.in new file mode 100644 index 0000000000..8306b371dc --- /dev/null +++ b/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/package/perl-sys-cpu/perl-sys-cpu.hash b/package/perl-sys-cpu/perl-sys-cpu.hash new file mode 100644 index 0000000000..0977606b1a --- /dev/null +++ b/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/package/perl-sys-cpu/perl-sys-cpu.mk b/package/perl-sys-cpu/perl-sys-cpu.mk new file mode 100644 index 0000000000..8402bef8fd --- /dev/null +++ b/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/package/perl-sys-meminfo/Config.in b/package/perl-sys-meminfo/Config.in new file mode 100644 index 0000000000..2175d88dd4 --- /dev/null +++ b/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/package/perl-sys-meminfo/perl-sys-meminfo.hash b/package/perl-sys-meminfo/perl-sys-meminfo.hash new file mode 100644 index 0000000000..207cfad2bf --- /dev/null +++ b/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/package/perl-sys-meminfo/perl-sys-meminfo.mk b/package/perl-sys-meminfo/perl-sys-meminfo.mk new file mode 100644 index 0000000000..e70dd73af9 --- /dev/null +++ b/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/package/perl-sys-mmap/Config.in b/package/perl-sys-mmap/Config.in new file mode 100644 index 0000000000..989e6bf23d --- /dev/null +++ b/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/package/perl-sys-mmap/perl-sys-mmap.hash b/package/perl-sys-mmap/perl-sys-mmap.hash new file mode 100644 index 0000000000..d50fb717d1 --- /dev/null +++ b/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/package/perl-sys-mmap/perl-sys-mmap.mk b/package/perl-sys-mmap/perl-sys-mmap.mk new file mode 100644 index 0000000000..489d4dd7ee --- /dev/null +++ b/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/package/perl-time-hires/Config.in b/package/perl-time-hires/Config.in deleted file mode 100644 index fe933a4d8e..0000000000 --- a/package/perl-time-hires/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_PERL_TIME_HIRES - bool "perl-time-hires" - depends on !BR2_STATIC_LIBS - help - High resolution alarm, sleep, gettimeofday, interval timers - - https://metacpan.org/release/Time-HiRes - -comment "perl-time-hires needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS diff --git a/package/perl-time-hires/perl-time-hires.hash b/package/perl-time-hires/perl-time-hires.hash deleted file mode 100644 index 4260766681..0000000000 --- a/package/perl-time-hires/perl-time-hires.hash +++ /dev/null @@ -1,6 +0,0 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -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/package/perl-time-hires/perl-time-hires.mk b/package/perl-time-hires/perl-time-hires.mk deleted file mode 100644 index 271c1398a3..0000000000 --- a/package/perl-time-hires/perl-time-hires.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# perl-time-hires -# -################################################################################ - -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 - -$(eval $(perl-package)) diff --git a/package/perl-time-parsedate/Config.in b/package/perl-time-parsedate/Config.in new file mode 100644 index 0000000000..bd5957d919 --- /dev/null +++ b/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/package/perl-time-parsedate/perl-time-parsedate.hash b/package/perl-time-parsedate/perl-time-parsedate.hash new file mode 100644 index 0000000000..39ce6b93f4 --- /dev/null +++ b/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/package/perl-time-parsedate/perl-time-parsedate.mk b/package/perl-time-parsedate/perl-time-parsedate.mk new file mode 100644 index 0000000000..cba8c7b6b1 --- /dev/null +++ b/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/package/perl-timedate/Config.in b/package/perl-timedate/Config.in index 7ce9de1a7d..84ba8ff6fe 100644 --- a/package/perl-timedate/Config.in +++ b/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/package/perl-timedate/perl-timedate.mk b/package/perl-timedate/perl-timedate.mk index cdc2c07fee..bc4fc9a11f 100644 --- a/package/perl-timedate/perl-timedate.mk +++ b/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/package/perl-try-tiny/Config.in b/package/perl-try-tiny/Config.in index 5c115b638c..c4329dc1d5 100644 --- a/package/perl-try-tiny/Config.in +++ b/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/package/perl-try-tiny/perl-try-tiny.mk b/package/perl-try-tiny/perl-try-tiny.mk index f9113e7069..bce96269d2 100644 --- a/package/perl-try-tiny/perl-try-tiny.mk +++ b/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/package/perl-type-tiny/Config.in b/package/perl-type-tiny/Config.in new file mode 100644 index 0000000000..c49a0d4bb8 --- /dev/null +++ b/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/package/perl-type-tiny/perl-type-tiny.hash b/package/perl-type-tiny/perl-type-tiny.hash new file mode 100644 index 0000000000..d6b3639dcf --- /dev/null +++ b/package/perl-type-tiny/perl-type-tiny.hash @@ -0,0 +1,7 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 a7fe90a6d53d2cd57381e60e682f828f Type-Tiny-1.004004.tar.gz +sha256 081281ea004cdd89003d938aa52c1398e24411dd8f7163b14d0977a13f7062be Type-Tiny-1.004004.tar.gz + +# computed by scancpan +sha256 57e58f271bf6bca0bb22ab9e72b04c9e12010b0a898453a2fcde49fb9ff28afc COPYRIGHT +sha256 5c791221f0dde289392a38a5921b66d4a1be8248cc64ee6de15f3c2426892673 LICENSE diff --git a/package/perl-type-tiny/perl-type-tiny.mk b/package/perl-type-tiny/perl-type-tiny.mk new file mode 100644 index 0000000000..aa7306416b --- /dev/null +++ b/package/perl-type-tiny/perl-type-tiny.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-type-tiny +# +################################################################################ + +PERL_TYPE_TINY_VERSION = 1.004004 +PERL_TYPE_TINY_SOURCE = Type-Tiny-$(PERL_TYPE_TINY_VERSION).tar.gz +PERL_TYPE_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOBYINK +PERL_TYPE_TINY_LICENSE = Artistic or GPL-1.0+ +PERL_TYPE_TINY_LICENSE_FILES = COPYRIGHT LICENSE +PERL_TYPE_TINY_DISTNAME = Type-Tiny + +$(eval $(perl-package)) diff --git a/package/perl-uri/Config.in b/package/perl-uri/Config.in index 23e5c50e0b..3f51c517f3 100644 --- a/package/perl-uri/Config.in +++ b/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/package/perl-uri/perl-uri.hash b/package/perl-uri/perl-uri.hash index c8bf47d437..02287a0645 100644 --- a/package/perl-uri/perl-uri.hash +++ b/package/perl-uri/perl-uri.hash @@ -1,5 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 892f7183b178af40f205ba37128225db URI-1.74.tar.gz -sha256 a9c254f45f89cb1dd946b689dfe433095404532a4543bdaab0b71ce0fdcdd53d URI-1.74.tar.gz -# Locally computed -sha256 65cd6f88516a30f56fd4e0080fb78ea69424fc89067470dc994e4abfba08664e LICENSE +md5 c236e0142adecc1b1104da664bc43a79 URI-1.76.tar.gz +sha256 b2c98e1d50d6f572483ee538a6f4ccc8d9185f91f0073fd8af7390898254413e URI-1.76.tar.gz + +# computed by scancpan +sha256 65cd6f88516a30f56fd4e0080fb78ea69424fc89067470dc994e4abfba08664e LICENSE diff --git a/package/perl-uri/perl-uri.mk b/package/perl-uri/perl-uri.mk index 10a5bb8bda..730b390526 100644 --- a/package/perl-uri/perl-uri.mk +++ b/package/perl-uri/perl-uri.mk @@ -4,10 +4,11 @@ # ################################################################################ -PERL_URI_VERSION = 1.74 +PERL_URI_VERSION = 1.76 PERL_URI_SOURCE = URI-$(PERL_URI_VERSION).tar.gz -PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER +PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_URI_LICENSE = Artistic or GPL-1.0+ PERL_URI_LICENSE_FILES = LICENSE +PERL_URI_DISTNAME = URI $(eval $(perl-package)) diff --git a/package/perl-www-form-urlencoded/Config.in b/package/perl-www-form-urlencoded/Config.in new file mode 100644 index 0000000000..67759c8f7a --- /dev/null +++ b/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/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash b/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash new file mode 100644 index 0000000000..2ad969a12a --- /dev/null +++ b/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/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk b/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk new file mode 100644 index 0000000000..a0ccba5312 --- /dev/null +++ b/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/package/perl-www-robotrules/Config.in b/package/perl-www-robotrules/Config.in index 3e7175e331..6ecf58afd5 100644 --- a/package/perl-www-robotrules/Config.in +++ b/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/package/perl-www-robotrules/perl-www-robotrules.mk b/package/perl-www-robotrules/perl-www-robotrules.mk index 5e8bab9d5d..052d9a6743 100644 --- a/package/perl-www-robotrules/perl-www-robotrules.mk +++ b/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/package/perl-x10/Config.in b/package/perl-x10/Config.in new file mode 100644 index 0000000000..834ffefad5 --- /dev/null +++ b/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/package/perl-x10/perl-x10.hash b/package/perl-x10/perl-x10.hash new file mode 100644 index 0000000000..5411390e3e --- /dev/null +++ b/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/package/perl-x10/perl-x10.mk b/package/perl-x10/perl-x10.mk new file mode 100644 index 0000000000..4c90be65b2 --- /dev/null +++ b/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/package/perl-xml-libxml/Config.in b/package/perl-xml-libxml/Config.in index fb15e1011c..ce0a4783d8 100644 --- a/package/perl-xml-libxml/Config.in +++ b/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/package/perl-xml-libxml/perl-xml-libxml.mk b/package/perl-xml-libxml/perl-xml-libxml.mk index ff831bb070..3218d34d53 100644 --- a/package/perl-xml-libxml/perl-xml-libxml.mk +++ b/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/package/perl-xml-namespacesupport/Config.in b/package/perl-xml-namespacesupport/Config.in index 93a697c624..dc1034d383 100644 --- a/package/perl-xml-namespacesupport/Config.in +++ b/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/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk b/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk index 325440b33a..c3c54da6a8 100644 --- a/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk +++ b/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/package/perl-xml-sax-base/Config.in b/package/perl-xml-sax-base/Config.in index 2ad25ac39b..03b344d20f 100644 --- a/package/perl-xml-sax-base/Config.in +++ b/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/package/perl-xml-sax-base/perl-xml-sax-base.mk b/package/perl-xml-sax-base/perl-xml-sax-base.mk index ec6e052b72..810a46046d 100644 --- a/package/perl-xml-sax-base/perl-xml-sax-base.mk +++ b/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/package/perl-xml-sax/Config.in b/package/perl-xml-sax/Config.in index 4f5567e251..4e603f3a98 100644 --- a/package/perl-xml-sax/Config.in +++ b/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/package/perl-xml-sax/perl-xml-sax.mk b/package/perl-xml-sax/perl-xml-sax.mk index 024ac6211e..17518367dc 100644 --- a/package/perl-xml-sax/perl-xml-sax.mk +++ b/package/perl-xml-sax/perl-xml-sax.mk @@ -7,8 +7,8 @@ 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/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch b/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch deleted file mode 100644 index 5223b78c01..0000000000 --- a/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch +++ /dev/null @@ -1,46 +0,0 @@ -From ae65651eab053fc6dc4590dbb863a268215c1fc5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Fri, 8 Jun 2018 11:45:40 +0100 -Subject: [PATCH] [PATCH] Remove existing files before overwriting them - -Archive should extract only the latest same-named entry. -Extracted regular file should not be writtent into existing block -device (or any other one). - -https://rt.cpan.org/Ticket/Display.html?id=125523 - -[Peter: rewrite path to match perl tarball with sed 's|\(lib/Archive\)|cpan/Archive-Tar/\1|g'] -Signed-off-by: Chris 'BinGOs' Williams -Signed-off-by: Peter Korsgaard ---- - cpan/Archive-Tar/lib/Archive/Tar.pm | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/cpan/Archive-Tar/lib/Archive/Tar.pm b/cpan/Archive-Tar/lib/Archive/Tar.pm -index 6244369..a83975f 100644 ---- a/cpan/Archive-Tar/lib/Archive/Tar.pm -+++ b/cpan/Archive-Tar/lib/Archive/Tar.pm -@@ -845,6 +845,20 @@ sub _extract_file { - return; - } - -+ ### If a file system already contains a block device with the same name as -+ ### the being extracted regular file, we would write the file's content -+ ### to the block device. So remove the existing file (block device) now. -+ ### If an archive contains multiple same-named entries, the last one -+ ### should replace the previous ones. So remove the old file now. -+ ### If the old entry is a symlink to a file outside of the CWD, the new -+ ### entry would create a file there. This is CVE-2018-12015 -+ ### . -+ if (-l $full || -e _) { -+ if (!unlink $full) { -+ $self->_error( qq[Could not remove old file '$full': $!] ); -+ return; -+ } -+ } - if( length $entry->type && $entry->is_file ) { - my $fh = IO::File->new; - $fh->open( $full, '>' ) or ( --- -2.11.0 - diff --git a/package/perl/0001-fix-the-generated-subdirectory-Makefiles.patch b/package/perl/0001-fix-the-generated-subdirectory-Makefiles.patch new file mode 100644 index 0000000000..178c7baa5b --- /dev/null +++ b/package/perl/0001-fix-the-generated-subdirectory-Makefiles.patch @@ -0,0 +1,30 @@ +From 30ae4c9e2ac6cd27138ebf124cbda9232c56bdf7 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Tue, 16 Oct 2018 21:20:12 +0200 +Subject: [PATCH] fix the generated subdirectory Makefiles + +all variables used by BR must be propagated + +similar to https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/98e8532fffe5afa8186329acc44fb957427f1823 + +Signed-off-by: Francois Perrad +--- + cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm +index d579256e86..48642e98fa 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm +@@ -702,7 +702,7 @@ END + } + if ($self->{PARENT}) { + $self->{PARENT}->{CHILDREN}->{$newclass} = $self; +- foreach my $opt (qw(POLLUTE PERL_CORE LINKTYPE LD OPTIMIZE)) { ++ foreach my $opt (qw(POLLUTE PERL_CORE LINKTYPE AR FULL_AR CC CCFLAGS OPTIMIZE LD LDDLFLAGS LDFLAGS PERL_ARCHLIB DESTDIR )) { + if (exists $self->{PARENT}->{$opt} + and not exists $self->{$opt}) + { +-- +2.17.1 + diff --git a/package/perl/perl.hash b/package/perl/perl.hash index 6936b22e03..4604d2715d 100644 --- a/package/perl/perl.hash +++ b/package/perl/perl.hash @@ -1,7 +1,7 @@ -# Hashes from: http://www.cpan.org/src/5.0/perl-5.26.2.tar.xz.{md5,sha1,sha256}.txt -md5 1fa1b53eeff76aa37b17bfc9b2771671 perl-5.26.2.tar.xz -sha1 bfa5c7921ed7bf5e035dbf2f7ff81367b81e372c perl-5.26.2.tar.xz -sha256 0f8c0fb1b0db4681adb75c3ba0dd77a0472b1b359b9e80efd79fc27b4352132c perl-5.26.2.tar.xz +# Hashes from: http://www.cpan.org/src/5.0/perl-5.28.2.tar.xz.{md5,sha1,sha256}.txt +md5 6bb75770e9ba085b32bf13e4be71e4ac perl-5.28.2.tar.xz +sha1 e7be78eca9ac5596783e6abcf957408050a7b650 perl-5.28.2.tar.xz +sha256 0b0189bfa4b2da20e899b4bdd746ac402e8f746a58e4fcf5516484157f2aab07 perl-5.28.2.tar.xz -# 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 +# Hashes from: https://github.com/arsv/perl-cross/releases/download/1.2.3/perl-cross-1.2.3.hash +sha256 84583a1bb5f3a2c64d13d031386c114382e5c62955c6f84a27cec8318536627c perl-cross-1.2.3.tar.gz diff --git a/package/perl/perl.mk b/package/perl/perl.mk index b0eea3eff4..ecb21c4b85 100644 --- a/package/perl/perl.mk +++ b/package/perl/perl.mk @@ -5,7 +5,7 @@ ################################################################################ # When updating the version here, also update utils/scancpan -PERL_VERSION_MAJOR = 26 +PERL_VERSION_MAJOR = 28 PERL_VERSION = 5.$(PERL_VERSION_MAJOR).2 PERL_SITE = http://www.cpan.org/src/5.0 PERL_SOURCE = perl-$(PERL_VERSION).tar.xz @@ -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.2 +PERL_CROSS_VERSION = 1.2.3 # DO NOT refactor with the github helper (the result is not the same) PERL_CROSS_SITE = https://github.com/arsv/perl-cross/releases/download/$(PERL_CROSS_VERSION) PERL_CROSS_SOURCE = perl-cross-$(PERL_CROSS_VERSION).tar.gz diff --git a/package/php-amqp/php-amqp.hash b/package/php-amqp/php-amqp.hash index 10b16f1b48..c061efabb9 100644 --- a/package/php-amqp/php-amqp.hash +++ b/package/php-amqp/php-amqp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c79e52db33bf907dad7da8f350dbdf2937b0679a3dc44fb2a941efb6d4808da9 amqp-1.9.3.tgz +sha256 b66b8b8264749cb7a69ae4d09665dad1559b6c4f01430206c8e4187bcd8c782d amqp-1.9.4.tgz sha256 ecd004e9ae3fcf54896b562d5e8008e36041f2620076effd58e5f4187299cee8 LICENSE diff --git a/package/php-amqp/php-amqp.mk b/package/php-amqp/php-amqp.mk index e9de4825a9..c808ecdbd6 100644 --- a/package/php-amqp/php-amqp.mk +++ b/package/php-amqp/php-amqp.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_AMQP_VERSION = 1.9.3 +PHP_AMQP_VERSION = 1.9.4 PHP_AMQP_SOURCE = amqp-$(PHP_AMQP_VERSION).tgz PHP_AMQP_SITE = https://pecl.php.net/get PHP_AMQP_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php-memcached/php-memcached.hash b/package/php-memcached/php-memcached.hash index 7a8ec28340..dd294f466a 100644 --- a/package/php-memcached/php-memcached.hash +++ b/package/php-memcached/php-memcached.hash @@ -1,2 +1,5 @@ # Locally calculated -sha256 5d1c29a1d5e391d6bb7b736a07e063d2f0834800673dd246d64ce1b73e47645d memcached-3.0.3.tgz +sha256 20786213ff92cd7ebdb0d0ac10dde1e9580a2f84296618b666654fd76ea307d4 memcached-3.1.3.tgz +sha256 24e8e3a9529204ead9422fa17cf3ddd75d292a8763b87fdb20591964f2e6ebe0 LICENSE +sha256 a453a7a272fbd24105b39959f76996d50dad80b22d1c310f6c67f74f62ae4054 fastlz/LICENSE +sha256 bba8cb50c660842c5ca459c5004395bdef8f01c1b64f97a9978f1053f173cb82 g_fmt.h diff --git a/package/php-memcached/php-memcached.mk b/package/php-memcached/php-memcached.mk index 224a34453d..4607d099f3 100644 --- a/package/php-memcached/php-memcached.mk +++ b/package/php-memcached/php-memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_MEMCACHED_VERSION = 3.0.3 +PHP_MEMCACHED_VERSION = 3.1.3 PHP_MEMCACHED_SOURCE = memcached-$(PHP_MEMCACHED_VERSION).tgz PHP_MEMCACHED_SITE = https://pecl.php.net/get PHP_MEMCACHED_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch b/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch new file mode 100644 index 0000000000..afc5de9915 --- /dev/null +++ b/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch @@ -0,0 +1,302 @@ +From a8835aab2c15e794fce13bd927295719e384ad2d Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Thu, 28 Jun 2018 07:10:35 +0200 +Subject: [PATCH] fix php_url fields usage for PHP 7.3 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/php/pecl-networking-ssh2/commit/a8835aab2c15e794fce13bd927295719e384ad2d] +--- + php_ssh2.h | 8 +++++++ + ssh2_fopen_wrappers.c | 55 +++++++++++++++++++++++++++---------------- + ssh2_sftp.c | 20 ++++++++-------- + 3 files changed, 53 insertions(+), 30 deletions(-) + +diff --git a/php_ssh2.h b/php_ssh2.h +index 734b795..d010ff9 100644 +--- a/php_ssh2.h ++++ b/php_ssh2.h +@@ -166,6 +166,14 @@ extern php_stream_wrapper php_ssh2_sftp_wrapper; + extern int le_ssh2_session; + extern int le_ssh2_sftp; + ++#if PHP_VERSION_ID < 70300 ++#define SSH2_URL_STR(a) (a) ++#define SSH2_URL_LEN(a) strlen(a) ++#else ++#define SSH2_URL_STR(a) ZSTR_VAL(a) ++#define SSH2_URL_LEN(a) ZSTR_LEN(a) ++#endif ++ + #endif /* PHP_SSH2_H */ + + /* +diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c +index 2f96ca4..f2f3475 100644 +--- a/ssh2_fopen_wrappers.c ++++ b/ssh2_fopen_wrappers.c +@@ -215,7 +215,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + php_url *resource; + zval *methods = NULL, *callbacks = NULL, zsession, *tmpzval; + zend_long resource_id; +- char *h, *s, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL; ++ char *h, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL; + int username_len = 0, password_len = 0; + + h = strstr(path, "Resource id #"); +@@ -233,13 +233,13 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + return NULL; + } + +- if (strncmp(resource->scheme, "ssh2.", sizeof("ssh2.") - 1)) { ++ if (strncmp(SSH2_URL_STR(resource->scheme), "ssh2.", sizeof("ssh2.") - 1)) { + /* Not an ssh wrapper */ + php_url_free(resource); + return NULL; + } + +- if (strcmp(resource->scheme + sizeof("ssh2.") - 1, type)) { ++ if (strcmp(SSH2_URL_STR(resource->scheme) + sizeof("ssh2.") - 1, type)) { + /* Wrong ssh2. wrapper type */ + php_url_free(resource); + return NULL; +@@ -253,13 +253,27 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + Find resource->path in the path string, then copy the entire string from the original path. + This includes ?query#fragment in the path string + */ ++// TODO copy seems uneeded ++#if PHP_VERSION_ID < 70300 ++ { ++ char * s; ++ + s = resource->path; + resource->path = estrdup(strstr(path, resource->path)); + efree(s); ++ } ++#else ++ { ++ zend_string *tmp; ++ ++ tmp = resource->path; ++ resource->path = zend_string_init(ZSTR_VAL(resource->path), ZSTR_LEN(resource->path), 0); ++ zend_string_release(tmp); ++ } ++#endif + + /* Look for a resource ID to reuse a session */ +- s = resource->host; +- if (is_numeric_string(s, strlen(s), &resource_id, NULL, 0) == IS_LONG) { ++ if (is_numeric_string(SSH2_URL_STR(resource->host), SSH2_URL_LEN(resource->host), &resource_id, NULL, 0) == IS_LONG) { + php_ssh2_sftp_data *sftp_data; + zval *zresource; + +@@ -309,7 +323,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + } + + /* Fallback on finding it in the context */ +- if (resource->host[0] == 0 && context && psftp && ++ if (SSH2_URL_STR(resource->host)[0] == 0 && context && psftp && + (tmpzval = php_stream_context_get_option(context, "ssh2", "sftp")) != NULL && + Z_TYPE_P(tmpzval) == IS_RESOURCE) { + php_ssh2_sftp_data *sftp_data; +@@ -323,7 +337,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + return resource; + } + } +- if (resource->host[0] == 0 && context && ++ if (SSH2_URL_STR(resource->host)[0] == 0 && context && + (tmpzval = php_stream_context_get_option(context, "ssh2", "session")) != NULL && + Z_TYPE_P(tmpzval) == IS_RESOURCE) { + session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(tmpzval), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); +@@ -399,19 +413,19 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + } + + if (resource->user) { +- int len = strlen(resource->user); ++ int len = SSH2_URL_LEN(resource->user); + + if (len) { +- username = resource->user; ++ username = SSH2_URL_STR(resource->user); + username_len = len; + } + } + + if (resource->pass) { +- int len = strlen(resource->pass); ++ int len = SSH2_URL_LEN(resource->pass); + + if (len) { +- password = resource->pass; ++ password = SSH2_URL_STR(resource->pass); + password_len = len; + } + } +@@ -422,7 +436,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + return NULL; + } + +- session = php_ssh2_session_connect(resource->host, resource->port, methods, callbacks); ++ session = php_ssh2_session_connect(SSH2_URL_STR(resource->host), resource->port, methods, callbacks); + if (!session) { + /* Unable to connect! */ + php_url_free(resource); +@@ -482,6 +496,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + *psftp = sftp; + } + ++ //TODO may be undefined + *presource_id = Z_LVAL(zsession); + *psession = session; + +@@ -527,7 +542,7 @@ static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id + zval_copy_ctor(©val); + convert_to_string(©val); + if (libssh2_channel_setenv_ex(channel, key->val, key->len, Z_STRVAL(copyval), Z_STRLEN(copyval))) { +- php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", key, Z_STRVAL(copyval)); ++ php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", ZSTR_VAL(key), Z_STRVAL(copyval)); + } + zval_dtor(©val); + } +@@ -631,7 +646,7 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con + zval_ptr_dtor(©val); + } + +- s = resource->path ? resource->path : NULL; ++ s = resource->path ? SSH2_URL_STR(resource->path) : NULL; + + if (s && s[0] == '/') { + /* Terminal type encoded into URL overrides context terminal type */ +@@ -766,7 +781,7 @@ static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_ + zval_copy_ctor(©val); + convert_to_string(©val); + if (libssh2_channel_setenv_ex(channel, key->val, key->len, Z_STRVAL(copyval), Z_STRLEN(copyval))) { +- php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", key, Z_STRVAL(copyval)); ++ php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", ZSTR_VAL(key), Z_STRVAL(copyval)); + } + zval_dtor(©val); + } +@@ -878,7 +893,7 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons + zval_ptr_dtor(copyval); + } + +- stream = php_ssh2_exec_command(session, resource_id, resource->path + 1, terminal, terminal_len, environment, width, height, type); ++ stream = php_ssh2_exec_command(session, resource_id, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type); + if (!stream) { + // TODO Sean-Der + //zend_list_delete(resource_id); +@@ -1021,7 +1036,7 @@ static php_stream *php_ssh2_fopen_wrapper_scp(php_stream_wrapper *wrapper, const + return NULL; + } + +- stream = php_ssh2_scp_xfer(session, resource_id, resource->path); ++ stream = php_ssh2_scp_xfer(session, resource_id, SSH2_URL_STR(resource->path)); + if (!stream) { + //TODO Sean-Der + //zend_list_delete(resource_id); +@@ -1147,7 +1162,7 @@ PHP_FUNCTION(ssh2_scp_send) + char *error_msg = NULL; + + last_error = libssh2_session_last_error(session, &error_msg, NULL, 0); +- php_error_docref(NULL, E_WARNING, "Failure creating remote file: %s", error_msg); ++ php_error_docref(NULL, E_WARNING, "Failure creating remote file: %s (%d)", error_msg, last_error); + php_stream_close(local_file); + RETURN_FALSE; + } +@@ -1262,10 +1277,10 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co + return NULL; + } + +- if (resource->path && resource->path[0] == '/') { ++ if (resource->path && SSH2_URL_STR(resource->path)[0] == '/') { + char *colon; + +- host = resource->path + 1; ++ host = SSH2_URL_STR(resource->path) + 1; + if (*host == '[') { + /* IPv6 Encapsulated Format */ + host++; +diff --git a/ssh2_sftp.c b/ssh2_sftp.c +index 13f89f0..6332be8 100644 +--- a/ssh2_sftp.c ++++ b/ssh2_sftp.c +@@ -238,7 +238,7 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons + + flags = php_ssh2_parse_fopen_modes((char *)mode); + +- handle = libssh2_sftp_open(sftp, resource->path, flags, perms); ++ handle = libssh2_sftp_open(sftp, SSH2_URL_STR(resource->path), flags, perms); + if (!handle) { + php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); + php_url_free(resource); +@@ -341,7 +341,7 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c + return NULL; + } + +- handle = libssh2_sftp_opendir(sftp, resource->path); ++ handle = libssh2_sftp_opendir(sftp, SSH2_URL_STR(resource->path)); + if (!handle) { + php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); + php_url_free(resource); +@@ -386,7 +386,7 @@ static int php_ssh2_sftp_urlstat(php_stream_wrapper *wrapper, const char *url, i + return -1; + } + +- if (libssh2_sftp_stat_ex(sftp, resource->path, strlen(resource->path), ++ if (libssh2_sftp_stat_ex(sftp, SSH2_URL_STR(resource->path), SSH2_URL_LEN(resource->path), + (flags & PHP_STREAM_URL_STAT_LINK) ? LIBSSH2_SFTP_LSTAT : LIBSSH2_SFTP_STAT, &attrs)) { + php_url_free(resource); + //zend_list_delete(sftp_rsrcid); +@@ -420,7 +420,7 @@ static int php_ssh2_sftp_unlink(php_stream_wrapper *wrapper, const char *url, in + return 0; + } + +- result = libssh2_sftp_unlink(sftp, resource->path); ++ result = libssh2_sftp_unlink(sftp, SSH2_URL_STR(resource->path)); + php_url_free(resource); + + //zend_list_delete(sftp_rsrcid); +@@ -462,7 +462,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro + return 0; + } + +- result = libssh2_sftp_rename(sftp, resource->path, resource_to->path); ++ result = libssh2_sftp_rename(sftp, SSH2_URL_STR(resource->path), SSH2_URL_STR(resource_to->path)); + php_url_free(resource); + php_url_free(resource_to); + +@@ -493,13 +493,13 @@ static int php_ssh2_sftp_mkdir(php_stream_wrapper *wrapper, const char *url, int + + if (options & PHP_STREAM_MKDIR_RECURSIVE) { + /* Just attempt to make every directory, some will fail, but we only care about the last success/failure */ +- char *p = resource->path; ++ char *p = SSH2_URL_STR(resource->path); + while ((p = strchr(p + 1, '/'))) { +- libssh2_sftp_mkdir_ex(sftp, resource->path, p - resource->path, mode); ++ libssh2_sftp_mkdir_ex(sftp, SSH2_URL_STR(resource->path), p - SSH2_URL_STR(resource->path), mode); + } + } + +- result = libssh2_sftp_mkdir(sftp, resource->path, mode); ++ result = libssh2_sftp_mkdir(sftp, SSH2_URL_STR(resource->path), mode); + php_url_free(resource); + + //zend_list_delete(sftp_rsrcid); +@@ -527,7 +527,7 @@ static int php_ssh2_sftp_rmdir(php_stream_wrapper *wrapper, const char *url, int + return 0; + } + +- result = libssh2_sftp_rmdir(sftp, resource->path); ++ result = libssh2_sftp_rmdir(sftp, SSH2_URL_STR(resource->path)); + php_url_free(resource); + + //zend_list_delete(sftp_rsrcid); +@@ -836,7 +836,7 @@ PHP_FUNCTION(ssh2_sftp_readlink) + } + + if ((targ_len = libssh2_sftp_symlink_ex(data->sftp, link->val, link->len, targ, 8192, LIBSSH2_SFTP_READLINK)) < 0) { +- php_error_docref(NULL, E_WARNING, "Unable to read link '%s'", link); ++ php_error_docref(NULL, E_WARNING, "Unable to read link '%s'", ZSTR_VAL(link)); + RETURN_FALSE; + } + diff --git a/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch b/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch new file mode 100644 index 0000000000..d6d62947f7 --- /dev/null +++ b/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch @@ -0,0 +1,746 @@ +From 073067ba96ac99ed5696d27f13ca6c8124986e74 Mon Sep 17 00:00:00 2001 +From: Jan-E +Date: Thu, 28 Jun 2018 08:43:48 +0200 +Subject: [PATCH] @dstogov Fixed PHP7 port. Restored commented reference + counting. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/php/pecl-networking-ssh2/commit/073067ba96ac99ed5696d27f13ca6c8124986e74] +--- + php_ssh2.h | 14 ++--- + ssh2.c | 26 ++++----- + ssh2_fopen_wrappers.c | 129 ++++++++++++++++++------------------------ + ssh2_sftp.c | 59 +++++++++---------- + 4 files changed, 102 insertions(+), 126 deletions(-) + +diff --git a/php_ssh2.h b/php_ssh2.h +index d010ff9..2bbaa26 100644 +--- a/php_ssh2.h ++++ b/php_ssh2.h +@@ -73,14 +73,14 @@ typedef struct _php_ssh2_sftp_data { + LIBSSH2_SESSION *session; + LIBSSH2_SFTP *sftp; + +- int session_rsrcid; ++ zend_resource *session_rsrc; + } php_ssh2_sftp_data; + + typedef struct _php_ssh2_listener_data { + LIBSSH2_SESSION *session; + LIBSSH2_LISTENER *listener; + +- int session_rsrcid; ++ zend_resource *session_rsrc; + } php_ssh2_listener_data; + + #include "libssh2_publickey.h" +@@ -89,7 +89,7 @@ typedef struct _php_ssh2_pkey_subsys_data { + LIBSSH2_SESSION *session; + LIBSSH2_PUBLICKEY *pkey; + +- int session_rsrcid; ++ zend_resource *session_rsrc; + } php_ssh2_pkey_subsys_data; + + #define SSH2_FETCH_NONAUTHENTICATED_SESSION(session, zsession) \ +@@ -118,8 +118,8 @@ typedef struct _php_ssh2_channel_data { + char is_blocking; + long timeout; + +- /* Resource ID */ +- int session_rsrcid; ++ /* Resource */ ++ zend_resource *session_rsrc; + + /* Allow one stream to be closed while the other is kept open */ + unsigned char *refcount; +@@ -151,8 +151,8 @@ PHP_FUNCTION(ssh2_sftp_realpath); + LIBSSH2_SESSION *php_ssh2_session_connect(char *host, int port, zval *methods, zval *callbacks); + void php_ssh2_sftp_dtor(zend_resource *rsrc); + php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stream_context *context, +- LIBSSH2_SESSION **psession, int *presource_id, +- LIBSSH2_SFTP **psftp, int *psftp_rsrcid); ++ LIBSSH2_SESSION **psession, zend_resource **presource, ++ LIBSSH2_SFTP **psftp, zend_resource **psftp_rsrc); + + extern php_stream_ops php_ssh2_channel_stream_ops; + +diff --git a/ssh2.c b/ssh2.c +index e73867e..849766b 100644 +--- a/ssh2.c ++++ b/ssh2.c +@@ -772,9 +772,8 @@ PHP_FUNCTION(ssh2_forward_listen) + + data = emalloc(sizeof(php_ssh2_listener_data)); + data->session = session; +- data->session_rsrcid = Z_LVAL_P(zsession); +- //TODO Sean-Der +- //zend_list_addref(data->session_rsrcid); ++ data->session_rsrc = Z_RES_P(zsession); ++ Z_ADDREF_P(zsession); + data->listener = listener; + + RETURN_RES(zend_register_resource(data, le_ssh2_listener)); +@@ -810,7 +809,7 @@ PHP_FUNCTION(ssh2_forward_accept) + channel_data->channel = channel; + channel_data->streamid = 0; + channel_data->is_blocking = 0; +- channel_data->session_rsrcid = data->session_rsrcid; ++ channel_data->session_rsrc = data->session_rsrc; + channel_data->refcount = NULL; + + stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); +@@ -820,8 +819,12 @@ PHP_FUNCTION(ssh2_forward_accept) + libssh2_channel_free(channel); + RETURN_FALSE; + } +- //TODO Sean-Der +- //zend_list_addref(channel_data->session_rsrcid); ++ ++#if PHP_VERSION_ID < 70300 ++ GC_REFCOUNT(channel_data->session_rsrc)++; ++#else ++ GC_ADDREF(channel_data->session_rsrc); ++#endif + + php_stream_to_zval(stream, return_value); + } +@@ -975,9 +978,8 @@ PHP_FUNCTION(ssh2_publickey_init) + + data = emalloc(sizeof(php_ssh2_pkey_subsys_data)); + data->session = session; +- data->session_rsrcid = Z_RES_P(zsession)->handle; +- //TODO Sean-Der +- //zend_list_addref(data->session_rsrcid); ++ data->session_rsrc = Z_RES_P(zsession); ++ Z_ADDREF_P(zsession); + data->pkey = pkey; + + RETURN_RES(zend_register_resource(data, le_ssh2_pkey_subsys)); +@@ -1280,8 +1282,7 @@ static void php_ssh2_listener_dtor(zend_resource *rsrc) + LIBSSH2_LISTENER *listener = data->listener; + + libssh2_channel_forward_cancel(listener); +- // TODO Sean-Der +- //zend_list_delete(data->session_rsrcid); ++ zend_list_delete(data->session_rsrc); + efree(data); + } + +@@ -1291,8 +1292,7 @@ static void php_ssh2_pkey_subsys_dtor(zend_resource *rsrc) + LIBSSH2_PUBLICKEY *pkey = data->pkey; + + libssh2_publickey_shutdown(pkey); +- // TODO Sean-Der +- //zend_list_delete(data->session_rsrcid); ++ zend_list_delete(data->session_rsrc); + efree(data); + } + +diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c +index f2f3475..c4eb9dc 100644 +--- a/ssh2_fopen_wrappers.c ++++ b/ssh2_fopen_wrappers.c +@@ -47,11 +47,9 @@ static size_t php_ssh2_channel_stream_write(php_stream *stream, const char *buf, + php_ssh2_channel_data *abstract = (php_ssh2_channel_data*)stream->abstract; + size_t writestate; + LIBSSH2_SESSION *session; +- zval *zresource; + + libssh2_channel_set_blocking(abstract->channel, abstract->is_blocking); +- zresource = php_ssh2_zval_from_resource_handle(abstract->session_rsrcid); +- session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); ++ session = (LIBSSH2_SESSION *)zend_fetch_resource(abstract->session_rsrc, PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); + + + +@@ -90,12 +88,10 @@ static size_t php_ssh2_channel_stream_read(php_stream *stream, char *buf, size_t + php_ssh2_channel_data *abstract = (php_ssh2_channel_data*)stream->abstract; + ssize_t readstate; + LIBSSH2_SESSION *session; +- zval *zresource; + + stream->eof = libssh2_channel_eof(abstract->channel); + libssh2_channel_set_blocking(abstract->channel, abstract->is_blocking); +- zresource = php_ssh2_zval_from_resource_handle(abstract->session_rsrcid); +- session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); ++ session = (LIBSSH2_SESSION *)zend_fetch_resource(abstract->session_rsrc, PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); + + #ifdef PHP_SSH2_SESSION_TIMEOUT + if (abstract->is_blocking) { +@@ -137,8 +133,7 @@ static int php_ssh2_channel_stream_close(php_stream *stream, int close_handle) + } + libssh2_channel_eof(abstract->channel); + libssh2_channel_free(abstract->channel); +- //TODO Sean-Der +- //zend_list_delete(abstract->session_rsrcid); ++ zend_list_delete(abstract->session_rsrc); + } + efree(abstract); + +@@ -207,8 +202,8 @@ php_stream_ops php_ssh2_channel_stream_ops = { + * Parse an ssh2.*:// path + */ + php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stream_context *context, +- LIBSSH2_SESSION **psession, int *presource_id, +- LIBSSH2_SFTP **psftp, int *psftp_rsrcid) ++ LIBSSH2_SESSION **psession, zend_resource **presource, ++ LIBSSH2_SFTP **psftp, zend_resource **psftp_rsrc) + { + php_ssh2_sftp_data *sftp_data = NULL; + LIBSSH2_SESSION *session; +@@ -283,11 +278,10 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + sftp_data = (php_ssh2_sftp_data *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SFTP_RES_NAME, le_ssh2_sftp); + if (sftp_data) { + /* Want the sftp layer */ +- //TODO Sean-Der +- //zend_list_addref(resource_id); +- *psftp_rsrcid = resource_id; ++ Z_ADDREF_P(zresource); ++ *psftp_rsrc = Z_RES_P(zresource); + *psftp = sftp_data->sftp; +- *presource_id = sftp_data->session_rsrcid; ++ *presource = sftp_data->session_rsrc; + *psession = sftp_data->session; + return resource; + } +@@ -305,18 +299,16 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + sftp_data = emalloc(sizeof(php_ssh2_sftp_data)); + sftp_data->sftp = sftp; + sftp_data->session = session; +- sftp_data->session_rsrcid = resource_id; +- //TODO Sean-Der +- //zend_list_addref(resource_id); +- *psftp_rsrcid = zend_register_resource(sftp_data, le_ssh2_sftp)->handle; ++ sftp_data->session_rsrc = Z_RES_P(zresource); ++ Z_ADDREF_P(zresource); ++ *psftp_rsrc = zend_register_resource(sftp_data, le_ssh2_sftp); + *psftp = sftp; +- *presource_id = resource_id; ++ *presource = Z_RES_P(zresource); + *psession = session; + return resource; + } +- //TODO Sean-Der +- //zend_list_addref(resource_id); +- *presource_id = resource_id; ++ Z_ADDREF_P(zresource); ++ *presource = Z_RES_P(zresource); + *psession = session; + return resource; + } +@@ -330,9 +322,9 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + sftp_data = (php_ssh2_sftp_data *)zend_fetch_resource(Z_RES_P(tmpzval), PHP_SSH2_SFTP_RES_NAME, le_ssh2_sftp); + if (sftp_data) { + Z_ADDREF_P(tmpzval); +- *psftp_rsrcid = Z_LVAL_P(tmpzval); ++ *psftp_rsrc = Z_RES_P(tmpzval); + *psftp = sftp_data->sftp; +- *presource_id = sftp_data->session_rsrcid; ++ *presource = sftp_data->session_rsrc; + *psession = sftp_data->session; + return resource; + } +@@ -354,17 +346,17 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + sftp_data = emalloc(sizeof(php_ssh2_sftp_data)); + sftp_data->sftp = sftp; + sftp_data->session = session; +- sftp_data->session_rsrcid = Z_LVAL_P(tmpzval); ++ sftp_data->session_rsrc = Z_RES_P(tmpzval); + Z_ADDREF_P(tmpzval); +- *psftp_rsrcid = zend_register_resource(sftp_data, le_ssh2_sftp)->handle; ++ *psftp_rsrc = zend_register_resource(sftp_data, le_ssh2_sftp); + *psftp = sftp; +- *presource_id = Z_RES_P(tmpzval)->handle; ++ *presource = Z_RES_P(tmpzval); + *psession = session; + return resource; + } + Z_ADDREF_P(tmpzval); + *psession = session; +- *presource_id = Z_LVAL_P(tmpzval); ++ *presource = Z_RES_P(tmpzval); + return resource; + } + } +@@ -465,8 +457,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + + /* Auth failure */ + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(Z_LVAL(zsession)); ++ zend_list_delete(Z_RES(zsession)); + return NULL; + + session_authed: +@@ -480,24 +471,22 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + sftp = libssh2_sftp_init(session); + if (!sftp) { + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(Z_LVAL(zsession)); ++ zend_list_delete(Z_RES(zsession)); + return NULL; + } + + sftp_data = emalloc(sizeof(php_ssh2_sftp_data)); + sftp_data->session = session; + sftp_data->sftp = sftp; +- sftp_data->session_rsrcid = Z_LVAL(zsession); ++ sftp_data->session_rsrc = Z_RES(zsession); + + //TODO Sean-Der + //ZEND_REGISTER_RESOURCE(sftp_data, le_ssh2_sftp); +- *psftp_rsrcid = Z_LVAL(zsftp); ++ *psftp_rsrc = Z_RES(zsftp); + *psftp = sftp; + } + +- //TODO may be undefined +- *presource_id = Z_LVAL(zsession); ++ *presource = Z_RES(zsession); + *psession = session; + + return resource; +@@ -511,7 +500,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + /* {{{ php_ssh2_shell_open + * Make a stream from a session + */ +-static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id, char *term, int term_len, zval *environment, long width, long height, long type) ++static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, zend_resource *resource, char *term, int term_len, zval *environment, long width, long height, long type) + { + LIBSSH2_CHANNEL *channel; + php_ssh2_channel_data *channel_data; +@@ -578,7 +567,7 @@ static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id + channel_data->streamid = 0; + channel_data->is_blocking = 0; + channel_data->timeout = 0; +- channel_data->session_rsrcid = resource_id; ++ channel_data->session_rsrc = resource; + channel_data->refcount = NULL; + + stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); +@@ -599,11 +588,12 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con + zend_long width = PHP_SSH2_DEFAULT_TERM_WIDTH; + zend_long height = PHP_SSH2_DEFAULT_TERM_HEIGHT; + zend_long type = PHP_SSH2_DEFAULT_TERM_UNIT; +- int resource_id = 0, terminal_len = sizeof(PHP_SSH2_DEFAULT_TERMINAL) - 1; ++ zend_resource *rsrc = NULL; ++ int terminal_len = sizeof(PHP_SSH2_DEFAULT_TERMINAL) - 1; + php_url *resource; + char *s; + +- resource = php_ssh2_fopen_wraper_parse_path(path, "shell", context, &session, &resource_id, NULL, NULL); ++ resource = php_ssh2_fopen_wraper_parse_path(path, "shell", context, &session, &rsrc, NULL, NULL); + if (!resource || !session) { + return NULL; + } +@@ -677,10 +667,9 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con + /* TODO: Accept resolution and environment vars as URL style parameters + * ssh2.shell://hostorresource/terminal/99x99c?envvar=envval&envvar=envval.... + */ +- stream = php_ssh2_shell_open(session, resource_id, terminal, terminal_len, environment, width, height, type); ++ stream = php_ssh2_shell_open(session, rsrc, terminal, terminal_len, environment, width, height, type); + if (!stream) { +- //TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + } + php_url_free(resource); + +@@ -730,7 +719,7 @@ PHP_FUNCTION(ssh2_shell) + + SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession); + +- stream = php_ssh2_shell_open(session, Z_RES_P(zsession)->handle, term, term_len, environment, width, height, type); ++ stream = php_ssh2_shell_open(session, Z_RES_P(zsession), term, term_len, environment, width, height, type); + if (!stream) { + RETURN_FALSE; + } +@@ -749,7 +738,7 @@ PHP_FUNCTION(ssh2_shell) + /* {{{ php_ssh2_exec_command + * Make a stream from a session + */ +-static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_id, char *command, char *term, int term_len, zval *environment, long width, long height, long type) ++static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, zend_resource *rsrc, char *command, char *term, int term_len, zval *environment, long width, long height, long type) + { + LIBSSH2_CHANNEL *channel; + php_ssh2_channel_data *channel_data; +@@ -819,7 +808,7 @@ static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_ + channel_data->streamid = 0; + channel_data->is_blocking = 0; + channel_data->timeout = 0; +- channel_data->session_rsrcid = resource_id; ++ channel_data->session_rsrc = rsrc; + channel_data->refcount = NULL; + + stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); +@@ -836,7 +825,7 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons + LIBSSH2_SESSION *session = NULL; + php_stream *stream; + zval *tmpzval, *environment = NULL; +- int resource_id = 0; ++ zend_resource *rsrc = NULL; + php_url *resource; + char *terminal = NULL; + int terminal_len = 0; +@@ -844,14 +833,13 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons + long height = PHP_SSH2_DEFAULT_TERM_HEIGHT; + long type = PHP_SSH2_DEFAULT_TERM_UNIT; + +- resource = php_ssh2_fopen_wraper_parse_path(path, "exec", context, &session, &resource_id, NULL, NULL); ++ resource = php_ssh2_fopen_wraper_parse_path(path, "exec", context, &session, &rsrc, NULL, NULL); + if (!resource || !session) { + return NULL; + } + if (!resource->path) { + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + return NULL; + } + +@@ -893,10 +881,9 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons + zval_ptr_dtor(copyval); + } + +- stream = php_ssh2_exec_command(session, resource_id, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type); ++ stream = php_ssh2_exec_command(session, rsrc, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type); + if (!stream) { +- // TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + } + php_url_free(resource); + +@@ -963,7 +950,7 @@ PHP_FUNCTION(ssh2_exec) + + SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession); + +- stream = php_ssh2_exec_command(session, Z_RES_P(zsession)->handle, command, term, term_len, environment, width, height, type); ++ stream = php_ssh2_exec_command(session, Z_RES_P(zsession), command, term, term_len, environment, width, height, type); + if (!stream) { + RETURN_FALSE; + } +@@ -982,7 +969,7 @@ PHP_FUNCTION(ssh2_exec) + /* {{{ php_ssh2_scp_xfer + * Make a stream from a session + */ +-static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, int resource_id, char *filename) ++static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, zend_resource *rsrc, char *filename) + { + LIBSSH2_CHANNEL *channel; + php_ssh2_channel_data *channel_data; +@@ -1002,7 +989,7 @@ static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, int resource_id, + channel_data->streamid = 0; + channel_data->is_blocking = 0; + channel_data->timeout = 0; +- channel_data->session_rsrcid = resource_id; ++ channel_data->session_rsrc = rsrc; + channel_data->refcount = NULL; + + stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r"); +@@ -1018,28 +1005,26 @@ static php_stream *php_ssh2_fopen_wrapper_scp(php_stream_wrapper *wrapper, const + { + LIBSSH2_SESSION *session = NULL; + php_stream *stream; +- int resource_id = 0; ++ zend_resource *rsrc = NULL; + php_url *resource; + + if (strchr(mode, '+') || strchr(mode, 'a') || strchr(mode, 'w')) { + return NULL; + } + +- resource = php_ssh2_fopen_wraper_parse_path(path, "scp", context, &session, &resource_id, NULL, NULL); ++ resource = php_ssh2_fopen_wraper_parse_path(path, "scp", context, &session, &rsrc, NULL, NULL); + if (!resource || !session) { + return NULL; + } + if (!resource->path) { + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + return NULL; + } + +- stream = php_ssh2_scp_xfer(session, resource_id, SSH2_URL_STR(resource->path)); ++ stream = php_ssh2_scp_xfer(session, rsrc, SSH2_URL_STR(resource->path)); + if (!stream) { +- //TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + } + php_url_free(resource); + +@@ -1231,7 +1216,7 @@ PHP_FUNCTION(ssh2_scp_send) + /* {{{ php_ssh2_direct_tcpip + * Make a stream from a session + */ +-static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, int resource_id, char *host, int port) ++static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, zend_resource *rsrc, char *host, int port) + { + LIBSSH2_CHANNEL *channel; + php_ssh2_channel_data *channel_data; +@@ -1251,7 +1236,7 @@ static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, int resource_ + channel_data->streamid = 0; + channel_data->is_blocking = 0; + channel_data->timeout = 0; +- channel_data->session_rsrcid = resource_id; ++ channel_data->session_rsrc = rsrc; + channel_data->refcount = NULL; + + stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); +@@ -1270,9 +1255,9 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co + php_url *resource; + char *host = NULL; + int port = 0; +- int resource_id = 0; ++ zend_resource *rsrc; + +- resource = php_ssh2_fopen_wraper_parse_path(path, "tunnel", context, &session, &resource_id, NULL, NULL); ++ resource = php_ssh2_fopen_wraper_parse_path(path, "tunnel", context, &session, &rsrc, NULL, NULL); + if (!resource || !session) { + return NULL; + } +@@ -1303,15 +1288,13 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co + if ((port <= 0) || (port > 65535) || !host || (strlen(host) == 0)) { + /* Invalid connection criteria */ + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + return NULL; + } + +- stream = php_ssh2_direct_tcpip(session, resource_id, host, port); ++ stream = php_ssh2_direct_tcpip(session, rsrc, host, port); + if (!stream) { +- // TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + } + php_url_free(resource); + +@@ -1352,7 +1335,7 @@ PHP_FUNCTION(ssh2_tunnel) + + SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession); + +- stream = php_ssh2_direct_tcpip(session, Z_RES_P(zsession)->handle, host, port); ++ stream = php_ssh2_direct_tcpip(session, Z_RES_P(zsession), host, port); + if (!stream) { + RETURN_FALSE; + } +diff --git a/ssh2_sftp.c b/ssh2_sftp.c +index 6332be8..256fc70 100644 +--- a/ssh2_sftp.c ++++ b/ssh2_sftp.c +@@ -40,8 +40,7 @@ void php_ssh2_sftp_dtor(zend_resource *rsrc) + + libssh2_sftp_shutdown(data->sftp); + +- // TODO Sean-Der +- //zend_list_delete(data->session_rsrcid); ++ zend_list_delete(data->session_rsrc); + + efree(data); + } +@@ -50,7 +49,7 @@ void php_ssh2_sftp_dtor(zend_resource *rsrc) + * SFTP File Ops * + ***************** */ + +-inline unsigned long php_ssh2_parse_fopen_modes(char *openmode) { ++unsigned long php_ssh2_parse_fopen_modes(char *openmode) { + unsigned long flags = 0; + + if (strchr(openmode, 'a')) { +@@ -101,7 +100,7 @@ inline int php_ssh2_sftp_attr2ssb(php_stream_statbuf *ssb, LIBSSH2_SFTP_ATTRIBUT + typedef struct _php_ssh2_sftp_handle_data { + LIBSSH2_SFTP_HANDLE *handle; + +- long sftp_rsrcid; ++ zend_resource *sftp_rsrc; + } php_ssh2_sftp_handle_data; + + /* {{{ php_ssh2_sftp_stream_write +@@ -139,8 +138,7 @@ static int php_ssh2_sftp_stream_close(php_stream *stream, int close_handle) + php_ssh2_sftp_handle_data *data = (php_ssh2_sftp_handle_data*)stream->abstract; + + libssh2_sftp_close(data->handle); +- //TODO Sean-Der +- //zend_list_delete(data->sftp_rsrcid); ++ zend_list_delete(data->sftp_rsrc); + efree(data); + + return 0; +@@ -226,12 +224,12 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons + LIBSSH2_SFTP *sftp = NULL; + LIBSSH2_SFTP_HANDLE *handle; + php_stream *stream; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + unsigned long flags; + long perms = 0644; + +- resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp) { + return NULL; + } +@@ -242,20 +240,18 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons + if (!handle) { + php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(sftp_rsrcid); ++ zend_list_delete(sftp_rsrc); + return NULL; + } + + data = emalloc(sizeof(php_ssh2_sftp_handle_data)); + data->handle = handle; +- data->sftp_rsrcid = sftp_rsrcid; ++ data->sftp_rsrc = sftp_rsrc; + + stream = php_stream_alloc(&php_ssh2_sftp_stream_ops, data, 0, mode); + if (!stream) { + libssh2_sftp_close(handle); +- // TODO Sean-Der +- //zend_list_delete(sftp_rsrcid); ++ zend_list_delete(sftp_rsrc); + efree(data); + } + php_url_free(resource); +@@ -303,8 +299,7 @@ static int php_ssh2_sftp_dirstream_close(php_stream *stream, int close_handle) + php_ssh2_sftp_handle_data *data = (php_ssh2_sftp_handle_data*)stream->abstract; + + libssh2_sftp_close(data->handle); +- //TODO Sean_der +- //zend_list_delete(data->sftp_rsrcid); ++ zend_list_delete(data->sftp_rsrc); + efree(data); + + return 0; +@@ -333,10 +328,10 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c + LIBSSH2_SFTP *sftp = NULL; + LIBSSH2_SFTP_HANDLE *handle; + php_stream *stream; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + +- resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp) { + return NULL; + } +@@ -345,20 +340,18 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c + if (!handle) { + php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(sftp_rsrcid); ++ zend_list_delete(sftp_rsrc); + return NULL; + } + + data = emalloc(sizeof(php_ssh2_sftp_handle_data)); + data->handle = handle; +- data->sftp_rsrcid = sftp_rsrcid; ++ data->sftp_rsrc = sftp_rsrc; + + stream = php_stream_alloc(&php_ssh2_sftp_dirstream_ops, data, 0, mode); + if (!stream) { + libssh2_sftp_close(handle); +- //TODO Sean-Der +- //zend_list_delete(sftp_rsrcid); ++ zend_list_delete(sftp_rsrc); + efree(data); + } + php_url_free(resource); +@@ -378,10 +371,10 @@ static int php_ssh2_sftp_urlstat(php_stream_wrapper *wrapper, const char *url, i + LIBSSH2_SFTP_ATTRIBUTES attrs; + LIBSSH2_SESSION *session = NULL; + LIBSSH2_SFTP *sftp = NULL; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + +- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp || !resource->path) { + return -1; + } +@@ -408,11 +401,11 @@ static int php_ssh2_sftp_unlink(php_stream_wrapper *wrapper, const char *url, in + { + LIBSSH2_SESSION *session = NULL; + LIBSSH2_SFTP *sftp = NULL; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + int result; + +- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp || !resource->path) { + if (resource) { + php_url_free(resource); +@@ -436,7 +429,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro + { + LIBSSH2_SESSION *session = NULL; + LIBSSH2_SFTP *sftp = NULL; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource, *resource_to; + int result; + +@@ -453,7 +446,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro + return 0; + } + +- resource = php_ssh2_fopen_wraper_parse_path(url_from, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(url_from, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp || !resource->path) { + if (resource) { + php_url_free(resource); +@@ -479,11 +472,11 @@ static int php_ssh2_sftp_mkdir(php_stream_wrapper *wrapper, const char *url, int + { + LIBSSH2_SESSION *session = NULL; + LIBSSH2_SFTP *sftp = NULL; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + int result; + +- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp || !resource->path) { + if (resource) { + php_url_free(resource); +@@ -515,11 +508,11 @@ static int php_ssh2_sftp_rmdir(php_stream_wrapper *wrapper, const char *url, int + { + LIBSSH2_SESSION *session = NULL; + LIBSSH2_SFTP *sftp = NULL; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + int result; + +- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp || !resource->path) { + if (resource) { + php_url_free(resource); +@@ -591,7 +584,7 @@ PHP_FUNCTION(ssh2_sftp) + data = emalloc(sizeof(php_ssh2_sftp_data)); + data->session = session; + data->sftp = sftp; +- data->session_rsrcid = Z_RES_P(zsession)->handle; ++ data->session_rsrc = Z_RES_P(zsession); + Z_ADDREF_P(zsession); + + RETURN_RES(zend_register_resource(data, le_ssh2_sftp)); diff --git a/package/php-yaml/php-yaml.hash b/package/php-yaml/php-yaml.hash index 21b507e188..c29c3e66ad 100644 --- a/package/php-yaml/php-yaml.hash +++ b/package/php-yaml/php-yaml.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c3afb0dad47b6c3a5b7b449f57a4938df27bf974efbe188d85c4fb998eff0039 yaml-2.0.2.tgz +sha256 9786b0386e648f12cc18a038358bd57bee4906e350a2e9ab776d6a5f18fc6680 yaml-2.0.4.tgz +sha256 68d9700294396c72089bfc7bf38a5b3654a53ae415f3bd37768848c14e86f338 LICENSE diff --git a/package/php-yaml/php-yaml.mk b/package/php-yaml/php-yaml.mk index 086d575e97..e23d897978 100644 --- a/package/php-yaml/php-yaml.mk +++ b/package/php-yaml/php-yaml.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_YAML_VERSION = 2.0.2 +PHP_YAML_VERSION = 2.0.4 PHP_YAML_SOURCE = yaml-$(PHP_YAML_VERSION).tgz PHP_YAML_SITE = https://pecl.php.net/get PHP_YAML_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/package/php-zmq/0001-PHP-7.3-compatibility-and-bugfixes.patch b/package/php-zmq/0001-PHP-7.3-compatibility-and-bugfixes.patch new file mode 100644 index 0000000000..83cdb04530 --- /dev/null +++ b/package/php-zmq/0001-PHP-7.3-compatibility-and-bugfixes.patch @@ -0,0 +1,271 @@ +From 6ea688eff5157785267d2b671cf62d296288847f Mon Sep 17 00:00:00 2001 +From: Alex/AT +Date: Mon, 10 Dec 2018 06:02:27 +0300 +Subject: [PATCH] PHP 7.3 compatibility and bugfixes + +- Define new GC_ADDREF/DELREF/SET_REFCOUNT macros for older PHP versions and use them instead of direct GC reference counter access + +- Fixup all necessary 'long' type parameters to 'zend_long', PHP 7.3 makes it mandatory, also fixup some direct function implementations to accept the same + +- In php_zmq_recv(), zend_string_init() was wrongly called with third parameter as '1', marking new string with IS_STR_PERSISTENT, this caused heap corruption and/or segfaults with PHP 7.3 and could possibly cause other sorts of bugs under any 7.x version + With ZVAL_STRINGL macro, this last '1' parameter meant to copy the string and was seemingly erroneously moved to zend_string_init(). zend_string_init() copies string by default, and last parameter has totally different meaning here + +- In poll(), flag ZVAL separation on passed arrays (PHP 7.3 makes it mandatory) + +- Test 19 (exception on connect callback with forced reference parameter): skip on PHP 7.1 and higher, PHP >= 7.1 started to fallback to passing argument by value instead of failing + +- Test 21 (warning generation from callback): it is ok, but PHP 7.3 uses 'int' instead of 'integer' for constants, so allow any word in place of the word 'integer' + +[Frank: backport from upstream PR https://github.com/mkoppanen/php-zmq/pull/195] +Signed-off-by: Frank Hunleth +--- + php_zmq.h | 6 ++++ + tests/019-callbackinvalidsignature.phpt | 3 +- + tests/021-callbackwarning.phpt | 2 +- + zmq.c | 40 ++++++++++++------------- + zmq_sockopt.c | 4 +-- + 5 files changed, 30 insertions(+), 25 deletions(-) + +diff --git a/php_zmq.h b/php_zmq.h +index ef50bfb..3833967 100644 +--- a/php_zmq.h ++++ b/php_zmq.h +@@ -44,6 +44,12 @@ + + #include "php.h" + ++#if PHP_VERSION_ID < 70300 ++#define GC_ADDREF(p) ++GC_REFCOUNT(p) ++#define GC_DELREF(p) --GC_REFCOUNT(p) ++#define GC_SET_REFCOUNT(p, rc) GC_REFCOUNT(p) = rc ++#endif ++ + extern zend_module_entry zmq_module_entry; + #define phpext_zmq_ptr &zmq_module_entry + +diff --git a/tests/019-callbackinvalidsignature.phpt b/tests/019-callbackinvalidsignature.phpt +index 753de31..b5bb20c 100644 +--- a/tests/019-callbackinvalidsignature.phpt ++++ b/tests/019-callbackinvalidsignature.phpt +@@ -1,7 +1,8 @@ + --TEST-- + Test callback edge-cases + --SKIPIF-- +- ++= 70100) die("skip PHP 7.1 and higher fallback to passing argument by value even when forced to reference"); ?> + --FILE-- + val, plist_key->len, &le, sizeof(le)) == NULL) { +@@ -369,7 +369,7 @@ PHP_METHOD(zmq, curvekeypair) + PHP_METHOD(zmqcontext, __construct) + { + php_zmq_context_object *intern; +- long io_threads = 1; ++ zend_long io_threads = 1; + zend_bool is_persistent = 1; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|lb", &io_threads, &is_persistent) == FAILURE) { +@@ -495,7 +495,7 @@ PHP_METHOD(zmqcontext, getOpt) + Create a new zmq socket + */ + static +-php_zmq_socket *php_zmq_socket_new(php_zmq_context *context, int type, zend_bool is_persistent) ++php_zmq_socket *php_zmq_socket_new(php_zmq_context *context, zend_long type, zend_bool is_persistent) + { + php_zmq_socket *zmq_sock; + +@@ -503,7 +503,7 @@ php_zmq_socket *php_zmq_socket_new(php_zmq_context *context, int type, zend_bool + zmq_sock->z_socket = zmq_socket(context->z_ctx, type); + zmq_sock->pid = getpid(); + zmq_sock->ctx = context; +- zmq_sock->socket_type = type; ++ zmq_sock->socket_type = type; + + if (!zmq_sock->z_socket) { + pefree(zmq_sock, is_persistent); +@@ -535,7 +535,7 @@ void php_zmq_socket_store(php_zmq_socket *zmq_sock_p, zend_long type, zend_strin + le.type = php_zmq_socket_list_entry(); + le.ptr = zmq_sock_p; + +- GC_REFCOUNT(&le) = 1; ++ GC_SET_REFCOUNT(&le, 1); + + plist_key = php_zmq_socket_plist_key(type, persistent_id, use_shared_ctx); + +@@ -796,7 +796,7 @@ PHP_METHOD(zmqsocket, __construct) + + /* {{{ static zend_bool php_zmq_send(php_zmq_socket_object *intern, char *message_param, long flags) + */ +-static zend_bool php_zmq_send(php_zmq_socket_object *intern, zend_string *message_param, long flags) ++static zend_bool php_zmq_send(php_zmq_socket_object *intern, zend_string *message_param, zend_long flags) + { + int rc, errno_; + zmq_msg_t message; +@@ -828,7 +828,7 @@ static void php_zmq_sendmsg_impl(INTERNAL_FUNCTION_PARAMETERS) + { + php_zmq_socket_object *intern; + zend_string *message_param; +- long flags = 0; ++ zend_long flags = 0; + zend_bool ret; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "S|l", &message_param, &flags) == FAILURE) { +@@ -890,7 +890,7 @@ PHP_METHOD(zmqsocket, sendmulti) + zval *messages; + php_zmq_socket_object *intern; + int to_send, ret = 0; +- long flags = 0; ++ zend_long flags = 0; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a|l", &messages, &flags) == FAILURE) { + return; +@@ -910,7 +910,7 @@ PHP_METHOD(zmqsocket, sendmulti) + /* {{{ static zend_bool php_zmq_recv(php_zmq_socket_object *intern, long flags, zval *return_value) + */ + static +-zend_string *php_zmq_recv(php_zmq_socket_object *intern, long flags) ++zend_string *php_zmq_recv(php_zmq_socket_object *intern, zend_long flags) + { + int rc, errno_; + zmq_msg_t message; +@@ -933,7 +933,7 @@ zend_string *php_zmq_recv(php_zmq_socket_object *intern, long flags) + return NULL; + } + +- str = zend_string_init(zmq_msg_data(&message), zmq_msg_size(&message), 1); ++ str = zend_string_init(zmq_msg_data(&message), zmq_msg_size(&message), 0); + zmq_msg_close(&message); + return str; + } +@@ -943,7 +943,7 @@ static void php_zmq_recvmsg_impl(INTERNAL_FUNCTION_PARAMETERS) + { + zend_string *str = NULL; + php_zmq_socket_object *intern; +- long flags = 0; ++ zend_long flags = 0; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &flags) == FAILURE) { + return; +@@ -974,7 +974,7 @@ PHP_METHOD(zmqsocket, recvmulti) + { + php_zmq_socket_object *intern; + size_t value_len; +- long flags = 0; ++ zend_long flags = 0; + #if ZMQ_VERSION_MAJOR < 3 + int64_t value; + #else +@@ -1303,7 +1303,7 @@ PHP_METHOD(zmqpoll, add) + { + php_zmq_poll_object *intern; + zval *object; +- long events; ++ zend_long events; + int error; + zend_string *key; + +@@ -1423,10 +1423,10 @@ PHP_METHOD(zmqpoll, poll) + php_zmq_poll_object *intern; + zval *r_array, *w_array; + +- long timeout = -1; ++ zend_long timeout = -1; + int rc; + +- if (zend_parse_parameters(ZEND_NUM_ARGS(), "a!a!|l", &r_array, &w_array, &timeout) == FAILURE) { ++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "a!/a!/|l", &r_array, &w_array, &timeout) == FAILURE) { + return; + } + +@@ -1592,7 +1592,7 @@ void s_clear_device_callback (php_zmq_device_cb_t *cb) + } + + static +-void s_init_device_callback (php_zmq_device_cb_t *cb, zend_fcall_info *fci, zend_fcall_info_cache *fci_cache, long timeout, zval *user_data) ++void s_init_device_callback (php_zmq_device_cb_t *cb, zend_fcall_info *fci, zend_fcall_info_cache *fci_cache, zend_long timeout, zval *user_data) + { + memcpy (&cb->fci, fci, sizeof (zend_fcall_info)); + memcpy (&cb->fci_cache, fci_cache, sizeof (zend_fcall_info_cache)); +@@ -1615,7 +1615,7 @@ void s_init_device_callback (php_zmq_device_cb_t *cb, zend_fcall_info *fci, zend + PHP_METHOD(zmqdevice, setidletimeout) + { + php_zmq_device_object *intern; +- long timeout; ++ zend_long timeout; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &timeout) == FAILURE) { + return; +@@ -1644,7 +1644,7 @@ PHP_METHOD(zmqdevice, getidletimeout) + PHP_METHOD(zmqdevice, settimertimeout) + { + php_zmq_device_object *intern; +- long timeout; ++ zend_long timeout; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &timeout) == FAILURE) { + return; +@@ -1676,7 +1676,7 @@ PHP_METHOD(zmqdevice, setidlecallback) + zval *user_data = NULL; + zend_fcall_info fci; + zend_fcall_info_cache fci_cache; +- long timeout = 0; ++ zend_long timeout = 0; + + if (ZEND_NUM_ARGS() == 2) { + php_error_docref(NULL, E_DEPRECATED, "The signature for setIdleCallback has changed, please update your code"); +@@ -1718,7 +1718,7 @@ PHP_METHOD(zmqdevice, settimercallback) + zval *user_data = NULL; + zend_fcall_info fci; + zend_fcall_info_cache fci_cache; +- long timeout; ++ zend_long timeout; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "fl|z!", &fci, &fci_cache, &timeout, &user_data) == FAILURE) { + return; +diff --git a/zmq_sockopt.c b/zmq_sockopt.c +index 1357032..3a00421 100644 +--- a/zmq_sockopt.c ++++ b/zmq_sockopt.c +@@ -1,5 +1,3 @@ +- +- + /* + +-----------------------------------------------------------------------------------+ + | ZMQ extension for PHP | +@@ -2033,7 +2031,7 @@ PHP_METHOD(zmqsocket, getsockopt) + PHP_METHOD(zmqsocket, setsockopt) + { + php_zmq_socket_object *intern; +- long key; ++ zend_long key; + zval *zv; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz/", &key, &zv) == FAILURE) { +-- +2.17.1 + diff --git a/package/php/0001-acinclude.m4-don-t-unset-variables.patch b/package/php/0001-acinclude.m4-don-t-unset-variables.patch index b23911322f..b25f661753 100644 --- a/package/php/0001-acinclude.m4-don-t-unset-variables.patch +++ b/package/php/0001-acinclude.m4-don-t-unset-variables.patch @@ -8,7 +8,7 @@ Terminate them with extreme prejudice. Signed-off-by: Gustavo Zacarias Signed-off-by: Adam Duskett -[aduskett@gmail.com: Update for 7.2.2] +[aduskett@gmail.com: Update for 7.3.0] --- acinclude.m4 | 4 ---- 1 file changed, 4 deletions(-) @@ -17,7 +17,7 @@ diff --git a/acinclude.m4 b/acinclude.m4 index 28506b6..af4aa06 100644 --- a/acinclude.m4 +++ b/acinclude.m4 -@@ -1890,8 +1890,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])) +@@ -1921,8 +1921,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])) dnl AC_DEFUN([PHP_CHECK_FUNC_LIB],[ ifelse($2,,:,[ @@ -26,7 +26,7 @@ index 28506b6..af4aa06 100644 unset found AC_CHECK_LIB($2, $1, [found=yes], [ AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) -@@ -1923,8 +1921,6 @@ dnl in the default libraries and as a fall back in the specified library. +@@ -1954,8 +1952,6 @@ dnl in the default libraries and as a fall back in the specified library. dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. dnl AC_DEFUN([PHP_CHECK_FUNC],[ diff --git a/package/php/0002-iconv-tweak-iconv-detection.patch b/package/php/0002-iconv-tweak-iconv-detection.patch index e921030d29..e4f2abbc0c 100644 --- a/package/php/0002-iconv-tweak-iconv-detection.patch +++ b/package/php/0002-iconv-tweak-iconv-detection.patch @@ -14,7 +14,7 @@ Signed-off-by: Gustavo Zacarias [Gustavo: convert to nice m4 instead of patching configure] [Gustavo: update for 5.6.10] Signed-off-by: Adam Duskett -[aduskett@gmail.com: Update for 7.2.2] +[aduskett@gmail.com: Update for 7.3.0] --- acinclude.m4 | 2 +- ext/iconv/config.m4 | 22 ---------------------- @@ -24,7 +24,7 @@ diff --git a/acinclude.m4 b/acinclude.m4 index af4aa06..1bd2652 100644 --- a/acinclude.m4 +++ b/acinclude.m4 -@@ -2463,7 +2463,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ +@@ -2444,7 +2444,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ dnl if test "$found_iconv" = "no"; then @@ -34,10 +34,10 @@ index af4aa06..1bd2652 100644 AC_DEFINE(HAVE_GICONV_H, 1, [ ]) ICONV_DIR=$i diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4 -index 6a05697..694fcb8 100644 +index 72334f79..29c358ad 100644 --- a/ext/iconv/config.m4 +++ b/ext/iconv/config.m4 -@@ -14,28 +14,6 @@ if test "$PHP_ICONV" != "no"; then +@@ -12,28 +12,6 @@ if test "$PHP_ICONV" != "no"; then ]) if test "$iconv_avail" != "no"; then @@ -65,7 +65,7 @@ index 6a05697..694fcb8 100644 - fi AC_MSG_CHECKING([if iconv is glibc's]) - AC_TRY_LINK([#include ],[gnu_get_libc_version();], + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[gnu_get_libc_version();]])],[ -- 2.7.4 diff --git a/package/php/0003-configure-disable-the-phar-tool.patch b/package/php/0003-configure-disable-the-phar-tool.patch index e41584e8e5..396a806496 100644 --- a/package/php/0003-configure-disable-the-phar-tool.patch +++ b/package/php/0003-configure-disable-the-phar-tool.patch @@ -11,7 +11,7 @@ on the target. Signed-off-by: Gustavo Zacarias [Gustavo: update for autoreconf/configure.in] Signed-off-by: Adam Duskett -[Aduskett: update for 7.2.2] +[Aduskett: update for 7.3.0] --- configure.ac | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) @@ -20,7 +20,7 @@ diff --git a/configure.ac b/configure.ac index d20af76..7f02f1a 100644 --- a/configure.ac +++ b/configure.ac -@@ -1420,13 +1420,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" +@@ -1472,13 +1472,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag" CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)" diff --git a/package/php/0006-Call-apxs-with-correct-prefix.patch b/package/php/0004-Call-apxs-with-correct-prefix.patch similarity index 93% rename from package/php/0006-Call-apxs-with-correct-prefix.patch rename to package/php/0004-Call-apxs-with-correct-prefix.patch index c81711d2a0..60589b54fe 100644 --- a/package/php/0006-Call-apxs-with-correct-prefix.patch +++ b/package/php/0004-Call-apxs-with-correct-prefix.patch @@ -16,7 +16,7 @@ To fix this, add -S PREFIX='$(INSTALL_ROOT)/usr' to apxs call in configure Signed-off-by: Fabrice Fontaine Signed-off-by: Adam Duskett -[aduskett@gmail.com: Update for 7.2.2] +[aduskett@gmail.com: Update for 7.3.0] --- sapi/apache2handler/config.m4 | 3 +++ 1 file changed, 3 insertions(+) @@ -25,7 +25,7 @@ diff --git a/sapi/apache2handler/config.m4 b/sapi/apache2handler/config.m4 index 2e64b21..f5bf002 100644 --- a/sapi/apache2handler/config.m4 +++ b/sapi/apache2handler/config.m4 -@@ -66,10 +66,12 @@ if test "$PHP_APXS2" != "no"; then +@@ -64,10 +64,12 @@ if test "$PHP_APXS2" != "no"; then AC_MSG_ERROR([Please note that Apache version >= 2.0.44 is required]) fi @@ -38,7 +38,7 @@ index 2e64b21..f5bf002 100644 -i -n php7" else APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` -@@ -77,6 +79,7 @@ if test "$PHP_APXS2" != "no"; then +@@ -75,6 +77,7 @@ if test "$PHP_APXS2" != "no"; then \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ -S SYSCONFDIR='$APXS_SYSCONFDIR' \ diff --git a/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch b/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch deleted file mode 100644 index 9b530361c9..0000000000 --- a/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch +++ /dev/null @@ -1,58 +0,0 @@ -From bedbd41ef0a5ce80b83a6f6eaebd7c90f0bc5615 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -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 ---- - ext/opcache/config.m4 | 34 ++-------------------------------- - 1 file changed, 2 insertions(+), 32 deletions(-) - -diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 -index fbb9b21..ffddc8e 100644 ---- a/ext/opcache/config.m4 -+++ b/ext/opcache/config.m4 -@@ -343,38 +343,8 @@ int main() { - msg=yes,msg=no,msg=no) - AC_MSG_RESULT([$msg]) - --flock_type=unknown --AC_MSG_CHECKING("whether flock struct is linux ordered") --AC_TRY_RUN([ -- #include -- struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { -- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) { -- return 0; -- } -- return 1; -- } --], [ -- flock_type=linux -- AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) -- AC_MSG_RESULT("yes") --], AC_MSG_RESULT("no") ) -- --AC_MSG_CHECKING("whether flock struct is BSD ordered") --AC_TRY_RUN([ -- #include -- struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { -- if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) { -- return 0; -- } -- return 1; -- } --], [ -- flock_type=bsd -- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) -- AC_MSG_RESULT("yes") --], AC_MSG_RESULT("no") ) -+flock_type=linux -+AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) - - if test "$flock_type" = "unknown"; then - AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no]) --- -2.7.4 - diff --git a/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch b/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch deleted file mode 100644 index 257ac70f4f..0000000000 --- a/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch +++ /dev/null @@ -1,37 +0,0 @@ -From a874ba472151c6811018de322a5787d0ca6148c9 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 9 Aug 2016 11:52:51 +0200 -Subject: [PATCH] ext/fileinfo/config.m4: allow cache answer for strcasestr - discovery - -Signed-off-by: Gustavo Zacarias -[aduskett@gmail.com: Update for 7.2.2] -Signed-off-by: Adam Duskett ---- - ext/fileinfo/config.m4 | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 -index 7e98d62..8561962 100644 ---- a/ext/fileinfo/config.m4 -+++ b/ext/fileinfo/config.m4 -@@ -15,6 +15,7 @@ libmagic/readcdf.c libmagic/softmagic.c libmagic/der.c" - - AC_MSG_CHECKING([for strcasestr]) -+ AC_CACHE_VAL(ac_cv_func_strcasestr, - AC_TRY_RUN([ - #include - #include - #include -@@ -46,7 +47,7 @@ int main(void) - AC_MSG_RESULT(no) - AC_MSG_NOTICE(using libmagic strcasestr implementation) - libmagic_sources="$libmagic_sources libmagic/strcasestr.c" -- ]) -+ ])) - - PHP_NEW_EXTENSION(fileinfo, fileinfo.c $libmagic_sources, $ext_shared,,-I@ext_srcdir@/libmagic) - PHP_ADD_BUILD_DIR($ext_builddir/libmagic) --- -2.7.4 - diff --git a/package/php/0007-ext-xml-expat_compat.h-add-missing-php.h-include.patch b/package/php/0007-ext-xml-expat_compat.h-add-missing-php.h-include.patch deleted file mode 100644 index daf004dcf7..0000000000 --- a/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/package/php/Config.ext b/package/php/Config.ext index 51dcbbf4a4..d71cfb9986 100644 --- a/package/php/Config.ext +++ b/package/php/Config.ext @@ -45,9 +45,14 @@ config BR2_PACKAGE_PHP_EXT_PHAR help PHP Archive support +comment "zip needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_PHP_EXT_ZIP bool "zip" + depends on !BR2_STATIC_LIBS # libzip select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_LIBZIP help Zip read/write support @@ -117,6 +122,19 @@ config BR2_PACKAGE_PHP_EXT_MYSQLI help MySQL Improved extension support +config BR2_PACKAGE_PHP_EXT_PGSQL + bool "PostgreSQL" + depends on BR2_USE_MMU # postgresql + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR # postgresql + select BR2_PACKAGE_POSTGRESQL + help + PostgreSQL support + +comment "PostgreSQL extension needs a toolchain w/ dynamic library, wchar" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR + config BR2_PACKAGE_PHP_EXT_SQLITE bool "SQLite3" select BR2_PACKAGE_SQLITE @@ -140,13 +158,14 @@ config BR2_PACKAGE_PHP_EXT_PDO_POSTGRESQL bool "PostgreSQL" depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR # postgresql select BR2_PACKAGE_POSTGRESQL help PDO driver for PostgreSQL -comment "PostgreSQL drivers need a toolchain w/ dynamic library" +comment "PostgreSQL drivers need a toolchain w/ wchar, dynamic library" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR config BR2_PACKAGE_PHP_EXT_PDO_SQLITE bool "SQLite3" @@ -156,10 +175,14 @@ config BR2_PACKAGE_PHP_EXT_PDO_SQLITE config BR2_PACKAGE_PHP_EXT_PDO_UNIXODBC bool "unixODBC" + depends on !BR2_STATIC_LIBS # unixodbc select BR2_PACKAGE_UNIXODBC help unixODBC driver for PDO +comment "unixodbc driver needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + endif comment "Human language and character encoding support" @@ -187,14 +210,15 @@ config BR2_PACKAGE_PHP_EXT_INTL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu depends on !BR2_BINFMT_FLAT # icu depends on BR2_TOOLCHAIN_HAS_THREADS # icu + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_ICU help Internationalization support -comment "intl support needs a toolchain w/ C++, wchar, threads, gcc >= 4.8, host gcc >= 4.8" +comment "intl support needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.8, host gcc >= 4.8" depends on !BR2_BINFMT_FLAT depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ !BR2_HOST_GCC_AT_LEAST_4_8 diff --git a/package/php/php.hash b/package/php/php.hash index 2774c44d6d..fb25521955 100644 --- a/package/php/php.hash +++ b/package/php/php.hash @@ -1,5 +1,5 @@ # From http://php.net/downloads.php -sha256 01c2154a3a8e3c0818acbdbc1a956832c828a0380ce6d1d14fea495ea21804f0 php-7.2.10.tar.xz +sha256 6fe79fa1f8655f98ef6708cde8751299796d6c1e225081011f4104625b923b83 php-7.3.4.tar.xz # License file -sha256 00e567a8d50359d93ee1f9afdd9511277660c1e70a0cbf3229f84403aa9aebb1 LICENSE +sha256 f689b8fa63bea7950ce6a21bf52ed88ea0d77673ee76e6de12f51191174d91b8 LICENSE diff --git a/package/php/php.mk b/package/php/php.mk index f92e9b6565..541c76755f 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 7.2.10 +PHP_VERSION = 7.3.4 PHP_SITE = http://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES @@ -22,7 +22,6 @@ PHP_CONF_OPTS = \ --disable-phpdbg \ --disable-rpath PHP_CONF_ENV = \ - ac_cv_func_strcasestr=yes \ EXTRA_LIBS="$(PHP_EXTRA_LIBS)" ifeq ($(BR2_STATIC_LIBS),y) @@ -153,6 +152,10 @@ PHP_CONF_OPTS += \ PHP_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) endif +ifeq ($(BR2_PACKAGE_PHP_EXT_ZIP),y) +PHP_DEPENDENCIES += libzip +endif + ifneq ($(BR2_PACKAGE_PHP_EXT_ZLIB)$(BR2_PACKAGE_PHP_EXT_ZIP),) PHP_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr PHP_DEPENDENCIES += zlib @@ -196,6 +199,12 @@ endif ifeq ($(BR2_PACKAGE_PHP_EXT_MYSQLI),y) PHP_CONF_OPTS += --with-mysqli endif + +ifeq ($(BR2_PACKAGE_PHP_EXT_PGSQL),y) +PHP_CONF_OPTS += --with-pgsql=$(STAGING_DIR)/usr +PHP_DEPENDENCIES += postgresql +endif + ifeq ($(BR2_PACKAGE_PHP_EXT_SQLITE),y) PHP_CONF_OPTS += --with-sqlite3=$(STAGING_DIR)/usr PHP_DEPENDENCIES += sqlite @@ -234,9 +243,9 @@ endef PHP_POST_CONFIGURE_HOOKS += PHP_DISABLE_VALGRIND ### Use external PCRE if it's available -ifeq ($(BR2_PACKAGE_PCRE),y) +ifeq ($(BR2_PACKAGE_PCRE2),y) PHP_CONF_OPTS += --with-pcre-regex=$(STAGING_DIR)/usr -PHP_DEPENDENCIES += pcre +PHP_DEPENDENCIES += pcre2 else # The bundled pcre library is not configurable through ./configure options, # and by default is configured to be thread-safe, so it wants pthreads. So @@ -253,7 +262,7 @@ endif endif ifeq ($(BR2_PACKAGE_PHP_EXT_CURL),y) -PHP_CONF_OPTS += --with-curl=$(STAGING_DIR)/usr +PHP_CONF_OPTS += --with-curl PHP_DEPENDENCIES += libcurl endif diff --git a/package/pigpio/Config.in b/package/pigpio/Config.in new file mode 100644 index 0000000000..2180ab0de6 --- /dev/null +++ b/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/package/pigpio/pigpio.hash b/package/pigpio/pigpio.hash new file mode 100644 index 0000000000..3df55fafff --- /dev/null +++ b/package/pigpio/pigpio.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 ec980f5e672e8e9395b801fecec3fbbbc5c04182b16ee72eb9ca25a453e38062 pigpio-V68.tar.gz +sha256 6a90b88421a0d9b090e121daa11b3c6d55eed5eeb3281a2fcc454d6a28b5547c UNLICENCE diff --git a/package/pigpio/pigpio.mk b/package/pigpio/pigpio.mk new file mode 100644 index 0000000000..3071036db4 --- /dev/null +++ b/package/pigpio/pigpio.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# pigpio +# +################################################################################ + +PIGPIO_VERSION = V68 +PIGPIO_SITE = $(call github,joan2937,pigpio,$(PIGPIO_VERSION)) +PIGPIO_LICENSE = Unlicense +PIGPIO_LICENSE_FILES = UNLICENCE + +define PIGPIO_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define PIGPIO_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/pig2vcd $(TARGET_DIR)/usr/bin/pig2vcd + $(INSTALL) -D -m 0755 $(@D)/pigpiod $(TARGET_DIR)/usr/bin/pigpiod + $(INSTALL) -D -m 0755 $(@D)/pigs $(TARGET_DIR)/usr/bin/pigs + $(INSTALL) -D -m 0755 $(@D)/libpigpio.so $(TARGET_DIR)/usr/lib/libpigpio.so + $(INSTALL) -D -m 0755 $(@D)/libpigpiod_if.so $(TARGET_DIR)/usr/lib/libpigpiod_if.so + $(INSTALL) -D -m 0755 $(@D)/libpigpiod_if2.so $(TARGET_DIR)/usr/lib/libpigpiod_if2.so +endef + +$(eval $(generic-package)) diff --git a/package/pinentry/Config.in b/package/pinentry/Config.in index 5f2cb58fbb..22bc2bb43d 100644 --- a/package/pinentry/Config.in +++ b/package/pinentry/Config.in @@ -7,7 +7,6 @@ menuconfig BR2_PACKAGE_PINENTRY # At least one backend is needed to avoid build breakage select BR2_PACKAGE_PINENTRY_NCURSES if \ !BR2_PACKAGE_PINENTRY_GTK2 && \ - !BR2_PACKAGE_PINENTRY_QT4 && \ !BR2_PACKAGE_PINENTRY_QT5 help A collection of simple PIN or pass-phrase entry dialogs @@ -42,28 +41,12 @@ comment "pinentry-gtk2 needs X and a toolchain w/ wchar, threads, C++" depends on !BR2_PACKAGE_XORG7 || !BR2_USE_WCHAR || \ !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS -config BR2_PACKAGE_PINENTRY_QT4 - bool "pinentry-qt4" - depends on BR2_USE_MMU # fork - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_QT - select BR2_PACKAGE_QT_GUI_MODULE - help - The pinentry-qt4 tool - -comment "pinentry-qt4 needs a toolchain w/ C++, threads" - depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - config BR2_PACKAGE_PINENTRY_QT5 bool "pinentry-qt5" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS - depends on !BR2_PACKAGE_PINENTRY_QT4 - depends on !BR2_PACKAGE_QT select BR2_PACKAGE_QT5 select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_WIDGETS @@ -71,7 +54,6 @@ config BR2_PACKAGE_PINENTRY_QT5 The pinentry-qt5 tool comment "pinentry-qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library" - depends on !BR2_PACKAGE_PINENTRY_QT4 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/package/pinentry/pinentry.mk b/package/pinentry/pinentry.mk index d0179728bd..ce82f1090a 100644 --- a/package/pinentry/pinentry.mk +++ b/package/pinentry/pinentry.mk @@ -52,15 +52,10 @@ else PINENTRY_CONF_OPTS += --disable-pinentry-gtk2 endif -# pinentry-qt4/5 backend -ifeq ($(BR2_PACKAGE_PINENTRY_QT4)$(BR2_PACKAGE_PINENTRY_QT5),y) -ifeq ($(BR2_PACKAGE_PINENTRY_QT4),y) -# -pthread needs to be passed for certain toolchains -# http://autobuild.buildroot.net/results/6be/6be109ccedec603a67cebdb31b55865dcce0e128/ -PINENTRY_CONF_OPTS += LIBS=-pthread MOC=$(HOST_DIR)/bin/moc -endif +# pinentry-qt5 backend +ifeq ($(BR2_PACKAGE_PINENTRY_QT5),y) PINENTRY_CONF_OPTS += --enable-pinentry-qt -PINENTRY_DEPENDENCIES += $(if $(BR2_PACKAGE_PINENTRY_QT4),qt,qt5base) +PINENTRY_DEPENDENCIES += qt5base else PINENTRY_CONF_OPTS += --disable-pinentry-qt endif diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk index 51a1929ebb..b9ce8ff622 100644 --- a/package/pkg-cmake.mk +++ b/package/pkg-cmake.mk @@ -60,8 +60,6 @@ $(2)_INSTALL_OPTS ?= install $(2)_INSTALL_STAGING_OPTS ?= DESTDIR=$$(STAGING_DIR) install/fast $(2)_INSTALL_TARGET_OPTS ?= DESTDIR=$$(TARGET_DIR) install/fast -$(2)_SRCDIR = $$($(2)_DIR)/$$($(2)_SUBDIR) - $(3)_SUPPORTS_IN_SOURCE_BUILD ?= YES diff --git a/package/pkg-download.mk b/package/pkg-download.mk index bf93b9a08e..7cd87c38ff 100644 --- a/package/pkg-download.mk +++ b/package/pkg-download.mk @@ -15,7 +15,6 @@ export BZR := $(call qstrip,$(BR2_BZR)) export GIT := $(call qstrip,$(BR2_GIT)) export HG := $(call qstrip,$(BR2_HG)) export SCP := $(call qstrip,$(BR2_SCP)) -SSH := $(call qstrip,$(BR2_SSH)) export LOCALFILES := $(call qstrip,$(BR2_LOCALFILES)) DL_WRAPPER = support/download/dl-wrapper @@ -32,8 +31,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 @@ -97,7 +96,7 @@ define DOWNLOAD -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/package/pkg-generic.mk b/package/pkg-generic.mk index 91b61c6de0..cbe885aaaa 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -50,7 +50,7 @@ endef # Time steps define step_time printf "%s:%-5.5s:%-20.20s: %s\n" \ - "$$(date +%s)" "$(1)" "$(2)" "$(3)" \ + "$$(date +%s.%N)" "$(1)" "$(2)" "$(3)" \ >>"$(BUILD_DIR)/build-time.log" endef GLOBAL_INSTRUMENTATION_HOOKS += step_time @@ -63,13 +63,21 @@ GLOBAL_INSTRUMENTATION_HOOKS += step_time # $(2): base directory to search in # $(3): suffix of file (optional) define step_pkg_size_inner + @touch $(BUILD_DIR)/.files-list$(3).stat @touch $(BUILD_DIR)/packages-file-list$(3).txt $(SED) '/^$(1),/d' $(BUILD_DIR)/packages-file-list$(3).txt cd $(2); \ - find . \( -type f -o -type l \) \ - -newer $($(PKG)_DIR)/.stamp_built \ - -exec printf '$(1),%s\n' {} + \ + LC_ALL=C find . \( -type f -o -type l \) -printf '%T@:%i:%#m:%y:%s,%p\n' \ + | LC_ALL=C sort > $(BUILD_DIR)/.files-list$(3).new + LC_ALL=C comm -13 \ + $(BUILD_DIR)/.files-list$(3).stat \ + $(BUILD_DIR)/.files-list$(3).new \ + > $($(PKG)_BUILDDIR)/.files-list$(3).txt + sed -r -e 's/^[^,]+/$(1)/' \ + $($(PKG)_BUILDDIR)/.files-list$(3).txt \ >> $(BUILD_DIR)/packages-file-list$(3).txt + mv $(BUILD_DIR)/.files-list$(3).new \ + $(BUILD_DIR)/.files-list$(3).stat endef define step_pkg_size @@ -173,6 +181,7 @@ $(BUILD_DIR)/%/.stamp_extracted: $(BUILD_DIR)/%/.stamp_rsynced: @$(call step_start,rsync) @$(call MESSAGE,"Syncing from source dir $(SRCDIR)") + @mkdir -p $(@D) $(foreach hook,$($(PKG)_PRE_RSYNC_HOOKS),$(call $(hook))$(sep)) @test -d $(SRCDIR) || (echo "ERROR: $(SRCDIR) does not exist" ; exit 1) rsync -au --chmod=u=rwX,go=rX $(RSYNC_VCS_EXCLUSIONS) $($(PKG)_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS) $(call qstrip,$(SRCDIR))/ $(@D) @@ -238,6 +247,7 @@ $(BUILD_DIR)/%/.stamp_built:: $(BUILD_DIR)/%/.stamp_host_installed: @$(call step_start,install-host) @$(call MESSAGE,"Installing to host directory") + @mkdir -p $(HOST_DIR) $(foreach hook,$($(PKG)_PRE_INSTALL_HOOKS),$(call $(hook))$(sep)) +$($(PKG)_INSTALL_CMDS) $(foreach hook,$($(PKG)_POST_INSTALL_HOOKS),$(call $(hook))$(sep)) @@ -267,22 +277,25 @@ $(BUILD_DIR)/%/.stamp_host_installed: $(BUILD_DIR)/%/.stamp_staging_installed: @$(call step_start,install-staging) @$(call MESSAGE,"Installing to staging directory") + @mkdir -p $(STAGING_DIR) $(foreach hook,$($(PKG)_PRE_INSTALL_STAGING_HOOKS),$(call $(hook))$(sep)) +$($(PKG)_INSTALL_STAGING_CMDS) $(foreach hook,$($(PKG)_POST_INSTALL_STAGING_HOOKS),$(call $(hook))$(sep)) $(Q)if test -n "$($(PKG)_CONFIG_SCRIPTS)" ; then \ $(call MESSAGE,"Fixing package configuration files") ;\ - $(SED) "s,$(BASE_DIR),@BASE_DIR@,g" \ - -e "s,$(STAGING_DIR),@STAGING_DIR@,g" \ + $(SED) "s,$(HOST_DIR),@HOST_DIR@,g" \ + -e "s,$(BASE_DIR),@BASE_DIR@,g" \ -e "s,^\(exec_\)\?prefix=.*,\1prefix=@STAGING_DIR@/usr,g" \ -e "s,-I/usr/,-I@STAGING_DIR@/usr/,g" \ -e "s,-L/usr/,-L@STAGING_DIR@/usr/,g" \ - -e "s,@STAGING_DIR@,$(STAGING_DIR),g" \ + -e 's,@STAGING_DIR@,$$(dirname $$(readlink -e $$0))/../..,g' \ + -e 's,@HOST_DIR@,$$(dirname $$(readlink -e $$0))/../../../..,g' \ -e "s,@BASE_DIR@,$(BASE_DIR),g" \ $(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\ fi @$(call MESSAGE,"Fixing libtool files") - $(Q)find $(STAGING_DIR)/usr/lib* -name "*.la" | xargs --no-run-if-empty \ + for la in $$(find $(STAGING_DIR)/usr/lib* -name "*.la"); do \ + cp -a "$${la}" "$${la}.fixed" && \ $(SED) "s:$(BASE_DIR):@BASE_DIR@:g" \ -e "s:$(STAGING_DIR):@STAGING_DIR@:g" \ $(if $(TOOLCHAIN_EXTERNAL_INSTALL_DIR),\ @@ -291,13 +304,21 @@ $(BUILD_DIR)/%/.stamp_staging_installed: $(if $(TOOLCHAIN_EXTERNAL_INSTALL_DIR),\ -e "s:@TOOLCHAIN_EXTERNAL_INSTALL_DIR@:$(TOOLCHAIN_EXTERNAL_INSTALL_DIR):g") \ -e "s:@STAGING_DIR@:$(STAGING_DIR):g" \ - -e "s:@BASE_DIR@:$(BASE_DIR):g" + -e "s:@BASE_DIR@:$(BASE_DIR):g" \ + "$${la}.fixed" && \ + if cmp -s "$${la}" "$${la}.fixed"; then \ + rm -f "$${la}.fixed"; \ + else \ + mv "$${la}.fixed" "$${la}"; \ + fi || exit 1; \ + done @$(call step_end,install-staging) $(Q)touch $@ # Install to images dir $(BUILD_DIR)/%/.stamp_images_installed: @$(call step_start,install-image) + @mkdir -p $(BINARIES_DIR) $(foreach hook,$($(PKG)_PRE_INSTALL_IMAGES_HOOKS),$(call $(hook))$(sep)) @$(call MESSAGE,"Installing to images directory") +$($(PKG)_INSTALL_IMAGES_CMDS) @@ -309,6 +330,7 @@ $(BUILD_DIR)/%/.stamp_images_installed: $(BUILD_DIR)/%/.stamp_target_installed: @$(call step_start,install-target) @$(call MESSAGE,"Installing to target") + @mkdir -p $(TARGET_DIR) $(foreach hook,$($(PKG)_PRE_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep)) +$($(PKG)_INSTALL_TARGET_CMDS) $(if $(BR2_INIT_SYSTEMD),\ @@ -434,6 +456,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 @@ -576,39 +604,62 @@ 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_GZIP_HOST_DEPENDENCY) \ + $(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)),) +ifneq ($$(filter .xz .lzma,$$(suffix $$($(2)_SOURCE))),) +$(2)_EXTRACT_DEPENDENCIES += $$(BR2_XZCAT_HOST_DEPENDENCY) +endif 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)),) +ifneq ($$(filter .lz,$$(suffix $$($(2)_SOURCE))),) +$(2)_EXTRACT_DEPENDENCIES += $$(BR2_LZIP_HOST_DEPENDENCY) +endif +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 \ + $$(if $$(filter undefined,$$(origin $(2)_FINAL_RECURSIVE_DEPENDENCIES__X)), \ + $$(eval $(2)_FINAL_RECURSIVE_DEPENDENCIES__X := \ + $$(foreach p, \ + $$($(2)_FINAL_ALL_DEPENDENCIES), \ + $$(p) \ + $$($$(call UPPERCASE,$$(p))_FINAL_RECURSIVE_DEPENDENCIES) \ + ) \ + ) \ + ) \ + $$($(2)_FINAL_RECURSIVE_DEPENDENCIES__X)) $(2)_INSTALL_STAGING ?= NO $(2)_INSTALL_IMAGES ?= NO @@ -715,7 +766,7 @@ $$($(2)_TARGET_BUILD): $$($(2)_TARGET_CONFIGURE) $(1)-configure: $$($(2)_TARGET_CONFIGURE) $$($(2)_TARGET_CONFIGURE): | $$($(2)_FINAL_DEPENDENCIES) -$$($(2)_TARGET_SOURCE) $$($(2)_TARGET_RSYNC): | dirs prepare +$$($(2)_TARGET_SOURCE) $$($(2)_TARGET_RSYNC): | prepare $$($(2)_TARGET_SOURCE) $$($(2)_TARGET_RSYNC): | dependencies ifeq ($$($(2)_OVERRIDE_SRCDIR),) @@ -739,6 +790,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 @@ -797,6 +849,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 @@ -906,7 +959,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) @@ -936,7 +989,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/package/pkg-golang.mk b/package/pkg-golang.mk index 6eacd14180..4f2c7e77e1 100644 --- a/package/pkg-golang.mk +++ b/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 diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk index d6c95b897e..60aae387ca 100644 --- a/package/pkg-kconfig.mk +++ b/package/pkg-kconfig.mk @@ -27,6 +27,9 @@ define kconfig-package-update-config $(Q)touch --reference $($(PKG)_DIR)/$($(PKG)_KCONFIG_DOTCONFIG) $($(PKG)_KCONFIG_FILE) endef +PKG_KCONFIG_COMMON_OPTS = \ + HOSTCC=$(HOSTCC_NOCCACHE) + ################################################################################ # inner-kconfig-package -- generates the make targets needed to support a # kconfig package @@ -79,7 +82,8 @@ $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_FRAGMENT_FILES): | $(1)-patch done $(2)_KCONFIG_MAKE = \ - $$($(2)_MAKE_ENV) $$(MAKE) -C $$($(2)_DIR) $$($(2)_KCONFIG_OPTS) + $$($(2)_MAKE_ENV) $$(MAKE) -C $$($(2)_DIR) \ + $$(PKG_KCONFIG_COMMON_OPTS) $$($(2)_KCONFIG_OPTS) # $(2)_KCONFIG_MAKE may already rely on shell expansion. As the $() syntax # of the shell conflicts with Make's own syntax, this means that backticks @@ -175,7 +179,9 @@ endif # nconfig, gconfig, xconfig). # So we simply remove our PATH and PKG_CONFIG_* variables. $(2)_CONFIGURATOR_MAKE_ENV = \ - $$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \ + $$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% \ + PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=% PKG_CONFIG_ALLOW_SYSTEM_LIBS=% \ + PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \ PKG_CONFIG_PATH="$(HOST_PKG_CONFIG_PATH)" # Configuration editors (menuconfig, ...) @@ -195,7 +201,7 @@ $(2)_CONFIGURATOR_MAKE_ENV = \ $$(addprefix $(1)-,$$($(2)_KCONFIG_EDITORS)): $(1)-%: $$($(2)_DIR)/.kconfig_editor_% $$($(2)_DIR)/.kconfig_editor_%: $$($(2)_DIR)/.stamp_kconfig_fixup_done $$($(2)_CONFIGURATOR_MAKE_ENV) $$(MAKE) -C $$($(2)_DIR) \ - $$($(2)_KCONFIG_OPTS) $$(*) + $$(PKG_KCONFIG_COMMON_OPTS) $$($(2)_KCONFIG_OPTS) $$(*) rm -f $$($(2)_DIR)/.stamp_{kconfig_fixup_done,configured,built} rm -f $$($(2)_DIR)/.stamp_{target,staging,images}_installed $$($(2)_FIXUP_DOT_CONFIG) @@ -224,7 +230,7 @@ $(1)-check-configuration-done: $(1)-savedefconfig: $(1)-check-configuration-done $$($(2)_MAKE_ENV) $$(MAKE) -C $$($(2)_DIR) \ - $$($(2)_KCONFIG_OPTS) savedefconfig + $$(PKG_KCONFIG_COMMON_OPTS) $$($(2)_KCONFIG_OPTS) savedefconfig # Target to copy back the configuration to the source configuration file # Even though we could use 'cp --preserve-timestamps' here, the separate diff --git a/package/pkg-luarocks.mk b/package/pkg-luarocks.mk index e2b48cfb4c..78d6c325f8 100644 --- a/package/pkg-luarocks.mk +++ b/package/pkg-luarocks.mk @@ -42,7 +42,8 @@ $(2)_SITE ?= $$(call qstrip,$$(BR2_LUAROCKS_MIRROR)) # Since we do not support host-luarocks-package, we know this is # a target package, and can just add the required dependencies -$(2)_DEPENDENCIES += host-luarocks luainterpreter +$(2)_DEPENDENCIES += luainterpreter +$(2)_EXTRACT_DEPENDENCIES += host-luarocks # # Extract step. Extract into a temporary dir and move the relevant part to the @@ -62,7 +63,7 @@ endif # ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS - cd $$($(2)_SRCDIR) && $$(LUAROCKS_RUN_ENV) flock $$(TARGET_DIR) \ + cd $$($(2)_SRCDIR) && $$(LUAROCKS_RUN_ENV) \ $$(LUAROCKS_RUN_CMD) make --keep $$($(2)_ROCKSPEC) $$($(2)_BUILD_OPTS) endef endif @@ -71,9 +72,11 @@ endif # make targets $(call inner-generic-package,$(1),$(2),$(3),$(4)) -# $(2)_DEPENDENCIES are handled for configure step (too late) -# but host-luarocks is required to do the extract -$$($(2)_TARGET_EXTRACT): | host-luarocks +# Upgrade helper +$(1)-upgrade: host-luarocks + $$(LUAROCKS_RUN_CMD) buildroot $$($(2)_NAME_UPSTREAM) $(1) + +.PHONY: $(1)-upgrade endef diff --git a/package/pkg-meson.mk b/package/pkg-meson.mk index 507e686068..886fcf7205 100644 --- a/package/pkg-meson.mk +++ b/package/pkg-meson.mk @@ -48,7 +48,6 @@ 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 @@ -64,12 +63,22 @@ ifeq ($(4),target) define $(2)_CONFIGURE_CMDS rm -rf $$($$(PKG)_SRCDIR)/build mkdir -p $$($$(PKG)_SRCDIR)/build + sed -e "s%@TARGET_CROSS@%$$(TARGET_CROSS)%g" \ + -e "s%@TARGET_ARCH@%$$(HOST_MESON_TARGET_CPU_FAMILY)%g" \ + -e "s%@TARGET_CPU@%$$(GCC_TARGET_CPU)%g" \ + -e "s%@TARGET_ENDIAN@%$$(call LOWERCASE,$$(BR2_ENDIAN))%g" \ + -e "s%@TARGET_CFLAGS@%$$(HOST_MESON_SED_CFLAGS)%g" \ + -e "s%@TARGET_LDFLAGS@%$$(HOST_MESON_SED_LDFLAGS)%g" \ + -e "s%@TARGET_CXXFLAGS@%$$(HOST_MESON_SED_CXXFLAGS)%g" \ + -e "s%@HOST_DIR@%$$(HOST_DIR)%g" \ + package/meson/cross-compilation.conf.in \ + > $$($$(PKG)_SRCDIR)/build/cross-compilation.conf PATH=$$(BR_PATH) $$($$(PKG)_CONF_ENV) $$(MESON) \ --prefix=/usr \ --libdir=lib \ --default-library=$(if $(BR2_STATIC_LIBS),static,shared) \ --buildtype=$(if $(BR2_ENABLE_DEBUG),debug,release) \ - --cross-file=$(HOST_DIR)/etc/meson/cross-compilation.conf \ + --cross-file=$$($$(PKG)_SRCDIR)/build/cross-compilation.conf \ $$($$(PKG)_CONF_OPTS) \ $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build endef @@ -103,12 +112,12 @@ ifndef $(2)_BUILD_CMDS ifeq ($(4),target) define $(2)_BUILD_CMDS $$(TARGET_MAKE_ENV) $$($$(PKG)_NINJA_ENV) \ - $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build + $$(NINJA) $$(NINJA_OPTS) $$($$(PKG)_NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build endef else define $(2)_BUILD_CMDS $$(HOST_MAKE_ENV) $$($$(PKG)_NINJA_ENV) \ - $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build + $$(NINJA) $$(NINJA_OPTS) $$($$(PKG)_NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build endef endif endif diff --git a/package/pkg-perl.mk b/package/pkg-perl.mk index b0d5789ac5..1ecf31eff9 100644 --- a/package/pkg-perl.mk +++ b/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/package/pkg-python.mk b/package/pkg-python.mk index f57e486dad..e906920417 100644 --- a/package/pkg-python.mk +++ b/package/pkg-python.mk @@ -42,10 +42,12 @@ PKG_PYTHON_DISTUTILS_BUILD_OPTS = \ --executable=/usr/bin/python PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS = \ - --prefix=$(TARGET_DIR)/usr + --prefix=/usr \ + --root=$(TARGET_DIR) PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS = \ - --prefix=$(STAGING_DIR)/usr + --prefix=/usr \ + --root=$(STAGING_DIR) # Host distutils-based packages HOST_PKG_PYTHON_DISTUTILS_ENV = \ @@ -66,16 +68,16 @@ PKG_PYTHON_SETUPTOOLS_ENV = \ _python_exec_prefix=/usr PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS = \ - --prefix=$(TARGET_DIR)/usr \ + --prefix=/usr \ --executable=/usr/bin/python \ --single-version-externally-managed \ - --root=/ + --root=$(TARGET_DIR) PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS = \ - --prefix=$(STAGING_DIR)/usr \ + --prefix=/usr \ --executable=/usr/bin/python \ --single-version-externally-managed \ - --root=/ + --root=$(STAGING_DIR) # Host setuptools-based packages HOST_PKG_PYTHON_SETUPTOOLS_ENV = \ @@ -83,7 +85,9 @@ HOST_PKG_PYTHON_SETUPTOOLS_ENV = \ PYTHONNOUSERSITE=1 HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \ - --prefix=$(HOST_DIR) + --prefix=$(HOST_DIR) \ + --root=/ \ + --single-version-externally-managed ################################################################################ # inner-python-package -- defines how the configuration, compilation @@ -101,9 +105,6 @@ HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \ define inner-python-package -$(2)_SRCDIR = $$($(2)_DIR)/$$($(2)_SUBDIR) -$(2)_BUILDDIR = $$($(2)_SRCDIR) - $(2)_ENV ?= $(2)_BUILD_OPTS ?= $(2)_INSTALL_OPTS ?= @@ -178,16 +179,35 @@ endif endif # ($$($(2)_NEEDS_HOST_PYTHON),) endif # ($(4),target) -# Setuptools based packages will need host-python-setuptools (both -# host and target). We need to have a special exclusion for the -# host-setuptools package itself: it is setuptools-based, but -# shouldn't depend on host-setuptools (because it would otherwise -# depend on itself!). +# Setuptools based packages will need setuptools for the host Python +# interpreter (both host and target). +# +# If we have a host package that says "I need Python 3", we install +# setuptools for python3. +# +# If we have a host packge that says "I need Python 2", we install +# setuptools for python2. +# +# If we have a target package, or a host package that doesn't have any +# _NEEDS_HOST_PYTHON, and BR2_PACKAGE_PYTHON3 is used, then +# Python 3.x is the default Python interpreter, so we install +# setuptools for python3. +# +# In all other cases, we install setuptools for python2. Those other +# cases are: a target package or host package with +# BR2_PACKAGE_PYTHON=y, or a host-package with neither +# BR2_PACKAGE_PYTHON3=y or BR2_PACKAGE_PYTHON=y. ifeq ($$($(2)_SETUP_TYPE),setuptools) -ifneq ($(2),HOST_PYTHON_SETUPTOOLS) -$(2)_DEPENDENCIES += host-python-setuptools -endif +ifeq ($(4):$$($(2)_NEEDS_HOST_PYTHON),host:python3) +$(2)_DEPENDENCIES += $$(if $$(filter host-python3-setuptools,$(1)),,host-python3-setuptools) +else ifeq ($(4):$$($(2)_NEEDS_HOST_PYTHON),host:python2) +$(2)_DEPENDENCIES += $$(if $$(filter host-python-setuptools,$(1)),,host-python-setuptools) +else ifeq ($$(BR2_PACKAGE_PYTHON3),y) +$(2)_DEPENDENCIES += $$(if $$(filter host-python3-setuptools,$(1)),,host-python3-setuptools) +else +$(2)_DEPENDENCIES += $$(if $$(filter host-python-setuptools,$(1)),,host-python-setuptools) endif +endif # SETUP_TYPE # Python interpreter to use for building the package. # diff --git a/package/pkg-rebar.mk b/package/pkg-rebar.mk index e2b4a58681..e4e3f3bb6c 100644 --- a/package/pkg-rebar.mk +++ b/package/pkg-rebar.mk @@ -94,6 +94,13 @@ define install-rebar-deps $(REBAR_$(2)_DEPS_DIR)/$($(PKG)_ERLANG_APP) endef +# Remove the "deps" statement from a rebar.config file +define remove-rebar-config-dependencies + $(SED) '/^{deps.*}\.$$/d' -e '/^{deps/,/}\.$$/d' \ + $($(PKG)_DIR)/rebar.config +endef + + ################################################################################ # inner-rebar-package -- defines how the configuration, compilation # and installation of a rebar package should be done, implements a few @@ -227,6 +234,14 @@ $(2)_REBAR = rebar $(2)_DEPENDENCIES += host-erlang-rebar endif +$(2)_KEEP_DEPENDENCIES ?= NO + +# Remove dependencies listed in rebar.config unless the package says +# otherwise +ifeq ($$($(2)_KEEP_DEPENDENCIES),NO) +$(2)_POST_PATCH_HOOKS += remove-rebar-config-dependencies +endif + # The package sub-infra to use # ifeq ($$($(2)_USE_AUTOCONF),YES) diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk index c3acc22b17..bffd79dfb0 100644 --- a/package/pkg-utils.mk +++ b/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/package/pkg-waf.mk b/package/pkg-waf.mk index e5b606f063..a32d5dab33 100644 --- a/package/pkg-waf.mk +++ b/package/pkg-waf.mk @@ -44,7 +44,7 @@ $(2)_NEEDS_EXTERNAL_WAF ?= NO # If the package does not have its own waf, use our own. ifeq ($$($(2)_NEEDS_EXTERNAL_WAF),YES) $(2)_DEPENDENCIES += host-waf -$(2)_WAF = $(HOST_DIR)/bin/waf +$(2)_WAF = $$(HOST_DIR)/bin/waf else $(2)_WAF = ./waf endif @@ -60,7 +60,7 @@ $(2)_WAF_OPTS ?= # ifndef $(2)_CONFIGURE_CMDS define $(2)_CONFIGURE_CMDS - cd $$(@D) && \ + cd $$($$(PKG)_SRCDIR) && \ $$(TARGET_CONFIGURE_OPTS) \ $$($(2)_CONF_ENV) \ $$(HOST_DIR)/bin/python2 $$($(2)_WAF) configure \ @@ -77,7 +77,7 @@ endif # ifndef $(2)_BUILD_CMDS define $(2)_BUILD_CMDS - cd $$(@D) && \ + cd $$($$(PKG)_SRCDIR) && \ $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \ build -j $$(PARALLEL_JOBS) $$($(2)_BUILD_OPTS) \ $$($(2)_WAF_OPTS) @@ -90,7 +90,7 @@ endif # ifndef $(2)_INSTALL_STAGING_CMDS define $(2)_INSTALL_STAGING_CMDS - cd $$(@D) && \ + cd $$($$(PKG)_SRCDIR) && \ $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \ install --destdir=$$(STAGING_DIR) \ $$($(2)_INSTALL_STAGING_OPTS) \ @@ -104,7 +104,7 @@ endif # ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS - cd $$(@D) && \ + cd $$($$(PKG)_SRCDIR) && \ $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \ install --destdir=$$(TARGET_DIR) \ $$($(2)_INSTALL_TARGET_OPTS) \ diff --git a/package/pkgconf/0001-Fix-all-variables-sysroot-prefix-problem.patch b/package/pkgconf/0001-Fix-all-variables-sysroot-prefix-problem.patch deleted file mode 100644 index bc2b5273cd..0000000000 --- a/package/pkgconf/0001-Fix-all-variables-sysroot-prefix-problem.patch +++ /dev/null @@ -1,64 +0,0 @@ -From aa6bbc09e68426592faf722630fe92b6ede75bc8 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Mon, 2 Nov 2015 18:38:00 -0300 -Subject: [PATCH] Fix all-variables sysroot prefix problem - -According to the pkg-config specifications (or rather documentation) -only the -L/-I directory entries should be sysroot-prefixed. - -We also need to prefix the mapdir/sdkdir variables since they're used by -xorg and expected that way. - -Also allow prefixing for includedir and libdir since in some silly cases -the directories may be requested barebones via pkg-config ---variable=includedir libfool for example. - -Signed-off-by: Gustavo Zacarias - -Added pkgdatadir to the list of to-be-prefixed variables. - -Signed-off-by: Bernd Kuhls ---- - main.c | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -diff --git a/main.c b/main.c -index 6947126..ce5e18f 100644 ---- a/main.c -+++ b/main.c -@@ -313,9 +313,13 @@ print_variable(pkg_t *pkg, void *data, unsigned int flags) - memset(req->buf, 0, sizeof(req->buf)); - - if (*var == '/' && (flags & PKGF_MUNGE_SYSROOT_PREFIX) && -- (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir)))) -- strlcat(req->buf, sysroot_dir, sizeof(req->buf)); -- -+ (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir))) && -+ (!strcmp(req->variable, "includedir") || \ -+ !strcmp(req->variable, "libdir") || \ -+ !strcmp(req->variable, "mapdir") || \ -+ !strcmp(req->variable, "pkgdatadir") || \ -+ !strcmp(req->variable, "sdkdir"))) -+ strlcat(req->buf, sysroot_dir, sizeof(req->buf)); - strlcat(req->buf, var, sizeof(req->buf)); - return; - } -@@ -323,8 +327,13 @@ print_variable(pkg_t *pkg, void *data, unsigned int flags) - strlcat(req->buf, " ", sizeof(req->buf)); - - if (*var == '/' && (flags & PKGF_MUNGE_SYSROOT_PREFIX) && -- (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir)))) -- strlcat(req->buf, sysroot_dir, sizeof(req->buf)); -+ (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir))) && -+ (!strcmp(req->variable, "includedir") || \ -+ !strcmp(req->variable, "libdir") || \ -+ !strcmp(req->variable, "mapdir") || \ -+ !strcmp(req->variable, "pkgdatadir") || \ -+ !strcmp(req->variable, "sdkdir"))) -+ strlcat(req->buf, sysroot_dir, sizeof(req->buf)); - - strlcat(req->buf, var, sizeof(req->buf)); - } --- -2.4.10 - diff --git a/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch b/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch new file mode 100644 index 0000000000..5a9713d651 --- /dev/null +++ b/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch @@ -0,0 +1,142 @@ +From 267a57022699453e8d8f517519df25ac6bf6ac4e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 16 Dec 2018 11:52:18 +0100 +Subject: [PATCH] Only prefix with the sysroot a subset of variables + +The standard logic of pkg-config is to prefix all absolute paths by +the sysroot defined in PKG_CONFIG_SYSROOT_DIR. However, while some +paths (like includedir, libdir, and paths used in -L and -I options) +indeed need to be prefixed by the sysroot, it is not necessarily the +case for paths that are used on the target. If they get prefixed by +the sysroot, the runtime path on the target is incorrect. + +Unfortunately, pkg-config doesn't have a sense of which path needs to +be prefixed by the sysroot, and which path should not be prefixed by +the sysroot. + +So, let's simply have a whitelist of paths that should be prefixed: +includedir, libdir, mapdir, pkgdatadir and sdkdir. This list of +variables was collected over years of Buildroot development. All other +paths are not prefixed by the sysroot. + +Signed-off-by: Thomas Petazzoni +--- + libpkgconf/tuple.c | 60 ++++++++++++++++++++++++++++++++-------------- + 1 file changed, 42 insertions(+), 18 deletions(-) + +diff --git a/libpkgconf/tuple.c b/libpkgconf/tuple.c +index 8523709..7cd2fff 100644 +--- a/libpkgconf/tuple.c ++++ b/libpkgconf/tuple.c +@@ -160,6 +160,18 @@ dequote(const char *value) + return buf; + } + ++static char * ++pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, bool add_sysroot); ++ ++const char *sysrooted_keys[] = { ++ "includedir", ++ "libdir", ++ "mapdir", ++ "pkgdatadir", ++ "sdkdir", ++ NULL, ++}; ++ + /* + * !doc + * +@@ -180,6 +192,8 @@ pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *list, const ch + { + char *dequote_value; + pkgconf_tuple_t *tuple = calloc(sizeof(pkgconf_tuple_t), 1); ++ bool add_sysroot = false; ++ int i; + + pkgconf_tuple_find_delete(list, key); + +@@ -187,9 +201,13 @@ pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *list, const ch + + PKGCONF_TRACE(client, "adding tuple to @%p: %s => %s (parsed? %d)", list, key, dequote_value, parse); + ++ for (i = 0; sysrooted_keys[i] != NULL; i++) ++ if (!strcmp(key, sysrooted_keys[i])) ++ add_sysroot = true; ++ + tuple->key = strdup(key); + if (parse) +- tuple->value = pkgconf_tuple_parse(client, list, dequote_value); ++ tuple->value = pkgconf_tuple_parse_sysroot(client, list, dequote_value, add_sysroot); + else + tuple->value = strdup(dequote_value); + +@@ -233,27 +251,14 @@ pkgconf_tuple_find(const pkgconf_client_t *client, pkgconf_list_t *list, const c + return NULL; + } + +-/* +- * !doc +- * +- * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value) +- * +- * Parse an expression for variable substitution. +- * +- * :param pkgconf_client_t* client: The pkgconf client object to access. +- * :param pkgconf_list_t* list: The variable list to search for variables (along side the global variable list). +- * :param char* value: The ``key=value`` string to parse. +- * :return: the variable data with any variables substituted +- * :rtype: char * +- */ +-char * +-pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value) ++static char * ++pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, bool add_sysroot) + { + char buf[PKGCONF_BUFSIZE]; + const char *ptr; + char *bptr = buf; + +- if (*value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir))) ++ if (add_sysroot && *value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir))) + bptr += pkgconf_strlcpy(buf, client->sysroot_dir, sizeof buf); + + for (ptr = value; *ptr != '\0' && bptr - buf < PKGCONF_BUFSIZE; ptr++) +@@ -293,7 +298,7 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const + + if (kv != NULL) + { +- parsekv = pkgconf_tuple_parse(client, vars, kv); ++ parsekv = pkgconf_tuple_parse_sysroot(client, vars, kv, add_sysroot); + + strncpy(bptr, parsekv, PKGCONF_BUFSIZE - (bptr - buf)); + bptr += strlen(parsekv); +@@ -338,6 +343,25 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const + return strdup(buf); + } + ++/* ++ * !doc ++ * ++ * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value) ++ * ++ * Parse an expression for variable substitution. ++ * ++ * :param pkgconf_client_t* client: The pkgconf client object to access. ++ * :param pkgconf_list_t* list: The variable list to search for variables (along side the global variable list). ++ * :param char* value: The ``key=value`` string to parse. ++ * :return: the variable data with any variables substituted ++ * :rtype: char * ++ */ ++char * ++pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value) ++{ ++ return pkgconf_tuple_parse_sysroot(client, vars, value, true); ++} ++ + /* + * !doc + * +-- +2.19.2 + diff --git a/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch b/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch new file mode 100644 index 0000000000..e79bea93a5 --- /dev/null +++ b/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch @@ -0,0 +1,45 @@ +From 4ccef40918a539905a2951bfb81cf8dba4a245c6 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 2 Jan 2019 18:15:50 +0100 +Subject: [PATCH] Revert "main: assume --modversion insted of --version if + other flags or module names are provided" + +This reverts commit 12a0eb124cea85586e57f33c91a1e4c73459eef6, as it +causes pkg-config to assume --modversion is used when something as +simple as 'pkg-config --static --version' is used, leading to a +failure instead of the expected behavior: the one of "pkg-config +--version". + +Signed-off-by: Thomas Petazzoni +--- + cli/main.c | 14 ++------------ + 1 file changed, 2 insertions(+), 12 deletions(-) + +diff --git a/cli/main.c b/cli/main.c +index b52cc85..c5acc10 100644 +--- a/cli/main.c ++++ b/cli/main.c +@@ -955,18 +955,8 @@ main(int argc, char *argv[]) + + if ((want_flags & PKG_VERSION) == PKG_VERSION) + { +- if (argc > 2) +- { +- fprintf(stderr, "%s: --version specified with other options or module names, assuming --modversion.\n", argv[0]); +- +- want_flags &= ~PKG_VERSION; +- want_flags |= PKG_MODVERSION; +- } +- else +- { +- version(); +- return EXIT_SUCCESS; +- } ++ version(); ++ return EXIT_SUCCESS; + } + + if ((want_flags & PKG_HELP) == PKG_HELP) +-- +2.20.1 + diff --git a/package/pkgconf/Config.in b/package/pkgconf/Config.in index 76fa394c94..a9c5658da9 100644 --- a/package/pkgconf/Config.in +++ b/package/pkgconf/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_PKGCONF 2011 to replace pkg-config, which now needs itself to build itself - https://github.com/pkgconf/pkgconf + http://pkgconf.org/ diff --git a/package/pkgconf/pkgconf.hash b/package/pkgconf/pkgconf.hash index 79191bc94e..7ea7ff57a8 100644 --- a/package/pkgconf/pkgconf.hash +++ b/package/pkgconf/pkgconf.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 7ec8b516e655e247f4ba976837cee808134785819ab8f538f652fe919cc6c09f pkgconf-0.9.12.tar.bz2 +sha256 d3468308553c94389dadfd10c4d1067269052b5364276a9d24a643c88485f715 pkgconf-1.5.3.tar.xz diff --git a/package/pkgconf/pkgconf.mk b/package/pkgconf/pkgconf.mk index 00b2d017ee..e3c73fd405 100644 --- a/package/pkgconf/pkgconf.mk +++ b/package/pkgconf/pkgconf.mk @@ -4,9 +4,9 @@ # ################################################################################ -PKGCONF_VERSION = 0.9.12 -PKGCONF_SITE = https://github.com/pkgconf/pkgconf/releases/download/pkgconf-$(PKGCONF_VERSION) -PKGCONF_SOURCE = pkgconf-$(PKGCONF_VERSION).tar.bz2 +PKGCONF_VERSION = 1.5.3 +PKGCONF_SITE = https://distfiles.dereferenced.org/pkgconf +PKGCONF_SOURCE = pkgconf-$(PKGCONF_VERSION).tar.xz PKGCONF_LICENSE = pkgconf license PKGCONF_LICENSE_FILES = COPYING diff --git a/package/pngquant/pngquant.hash b/package/pngquant/pngquant.hash index f525e466c3..f27eda60dd 100644 --- a/package/pngquant/pngquant.hash +++ b/package/pngquant/pngquant.hash @@ -1,5 +1,5 @@ # From https://pngquant.org/releases.html -sha1 f57ce0112e86ac966c55270ccf5971deff241d4f pngquant-2.12.0-src.tar.gz +sha1 24efa42105bf3d8d0f4cf699053d2701ea787bd5 pngquant-2.12.2-src.tar.gz # Locally computed -sha256 0e540c64bb58c05f2a05b4eaf1d3d165f0d3278500f15abfeac47f93f8fa8fa8 pngquant-2.12.0-src.tar.gz +sha256 bb031c48039ee73ea0e60709bb9ab80c55bfa3a5920b798ea37a03f2757b099c pngquant-2.12.2-src.tar.gz sha256 e4f467f7abf860b4e620f5f60fdd88bc3a63a0fdb98a481fb002b5e511c9b826 COPYRIGHT diff --git a/package/pngquant/pngquant.mk b/package/pngquant/pngquant.mk index 26c293bec3..0053b9a46e 100644 --- a/package/pngquant/pngquant.mk +++ b/package/pngquant/pngquant.mk @@ -4,7 +4,7 @@ # ################################################################################ -PNGQUANT_VERSION = 2.12.0 +PNGQUANT_VERSION = 2.12.2 PNGQUANT_SOURCE = pngquant-$(PNGQUANT_VERSION)-src.tar.gz PNGQUANT_SITE = https://pngquant.org PNGQUANT_LICENSE = GPL-3.0+ diff --git a/package/poco/Config.in b/package/poco/Config.in index 75e31b7e1e..7e1257146c 100644 --- a/package/poco/Config.in +++ b/package/poco/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_POCO depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() depends on !(BR2_arc || BR2_microblaze || BR2_mipsel \ - || BR2_or1k || BR2_xtensa) + || BR2_or1k || BR2_riscv || BR2_xtensa) select BR2_PACKAGE_ZLIB select BR2_PACKAGE_PCRE help diff --git a/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch b/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch index 3c0ddcc54b..4cfe969a40 100644 --- a/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch +++ b/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch @@ -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/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch b/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch index 32d2ae92e6..0b53044180 100644 --- a/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch +++ b/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/package/policycoreutils/policycoreutils.hash b/package/policycoreutils/policycoreutils.hash index 241905ca22..b6367b4bf4 100644 --- a/package/policycoreutils/policycoreutils.hash +++ b/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/package/policycoreutils/policycoreutils.mk b/package/policycoreutils/policycoreutils.mk index 21c5470cec..abd70e16c8 100644 --- a/package/policycoreutils/policycoreutils.mk +++ b/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/package/poppler/Config.in b/package/poppler/Config.in index 9b03df8d27..4a553df721 100644 --- a/package/poppler/Config.in +++ b/package/poppler/Config.in @@ -13,14 +13,6 @@ config BR2_PACKAGE_POPPLER if BR2_PACKAGE_POPPLER -config BR2_PACKAGE_POPPLER_QT - bool "Qt support" - depends on BR2_PACKAGE_QT - select BR2_PACKAGE_QT_GUI_MODULE - select BR2_PACKAGE_QT_XML - help - Build Qt support into the Poppler library - config BR2_PACKAGE_POPPLER_QT5 bool "Qt5 support" depends on BR2_PACKAGE_QT5 diff --git a/package/poppler/poppler.mk b/package/poppler/poppler.mk index bad61a6613..be1c0e4821 100644 --- a/package/poppler/poppler.mk +++ b/package/poppler/poppler.mk @@ -12,7 +12,7 @@ POPPLER_LICENSE = GPL-2.0+ POPPLER_LICENSE_FILES = COPYING POPPLER_INSTALL_STAGING = YES POPPLER_CONF_OPTS = --with-font-configuration=fontconfig \ - --enable-xpdf-headers + --enable-xpdf-headers --disable-poppler-qt4 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) POPPLER_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -latomic" @@ -84,13 +84,6 @@ else POPPLER_CONF_OPTS += --without-x endif -ifeq ($(BR2_PACKAGE_POPPLER_QT),y) -POPPLER_DEPENDENCIES += qt -POPPLER_CONF_OPTS += --enable-poppler-qt4 -else -POPPLER_CONF_OPTS += --disable-poppler-qt4 -endif - ifeq ($(BR2_PACKAGE_POPPLER_QT5),y) POPPLER_DEPENDENCIES += qt5base POPPLER_CONF_OPTS += --enable-poppler-qt5 diff --git a/package/popt/0004-add-libiconv-to-popt.pc.patch b/package/popt/0004-add-libiconv-to-popt.pc.patch new file mode 100644 index 0000000000..087a30bb7a --- /dev/null +++ b/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/package/postgresql/Config.in b/package/postgresql/Config.in index 9dda54bf9f..e548d3cb27 100644 --- a/package/postgresql/Config.in +++ b/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/package/postgresql/postgresql.hash b/package/postgresql/postgresql.hash index a9cc93c76c..c4d7ab55bb 100644 --- a/package/postgresql/postgresql.hash +++ b/package/postgresql/postgresql.hash @@ -1,5 +1,7 @@ -# From https://ftp.postgresql.org/pub/source/v10.5/postgresql-10.5.tar.bz2.sha256 -sha256 6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011 postgresql-10.5.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v11.2/postgresql-11.2.tar.bz2.md5 +md5 19d43be679cb0d55363feb8926af3a0f postgresql-11.2.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v11.2/postgresql-11.2.tar.bz2.sha256 +sha256 2676b9ce09c21978032070b6794696e0aa5a476e3d21d60afc036dc0a9c09405 postgresql-11.2.tar.bz2 # License file, Locally calculated -sha256 24cfc70cf16b3a23242c49ffce39510683bdd48cbedb8a46fe03976ee5f5c21e COPYRIGHT +sha256 c4c86d683970b22b9fab53320ee1b3a30ef4e8223122b4fb6be53ea62ecee8b3 COPYRIGHT diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk index 540e1540ca..8f01460109 100644 --- a/package/postgresql/postgresql.mk +++ b/package/postgresql/postgresql.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGRESQL_VERSION = 10.5 +POSTGRESQL_VERSION = 11.2 POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2 POSTGRESQL_SITE = http://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION) POSTGRESQL_LICENSE = PostgreSQL @@ -14,8 +14,15 @@ POSTGRESQL_CONFIG_SCRIPTS = pg_config POSTGRESQL_CONF_ENV = \ ac_cv_type_struct_sockaddr_in6=yes \ pgac_cv_snprintf_long_long_int_modifier="ll" \ - pgac_cv_snprintf_size_t_support=yes + pgac_cv_snprintf_size_t_support=yes \ + LIBS=$(TARGET_NLS_LIBS) POSTGRESQL_CONF_OPTS = --disable-rpath +POSTGRESQL_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) + +# 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 @@ -29,7 +36,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 @@ -78,6 +85,14 @@ else POSTGRESQL_CONF_OPTS += --without-libxml endif +# required for postgresql.service Type=notify +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +POSTGRESQL_DEPENDENCIES += systemd +POSTGRESQL_CONF_OPTS += --with-systemd +else +POSTGRESQL_CONF_OPTS += --without-systemd +endif + define POSTGRESQL_USERS postgres -1 postgres -1 * /var/lib/pgsql /bin/sh - PostgreSQL Server endef diff --git a/package/postgresql/postgresql.service b/package/postgresql/postgresql.service index 4a96258684..53e6f84f00 100644 --- a/package/postgresql/postgresql.service +++ b/package/postgresql/postgresql.service @@ -3,7 +3,7 @@ Description=PostgreSQL database server After=network.target [Service] -Type=forking +Type=notify # start timeout disabled because initdb may run a little # longer (eg. 5 minutes on RaspberryPi) @@ -12,13 +12,17 @@ TimeoutStartSec=0 User=postgres Group=postgres +StandardOutput=syslog +StandardError=syslog SyslogIdentifier=postgres PIDFile=/var/lib/pgsql/postmaster.pid ExecStartPre=/bin/sh -c "if [ ! -f /var/lib/pgsql/PG_VERSION ]; then /usr/bin/pg_ctl initdb -D /var/lib/pgsql; fi" -ExecStart=/usr/bin/pg_ctl start -D /var/lib/pgsql -w -l /var/lib/pgsql/logfile -ExecReload=/usr/bin/pg_ctl reload -D /var/lib/pgsql -ExecStop=/usr/bin/pg_ctl stop -D /var/lib/pgsql -m fast +ExecStart=/usr/bin/postgres -D /var/lib/pgsql +ExecReload=/usr/bin/kill -HUP $MAINPID +KillMode=mixed +KillSignal=SIGINT +TimeoutSec=0 [Install] WantedBy=multi-user.target diff --git a/package/pound/0002-fix-openssl-1.1.0.patch b/package/pound/0002-fix-openssl-1.1.0.patch new file mode 100644 index 0000000000..04eddb15d7 --- /dev/null +++ b/package/pound/0002-fix-openssl-1.1.0.patch @@ -0,0 +1,334 @@ +From a2c9dde4d055ea8942afb150b7fc3a807d4e5d60 Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff +Date: Wed, 28 Feb 2018 13:44:01 +0000 +Subject: [PATCH] Support for Openssl 1.1 + +Fixes +http://autobuild.buildroot.net/results/ef2/ef2de6c280bf8622a00d4573bc5bd143e3baa002 + +Downloaded from github fork: +https://github.com/graygnuorg/pound/commit/a2c9dde4d055ea8942afb150b7fc3a807d4e5d60 + +This patch was announced on the upstream mailinglist: +http://www.apsis.ch/pound/pound_list/archive/2018/2018-03/1519920322000 + +Signed-off-by: Bernd Kuhls +--- + .gitignore | 15 ++++++++ + config.c | 17 +++++++-- + http.c | 12 ++++++- + pound.h | 4 ++- + svc.c | 101 +++++++++++++++++++++++++++++++++++++++++++---------- + 5 files changed, 125 insertions(+), 24 deletions(-) + create mode 100644 .gitignore + +diff --git a/config.c b/config.c +index d41a3ee..e8fec0f 100644 +--- a/config.c ++++ b/config.c +@@ -174,6 +174,16 @@ conf_fgets(char *buf, const int max) + } + } + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++# define general_name_string(n) \ ++ strndup(ASN1_STRING_get0_data(n->d.dNSName), \ ++ ASN1_STRING_length(n->d.dNSName) + 1) ++#else ++# define general_name_string(n) \ ++ strndup(ASN1_STRING_data(n->d.dNSName), \ ++ ASN1_STRING_length(n->d.dNSName) + 1) ++#endif ++ + unsigned char ** + get_subjectaltnames(X509 *x509, unsigned int *count) + { +@@ -194,8 +204,7 @@ get_subjectaltnames(X509 *x509, unsigned int *count) + name = sk_GENERAL_NAME_pop(san_stack); + switch(name->type) { + case GEN_DNS: +- temp[local_count] = strndup(ASN1_STRING_data(name->d.dNSName), ASN1_STRING_length(name->d.dNSName) +- + 1); ++ temp[local_count] = general_name_string(name); + if(temp[local_count] == NULL) + conf_err("out of memory"); + local_count++; +@@ -565,7 +574,9 @@ parse_service(const char *svc_name) + pthread_mutex_init(&res->mut, NULL); + if(svc_name) + strncpy(res->name, svc_name, KEY_SIZE); +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((res->sessions = lh_TABNODE_new(t_hash, t_cmp)) == NULL) ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res->sessions = LHM_lh_new(TABNODE, t)) == NULL) + #else + if((res->sessions = lh_new(LHASH_HASH_FN(t_hash), LHASH_COMP_FN(t_cmp))) == NULL) +diff --git a/http.c b/http.c +index dd211e4..c8e756a 100644 +--- a/http.c ++++ b/http.c +@@ -527,12 +527,22 @@ log_bytes(char *res, const LONG cnt) + + /* Cleanup code. This should really be in the pthread_cleanup_push, except for bugs in some implementations */ + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++# define clear_error() ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L ++# define clear_error() \ ++ if(ssl != NULL) { ERR_clear_error(); ERR_remove_thread_state(NULL); } ++#else ++# define clear_error() \ ++ if(ssl != NULL) { ERR_clear_error(); ERR_remove_state(0); } ++#endif ++ + #define clean_all() { \ + if(ssl != NULL) { BIO_ssl_shutdown(cl); } \ + if(be != NULL) { BIO_flush(be); BIO_reset(be); BIO_free_all(be); be = NULL; } \ + if(cl != NULL) { BIO_flush(cl); BIO_reset(cl); BIO_free_all(cl); cl = NULL; } \ + if(x509 != NULL) { X509_free(x509); x509 = NULL; } \ +- if(ssl != NULL) { ERR_clear_error(); ERR_remove_state(0); } \ ++ clear_error(); \ + } + + /* +diff --git a/pound.h b/pound.h +index fa22c36..9603b91 100644 +--- a/pound.h ++++ b/pound.h +@@ -344,7 +344,9 @@ typedef struct _tn { + /* maximal session key size */ + #define KEY_SIZE 127 + +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ DEFINE_LHASH_OF(TABNODE); ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + DECLARE_LHASH_OF(TABNODE); + #endif + +diff --git a/svc.c b/svc.c +index 60ba488..063b92c 100644 +--- a/svc.c ++++ b/svc.c +@@ -27,10 +27,17 @@ + + #include "pound.h" + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++# define TABNODE_GET_DOWN_LOAD(t) lh_TABNODE_get_down_load(t) ++# define TABNODE_SET_DOWN_LOAD(t,n) lh_TABNODE_set_down_load(t,n) ++#else + #ifndef LHASH_OF + #define LHASH_OF(x) LHASH + #define CHECKED_LHASH_OF(type, h) h + #endif ++# define TABNODE_GET_DOWN_LOAD(t) (CHECKED_LHASH_OF(TABNODE, t)->down_load) ++# define TABNODE_SET_DOWN_LOAD(t,n) (CHECKED_LHASH_OF(TABNODE, t)->down_load = n) ++#endif + + /* + * Add a new key/content pair to a hash table +@@ -58,7 +65,9 @@ t_add(LHASH_OF(TABNODE) *const tab, const char *key, const void *content, const + } + memcpy(t->content, content, cont_len); + t->last_acc = time(NULL); +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((old = lh_TABNODE_insert(tab, t)) != NULL) { ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((old = LHM_lh_insert(TABNODE, tab, t)) != NULL) { + #else + if((old = (TABNODE *)lh_insert(tab, t)) != NULL) { +@@ -82,7 +91,9 @@ t_find(LHASH_OF(TABNODE) *const tab, char *const key) + TABNODE t, *res; + + t.key = key; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((res = lh_TABNODE_retrieve(tab, &t)) != NULL) { ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = (TABNODE *)LHM_lh_retrieve(TABNODE, tab, &t)) != NULL) { + #else + if((res = (TABNODE *)lh_retrieve(tab, &t)) != NULL) { +@@ -102,7 +113,9 @@ t_remove(LHASH_OF(TABNODE) *const tab, char *const key) + TABNODE t, *res; + + t.key = key; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((res = lh_TABNODE_delete(tab, &t)) != NULL) { ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, tab, &t)) != NULL) { + #else + if((res = (TABNODE *)lh_delete(tab, &t)) != NULL) { +@@ -127,7 +140,9 @@ t_old_doall_arg(TABNODE *t, ALL_ARG *a) + TABNODE *res; + + if(t->last_acc < a->lim) +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((res = lh_TABNODE_delete(a->tab, t)) != NULL) { ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, a->tab, t)) != NULL) { + #else + if((res = lh_delete(a->tab, t)) != NULL) { +@@ -145,6 +160,10 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE, ALL_ARG) + IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, ALL_ARG *) + #endif + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++IMPLEMENT_LHASH_DOALL_ARG(TABNODE,ALL_ARG); ++#endif ++ + /* + * Expire all old nodes + */ +@@ -156,14 +175,16 @@ t_expire(LHASH_OF(TABNODE) *const tab, const time_t lim) + + a.tab = tab; + a.lim = lim; +- down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load; +- CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ down_load = TABNODE_GET_DOWN_LOAD(tab); ++ TABNODE_SET_DOWN_LOAD(tab, 0); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ lh_TABNODE_doall_ALL_ARG(tab, t_old_doall_arg, &a); ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_old), ALL_ARG, &a); + #else + lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_old), &a); + #endif +- CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load; ++ TABNODE_SET_DOWN_LOAD(tab, down_load); + return; + } + +@@ -173,7 +194,9 @@ t_cont_doall_arg(TABNODE *t, ALL_ARG *arg) + TABNODE *res; + + if(memcmp(t->content, arg->content, arg->cont_len) == 0) +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((res = lh_TABNODE_delete(arg->tab, t)) != NULL) { ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, arg->tab, t)) != NULL) { + #else + if((res = lh_delete(arg->tab, t)) != NULL) { +@@ -203,15 +226,16 @@ t_clean(LHASH_OF(TABNODE) *const tab, void *const content, const size_t cont_len + a.tab = tab; + a.content = content; + a.cont_len = cont_len; +- down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load; +- CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ down_load = TABNODE_GET_DOWN_LOAD(tab); ++ TABNODE_SET_DOWN_LOAD(tab, 0); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ lh_TABNODE_doall_ALL_ARG(tab, t_cont_doall_arg, &a); ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_cont), ALL_ARG, &a); + #else + lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_cont), &a); + #endif +- CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load; +- return; ++ TABNODE_SET_DOWN_LOAD(tab, down_load); + } + + /* +@@ -1262,6 +1286,31 @@ RSA_tmp_callback(/* not used */SSL *ssl, /* not used */int is_export, int keylen + return res; + } + ++static int ++generate_key(RSA **ret_rsa, unsigned long bits) ++{ ++#if OPENSSL_VERSION_NUMBER > 0x00908000L ++ int rc = 0; ++ RSA *rsa; ++ ++ rsa = RSA_new(); ++ if (rsa) { ++ BIGNUM *bne = BN_new(); ++ if (BN_set_word(bne, RSA_F4)) ++ rc = RSA_generate_key_ex(rsa, bits, bne, NULL); ++ BN_free(bne); ++ if (rc) ++ *ret_rsa = rsa; ++ else ++ RSA_free(rsa); ++ } ++ return rc; ++#else ++ *ret_rsa = RSA_generate_key(bits, RSA_F4, NULL, NULL); ++ return *ret_rsa != NULL; ++#endif ++} ++ + /* + * Periodically regenerate ephemeral RSA keys + * runs every T_RSA_KEYS seconds +@@ -1274,8 +1323,9 @@ do_RSAgen(void) + RSA *t_RSA1024_keys[N_RSA_KEYS]; + + for(n = 0; n < N_RSA_KEYS; n++) { +- t_RSA512_keys[n] = RSA_generate_key(512, RSA_F4, NULL, NULL); +- t_RSA1024_keys[n] = RSA_generate_key(1024, RSA_F4, NULL, NULL); ++ /* FIXME: Error handling */ ++ generate_key(&t_RSA512_keys[n], 512); ++ generate_key(&t_RSA1024_keys[n], 1024); + } + if(ret_val = pthread_mutex_lock(&RSA_mut)) + logmsg(LOG_WARNING, "thr_RSAgen() lock: %s", strerror(ret_val)); +@@ -1329,11 +1379,11 @@ init_timer(void) + * Pre-generate ephemeral RSA keys + */ + for(n = 0; n < N_RSA_KEYS; n++) { +- if((RSA512_keys[n] = RSA_generate_key(512, RSA_F4, NULL, NULL)) == NULL) { ++ if(!generate_key(&RSA512_keys[n], 512)) { + logmsg(LOG_WARNING,"RSA_generate(%d, 512) failed", n); + return; + } +- if((RSA1024_keys[n] = RSA_generate_key(1024, RSA_F4, NULL, NULL)) == NULL) { ++ if(!generate_key(&RSA1024_keys[n], 1024)) { + logmsg(LOG_WARNING,"RSA_generate(%d, 1024) failed", n); + return; + } +@@ -1420,6 +1470,10 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE, DUMP_ARG) + IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE *, DUMP_ARG *) + #endif + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++IMPLEMENT_LHASH_DOALL_ARG(TABNODE,DUMP_ARG); ++#endif ++ + /* + * write sessions to the control socket + */ +@@ -1430,7 +1484,9 @@ dump_sess(const int control_sock, LHASH_OF(TABNODE) *const sess, BACKEND *const + + a.control_sock = control_sock; + a.backends = backends; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ lh_TABNODE_doall_DUMP_ARG(sess, t_dump_doall_arg, &a); ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, sess, LHASH_DOALL_ARG_FN(t_dump), DUMP_ARG, &a); + #else + lh_doall_arg(sess, LHASH_DOALL_ARG_FN(t_dump), &a); +@@ -1664,6 +1720,13 @@ thr_control(void *arg) + } + } + ++#ifndef SSL3_ST_SR_CLNT_HELLO_A ++# define SSL3_ST_SR_CLNT_HELLO_A (0x110|SSL_ST_ACCEPT) ++#endif ++#ifndef SSL23_ST_SR_CLNT_HELLO_A ++# define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT) ++#endif ++ + void + SSLINFO_callback(const SSL *ssl, int where, int rc) + { diff --git a/package/pound/0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch b/package/pound/0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch new file mode 100644 index 0000000000..3befc271d7 --- /dev/null +++ b/package/pound/0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch @@ -0,0 +1,140 @@ +From 145b88d0c1a71ba6f4d216768388e0c5853d3990 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Tue, 5 Feb 2019 10:34:55 -0600 +Subject: [PATCH] Support for libressl coexisting with openssl 1.1.x +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libressl needs to not follow the 1.1.x path of APIs + +Resolves build failure like +In file included from svc.c:28:0: +pound.h:348:3: warning: data definition has no type or storage class + DEFINE_LHASH_OF(TABNODE); + ^~~~~~~~~~~~~~~ +pound.h:348:3: warning: type defaults to ‘int’ in declaration of ‘DEFINE_LHASH_OF’ [-Wimplicit-int] +svc.c: In function ‘t_add’: +svc.c:69:15: warning: implicit declaration of function ‘lh_TABNODE_insert’; did you mean ‘lh_OBJ_NAME_insert’? [-Wimplicit-function-declaration] + if((old = lh_TABNODE_insert(tab, t)) != NULL) { + ^~~~~~~~~~~~~~~~~ + lh_OBJ_NAME_insert + +Upstream: Site was down when I tried (http://www.apsis.ch/pound) + +Signed-off-by: Matthew Weber +--- + config.c | 2 +- + svc.c | 20 ++++++++++---------- + 2 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/config.c b/config.c +index 58b928e..3ad7fbb 100644 +--- a/config.c ++++ b/config.c +@@ -574,7 +574,7 @@ parse_service(const char *svc_name) + pthread_mutex_init(&res->mut, NULL); + if(svc_name) + strncpy(res->name, svc_name, KEY_SIZE); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((res->sessions = lh_TABNODE_new(t_hash, t_cmp)) == NULL) + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res->sessions = LHM_lh_new(TABNODE, t)) == NULL) +diff --git a/svc.c b/svc.c +index f125be4..8a2f62c 100644 +--- a/svc.c ++++ b/svc.c +@@ -27,7 +27,7 @@ + + #include "pound.h" + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + # define TABNODE_GET_DOWN_LOAD(t) lh_TABNODE_get_down_load(t) + # define TABNODE_SET_DOWN_LOAD(t,n) lh_TABNODE_set_down_load(t,n) + #else +@@ -65,7 +65,7 @@ t_add(LHASH_OF(TABNODE) *const tab, const char *key, const void *content, const + } + memcpy(t->content, content, cont_len); + t->last_acc = time(NULL); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((old = lh_TABNODE_insert(tab, t)) != NULL) { + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((old = LHM_lh_insert(TABNODE, tab, t)) != NULL) { +@@ -91,7 +91,7 @@ t_find(LHASH_OF(TABNODE) *const tab, char *const key) + TABNODE t, *res; + + t.key = key; +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((res = lh_TABNODE_retrieve(tab, &t)) != NULL) { + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = (TABNODE *)LHM_lh_retrieve(TABNODE, tab, &t)) != NULL) { +@@ -113,7 +113,7 @@ t_remove(LHASH_OF(TABNODE) *const tab, char *const key) + TABNODE t, *res; + + t.key = key; +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((res = lh_TABNODE_delete(tab, &t)) != NULL) { + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, tab, &t)) != NULL) { +@@ -140,7 +140,7 @@ t_old_doall_arg(TABNODE *t, ALL_ARG *a) + TABNODE *res; + + if(t->last_acc < a->lim) +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((res = lh_TABNODE_delete(a->tab, t)) != NULL) { + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, a->tab, t)) != NULL) { +@@ -160,7 +160,7 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE, ALL_ARG) + IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, ALL_ARG *) + #endif + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + IMPLEMENT_LHASH_DOALL_ARG(TABNODE,ALL_ARG); + #endif + +@@ -177,7 +177,7 @@ t_expire(LHASH_OF(TABNODE) *const tab, const time_t lim) + a.lim = lim; + down_load = TABNODE_GET_DOWN_LOAD(tab); + TABNODE_SET_DOWN_LOAD(tab, 0); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + lh_TABNODE_doall_ALL_ARG(tab, t_old_doall_arg, &a); + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_old), ALL_ARG, &a); +@@ -194,7 +194,7 @@ t_cont_doall_arg(TABNODE *t, ALL_ARG *arg) + TABNODE *res; + + if(memcmp(t->content, arg->content, arg->cont_len) == 0) +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((res = lh_TABNODE_delete(arg->tab, t)) != NULL) { + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, arg->tab, t)) != NULL) { +@@ -228,7 +228,7 @@ t_clean(LHASH_OF(TABNODE) *const tab, void *const content, const size_t cont_len + a.cont_len = cont_len; + down_load = TABNODE_GET_DOWN_LOAD(tab); + TABNODE_SET_DOWN_LOAD(tab, 0); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + lh_TABNODE_doall_ALL_ARG(tab, t_cont_doall_arg, &a); + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_cont), ALL_ARG, &a); +@@ -1514,7 +1514,7 @@ dump_sess(const int control_sock, LHASH_OF(TABNODE) *const sess, BACKEND *const + + a.control_sock = control_sock; + a.backends = backends; +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + lh_TABNODE_doall_DUMP_ARG(sess, t_dump_doall_arg, &a); + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, sess, LHASH_DOALL_ARG_FN(t_dump), DUMP_ARG, &a); +-- +1.9.1 + diff --git a/package/pound/pound.hash b/package/pound/pound.hash index 6908b9060c..7fbf01b89b 100644 --- a/package/pound/pound.hash +++ b/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/package/pound/pound.mk b/package/pound/pound.mk index 6f7cc848f8..d6839fc2e7 100644 --- a/package/pound/pound.mk +++ b/package/pound/pound.mk @@ -4,12 +4,12 @@ # ################################################################################ -POUND_VERSION = 2.7 +POUND_VERSION = 2.8 POUND_SITE = http://www.apsis.ch/pound POUND_SOURCE = Pound-$(POUND_VERSION).tgz POUND_LICENSE = GPL-3.0+ POUND_LICENSE_FILES = GPL.txt -POUND_DEPENDENCIES = openssl +POUND_DEPENDENCIES = openssl host-openssl # Force owner/group to us, otherwise it will try proxy:proxy by # default. diff --git a/package/pppd/0002-pppd-Use-openssl-for-the-DES-instead-of-the-libcrypt-glibc.patch b/package/pppd/0002-pppd-Use-openssl-for-the-DES-instead-of-the-libcrypt-glibc.patch new file mode 100644 index 0000000000..3804edc6db --- /dev/null +++ b/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/package/pppd/0003-Add-OPENSSL_INCLUDE_DIR.patch b/package/pppd/0003-Add-OPENSSL_INCLUDE_DIR.patch new file mode 100644 index 0000000000..e629a2dec1 --- /dev/null +++ b/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/package/pppd/Config.in b/package/pppd/Config.in index ee89a577f2..bf05689f53 100644 --- a/package/pppd/Config.in +++ b/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/package/pppd/pppd.mk b/package/pppd/pppd.mk index 6b86a4d3dc..4dffc17941 100644 --- a/package/pppd/pppd.mk +++ b/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/package/pps-tools/pps-tools.hash b/package/pps-tools/pps-tools.hash index da7bce45bf..1e54c29463 100644 --- a/package/pps-tools/pps-tools.hash +++ b/package/pps-tools/pps-tools.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 eee0a76118cf11d94f575ee43804a6991379f2c734b400ba01ac4811d0498e97 pps-tools-47333f24af878f67ce48022e8af16419713aa1ac.tar.gz +sha256 1168f1474235017af413afdb07288303ad7a7b12a0282f3bf9ed0e22fe0d7d2e pps-tools-e2b25049df9a4da28168b7378016f1650d0dfa6b.tar.gz diff --git a/package/pps-tools/pps-tools.mk b/package/pps-tools/pps-tools.mk index 37bb7e1f8c..2d82cf7dad 100644 --- a/package/pps-tools/pps-tools.mk +++ b/package/pps-tools/pps-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -PPS_TOOLS_VERSION = 47333f24af878f67ce48022e8af16419713aa1ac +PPS_TOOLS_VERSION = e2b25049df9a4da28168b7378016f1650d0dfa6b PPS_TOOLS_SITE = $(call github,ago,pps-tools,$(PPS_TOOLS_VERSION)) PPS_TOOLS_INSTALL_STAGING = YES PPS_TOOLS_LICENSE = GPL-2.0+ diff --git a/package/proftpd/Config.in b/package/proftpd/Config.in index e979d407cf..edec37c8dd 100644 --- a/package/proftpd/Config.in +++ b/package/proftpd/Config.in @@ -20,4 +20,72 @@ config BR2_PACKAGE_PROFTPD_MOD_REDIS The mod_redis module enables ProFTPD support for caching data in Redis servers, using the hiredis client library. +config BR2_PACKAGE_PROFTPD_MOD_SFTP + bool "mod_sftp support" + select BR2_PACKAGE_OPENSSL + help + Compile ProFTPD with mod_sftp support + +config BR2_PACKAGE_PROFTPD_MOD_SQL + bool "mod_sql support" + help + Compile ProFTPD with mod_sql support. + +if BR2_PACKAGE_PROFTPD_MOD_SQL + +config BR2_PACKAGE_PROFTPD_MOD_SQL_SQLITE + bool "mod_sql_sqlite support" + select BR2_PACKAGE_SQLITE + help + Compile ProFTPD with mod_sql_sqlite support. + +endif + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB + bool "mod_quotatab support" + help + Compile ProFTPD with mod_quotatab support. This module + is required in order to support quota tables: + 1. mod_quotatab_file + 2. mod_quotatab_ldap + 3. mod_quotatab_radius + 4. mod_quotatab_sql + +if BR2_PACKAGE_PROFTPD_MOD_QUOTATAB + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_FILE + bool "mod_quotatab_file table support" + help + Compile mod_quotatab with mod_quotatab_file table. + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_LDAP + bool "mod_quotatab_ldap table support" + help + Compile mod_quotatab with mod_quotatab_ldap table. + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_RADIUS + bool "mod_quotatab_radius table support" + help + Compile mod_quotatab with mod_quotatab_radius table. + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_SQL + bool "mod_quotatab_sql table support" + select BR2_PACKAGE_PROFTPD_MOD_SQL + help + Compile mod_quotatab with mod_quotatab_sql table. + +endif + +config BR2_PACKAGE_PROFTPD_BUFFER_SIZE + int "buffer size in bytes (0 for default)" + default "0" + help + By increasing the buffer size above the default of 1K, + proftpd reads and writes data in larger chunks, and makes + fewer expensive system calls. Use of this option to set buffer + sizes of 8K or more has been reported to drastically increase + transfer speeds (depending on network configurations). + + 0 uses the default size of 1024. + endif diff --git a/package/proftpd/S50proftpd b/package/proftpd/S50proftpd old mode 100755 new mode 100644 diff --git a/package/proftpd/proftpd.mk b/package/proftpd/proftpd.mk index 3e165c6ada..67d8eb8c6f 100644 --- a/package/proftpd/proftpd.mk +++ b/package/proftpd/proftpd.mk @@ -20,11 +20,13 @@ PROFTPD_CONF_OPTS = \ --disable-ncurses \ --disable-facl \ --disable-dso \ + --enable-sendfile \ --enable-shadow \ - --with-gnu-ld + --with-gnu-ld \ + --without-openssl-cmdline ifeq ($(BR2_PACKAGE_PROFTPD_MOD_REWRITE),y) -PROFTPD_CONF_OPTS += --with-modules=mod_rewrite +PROFTPD_MODULES += mod_rewrite endif ifeq ($(BR2_PACKAGE_PROFTPD_MOD_REDIS),y) @@ -34,6 +36,45 @@ else PROFTPD_CONF_OPTS += --disable-redis endif +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_SFTP),y) +PROFTPD_CONF_OPTS += --enable-openssl +PROFTPD_MODULES += mod_sftp +PROFTPD_DEPENDENCIES += openssl +else +PROFTPD_CONF_OPTS += --disable-openssl +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_SQL),y) +PROFTPD_MODULES += mod_sql +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_SQL_SQLITE),y) +PROFTPD_MODULES += mod_sql_sqlite +PROFTPD_DEPENDENCIES += sqlite +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB),y) +PROFTPD_MODULES += mod_quotatab +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_FILE),y) +PROFTPD_MODULES += mod_quotatab_file +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_LDAP),y) +PROFTPD_MODULES += mod_quotatab_ldap +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_RADIUS),y) +PROFTPD_MODULES += mod_quotatab_radius +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_SQL),y) +PROFTPD_MODULES += mod_quotatab_sql +endif + +PROFTPD_CONF_OPTS += --with-modules=$(subst $(space),:,$(PROFTPD_MODULES)) + # configure script doesn't handle detection of %llu format string # support for printing the file size when cross compiling, breaking # access for large files. @@ -52,9 +93,23 @@ PROFTPD_POST_CONFIGURE_HOOKS = PROFTPD_MAKENAMES PROFTPD_MAKE = $(MAKE1) +# install Perl based scripts in target +ifeq ($(BR2_PACKAGE_PERL),y) +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB),y) +define PROFTPD_INSTALL_FTPQUOTA + $(INSTALL) -D -m 0755 $(@D)/contrib/ftpquota $(TARGET_DIR)/usr/sbin/ftpquota +endef +endif +define PROFTPD_INSTALL_FTPASSWD + $(INSTALL) -D -m 0755 $(@D)/contrib/ftpasswd $(TARGET_DIR)/usr/sbin/ftpasswd +endef +endif + define PROFTPD_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/proftpd $(TARGET_DIR)/usr/sbin/proftpd $(INSTALL) -m 0644 -D $(@D)/sample-configurations/basic.conf $(TARGET_DIR)/etc/proftpd.conf + $(PROFTPD_INSTALL_FTPQUOTA) + $(PROFTPD_INSTALL_FTPASSWD) endef define PROFTPD_USERS @@ -73,4 +128,8 @@ define PROFTPD_INSTALL_INIT_SYSTEMD $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/proftpd.service endef +ifneq ($(BR2_PACKAGE_PROFTPD_BUFFER_SIZE),0) +PROFTPD_CONF_OPTS += --enable-buffer-size=$(BR2_PACKAGE_PROFTPD_BUFFER_SIZE) +endif + $(eval $(autotools-package)) diff --git a/package/prosody/0001-enable-syslog.patch b/package/prosody/0001-enable-syslog.patch index 4bd0a15aed..16acc89c5a 100644 --- a/package/prosody/0001-enable-syslog.patch +++ b/package/prosody/0001-enable-syslog.patch @@ -11,7 +11,7 @@ diff --git a/prosody.cfg.lua.dist b/prosody.cfg.lua.dist index a0fc6c9e..af3cc0e4 100644 --- a/prosody.cfg.lua.dist +++ b/prosody.cfg.lua.dist -@@ -163,7 +163,7 @@ archive_expires_after = "1w" -- Remove archived messages after 1 week +@@ -155,7 +155,7 @@ archive_expires_after = "1w" -- Remove archived messages after 1 week log = { info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging error = "prosody.err"; diff --git a/package/prosody/0002-add-pidfile.patch b/package/prosody/0002-add-pidfile.patch index b6af8dd822..6221fd0856 100644 --- a/package/prosody/0002-add-pidfile.patch +++ b/package/prosody/0002-add-pidfile.patch @@ -11,9 +11,9 @@ diff --git a/prosody.cfg.lua.dist b/prosody.cfg.lua.dist index af3cc0e4..675db12f 100644 --- a/prosody.cfg.lua.dist +++ b/prosody.cfg.lua.dist -@@ -181,6 +181,9 @@ log = { - -- Location of directory to find certificates in (relative to main config file): - certificates = "certs" +@@ -176,6 +176,9 @@ log = { + -- HTTPS currently only supports a single certificate, specify it here: + --https_certificate = "certs/localhost.crt" +-- This must match the PIDFILE used in S50prosody +pidfile = "/var/run/prosody/prosody.pid" diff --git a/package/prosody/Config.in b/package/prosody/Config.in index 133b0b1343..c32ca20e23 100644 --- a/package/prosody/Config.in +++ b/package/prosody/Config.in @@ -2,7 +2,9 @@ config BR2_PACKAGE_PROSODY bool "prosody" depends on BR2_USE_MMU # fork depends on BR2_PACKAGE_HAS_LUAINTERPRETER + depends on !BR2_PACKAGE_LUA_5_3 depends on !BR2_STATIC_LIBS # luaexpat, luasec, luasocket, luafilesystem + select BR2_PACKAGE_LUABITOP if !BR2_PACKAGE_LUAJIT # runtime select BR2_PACKAGE_LUAEXPAT # runtime select BR2_PACKAGE_LUASEC # runtime select BR2_PACKAGE_LUASOCKET # runtime @@ -19,3 +21,6 @@ config BR2_PACKAGE_PROSODY comment "prosody needs the lua interpreter, dynamic library" depends on !BR2_PACKAGE_HAS_LUAINTERPRETER || BR2_STATIC_LIBS depends on BR2_USE_MMU + +comment "prosody needs a Lua 5.1/5.2 interpreter" + depends on BR2_PACKAGE_LUA_5_3 diff --git a/package/prosody/prosody.hash b/package/prosody/prosody.hash index 898d21814f..f3f9aa4777 100644 --- a/package/prosody/prosody.hash +++ b/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 b4529e0cf8e0ee82a2f677e404c3df35 prosody-0.11.2.tar.gz +sha1 0508cfc1c3c74a7eb8fdac2ed50435e190930f6a prosody-0.11.2.tar.gz +sha256 8911f6dc29b9e0c4edf9e61dc23fa22d77bc42c4caf28b809ab843b2f08e4831 prosody-0.11.2.tar.gz +sha512 22e55a551a40c92f38a1ed1de5fdcad574d699d58c2e27f93c3d465b55487b8e923c2ba088daf93c7140cbafb0d429687e0b662c8bb1c1aba4b79ac1ea271cd1 prosody-0.11.2.tar.gz # Hash for license file: sha256 bbbdc1c5426e5944cf869fc0faeaf19d88a220cd2b39ea98b7b8e86b0e88a2ef COPYING diff --git a/package/prosody/prosody.mk b/package/prosody/prosody.mk index d95578253d..c2111f6b83 100644 --- a/package/prosody/prosody.mk +++ b/package/prosody/prosody.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROSODY_VERSION = 0.10.0 +PROSODY_VERSION = 0.11.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/package/psmisc/0001-link-against-libintl.patch b/package/psmisc/0001-link-against-libintl.patch deleted file mode 100644 index bf6b97175f..0000000000 --- a/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/package/psmisc/0002-add-git-version-get.patch b/package/psmisc/0002-add-git-version-get.patch deleted file mode 100644 index e75fb1d3ce..0000000000 --- a/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/package/psmisc/psmisc.hash b/package/psmisc/psmisc.hash index 8ce8e00d35..8e380a5591 100644 --- a/package/psmisc/psmisc.hash +++ b/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/package/psmisc/psmisc.mk b/package/psmisc/psmisc.mk index ee441f582d..e9a7b00c9d 100644 --- a/package/psmisc/psmisc.mk +++ b/package/psmisc/psmisc.mk @@ -4,19 +4,12 @@ # ################################################################################ -PSMISC_VERSION = 23.1 +PSMISC_VERSION = 23.2 PSMISC_SITE = http://downloads.sourceforge.net/project/psmisc/psmisc PSMISC_SOURCE = psmisc-$(PSMISC_VERSION).tar.xz PSMISC_LICENSE = GPL-2.0+ PSMISC_LICENSE_FILES = COPYING PSMISC_DEPENDENCIES = ncurses $(TARGET_NLS_DEPENDENCIES) -# Patching Makefile.am -PSMISC_AUTORECONF = YES - -define PSMISC_GIT_VERSION_EXEC - chmod +x $(@D)/misc/git-version-gen -endef -PSMISC_POST_PATCH_HOOKS += PSMISC_GIT_VERSION_EXEC ifeq ($(BR2_TOOLCHAIN_HAS_SSP),) # Don't force -fstack-protector when SSP is not available in toolchain diff --git a/package/ptpd/S65ptpd b/package/ptpd/S65ptpd old mode 100755 new mode 100644 diff --git a/package/ptpd2/S65ptpd2 b/package/ptpd2/S65ptpd2 old mode 100755 new mode 100644 diff --git a/package/pugixml/Config.in b/package/pugixml/Config.in index c37b1df9e5..6b7d2e3259 100644 --- a/package/pugixml/Config.in +++ b/package/pugixml/Config.in @@ -18,5 +18,37 @@ config BR2_PACKAGE_PUGIXML http://pugixml.org/ https://github.com/zeux/pugixml +if BR2_PACKAGE_PUGIXML + +config BR2_PACKAGE_PUGIXML_XPATH_SUPPORT + bool "Enable XPath support" + default y + help + When disabled, both XPath interfaces and XPath implementation + are excluded from compilation. This option is provided in case + you do not need XPath functionality and need to save code + space. + +config BR2_PACKAGE_PUGIXML_COMPACT + bool "Enable compact mode" + help + Activates a different internal representation of document + storage that is much more memory efficient for documents with + a lot of markup (i.e. nodes and attributes), but is slightly + slower to parse and access. + + http://pugixml.org/docs/manual.html#dom.memory.compact + +config BR2_PACKAGE_PUGIXML_HEADER_ONLY + bool "Enable header-only version" + help + All source code for pugixml will be included in every + translation unit that includes pugixml.hpp. This is how most + of Boost and STL libraries work. + + http://pugixml.org/docs/manual.html#install.building.header + +endif + comment "pugixml needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/pugixml/pugixml.mk b/package/pugixml/pugixml.mk index e5188e5f53..8edaddd827 100644 --- a/package/pugixml/pugixml.mk +++ b/package/pugixml/pugixml.mk @@ -10,4 +10,24 @@ PUGIXML_LICENSE = MIT PUGIXML_LICENSE_FILES = readme.txt PUGIXML_INSTALL_STAGING = YES +# Pugixml will automatically enable 'long long' support on C++11 compilers, +# which means gcc 4.8+. As gcc always supports the 'long long' type, +# force-enable this option to support older gcc versions. See also: +# https://gcc.gnu.org/onlinedocs/gcc/Long-Long.html +PUGIXML_BUILD_DEFINES += PUGIXML_HAS_LONG_LONG + +ifeq ($(BR2_PACKAGE_PUGIXML_XPATH_SUPPORT),) +PUGIXML_BUILD_DEFINES += PUGIXML_NO_XPATH +endif +ifeq ($(BR2_PACKAGE_PUGIXML_COMPACT),y) +PUGIXML_BUILD_DEFINES += PUGIXML_COMPACT +endif +ifeq ($(BR2_PACKAGE_PUGIXML_HEADER_ONLY),y) +PUGIXML_BUILD_DEFINES += PUGIXML_HEADER_ONLY +endif + +ifdef PUGIXML_BUILD_DEFINES +PUGIXML_CONF_OPTS += -DBUILD_DEFINES="$(subst $(space),;,$(PUGIXML_BUILD_DEFINES))" +endif + $(eval $(cmake-package)) diff --git a/package/pulseaudio/S50pulseaudio b/package/pulseaudio/S50pulseaudio old mode 100755 new mode 100644 index c1d88626f4..ea343a716d --- a/package/pulseaudio/S50pulseaudio +++ b/package/pulseaudio/S50pulseaudio @@ -7,12 +7,19 @@ start() { printf "Starting pulseaudio: " umask 077 - /usr/bin/pulseaudio --system --daemonize + /usr/bin/pulseaudio \ + --system \ + --daemonize \ + --disallow-module-loading \ + --disallow-exit \ + --exit-idle-time=-1 \ + --use-pid-file \ + --disable-shm echo "OK" } stop() { printf "Stopping pulseaudio: " - pulseaudio --kill + PULSE_RUNTIME_PATH=/var/run/pulse /usr/bin/pulseaudio --kill echo "OK" } restart() { diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk index d1c35654cf..c91af22935 100644 --- a/package/pulseaudio/pulseaudio.mk +++ b/package/pulseaudio/pulseaudio.mk @@ -21,7 +21,7 @@ PULSEAUDIO_DEPENDENCIES = \ $(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \ $(if $(BR2_PACKAGE_DBUS),dbus) \ $(if $(BR2_PACKAGE_OPENSSL),openssl) \ - $(if $(BR2_PACKAGE_FFTW),fftw) \ + $(if $(BR2_PACKAGE_FFTW_SINGLE),fftw-single) \ $(if $(BR2_PACKAGE_SYSTEMD),systemd) ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) diff --git a/package/pulseview/0001-mainbar-fix-build-without-libsigrokdecode.patch b/package/pulseview/0001-mainbar-fix-build-without-libsigrokdecode.patch new file mode 100644 index 0000000000..5cf0c446a6 --- /dev/null +++ b/package/pulseview/0001-mainbar-fix-build-without-libsigrokdecode.patch @@ -0,0 +1,37 @@ +From da124df864dd7555733d6690eacf856435d55b2d Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski +Date: Mon, 3 Dec 2018 13:14:16 +0100 +Subject: [PATCH] mainbar: fix build without libsigrokdecode + +We must not include decodesignal.hpp if we're not using libsigrokdecode +or the build will fail due to libsigrokdecode.hpp not being present in +the system. + +Signed-off-by: Bartosz Golaszewski +--- + pv/toolbars/mainbar.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pv/toolbars/mainbar.cpp b/pv/toolbars/mainbar.cpp +index e6beb2b..7c4d0fb 100644 +--- a/pv/toolbars/mainbar.cpp ++++ b/pv/toolbars/mainbar.cpp +@@ -35,7 +35,6 @@ + + #include + +-#include + #include + #include + #include +@@ -52,6 +51,7 @@ + #include + #ifdef ENABLE_DECODE + #include ++#include + #endif + + #include +-- +2.19.1 + diff --git a/package/pulseview/Config.in b/package/pulseview/Config.in index 301acf7d90..01e522e1c5 100644 --- a/package/pulseview/Config.in +++ b/package/pulseview/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_PULSEVIEW depends on !BR2_STATIC_LIBS # libsigrok depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBSIGROK select BR2_PACKAGE_LIBSIGROKCXX select BR2_PACKAGE_QT5BASE_WIDGETS @@ -18,7 +19,6 @@ config BR2_PACKAGE_PULSEVIEW select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_SYSTEM - select BR2_PACKAGE_BOOST_THREAD select BR2_PACKAGE_BOOST_SERIALIZATION help PulseView is a Qt based logic analyzer, oscilloscope @@ -26,8 +26,9 @@ config BR2_PACKAGE_PULSEVIEW http://sigrok.org/wiki/PulseView -comment "pulseview needs a toolchain w/ wchar, threads, dynamic library, C++, gcc >= 4.9" +comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_PACKAGE_QT5 depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS + || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \ + || BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE diff --git a/package/pulseview/pulseview.hash b/package/pulseview/pulseview.hash index 7883eabe59..09b9d67bc2 100644 --- a/package/pulseview/pulseview.hash +++ b/package/pulseview/pulseview.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 78f8291045c6f65b4827b12e83c8e68cea2d5e7268b15a51aaca9726c8100eb9 pulseview-0.4.0.tar.gz +sha256 9ee7ce3dd1457c6a5f5e4e9c2469903a1f070ba077ea68535cc29ef1dfac6f2f pulseview-0.4.1.tar.gz diff --git a/package/pulseview/pulseview.mk b/package/pulseview/pulseview.mk index e9bbf4f5c0..67d525f626 100644 --- a/package/pulseview/pulseview.mk +++ b/package/pulseview/pulseview.mk @@ -4,7 +4,7 @@ # ################################################################################ -PULSEVIEW_VERSION = 0.4.0 +PULSEVIEW_VERSION = 0.4.1 PULSEVIEW_SITE = http://sigrok.org/download/source/pulseview PULSEVIEW_LICENSE = GPL-3.0+ PULSEVIEW_LICENSE_FILES = COPYING diff --git a/package/pure-ftpd/pure-ftpd.mk b/package/pure-ftpd/pure-ftpd.mk index ae3ca9d1f0..6b85b0c651 100644 --- a/package/pure-ftpd/pure-ftpd.mk +++ b/package/pure-ftpd/pure-ftpd.mk @@ -31,12 +31,17 @@ ifeq ($(BR2_PACKAGE_LIBSODIUM),y) PURE_FTPD_DEPENDENCIES += libsodium endif +ifeq ($(BR2_PACKAGE_OPENLDAP),y) +PURE_FTPD_CONF_OPTS += --with-ldap +PURE_FTPD_DEPENDENCIES += openldap +else +PURE_FTPD_CONF_OPTS += --without-ldap +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) PURE_FTPD_CONF_OPTS += --with-tls -PURE_FTPD_DEPENDENCIES += openssl -ifeq ($(BR2_STATIC_LIBS),y) -PURE_FTPD_CONF_ENV += LIBS='-lssl -lcrypto -lz' -endif +PURE_FTPD_DEPENDENCIES += host-pkgconf openssl +PURE_FTPD_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` else PURE_FTPD_CONF_OPTS += --without-tls endif diff --git a/package/putty/0001-Fix-compilation-with-NO_GSSAPI.patch b/package/putty/0001-Fix-compilation-with-NO_GSSAPI.patch new file mode 100644 index 0000000000..56a29e19dc --- /dev/null +++ b/package/putty/0001-Fix-compilation-with-NO_GSSAPI.patch @@ -0,0 +1,266 @@ +From 7ad08649a223a4cd61e67d8334a147f55c79399d Mon Sep 17 00:00:00 2001 +From: Jacob Nevins +Date: Mon, 25 Mar 2019 23:46:59 +0000 +Subject: [PATCH] Fix compilation with NO_GSSAPI. + +This is a fairly shallow patch, which removes the UI and interactions +with external libraries. Some other machinery (which is dead code in +this configuration) is left in place. + +Adapted by me from a patch by Jeroen Roovers. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 7ad08649a22 + + config.c | 4 ++++ + settings.c | 12 ++++++++++-- + ssh.c | 16 +++++++++++++++- + ssh2transport.c | 3 +-- + ssh2userauth.c | 8 ++++++-- + sshserver.c | 13 ++++++++++++- + 6 files changed, 48 insertions(+), 8 deletions(-) + +diff --git a/config.c b/config.c +index 9c299feecc21..6528a9696584 100644 +--- a/config.c ++++ b/config.c +@@ -2442,10 +2442,12 @@ void setup_config_box(struct controlbox *b, bool midsession, + HELPCTX(ssh_kexlist), + kexlist_handler, P(NULL)); + c->listbox.height = KEX_MAX; ++#ifndef NO_GSSAPI + ctrl_checkbox(s, "Attempt GSSAPI key exchange", + 'k', HELPCTX(ssh_gssapi), + conf_checkbox_handler, + I(CONF_try_gssapi_kex)); ++#endif + + s = ctrl_getset(b, "Connection/SSH/Kex", "repeat", + "Options controlling key re-exchange"); +@@ -2455,11 +2457,13 @@ void setup_config_box(struct controlbox *b, bool midsession, + conf_editbox_handler, + I(CONF_ssh_rekey_time), + I(-1)); ++#ifndef NO_GSSAPI + ctrl_editbox(s, "Minutes between GSS checks (0 for never)", NO_SHORTCUT, 20, + HELPCTX(ssh_kex_repeat), + conf_editbox_handler, + I(CONF_gssapirekey), + I(-1)); ++#endif + ctrl_editbox(s, "Max data before rekey (0 for no limit)", 'x', 20, + HELPCTX(ssh_kex_repeat), + conf_editbox_handler, +diff --git a/settings.c b/settings.c +index 8d56302677d9..54f5ab7b2919 100644 +--- a/settings.c ++++ b/settings.c +@@ -592,21 +592,25 @@ void save_open_settings(settings_w *sesskey, Conf *conf) + write_setting_b(sesskey, "Compression", conf_get_bool(conf, CONF_compression)); + write_setting_b(sesskey, "TryAgent", conf_get_bool(conf, CONF_tryagent)); + write_setting_b(sesskey, "AgentFwd", conf_get_bool(conf, CONF_agentfwd)); ++#ifndef NO_GSSAPI + write_setting_b(sesskey, "GssapiFwd", conf_get_bool(conf, CONF_gssapifwd)); ++#endif + write_setting_b(sesskey, "ChangeUsername", conf_get_bool(conf, CONF_change_username)); + wprefs(sesskey, "Cipher", ciphernames, CIPHER_MAX, conf, CONF_ssh_cipherlist); + wprefs(sesskey, "KEX", kexnames, KEX_MAX, conf, CONF_ssh_kexlist); + wprefs(sesskey, "HostKey", hknames, HK_MAX, conf, CONF_ssh_hklist); + write_setting_i(sesskey, "RekeyTime", conf_get_int(conf, CONF_ssh_rekey_time)); ++#ifndef NO_GSSAPI + write_setting_i(sesskey, "GssapiRekey", conf_get_int(conf, CONF_gssapirekey)); ++#endif + write_setting_s(sesskey, "RekeyBytes", conf_get_str(conf, CONF_ssh_rekey_data)); + write_setting_b(sesskey, "SshNoAuth", conf_get_bool(conf, CONF_ssh_no_userauth)); + write_setting_b(sesskey, "SshBanner", conf_get_bool(conf, CONF_ssh_show_banner)); + write_setting_b(sesskey, "AuthTIS", conf_get_bool(conf, CONF_try_tis_auth)); + write_setting_b(sesskey, "AuthKI", conf_get_bool(conf, CONF_try_ki_auth)); ++#ifndef NO_GSSAPI + write_setting_b(sesskey, "AuthGSSAPI", conf_get_bool(conf, CONF_try_gssapi_auth)); + write_setting_b(sesskey, "AuthGSSAPIKEX", conf_get_bool(conf, CONF_try_gssapi_kex)); +-#ifndef NO_GSSAPI + wprefs(sesskey, "GSSLibs", gsslibkeywords, ngsslibs, conf, CONF_ssh_gsslist); + write_setting_filename(sesskey, "GSSCustom", conf_get_filename(conf, CONF_ssh_gss_custom)); + #endif +@@ -937,7 +941,9 @@ void load_open_settings(settings_r *sesskey, Conf *conf) + gppb(sesskey, "TryAgent", true, conf, CONF_tryagent); + gppb(sesskey, "AgentFwd", false, conf, CONF_agentfwd); + gppb(sesskey, "ChangeUsername", false, conf, CONF_change_username); ++#ifndef NO_GSSAPI + gppb(sesskey, "GssapiFwd", false, conf, CONF_gssapifwd); ++#endif + gprefs(sesskey, "Cipher", "\0", + ciphernames, CIPHER_MAX, conf, CONF_ssh_cipherlist); + { +@@ -990,7 +996,9 @@ void load_open_settings(settings_r *sesskey, Conf *conf) + gprefs(sesskey, "HostKey", "ed25519,ecdsa,rsa,dsa,WARN", + hknames, HK_MAX, conf, CONF_ssh_hklist); + gppi(sesskey, "RekeyTime", 60, conf, CONF_ssh_rekey_time); ++#ifndef NO_GSSAPI + gppi(sesskey, "GssapiRekey", GSS_DEF_REKEY_MINS, conf, CONF_gssapirekey); ++#endif + gpps(sesskey, "RekeyBytes", "1G", conf, CONF_ssh_rekey_data); + { + /* SSH-2 only by default */ +@@ -1007,9 +1015,9 @@ void load_open_settings(settings_r *sesskey, Conf *conf) + gppb(sesskey, "SshBanner", true, conf, CONF_ssh_show_banner); + gppb(sesskey, "AuthTIS", false, conf, CONF_try_tis_auth); + gppb(sesskey, "AuthKI", true, conf, CONF_try_ki_auth); ++#ifndef NO_GSSAPI + gppb(sesskey, "AuthGSSAPI", true, conf, CONF_try_gssapi_auth); + gppb(sesskey, "AuthGSSAPIKEX", true, conf, CONF_try_gssapi_kex); +-#ifndef NO_GSSAPI + gprefs(sesskey, "GSSLibs", "\0", + gsslibkeywords, ngsslibs, conf, CONF_ssh_gsslist); + gppfile(sesskey, "GSSCustom", conf, CONF_ssh_gss_custom); +diff --git a/ssh.c b/ssh.c +index e35ebc64e2b5..e8ad61b8085d 100644 +--- a/ssh.c ++++ b/ssh.c +@@ -50,7 +50,9 @@ struct Ssh { + ssh_sharing_state *connshare; + bool attempting_connshare; + ++#ifndef NO_GSSAPI + struct ssh_connection_shared_gss_state gss_state; ++#endif + + char *savedhost; + int savedport; +@@ -252,10 +254,18 @@ static void ssh_got_ssh_version(struct ssh_version_receiver *rcv, + conf_get_bool(ssh->conf, CONF_tryagent), username, + conf_get_bool(ssh->conf, CONF_change_username), + conf_get_bool(ssh->conf, CONF_try_ki_auth), ++#ifndef NO_GSSAPI + conf_get_bool(ssh->conf, CONF_try_gssapi_auth), + conf_get_bool(ssh->conf, CONF_try_gssapi_kex), + conf_get_bool(ssh->conf, CONF_gssapifwd), +- &ssh->gss_state); ++ &ssh->gss_state ++#else ++ false, ++ false, ++ false, ++ NULL ++#endif ++ ); + ssh_connect_ppl(ssh, userauth_layer); + transport_child_layer = userauth_layer; + +@@ -267,7 +277,11 @@ static void ssh_got_ssh_version(struct ssh_version_receiver *rcv, + ssh->fullhostname, + ssh_verstring_get_local(old_bpp), + ssh_verstring_get_remote(old_bpp), ++#ifndef NO_GSSAPI + &ssh->gss_state, ++#else ++ NULL, ++#endif + &ssh->stats, transport_child_layer, false); + ssh_connect_ppl(ssh, ssh->base_layer); + +diff --git a/ssh2transport.c b/ssh2transport.c +index 8640d89d4be4..5e8955a0275f 100644 +--- a/ssh2transport.c ++++ b/ssh2transport.c +@@ -1781,6 +1781,7 @@ static void ssh2_transport_gss_update(struct ssh2_transport_state *s, + if (mins > 0 && s->gss_ctxt_lifetime <= mins * 60) + s->gss_status |= GSS_CTXT_EXPIRES; + } ++#endif /* NO_GSSAPI */ + + ptrlen ssh2_transport_get_session_id(PacketProtocolLayer *ppl) + { +@@ -1805,8 +1806,6 @@ void ssh2_transport_notify_auth_done(PacketProtocolLayer *ppl) + queue_idempotent_callback(&s->ppl.ic_process_queue); + } + +-#endif /* NO_GSSAPI */ +- + static bool ssh2_transport_get_specials( + PacketProtocolLayer *ppl, add_special_fn_t add_special, void *ctx) + { +diff --git a/ssh2userauth.c b/ssh2userauth.c +index fc4139230557..7f5a129295ab 100644 +--- a/ssh2userauth.c ++++ b/ssh2userauth.c +@@ -613,8 +613,10 @@ static void ssh2_userauth_process_queue(PacketProtocolLayer *ppl) + * Scan it for method identifiers we know about. + */ + bool srv_pubkey = false, srv_passwd = false; +- bool srv_keyb_inter = false, srv_gssapi = false; +- bool srv_gssapi_keyex_auth = false; ++ bool srv_keyb_inter = false; ++#ifndef NO_GSSAPI ++ bool srv_gssapi = false, srv_gssapi_keyex_auth = false; ++#endif + + for (ptrlen method; get_commasep_word(&methods, &method) ;) { + if (ptrlen_eq_string(method, "publickey")) +@@ -623,10 +625,12 @@ static void ssh2_userauth_process_queue(PacketProtocolLayer *ppl) + srv_passwd = true; + else if (ptrlen_eq_string(method, "keyboard-interactive")) + srv_keyb_inter = true; ++#ifndef NO_GSSAPI + else if (ptrlen_eq_string(method, "gssapi-with-mic")) + srv_gssapi = true; + else if (ptrlen_eq_string(method, "gssapi-keyex")) + srv_gssapi_keyex_auth = true; ++#endif + } + + /* +diff --git a/sshserver.c b/sshserver.c +index 5f6e7ddeeaec..5c34bb356757 100644 +--- a/sshserver.c ++++ b/sshserver.c +@@ -50,7 +50,9 @@ struct server { + PacketProtocolLayer *base_layer; + ConnectionLayer *cl; + ++#ifndef NO_GSSAPI + struct ssh_connection_shared_gss_state gss_state; ++#endif + }; + + static void ssh_server_free_callback(void *vsrv); +@@ -245,9 +247,11 @@ Plug *ssh_server_plug( + bufchain_init(&srv->out_raw); + bufchain_init(&srv->dummy_user_input); + ++#ifndef NO_GSSAPI + /* FIXME: replace with sensible */ + srv->gss_state.libs = snew(struct ssh_gss_liblist); + srv->gss_state.libs->nlibraries = 0; ++#endif + + return &srv->plug; + } +@@ -297,7 +301,9 @@ static void ssh_server_free_callback(void *vsrv) + conf_free(srv->conf); + log_free(srv->logctx); + ++#ifndef NO_GSSAPI + sfree(srv->gss_state.libs); /* FIXME: replace with sensible */ ++#endif + + sfree(srv); + +@@ -442,7 +448,12 @@ static void server_got_ssh_version(struct ssh_version_receiver *rcv, + srv->conf, NULL, 0, NULL, + ssh_verstring_get_remote(old_bpp), + ssh_verstring_get_local(old_bpp), +- &srv->gss_state, &srv->stats, transport_child_layer, true); ++#ifndef NO_GSSAPI ++ &srv->gss_state, ++#else ++ NULL, ++#endif ++ &srv->stats, transport_child_layer, true); + ssh2_transport_provide_hostkeys( + srv->base_layer, srv->hostkeys, srv->nhostkeys); + if (userauth_layer) +-- +2.20.1 + diff --git a/package/putty/0002-unix-uxpoll-need-_XOPEN_SOURCE.patch b/package/putty/0002-unix-uxpoll-need-_XOPEN_SOURCE.patch new file mode 100644 index 0000000000..fb4b6c26e5 --- /dev/null +++ b/package/putty/0002-unix-uxpoll-need-_XOPEN_SOURCE.patch @@ -0,0 +1,39 @@ +From c1b9d07d39e33e40d2ad04be176367cf48271cfd Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 26 Mar 2019 20:00:45 +0200 +Subject: [PATCH] unix/uxpoll: need _XOPEN_SOURCE +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The code needs _XOPEN_SOURCE for some poll() flags. + +Fix this build failure with uClibc: + +./../unix/uxpoll.c: In function ‘pollwrap_add_fd_rwx’: +./../unix/uxpoll.c:75:32: error: ‘POLLRDNORM’ undeclared (first use in this function); did you mean ‘POLLNVAL’? + #define SELECT_R_IN (POLLIN | POLLRDNORM | POLLRDBAND) + ^ +./../unix/uxpoll.c:87:19: note: in expansion of macro ‘SELECT_R_IN’ + events |= SELECT_R_IN; + ^~~~~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: issue reported to upstream developers + + unix/uxpoll.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/unix/uxpoll.c b/unix/uxpoll.c +index bbc5490d125d..6fe6ac7ba0c1 100644 +--- a/unix/uxpoll.c ++++ b/unix/uxpoll.c +@@ -1,3 +1,4 @@ ++#define _XOPEN_SOURCE + #include + + #include "putty.h" +-- +2.20.1 + diff --git a/package/putty/0003-Fix-uClibc-build-issues.patch b/package/putty/0003-Fix-uClibc-build-issues.patch new file mode 100644 index 0000000000..ceefded976 --- /dev/null +++ b/package/putty/0003-Fix-uClibc-build-issues.patch @@ -0,0 +1,93 @@ +From 0554cfbb926a2ba26efda08865b270af8536e0bb Mon Sep 17 00:00:00 2001 +From: Simon Tatham +Date: Tue, 26 Mar 2019 20:03:09 +0200 +Subject: [PATCH] Fix uClibc build issues +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fix two uClibc build failures. + +Missing sys/auxv.h header: + +./../unix/uxutils.c:5:10: fatal error: sys/auxv.h: No such file or directory + #include + ^~~~~~~~~~~~ + +Missing futimes() implementation: + +./../unix/uxsftpserver.c: In function ‘uss_fsetstat’: +./../unix/uxsftpserver.c:441:25: warning: implicit declaration of function ‘futimes’; did you mean ‘lutimes’? [-Wimplicit-function-declaration] + #define FD_PREFIX(func) f ## func + ^ +./../unix/uxsftpserver.c:435:17: note: in expansion of macro ‘FD_PREFIX’ + if (api_prefix(utimes)(api_arg, tv) < 0) \ + ^~~~~~~~~~ +./../unix/uxsftpserver.c:470:5: note: in expansion of macro ‘SETSTAT_GUTS’ + SETSTAT_GUTS(FD_PREFIX, fd, attrs, success); + ^~~~~~~~~~~~ + +unix/uxsftpserver.o: In function `uss_fsetstat': +uxsftpserver.c:(.text+0x1058): undefined reference to `futimes' + +Signed-off-by: Baruch Siach +--- +Upstream status: patch suggested by upstream developer Simon Tatham + + configure.ac | 3 ++- + unix/uxsftpserver.c | 10 ++++++++++ + unix/uxutils.c | 3 ++- + 3 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 35552ed24dbe..1949ef62f219 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -173,8 +173,9 @@ AC_CHECK_LIB(X11, XOpenDisplay, + [GTK_LIBS="-lX11 $GTK_LIBS" + AC_DEFINE([HAVE_LIBX11],[],[Define if libX11.a is available])]) + +-AC_CHECK_FUNCS([getaddrinfo posix_openpt ptsname setresuid strsignal updwtmpx fstatat dirfd]) ++AC_CHECK_FUNCS([getaddrinfo posix_openpt ptsname setresuid strsignal updwtmpx fstatat dirfd futimes]) + AC_CHECK_DECLS([CLOCK_MONOTONIC], [], [], [[#include ]]) ++AC_CHECK_HEADERS([sys/auxv.h asm/hwcap.h]) + AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME],[],[Define if clock_gettime() is available])]) + + AC_CACHE_CHECK([for SO_PEERCRED and dependencies], [x_cv_linux_so_peercred], [ +diff --git a/unix/uxsftpserver.c b/unix/uxsftpserver.c +index 6fab0ba090d6..a90344e04219 100644 +--- a/unix/uxsftpserver.c ++++ b/unix/uxsftpserver.c +@@ -412,6 +412,16 @@ static void uss_fstat(SftpServer *srv, SftpReplyBuilder *reply, + } + } + ++#if !HAVE_FUTIMES ++static inline int futimes(int fd, const struct timeval tv[2]) ++{ ++ /* If the OS doesn't support futimes(3) then we have to pretend it ++ * always returns failure */ ++ errno = EINVAL; ++ return -1; ++} ++#endif ++ + /* + * The guts of setstat and fsetstat, macroised so that they can call + * fchown(fd,...) or chown(path,...) depending on parameters. +diff --git a/unix/uxutils.c b/unix/uxutils.c +index fcbcc4d422c1..f01bc2c14a2d 100644 +--- a/unix/uxutils.c ++++ b/unix/uxutils.c +@@ -1,6 +1,7 @@ + #include "ssh.h" + +-#if defined __linux__ && (defined __arm__ || defined __aarch64__) ++#if defined __linux__ && (defined __arm__ || defined __aarch64__) && \ ++ HAVE_SYS_AUXV_H && HAVE_ASM_HWCAP_H + + #include + #include +-- +2.20.1 + diff --git a/package/putty/putty.hash b/package/putty/putty.hash index e0527105c1..30f51848f8 100644 --- a/package/putty/putty.hash +++ b/package/putty/putty.hash @@ -1,3 +1,6 @@ -# Hashes from: http://the.earth.li/~sgtatham/putty/0.70/{sha256,sha512}sums -sha256 bb8aa49d6e96c5a8e18a057f3150a1695ed99a24eef699e783651d1f24e7b0be putty-0.70.tar.gz -sha512 2aaf4fa2b4ad2d82eb5cdc4419ade79e0c5d8bd3c093db92b3c048e6107f85a5f1647f9d8203cda0906ce2b926725a75319f981cb32e6f1ebf50b1f738564fed putty-0.70.tar.gz +# Hashes from: http://the.earth.li/~sgtatham/putty/0.71/{sha256,sha512}sums +sha256 2f931ce2f89780cc8ca7bbed90fcd22c44515d2773f5fa954069e209b48ec6b8 putty-0.71.tar.gz +sha512 f8791210bd5925b26d51b13f0558eea15dbac40808051165b236d6436226f5c2b0aa7d69288ed9e2bddc1066455678cfd0af73ef6b715a136c42f3b6f754ac07 putty-0.71.tar.gz + +# Locally calculated +sha256 b517b4a9504ba0f651d5e590245197b88d9a81d073905cc798cc9464c5ca7ba8 LICENCE diff --git a/package/putty/putty.mk b/package/putty/putty.mk index 52f2d4c3dd..68622a5743 100644 --- a/package/putty/putty.mk +++ b/package/putty/putty.mk @@ -4,13 +4,14 @@ # ################################################################################ -PUTTY_VERSION = 0.70 +PUTTY_VERSION = 0.71 PUTTY_SITE = http://the.earth.li/~sgtatham/putty/$(PUTTY_VERSION) -PUTTY_SUBDIR = unix PUTTY_LICENSE = MIT PUTTY_LICENSE_FILES = LICENCE PUTTY_CONF_OPTS = --disable-gtktest PUTTY_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -Wno-error" +# Patching configure.ac +PUTTY_AUTORECONF = YES ifeq ($(BR2_PACKAGE_LIBGTK2),y) PUTTY_CONF_OPTS += --with-gtk=2 diff --git a/package/python-aiodns/Config.in b/package/python-aiodns/Config.in new file mode 100644 index 0000000000..aa5970598f --- /dev/null +++ b/package/python-aiodns/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIODNS + bool "python-aiodns" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_PYCARES # runtime + help + Simple DNS resolver for asyncio. + + http://github.com/saghul/aiodns diff --git a/package/python-aiodns/python-aiodns.hash b/package/python-aiodns/python-aiodns.hash new file mode 100644 index 0000000000..b66693f869 --- /dev/null +++ b/package/python-aiodns/python-aiodns.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiodns/json +md5 80e0419b49bb4c540b4857ec142219b8 aiodns-1.1.1.tar.gz +sha256 d8677adc679ce8d0ef706c14d9c3d2f27a0e0cc11d59730cdbaf218ad52dd9ea aiodns-1.1.1.tar.gz +# Locally computed sha256 checksums +sha256 eb0455d35129425ed399883cd710923de3e246a510e2eb84d9f00032d0bbec97 LICENSE diff --git a/package/python-aiodns/python-aiodns.mk b/package/python-aiodns/python-aiodns.mk new file mode 100644 index 0000000000..94f719d39e --- /dev/null +++ b/package/python-aiodns/python-aiodns.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiodns +# +################################################################################ + +PYTHON_AIODNS_VERSION = 1.1.1 +PYTHON_AIODNS_SOURCE = aiodns-$(PYTHON_AIODNS_VERSION).tar.gz +PYTHON_AIODNS_SITE = https://files.pythonhosted.org/packages/3b/45/dcee156eabca900af3a1bab8acb9531636b13db4b677d44ba468a43969e0 +PYTHON_AIODNS_SETUP_TYPE = setuptools +PYTHON_AIODNS_LICENSE = MIT +PYTHON_AIODNS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-aiohttp-jinja2/Config.in b/package/python-aiohttp-jinja2/Config.in new file mode 100644 index 0000000000..dd4bb0d23b --- /dev/null +++ b/package/python-aiohttp-jinja2/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_JINJA2 + bool "python-aiohttp-jinja2" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + select BR2_PACKAGE_PYTHON_JINJA2 # runtime + help + Jinja2 template renderer for aiohttp.web (http server for + asyncio). + + https://github.com/aio-libs/aiohttp_jinja2/ diff --git a/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash new file mode 100644 index 0000000000..390b0e4ed7 --- /dev/null +++ b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp-jinja2/json +md5 de5e02056d1b48dc2fa4fc0c1a8b0e08 aiohttp-jinja2-1.1.0.tar.gz +sha256 aef9b6595f962182ad00c990095fb51d731c280e1d183e2b28cf0bdb5a942d0c aiohttp-jinja2-1.1.0.tar.gz +# Locally computed sha256 checksums +sha256 2a86817fedf0c52baaa47d7dd975073639dfaaebd37312bd279de54d7f841791 LICENSE diff --git a/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk new file mode 100644 index 0000000000..3b5359a06a --- /dev/null +++ b/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-jinja2 +# +################################################################################ + +PYTHON_AIOHTTP_JINJA2_VERSION = 1.1.0 +PYTHON_AIOHTTP_JINJA2_SOURCE = aiohttp-jinja2-$(PYTHON_AIOHTTP_JINJA2_VERSION).tar.gz +PYTHON_AIOHTTP_JINJA2_SITE = https://files.pythonhosted.org/packages/76/9d/68fa1e9ec3bafba572772eb385023de54096663bd6e302a24d7344c6a711 +PYTHON_AIOHTTP_JINJA2_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_JINJA2_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_JINJA2_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-aiohttp-remotes/Config.in b/package/python-aiohttp-remotes/Config.in new file mode 100644 index 0000000000..e44696ba1e --- /dev/null +++ b/package/python-aiohttp-remotes/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_REMOTES + bool "python-aiohttp-remotes" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + help + Control remote side information. + + https://github.com/aio-libs/aiohttp-remotes diff --git a/package/python-aiohttp-remotes/python-aiohttp-remotes.hash b/package/python-aiohttp-remotes/python-aiohttp-remotes.hash new file mode 100644 index 0000000000..069cdeda1f --- /dev/null +++ b/package/python-aiohttp-remotes/python-aiohttp-remotes.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp-remotes/json +md5 70213413433ece4e2110ae90a070d279 aiohttp_remotes-0.1.2.tar.gz +sha256 43c3f7e1c5ba27f29fb4dbde5d43b900b5b5fc7e37bf7e35e6eaedabaec4a3fc aiohttp_remotes-0.1.2.tar.gz +# Locally computed sha256 checksums +sha256 5240758b8a5c34a46c166294eaae7dc7034ec45c727fce889c9abf7ef5afc158 LICENSE diff --git a/package/python-aiohttp-remotes/python-aiohttp-remotes.mk b/package/python-aiohttp-remotes/python-aiohttp-remotes.mk new file mode 100644 index 0000000000..5b38ae9112 --- /dev/null +++ b/package/python-aiohttp-remotes/python-aiohttp-remotes.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-remotes +# +################################################################################ + +PYTHON_AIOHTTP_REMOTES_VERSION = 0.1.2 +PYTHON_AIOHTTP_REMOTES_SOURCE = aiohttp_remotes-$(PYTHON_AIOHTTP_REMOTES_VERSION).tar.gz +PYTHON_AIOHTTP_REMOTES_SITE = https://files.pythonhosted.org/packages/cd/2f/93e9198a01485f588d12e19c87cd277542dc28d8b31dc8e1c09fa1c75548 +PYTHON_AIOHTTP_REMOTES_SETUP_TYPE = distutils +PYTHON_AIOHTTP_REMOTES_LICENSE = MIT +PYTHON_AIOHTTP_REMOTES_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-aiohttp-security/Config.in b/package/python-aiohttp-security/Config.in new file mode 100644 index 0000000000..f92c458584 --- /dev/null +++ b/package/python-aiohttp-security/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_SECURITY + bool "python-aiohttp-security" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + help + Security for aiohttp.web. + + https://github.com/aio-libs/aiohttp_security/ diff --git a/package/python-aiohttp-security/python-aiohttp-security.hash b/package/python-aiohttp-security/python-aiohttp-security.hash new file mode 100644 index 0000000000..1d2604c90c --- /dev/null +++ b/package/python-aiohttp-security/python-aiohttp-security.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp-security/json +md5 1624f982d7a779e6ed396ef2ed20acc7 aiohttp-security-0.4.0.tar.gz +sha256 40d4bb150454e392c2dfa3620f6eab28e140e94cf0c2d3b4bf43aef653ec9405 aiohttp-security-0.4.0.tar.gz +# Locally computed sha256 checksums +sha256 a1cc8ff7210897d55d2552fa0792340f8e59720e0160b6918699d40f9a782b1c LICENSE diff --git a/package/python-aiohttp-security/python-aiohttp-security.mk b/package/python-aiohttp-security/python-aiohttp-security.mk new file mode 100644 index 0000000000..9ab3b16b30 --- /dev/null +++ b/package/python-aiohttp-security/python-aiohttp-security.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-security +# +################################################################################ + +PYTHON_AIOHTTP_SECURITY_VERSION = 0.4.0 +PYTHON_AIOHTTP_SECURITY_SOURCE = aiohttp-security-$(PYTHON_AIOHTTP_SECURITY_VERSION).tar.gz +PYTHON_AIOHTTP_SECURITY_SITE = https://files.pythonhosted.org/packages/36/01/d85be376b7c1773b3cb7849cd56dc7d38165664df7de2d3e20af507ef5bb +PYTHON_AIOHTTP_SECURITY_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_SECURITY_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_SECURITY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-aiohttp-session/Config.in b/package/python-aiohttp-session/Config.in new file mode 100644 index 0000000000..c148165f00 --- /dev/null +++ b/package/python-aiohttp-session/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_SESSION + bool "python-aiohttp-session" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + help + Sessions for aiohttp.web. + + https://github.com/aio-libs/aiohttp_session/ diff --git a/package/python-aiohttp-session/python-aiohttp-session.hash b/package/python-aiohttp-session/python-aiohttp-session.hash new file mode 100644 index 0000000000..fdccb20d1a --- /dev/null +++ b/package/python-aiohttp-session/python-aiohttp-session.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp-session/json +md5 a873141ee04ffc9fc948d9ee0ed47a8d aiohttp-session-2.7.0.tar.gz +sha256 18ae740845214086f783574edfee1bac36862332bd11d561e048b079d8f6ad34 aiohttp-session-2.7.0.tar.gz +# Locally computed sha256 checksums +sha256 2a86817fedf0c52baaa47d7dd975073639dfaaebd37312bd279de54d7f841791 LICENSE diff --git a/package/python-aiohttp-session/python-aiohttp-session.mk b/package/python-aiohttp-session/python-aiohttp-session.mk new file mode 100644 index 0000000000..36c3180beb --- /dev/null +++ b/package/python-aiohttp-session/python-aiohttp-session.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-session +# +################################################################################ + +PYTHON_AIOHTTP_SESSION_VERSION = 2.7.0 +PYTHON_AIOHTTP_SESSION_SOURCE = aiohttp-session-$(PYTHON_AIOHTTP_SESSION_VERSION).tar.gz +PYTHON_AIOHTTP_SESSION_SITE = https://files.pythonhosted.org/packages/b5/5f/3f78fd4de2f9b17ad8cfe6c189bfaee3d0a5d2fe954aedad743edd08c813 +PYTHON_AIOHTTP_SESSION_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_SESSION_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_SESSION_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-aiohttp-sse/Config.in b/package/python-aiohttp-sse/Config.in new file mode 100644 index 0000000000..781bbf4de7 --- /dev/null +++ b/package/python-aiohttp-sse/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_SSE + bool "python-aiohttp-sse" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + help + Server-sent events support for aiohttp. + + https://github.com/aio-libs/aiohttp_sse/ diff --git a/package/python-aiohttp-sse/python-aiohttp-sse.hash b/package/python-aiohttp-sse/python-aiohttp-sse.hash new file mode 100644 index 0000000000..2f21da462e --- /dev/null +++ b/package/python-aiohttp-sse/python-aiohttp-sse.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp-sse/json +md5 d2f394fb75f591045b2c94fc17c8533d aiohttp-sse-2.0.0.tar.gz +sha256 547e1eaa129749f090d02b31956215edbcde74ce99721f5f0ac902a9ccb1202e aiohttp-sse-2.0.0.tar.gz +# Locally computed sha256 checksums +sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE diff --git a/package/python-aiohttp-sse/python-aiohttp-sse.mk b/package/python-aiohttp-sse/python-aiohttp-sse.mk new file mode 100644 index 0000000000..7a7a0d0a70 --- /dev/null +++ b/package/python-aiohttp-sse/python-aiohttp-sse.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-sse +# +################################################################################ + +PYTHON_AIOHTTP_SSE_VERSION = 2.0.0 +PYTHON_AIOHTTP_SSE_SOURCE = aiohttp-sse-$(PYTHON_AIOHTTP_SSE_VERSION).tar.gz +PYTHON_AIOHTTP_SSE_SITE = https://files.pythonhosted.org/packages/2b/50/e127729f7df53c32c96b5c71932a7262cad40c83f1e19c218b068c816d51 +PYTHON_AIOHTTP_SSE_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_SSE_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_SSE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-aiojobs/Config.in b/package/python-aiojobs/Config.in new file mode 100644 index 0000000000..ab61985164 --- /dev/null +++ b/package/python-aiojobs/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_AIOJOBS + bool "python-aiojobs" + depends on BR2_PACKAGE_PYTHON3 + help + Jobs scheduler for managing background task (asyncio). + + https://github.com/aio-libs/aiojobs diff --git a/package/python-aiojobs/python-aiojobs.hash b/package/python-aiojobs/python-aiojobs.hash new file mode 100644 index 0000000000..56a8bb111c --- /dev/null +++ b/package/python-aiojobs/python-aiojobs.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiojobs/json +md5 8fd929e4ef9bc6560c675a5b11ac6077 aiojobs-0.2.2.tar.gz +sha256 8e4b3e3d1bdb970bdaf8f8cd5eb4e4ff3e0e01a4abd22b4f73a87002a5ae4005 aiojobs-0.2.2.tar.gz +# Locally computed sha256 checksums +sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/package/python-aiojobs/python-aiojobs.mk b/package/python-aiojobs/python-aiojobs.mk new file mode 100644 index 0000000000..7a95f9908f --- /dev/null +++ b/package/python-aiojobs/python-aiojobs.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiojobs +# +################################################################################ + +PYTHON_AIOJOBS_VERSION = 0.2.2 +PYTHON_AIOJOBS_SOURCE = aiojobs-$(PYTHON_AIOJOBS_VERSION).tar.gz +PYTHON_AIOJOBS_SITE = https://files.pythonhosted.org/packages/57/c5/9eb091930d6574002d1721dab5ca15a1bd69ed5dc8e654159d27223cdd3b +PYTHON_AIOJOBS_SETUP_TYPE = distutils +PYTHON_AIOJOBS_LICENSE = Apache-2.0 +PYTHON_AIOJOBS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-aiorwlock/Config.in b/package/python-aiorwlock/Config.in new file mode 100644 index 0000000000..afdc27dd6f --- /dev/null +++ b/package/python-aiorwlock/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_AIORWLOCK + bool "python-aiorwlock" + depends on BR2_PACKAGE_PYTHON3 + help + Read write lock for asyncio. + + https://github.com/aio-libs/aiorwlock diff --git a/package/python-aiorwlock/python-aiorwlock.hash b/package/python-aiorwlock/python-aiorwlock.hash new file mode 100644 index 0000000000..51d1a29f20 --- /dev/null +++ b/package/python-aiorwlock/python-aiorwlock.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiorwlock/json +md5 ee741761e4c9b1612e9dccf7f8bccdd0 aiorwlock-0.5.0.tar.gz +sha256 3cd892576d024934d72c3dd098033f276ace3495e71a1197daa8d21409a52174 aiorwlock-0.5.0.tar.gz +# Locally computed sha256 checksums +sha256 56fb2baf14d84c59c15abbfbb1fdf30a724017e2ce97894a8236764513d10397 LICENSE diff --git a/package/python-aiorwlock/python-aiorwlock.mk b/package/python-aiorwlock/python-aiorwlock.mk new file mode 100644 index 0000000000..ca6aa25294 --- /dev/null +++ b/package/python-aiorwlock/python-aiorwlock.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiorwlock +# +################################################################################ + +PYTHON_AIORWLOCK_VERSION = 0.5.0 +PYTHON_AIORWLOCK_SOURCE = aiorwlock-$(PYTHON_AIORWLOCK_VERSION).tar.gz +PYTHON_AIORWLOCK_SITE = https://files.pythonhosted.org/packages/0c/20/d30f332e6ecb2be467ab5603e277b26e3a8eb2a72f75bf8d309bdd4c0c82 +PYTHON_AIORWLOCK_SETUP_TYPE = setuptools +PYTHON_AIORWLOCK_LICENSE = Apache-2.0 +PYTHON_AIORWLOCK_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-asn1crypto/python-asn1crypto.hash b/package/python-asn1crypto/python-asn1crypto.hash index ec5d7cfc2b..41aa602300 100644 --- a/package/python-asn1crypto/python-asn1crypto.hash +++ b/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/package/python-asn1crypto/python-asn1crypto.mk b/package/python-asn1crypto/python-asn1crypto.mk index 681dfd5c16..4cd30e8ca7 100644 --- a/package/python-asn1crypto/python-asn1crypto.mk +++ b/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/package/python-attrs/python-attrs.hash b/package/python-attrs/python-attrs.hash index 0d46f97e89..23a5efd584 100644 --- a/package/python-attrs/python-attrs.hash +++ b/package/python-attrs/python-attrs.hash @@ -1 +1,5 @@ +# 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/package/python-autobahn/python-autobahn.hash b/package/python-autobahn/python-autobahn.hash index 32c99167e9..dce40f160e 100644 --- a/package/python-autobahn/python-autobahn.hash +++ b/package/python-autobahn/python-autobahn.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/autobahn/json, sha256 locally computed -md5 f8c8d74bf73644719b751e6fb11dc4a3 autobahn-17.10.1.tar.gz -sha256 8cf74132a18da149c5ea3dcbb5e055f6f4fe5a0238b33258d29e89bd276a8078 autobahn-17.10.1.tar.gz -sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE +# md5, sha256 from https://pypi.org/pypi/autobahn/json +md5 b296b8ae0f42e7df8052b28d574ede82 autobahn-19.1.1.tar.gz +sha256 aebbadb700c13792a2967c79002855d1153b9ec8f2949d169e908388699596ff autobahn-19.1.1.tar.gz +# Locally computed sha256 checksums +sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE diff --git a/package/python-autobahn/python-autobahn.mk b/package/python-autobahn/python-autobahn.mk index 3ba91c5e14..213e0314c9 100644 --- a/package/python-autobahn/python-autobahn.mk +++ b/package/python-autobahn/python-autobahn.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AUTOBAHN_VERSION = 17.10.1 +PYTHON_AUTOBAHN_VERSION = 19.1.1 PYTHON_AUTOBAHN_SOURCE = autobahn-$(PYTHON_AUTOBAHN_VERSION).tar.gz -PYTHON_AUTOBAHN_SITE = https://pypi.python.org/packages/e4/2e/01a64212b1eb580d601fa20f146c962235e3493795f46e3b254597ec635d +PYTHON_AUTOBAHN_SITE = https://files.pythonhosted.org/packages/66/cc/1e2b20dc6654d9a87fc30da36bfae687ec65428814378c44257a26fe5f2f PYTHON_AUTOBAHN_LICENSE = MIT PYTHON_AUTOBAHN_LICENSE_FILES = LICENSE PYTHON_AUTOBAHN_SETUP_TYPE = setuptools diff --git a/package/python-automat/python-automat.hash b/package/python-automat/python-automat.hash index c0e3505234..f974679b9d 100644 --- a/package/python-automat/python-automat.hash +++ b/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/package/python-automat/python-automat.mk b/package/python-automat/python-automat.mk index 96a4f51506..f3d8da49f0 100644 --- a/package/python-automat/python-automat.mk +++ b/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/package/python-babel/python-babel.hash b/package/python-babel/python-babel.hash index 4d7536799f..a52da012c7 100644 --- a/package/python-babel/python-babel.hash +++ b/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/package/python-babel/python-babel.mk b/package/python-babel/python-babel.mk index d9bd0f048e..a507cceaeb 100644 --- a/package/python-babel/python-babel.mk +++ b/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/package/python-bcrypt/python-bcrypt.hash b/package/python-bcrypt/python-bcrypt.hash index 574cbe1555..3e4c303a1f 100644 --- a/package/python-bcrypt/python-bcrypt.hash +++ b/package/python-bcrypt/python-bcrypt.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/bcrypt/json, sha256 locally computed -md5 20da8b40790caad99c4086dba533154b bcrypt-3.1.3.tar.gz -sha256 6645c8d0ad845308de3eb9be98b6fd22a46ec5412bfc664a423e411cdd8f5488 bcrypt-3.1.3.tar.gz +# md5, sha256 from https://pypi.org/pypi/bcrypt/json +md5 4d8ab82e5e0c86b15f4ba5aff2bec6b5 bcrypt-3.1.6.tar.gz +sha256 44636759d222baa62806bbceb20e96f75a015a6381690d1bc2eda91c01ec02ea bcrypt-3.1.6.tar.gz +# Locally computed sha256 checksums +sha256 8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90 LICENSE diff --git a/package/python-bcrypt/python-bcrypt.mk b/package/python-bcrypt/python-bcrypt.mk index aa6f9815a5..71bf036fce 100644 --- a/package/python-bcrypt/python-bcrypt.mk +++ b/package/python-bcrypt/python-bcrypt.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BCRYPT_VERSION = 3.1.3 +PYTHON_BCRYPT_VERSION = 3.1.6 PYTHON_BCRYPT_SOURCE = bcrypt-$(PYTHON_BCRYPT_VERSION).tar.gz -PYTHON_BCRYPT_SITE = https://pypi.python.org/packages/58/e9/6d7f1d883d8c5876470b5d187d72c04f2a9954d61e71e7eb5d2ea2a50442 +PYTHON_BCRYPT_SITE = https://files.pythonhosted.org/packages/ce/3a/3d540b9f5ee8d92ce757eebacf167b9deedb8e30aedec69a2a072b2399bb PYTHON_BCRYPT_SETUP_TYPE = setuptools PYTHON_BCRYPT_LICENSE = Apache-2.0 PYTHON_BCRYPT_LICENSE_FILES = LICENSE diff --git a/package/python-can/Config.in b/package/python-can/Config.in index 94b16ab335..f3ed1b77e3 100644 --- a/package/python-can/Config.in +++ b/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/package/python-can/python-can.hash b/package/python-can/python-can.hash index 8a70bb42b7..b2dc1a33c3 100644 --- a/package/python-can/python-can.hash +++ b/package/python-can/python-can.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/python-can/json, sha256 locally computed -md5 3310f0aa2a8492d0ff614ecf636ec8a8 python-can-2.1.0.tar.gz -sha256 4a5c01dd67feeda35f88e6c12ea14ac8cabd426b9be0cc5f9fd083fe90a9dbfc python-can-2.1.0.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/package/python-can/python-can.mk b/package/python-can/python-can.mk index 9a7e903303..ca023ee895 100644 --- a/package/python-can/python-can.mk +++ b/package/python-can/python-can.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_CAN_VERSION = 2.1.0 -PYTHON_CAN_SITE = https://files.pythonhosted.org/packages/04/87/0d5b0f2f4e5d7f64a44f74b7f0bc1668457e6aa7e90b04ad15c3b9a44411 +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/package/python-cchardet/Config.in b/package/python-cchardet/Config.in new file mode 100644 index 0000000000..74153126fb --- /dev/null +++ b/package/python-cchardet/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_CCHARDET + bool "python-cchardet" + depends on BR2_INSTALL_LIBSTDCPP + help + cChardet is high speed universal character encoding + detector. + + https://github.com/PyYoshi/cChardet + +comment "python-cchardet needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/python-cchardet/python-cchardet.hash b/package/python-cchardet/python-cchardet.hash new file mode 100644 index 0000000000..231804ee3c --- /dev/null +++ b/package/python-cchardet/python-cchardet.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/cchardet/json +md5 17af20af67cb18e958854e273d857a88 cchardet-2.1.4.tar.gz +sha256 cc9745e0400da4cfb49f075e7819f22473b66443f953427058fee2c7b9547cc0 cchardet-2.1.4.tar.gz +# Locally computed sha256 checksums +sha256 107a29ccdd2d778aa2df5462f85dddfa099059abd22e064e07ec2cc9bafc37cd COPYING diff --git a/package/python-cchardet/python-cchardet.mk b/package/python-cchardet/python-cchardet.mk new file mode 100644 index 0000000000..9ac170c22d --- /dev/null +++ b/package/python-cchardet/python-cchardet.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-cchardet +# +################################################################################ + +PYTHON_CCHARDET_VERSION = 2.1.4 +PYTHON_CCHARDET_SOURCE = cchardet-$(PYTHON_CCHARDET_VERSION).tar.gz +PYTHON_CCHARDET_SITE = https://files.pythonhosted.org/packages/74/64/3988d388315c1af3e24f447689dadf30edead43366fb2041cb103380b57f +PYTHON_CCHARDET_SETUP_TYPE = setuptools +PYTHON_CCHARDET_LICENSE = MPL-1.1 +PYTHON_CCHARDET_LICENSE_FILES = COPYING + +$(eval $(python-package)) diff --git a/package/python-certifi/python-certifi.hash b/package/python-certifi/python-certifi.hash index 2d339dd2d5..3d0e48f6c2 100644 --- a/package/python-certifi/python-certifi.hash +++ b/package/python-certifi/python-certifi.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/certifi/json -md5 f5d81d0048e84285611412b0dea0630a certifi-2018.4.16.tar.gz -sha256 13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7 certifi-2018.4.16.tar.gz +md5 8160cf662212bc731eccf1af8042c0af certifi-2018.11.29.tar.gz +sha256 47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7 certifi-2018.11.29.tar.gz # Locally computed sha256 checksums sha256 6a70a4bf6b010016d59a64b8ae4ad8dc7f5ef16f1fb453cc2ecd771c5a341131 LICENSE diff --git a/package/python-certifi/python-certifi.mk b/package/python-certifi/python-certifi.mk index 716e6a3840..29b646922a 100644 --- a/package/python-certifi/python-certifi.mk +++ b/package/python-certifi/python-certifi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CERTIFI_VERSION = 2018.4.16 +PYTHON_CERTIFI_VERSION = 2018.11.29 PYTHON_CERTIFI_SOURCE = certifi-$(PYTHON_CERTIFI_VERSION).tar.gz -PYTHON_CERTIFI_SITE = https://files.pythonhosted.org/packages/4d/9c/46e950a6f4d6b4be571ddcae21e7bc846fcbb88f1de3eff0f6dd0a6be55d +PYTHON_CERTIFI_SITE = https://files.pythonhosted.org/packages/55/54/3ce77783acba5979ce16674fc98b1920d00b01d337cfaaf5db22543505ed PYTHON_CERTIFI_SETUP_TYPE = setuptools PYTHON_CERTIFI_LICENSE = ISC (Python code), MPL-2.0 (cacert.pem) PYTHON_CERTIFI_LICENSE_FILES = LICENSE diff --git a/package/python-click/python-click.hash b/package/python-click/python-click.hash index cae03c72e2..911f13dfa3 100644 --- a/package/python-click/python-click.hash +++ b/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/package/python-click/python-click.mk b/package/python-click/python-click.mk index e6df636167..12539f557b 100644 --- a/package/python-click/python-click.mk +++ b/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/package/python-crossbar/0002-Remove-idna-requirement.patch b/package/python-crossbar/0002-Remove-idna-requirement.patch new file mode 100644 index 0000000000..4948b91b05 --- /dev/null +++ b/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/package/python-crossbar/0002-Rework-runtime-dependencies.patch b/package/python-crossbar/0002-Rework-runtime-dependencies.patch deleted file mode 100644 index 784949c2dd..0000000000 --- a/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/package/python-crossbar/Config.in b/package/python-crossbar/Config.in index 96a25c2c69..526d9871be 100644 --- a/package/python-crossbar/Config.in +++ b/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/package/python-crossbar/python-crossbar.hash b/package/python-crossbar/python-crossbar.hash index b9bfea8938..f956dc27e1 100644 --- a/package/python-crossbar/python-crossbar.hash +++ b/package/python-crossbar/python-crossbar.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/crossbar/json, sha256 locally computed -md5 d557615f34e7736f749e59b4d3ddbea0 crossbar-17.6.1.post3.tar.gz -sha256 8d023af0a772404f4e57add5888583fc0068d62a7a2249bea4539a6d7b70fbd9 crossbar-17.6.1.post3.tar.gz +# md5, sha256 from https://pypi.org/pypi/crossbar/json +md5 462a204da3c776cbb770b98f9047e8e7 crossbar-19.1.2.tar.gz +sha256 269d534a65c136a5c952a6accccf256f457569f731ee65e201e5a14e69db471a crossbar-19.1.2.tar.gz +# Locally computed sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 LICENSE diff --git a/package/python-crossbar/python-crossbar.mk b/package/python-crossbar/python-crossbar.mk index 5ebeddc76a..064d2d92b6 100644 --- a/package/python-crossbar/python-crossbar.mk +++ b/package/python-crossbar/python-crossbar.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CROSSBAR_VERSION = 17.6.1.post3 +PYTHON_CROSSBAR_VERSION = 19.1.2 PYTHON_CROSSBAR_SOURCE = crossbar-$(PYTHON_CROSSBAR_VERSION).tar.gz -PYTHON_CROSSBAR_SITE = https://pypi.python.org/packages/6a/25/9bc78947a4552c5fe27671ca2abe3be0559b8c76bc93d52157a6333ea971 +PYTHON_CROSSBAR_SITE = https://files.pythonhosted.org/packages/86/19/54c7bd9da1ac70643b9ae7d3d4592a73391f62fcb376fcd30f8328c1c5ce PYTHON_CROSSBAR_LICENSE = AGPL-3.0 PYTHON_CROSSBAR_LICENSE_FILES = LICENSE PYTHON_CROSSBAR_SETUP_TYPE = setuptools diff --git a/package/python-cryptography/Config.in b/package/python-cryptography/Config.in index 14f950d4d8..d1c2917ea9 100644 --- a/package/python-cryptography/Config.in +++ b/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/package/python-cryptography/python-cryptography.hash b/package/python-cryptography/python-cryptography.hash index a1162cf880..36da21c9c1 100644 --- a/package/python-cryptography/python-cryptography.hash +++ b/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/package/python-cryptography/python-cryptography.mk b/package/python-cryptography/python-cryptography.mk index 5373da8202..91b680b2be 100644 --- a/package/python-cryptography/python-cryptography.mk +++ b/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/package/python-cython/python-cython.hash b/package/python-cython/python-cython.hash index 3b918dc704..db0549c2d2 100644 --- a/package/python-cython/python-cython.hash +++ b/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 867c8b48f15a5249f476dc5a2cb58758 Cython-0.29.4.tar.gz +sha256 d1ee3d39c73a094ae5b6e2f9263ae0dc61af1b549a0869ade8c3c30325ed9f26 Cython-0.29.4.tar.gz +# Locally computed sha256 checksums sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE.txt sha256 e1eb1c49a8508e8173dac30157e4a6439a44ad8846194746c424fbc3fc2b95d7 COPYING.txt diff --git a/package/python-cython/python-cython.mk b/package/python-cython/python-cython.mk index 88eab83416..fbe11e8087 100644 --- a/package/python-cython/python-cython.mk +++ b/package/python-cython/python-cython.mk @@ -1,12 +1,12 @@ ################################################################################ # -# cython +# python-cython # ################################################################################ -PYTHON_CYTHON_VERSION = 0.27.3 +PYTHON_CYTHON_VERSION = 0.29.4 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/cf/e2/03af631ca4a2cf7bc392dd8785c7cc427bff3af4bf5864cdde734f80d052 PYTHON_CYTHON_SETUP_TYPE = setuptools PYTHON_CYTHON_LICENSE = Apache-2.0 PYTHON_CYTHON_LICENSE_FILES = COPYING.txt LICENSE.txt diff --git a/package/python-dateutil/Config.in b/package/python-dateutil/Config.in index 56a1d838f7..1a36a150b1 100644 --- a/package/python-dateutil/Config.in +++ b/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/package/python-dateutil/python-dateutil.hash b/package/python-dateutil/python-dateutil.hash index adc24bdd16..eecba7d35a 100644 --- a/package/python-dateutil/python-dateutil.hash +++ b/package/python-dateutil/python-dateutil.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/python-dateutil/json, sha256 locally computed -md5 6e38f91e8c94c15a79ce22768dfeca87 python-dateutil-2.6.0.tar.gz -sha256 62a2f8df3d66f878373fd0072eacf4ee52194ba302e00082828e0d263b0418d2 python-dateutil-2.6.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/python-dateutil/json +md5 354db28843d949f1bc3e49e8458e22df python-dateutil-2.8.0.tar.gz +sha256 c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e python-dateutil-2.8.0.tar.gz +# Locally computed sha256 checksums +sha256 ba00f51a0d92823b5a1cde27d8b5b9d2321e67ed8da9bc163eff96d5e17e577e LICENSE diff --git a/package/python-dateutil/python-dateutil.mk b/package/python-dateutil/python-dateutil.mk index 41dee2d1cd..4c915c8e83 100644 --- a/package/python-dateutil/python-dateutil.mk +++ b/package/python-dateutil/python-dateutil.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_DATEUTIL_VERSION = 2.6.0 -PYTHON_DATEUTIL_SITE = https://pypi.python.org/packages/51/fc/39a3fbde6864942e8bb24c93663734b74e281b984d1b8c4f95d64b0c21f6 +PYTHON_DATEUTIL_VERSION = 2.8.0 +PYTHON_DATEUTIL_SITE = https://files.pythonhosted.org/packages/ad/99/5b2e99737edeb28c71bcbec5b5dda19d0d9ef3ca3e92e3e925e7c0bb364c PYTHON_DATEUTIL_SETUP_TYPE = setuptools PYTHON_DATEUTIL_LICENSE = BSD-3-Clause PYTHON_DATEUTIL_LICENSE_FILES = LICENSE +PYTHON_DATEUTIL_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/package/python-django/Config.in b/package/python-django/Config.in index 75322d1bb2..0a2e308d31 100644 --- a/package/python-django/Config.in +++ b/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/package/python-django/python-django.hash b/package/python-django/python-django.hash index 6e6e7708db..93ca1080c5 100644 --- a/package/python-django/python-django.hash +++ b/package/python-django/python-django.hash @@ -1,3 +1,5 @@ -# From https://www.djangoproject.com/m/pgp/Django-1.11.16.checksum.txt -sha256 29268cc47816a44f27308e60f71da635f549c47d8a1d003b28de55141df75791 Django-1.11.16.tar.gz +# md5, sha256 from https://pypi.org/pypi/django/json +md5 a042e6ba117d2e01950d842cceb5eee0 Django-2.1.7.tar.gz +sha256 939652e9d34d7d53d74d5d8ef82a19e5f8bb2de75618f7e5360691b6e9667963 Django-2.1.7.tar.gz +# Locally computed sha256 checksums sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/package/python-django/python-django.mk b/package/python-django/python-django.mk index 9f43ffab85..5922a6c07c 100644 --- a/package/python-django/python-django.mk +++ b/package/python-django/python-django.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_DJANGO_VERSION = 1.11.16 +PYTHON_DJANGO_VERSION = 2.1.7 PYTHON_DJANGO_SOURCE = Django-$(PYTHON_DJANGO_VERSION).tar.gz # The official Django site has an unpractical URL -PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/35/1d/59836bce4c9cfded261e21c0abd6a4629de6d289522d0fd928117d8eb985 +PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/7e/ae/29c28f6afddae0e305326078f31372f03d7f2e6d6210c9963843196ce67e PYTHON_DJANGO_LICENSE = BSD-3-Clause PYTHON_DJANGO_LICENSE_FILES = LICENSE PYTHON_DJANGO_SETUP_TYPE = setuptools diff --git a/package/python-docker-pycreds/python-docker-pycreds.hash b/package/python-docker-pycreds/python-docker-pycreds.hash index 9e1182d4a4..d93a3a1d31 100644 --- a/package/python-docker-pycreds/python-docker-pycreds.hash +++ b/package/python-docker-pycreds/python-docker-pycreds.hash @@ -1,4 +1,4 @@ -# md5 from https://pypi.python.org/pypi/docker-pycreds/json, sha256 locally computed -md5 ae63c7def3e58cb51a4d8f5810683030 docker-pycreds-0.2.2.tar.gz -sha256 c7ab85de2894baff6ee8f15160cbbfa2fd3a04e56f0372c5793d24060687b299 docker-pycreds-0.2.2.tar.gz +# md5 and sha256 from https://pypi.python.org/pypi/docker-pycreds/json +md5 322f570cea6b4661c6ac335683988e18 docker-pycreds-0.4.0.tar.gz +sha256 6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4 docker-pycreds-0.4.0.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-docker-pycreds/python-docker-pycreds.mk b/package/python-docker-pycreds/python-docker-pycreds.mk index e7ffd0eb51..6575ada084 100644 --- a/package/python-docker-pycreds/python-docker-pycreds.mk +++ b/package/python-docker-pycreds/python-docker-pycreds.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DOCKER_PYCREDS_VERSION = 0.2.2 +PYTHON_DOCKER_PYCREDS_VERSION = 0.4.0 PYTHON_DOCKER_PYCREDS_SOURCE = docker-pycreds-$(PYTHON_DOCKER_PYCREDS_VERSION).tar.gz -PYTHON_DOCKER_PYCREDS_SITE = https://pypi.python.org/packages/db/73/42d4c698e70633d99f7f7c4c87c6de45ead5ad7b36dcfccd998fd1556ac9 +PYTHON_DOCKER_PYCREDS_SITE = https://files.pythonhosted.org/packages/c5/e6/d1f6c00b7221e2d7c4b470132c931325c8b22c51ca62417e300f5ce16009 PYTHON_DOCKER_PYCREDS_SETUP_TYPE = setuptools PYTHON_DOCKER_PYCREDS_LICENSE = Apache-2.0 PYTHON_DOCKER_PYCREDS_LICENSE_FILES = LICENSE diff --git a/package/python-docker/0001-setup.py-make-pip-optional.patch b/package/python-docker/0001-setup.py-make-pip-optional.patch deleted file mode 100644 index d9c958311d..0000000000 --- a/package/python-docker/0001-setup.py-make-pip-optional.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 978643b7222db66837d39037f884be01fb9af234 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Fri, 9 Mar 2018 18:40:16 +0100 -Subject: [PATCH] setup.py: make pip optional - -pip may not be available on the build host, and it is only used to check if -docker-py is already installed, so skip the check if pip isn't available. - -[Upstream-status: submitted (https://github.com/docker/docker-py/pull/1948)] -Signed-off-by: Peter Korsgaard ---- - setup.py | 20 ++++++++++++-------- - 1 file changed, 12 insertions(+), 8 deletions(-) - -diff --git a/setup.py b/setup.py -index 271d94f..c9b91a3 100644 ---- a/setup.py -+++ b/setup.py -@@ -5,16 +5,20 @@ import codecs - import os - import sys - --import pip -- - from setuptools import setup, find_packages - --if 'docker-py' in [x.project_name for x in pip.get_installed_distributions()]: -- print( -- 'ERROR: "docker-py" needs to be uninstalled before installing this' -- ' package:\npip uninstall docker-py', file=sys.stderr -- ) -- sys.exit(1) -+try: -+ import pip -+ -+ if 'docker-py' in \ -+ [x.project_name for x in pip.get_installed_distributions()]: -+ print( -+ 'ERROR: "docker-py" needs to be uninstalled before installing this' -+ ' package:\npip uninstall docker-py', file=sys.stderr -+ ) -+ sys.exit(1) -+except ImportError: -+ pass - - ROOT_DIR = os.path.dirname(__file__) - SOURCE_DIR = os.path.join(ROOT_DIR) --- -2.11.0 - diff --git a/package/python-docker/python-docker.hash b/package/python-docker/python-docker.hash index e811d3a8ac..37fda94f0b 100644 --- a/package/python-docker/python-docker.hash +++ b/package/python-docker/python-docker.hash @@ -1,4 +1,4 @@ -# md5 from https://pypi.python.org/pypi/docker/json, sha256 locally computed -md5 981b23b41fd2346efcae977244b7188e docker-3.1.4.tar.gz -sha256 753251b142d56f243fba53ba321a37740a6b6583c528437f45df4d28ba3d4d5d docker-3.1.4.tar.gz +# md5 and sha256 from https://pypi.python.org/pypi/docker/json +md5 496237b9e0826eff8436b1a786943a86 docker-3.5.1.tar.gz +sha256 fbe82af9b94ccced752527c8de07fa20267f9634b48674ba478a0bb4000a0b1e docker-3.5.1.tar.gz sha256 f2f0b07fa5e492c11d27aa0d2f3f1a0e64b9d17f32d8aa489ae2af9609af33b2 LICENSE diff --git a/package/python-docker/python-docker.mk b/package/python-docker/python-docker.mk index 6a818ebaed..01ae2da9be 100644 --- a/package/python-docker/python-docker.mk +++ b/package/python-docker/python-docker.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_DOCKER_VERSION = 3.1.4 +PYTHON_DOCKER_VERSION = 3.5.1 PYTHON_DOCKER_SOURCE = docker-$(PYTHON_DOCKER_VERSION).tar.gz -PYTHON_DOCKER_SITE = https://pypi.python.org/packages/7f/22/fd6e97c99a512f74d46dab2b450fe370eb2f83404ef790298e3fd012cd5c +PYTHON_DOCKER_SITE = https://files.pythonhosted.org/packages/b1/4f/d4f646843335430701d459fea08b0285a2c0a364150dd5b9c5f27f723121 PYTHON_DOCKER_SETUP_TYPE = setuptools PYTHON_DOCKER_LICENSE = Apache-2.0 PYTHON_DOCKER_LICENSE_FILES = LICENSE diff --git a/package/python-engineio/python-engineio.hash b/package/python-engineio/python-engineio.hash index b2c0669bcc..09e004ac46 100644 --- a/package/python-engineio/python-engineio.hash +++ b/package/python-engineio/python-engineio.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/python-engineio/json -md5 9b0075dbbb25d7a302eba99dd9ba4af8 python-engineio-0.9.2.tar.gz -# sha256 calculated by scanpypi -sha256 c53282415ed9bc3cb4e7beafb2a1ce5c369af95dcf8f968061e5bc7572b60867 python-engineio-0.9.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/python-engineio/json +md5 ad32353278d0576bfa7d7a2f9b97dec5 python-engineio-3.3.0.tar.gz +sha256 e4ac17c04c32ccca67287dfdbbe4ee1e9eec3a0a1a9a6070f3ab784db08407dd python-engineio-3.3.0.tar.gz +# Locally computed sha256 checksums +sha256 c9e97d3dbc1fbbcdb4f7808b282cd646db887aff4f5313fe6bbe8d4c31405a9c LICENSE diff --git a/package/python-engineio/python-engineio.mk b/package/python-engineio/python-engineio.mk index 61d5da9aff..c20101984b 100644 --- a/package/python-engineio/python-engineio.mk +++ b/package/python-engineio/python-engineio.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_ENGINEIO_VERSION = 0.9.2 -PYTHON_ENGINEIO_SITE = https://pypi.python.org/packages/c3/8f/0e066fc7a7029893b96b1d68a0cd5e75f6410f154fa4079b2be4991f5ae0 +PYTHON_ENGINEIO_VERSION = 3.3.0 +PYTHON_ENGINEIO_SITE = https://files.pythonhosted.org/packages/2f/09/83d627ad3dadd064bfb875c7767e93f3568354fe82cebe298b4e07f79238 PYTHON_ENGINEIO_SETUP_TYPE = setuptools PYTHON_ENGINEIO_LICENSE = MIT PYTHON_ENGINEIO_LICENSE_FILES = LICENSE diff --git a/package/python-falcon/Config.in b/package/python-falcon/Config.in new file mode 100644 index 0000000000..ffd66eec1b --- /dev/null +++ b/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/package/python-falcon/python-falcon.hash b/package/python-falcon/python-falcon.hash new file mode 100644 index 0000000000..7f6ee6ea3d --- /dev/null +++ b/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/package/python-falcon/python-falcon.mk b/package/python-falcon/python-falcon.mk new file mode 100644 index 0000000000..b724ffadbe --- /dev/null +++ b/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/package/python-fire/Config.in b/package/python-fire/Config.in new file mode 100644 index 0000000000..2c6e55ab6b --- /dev/null +++ b/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/package/python-fire/python-fire.hash b/package/python-fire/python-fire.hash new file mode 100644 index 0000000000..d6304369d5 --- /dev/null +++ b/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/package/python-fire/python-fire.mk b/package/python-fire/python-fire.mk new file mode 100644 index 0000000000..bdb5ee191c --- /dev/null +++ b/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/package/python-futures/python-futures.hash b/package/python-futures/python-futures.hash index f0948ae4e2..db6bb55ea2 100644 --- a/package/python-futures/python-futures.hash +++ b/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/package/python-futures/python-futures.mk b/package/python-futures/python-futures.mk index fabfa6ae37..d6366f30ed 100644 --- a/package/python-futures/python-futures.mk +++ b/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/package/python-gunicorn/Config.in b/package/python-gunicorn/Config.in index 79cda3eaa6..098c3fa6b0 100644 --- a/package/python-gunicorn/Config.in +++ b/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/package/python-gunicorn/python-gunicorn.hash b/package/python-gunicorn/python-gunicorn.hash index a282bc995d..402250ea78 100644 --- a/package/python-gunicorn/python-gunicorn.hash +++ b/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/package/python-gunicorn/python-gunicorn.mk b/package/python-gunicorn/python-gunicorn.mk index cfb7da110c..d113f75185 100644 --- a/package/python-gunicorn/python-gunicorn.mk +++ b/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/package/python-hyperlink/Config.in b/package/python-hyperlink/Config.in index 11ac814233..8dad0af19a 100644 --- a/package/python-hyperlink/Config.in +++ b/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/package/python-hyperlink/python-hyperlink.hash b/package/python-hyperlink/python-hyperlink.hash index 565a34d16d..fcf0cc9219 100644 --- a/package/python-hyperlink/python-hyperlink.hash +++ b/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/package/python-hyperlink/python-hyperlink.mk b/package/python-hyperlink/python-hyperlink.mk index 7b48e36344..6681df4f90 100644 --- a/package/python-hyperlink/python-hyperlink.mk +++ b/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/package/python-idna/python-idna.hash b/package/python-idna/python-idna.hash index 4b3c84e5d8..ddfd44e97c 100644 --- a/package/python-idna/python-idna.hash +++ b/package/python-idna/python-idna.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/idna/json -md5 0e5bb69018ddef1b9d95f681182be82c idna-2.7.tar.gz -sha256 684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16 idna-2.7.tar.gz +md5 2e9ae0b4a0b26d1747c6127cdb060bc1 idna-2.8.tar.gz +sha256 c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407 idna-2.8.tar.gz # Locally computed sha256 checksums sha256 0d4bc7abd48dcfb14e24254ee404066737ff0167144e222914a2113b8794683e LICENSE.rst diff --git a/package/python-idna/python-idna.mk b/package/python-idna/python-idna.mk index d5c57955a3..1dae47bb2b 100644 --- a/package/python-idna/python-idna.mk +++ b/package/python-idna/python-idna.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_IDNA_VERSION = 2.7 +PYTHON_IDNA_VERSION = 2.8 PYTHON_IDNA_SOURCE = idna-$(PYTHON_IDNA_VERSION).tar.gz -PYTHON_IDNA_SITE = https://files.pythonhosted.org/packages/65/c4/80f97e9c9628f3cac9b98bfca0402ede54e0563b56482e3e6e45c43c4935 +PYTHON_IDNA_SITE = https://files.pythonhosted.org/packages/ad/13/eb56951b6f7950cadb579ca166e448ba77f9d24efc03edd7e55fa57d04b7 PYTHON_IDNA_LICENSE = BSD-3-Clause PYTHON_IDNA_LICENSE_FILES = LICENSE.rst PYTHON_IDNA_SETUP_TYPE = setuptools diff --git a/package/python-incremental/python-incremental.hash b/package/python-incremental/python-incremental.hash index 580e76c7c2..c897f6e495 100644 --- a/package/python-incremental/python-incremental.hash +++ b/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/package/python-incremental/python-incremental.mk b/package/python-incremental/python-incremental.mk index fc1975ffd9..9c9d3a4405 100644 --- a/package/python-incremental/python-incremental.mk +++ b/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/package/python-ipaddress/python-ipaddress.hash b/package/python-ipaddress/python-ipaddress.hash index c4fdf6d6c0..5a3e674fa7 100644 --- a/package/python-ipaddress/python-ipaddress.hash +++ b/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/package/python-ipaddress/python-ipaddress.mk b/package/python-ipaddress/python-ipaddress.mk index 646db5d2d3..189efdfb1f 100644 --- a/package/python-ipaddress/python-ipaddress.mk +++ b/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/package/python-ipython/python-ipython.hash b/package/python-ipython/python-ipython.hash index af1ed94b7a..41bdd70feb 100644 --- a/package/python-ipython/python-ipython.hash +++ b/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/package/python-ipython/python-ipython.mk b/package/python-ipython/python-ipython.mk index 5d92546fe0..79a48bf43d 100644 --- a/package/python-ipython/python-ipython.mk +++ b/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/package/python-jinja2/python-jinja2.hash b/package/python-jinja2/python-jinja2.hash index f5a09729c0..fe34f73965 100644 --- a/package/python-jinja2/python-jinja2.hash +++ b/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/package/python-jinja2/python-jinja2.mk b/package/python-jinja2/python-jinja2.mk index c7dd4902b0..9ff36972d6 100644 --- a/package/python-jinja2/python-jinja2.mk +++ b/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/package/python-jsonmodels/python-jsonmodels.hash b/package/python-jsonmodels/python-jsonmodels.hash index f5b1ac5ef1..16e200b03f 100644 --- a/package/python-jsonmodels/python-jsonmodels.hash +++ b/package/python-jsonmodels/python-jsonmodels.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/jsonmodels/json, sha256 locally computed -md5 e42b6c0078e731035ec3f1bf8a6cdc92 jsonmodels-2.3.tar.gz -sha256 09e9639c85531e0f37991bb23a363494e37a2e89fb480dbc03d9556258f4ea47 jsonmodels-2.3.tar.gz +# md5, sha256 from https://pypi.org/pypi/jsonmodels/json +md5 96132e252887f840d23792c03fad2039 jsonmodels-2.4.tar.gz +sha256 abc8dc334a1794513e511a75639f77c271ef6a2992b6793f3753c7335dd18775 jsonmodels-2.4.tar.gz +# Locally computed sha256 checksums sha256 3b1219763eec6924ddd4c4d61dee6a53c5fc9ab62707a9ad763ee363d3050cc5 LICENSE diff --git a/package/python-jsonmodels/python-jsonmodels.mk b/package/python-jsonmodels/python-jsonmodels.mk index 4d4da87969..4e4eecf233 100644 --- a/package/python-jsonmodels/python-jsonmodels.mk +++ b/package/python-jsonmodels/python-jsonmodels.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_JSONMODELS_VERSION = 2.3 +PYTHON_JSONMODELS_VERSION = 2.4 PYTHON_JSONMODELS_SOURCE = jsonmodels-$(PYTHON_JSONMODELS_VERSION).tar.gz -PYTHON_JSONMODELS_SITE = https://pypi.python.org/packages/ab/0f/e214845b49881d3b2bebd1f387eedc5b26ac5580353a0a38074e94439957 +PYTHON_JSONMODELS_SITE = https://files.pythonhosted.org/packages/68/00/524668dc751f9ef91e73c795b2073bf2ddb79728a474d1bcab9c6dc426d8 PYTHON_JSONMODELS_SETUP_TYPE = setuptools PYTHON_JSONMODELS_LICENSE = BSD-3-Clause PYTHON_JSONMODELS_LICENSE_FILES = LICENSE diff --git a/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch b/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch index 478bac76f6..ec7aec4072 100644 --- a/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch +++ b/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch @@ -4,11 +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_python27 and Python3 requires boost_python36 +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(-) @@ -21,7 +23,7 @@ index fdf5c27..4b38569 100644 from setuptools import setup, find_packages, Extension import sys, os -+boostlib = "boost_python36" ++boostlib = "boost_python37" +if sys.version_info < (3, 0): + boostlib = "boost_python27" + diff --git a/package/python-lmdb/python-lmdb.hash b/package/python-lmdb/python-lmdb.hash index 7c2946044d..ed96d69545 100644 --- a/package/python-lmdb/python-lmdb.hash +++ b/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/package/python-lmdb/python-lmdb.mk b/package/python-lmdb/python-lmdb.mk index 62fb0465b1..039656e2c1 100644 --- a/package/python-lmdb/python-lmdb.mk +++ b/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/package/python-logbook/Config.in b/package/python-logbook/Config.in index 9ae914432d..d4fbf0fe67 100644 --- a/package/python-logbook/Config.in +++ b/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/package/python-logbook/python-logbook.hash b/package/python-logbook/python-logbook.hash index 1a79046c3d..0db9def1ba 100644 --- a/package/python-logbook/python-logbook.hash +++ b/package/python-logbook/python-logbook.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/logbook/json, sha256 locally computed -md5 22fea705e067c118925898f0c30b0508 Logbook-1.0.0.tar.gz -sha256 87da2515a6b3db866283cb9d4e5a6ec44e52a1d556ebb2ea3b6e7e704b5f1872 Logbook-1.0.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/logbook/json +md5 352d66684713fc323febe60c9244270e Logbook-1.4.3.tar.gz +sha256 a5a96792abd8172c80d61b7530e134524f20e2841981038031e602ed5920fef5 Logbook-1.4.3.tar.gz +# Locally computed sha256 checksums +sha256 2ca266337cc6947578654ab0dd6438de4d01fa78b2e6eb554b09757df1178f98 LICENSE diff --git a/package/python-logbook/python-logbook.mk b/package/python-logbook/python-logbook.mk index 5fcf301ba4..4e9a5306d0 100644 --- a/package/python-logbook/python-logbook.mk +++ b/package/python-logbook/python-logbook.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_LOGBOOK_VERSION = 1.0.0 +PYTHON_LOGBOOK_VERSION = 1.4.3 PYTHON_LOGBOOK_SOURCE = Logbook-$(PYTHON_LOGBOOK_VERSION).tar.gz -PYTHON_LOGBOOK_SITE = https://pypi.python.org/packages/34/e8/6419c217bbf464fe8a902418120cccaf476201bd03b50958db24d6e90f65 +PYTHON_LOGBOOK_SITE = https://files.pythonhosted.org/packages/f6/83/20fc0270614919cb799f76e32cf143a54c58ce2fa45c19fd38ac2e4f9977 PYTHON_LOGBOOK_SETUP_TYPE = setuptools PYTHON_LOGBOOK_LICENSE = BSD-3-Clause +PYTHON_LOGBOOK_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/package/python-lxml/Config.in b/package/python-lxml/Config.in index 1ccaa5e387..fcb30d56ee 100644 --- a/package/python-lxml/Config.in +++ b/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/package/python-lxml/python-lxml.hash b/package/python-lxml/python-lxml.hash index 38607e1b84..6558f107e3 100644 --- a/package/python-lxml/python-lxml.hash +++ b/package/python-lxml/python-lxml.hash @@ -1,2 +1,6 @@ # Locally computed -sha256 f7bc9f702500e205b1560d620f14015fec76dcd6f9e889a946a2ddcc3c344fd0 lxml-4.0.0.tgz +sha256 7035d9361f3ceec9ccc1dd3482094d1174580e7e1bf6870b77ea758f7cad15d2 lxml-4.2.6.tar.gz +sha256 41d49dd406aa0e1548a6d5f21a30d6bf638b3cd96eb7289dd348d83ed2e40392 LICENSES.txt +sha256 69edb445c1335a8312d4c09271847e9956d84f0d9f724d125340cc3fad767b2a doc/licenses/BSD.txt +sha256 0497ae8138811ef4466ede653bab7a59feb3d3c14f9ed50fc33a00aeb5bec32e doc/licenses/elementtree.txt +sha256 705bdfece6dbb87879d9ec40a8c9530651aefb98ae387da9134584464742d539 src/lxml/isoschematron/resources/rng/iso-schematron.rng diff --git a/package/python-lxml/python-lxml.mk b/package/python-lxml/python-lxml.mk index 7f1692d1b0..1b46670ffd 100644 --- a/package/python-lxml/python-lxml.mk +++ b/package/python-lxml/python-lxml.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_LXML_VERSION = 4.0.0 -PYTHON_LXML_SITE = http://lxml.de/files -PYTHON_LXML_SOURCE = lxml-$(PYTHON_LXML_VERSION).tgz +PYTHON_LXML_VERSION = 4.2.6 +PYTHON_LXML_SITE = https://files.pythonhosted.org/packages/b0/06/37437e348cd296c56a8bac0396007960abb2bcdaf77e8a3bde52bb68e550 +PYTHON_LXML_SOURCE = lxml-$(PYTHON_LXML_VERSION).tar.gz # Not including the GPL, because it is used only for the test scripts. PYTHON_LXML_LICENSE = BSD-3-Clause, Others diff --git a/package/python-markdown/python-markdown.hash b/package/python-markdown/python-markdown.hash index f2131edaf3..623156b509 100644 --- a/package/python-markdown/python-markdown.hash +++ b/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/package/python-markdown/python-markdown.mk b/package/python-markdown/python-markdown.mk index d5273f97a4..8349638eb3 100644 --- a/package/python-markdown/python-markdown.mk +++ b/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/package/python-markdown2/python-markdown2.hash b/package/python-markdown2/python-markdown2.hash index 17ae7d901d..59a9a13ad1 100644 --- a/package/python-markdown2/python-markdown2.hash +++ b/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/package/python-markdown2/python-markdown2.mk b/package/python-markdown2/python-markdown2.mk index 1e343b43ff..8069ef9185 100644 --- a/package/python-markdown2/python-markdown2.mk +++ b/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/package/python-mimeparse/Config.in b/package/python-mimeparse/Config.in new file mode 100644 index 0000000000..2437c3665b --- /dev/null +++ b/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/package/python-mimeparse/python-mimeparse.hash b/package/python-mimeparse/python-mimeparse.hash new file mode 100644 index 0000000000..9721c5fa0c --- /dev/null +++ b/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/package/python-mimeparse/python-mimeparse.mk b/package/python-mimeparse/python-mimeparse.mk new file mode 100644 index 0000000000..00bb1cf8f4 --- /dev/null +++ b/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/package/python-msgpack/python-msgpack.hash b/package/python-msgpack/python-msgpack.hash index 48313ff547..cb3b75d5f7 100644 --- a/package/python-msgpack/python-msgpack.hash +++ b/package/python-msgpack/python-msgpack.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/msgpack-python/json, sha256 locally computed. -md5 dcd854fb41ee7584ebbf35e049e6be98 msgpack-python-0.4.8.tar.gz -sha256 1a2b19df0f03519ec7f19f826afb935b202d8979b0856c6fb3dc28955799f886 msgpack-python-0.4.8.tar.gz +# md5, sha256 from https://pypi.org/pypi/msgpack/json +md5 1b96537be6f5186fed0d131aaa59ef26 msgpack-0.6.1.tar.gz +sha256 4008c72f5ef2b7936447dcb83db41d97e9791c83221be13d5e19db0796df1972 msgpack-0.6.1.tar.gz +# Locally computed sha256 +sha256 492dedba85da5872f78e6091bcd1fea474d660d35acb4dee964b8aab3f007427 COPYING diff --git a/package/python-msgpack/python-msgpack.mk b/package/python-msgpack/python-msgpack.mk index 5be2b14bdf..517166db63 100644 --- a/package/python-msgpack/python-msgpack.mk +++ b/package/python-msgpack/python-msgpack.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MSGPACK_VERSION = 0.4.8 -PYTHON_MSGPACK_SOURCE = msgpack-python-$(PYTHON_MSGPACK_VERSION).tar.gz -PYTHON_MSGPACK_SITE = https://pypi.python.org/packages/21/27/8a1d82041c7a2a51fcc73675875a5f9ea06c2663e02fcfeb708be1d081a0 +PYTHON_MSGPACK_VERSION = 0.6.1 +PYTHON_MSGPACK_SOURCE = msgpack-$(PYTHON_MSGPACK_VERSION).tar.gz +PYTHON_MSGPACK_SITE = https://files.pythonhosted.org/packages/81/9c/0036c66234482044070836cc622266839e2412f8108849ab0bfdeaab8578 PYTHON_MSGPACK_LICENSE = Apache-2.0 PYTHON_MSGPACK_LICENSE_FILES = COPYING PYTHON_MSGPACK_SETUP_TYPE = setuptools diff --git a/package/python-mwclient/python-mwclient.hash b/package/python-mwclient/python-mwclient.hash index a20950a249..fccfbcdcb6 100644 --- a/package/python-mwclient/python-mwclient.hash +++ b/package/python-mwclient/python-mwclient.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/mwclient/json -md5 b9fc00d68dbf4a3db4ca476d438d6b57 mwclient-0.9.1.tar.gz -sha256 ed7a0eeb98f0309946ae8762b60eae10eb507e4b67400931ec24abd0aee3d7b4 mwclient-0.9.1.tar.gz +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/package/python-mwclient/python-mwclient.mk b/package/python-mwclient/python-mwclient.mk index 7edf05add1..0e20dd6261 100644 --- a/package/python-mwclient/python-mwclient.mk +++ b/package/python-mwclient/python-mwclient.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MWCLIENT_VERSION = 0.9.1 +PYTHON_MWCLIENT_VERSION = 0.9.2 PYTHON_MWCLIENT_SOURCE = mwclient-$(PYTHON_MWCLIENT_VERSION).tar.gz -PYTHON_MWCLIENT_SITE = https://files.pythonhosted.org/packages/1b/9b/c790760100c336e596b99ad13537fda36c13ea6f289b88594e9ad0d90a1e +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/package/python-networkmanager/python-networkmanager.hash b/package/python-networkmanager/python-networkmanager.hash index 1fed4befb7..83621761cd 100644 --- a/package/python-networkmanager/python-networkmanager.hash +++ b/package/python-networkmanager/python-networkmanager.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/python-networkmanager/json, sha256 locally computed -md5 5fc644a65463031295c6b7dd51a0f1bd python-networkmanager-2.0.1.tar.gz -sha256 bc36507506ad29bfdac941b0987ebd1cc9633c9a9291d7378e229e4515a0a517 python-networkmanager-2.0.1.tar.gz +# md5 and sha256 from https://pypi.python.org/pypi/python-networkmanager/json +md5 f638d854a3639fb37c0e06d1092a771e python-networkmanager-2.1.tar.gz +sha256 aef1e34d98d7bec7cc368e0ca0f2e97493f9b5ebe6d7103f8f6460cfca3dc6fc python-networkmanager-2.1.tar.gz diff --git a/package/python-networkmanager/python-networkmanager.mk b/package/python-networkmanager/python-networkmanager.mk index 29afb5e564..de893f757a 100644 --- a/package/python-networkmanager/python-networkmanager.mk +++ b/package/python-networkmanager/python-networkmanager.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_NETWORKMANAGER_VERSION = 2.0.1 -PYTHON_NETWORKMANAGER_SITE = https://pypi.python.org/packages/d7/f9/5cbd99fd24a072875ce048e48d1754285f137aab447de8fee63b6cba990a +PYTHON_NETWORKMANAGER_VERSION = 2.1 +PYTHON_NETWORKMANAGER_SITE = https://files.pythonhosted.org/packages/73/ec/2cc46290cedc99f59df3633d428dfa91d95946ca49af96fdb53514ee195f PYTHON_NETWORKMANAGER_SETUP_TYPE = setuptools PYTHON_NETWORKMANAGER_LICENSE = Zlib PYTHON_NETWORKMANAGER_LICENSE_FILES = COPYING diff --git a/package/python-numpy/0002-Add-support-of-ARC.patch b/package/python-numpy/0002-Add-support-of-ARC.patch deleted file mode 100644 index c022487c7f..0000000000 --- a/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/package/python-numpy/0003-no-FPU-exceptions-bits-on-ARC-glibc.patch b/package/python-numpy/0003-no-FPU-exceptions-bits-on-ARC-glibc.patch new file mode 100644 index 0000000000..f2ed4f6f98 --- /dev/null +++ b/package/python-numpy/0003-no-FPU-exceptions-bits-on-ARC-glibc.patch @@ -0,0 +1,42 @@ +From ae217b0e77a52f08f46ef66fa88820946984507a Mon Sep 17 00:00:00 2001 +From: Evgeniy Didin +Date: Tue, 6 Feb 2018 15:59:22 +0300 +Subject: [PATCH] FIX: no FPU exceptions bits on ARC glibc + +The FPU exceptions bits are missing in fenv.h in glibc for ARC architecture. + +Signed-off-by: Evgeniy Didin +--- + numpy/core/include/numpy/ufuncobject.h | 2 +- + numpy/core/src/npymath/ieee754.c.src | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/numpy/core/include/numpy/ufuncobject.h b/numpy/core/include/numpy/ufuncobject.h +index 89f72fcea..29e05b179 100644 +--- a/numpy/core/include/numpy/ufuncobject.h ++++ b/numpy/core/include/numpy/ufuncobject.h +@@ -319,7 +319,7 @@ typedef struct _loop1d_info { + #if defined(sun) || defined(__BSD__) || defined(__OpenBSD__) || \ + (defined(__FreeBSD__) && (__FreeBSD_version < 502114)) || \ + defined(__NetBSD__) || \ +- (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ ++ (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__arc__)) || defined(__APPLE__) || \ + defined(__CYGWIN__) || defined(__MINGW32__) || \ + (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) || \ + defined(_AIX) || \ +diff --git a/numpy/core/src/npymath/ieee754.c.src b/numpy/core/src/npymath/ieee754.c.src +index 8dc4d77ef..78e646470 100644 +--- a/numpy/core/src/npymath/ieee754.c.src ++++ b/numpy/core/src/npymath/ieee754.c.src +@@ -627,7 +627,7 @@ void npy_set_floatstatus_invalid(void) + } + + +-#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ ++#elif (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__arc__)) || defined(__APPLE__) || \ + defined(__CYGWIN__) || defined(__MINGW32__) || \ + (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) + # include +-- +2.16.2 + diff --git a/package/python-numpy/Config.in b/package/python-numpy/Config.in index 067085bf41..c337675ceb 100644 --- a/package/python-numpy/Config.in +++ b/package/python-numpy/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS bool # Numpy has some CPU specific code - # ARCompact build fails due to toolchain issue - # ARC HS38 build fails on glibc due to missing FE_* definitions - default y if BR2_arc && BR2_archs38 && !BR2_TOOLCHAIN_USES_GLIBC + default y if BR2_arc default y if BR2_aarch64 default y if BR2_arm default y if BR2_armeb diff --git a/package/python-numpy/python-numpy.hash b/package/python-numpy/python-numpy.hash index 854f202297..7c7f446118 100644 --- a/package/python-numpy/python-numpy.hash +++ b/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/package/python-numpy/python-numpy.mk b/package/python-numpy/python-numpy.mk index d0d38371a3..26a10c377b 100644 --- a/package/python-numpy/python-numpy.mk +++ b/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/package/python-paramiko/Config.in b/package/python-paramiko/Config.in index 1f86af3be7..e33199c82c 100644 --- a/package/python-paramiko/Config.in +++ b/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/package/python-paramiko/python-paramiko.hash b/package/python-paramiko/python-paramiko.hash index 3b4c779cee..cca2dd612d 100644 --- a/package/python-paramiko/python-paramiko.hash +++ b/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/package/python-paramiko/python-paramiko.mk b/package/python-paramiko/python-paramiko.mk index 0aed667c4d..1f5818e3b8 100644 --- a/package/python-paramiko/python-paramiko.mk +++ b/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/package/python-passlib/Config.in b/package/python-passlib/Config.in new file mode 100644 index 0000000000..23546a18a5 --- /dev/null +++ b/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/package/python-passlib/python-passlib.hash b/package/python-passlib/python-passlib.hash new file mode 100644 index 0000000000..8e7f790af0 --- /dev/null +++ b/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/package/python-passlib/python-passlib.mk b/package/python-passlib/python-passlib.mk new file mode 100644 index 0000000000..1a3726b607 --- /dev/null +++ b/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/package/python-pathlib2/python-pathlib2.hash b/package/python-pathlib2/python-pathlib2.hash index a9c294940a..b17517b442 100644 --- a/package/python-pathlib2/python-pathlib2.hash +++ b/package/python-pathlib2/python-pathlib2.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/pathlib2/json, sha256 locally computed -md5 6c75bfde898b6c88627621a48ee8de14 pathlib2-2.2.1.tar.gz -sha256 ce9007df617ef6b7bd8a31cd2089ed0c1fed1f7c23cf2bf1ba140b3dd563175d pathlib2-2.2.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/pathlib2/json +md5 f9ede5c162ea6fc6a3b1d26db53bb6a2 pathlib2-2.3.3.tar.gz +sha256 25199318e8cc3c25dcb45cbe084cc061051336d5a9ea2a12448d3d8cb748f742 pathlib2-2.3.3.tar.gz +# Locally computed sha256 checksums +sha256 f8e02f1a07e4c6fc59a4bee831ddde26b97064105c423b9e24340f35aaa80262 LICENSE.rst diff --git a/package/python-pathlib2/python-pathlib2.mk b/package/python-pathlib2/python-pathlib2.mk index 0116420ef6..256d9b81e1 100644 --- a/package/python-pathlib2/python-pathlib2.mk +++ b/package/python-pathlib2/python-pathlib2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PATHLIB2_VERSION = 2.2.1 +PYTHON_PATHLIB2_VERSION = 2.3.3 PYTHON_PATHLIB2_SOURCE = pathlib2-$(PYTHON_PATHLIB2_VERSION).tar.gz -PYTHON_PATHLIB2_SITE = https://pypi.python.org/packages/ab/d8/ac7489d50146f29d0a14f65545698f4545d8a6b739b24b05859942048b56 +PYTHON_PATHLIB2_SITE = https://files.pythonhosted.org/packages/bf/d7/a2568f4596b75d2c6e2b4094a7e64f620decc7887f69a1f2811931ea15b9 PYTHON_PATHLIB2_LICENSE = MIT PYTHON_PATHLIB2_LICENSE_FILES = LICENSE.rst PYTHON_PATHLIB2_SETUP_TYPE = setuptools diff --git a/package/python-pexpect/python-pexpect.hash b/package/python-pexpect/python-pexpect.hash index e3836074ec..bdeedefaa0 100644 --- a/package/python-pexpect/python-pexpect.hash +++ b/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/package/python-pexpect/python-pexpect.mk b/package/python-pexpect/python-pexpect.mk index f1f9903946..5c385cefb0 100644 --- a/package/python-pexpect/python-pexpect.mk +++ b/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/package/python-pigpio/Config.in b/package/python-pigpio/Config.in new file mode 100644 index 0000000000..4c9152a621 --- /dev/null +++ b/package/python-pigpio/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_PIGPIO + bool "python-pigpio" + help + Pigpio is a Python module for the Raspberry Pi + which talks to the pigpio daemon to allow control + of the general purpose input outputs (GPIO). + + http://abyz.me.uk/rpi/pigpio/python.html diff --git a/package/python-pigpio/python-pigpio.hash b/package/python-pigpio/python-pigpio.hash new file mode 100644 index 0000000000..41ac25c350 --- /dev/null +++ b/package/python-pigpio/python-pigpio.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/pigpio/json +md5 f63ca89fdc733a5bad784155e6c1b9ff pigpio-1.42.tar.gz +sha256 274fc6df10a787e6a34b748a61a142f38dbf812b386f5b1762c66ad6a67b7873 pigpio-1.42.tar.gz diff --git a/package/python-pigpio/python-pigpio.mk b/package/python-pigpio/python-pigpio.mk new file mode 100644 index 0000000000..7da1b6f4b0 --- /dev/null +++ b/package/python-pigpio/python-pigpio.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-pigpio +# +################################################################################ + +PYTHON_PIGPIO_VERSION = 1.42 +PYTHON_PIGPIO_SOURCE = pigpio-$(PYTHON_PIGPIO_VERSION).tar.gz +PYTHON_PIGPIO_SITE = https://files.pythonhosted.org/packages/f6/c1/73d7b4287e2edc7e06ac34a4ec0c73d4758ba755a8d2ecc2aaf57bf7d54c +PYTHON_PIGPIO_SETUP_TYPE = setuptools +PYTHON_PIGPIO_LICENSE = Unlicense + +$(eval $(python-package)) diff --git a/package/python-pillow/python-pillow.hash b/package/python-pillow/python-pillow.hash index 463b5620ce..0f90a0be18 100644 --- a/package/python-pillow/python-pillow.hash +++ b/package/python-pillow/python-pillow.hash @@ -1,2 +1,4 @@ -# sha256 from https://pypi.org/project/Pillow/5.1.0/#files -sha256 cee9bc75bff455d317b6947081df0824a8f118de2786dc3d74a3503fd631f4ef Pillow-5.1.0.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/package/python-pillow/python-pillow.mk b/package/python-pillow/python-pillow.mk index c9b3e316f9..c3a3d13315 100644 --- a/package/python-pillow/python-pillow.mk +++ b/package/python-pillow/python-pillow.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PILLOW_VERSION = 5.1.0 +PYTHON_PILLOW_VERSION = 5.2.0 PYTHON_PILLOW_SOURCE = Pillow-$(PYTHON_PILLOW_VERSION).tar.gz -PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/89/b8/2f49bf71cbd0e9485bb36f72d438421b69b7356180695ae10bd4fd3066f5 +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/package/python-pip/Config.in b/package/python-pip/Config.in new file mode 100644 index 0000000000..ac741da872 --- /dev/null +++ b/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/package/python-pip/python-pip.hash b/package/python-pip/python-pip.hash new file mode 100644 index 0000000000..149099b118 --- /dev/null +++ b/package/python-pip/python-pip.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pip/json +md5 b6919f1a368138f73b367abccc06f5ae pip-19.0.1.tar.gz +sha256 e81ddd35e361b630e94abeda4a1eddd36d47a90e71eb00f38f46b57f787cd1a5 pip-19.0.1.tar.gz +# Locally computed sha256 checksums +sha256 5ba21fbb0964f936ad7d15362d1ed6d4931cc8c8f9ff2d4d91190e109be74431 LICENSE.txt diff --git a/package/python-pip/python-pip.mk b/package/python-pip/python-pip.mk new file mode 100644 index 0000000000..22562cc93f --- /dev/null +++ b/package/python-pip/python-pip.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pip +# +################################################################################ + +PYTHON_PIP_VERSION = 19.0.1 +PYTHON_PIP_SOURCE = pip-$(PYTHON_PIP_VERSION).tar.gz +PYTHON_PIP_SITE = https://files.pythonhosted.org/packages/c8/89/ad7f27938e59db1f0f55ce214087460f65048626e2226531ba6cb6da15f0 +PYTHON_PIP_SETUP_TYPE = setuptools +PYTHON_PIP_LICENSE = MIT +PYTHON_PIP_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-ply/Config.in b/package/python-ply/Config.in new file mode 100644 index 0000000000..d6d265ad1c --- /dev/null +++ b/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/package/python-ply/python-ply.hash b/package/python-ply/python-ply.hash new file mode 100644 index 0000000000..1eba3b0ffe --- /dev/null +++ b/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/package/python-ply/python-ply.mk b/package/python-ply/python-ply.mk new file mode 100644 index 0000000000..95a290a7c4 --- /dev/null +++ b/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/package/python-posix-ipc/Config.in b/package/python-posix-ipc/Config.in index eba36edd7b..2c62678679 100644 --- a/package/python-posix-ipc/Config.in +++ b/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/package/python-posix-ipc/python-posix-ipc.hash b/package/python-posix-ipc/python-posix-ipc.hash index 196f186de1..d267cabc88 100644 --- a/package/python-posix-ipc/python-posix-ipc.hash +++ b/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/package/python-posix-ipc/python-posix-ipc.mk b/package/python-posix-ipc/python-posix-ipc.mk index 6178c75498..d4429f117e 100644 --- a/package/python-posix-ipc/python-posix-ipc.mk +++ b/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/package/python-psutil/python-psutil.hash b/package/python-psutil/python-psutil.hash index 19fb8a4fdb..12d53f95c7 100644 --- a/package/python-psutil/python-psutil.hash +++ b/package/python-psutil/python-psutil.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/psutil/json, sha256 locally computed -md5 c9aa2599dcd9e5b59d71b6660d396062 psutil-5.2.0.tar.gz -sha256 2fc91d068faa5613c093335f0e758673ef8c722ad4bfa4aded64c13ae69089eb psutil-5.2.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/psutil/json +md5 0502dad59fcbe047baebe07165b1376a psutil-5.5.0.tar.gz +sha256 1aba93430050270750d046a179c5f3d6e1f5f8b96c20399ba38c596b28fc4d37 psutil-5.5.0.tar.gz +# Locally computed sha256 checksums +sha256 bb073826b0dfb43b631c38ad5d9844cda74cc631d2a5569ad8798be4274a3e17 LICENSE diff --git a/package/python-psutil/python-psutil.mk b/package/python-psutil/python-psutil.mk index 2b41df743a..2a70845483 100644 --- a/package/python-psutil/python-psutil.mk +++ b/package/python-psutil/python-psutil.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PSUTIL_VERSION = 5.2.0 +PYTHON_PSUTIL_VERSION = 5.5.0 PYTHON_PSUTIL_SOURCE = psutil-$(PYTHON_PSUTIL_VERSION).tar.gz -PYTHON_PSUTIL_SITE = https://pypi.python.org/packages/3c/2f/f3ab91349c666f009077157b12057e613a3152a46a6c3be883777546b6de +PYTHON_PSUTIL_SITE = https://files.pythonhosted.org/packages/6e/a0/833bcbcede5141cc5615e50c7cc5b960ce93d9c9b885fbe3b7d36e48a2d4 PYTHON_PSUTIL_SETUP_TYPE = setuptools PYTHON_PSUTIL_LICENSE = BSD-3-Clause PYTHON_PSUTIL_LICENSE_FILES = LICENSE diff --git a/package/python-psycopg2/0001-setup.py-avoid-installing-tests-to-site-packages.patch b/package/python-psycopg2/0001-setup.py-avoid-installing-tests-to-site-packages.patch new file mode 100644 index 0000000000..f2dc3adca9 --- /dev/null +++ b/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/package/python-psycopg2/Config.in b/package/python-psycopg2/Config.in index ec852bb49e..ec27d706de 100644 --- a/package/python-psycopg2/Config.in +++ b/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/package/python-psycopg2/python-psycopg2.hash b/package/python-psycopg2/python-psycopg2.hash index ea4a07697b..c6e199769b 100644 --- a/package/python-psycopg2/python-psycopg2.hash +++ b/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 598e2f43c1b26361ae2d3a3254dae414 psycopg2-2.7.7.tar.gz +sha256 f4526d078aedd5187d0508aa5f9a01eae6a48a470ed678406da94b4cd6524b7e psycopg2-2.7.7.tar.gz +# Locally computed sha256 checksums +sha256 3c2b037df24cb85ca1a48739dcab60a5037644b436f87173f6db0d101636b525 LICENSE diff --git a/package/python-psycopg2/python-psycopg2.mk b/package/python-psycopg2/python-psycopg2.mk index e9327f4607..e297d6e2b2 100644 --- a/package/python-psycopg2/python-psycopg2.mk +++ b/package/python-psycopg2/python-psycopg2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PSYCOPG2_VERSION = 2.7.4 +PYTHON_PSYCOPG2_VERSION = 2.7.7 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/63/54/c039eb0f46f9a9406b59a638415c2012ad7be9b4b97bfddb1f48c280df3a PYTHON_PSYCOPG2_SETUP_TYPE = setuptools PYTHON_PSYCOPG2_LICENSE = LGPL-3.0+ PYTHON_PSYCOPG2_LICENSE_FILES = LICENSE diff --git a/package/python-py/Config.in b/package/python-py/Config.in new file mode 100644 index 0000000000..354372f5b4 --- /dev/null +++ b/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/package/python-py/python-py.hash b/package/python-py/python-py.hash new file mode 100644 index 0000000000..67926527cd --- /dev/null +++ b/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/package/python-py/python-py.mk b/package/python-py/python-py.mk new file mode 100644 index 0000000000..87e19ac21a --- /dev/null +++ b/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/package/python-pyasn1-modules/Config.in b/package/python-pyasn1-modules/Config.in new file mode 100644 index 0000000000..6aff4d935b --- /dev/null +++ b/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/package/python-pyasn1-modules/python-pyasn1-modules.hash b/package/python-pyasn1-modules/python-pyasn1-modules.hash new file mode 100644 index 0000000000..f8af9a4bb8 --- /dev/null +++ b/package/python-pyasn1-modules/python-pyasn1-modules.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyasn1-modules/json +md5 0116a480c28e1ab00587ba3a6fd7c335 pyasn1-modules-0.2.4.tar.gz +sha256 a52090e8c5841ebbf08ae455146792d9ef3e8445b21055d3a3b7ed9c712b7c7c pyasn1-modules-0.2.4.tar.gz +# Locally computed sha256 checksums +sha256 22c5cc6922ab5d69fba32d8c5ee4cdd14981508cb53afc0ebd85593847fd95a5 LICENSE.txt diff --git a/package/python-pyasn1-modules/python-pyasn1-modules.mk b/package/python-pyasn1-modules/python-pyasn1-modules.mk new file mode 100644 index 0000000000..a67d469568 --- /dev/null +++ b/package/python-pyasn1-modules/python-pyasn1-modules.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyasn1-modules +# +################################################################################ + +PYTHON_PYASN1_MODULES_VERSION = 0.2.4 +PYTHON_PYASN1_MODULES_SOURCE = pyasn1-modules-$(PYTHON_PYASN1_MODULES_VERSION).tar.gz +PYTHON_PYASN1_MODULES_SITE = https://files.pythonhosted.org/packages/bd/a5/ef7bf693e8a8f015386c9167483199f54f8a8ec01d1c737e05524f16e792 +PYTHON_PYASN1_MODULES_SETUP_TYPE = setuptools +PYTHON_PYASN1_MODULES_LICENSE = BSD-2-Clause +PYTHON_PYASN1_MODULES_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/package/python-pyasn1/Config.in b/package/python-pyasn1/Config.in new file mode 100644 index 0000000000..fea63813b9 --- /dev/null +++ b/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/package/python-pyasn1/python-pyasn1.hash b/package/python-pyasn1/python-pyasn1.hash new file mode 100644 index 0000000000..bd21cebd74 --- /dev/null +++ b/package/python-pyasn1/python-pyasn1.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyasn1/json +md5 f3c0cfbf882a20811be5ad5a41f74b82 pyasn1-0.4.5.tar.gz +sha256 da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7 pyasn1-0.4.5.tar.gz +# Locally computed sha256 checksums +sha256 22c5cc6922ab5d69fba32d8c5ee4cdd14981508cb53afc0ebd85593847fd95a5 LICENSE.rst diff --git a/package/python-pyasn1/python-pyasn1.mk b/package/python-pyasn1/python-pyasn1.mk new file mode 100644 index 0000000000..3f79cc2e7e --- /dev/null +++ b/package/python-pyasn1/python-pyasn1.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyasn1 +# +################################################################################ + +PYTHON_PYASN1_VERSION = 0.4.5 +PYTHON_PYASN1_SOURCE = pyasn1-$(PYTHON_PYASN1_VERSION).tar.gz +PYTHON_PYASN1_SITE = https://files.pythonhosted.org/packages/46/60/b7e32f6ff481b8a1f6c8f02b0fd9b693d1c92ddd2efb038ec050d99a7245 +PYTHON_PYASN1_SETUP_TYPE = setuptools +PYTHON_PYASN1_LICENSE = BSD-2-Clause +PYTHON_PYASN1_LICENSE_FILES = LICENSE.rst + +$(eval $(python-package)) diff --git a/package/python-pycares/Config.in b/package/python-pycares/Config.in new file mode 100644 index 0000000000..4144952d8d --- /dev/null +++ b/package/python-pycares/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PYCARES + bool "python-pycares" + help + Python interface for c-ares. + + http://github.com/saghul/pycares diff --git a/package/python-pycares/python-pycares.hash b/package/python-pycares/python-pycares.hash new file mode 100644 index 0000000000..2e80a974dc --- /dev/null +++ b/package/python-pycares/python-pycares.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pycares/json +md5 74893b2b380fbb45329a406ae4b1ae89 pycares-2.3.0.tar.gz +sha256 36f4c03df57c41a87eb3d642201684eb5a8bc194f4bafaa9f60ee6dc0aef8e40 pycares-2.3.0.tar.gz +# Locally computed sha256 checksums +sha256 427bb3a5372024a26e2c290b24382512bcc7ca123431c4dd178dd613beea7eee LICENSE diff --git a/package/python-pycares/python-pycares.mk b/package/python-pycares/python-pycares.mk new file mode 100644 index 0000000000..961c87eaf0 --- /dev/null +++ b/package/python-pycares/python-pycares.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pycares +# +################################################################################ + +PYTHON_PYCARES_VERSION = 2.3.0 +PYTHON_PYCARES_SOURCE = pycares-$(PYTHON_PYCARES_VERSION).tar.gz +PYTHON_PYCARES_SITE = https://files.pythonhosted.org/packages/89/5c/3a7e1a52d6abb52b9ca1a56d2df699936e89d8b98f75cfd60d03363e7c10 +PYTHON_PYCARES_SETUP_TYPE = setuptools +PYTHON_PYCARES_LICENSE = MIT +PYTHON_PYCARES_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-pycparser/python-pycparser.hash b/package/python-pycparser/python-pycparser.hash index 25747c3a91..6230f7cc83 100644 --- a/package/python-pycparser/python-pycparser.hash +++ b/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/package/python-pycparser/python-pycparser.mk b/package/python-pycparser/python-pycparser.mk index 08a22b45c6..c07edaaa25 100644 --- a/package/python-pycparser/python-pycparser.mk +++ b/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/package/python-pycryptodomex/Config.in b/package/python-pycryptodomex/Config.in new file mode 100644 index 0000000000..c7127fee59 --- /dev/null +++ b/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/package/python-pycryptodomex/python-pycryptodomex.hash b/package/python-pycryptodomex/python-pycryptodomex.hash new file mode 100644 index 0000000000..2caf97a293 --- /dev/null +++ b/package/python-pycryptodomex/python-pycryptodomex.hash @@ -0,0 +1,6 @@ +# md5, sha256 from https://pypi.org/pypi/pycryptodomex/json +md5 ae7083008139cf9372322dcd99e92db0 pycryptodomex-3.7.1.tar.gz +sha256 4ba053bea752ddc89b94d1f9f87008ef296a644b8dec0201c021d9636c069322 pycryptodomex-3.7.1.tar.gz +# Locally computed sha256 checksums +sha256 d1af3fab2ef8cc53b6c7f48bdeb178ac874b04faf4ba0159a96b6109f1d393e2 LICENSE.rst +sha256 8e563c767164faa0831a333b57d23d4311cf566eb1b15d93250f4606be4eb549 Doc/LEGAL/COPYRIGHT.pycrypto diff --git a/package/python-pycryptodomex/python-pycryptodomex.mk b/package/python-pycryptodomex/python-pycryptodomex.mk new file mode 100644 index 0000000000..3d3b97ca48 --- /dev/null +++ b/package/python-pycryptodomex/python-pycryptodomex.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-pycryptodomex +# +################################################################################ + +PYTHON_PYCRYPTODOMEX_VERSION = 3.7.1 +PYTHON_PYCRYPTODOMEX_SOURCE = pycryptodomex-$(PYTHON_PYCRYPTODOMEX_VERSION).tar.gz +PYTHON_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/f6/be/9f65b7db183628bdb36401105a3fc9f1688909f5184c115902a7bdd333bd +PYTHON_PYCRYPTODOMEX_SETUP_TYPE = setuptools +PYTHON_PYCRYPTODOMEX_LICENSE = \ + BSD-2-Clause, \ + Public Domain (pycrypto original code), \ + OCB patent license (OCB mode) +PYTHON_PYCRYPTODOMEX_LICENSE_FILES = LICENSE.rst Doc/LEGAL/COPYRIGHT.pycrypto + +$(eval $(python-package)) diff --git a/package/python-pydal/python-pydal.hash b/package/python-pydal/python-pydal.hash index 8e6fa90e6a..27f2e6c7a2 100644 --- a/package/python-pydal/python-pydal.hash +++ b/package/python-pydal/python-pydal.hash @@ -1,2 +1,3 @@ # sha256 from https://pypi.org/project/pyDAL/#files -sha256 59b28cbad92743c76134fc078b62f49d5c02b86c55cbdee527f75995d2681735 pyDAL-17.11.tar.gz +sha256 763ed017f431fc3d9fa9243f6be2519ff49b8a260d15763c4733762d9c086904 python-pydal-v18.09.tar.gz +sha256 ae7d7b6888bb72f26af2bcbee69ae6f8a49e12f66c99e78f2a8b806effc5219d LICENSE diff --git a/package/python-pydal/python-pydal.mk b/package/python-pydal/python-pydal.mk index 9de56bff61..4ff58def69 100644 --- a/package/python-pydal/python-pydal.mk +++ b/package/python-pydal/python-pydal.mk @@ -4,9 +4,8 @@ # ################################################################################ -PYTHON_PYDAL_VERSION = 17.11 -PYTHON_PYDAL_SOURCE = pyDAL-$(PYTHON_PYDAL_VERSION).tar.gz -PYTHON_PYDAL_SITE = https://files.pythonhosted.org/packages/d2/64/a119cb70ed91a6273aad811fd250b8a55d4bc8b0d900757723ec5a4f0ba9 +PYTHON_PYDAL_VERSION = v18.09 +PYTHON_PYDAL_SITE = $(call github,web2py,pydal,$(PYTHON_PYDAL_VERSION)) PYTHON_PYDAL_LICENSE = BSD-3-Clause PYTHON_PYDAL_LICENSE_FILES = LICENSE PYTHON_PYDAL_SETUP_TYPE = setuptools diff --git a/package/python-pyhamcrest/Config.in b/package/python-pyhamcrest/Config.in new file mode 100644 index 0000000000..c2a4dc06f7 --- /dev/null +++ b/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/package/python-pyhamcrest/python-pyhamcrest.hash b/package/python-pyhamcrest/python-pyhamcrest.hash new file mode 100644 index 0000000000..0c1660e08a --- /dev/null +++ b/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/package/python-pyhamcrest/python-pyhamcrest.mk b/package/python-pyhamcrest/python-pyhamcrest.mk new file mode 100644 index 0000000000..244aa8c606 --- /dev/null +++ b/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/package/python-pymongo/python-pymongo.mk b/package/python-pymongo/python-pymongo.mk index 7c72a9aa75..8ab411beb9 100644 --- a/package/python-pymongo/python-pymongo.mk +++ b/package/python-pymongo/python-pymongo.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYMONGO_VERSION = 3.4.0 +PYTHON_PYMONGO_VERSION = 3.8.0 PYTHON_PYMONGO_SOURCE = pymongo-$(PYTHON_PYMONGO_VERSION).tar.gz -PYTHON_PYMONGO_SITE = https://pypi.python.org/packages/82/26/f45f95841de5164c48e2e03aff7f0702e22cef2336238d212d8f93e91ea8 +PYTHON_PYMONGO_SITE = https://files.pythonhosted.org/packages/19/77/da358f5729ff046ceaf6c6a86755f9d8285719f93df6da15bb2440367d7e PYTHON_PYMONGO_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/package/python-pynacl/python-pynacl.hash b/package/python-pynacl/python-pynacl.hash index 7035ac7637..84d8674bf4 100644 --- a/package/python-pynacl/python-pynacl.hash +++ b/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/package/python-pynacl/python-pynacl.mk b/package/python-pynacl/python-pynacl.mk index 469ddda474..1203a6e112 100644 --- a/package/python-pynacl/python-pynacl.mk +++ b/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/package/python-pyopenssl/python-pyopenssl.hash b/package/python-pyopenssl/python-pyopenssl.hash index 74fa4e56bf..30071cf9ff 100644 --- a/package/python-pyopenssl/python-pyopenssl.hash +++ b/package/python-pyopenssl/python-pyopenssl.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/pyopenssl/json, sha256 locally computed -md5 0704ca95106960375cfe78259453094a pyOpenSSL-17.0.0.tar.gz -sha256 48abfe9d2bb8eb8d8947c8452b0223b7b1be2383b332f3b4f248fe59ef0bafdd pyOpenSSL-17.0.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/pyopenssl/json +md5 b9876625dc1d5a5a662d748689191537 pyOpenSSL-19.0.0.tar.gz +sha256 aeca66338f6de19d1aa46ed634c3b9ae519a64b458f8468aec688e7e3c20f200 pyOpenSSL-19.0.0.tar.gz +# Locally computed sha256 +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/python-pyopenssl/python-pyopenssl.mk b/package/python-pyopenssl/python-pyopenssl.mk index 3fbaf8d16e..d341ef124d 100644 --- a/package/python-pyopenssl/python-pyopenssl.mk +++ b/package/python-pyopenssl/python-pyopenssl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYOPENSSL_VERSION = 17.0.0 +PYTHON_PYOPENSSL_VERSION = 19.0.0 PYTHON_PYOPENSSL_SOURCE = pyOpenSSL-$(PYTHON_PYOPENSSL_VERSION).tar.gz -PYTHON_PYOPENSSL_SITE = https://pypi.python.org/packages/9f/32/80fe4fddeb731b7766cd09fe0b2032a91b43dae655e216792af2a6ae3190 +PYTHON_PYOPENSSL_SITE = https://files.pythonhosted.org/packages/40/d0/8efd61531f338a89b4efa48fcf1972d870d2b67a7aea9dcf70783c8464dc PYTHON_PYOPENSSL_LICENSE = Apache-2.0 PYTHON_PYOPENSSL_LICENSE_FILES = LICENSE PYTHON_PYOPENSSL_SETUP_TYPE = setuptools diff --git a/package/python-pyqt/0001-configure-skip-qtdetail.patch b/package/python-pyqt/0001-configure-skip-qtdetail.patch deleted file mode 100644 index 08e99d026c..0000000000 --- a/package/python-pyqt/0001-configure-skip-qtdetail.patch +++ /dev/null @@ -1,29 +0,0 @@ -Do not run qtdetail - -qtdetail is a tool that generates qtdetail.out. Since this program is -cross-compiled, it's not possible to run it on the host. - -Consequently, python-pyqt.mk generates the qtdetail.out file before -calling configure-ng.py. - -Therefore, this patch makes sure that the pre-generated qtdetail.out -file is kept, and that qtdetail is not executed. - -Signed-off-by: Gwenhael Goavec-Merou -Signed-off-by: Sergey Kostanbaev ---- -Index: PyQt-x11-gpl-4.11.3/configure-ng.py -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/configure-ng.py -+++ PyQt-x11-gpl-4.11.3/configure-ng.py -@@ -672,10 +672,6 @@ int main(int argc, char **argv) - if cmd is None: - error("Failed to determine the detail of your Qt installation. Try again using the --verbose flag to see more detail about the problem.") - -- # Create the output file, first making sure it doesn't exist. -- remove_file(out_file) -- run_command(cmd, verbose) -- - if not os.access(out_file, os.F_OK): - error("%s failed to create %s. Make sure your Qt installation is correct." % (cmd, out_file)) - diff --git a/package/python-pyqt/0002-configure-set-qws.patch b/package/python-pyqt/0002-configure-set-qws.patch deleted file mode 100644 index 33a5648bee..0000000000 --- a/package/python-pyqt/0002-configure-set-qws.patch +++ /dev/null @@ -1,43 +0,0 @@ -Add support for several Qt flavors - -Qt has two flavors: X11 and embedded (QWS). QWS has some limitations -compared to X11. This patch adds an option to select which version to -use. - -Signed-off-by: Gwenhael Goavec-Merou ---- -Index: PyQt-x11-gpl-4.11.3/configure-ng.py -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/configure-ng.py -+++ PyQt-x11-gpl-4.11.3/configure-ng.py -@@ -960,6 +960,9 @@ int main(int argc, char **argv) - if opts.vendlibdir is not None: - self.vend_lib_dir = opts.vendlibdir - -+ if opts.qtflavor is not None: -+ self.qt_flavor = opts.qtflavor -+ - # Handle any conflicts. - if self.qt_shared: - if len(self.static_plugins) != 0: -@@ -1177,6 +1180,11 @@ def create_optparser(target_config): - dest="notools", - help="disable the building of pyuic5, pyrcc5 and pylupdate5 " - "[default: enabled]") -+ g.add_option("--qt-flavor", dest='qtflavor', type='string', -+ default="WS_X11", metavar='QTFLAVOR', action='store', -+ help="select Qt flavor beetween WS_X11 and WS_QWS " -+ "only available on Linux)" -+ "[default: WS_X11]") - p.add_option_group(g) - - # Vendor ID. -@@ -2088,7 +2096,7 @@ def get_sip_flags(target_config): - elif target_config.py_platform == 'darwin': - plattag = 'WS_MACX' - else: -- plattag = 'WS_X11' -+ plattag = target_config.qt_flavor - - sip_flags.append('-t') - sip_flags.append(plattag) diff --git a/package/python-pyqt/0003-sip-add_qws.patch b/package/python-pyqt/0003-sip-add_qws.patch deleted file mode 100644 index 1ff706f624..0000000000 --- a/package/python-pyqt/0003-sip-add_qws.patch +++ /dev/null @@ -1,44 +0,0 @@ -Add WS_QWS in the Platforms variable and to define some types - -Signed-off-by: Gwenhael Goavec-Merou -Signed-off-by: Sergey Kostanbaev ---- -Index: PyQt-x11-gpl-4.11.3/sip/QtCore/QtCoremod.sip -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/QtCoremod.sip -+++ PyQt-x11-gpl-4.11.3/sip/QtCore/QtCoremod.sip -@@ -29,7 +29,7 @@ - - %Timeline {Qt_4_1_0 Qt_4_1_1 Qt_4_1_2 Qt_4_1_3 Qt_4_2_0 Qt_4_2_1 Qt_4_2_2 Qt_4_2_3 Qt_4_3_0 Qt_4_3_1 Qt_4_3_2 Qt_4_3_3 Qt_4_3_4 Qt_4_4_0 Qt_4_4_1 Qt_4_4_2 Qt_4_5_0 Qt_4_5_1 Qt_4_5_2 Qt_4_5_3 Qt_4_6_0 Qt_4_6_1 Qt_4_6_2 Qt_4_6_3 Qt_4_7_0 Qt_4_7_1 Qt_4_7_2 Qt_4_7_3 Qt_4_7_4 Qt_4_8_0 Qt_4_8_1 Qt_4_8_2 Qt_4_8_3 Qt_4_8_4 Qt_4_8_5 Qt_4_8_6 Qt_5_0_0} - --%Platforms {WS_X11 WS_WIN WS_MACX} -+%Platforms {WS_X11 WS_QWS WS_WIN WS_MACX} - - %Feature PyQt_Accessibility - %Feature PyQt_SessionManager -Index: PyQt-x11-gpl-4.11.3/sip/QtCore/qprocess.sip -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/qprocess.sip -+++ PyQt-x11-gpl-4.11.3/sip/QtCore/qprocess.sip -@@ -28,7 +28,7 @@ - %If (WS_WIN) - typedef void *Q_PID; - %End --%If (WS_X11 || WS_MACX) -+%If (WS_X11 || WS_QWS || WS_MACX) - typedef qint64 Q_PID; - %End - -Index: PyQt-x11-gpl-4.11.3/sip/QtGui/qwindowdefs.sip -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/sip/QtGui/qwindowdefs.sip -+++ PyQt-x11-gpl-4.11.3/sip/QtGui/qwindowdefs.sip -@@ -27,7 +27,7 @@ - - typedef QList QWidgetList; - %If (- Qt_5_0_0) --%If (WS_X11) -+%If (WS_X11 || WS_QWS) - // X11 specific definitions. - typedef unsigned long WId; - %End diff --git a/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch b/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch deleted file mode 100644 index c07bea777f..0000000000 --- a/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch +++ /dev/null @@ -1,18 +0,0 @@ -Hide QFont::cacheStatistics which isn't available in QWS - -Signed-off-by: Sergey Kostanbaev ---- - -diff -ur PyQt-x11-gpl-4.9.6/sip/QtGui/qfont.sip pyqt-4.9.6/sip/QtGui/qfont.sip ---- PyQt-x11-gpl-4.9.6/sip/QtGui/qfont.sip 2012-12-08 13:51:38.000000000 +0400 -+++ pyqt-4.9.6/sip/QtGui/qfont.sip 2013-05-22 14:06:38.335000022 +0400 -@@ -185,7 +185,9 @@ - %End - static void initialize(); - static void cleanup(); -+%If (!WS_QWS) - static void cacheStatistics(); -+%End - QString defaultFamily() const; - QString lastResortFamily() const; - QString lastResortFont() const; diff --git a/package/python-pyqt/0005-sip-fix_qws_handle.patch b/package/python-pyqt/0005-sip-fix_qws_handle.patch deleted file mode 100644 index 80623d112a..0000000000 --- a/package/python-pyqt/0005-sip-fix_qws_handle.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix build issue in QWS flavor - -Change HANDLE to void* to get rid of : -buildroot/output/build/python-pyqt-4.11.3/QtCore/sipQtCoreQThread.cpp:318:50: -error: invalid conversion from 'Qt::HANDLE {aka void*}' to 'long -unsigned int' [-fpermissive] error during compilation. - -Signed-off-by: Gwenhael Goavec-Merou -Signed-off-by: Sergey Kostanbaev ---- -Index: PyQt-x11-gpl-4.11.3/sip/QtCore/qnamespace.sip -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/qnamespace.sip -+++ PyQt-x11-gpl-4.11.3/sip/QtCore/qnamespace.sip -@@ -1673,6 +1673,9 @@ namespace Qt - %If (WS_X11) - typedef unsigned long HANDLE; - %End -+%If (WS_QWS) -+ typedef void* HANDLE; -+%End - %End - %If (PyQt_Deprecated_5_0) - typedef Qt::WindowFlags WFlags; diff --git a/package/python-pyqt/Config.in b/package/python-pyqt/Config.in deleted file mode 100644 index 6934a4c4ab..0000000000 --- a/package/python-pyqt/Config.in +++ /dev/null @@ -1,21 +0,0 @@ -comment "python-pyqt needs Qt4" - depends on !BR2_PACKAGE_QT - -config BR2_PACKAGE_PYTHON_PYQT - bool "python-pyqt" - depends on BR2_PACKAGE_QT - select BR2_PACKAGE_PYTHON_SIP - help - PyQt4 for Qt Embedded 4 bindings. - - http://www.riverbankcomputing.com/software/pyqt/ - -if BR2_PACKAGE_PYTHON_PYQT - -config BR2_PACKAGE_PYTHON_PYQT_ARCH_USES_QREAL_FLOAT - bool - default y if BR2_arm || BR2_armeb - default y if BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb - default y if (BR2_mipsel || BR2_mips) && BR2_PACKAGE_QT_EMBEDDED - -endif diff --git a/package/python-pyqt/python-pyqt.hash b/package/python-pyqt/python-pyqt.hash deleted file mode 100644 index 1709b66ab8..0000000000 --- a/package/python-pyqt/python-pyqt.hash +++ /dev/null @@ -1,5 +0,0 @@ -# From http://http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/ -md5 997c3e443165a89a559e0d96b061bf70 PyQt-x11-gpl-4.11.3.tar.gz - -# Locally calculated: -sha256 853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686 PyQt-x11-gpl-4.11.3.tar.gz diff --git a/package/python-pyqt/python-pyqt.mk b/package/python-pyqt/python-pyqt.mk deleted file mode 100644 index e8ae641662..0000000000 --- a/package/python-pyqt/python-pyqt.mk +++ /dev/null @@ -1,113 +0,0 @@ -################################################################################ -# -# python-pyqt -# -################################################################################ - -PYTHON_PYQT_VERSION = 4.11.3 -PYTHON_PYQT_SOURCE = PyQt-x11-gpl-$(PYTHON_PYQT_VERSION).tar.gz -PYTHON_PYQT_SITE = http://downloads.sourceforge.net/project/pyqt/PyQt4/PyQt-$(PYTHON_PYQT_VERSION) -PYTHON_PYQT_LICENSE = GPL-2.0 or GPL-3.0 -PYTHON_PYQT_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 - -PYTHON_PYQT_DEPENDENCIES = python-sip host-python-sip qt - -ifeq ($(BR2_PACKAGE_PYTHON),y) -PYTHON_PYQT_PYTHON_DIR = python$(PYTHON_VERSION_MAJOR) -PYTHON_PYQT_RM_PORT_BASE = port_v3 -else ifeq ($(BR2_PACKAGE_PYTHON3),y) -PYTHON_PYQT_PYTHON_DIR = python$(PYTHON3_VERSION_MAJOR) -PYTHON_PYQT_RM_PORT_BASE = port_v2 -endif - -ifeq ($(BR2_PACKAGE_QT_EMBEDDED),y) -PYTHON_PYQT_QTFLAVOR = WS_QWS -else -PYTHON_PYQT_QTFLAVOR = WS_X11 -endif - -PYTHON_PYQT_QTDETAIL_LICENSE = Open Source - -ifeq ($(BR2_PACKAGE_QT_SHARED),y) -PYTHON_PYQT_QTDETAIL_TYPE = shared -endif - -# Turn off features that aren't available in QWS and current qt -# configuration. -PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES = \ - PyQt_Accessibility PyQt_SessionManager \ - PyQt_Shortcut PyQt_RawFont - -ifeq ($(BR2_PACKAGE_QT_OPENSSL),) -PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_OpenSSL -endif - -# Yes, this looks a bit weird: when OpenGL ES is available, we have to -# disable the feature that consists in not having OpenGL ES support. -ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y) -PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_NoOpenGLES -endif - -# PyQt_qreal_double must be disabled on a number of architectures that -# use float for qreal. -ifeq ($(BR2_PACKAGE_PYTHON_PYQT_ARCH_USES_QREAL_FLOAT),y) -PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_qreal_double -endif - -define PYTHON_PYQT_QTDETAIL - echo $(1) >> $(2)/qtdetail.out -endef - -# Since we can't run generate qtdetail.out by running qtdetail on target device -# we must generate the configuration. -define PYTHON_PYQT_GENERATE_QTDETAIL - $(RM) -f $(1)/qtdetail.out - $(call PYTHON_PYQT_QTDETAIL,$(PYTHON_PYQT_QTDETAIL_LICENSE),$(1)) - $(call PYTHON_PYQT_QTDETAIL,$(PYTHON_PYQT_QTDETAIL_TYPE),$(1)) - $(foreach f,$(PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES), - $(call PYTHON_PYQT_QTDETAIL,$(f),$(1)) \ - ) -endef - -PYTHON_PYQT_CONF_OPTS = \ - --bindir $(TARGET_DIR)/usr/bin \ - --destdir $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages \ - --qmake $(HOST_DIR)/bin/qmake \ - --sysroot $(STAGING_DIR)/usr \ - -w --confirm-license \ - --no-designer-plugin \ - --no-docstrings \ - --no-sip-files \ - --qt-flavor=$(PYTHON_PYQT_QTFLAVOR) - -# The VendorID related information is only needed for Python 2.x, not -# Python 3.x. -ifeq ($(BR2_PACKAGE_PYTHON),y) -PYTHON_PYQT_CONF_OPTS += \ - --vendorid-incdir $(STAGING_DIR)/usr/include/$(PYTHON_PYQT_PYTHON_DIR) \ - --vendorid-libdir $(STAGING_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/config -endif - -define PYTHON_PYQT_CONFIGURE_CMDS - $(call PYTHON_PYQT_GENERATE_QTDETAIL,$(@D)) - (cd $(@D); \ - $(TARGET_MAKE_ENV) \ - $(TARGET_CONFIGURE_OPTS) \ - $(HOST_DIR)/bin/python configure-ng.py \ - $(PYTHON_PYQT_CONF_OPTS) \ - ) -endef - -define PYTHON_PYQT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -endef - -# __init__.py is needed to import PyQt4 -# __init__.pyc is needed if BR2_PACKAGE_PYTHON_PYC_ONLY is set -define PYTHON_PYQT_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install - touch $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages/PyQt4/__init__.py - $(RM) -rf $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages/PyQt4/uic/$(PYTHON_PYQT_RM_PORT_BASE) -endef - -$(eval $(generic-package)) diff --git a/package/python-pyqt5/python-pyqt5.mk b/package/python-pyqt5/python-pyqt5.mk index cde026ef63..4955936ae3 100644 --- a/package/python-pyqt5/python-pyqt5.mk +++ b/package/python-pyqt5/python-pyqt5.mk @@ -25,9 +25,9 @@ PYTHON_PYQT5_QTDETAIL_LICENSE = Open Source PYTHON_PYQT5_QTDETAIL_TYPE = shared # Turn off features that aren't available in current qt configuration -PYTHON_PYQT5_QTDETAIL_DISABLE_FEATURES += $(if $(BR2_PACKAGE_OPENSSL),,PyQt_SSL) PYTHON_PYQT5_QTDETAIL_DISABLE_FEATURES += $(if $(BR2_PACKAGE_QT5BASE_OPENGL),,PyQt_OpenGL) PYTHON_PYQT5_QTDETAIL_DISABLE_FEATURES += $(if $(BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP),,PyQt_Desktop_OpenGL) +PYTHON_PYQT5_QTDETAIL_DISABLE_FEATURES += $(if $(BR2_PACKAGE_QT5BASE_OPENSSL),,PyQt_SSL) define PYTHON_PYQT5_QTDETAIL echo $(1) >> $(2)/qtdetail.out diff --git a/package/python-pyroute2/Config.in b/package/python-pyroute2/Config.in index 4f13ab2c7b..5df0a63d4b 100644 --- a/package/python-pyroute2/Config.in +++ b/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/package/python-pyroute2/python-pyroute2.hash b/package/python-pyroute2/python-pyroute2.hash index dbf09c97ac..9078004d5a 100644 --- a/package/python-pyroute2/python-pyroute2.hash +++ b/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/package/python-pyroute2/python-pyroute2.mk b/package/python-pyroute2/python-pyroute2.mk index eed8eb415b..7937bd2362 100644 --- a/package/python-pyroute2/python-pyroute2.mk +++ b/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/package/python-pysmi/Config.in b/package/python-pysmi/Config.in new file mode 100644 index 0000000000..2e4453d886 --- /dev/null +++ b/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/package/python-pysmi/python-pysmi.hash b/package/python-pysmi/python-pysmi.hash new file mode 100644 index 0000000000..3127d20576 --- /dev/null +++ b/package/python-pysmi/python-pysmi.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pysmi/json +md5 7ca6a849ea51929cfd44c4e5bc316b0e pysmi-0.3.3.tar.gz +sha256 4e35c2b935ba5a68e086d7781dae1b508c228a960279620d182e876448acf02f pysmi-0.3.3.tar.gz +# Locally computed sha256 checksums +sha256 c43704eafcfa2bc33e56168f2b498c3c34a1d7865855626a52b5af411fc5837f LICENSE.rst diff --git a/package/python-pysmi/python-pysmi.mk b/package/python-pysmi/python-pysmi.mk new file mode 100644 index 0000000000..a686b6fba7 --- /dev/null +++ b/package/python-pysmi/python-pysmi.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pysmi +# +################################################################################ + +PYTHON_PYSMI_VERSION = 0.3.3 +PYTHON_PYSMI_SOURCE = pysmi-$(PYTHON_PYSMI_VERSION).tar.gz +PYTHON_PYSMI_SITE = https://files.pythonhosted.org/packages/71/32/182dd4fa0c4e20c2a14154d3133cc08374694c2518a7c5445a918332b113 +PYTHON_PYSMI_SETUP_TYPE = setuptools +PYTHON_PYSMI_LICENSE = BSD-2-Clause +PYTHON_PYSMI_LICENSE_FILES = LICENSE.rst + +$(eval $(python-package)) diff --git a/package/python-pysnmp/Config.in b/package/python-pysnmp/Config.in index c7cdf3892d..a034b16852 100644 --- a/package/python-pysnmp/Config.in +++ b/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/package/python-pysnmp/python-pysnmp.hash b/package/python-pysnmp/python-pysnmp.hash index 7ecbf4c480..bb5fc24834 100644 --- a/package/python-pysnmp/python-pysnmp.hash +++ b/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/package/python-pysnmp/python-pysnmp.mk b/package/python-pysnmp/python-pysnmp.mk index 2721ba8a7b..0a916119df 100644 --- a/package/python-pysnmp/python-pysnmp.mk +++ b/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/package/python-pytrie/Config.in b/package/python-pytrie/Config.in index fb1df41d0a..156638476c 100644 --- a/package/python-pytrie/Config.in +++ b/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/package/python-pytrie/python-pytrie.hash b/package/python-pytrie/python-pytrie.hash index 88d2542a8d..3bc1f6e9a7 100644 --- a/package/python-pytrie/python-pytrie.hash +++ b/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/package/python-pytrie/python-pytrie.mk b/package/python-pytrie/python-pytrie.mk index 0fe78fdb17..b8264fa2be 100644 --- a/package/python-pytrie/python-pytrie.mk +++ b/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/package/python-pytz/python-pytz.hash b/package/python-pytz/python-pytz.hash index dd3ff2c2ad..525d452584 100644 --- a/package/python-pytz/python-pytz.hash +++ b/package/python-pytz/python-pytz.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/pytz/json, sha256 locally computed -md5 7006b56c0d68a162d9fe57d4249c3171 pytz-2017.3.zip -sha256 fae4cffc040921b8a2d60c6cf0b5d662c1190fe54d718271db4eb17d44a185b7 pytz-2017.3.zip -sha256 a1c7102a51ef9ed37766f7388c71fd41bae2a7a95c30673c419ab84e1acc5f02 LICENSE.txt +# md5, sha256 from https://pypi.org/pypi/pytz/json +md5 0f57d76c64d0965e7429c9b871f6b711 pytz-2018.9.tar.gz +sha256 d5f05e487007e29e03409f9398d074e158d920d36eb82eaf66fb1136b0c5374c pytz-2018.9.tar.gz +# Locally computed sha256 checksums +sha256 39f07c72a1bfda349cbd27bac9bcb1e6f8c5b4e5cc3fadf56900406e8cc0b792 LICENSE.txt diff --git a/package/python-pytz/python-pytz.mk b/package/python-pytz/python-pytz.mk index 1d3603389b..a93a12c084 100644 --- a/package/python-pytz/python-pytz.mk +++ b/package/python-pytz/python-pytz.mk @@ -4,17 +4,11 @@ # ################################################################################ -PYTHON_PYTZ_VERSION = 2017.3 -PYTHON_PYTZ_SOURCE = pytz-$(PYTHON_PYTZ_VERSION).zip -PYTHON_PYTZ_SITE = https://pypi.python.org/packages/60/88/d3152c234da4b2a1f7a989f89609ea488225eaea015bc16fbde2b3fdfefa +PYTHON_PYTZ_VERSION = 2018.9 +PYTHON_PYTZ_SOURCE = pytz-$(PYTHON_PYTZ_VERSION).tar.gz +PYTHON_PYTZ_SITE = https://files.pythonhosted.org/packages/af/be/6c59e30e208a5f28da85751b93ec7b97e4612268bb054d0dff396e758a90 PYTHON_PYTZ_SETUP_TYPE = setuptools PYTHON_PYTZ_LICENSE = MIT PYTHON_PYTZ_LICENSE_FILES = LICENSE.txt -define PYTHON_PYTZ_EXTRACT_CMDS - unzip $(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/package/python-pyyaml/python-pyyaml.hash b/package/python-pyyaml/python-pyyaml.hash index 209ab27e53..256742feb6 100644 --- a/package/python-pyyaml/python-pyyaml.hash +++ b/package/python-pyyaml/python-pyyaml.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/pyyaml/json, sha256 locally computed -md5 4c129761b661d181ebf7ff4eb2d79950 PyYAML-3.12.tar.gz -sha256 592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab PyYAML-3.12.tar.gz +# md5, sha256 from https://pypi.python.org/pypi/pyyaml/json +md5 a842bc7391e145bbe4e7fd0d32da1132 PyYAML-4.2b4.tar.gz +sha256 3c17fb92c8ba2f525e4b5f7941d850e7a48c3a59b32d331e2502a3cdc6648e76 PyYAML-4.2b4.tar.gz diff --git a/package/python-pyyaml/python-pyyaml.mk b/package/python-pyyaml/python-pyyaml.mk index beeaf88e96..b73b4356a0 100644 --- a/package/python-pyyaml/python-pyyaml.mk +++ b/package/python-pyyaml/python-pyyaml.mk @@ -4,12 +4,14 @@ # ################################################################################ -PYTHON_PYYAML_VERSION = 3.12 +PYTHON_PYYAML_VERSION = 4.2b4 PYTHON_PYYAML_SOURCE = PyYAML-$(PYTHON_PYYAML_VERSION).tar.gz -PYTHON_PYYAML_SITE = https://pypi.python.org/packages/4a/85/db5a2df477072b2902b0eb892feb37d88ac635d36245a72a6a69b23b383a +PYTHON_PYYAML_SITE = https://files.pythonhosted.org/packages/a8/c6/a8d1555e795dbd0375c3c93b576ca13bbf139db51ea604afa19a2c35fc03 PYTHON_PYYAML_SETUP_TYPE = distutils PYTHON_PYYAML_LICENSE = MIT PYTHON_PYYAML_LICENSE_FILES = LICENSE PYTHON_PYYAML_DEPENDENCIES = libyaml +HOST_PYTHON_PYYAML_DEPENDENCIES = host-libyaml $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch b/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch index cb52eaf6de..461ef4e5fe 100644 --- a/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch +++ b/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/package/python-pyzmq/0002-replace-compile_and_run-with-compile_and_forget.patch b/package/python-pyzmq/0002-replace-compile_and_run-with-compile_and_forget.patch deleted file mode 100644 index 278e939e0e..0000000000 --- a/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/package/python-pyzmq/python-pyzmq.hash b/package/python-pyzmq/python-pyzmq.hash index 6cdd0b9f18..eb8cf0923b 100644 --- a/package/python-pyzmq/python-pyzmq.hash +++ b/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/package/python-pyzmq/python-pyzmq.mk b/package/python-pyzmq/python-pyzmq.mk index c34c5af265..b977cca927 100644 --- a/package/python-pyzmq/python-pyzmq.mk +++ b/package/python-pyzmq/python-pyzmq.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYZMQ_VERSION = 16.0.2 +PYTHON_PYZMQ_VERSION = 17.1.2 PYTHON_PYZMQ_SOURCE = pyzmq-$(PYTHON_PYZMQ_VERSION).tar.gz -PYTHON_PYZMQ_SITE = https://pypi.python.org/packages/af/37/8e0bf3800823bc247c36715a52e924e8f8fd5d1432f04b44b8cd7a5d7e55 +PYTHON_PYZMQ_SITE = https://files.pythonhosted.org/packages/b9/6a/bc9277b78f5c3236e36b8c16f4d2701a7fd4fa2eb697159d3e0a3a991573 PYTHON_PYZMQ_LICENSE = LGPL-3.0+, BSD-3-Clause, Apache-2.0 # Apache license only online: http://www.apache.org/licenses/LICENSE-2.0 PYTHON_PYZMQ_LICENSE_FILES = COPYING.LESSER COPYING.BSD @@ -22,4 +22,8 @@ endef PYTHON_PYZMQ_POST_PATCH_HOOKS += PYTHON_PYZMQ_PATCH_ZEROMQ_VERSION +ifeq ($(BR2_PACKAGE_ZEROMQ_DRAFTS),y) +PYTHON_PYZMQ_BUILD_OPTS += --enable-drafts +endif + $(eval $(python-package)) diff --git a/package/python-requests/python-requests.hash b/package/python-requests/python-requests.hash index b71fe86ee7..46f62c75c5 100644 --- a/package/python-requests/python-requests.hash +++ b/package/python-requests/python-requests.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/requests/json -md5 6c1a31afec9d614e2e71a91ee6ca2878 requests-2.19.1.tar.gz -sha256 ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a requests-2.19.1.tar.gz +md5 1bcd0e0977c3f8db1848ba0e2b7ab904 requests-2.21.0.tar.gz +sha256 502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e requests-2.21.0.tar.gz # Locally computed sha256 checksums -sha256 82a869fe4e967449956d26a546adc762acace028852ce81ba16c3c5b1d76b15b LICENSE +sha256 be41abac2c40f8530307e8d172c590b476f4a488bc6a68f8de57b7cf64786687 LICENSE diff --git a/package/python-requests/python-requests.mk b/package/python-requests/python-requests.mk index 881d196526..3d8542fcdf 100644 --- a/package/python-requests/python-requests.mk +++ b/package/python-requests/python-requests.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REQUESTS_VERSION = 2.19.1 +PYTHON_REQUESTS_VERSION = 2.21.0 PYTHON_REQUESTS_SOURCE = requests-$(PYTHON_REQUESTS_VERSION).tar.gz -PYTHON_REQUESTS_SITE = https://files.pythonhosted.org/packages/54/1f/782a5734931ddf2e1494e4cd615a51ff98e1879cbe9eecbdfeaf09aa75e9 +PYTHON_REQUESTS_SITE = https://files.pythonhosted.org/packages/52/2c/514e4ac25da2b08ca5a464c50463682126385c4272c18193876e91f4bc38 PYTHON_REQUESTS_SETUP_TYPE = setuptools PYTHON_REQUESTS_LICENSE = Apache-2.0 PYTHON_REQUESTS_LICENSE_FILES = LICENSE diff --git a/package/python-scandir/python-scandir.hash b/package/python-scandir/python-scandir.hash index aecd9a58cc..5918291ba7 100644 --- a/package/python-scandir/python-scandir.hash +++ b/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/package/python-scandir/python-scandir.mk b/package/python-scandir/python-scandir.mk index 9b7ba70071..1008fcad03 100644 --- a/package/python-scandir/python-scandir.mk +++ b/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/package/python-scapy/Config.in b/package/python-scapy/Config.in new file mode 100644 index 0000000000..6575a33af3 --- /dev/null +++ b/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/package/python-scapy/python-scapy.hash b/package/python-scapy/python-scapy.hash new file mode 100644 index 0000000000..4d8001b752 --- /dev/null +++ b/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/package/python-scapy/python-scapy.mk b/package/python-scapy/python-scapy.mk new file mode 100644 index 0000000000..c44b2cb2e5 --- /dev/null +++ b/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/package/python-sdnotify/python-sdnotify.hash b/package/python-sdnotify/python-sdnotify.hash index 6d3ad6ba89..b4106418ef 100644 --- a/package/python-sdnotify/python-sdnotify.hash +++ b/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/package/python-sdnotify/python-sdnotify.mk b/package/python-sdnotify/python-sdnotify.mk index 7c24d32729..1b0f2276dc 100644 --- a/package/python-sdnotify/python-sdnotify.mk +++ b/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/package/python-semver/Config.in b/package/python-semver/Config.in new file mode 100644 index 0000000000..c66231a730 --- /dev/null +++ b/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/package/python-semver/python-semver.hash b/package/python-semver/python-semver.hash new file mode 100644 index 0000000000..e18cc1c672 --- /dev/null +++ b/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/package/python-semver/python-semver.mk b/package/python-semver/python-semver.mk new file mode 100644 index 0000000000..afdd34564e --- /dev/null +++ b/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/package/python-sentry-sdk/Config.in b/package/python-sentry-sdk/Config.in new file mode 100644 index 0000000000..5bddabe282 --- /dev/null +++ b/package/python-sentry-sdk/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_SENTRY_SDK + bool "python-sentry-sdk" + select BR2_PACKAGE_PYTHON_URLLIB3 # runtime + select BR2_PACKAGE_PYTHON_CERTIFI # runtime + help + Python client for Sentry (https://getsentry.com). + + https://github.com/getsentry/sentry-python diff --git a/package/python-sentry-sdk/python-sentry-sdk.hash b/package/python-sentry-sdk/python-sentry-sdk.hash new file mode 100644 index 0000000000..34acf6ec14 --- /dev/null +++ b/package/python-sentry-sdk/python-sentry-sdk.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/sentry-sdk/json +md5 78642322818c1ce47e80938fe1f40b5f sentry-sdk-0.6.2.tar.gz +sha256 56118f4c3bd3412e47d1969997580df2f27ae951df949d07f0c2120cefe40b00 sentry-sdk-0.6.2.tar.gz +# Locally computed sha256 checksums +sha256 59404d4c854e579097d41bfccd5006afde9d6d70e646cf55074cdbfead5ecf1c LICENSE diff --git a/package/python-sentry-sdk/python-sentry-sdk.mk b/package/python-sentry-sdk/python-sentry-sdk.mk new file mode 100644 index 0000000000..ae218de1cf --- /dev/null +++ b/package/python-sentry-sdk/python-sentry-sdk.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-sentry-sdk +# +################################################################################ + +PYTHON_SENTRY_SDK_VERSION = 0.6.2 +PYTHON_SENTRY_SDK_SOURCE = sentry-sdk-$(PYTHON_SENTRY_SDK_VERSION).tar.gz +PYTHON_SENTRY_SDK_SITE = https://files.pythonhosted.org/packages/92/6f/b7b74d7635e220660c06897213fc6df894d291900c8e2710d72fb67528a7 +PYTHON_SENTRY_SDK_SETUP_TYPE = setuptools +PYTHON_SENTRY_SDK_LICENSE = BSD-2-Clause +PYTHON_SENTRY_SDK_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/package/python-serial-asyncio/Config.in b/package/python-serial-asyncio/Config.in new file mode 100644 index 0000000000..5520b72506 --- /dev/null +++ b/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/package/python-serial-asyncio/python-serial-asyncio.hash b/package/python-serial-asyncio/python-serial-asyncio.hash new file mode 100644 index 0000000000..268c7d83f5 --- /dev/null +++ b/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/package/python-serial-asyncio/python-serial-asyncio.mk b/package/python-serial-asyncio/python-serial-asyncio.mk new file mode 100644 index 0000000000..39c3476d9e --- /dev/null +++ b/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/package/python-serial/python-serial.hash b/package/python-serial/python-serial.hash index f98a8b91b2..96209a9965 100644 --- a/package/python-serial/python-serial.hash +++ b/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/package/python-serial/python-serial.mk b/package/python-serial/python-serial.mk index ce7ec07062..d583ac65ab 100644 --- a/package/python-serial/python-serial.mk +++ b/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/package/python-setuptools/python-setuptools.hash b/package/python-setuptools/python-setuptools.hash index f116a69f74..53d77f57d2 100644 --- a/package/python-setuptools/python-setuptools.hash +++ b/package/python-setuptools/python-setuptools.hash @@ -1,3 +1,4 @@ -# Locally calculated -sha256 2599b4c452e77824bbd6da28d16b1fe8159c7a4c203d8d419d8b348fde7b9549 python-setuptools-v38.4.0.tar.gz +# From https://pypi.org/pypi/setuptools/json +md5 1fbcbe45c7fb1d21041e676ba68d2dec setuptools-40.6.3.zip +sha256 3b474dad69c49f0d2d86696b68105f3a6f195f7ab655af12ef9a9c326d2b08f8 setuptools-40.6.3.zip sha256 c32a3ac395af6321efd28be73d06a00f0db6ab887d1c21d4fec46128d2056d5a LICENSE diff --git a/package/python-setuptools/python-setuptools.mk b/package/python-setuptools/python-setuptools.mk index 004fc0db2a..015347d49b 100644 --- a/package/python-setuptools/python-setuptools.mk +++ b/package/python-setuptools/python-setuptools.mk @@ -4,20 +4,27 @@ # ################################################################################ -PYTHON_SETUPTOOLS_VERSION = v38.4.0 -PYTHON_SETUPTOOLS_SITE = $(call github,pypa,setuptools,$(PYTHON_SETUPTOOLS_VERSION)) +# Please keep in sync with +# package/python3-setuptools/python3-setuptools.mk +PYTHON_SETUPTOOLS_VERSION = 40.6.3 +PYTHON_SETUPTOOLS_SOURCE = setuptools-$(PYTHON_SETUPTOOLS_VERSION).zip +PYTHON_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b PYTHON_SETUPTOOLS_LICENSE = MIT PYTHON_SETUPTOOLS_LICENSE_FILES = LICENSE PYTHON_SETUPTOOLS_SETUP_TYPE = setuptools +HOST_PYTHON_SETUPTOOLS_NEEDS_HOST_PYTHON = python2 -# recent setuptools versions require bootstrap.py to be invoked -# before the standard setup process. -define PYTHON_SETUPTOOLS_RUN_BOOTSTRAP - cd $(@D) && $(HOST_DIR)/bin/python ./bootstrap.py +define PYTHON_SETUPTOOLS_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(PYTHON_SETUPTOOLS_DL_DIR)/$(PYTHON_SETUPTOOLS_SOURCE) + mv $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION)/* $(@D) + $(RM) -r $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION) endef -PYTHON_SETUPTOOLS_PRE_CONFIGURE_HOOKS = PYTHON_SETUPTOOLS_RUN_BOOTSTRAP -HOST_PYTHON_SETUPTOOLS_PRE_CONFIGURE_HOOKS = PYTHON_SETUPTOOLS_RUN_BOOTSTRAP +define HOST_PYTHON_SETUPTOOLS_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(HOST_PYTHON_SETUPTOOLS_DL_DIR)/$(PYTHON_SETUPTOOLS_SOURCE) + mv $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION)/* $(@D) + $(RM) -r $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION) +endef $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/package/python-sip/Config.in b/package/python-sip/Config.in index 1f8961d0df..8a43b8b17f 100644 --- a/package/python-sip/Config.in +++ b/package/python-sip/Config.in @@ -1,18 +1,6 @@ -comment "python-sip needs a toolchain w/ C++, threads" - depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - -comment "python-sip needs qt or qt5" - depends on BR2_USE_MMU - depends on BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 - config BR2_PACKAGE_PYTHON_SIP bool "python-sip" - depends on BR2_INSTALL_LIBSTDCPP # qt - depends on BR2_TOOLCHAIN_HAS_THREADS # qt - depends on BR2_USE_MMU # qt - depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 help SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries. It was originally diff --git a/package/python-sip/python-sip.mk b/package/python-sip/python-sip.mk index 76d7d04187..69019f5f19 100644 --- a/package/python-sip/python-sip.mk +++ b/package/python-sip/python-sip.mk @@ -10,11 +10,7 @@ PYTHON_SIP_SITE = http://downloads.sourceforge.net/project/pyqt/sip/sip-$(PYTHON PYTHON_SIP_LICENSE = SIP license or GPL-2.0 or GPL-3.0 PYTHON_SIP_LICENSE_FILES = LICENSE LICENSE-GPL2 LICENSE-GPL3 -ifeq ($(BR2_PACKAGE_QT5),y) PYTHON_SIP_DEPENDENCIES = qt5base -else -PYTHON_SIP_DEPENDENCIES = qt -endif ifeq ($(BR2_PACKAGE_PYTHON),y) PYTHON_SIP_DEPENDENCIES += python diff --git a/package/python-six/python-six.hash b/package/python-six/python-six.hash index f9dbf09eaa..b7262b12b1 100644 --- a/package/python-six/python-six.hash +++ b/package/python-six/python-six.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/six/json, sha256 locally computed -md5 d12789f9baf7e9fb2524c0c64f1773f8 six-1.11.0.tar.gz -sha256 70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9 six-1.11.0.tar.gz -sha256 63478682e84e8c98f4c46308995f1f521a6886976e25421827d2a2be03581328 LICENSE +# md5, sha256 from https://pypi.org/pypi/six/json +md5 9ae5d1feed8c0215f4ae4adcd9207fcb six-1.12.0.tar.gz +sha256 d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73 six-1.12.0.tar.gz +# Locally computed sha256 checksums +sha256 e732f54da58f3e9cf0c48e8b512948936fcf7361bd58afa63a9a3c392bf794ad LICENSE diff --git a/package/python-six/python-six.mk b/package/python-six/python-six.mk index cd80634233..95817fa34b 100644 --- a/package/python-six/python-six.mk +++ b/package/python-six/python-six.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SIX_VERSION = 1.11.0 +PYTHON_SIX_VERSION = 1.12.0 PYTHON_SIX_SOURCE = six-$(PYTHON_SIX_VERSION).tar.gz -PYTHON_SIX_SITE = https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe +PYTHON_SIX_SITE = https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca PYTHON_SIX_SETUP_TYPE = setuptools PYTHON_SIX_LICENSE = MIT PYTHON_SIX_LICENSE_FILES = LICENSE diff --git a/package/python-sortedcontainers/python-sortedcontainers.hash b/package/python-sortedcontainers/python-sortedcontainers.hash index 11fa076601..311bb77e17 100644 --- a/package/python-sortedcontainers/python-sortedcontainers.hash +++ b/package/python-sortedcontainers/python-sortedcontainers.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/sortedcontainers/json, sha256 locally computed -md5 ad4f00e377ad934954ac90fcac0b185f sortedcontainers-1.5.7.tar.gz -sha256 0ff0442865e492bc50476b18000fb8400cf2472d14d21a92b27cd7c5184550ea sortedcontainers-1.5.7.tar.gz +# md5, sha256 from https://pypi.org/pypi/sortedcontainers/json +md5 41a4a1eaf7b85e6b3beb14cfb160bc27 sortedcontainers-2.1.0.tar.gz +sha256 974e9a32f56b17c1bac2aebd9dcf197f3eb9cd30553c5852a3187ad162e1a03a sortedcontainers-2.1.0.tar.gz +# Locally computed sha256 checksums +sha256 7dcf4a5137118a925727b8a1690bc6ea70b156ee6739dbb51fd4d386718d6ce5 LICENSE diff --git a/package/python-sortedcontainers/python-sortedcontainers.mk b/package/python-sortedcontainers/python-sortedcontainers.mk index 99606816ab..43f662a89f 100644 --- a/package/python-sortedcontainers/python-sortedcontainers.mk +++ b/package/python-sortedcontainers/python-sortedcontainers.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SORTEDCONTAINERS_VERSION = 1.5.7 +PYTHON_SORTEDCONTAINERS_VERSION = 2.1.0 PYTHON_SORTEDCONTAINERS_SOURCE = sortedcontainers-$(PYTHON_SORTEDCONTAINERS_VERSION).tar.gz -PYTHON_SORTEDCONTAINERS_SITE = https://pypi.python.org/packages/8d/aa/5369362d730728639ba434318df26b5c554804578d1c48381367ea5377c6 +PYTHON_SORTEDCONTAINERS_SITE = https://files.pythonhosted.org/packages/29/e0/135df2e733790a3d3bcda970fd080617be8cea3bd98f411e76e6847c17ef PYTHON_SORTEDCONTAINERS_SETUP_TYPE = setuptools PYTHON_SORTEDCONTAINERS_LICENSE = Apache-2.0 PYTHON_SORTEDCONTAINERS_LICENSE_FILES = LICENSE diff --git a/package/python-subprocess32/python-subprocess32.hash b/package/python-subprocess32/python-subprocess32.hash index 17a54b0034..e96505d3d4 100644 --- a/package/python-subprocess32/python-subprocess32.hash +++ b/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/package/python-subprocess32/python-subprocess32.mk b/package/python-subprocess32/python-subprocess32.mk index 483bf5333f..d6c57fb8bd 100644 --- a/package/python-subprocess32/python-subprocess32.mk +++ b/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/package/python-tornado/python-tornado.hash b/package/python-tornado/python-tornado.hash index c64e537eed..fbf5efa60a 100644 --- a/package/python-tornado/python-tornado.hash +++ b/package/python-tornado/python-tornado.hash @@ -1,3 +1,5 @@ -# md5, sha256 from https://pypi.python.org/pypi/tornado/json -md5 e5e24ce1c8a4e6442dc38d470172f59e tornado-5.0.2.tar.gz -sha256 1b83d5c10550f2653380b4c77331d6f8850f287c4f67d7ce1e1c639d9222fbc7 tornado-5.0.2.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/package/python-tornado/python-tornado.mk b/package/python-tornado/python-tornado.mk index ed3a61fcf8..71f536f023 100644 --- a/package/python-tornado/python-tornado.mk +++ b/package/python-tornado/python-tornado.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TORNADO_VERSION = 5.0.2 +PYTHON_TORNADO_VERSION = 5.1.1 PYTHON_TORNADO_SOURCE = tornado-$(PYTHON_TORNADO_VERSION).tar.gz -PYTHON_TORNADO_SITE = https://pypi.python.org/packages/cf/d1/3be271ae5eba9fb59df63c9891fdc7d8044b999e8ac145994cdbfd2ae66a +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 diff --git a/package/python-twisted/Config.in b/package/python-twisted/Config.in index 344edb4a0a..b72952f979 100644 --- a/package/python-twisted/Config.in +++ b/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/package/python-twisted/python-twisted.hash b/package/python-twisted/python-twisted.hash index c22f33643f..884dce1308 100644 --- a/package/python-twisted/python-twisted.hash +++ b/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/package/python-twisted/python-twisted.mk b/package/python-twisted/python-twisted.mk index fe276d641e..a62637f0d4 100644 --- a/package/python-twisted/python-twisted.mk +++ b/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/package/python-txaio/python-txaio.hash b/package/python-txaio/python-txaio.hash index 6fb8e78ce2..8b43a3dc8f 100644 --- a/package/python-txaio/python-txaio.hash +++ b/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/package/python-txaio/python-txaio.mk b/package/python-txaio/python-txaio.mk index 5e4d710135..8f73f36748 100644 --- a/package/python-txaio/python-txaio.mk +++ b/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/package/python-txtorcon/python-txtorcon.hash b/package/python-txtorcon/python-txtorcon.hash index 71a2ec508f..ffc4e8379c 100644 --- a/package/python-txtorcon/python-txtorcon.hash +++ b/package/python-txtorcon/python-txtorcon.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/txtorcon/json, sha256 locally computed -md5 4d7380fa7e721c77cac103d971882374 txtorcon-0.19.3.tar.gz -sha256 f73396667909a3c7a98f4dd865edf4ed6a2518ee5a935d92e18b8a479ec244fd txtorcon-0.19.3.tar.gz -sha256 3ada1c32ef38c23d96d7f4e8f4a226c527f51e0202883c7543b06f9cc5228a2b LICENSE +# md5, sha256 from https://pypi.org/pypi/txtorcon/json +md5 7e6ef4d29c2cc51e85614cd2d57bf8df txtorcon-19.0.0.tar.gz +sha256 3731b740653e3f551412744f1fcd7fa6f04aa9fa37c90dc6c9152e619886bf3b txtorcon-19.0.0.tar.gz +# Locally computed sha256 checksums +sha256 3ada1c32ef38c23d96d7f4e8f4a226c527f51e0202883c7543b06f9cc5228a2b LICENSE diff --git a/package/python-txtorcon/python-txtorcon.mk b/package/python-txtorcon/python-txtorcon.mk index f75f50438e..7bf1c252b9 100644 --- a/package/python-txtorcon/python-txtorcon.mk +++ b/package/python-txtorcon/python-txtorcon.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TXTORCON_VERSION = 0.19.3 +PYTHON_TXTORCON_VERSION = 19.0.0 PYTHON_TXTORCON_SOURCE = txtorcon-$(PYTHON_TXTORCON_VERSION).tar.gz -PYTHON_TXTORCON_SITE = https://pypi.python.org/packages/05/4b/d2fbfdc08ab83c299f2ad22ba38ea35f71f1c966684f5754e079108a1f64 +PYTHON_TXTORCON_SITE = https://files.pythonhosted.org/packages/b7/93/e16d8160bac3a19d13c9ead9ac6b38f837f2534d40884109a334be1f849c PYTHON_TXTORCON_SETUP_TYPE = setuptools PYTHON_TXTORCON_LICENSE = MIT PYTHON_TXTORCON_LICENSE_FILES = LICENSE diff --git a/package/python-typing/Config.in b/package/python-typing/Config.in new file mode 100644 index 0000000000..81b7d71b4b --- /dev/null +++ b/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/package/python-typing/python-typing.hash b/package/python-typing/python-typing.hash new file mode 100644 index 0000000000..5bdb8c62e8 --- /dev/null +++ b/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/package/python-typing/python-typing.mk b/package/python-typing/python-typing.mk new file mode 100644 index 0000000000..663227dfc9 --- /dev/null +++ b/package/python-typing/python-typing.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-typing +# +################################################################################ + +PYTHON_TYPING_VERSION = 3.6.6 +PYTHON_TYPING_SOURCE = typing-$(PYTHON_TYPING_VERSION).tar.gz +PYTHON_TYPING_SITE = https://files.pythonhosted.org/packages/bf/9b/2bf84e841575b633d8d91ad923e198a415e3901f228715524689495b4317 +PYTHON_TYPING_SETUP_TYPE = setuptools +PYTHON_TYPING_LICENSE = Python-2.0, others +PYTHON_TYPING_LICENSE_FILES = LICENSE + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/package/python-u-msgpack/python-u-msgpack.hash b/package/python-u-msgpack/python-u-msgpack.hash index 12f2be37af..e24c9f3f90 100644 --- a/package/python-u-msgpack/python-u-msgpack.hash +++ b/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/package/python-u-msgpack/python-u-msgpack.mk b/package/python-u-msgpack/python-u-msgpack.mk index 89240c3fb2..bcb12b2037 100644 --- a/package/python-u-msgpack/python-u-msgpack.mk +++ b/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/package/python-ubjson/python-ubjson.hash b/package/python-ubjson/python-ubjson.hash index 30f65fe6bb..f93ae1acde 100644 --- a/package/python-ubjson/python-ubjson.hash +++ b/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/package/python-ubjson/python-ubjson.mk b/package/python-ubjson/python-ubjson.mk index a192cfb656..477cc400c8 100644 --- a/package/python-ubjson/python-ubjson.mk +++ b/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/package/python-urllib3/python-urllib3.hash b/package/python-urllib3/python-urllib3.hash index 505ff923be..ec075cb4f6 100644 --- a/package/python-urllib3/python-urllib3.hash +++ b/package/python-urllib3/python-urllib3.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/urllib3/json -md5 1ad43e4b5ab7a0794c89dc057e1d7179 urllib3-1.23.tar.gz -sha256 a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf urllib3-1.23.tar.gz +md5 20bb5a170a534bd0acd98bfc007fcc22 urllib3-1.24.2.tar.gz +sha256 9a247273df709c4fedb38c711e44292304f73f39ab01beda9f6b9fc375669ac3 urllib3-1.24.2.tar.gz # Locally computed sha256 checksums sha256 11db569430ca5ad793f1399297b8df5041a22137abaf90642ea71da21d59121c LICENSE.txt diff --git a/package/python-urllib3/python-urllib3.mk b/package/python-urllib3/python-urllib3.mk index 5519fbb9b2..893d32d976 100644 --- a/package/python-urllib3/python-urllib3.mk +++ b/package/python-urllib3/python-urllib3.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_URLLIB3_VERSION = 1.23 +PYTHON_URLLIB3_VERSION = 1.24.2 PYTHON_URLLIB3_SOURCE = urllib3-$(PYTHON_URLLIB3_VERSION).tar.gz -PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/3c/d2/dc5471622bd200db1cd9319e02e71bc655e9ea27b8e0ce65fc69de0dac15 +PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/fd/fa/b21f4f03176463a6cccdb612a5ff71b927e5224e83483012747c12fc5d62 PYTHON_URLLIB3_LICENSE = MIT PYTHON_URLLIB3_LICENSE_FILES = LICENSE.txt PYTHON_URLLIB3_SETUP_TYPE = setuptools diff --git a/package/python-uvloop/Config.in b/package/python-uvloop/Config.in new file mode 100644 index 0000000000..76e06ac3f4 --- /dev/null +++ b/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/package/python-uvloop/python-uvloop.hash b/package/python-uvloop/python-uvloop.hash new file mode 100644 index 0000000000..2eaa92d6db --- /dev/null +++ b/package/python-uvloop/python-uvloop.hash @@ -0,0 +1,6 @@ +# md5, sha256 from https://pypi.org/pypi/uvloop/json +md5 9584c5e372755f752e47c2ff8419efe1 uvloop-0.11.3.tar.gz +sha256 fd5042d0a2ea07b92d0e2190f7711feb91cde31cf2bf1829e2e8c4c0fdd1f1aa uvloop-0.11.3.tar.gz +# Locally computed sha256 checksums +sha256 2fdc436a67077941295c58647f521fbef8f50e46db0970552fa1a4dd8ae261c6 LICENSE-APACHE +sha256 9185f3c77e9f6ef8859a6ba4c94128ac1329876be3e813aad32d7645e51ae409 LICENSE-MIT diff --git a/package/python-uvloop/python-uvloop.mk b/package/python-uvloop/python-uvloop.mk new file mode 100644 index 0000000000..037cca388b --- /dev/null +++ b/package/python-uvloop/python-uvloop.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-uvloop +# +################################################################################ + +PYTHON_UVLOOP_VERSION = 0.11.3 +PYTHON_UVLOOP_SOURCE = uvloop-$(PYTHON_UVLOOP_VERSION).tar.gz +PYTHON_UVLOOP_SITE = https://files.pythonhosted.org/packages/46/60/8e46188acba22369848d5e9bcbee3ca04b68a12d0598bd625c1a3994f5df +PYTHON_UVLOOP_SETUP_TYPE = setuptools +PYTHON_UVLOOP_LICENSE = Apache-2.0, MIT +PYTHON_UVLOOP_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT +PYTHON_UVLOOP_BUILD_OPTS = build_ext --inplace --use-system-libuv +PYTHON_UVLOOP_INSTALL_TARGET_OPTS = build_ext --inplace --use-system-libuv +PYTHON_UVLOOP_DEPENDENCIES = libuv + +$(eval $(python-package)) diff --git a/package/python-web2py/python-web2py.hash b/package/python-web2py/python-web2py.hash index d23da1ea6e..9a1df0c2a1 100644 --- a/package/python-web2py/python-web2py.hash +++ b/package/python-web2py/python-web2py.hash @@ -1,2 +1,3 @@ # sha256 locally computed -sha256 d9ed52676e9becd53d2d73a849dea3d55b8b61231abf3428cf516dcc0083d451 python-web2py-R-2.16.1.tar.gz +sha256 8205a7a08595ca1a41919750a8dc4e431258966cb46c8021564b25003cf90863 python-web2py-R-2.17.2.tar.gz +sha256 2aae96826184a492bc799add49aed7b29036e7aba2d2294fb65053bd30fe55fe LICENSE diff --git a/package/python-web2py/python-web2py.mk b/package/python-web2py/python-web2py.mk index 1e02fb7ca5..922b267b8b 100644 --- a/package/python-web2py/python-web2py.mk +++ b/package/python-web2py/python-web2py.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_WEB2PY_VERSION = R-2.16.1 +PYTHON_WEB2PY_VERSION = R-2.17.2 PYTHON_WEB2PY_SITE = $(call github,web2py,web2py,$(PYTHON_WEB2PY_VERSION)) PYTHON_WEB2PY_LICENSE = LGPL-3.0 PYTHON_WEB2PY_LICENSE_FILES = LICENSE diff --git a/package/python-websockets/python-websockets.hash b/package/python-websockets/python-websockets.hash index 0fbe144173..4939c7834f 100644 --- a/package/python-websockets/python-websockets.hash +++ b/package/python-websockets/python-websockets.hash @@ -1,5 +1,5 @@ # md5, sha256 from https://pypi.org/pypi/websockets/json -md5 cd2f92f07bca588acd9238b18f6cfbcf websockets-5.0.1.tar.gz -sha256 a49d315db5a7a19d55422e1678e8a1c3b9661d7296bef3179fa620cf80b12674 websockets-5.0.1.tar.gz +md5 76cf931a525a3415f5a4f59c133e89c3 websockets-6.0.tar.gz +sha256 8f3b956d11c5b301206382726210dc1d3bee1a9ccf7aadf895aaf31f71c3716c websockets-6.0.tar.gz # Locally computed sha256 checksums sha256 2cd4d416e432ca7fda2c103b38b852f8d3cb327d70c3db44410b9fe97e6c4d73 LICENSE diff --git a/package/python-websockets/python-websockets.mk b/package/python-websockets/python-websockets.mk index 0e225b90f1..4d547ada81 100644 --- a/package/python-websockets/python-websockets.mk +++ b/package/python-websockets/python-websockets.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WEBSOCKETS_VERSION = 5.0.1 +PYTHON_WEBSOCKETS_VERSION = 6.0 PYTHON_WEBSOCKETS_SOURCE = websockets-$(PYTHON_WEBSOCKETS_VERSION).tar.gz -PYTHON_WEBSOCKETS_SITE = https://files.pythonhosted.org/packages/4b/c6/026da2eeed75a49dd0b72a0c7ed6ee5cb2943e396ca9753eabff7359b27b +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/package/python-wrapt/Config.in b/package/python-wrapt/Config.in new file mode 100644 index 0000000000..da315c9a77 --- /dev/null +++ b/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/package/python-wrapt/python-wrapt.hash b/package/python-wrapt/python-wrapt.hash new file mode 100644 index 0000000000..dbf8932956 --- /dev/null +++ b/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/package/python-wrapt/python-wrapt.mk b/package/python-wrapt/python-wrapt.mk new file mode 100644 index 0000000000..dd8b9a58e4 --- /dev/null +++ b/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/package/python-wtforms/Config.in b/package/python-wtforms/Config.in new file mode 100644 index 0000000000..96ed96da0a --- /dev/null +++ b/package/python-wtforms/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_WTFORMS + bool "python-wtforms" + help + A flexible forms validation and rendering library for + Python web development. + + https://wtforms.readthedocs.io/ diff --git a/package/python-wtforms/python-wtforms.hash b/package/python-wtforms/python-wtforms.hash new file mode 100644 index 0000000000..34beb08010 --- /dev/null +++ b/package/python-wtforms/python-wtforms.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/wtforms/json +md5 41c0008dbe7bd98892c58f7457a46a4a WTForms-2.2.1.tar.gz +sha256 0cdbac3e7f6878086c334aa25dc5a33869a3954e9d1e015130d65a69309b3b61 WTForms-2.2.1.tar.gz +# Locally computed sha256 checksums +sha256 64cba207423f4478e3262c2e54209f8cd2057d687e200a50e0203db5659947a5 LICENSE.rst diff --git a/package/python-wtforms/python-wtforms.mk b/package/python-wtforms/python-wtforms.mk new file mode 100644 index 0000000000..2715320d27 --- /dev/null +++ b/package/python-wtforms/python-wtforms.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-wtforms +# +################################################################################ + +PYTHON_WTFORMS_VERSION = 2.2.1 +PYTHON_WTFORMS_SOURCE = WTForms-$(PYTHON_WTFORMS_VERSION).tar.gz +PYTHON_WTFORMS_SITE = https://files.pythonhosted.org/packages/cd/1d/7221354ebfc32b868740d02e44225c2ce00769b0d3dc370e463e2bc4b446 +PYTHON_WTFORMS_SETUP_TYPE = setuptools +PYTHON_WTFORMS_LICENSE = BSD-3-Clause +PYTHON_WTFORMS_LICENSE_FILES = LICENSE.rst + +$(eval $(python-package)) diff --git a/package/python-zeroconf/Config.in b/package/python-zeroconf/Config.in new file mode 100644 index 0000000000..ac1acbbd8c --- /dev/null +++ b/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/package/python-zeroconf/python-zeroconf.hash b/package/python-zeroconf/python-zeroconf.hash new file mode 100644 index 0000000000..1677affa11 --- /dev/null +++ b/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/package/python-zeroconf/python-zeroconf.mk b/package/python-zeroconf/python-zeroconf.mk new file mode 100644 index 0000000000..7000a0da7a --- /dev/null +++ b/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/package/python-zope-interface/python-zope-interface.hash b/package/python-zope-interface/python-zope-interface.hash index 2aa07335a4..2828d85c32 100644 --- a/package/python-zope-interface/python-zope-interface.hash +++ b/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/package/python-zope-interface/python-zope-interface.mk b/package/python-zope-interface/python-zope-interface.mk index 7dd6812976..f36aab692b 100644 --- a/package/python-zope-interface/python-zope-interface.mk +++ b/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/package/python/0035-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch b/package/python/0035-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch new file mode 100644 index 0000000000..9eec6db8c9 --- /dev/null +++ b/package/python/0035-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch @@ -0,0 +1,121 @@ +From 06b15424b0dcacb1c551b2a36e739fffa8d0c595 Mon Sep 17 00:00:00 2001 +From: "Miss Islington (bot)" + <31488909+miss-islington@users.noreply.github.com> +Date: Tue, 15 Jan 2019 15:11:52 -0800 +Subject: [PATCH] bpo-35746: Fix segfault in ssl's cert parser (GH-11569) + +Fix a NULL pointer deref in ssl module. The cert parser did not handle CRL +distribution points with empty DP or URI correctly. A malicious or buggy +certificate can result into segfault. + +Signed-off-by: Christian Heimes + +https://bugs.python.org/issue35746 +(cherry picked from commit a37f52436f9aa4b9292878b72f3ff1480e2606c3) + +Co-authored-by: Christian Heimes +Signed-off-by: Peter Korsgaard +--- + Lib/test/talos-2019-0758.pem | 22 ++++++++++++++++++++++ + Lib/test/test_ssl.py | 22 ++++++++++++++++++++++ + .../2019-01-15-18-16-05.bpo-35746.nMSd0j.rst | 3 +++ + Modules/_ssl.c | 4 ++++ + 4 files changed, 51 insertions(+) + create mode 100644 Lib/test/talos-2019-0758.pem + create mode 100644 Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst + +diff --git a/Lib/test/talos-2019-0758.pem b/Lib/test/talos-2019-0758.pem +new file mode 100644 +index 0000000000..13b95a77fd +--- /dev/null ++++ b/Lib/test/talos-2019-0758.pem +@@ -0,0 +1,22 @@ ++-----BEGIN CERTIFICATE----- ++MIIDqDCCApKgAwIBAgIBAjALBgkqhkiG9w0BAQswHzELMAkGA1UEBhMCVUsxEDAO ++BgNVBAMTB2NvZHktY2EwHhcNMTgwNjE4MTgwMDU4WhcNMjgwNjE0MTgwMDU4WjA7 ++MQswCQYDVQQGEwJVSzEsMCoGA1UEAxMjY29kZW5vbWljb24tdm0tMi50ZXN0Lmxh ++bC5jaXNjby5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC63fGB ++J80A9Av1GB0bptslKRIUtJm8EeEu34HkDWbL6AJY0P8WfDtlXjlPaLqFa6sqH6ES ++V48prSm1ZUbDSVL8R6BYVYpOlK8/48xk4pGTgRzv69gf5SGtQLwHy8UPBKgjSZoD ++5a5k5wJXGswhKFFNqyyxqCvWmMnJWxXTt2XDCiWc4g4YAWi4O4+6SeeHVAV9rV7C ++1wxqjzKovVe2uZOHjKEzJbbIU6JBPb6TRfMdRdYOw98n1VXDcKVgdX2DuuqjCzHP ++WhU4Tw050M9NaK3eXp4Mh69VuiKoBGOLSOcS8reqHIU46Reg0hqeL8LIL6OhFHIF ++j7HR6V1X6F+BfRS/AgMBAAGjgdYwgdMwCQYDVR0TBAIwADAdBgNVHQ4EFgQUOktp ++HQjxDXXUg8prleY9jeLKeQ4wTwYDVR0jBEgwRoAUx6zgPygZ0ZErF9sPC4+5e2Io ++UU+hI6QhMB8xCzAJBgNVBAYTAlVLMRAwDgYDVQQDEwdjb2R5LWNhggkA1QEAuwb7 ++2s0wCQYDVR0SBAIwADAuBgNVHREEJzAlgiNjb2Rlbm9taWNvbi12bS0yLnRlc3Qu ++bGFsLmNpc2NvLmNvbTAOBgNVHQ8BAf8EBAMCBaAwCwYDVR0fBAQwAjAAMAsGCSqG ++SIb3DQEBCwOCAQEAvqantx2yBlM11RoFiCfi+AfSblXPdrIrHvccepV4pYc/yO6p ++t1f2dxHQb8rWH3i6cWag/EgIZx+HJQvo0rgPY1BFJsX1WnYf1/znZpkUBGbVmlJr ++t/dW1gSkNS6sPsM0Q+7HPgEv8CPDNK5eo7vU2seE0iWOkxSyVUuiCEY9ZVGaLVit ++p0C78nZ35Pdv4I+1cosmHl28+es1WI22rrnmdBpH8J1eY6WvUw2xuZHLeNVN0TzV ++Q3qq53AaCWuLOD1AjESWuUCxMZTK9DPS4JKXTK8RLyDeqOvJGjsSWp3kL0y3GaQ+ ++10T1rfkKJub2+m9A9duin1fn6tHc2wSvB7m3DA== ++-----END CERTIFICATE----- +diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py +index e476031702..9240184d98 100644 +--- a/Lib/test/test_ssl.py ++++ b/Lib/test/test_ssl.py +@@ -72,6 +72,7 @@ NONEXISTINGCERT = data_file("XXXnonexisting.pem") + BADKEY = data_file("badkey.pem") + NOKIACERT = data_file("nokia.pem") + NULLBYTECERT = data_file("nullbytecert.pem") ++TALOS_INVALID_CRLDP = data_file("talos-2019-0758.pem") + + DHFILE = data_file("ffdh3072.pem") + BYTES_DHFILE = DHFILE.encode(sys.getfilesystemencoding()) +@@ -227,6 +228,27 @@ class BasicSocketTests(unittest.TestCase): + self.assertEqual(p['crlDistributionPoints'], + ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',)) + ++ def test_parse_cert_CVE_2019_5010(self): ++ p = ssl._ssl._test_decode_cert(TALOS_INVALID_CRLDP) ++ if support.verbose: ++ sys.stdout.write("\n" + pprint.pformat(p) + "\n") ++ self.assertEqual( ++ p, ++ { ++ 'issuer': ( ++ (('countryName', 'UK'),), (('commonName', 'cody-ca'),)), ++ 'notAfter': 'Jun 14 18:00:58 2028 GMT', ++ 'notBefore': 'Jun 18 18:00:58 2018 GMT', ++ 'serialNumber': '02', ++ 'subject': ((('countryName', 'UK'),), ++ (('commonName', ++ 'codenomicon-vm-2.test.lal.cisco.com'),)), ++ 'subjectAltName': ( ++ ('DNS', 'codenomicon-vm-2.test.lal.cisco.com'),), ++ 'version': 3 ++ } ++ ) ++ + def test_parse_cert_CVE_2013_4238(self): + p = ssl._ssl._test_decode_cert(NULLBYTECERT) + if support.verbose: +diff --git a/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst +new file mode 100644 +index 0000000000..dffe347eec +--- /dev/null ++++ b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst +@@ -0,0 +1,3 @@ ++[CVE-2019-5010] Fix a NULL pointer deref in ssl module. The cert parser did ++not handle CRL distribution points with empty DP or URI correctly. A ++malicious or buggy certificate can result into segfault. +diff --git a/Modules/_ssl.c b/Modules/_ssl.c +index a96c419260..19bb1207b4 100644 +--- a/Modules/_ssl.c ++++ b/Modules/_ssl.c +@@ -1223,6 +1223,10 @@ _get_crl_dp(X509 *certificate) { + STACK_OF(GENERAL_NAME) *gns; + + dp = sk_DIST_POINT_value(dps, i); ++ if (dp->distpoint == NULL) { ++ /* Ignore empty DP value, CVE-2019-5010 */ ++ continue; ++ } + gns = dp->distpoint->name.fullname; + + for (j=0; j < sk_GENERAL_NAME_num(gns); j++) { +-- +2.11.0 + diff --git a/package/python3-setuptools/0001-add-executable.patch b/package/python3-setuptools/0001-add-executable.patch new file mode 120000 index 0000000000..5bab3d96a1 --- /dev/null +++ b/package/python3-setuptools/0001-add-executable.patch @@ -0,0 +1 @@ +../python-setuptools/0001-add-executable.patch \ No newline at end of file diff --git a/package/python3-setuptools/python3-setuptools.hash b/package/python3-setuptools/python3-setuptools.hash new file mode 120000 index 0000000000..a3af7f0fb1 --- /dev/null +++ b/package/python3-setuptools/python3-setuptools.hash @@ -0,0 +1 @@ +../python-setuptools/python-setuptools.hash \ No newline at end of file diff --git a/package/python3-setuptools/python3-setuptools.mk b/package/python3-setuptools/python3-setuptools.mk new file mode 100644 index 0000000000..b6de5d4b25 --- /dev/null +++ b/package/python3-setuptools/python3-setuptools.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# python3-setuptools +# +################################################################################ + +# Please keep in sync with +# package/python-setuptools/python-setuptools.mk +PYTHON3_SETUPTOOLS_VERSION = 40.6.3 +PYTHON3_SETUPTOOLS_SOURCE = setuptools-$(PYTHON3_SETUPTOOLS_VERSION).zip +PYTHON3_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b +PYTHON3_SETUPTOOLS_LICENSE = MIT +PYTHON3_SETUPTOOLS_LICENSE_FILES = LICENSE +PYTHON3_SETUPTOOLS_SETUP_TYPE = setuptools +HOST_PYTHON3_SETUPTOOLS_DL_SUBDIR = python-setuptools +HOST_PYTHON3_SETUPTOOLS_NEEDS_HOST_PYTHON = python3 + +define HOST_PYTHON3_SETUPTOOLS_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(HOST_PYTHON3_SETUPTOOLS_DL_DIR)/$(PYTHON3_SETUPTOOLS_SOURCE) + mv $(@D)/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)/* $(@D) + $(RM) -r $(@D)/setuptools-$(PYTHON3_SETUPTOOLS_VERSION) +endef + +$(eval $(host-python-package)) diff --git a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch index 4a8e4e8296..f6fa3d7554 100644 --- a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch +++ b/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 +@@ -1393,6 +1393,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 +@@ -1420,6 +1421,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/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch b/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch index e997f47693..36b5af0338 100644 --- a/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch +++ b/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 +@@ -4056,7 +4056,7 @@ fi AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) diff --git a/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch b/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch index 76555d290f..647f3251d7 100644 --- a/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch +++ b/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 +@@ -204,6 +204,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 +@@ -617,6 +619,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)' \ +@@ -1526,7 +1529,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" +@@ -2966,6 +2966,8 @@ LIBS="$withval $LIBS" PKG_PROG_PKG_CONFIG @@ -91,7 +91,7 @@ diff --git a/setup.py b/setup.py index fe477974bd..86643ae8bf 100644 --- a/setup.py +++ b/setup.py -@@ -43,7 +43,11 @@ host_platform = get_platform() +@@ -48,7 +48,11 @@ host_platform = get_platform() COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS")) # This global variable is used to hold the list of modules to be disabled. diff --git a/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch b/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch index 989943e473..b3a0e53289 100644 --- a/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch +++ b/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch @@ -24,7 +24,7 @@ diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ex index 74de782d8a..d0c847b365 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py -@@ -233,7 +233,10 @@ class build_ext(Command): +@@ -234,7 +234,10 @@ class build_ext(Command): if (sysconfig.get_config_var('Py_ENABLE_SHARED')): if not sysconfig.python_build: # building third party extensions @@ -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/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch b/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch index 250d6ec538..d8c5b0faf8 100644 --- a/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch +++ b/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): +@@ -855,12 +855,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/package/python3/0006-Don-t-add-multiarch-paths.patch b/package/python3/0006-Don-t-add-multiarch-paths.patch index 220c54cde8..e55640d413 100644 --- a/package/python3/0006-Don-t-add-multiarch-paths.patch +++ b/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): +@@ -552,10 +552,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/package/python3/0007-Abort-on-failed-module-build.patch b/package/python3/0007-Abort-on-failed-module-build.patch index a44d6b3ec3..a7071e199d 100644 --- a/package/python3/0007-Abort-on-failed-module-build.patch +++ b/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): +@@ -363,6 +363,7 @@ class PyBuildExt(build_ext): print("Failed to build these modules:") print_three_column(failed) print() diff --git a/package/python3/0008-Serial-ioctl-workaround.patch b/package/python3/0008-Serial-ioctl-workaround.patch index f303bd04db..39d40f025a 100644 --- a/package/python3/0008-Serial-ioctl-workaround.patch +++ b/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/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch b/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch index 786e958751..68cba34978 100644 --- a/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch +++ b/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/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch b/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch index 1c1484011f..5c645201ee 100644 --- a/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch +++ b/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): +@@ -519,7 +519,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/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch b/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch index ed0ca26eb7..5bc9bf498d 100644 --- a/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch +++ b/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/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch b/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch index fc27eda115..8180880e1c 100644 --- a/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch +++ b/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 +@@ -1259,8 +1259,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 +@@ -1334,26 +1334,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) +@@ -3226,6 +3226,11 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_getcpuclockid) fi +AC_SUBST(TEST_MODULES) diff --git a/package/python3/0014-Add-an-option-to-disable-pydoc.patch b/package/python3/0014-Add-an-option-to-disable-pydoc.patch index fc565cfe10..6f6e265c75 100644 --- a/package/python3/0014-Add-an-option-to-disable-pydoc.patch +++ b/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 +@@ -1229,7 +1229,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 \ +@@ -1277,7 +1279,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) +@@ -1352,6 +1354,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) +@@ -3226,6 +3226,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(): +@@ -2337,6 +2337,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(): +@@ -2361,8 +2367,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/package/python3/0015-Add-an-option-to-disable-lib2to3.patch b/package/python3/0015-Add-an-option-to-disable-lib2to3.patch index e6a39383e5..d2ce91775b 100644 --- a/package/python3/0015-Add-an-option-to-disable-lib2to3.patch +++ b/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) +@@ -1233,7 +1233,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 \ +@@ -1270,7 +1272,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 \ +@@ -1340,9 +1341,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 \ +@@ -1350,6 +1348,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) +@@ -1449,10 +1455,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, +@@ -3238,6 +3238,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(): +@@ -2338,10 +2338,11 @@ def main(): import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) diff --git a/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch b/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch index 675e8282be..134a7ef8b8 100644 --- a/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch +++ b/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 \ +@@ -1270,7 +1270,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 \ +@@ -1340,7 +1339,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 \ +@@ -1356,6 +1354,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) +@@ -3226,6 +3226,15 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_getcpuclockid) fi +AC_SUBST(SQLITE3) diff --git a/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch index 56196416a2..57d45a22f8 100644 --- a/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch +++ b/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 +@@ -1264,7 +1264,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 \ +@@ -1281,8 +1281,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 \ +@@ -1346,6 +1345,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 +@@ -3235,6 +3235,15 @@ if test "$SQLITE3" = "no" ; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" fi diff --git a/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch b/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch index b68369c16c..767ded5a77 100644 --- a/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch +++ b/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 \ +@@ -1278,8 +1278,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 \ +@@ -1351,6 +1350,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 +@@ -3244,6 +3244,15 @@ if test "$TK" = "no"; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" fi diff --git a/package/python3/0019-Add-an-option-to-disable-expat.patch b/package/python3/0019-Add-an-option-to-disable-expat.patch index 0ec0b21555..6667eaf61d 100644 --- a/package/python3/0019-Add-an-option-to-disable-expat.patch +++ b/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 \ +@@ -1273,7 +1273,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) +@@ -1354,6 +1354,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 +@@ -2969,13 +2969,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): +@@ -1490,7 +1490,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/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch b/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch index 6b316d8eba..ee81e0bcfa 100644 --- a/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch +++ b/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 +@@ -3243,6 +3243,12 @@ if test "$SQLITE3" = "no" ; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" fi diff --git a/package/python3/0021-Add-an-option-to-disable-NIS.patch b/package/python3/0021-Add-an-option-to-disable-NIS.patch index f49b23f5c8..d38f858be8 100644 --- a/package/python3/0021-Add-an-option-to-disable-NIS.patch +++ b/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, +@@ -3249,6 +3249,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/package/python3/0022-Add-an-option-to-disable-unicodedata.patch b/package/python3/0022-Add-an-option-to-disable-unicodedata.patch index 9c207be680..17e9861e0f 100644 --- a/package/python3/0022-Add-an-option-to-disable-unicodedata.patch +++ b/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, +@@ -3255,6 +3255,12 @@ AC_ARG_ENABLE(nis, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" fi]) diff --git a/package/python3/0023-Add-an-option-to-disable-IDLE.patch b/package/python3/0023-Add-an-option-to-disable-IDLE.patch index da77c44899..98607c5e1c 100644 --- a/package/python3/0023-Add-an-option-to-disable-IDLE.patch +++ b/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 +@@ -1227,7 +1227,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 \ +@@ -1272,7 +1274,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) +@@ -1358,6 +1359,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, +@@ -3297,6 +3297,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(): +@@ -2338,11 +2338,13 @@ def main(): import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) diff --git a/package/python3/0024-Add-an-option-to-disable-decimal.patch b/package/python3/0024-Add-an-option-to-disable-decimal.patch index 76ef508409..31ffbc6b38 100644 --- a/package/python3/0024-Add-an-option-to-disable-decimal.patch +++ b/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) +@@ -3020,13 +3020,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): +@@ -2015,7 +2015,7 @@ class PyBuildExt(build_ext): def _decimal_ext(self): extra_compile_args = [] undef_macros = [] diff --git a/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch b/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch index 418936cf0d..b7b195a15f 100644 --- a/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch +++ b/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 +@@ -3035,6 +3035,12 @@ else fi AC_SUBST(MPDEC) diff --git a/package/python3/0026-Add-an-option-to-disable-openssl-support.patch b/package/python3/0026-Add-an-option-to-disable-openssl-support.patch index 065e50620d..2d569e92dc 100644 --- a/package/python3/0026-Add-an-option-to-disable-openssl-support.patch +++ b/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, +@@ -3274,6 +3274,12 @@ AC_ARG_ENABLE(unicodedata, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" fi]) diff --git a/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch b/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch index eb1967534d..1a28dd8274 100644 --- a/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch +++ b/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, +@@ -3280,6 +3280,12 @@ AC_ARG_ENABLE(openssl, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" fi]) diff --git a/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch b/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch index 39330ace62..4bf60fd6c7 100644 --- a/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch +++ b/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, +@@ -3286,6 +3286,24 @@ AC_ARG_ENABLE(readline, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" fi]) diff --git a/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch b/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch index 49137f27ea..2e45bee15a 100644 --- a/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch +++ b/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/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch b/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch new file mode 100644 index 0000000000..8b4dca912c --- /dev/null +++ b/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 +@@ -1632,7 +1632,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/package/python3/0031-Add-an-option-to-disable-uuid-module.patch b/package/python3/0031-Add-an-option-to-disable-uuid-module.patch new file mode 100644 index 0000000000..1c674b5446 --- /dev/null +++ b/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 +@@ -3322,6 +3322,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/package/python3/0032-fix-building-on-older-distributions.patch b/package/python3/0032-fix-building-on-older-distributions.patch new file mode 100644 index 0000000000..0f7ee2a25f --- /dev/null +++ b/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/package/python3/Config.in b/package/python3/Config.in index 623fefe43d..0c5018f0b3 100644 --- a/package/python3/Config.in +++ b/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/package/python3/python3.hash b/package/python3/python3.hash index 33adb188fb..d5209c23cc 100644 --- a/package/python3/python3.hash +++ b/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-373/ +md5 93df27aec0cd18d6d42173e601ffbbfd Python-3.7.3.tar.xz # Locally computed -sha256 cda7d967c9a4bfa52337cdf551bcc5cff026b6ac50a8834e568ce4a794ca81da Python-3.6.3.tar.xz +sha256 da60b54064d4cfcd9c26576f6df2690e62085123826cff2e667e72a91952d318 Python-3.7.3.tar.xz +sha256 a77d71d6be6f9032e6b6e5d2cf6da68f9eeab9036edfbc043633c8979cd5e82c LICENSE diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 6e61108661..2211cfed81 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -4,20 +4,13 @@ # ################################################################################ -PYTHON3_VERSION_MAJOR = 3.6 +PYTHON3_VERSION_MAJOR = 3.7 PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).3 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/package/qemu/0002-configure-improve-usbfs-check.patch b/package/qemu/0002-configure-improve-usbfs-check.patch new file mode 100644 index 0000000000..d693b5d7ef --- /dev/null +++ b/package/qemu/0002-configure-improve-usbfs-check.patch @@ -0,0 +1,60 @@ +From 9672cccd64c446369b5649fe23d575917638be46 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 5 Feb 2019 15:07:43 +0100 +Subject: [PATCH] configure: improve usbfs check + +The current check to test if usbfs support should be compiled or not +solely relies on the presence of , without +actually checking that all definition used by Qemu are provided by +this header file. + +With sufficiently old kernel headers, may be +present, but some of the definitions needed by Qemu may not be +available. + +This commit improves the check by building a small program that +actually tests whether the necessary definitions are available. + +In addition, it fixes a bug where have_usbfs was set to "yes" +regardless of the result of the test. + +Signed-off-by: Thomas Petazzoni +--- + configure | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 3d89870d99..799c8e3b08 100755 +--- a/configure ++++ b/configure +@@ -4266,10 +4266,25 @@ fi + # check for usbfs + have_usbfs=no + if test "$linux_user" = "yes"; then +- if check_include linux/usbdevice_fs.h; then ++ cat > $TMPC << EOF ++#include ++ ++#ifndef USBDEVFS_GET_CAPABILITIES ++#error "USBDEVFS_GET_CAPABILITIES undefined" ++#endif ++ ++#ifndef USBDEVFS_DISCONNECT_CLAIM ++#error "USBDEVFS_DISCONNECT_CLAIM undefined" ++#endif ++ ++int main(void) ++{ ++ return 0; ++} ++EOF ++ if compile_prog "" ""; then + have_usbfs=yes + fi +- have_usbfs=yes + fi + + # check for fallocate +-- +2.20.1 + diff --git a/package/qemu/Config.in b/package/qemu/Config.in index 13b615bfba..33d4cccd7b 100644 --- a/package/qemu/Config.in +++ b/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/package/qemu/Config.in.host b/package/qemu/Config.in.host index 957c7d2ae1..f99f3e05cf 100644 --- a/package/qemu/Config.in.host +++ b/package/qemu/Config.in.host @@ -67,4 +67,10 @@ config BR2_PACKAGE_HOST_QEMU_VDE2 Ethernet and can be used to create virtual switches to "plug" both physical and virtual machines in them. +config BR2_PACKAGE_HOST_QEMU_VIRTFS + bool "Virtual filesystem support" + help + Enables support for virtual filesystem in Qemu allowing + shared filesystem between Qemu and its emulated target. + endif diff --git a/package/qemu/qemu.hash b/package/qemu/qemu.hash index 2b27008b73..338d2ae503 100644 --- a/package/qemu/qemu.hash +++ b/package/qemu/qemu.hash @@ -1,4 +1,4 @@ # Locally computed, tarball verified with GPG signature -sha256 33583800e0006cd00b78226b85be5a27c8e3b156bed2e60e83ecbeb7b9b8364f qemu-2.12.1.tar.xz +sha256 6a0508df079a0a33c2487ca936a56c12122f105b8a96a44374704bef6c69abfc qemu-3.1.0.tar.xz sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING sha256 48ffe9fc7f1d5462dbd19340bc4dd1d8a9e37c61ed535813e614cbe4a5f0d4df COPYING.LIB diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index 0b53d130af..30cd5972ef 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -4,7 +4,7 @@ # ################################################################################ -QEMU_VERSION = 2.12.1 +QEMU_VERSION = 3.1.0 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz QEMU_SITE = http://download.qemu.org QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c @@ -16,7 +16,7 @@ QEMU_LICENSE_FILES = COPYING COPYING.LIB #------------------------------------------------------------- # Target-qemu -QEMU_DEPENDENCIES = host-pkgconf host-python libglib2 zlib pixman +QEMU_DEPENDENCIES = host-pkgconf libglib2 zlib pixman # Need the LIBS variable because librt and libm are # not automatically pulled. :-( @@ -24,10 +24,7 @@ QEMU_LIBS = -lrt -lm QEMU_OPTS = -QEMU_VARS = \ - LIBTOOL=$(HOST_DIR)/bin/libtool \ - PYTHON=$(HOST_DIR)/bin/python2 \ - PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages +QEMU_VARS = LIBTOOL=$(HOST_DIR)/bin/libtool # If we want to specify only a subset of targets, we must still enable all # of them, so that QEMU properly builds its list of default targets, from @@ -55,10 +52,15 @@ endif endif +# There is no "--enable-slirp" +ifeq ($(BR2_PACKAGE_QEMU_SLIRP),) +QEMU_OPTS += --disable-slirp +endif + ifeq ($(BR2_PACKAGE_QEMU_SDL),y) QEMU_OPTS += --enable-sdl -QEMU_DEPENDENCIES += sdl -QEMU_VARS += SDL_CONFIG=$(BR2_STAGING_DIR)/usr/bin/sdl-config +QEMU_DEPENDENCIES += sdl2 +QEMU_VARS += SDL2_CONFIG=$(BR2_STAGING_DIR)/usr/bin/sdl2-config else QEMU_OPTS += --disable-sdl endif @@ -76,6 +78,13 @@ else QEMU_OPTS += --disable-tools endif +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +QEMU_OPTS += --enable-seccomp +QEMU_DEPENDENCIES += libseccomp +else +QEMU_OPTS += --disable-seccomp +endif + ifeq ($(BR2_PACKAGE_LIBSSH2),y) QEMU_OPTS += --enable-libssh2 QEMU_DEPENDENCIES += libssh2 @@ -101,7 +110,6 @@ define QEMU_CONFIGURE_CMDS --enable-vhost-net \ --disable-bsd-user \ --disable-xen \ - --disable-slirp \ --disable-vnc \ --disable-virtfs \ --disable-brlapi \ @@ -117,7 +125,6 @@ define QEMU_CONFIGURE_CMDS --disable-libiscsi \ --disable-usb-redir \ --disable-strip \ - --disable-seccomp \ --disable-sparse \ --disable-mpath \ --disable-sanitizers \ @@ -129,6 +136,7 @@ define QEMU_CONFIGURE_CMDS --disable-libxml2 \ --disable-capstone \ --disable-git-update \ + --disable-opengl \ $(QEMU_OPTS) \ ) endef @@ -146,7 +154,7 @@ $(eval $(generic-package)) #------------------------------------------------------------- # Host-qemu -HOST_QEMU_DEPENDENCIES = host-pkgconf host-python host-zlib host-libglib2 host-pixman +HOST_QEMU_DEPENDENCIES = host-pkgconf host-zlib host-libglib2 host-pixman # BR ARCH qemu # ------- ---- @@ -249,6 +257,10 @@ HOST_QEMU_OPTS += --enable-vde HOST_QEMU_DEPENDENCIES += host-vde2 endif +ifdef ($(BR2_PACKAGE_HOST_QEMU_VIRTFS),y) +HOST_QEMU_OPTS += --enable-virtfs +endif + # Override CPP, as it expects to be able to call it like it'd # call the compiler. define HOST_QEMU_CONFIGURE_CMDS @@ -259,7 +271,6 @@ define HOST_QEMU_CONFIGURE_CMDS --interp-prefix=$(STAGING_DIR) \ --cc="$(HOSTCC)" \ --host-cc="$(HOSTCC)" \ - --python=$(HOST_DIR)/bin/python2 \ --extra-cflags="$(HOST_CFLAGS)" \ --extra-ldflags="$(HOST_LDFLAGS)" \ $(HOST_QEMU_OPTS) diff --git a/package/qextserialport/Config.in b/package/qextserialport/Config.in index 4e7ef13784..f880d335e5 100644 --- a/package/qextserialport/Config.in +++ b/package/qextserialport/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_QEXTSERIALPORT bool "qextserialport" - depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 help A Qt library to manage serial ports diff --git a/package/qextserialport/qextserialport.mk b/package/qextserialport/qextserialport.mk index e3e325ce6c..ecaff21efc 100644 --- a/package/qextserialport/qextserialport.mk +++ b/package/qextserialport/qextserialport.mk @@ -14,16 +14,10 @@ ifeq ($(BR2_STATIC_LIBS),y) QEXTSERIALPORT_CONF_OPTS += CONFIG+=qesp_static endif -ifeq ($(BR2_PACKAGE_QT),y) -QEXTSERIALPORT_DEPENDENCIES += qt -QEXTSERIALPORT_QMAKE = $(QT_QMAKE) -else ifeq ($(BR2_PACKAGE_QT5),y) -QEXTSERIALPORT_DEPENDENCIES += qt5base -QEXTSERIALPORT_QMAKE = $(QT5_QMAKE) -endif +QEXTSERIALPORT_DEPENDENCIES = qt5base define QEXTSERIALPORT_CONFIGURE_CMDS - cd $(@D); $(TARGET_MAKE_ENV) $(QEXTSERIALPORT_QMAKE) $(QEXTSERIALPORT_CONF_OPTS) + cd $(@D); $(TARGET_MAKE_ENV) $(QT5_QMAKE) $(QEXTSERIALPORT_CONF_OPTS) endef define QEXTSERIALPORT_BUILD_CMDS diff --git a/package/qjson/Config.in b/package/qjson/Config.in index 5c423bf317..adb06cddc0 100644 --- a/package/qjson/Config.in +++ b/package/qjson/Config.in @@ -1,13 +1,8 @@ config BR2_PACKAGE_QJSON bool "qjson" - depends on !BR2_STATIC_LIBS - depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 help QJson is a Qt-based library that maps JSON data to QVariant objects and vice versa. http://qjson.sourceforge.net - -comment "qjson needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS - depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 diff --git a/package/qjson/qjson.mk b/package/qjson/qjson.mk index 1777b9454c..718d6622a8 100644 --- a/package/qjson/qjson.mk +++ b/package/qjson/qjson.mk @@ -7,9 +7,7 @@ QJSON_VERSION = 0.9.0 QJSON_SITE = $(call github,flavio,qjson,$(QJSON_VERSION)) QJSON_INSTALL_STAGING = YES -QJSON_DEPENDENCIES = \ - $(if $(BR2_PACKAGE_QT),qt) \ - $(if $(BR2_PACKAGE_QT5),qt5base) +QJSON_DEPENDENCIES = qt5base QJSON_LICENSE = LGPL-2.1 QJSON_LICENSE_FILES = COPYING.lib diff --git a/package/qpdf/qpdf.hash b/package/qpdf/qpdf.hash index d27c9834b9..4bf2d3b30d 100644 --- a/package/qpdf/qpdf.hash +++ b/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/package/qpdf/qpdf.mk b/package/qpdf/qpdf.mk index 4776d22b16..2f6efdd73e 100644 --- a/package/qpdf/qpdf.mk +++ b/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/package/qpid-proton/0001-PROTON-1381-PROTON-1326-Modify-openssl-DH-code-to-wo.patch b/package/qpid-proton/0001-PROTON-1381-PROTON-1326-Modify-openssl-DH-code-to-wo.patch new file mode 100644 index 0000000000..1085804f41 --- /dev/null +++ b/package/qpid-proton/0001-PROTON-1381-PROTON-1326-Modify-openssl-DH-code-to-wo.patch @@ -0,0 +1,78 @@ +From bc872440428073e86ce2631276dc8b7f62da4c33 Mon Sep 17 00:00:00 2001 +From: Andrew Stitcher +Date: Tue, 17 Jan 2017 02:10:48 -0500 +Subject: [PATCH] PROTON-1381, PROTON-1326: Modify openssl DH code to work with + openssl 1.1 Modified patch from Volker Diels-Grabsch + +Upstream: https://github.com/apache/qpid-proton/commit/bc872440428073e86ce2631276dc8b7f62da4c33 + +Signed-off-by: Matthew Weber +--- + proton-c/src/ssl/openssl.c | 37 +++++++++++++++++++++++++++---------- + 1 file changed, 27 insertions(+), 10 deletions(-) + +diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c +index 0b7d157..0c51c03 100644 +--- a/proton-c/src/ssl/openssl.c ++++ b/proton-c/src/ssl/openssl.c +@@ -356,12 +356,22 @@ static int verify_callback(int preverify_ok, X509_STORE_CTX *ctx) + return preverify_ok; + } + ++// This was introduced in v1.1 ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) ++{ ++ dh->p = p; ++ dh->q = q; ++ dh->g = g; ++ return 1; ++} ++#endif + + // this code was generated using the command: + // "openssl dhparam -C -2 2048" + static DH *get_dh2048(void) + { +- static const unsigned char dh2048_p[]={ ++ static const unsigned char dhp_2048[]={ + 0xAE,0xF7,0xE9,0x66,0x26,0x7A,0xAC,0x0A,0x6F,0x1E,0xCD,0x81, + 0xBD,0x0A,0x10,0x7E,0xFA,0x2C,0xF5,0x2D,0x98,0xD4,0xE7,0xD9, + 0xE4,0x04,0x8B,0x06,0x85,0xF2,0x0B,0xA3,0x90,0x15,0x56,0x0C, +@@ -385,17 +395,24 @@ static DH *get_dh2048(void) + 0xA4,0xED,0xFD,0x49,0x0B,0xE3,0x4A,0xF6,0x28,0xB3,0x98,0xB0, + 0x23,0x1C,0x09,0x33, + }; +- static const unsigned char dh2048_g[]={ ++ static const unsigned char dhg_2048[]={ + 0x02, + }; +- DH *dh; +- +- if ((dh=DH_new()) == NULL) return(NULL); +- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); +- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); +- if ((dh->p == NULL) || (dh->g == NULL)) +- { DH_free(dh); return(NULL); } +- return(dh); ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh == NULL) ++ return NULL; ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { ++ DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); ++ return NULL; ++ } ++ return dh; + } + + typedef struct { +-- +1.9.1 + diff --git a/package/qpid-proton/0002-PROTON-1326-restore-anonymous-cyphers-by-lowering-Op.patch b/package/qpid-proton/0002-PROTON-1326-restore-anonymous-cyphers-by-lowering-Op.patch new file mode 100644 index 0000000000..2adba9a591 --- /dev/null +++ b/package/qpid-proton/0002-PROTON-1326-restore-anonymous-cyphers-by-lowering-Op.patch @@ -0,0 +1,62 @@ +From 8c54c62516671375de4068158ccaa0bc1dba0a4a Mon Sep 17 00:00:00 2001 +From: Cliff Jansen +Date: Wed, 2 Aug 2017 16:34:39 -0700 +Subject: [PATCH] PROTON-1326: restore anonymous cyphers by lowering OpenSSL + v1.1 security level just for the PN_SSL_ANONYMOUS_PEER verification mode + +Upstream: https://github.com/apache/qpid-proton/commit/8c54c62516671375de4068158ccaa0bc1dba0a4a + +Signed-off-by: Matthew Weber +--- + proton-c/src/ssl/openssl.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c +index 8cb4e7b..f37cf49 100644 +--- a/proton-c/src/ssl/openssl.c ++++ b/proton-c/src/ssl/openssl.c +@@ -72,6 +72,9 @@ struct pn_ssl_domain_t { + char *trusted_CAs; + + int ref_count; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ int default_seclevel; ++#endif + pn_ssl_mode_t mode; + pn_ssl_verify_mode_t verify_mode; + +@@ -524,6 +527,9 @@ pn_ssl_domain_t *pn_ssl_domain( pn_ssl_mode_t mode ) + // Mitigate the CRIME vulnerability + SSL_CTX_set_options(domain->ctx, SSL_OP_NO_COMPRESSION); + #endif ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ domain->default_seclevel = SSL_CTX_get_security_level(domain->ctx); ++#endif + + // by default, allow anonymous ciphers so certificates are not required 'out of the box' + if (!SSL_CTX_set_cipher_list( domain->ctx, CIPHERS_ANONYMOUS )) { +@@ -647,6 +653,10 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, + case PN_SSL_VERIFY_PEER: + case PN_SSL_VERIFY_PEER_NAME: + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ SSL_CTX_set_security_level(domain->ctx, domain->default_seclevel); ++#endif ++ + if (!domain->has_ca_db) { + pn_transport_logf(NULL, "Error: cannot verify peer without a trusted CA configured.\n" + " Use pn_ssl_domain_set_trusted_ca_db()"); +@@ -685,6 +695,10 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, + break; + + case PN_SSL_ANONYMOUS_PEER: // hippie free love mode... :) ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ // Must use lowest OpenSSL security level to enable anonymous ciphers. ++ SSL_CTX_set_security_level(domain->ctx, 0); ++#endif + SSL_CTX_set_verify( domain->ctx, SSL_VERIFY_NONE, NULL ); + break; + +-- +1.9.1 + diff --git a/package/qpid-proton/0003-PROTON-1587-fix-openssl-error-handling-causing-spuri.patch b/package/qpid-proton/0003-PROTON-1587-fix-openssl-error-handling-causing-spuri.patch new file mode 100644 index 0000000000..bbd3c7b810 --- /dev/null +++ b/package/qpid-proton/0003-PROTON-1587-fix-openssl-error-handling-causing-spuri.patch @@ -0,0 +1,58 @@ +From c31ca95ac73d0da462f7e324e1c3a33b11c39f2c Mon Sep 17 00:00:00 2001 +From: Alan Conway +Date: Wed, 27 Sep 2017 18:37:24 -0400 +Subject: [PATCH] PROTON-1587: fix openssl error handling, causing spurious + errors + +From the SSL_get_error() man page: + + In addition to ssl and ret, SSL_get_error() inspects the current thread's OpenSSL error + queue. Thus, SSL_get_error() must be used in the same thread that performed the TLS/SSL I/O + operation, and no other OpenSSL function calls should appear in between. The current + thread's error queue must be empty before the TLS/SSL I/O operation is attempted, or + SSL_get_error() will not work reliably. + +Proton was not clearing the error queue, so the "shutdown-during-init" +error (which was introduced recently in OpenSSL) was left dangling, and was +reported incorrectly when the thread was used to serve another transport. + +Upstream: https://github.com/apache/qpid-proton/commit/c31ca95ac73d0da462f7e324e1c3a33b11c39f2c + +Signed-off-by: Matthew Weber +--- + proton-c/src/ssl/openssl.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c +index 5c750b0..3a4e1a3 100644 +--- a/proton-c/src/ssl/openssl.c ++++ b/proton-c/src/ssl/openssl.c +@@ -206,7 +206,7 @@ static int ssl_failed(pn_transport_t *transport) + // fake a shutdown so the i/o processing code will close properly + SSL_set_shutdown(ssl->ssl, SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN); + // try to grab the first SSL error to add to the failure log +- char buf[128] = "Unknown error."; ++ char buf[256] = "Unknown error"; + unsigned long ssl_err = ERR_get_error(); + if (ssl_err) { + ERR_error_string_n( ssl_err, buf, sizeof(buf) ); +@@ -909,6 +909,7 @@ static ssize_t process_input_ssl( pn_transport_t *transport, unsigned int layer, + + do { + work_pending = false; ++ ERR_clear_error(); + + // Write to network bio as much as possible, consuming bytes/available + +@@ -1058,6 +1059,8 @@ static ssize_t process_output_ssl( pn_transport_t *transport, unsigned int layer + + do { + work_pending = false; ++ ERR_clear_error(); ++ + // first, get any pending application output, if possible + + if (!ssl->app_output_closed && ssl->out_count < ssl->out_size) { +-- +1.9.1 + diff --git a/package/qpid-proton/0004-src-ssl-openssl-add-libressl-compatibility.patch b/package/qpid-proton/0004-src-ssl-openssl-add-libressl-compatibility.patch new file mode 100644 index 0000000000..f969671ffb --- /dev/null +++ b/package/qpid-proton/0004-src-ssl-openssl-add-libressl-compatibility.patch @@ -0,0 +1,53 @@ +From 87c44b4ebc64c15f6324ed40852224b61fbe77a7 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Tue, 5 Feb 2019 06:10:16 -0600 +Subject: [PATCH] src/ssl/openssl: add libressl compatibility + +Similar to https://github.com/FreeRDP/FreeRDP/issues/5049 +libressl has `#define OPENSSL_VERSION_NUMBER ` defined the same as +openssl 1.1.x which results in SSL_CTX_set_security_level() getting used. + +This patch prevents SSL_CTX_set_security_level() from being used with +libressl. + +Upstream: https://github.com/apache/qpid-proton/pull/175 + +Signed-off-by: Matthew Weber +--- + c/src/ssl/openssl.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c +index c2b5869..541d0ae 100644 +--- a/proton-c/src/ssl/openssl.c ++++ b/proton-c/src/ssl/openssl.c +@@ -522,7 +522,7 @@ pn_ssl_domain_t *pn_ssl_domain( pn_ssl_mode_t mode ) + // Mitigate the CRIME vulnerability + SSL_CTX_set_options(domain->ctx, SSL_OP_NO_COMPRESSION); + #endif +-#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) + domain->default_seclevel = SSL_CTX_get_security_level(domain->ctx); + #endif + +@@ -709,7 +709,7 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, + case PN_SSL_VERIFY_PEER: + case PN_SSL_VERIFY_PEER_NAME: + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) + SSL_CTX_set_security_level(domain->ctx, domain->default_seclevel); + #endif + +@@ -749,7 +749,7 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, + break; + + case PN_SSL_ANONYMOUS_PEER: // hippie free love mode... :) +-#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) + // Must use lowest OpenSSL security level to enable anonymous ciphers. + SSL_CTX_set_security_level(domain->ctx, 0); + #endif +-- +1.9.1 + diff --git a/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch b/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch deleted file mode 100644 index 4cec4bde52..0000000000 --- a/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b8f98d956501dfa4ce03a137f15d404930a56066 Mon Sep 17 00:00:00 2001 -From: Dmitry Shachnev -Date: Sat, 5 Mar 2016 10:25:33 +0300 -Subject: [PATCH] alsatest: Fix the check to treat alsalib 1.1.x as correct - version - -Task-number: QTBUG-51681 -Change-Id: I63266c33342f02f4d1a5ea5786f5fbc5a1b421b3 -Reviewed-by: Oswald Buddenhagen -[Upstream commit: https://github.com/qtproject/qtbase/commit/b8f98d956501dfa4ce03a137f15d404930a56066] -[Patch fixing ALSA detection. Taken from Qt5, but applies fine to Qt4.] -Signed-off-by: Thomas Petazzoni ---- - config.tests/unix/alsa/alsatest.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config.tests/unix/alsa/alsatest.cpp b/config.tests/unix/alsa/alsatest.cpp -index cab6533977..0b45819b61 100644 ---- a/config.tests/unix/alsa/alsatest.cpp -+++ b/config.tests/unix/alsa/alsatest.cpp -@@ -32,7 +32,7 @@ - ****************************************************************************/ - - #include --#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10)) -+#if SND_LIB_VERSION < 0x1000a // 1.0.10 - #error "Alsa version found too old, require >= 1.0.10" - #endif - diff --git a/package/qt/0002-configure.patch b/package/qt/0002-configure.patch deleted file mode 100644 index 07c9630c90..0000000000 --- a/package/qt/0002-configure.patch +++ /dev/null @@ -1,52 +0,0 @@ -Fix -hostprefix behaviour - -When -hostprefix ./configure option is used, Qt installs all its -headers, libraries and binaries inside the given host prefix, instead -of the prefix. This is used by Buildroot to make sure that all Qt -libraries and headers are installed in $(STAGING_DIR). - -Qt ./configure script also allows to tune the installation location of -various elements, for examples the plugins through the -plugindir -option. Unfortunately, this option only impact the installation path -on the target, but not on the host when -hostprefix is used. - -This patch modifies Qt ./configure script so that HOST_*PATH_STR -variables are composed of the host prefix concatenated with the path -of installation on the target. This way, the plugin installation local -in the $(STAGING_DIR) and on the target remains the same. - -Signed-off-by: Thomas Petazzoni - ---- - configure | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -Index: qt-everywhere-opensource-src-4.8.1/configure -=================================================================== ---- qt-everywhere-opensource-src-4.8.1.orig/configure -+++ qt-everywhere-opensource-src-4.8.1/configure -@@ -4661,15 +4661,15 @@ - - - if [ ! -z "$QT_HOST_PREFIX" ]; then -- HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"` -- HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"` -- HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"` -- HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"` -- HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"` -- HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"` -- HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"` -- HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"` -- HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"` -+ HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX/$QT_INSTALL_PREFIX"` -+ HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/$QT_INSTALL_DOCS"` -+ HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/$QT_INSTALL_HEADERS"` -+ HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/$QT_INSTALL_LIBS"` -+ HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/$QT_INSTALL_BINS"` -+ HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/$QT_INSTALL_PLUGINS"` -+ HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/$QT_INSTALL_IMPORTS"` -+ HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX/$QT_INSTALL_DATA"` -+ HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/$QT_INSTALL_TRANSLATIONS"` - HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"` - HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"` - HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"` diff --git a/package/qt/0003-eglwsegl-use-system.patch b/package/qt/0003-eglwsegl-use-system.patch deleted file mode 100644 index cb3038138f..0000000000 --- a/package/qt/0003-eglwsegl-use-system.patch +++ /dev/null @@ -1,802 +0,0 @@ -Patch to remove obsolete powervr headers and instead use the headers provided -on the system. - -Signed-off-by: Spenser Gilliland ---- -Index: qt-4.8.5/src/3rdparty/powervr/pvr2d.h -=================================================================== ---- qt-4.8.5.orig/src/3rdparty/powervr/pvr2d.h 2013-07-08 11:24:33.010516867 -0500 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,502 +0,0 @@ --/*!**************************************************************************** --@File pvr2d.h --@Title PVR2D external header file --@Author Imagination Technologies --@Copyright Copyright (c) by Imagination Technologies Limited. -- This specification is protected by copyright laws and contains -- material proprietary to Imagination Technologies Limited. -- You may use and distribute this specification free of charge for implementing -- the functionality therein, without altering or removing any trademark, copyright, -- or other notice from the specification. --@Platform Generic --@Description PVR2D definitions for PVR2D clients --******************************************************************************/ -- -- --/****************************************************************************** --Modifications :- --$Log: pvr2d.h $ --******************************************************************************/ -- --#ifndef _PVR2D_H_ --#define _PVR2D_H_ -- --#ifdef __cplusplus --extern "C" { --#endif -- --/* PVR2D Platform-specific definitions */ --#define PVR2D_EXPORT --#define PVR2D_IMPORT -- -- --#define PVR2D_REV_MAJOR 2 --#define PVR2D_REV_MINOR 1 -- --typedef enum --{ -- PVR2D_FALSE = 0, -- PVR2D_TRUE --} PVR2D_BOOL; -- -- --/* error codes */ --typedef enum --{ -- PVR2D_OK = 0, -- PVR2DERROR_INVALID_PARAMETER = -1, -- PVR2DERROR_DEVICE_UNAVAILABLE = -2, -- PVR2DERROR_INVALID_CONTEXT = -3, -- PVR2DERROR_MEMORY_UNAVAILABLE = -4, -- PVR2DERROR_DEVICE_NOT_PRESENT = -5, -- PVR2DERROR_IOCTL_ERROR = -6, -- PVR2DERROR_GENERIC_ERROR = -7, -- PVR2DERROR_BLT_NOTCOMPLETE = -8, -- PVR2DERROR_HW_FEATURE_NOT_SUPPORTED = -9, -- PVR2DERROR_NOT_YET_IMPLEMENTED = -10, -- PVR2DERROR_MAPPING_FAILED = -11 --}PVR2DERROR; -- -- --/* pixel formats */ --typedef enum --{ -- PVR2D_1BPP = 0, -- PVR2D_RGB565, -- PVR2D_ARGB4444, -- PVR2D_RGB888, -- PVR2D_ARGB8888, -- PVR2D_ARGB1555, -- PVR2D_ALPHA8, -- PVR2D_ALPHA4, -- PVR2D_PAL2, -- PVR2D_PAL4, -- PVR2D_PAL8, -- PVR2D_VGAEMU -- --}PVR2DFORMAT; -- -- --/* wrap surface type */ --typedef enum --{ -- PVR2D_WRAPFLAG_NONCONTIGUOUS = 0, -- PVR2D_WRAPFLAG_CONTIGUOUS = 1, -- --}PVR2DWRAPFLAGS; -- --/* flags for control information of additional blits */ --typedef enum --{ -- PVR2D_BLIT_DISABLE_ALL = 0x0000, /* disable all additional controls */ -- PVR2D_BLIT_CK_ENABLE = 0x0001, /* enable colour key */ -- PVR2D_BLIT_GLOBAL_ALPHA_ENABLE = 0x0002, /* enable standard global alpha */ -- PVR2D_BLIT_PERPIXEL_ALPHABLEND_ENABLE = 0x0004, /* enable per-pixel alpha bleding */ -- PVR2D_BLIT_PAT_SURFACE_ENABLE = 0x0008, /* enable pattern surf (disable fill) */ -- PVR2D_BLIT_FULLY_SPECIFIED_ALPHA_ENABLE = 0x0010, /* enable fully specified alpha */ -- PVR2D_BLIT_ROT_90 = 0x0020, /* apply 90 degree rotation to the blt */ -- PVR2D_BLIT_ROT_180 = 0x0040, /* apply 180 degree rotation to the blt */ -- PVR2D_BLIT_ROT_270 = 0x0080, /* apply 270 degree rotation to the blt */ -- PVR2D_BLIT_COPYORDER_TL2BR = 0x0100, /* copy order overrides */ -- PVR2D_BLIT_COPYORDER_BR2TL = 0x0200, -- PVR2D_BLIT_COPYORDER_TR2BL = 0x0400, -- PVR2D_BLIT_COPYORDER_BL2TR = 0x0800, -- PVR2D_BLIT_COLKEY_SOURCE = 0x1000, /* Key colour is on the source surface */ -- PVR2D_BLIT_COLKEY_DEST = 0x2000 /* Key colour is on the destination surface */ -- --} PVR2DBLITFLAGS; -- --/* standard alpha-blending functions, AlphaBlendingFunc field of PVR2DBLTINFO */ --typedef enum --{ -- PVR2D_ALPHA_OP_SRC_DSTINV = 1, /* source alpha : Cdst = Csrc*Asrc + Cdst*(1-Asrc) */ -- PVR2D_ALPHA_OP_SRCP_DSTINV = 2 /* premultiplied source alpha : Cdst = Csrc + Cdst*(1-Asrc) */ --} PVR2D_ALPHABLENDFUNC; -- --/* blend ops for fully specified alpha */ --typedef enum --{ -- PVR2D_BLEND_OP_ZERO = 0, -- PVR2D_BLEND_OP_ONE = 1, -- PVR2D_BLEND_OP_SRC = 2, -- PVR2D_BLEND_OP_DST = 3, -- PVR2D_BLEND_OP_GLOBAL = 4, -- PVR2D_BLEND_OP_SRC_PLUS_GLOBAL = 5, -- PVR2D_BLEND_OP_DST_PLUS_GLOBAL = 6 --}PVR2D_BLEND_OP; -- -- --typedef void* PVR2D_HANDLE; -- -- --/* Fully specified alpha blend : pAlpha field of PVR2DBLTINFO structure */ --/* a fully specified Alpha Blend operation is defined as */ --/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (ALPHA_3 * DST (ALPHA)) */ --/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (ALPHA_4 * DST (RGB)) */ --/* if the pre-multiplication stage is enabled then the equations become the following: */ --/* PRE_MUL = ((SRC(A)) * (Global Alpha Value)) */ --/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (PRE_MUL * DST (ALPHA)) */ --/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (PRE_MUL * DST (RGB)) */ --/* if the transparent source alpha stage is enabled then a source alpha of zero forces the */ --/* source to be transparent for that pixel regardless of the blend equation being used. */ --typedef struct _PVR2D_ALPHABLT --{ -- PVR2D_BLEND_OP eAlpha1; -- PVR2D_BOOL bAlpha1Invert; -- PVR2D_BLEND_OP eAlpha2; -- PVR2D_BOOL bAlpha2Invert; -- PVR2D_BLEND_OP eAlpha3; -- PVR2D_BOOL bAlpha3Invert; -- PVR2D_BLEND_OP eAlpha4; -- PVR2D_BOOL bAlpha4Invert; -- PVR2D_BOOL bPremulAlpha; /* enable pre-multiplication stage */ -- PVR2D_BOOL bTransAlpha; /* enable transparent source alpha stage */ -- PVR2D_BOOL bUpdateAlphaLookup; /* enable and update the 1555-Lookup alpha table */ -- unsigned char uAlphaLookup0; /* 8 bit alpha when A=0 in a 1555-Lookup surface */ -- unsigned char uAlphaLookup1; /* 8 bit alpha when A=1 in a 1555-Lookup surface */ -- unsigned char uGlobalRGB; /* Global Alpha Value for RGB, 0=transparent 255=opaque */ -- unsigned char uGlobalA; /* Global Alpha Value for Alpha */ -- --} PVR2D_ALPHABLT, *PPVR2D_ALPHABLT; -- -- --/* surface memory info structure */ --typedef struct _PVR2DMEMINFO --{ -- void *pBase; -- unsigned long ui32MemSize; -- unsigned long ui32DevAddr; -- unsigned long ulFlags; -- void *hPrivateData; -- void *hPrivateMapData; -- --}PVR2DMEMINFO, *PPVR2DMEMINFO; -- -- --#define PVR2D_MAX_DEVICE_NAME 20 -- --typedef struct _PVR2DDEVICEINFO --{ -- unsigned long ulDevID; -- char szDeviceName[PVR2D_MAX_DEVICE_NAME]; --}PVR2DDEVICEINFO; -- -- --typedef struct _PVR2DISPLAYINFO --{ -- unsigned long ulMaxFlipChains; -- unsigned long ulMaxBuffersInChain; -- PVR2DFORMAT eFormat; -- unsigned long ulWidth; -- unsigned long ulHeight; -- long lStride; -- unsigned long ulMinFlipInterval; -- unsigned long ulMaxFlipInterval; -- --}PVR2DDISPLAYINFO; -- -- --typedef struct _PVR2DBLTINFO --{ -- unsigned long CopyCode; /* rop code */ -- unsigned long Colour; /* fill colour */ -- unsigned long ColourKey; /* colour key */ -- unsigned char GlobalAlphaValue; /* global alpha blending */ -- unsigned char AlphaBlendingFunc; /* per-pixel alpha-blending function */ -- -- PVR2DBLITFLAGS BlitFlags; /* additional blit control information */ -- -- PVR2DMEMINFO *pDstMemInfo; /* destination memory */ -- unsigned long DstOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */ -- long DstStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ -- long DstX, DstY; /* pixel offset from start of dest surface to start of blt rectangle */ -- long DSizeX,DSizeY; /* blt size */ -- PVR2DFORMAT DstFormat; /* dest format */ -- unsigned long DstSurfWidth; /* size of dest surface in pixels */ -- unsigned long DstSurfHeight; /* size of dest surface in pixels */ -- -- PVR2DMEMINFO *pSrcMemInfo; /* source mem, (source fields are also used for patterns) */ -- unsigned long SrcOffset; /* byte offset from start of allocation to src/pat surface pixel 0,0 */ -- long SrcStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ -- long SrcX, SrcY; /* pixel offset from start of surface to start of source rectangle */ -- /* for patterns this is the start offset within the pattern */ -- long SizeX,SizeY; /* source rectangle size or pattern size in pixels */ -- PVR2DFORMAT SrcFormat; /* source/pattern format */ -- PVR2DMEMINFO *pPalMemInfo; /* source/pattern palette memory containing argb8888 colour table */ -- unsigned long PalOffset; /* byte offset from start of allocation to start of palette */ -- unsigned long SrcSurfWidth; /* size of source surface in pixels */ -- unsigned long SrcSurfHeight; /* size of source surface in pixels */ -- -- PVR2DMEMINFO *pMaskMemInfo; /* mask memory, 1bpp format implied */ -- unsigned long MaskOffset; /* byte offset from start of allocation to mask surface pixel 0,0 */ -- long MaskStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ -- long MaskX, MaskY; /* mask rect top left (mask size = blt size) */ -- unsigned long MaskSurfWidth; /* size of mask surface in pixels */ -- unsigned long MaskSurfHeight; /* size of mask surface in pixels */ -- -- PPVR2D_ALPHABLT pAlpha; /* fully specified alpha blend */ -- --}PVR2DBLTINFO, *PPVR2DBLTINFO; -- --typedef struct _PVR2DRECT --{ -- long left, top; -- long right, bottom; --} PVR2DRECT; -- --typedef struct --{ -- PVR2DMEMINFO *pSurfMemInfo; /* surface memory */ -- unsigned long SurfOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */ -- long Stride; /* signed stride */ -- PVR2DFORMAT Format; -- unsigned long SurfWidth; /* surface size in pixels */ -- unsigned long SurfHeight; -- --} PVR2D_SURFACE, *PPVR2D_SURFACE; -- --typedef struct --{ -- unsigned long *pUseCode; /* USSE code */ -- unsigned long UseCodeSize; /* usse code size in bytes */ -- --} PVR2D_USECODE, *PPVR2D_USECODE; -- --typedef struct --{ -- PVR2D_SURFACE sDst; /* destination surface */ -- PVR2D_SURFACE sSrc; /* source surface */ -- PVR2DRECT rcDest; /* destination rectangle */ -- PVR2DRECT rcSource; /* source rectangle */ -- PVR2D_HANDLE hUseCode; /* custom USE code (NULL implies source copy) */ -- unsigned long UseParams[2]; /* per-blt params for use code */ -- --} PVR2D_3DBLT, *PPVR2D_3DBLT; -- -- --#define MAKE_COPY_BLIT(src,soff,dest,doff,sx,sy,dx,dy,sz) -- --typedef void* PVR2DCONTEXTHANDLE; --typedef void* PVR2DFLIPCHAINHANDLE; -- -- --// CopyCode field of PVR2DBLTINFO structure: --// the CopyCode field of the PVR2DBLTINFO structure should contain a rop3 or rop4 code. --// a rop3 is an 8 bit code that describes a blt with three inputs : source dest and pattern --// rop4 is a 16 bit code that describes a blt with four inputs : source dest pattern and mask --// common rop3 codes are defined below --// a colour fill blt is processed in the pattern channel as a constant colour with a rop code of 0xF0 --// PVR2D_BLIT_PAT_SURFACE_ENABLE defines whether the pattern channel is a surface or a fill colour. --// a rop4 is defined by two rop3 codes, and the 1 bit-per-pixel mask surface defines which is used. --// a common rop4 is 0xAAF0 which is the mask copy blt used for text glyphs. --// CopyCode is taken to be a rop4 when pMaskMemInfo is non zero, otherwise it is assumed to be a rop3 --// use the PVR2DMASKROP4 macro below to construct a rop4 from two rop3's --// rop3a is the rop used when mask pixel = 1, and rop3b when mask = 0 --#define PVR2DROP4(rop3b, rop3a) ((rop3b<<8)|rop3a) -- --/* common rop codes */ --#define PVR2DROPclear 0x00 /* 0 (whiteness) */ --#define PVR2DROPset 0xFF /* 1 (blackness) */ --#define PVR2DROPnoop 0xAA /* dst (used for masked blts) */ -- --/* source and dest rop codes */ --#define PVR2DROPand 0x88 /* src AND dst */ --#define PVR2DROPandReverse 0x44 /* src AND NOT dst */ --#define PVR2DROPcopy 0xCC /* src (used for source copy and alpha blts) */ --#define PVR2DROPandInverted 0x22 /* NOT src AND dst */ --#define PVR2DROPxor 0x66 /* src XOR dst */ --#define PVR2DROPor 0xEE /* src OR dst */ --#define PVR2DROPnor 0x11 /* NOT src AND NOT dst */ --#define PVR2DROPequiv 0x99 /* NOT src XOR dst */ --#define PVR2DROPinvert 0x55 /* NOT dst */ --#define PVR2DROPorReverse 0xDD /* src OR NOT dst */ --#define PVR2DROPcopyInverted 0x33 /* NOT src */ --#define PVR2DROPorInverted 0xBB /* NOT src OR dst */ --#define PVR2DROPnand 0x77 /* NOT src OR NOT dst */ -- --/* pattern rop codes */ --#define PVR2DPATROPand 0xA0 /* pat AND dst */ --#define PVR2DPATROPandReverse 0x50 /* pat AND NOT dst */ --#define PVR2DPATROPcopy 0xF0 /* pat (used for solid color fills and pattern blts) */ --#define PVR2DPATROPandInverted 0x0A /* NOT pat AND dst */ --#define PVR2DPATROPxor 0x5A /* pat XOR dst */ --#define PVR2DPATROPor 0xFA /* pat OR dst */ --#define PVR2DPATROPnor 0x05 /* NOT pat AND NOT dst */ --#define PVR2DPATROPequiv 0xA5 /* NOT pat XOR dst */ --#define PVR2DPATROPinvert 0x55 /* NOT dst */ --#define PVR2DPATROPorReverse 0xF5 /* pat OR NOT dst */ --#define PVR2DPATROPcopyInverted 0x0F /* NOT pat */ --#define PVR2DPATROPorInverted 0xAF /* NOT pat OR dst */ --#define PVR2DPATROPnand 0x5F /* NOT pat OR NOT dst */ -- --/* common rop4 codes */ --#define PVR2DROP4MaskedCopy PVR2DROP4(PVR2DROPnoop,PVR2DROPcopy) /* masked source copy blt (used for rounded window corners etc) */ --#define PVR2DROP4MaskedFill PVR2DROP4(PVR2DROPnoop,PVR2DPATROPcopy) /* masked colour fill blt (used for text) */ -- --/* Legacy support */ --#define PVR2DROP3_PATMASK PVR2DPATROPcopy --#define PVR2DROP3_SRCMASK PVR2DROPcopy -- --/* pixmap memory alignment */ --#define PVR2D_ALIGNMENT_4 4 /* DWORD alignment */ --#define PVR2D_ALIGNMENT_ANY 0 /* no alignment */ --#define PVR2D_ALIGNMENT_PALETTE 16 /* 16 byte alignment is required for palettes */ -- --/* Heap number for PVR2DGetFrameBuffer */ --#define PVR2D_FB_PRIMARY_SURFACE 0 -- --#define PVR2D_PRESENT_PROPERTY_SRCSTRIDE (1 << 0) --#define PVR2D_PRESENT_PROPERTY_DSTSIZE (1 << 1) --#define PVR2D_PRESENT_PROPERTY_DSTPOS (1 << 2) --#define PVR2D_PRESENT_PROPERTY_CLIPRECTS (1 << 3) --#define PVR2D_PRESENT_PROPERTY_INTERVAL (1 << 4) -- -- --#define PVR2D_CREATE_FLIPCHAIN_SHARED (1 << 0) --#define PVR2D_CREATE_FLIPCHAIN_QUERY (1 << 1) -- --/* Functions that the library exports */ -- --PVR2D_IMPORT --int PVR2DEnumerateDevices(PVR2DDEVICEINFO *pDevInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DCreateDeviceContext(unsigned long ulDevID, -- PVR2DCONTEXTHANDLE* phContext, -- unsigned long ulFlags); -- --PVR2D_IMPORT --PVR2DERROR PVR2DDestroyDeviceContext(PVR2DCONTEXTHANDLE hContext); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetDeviceInfo(PVR2DCONTEXTHANDLE hContext, -- PVR2DDISPLAYINFO *pDisplayInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetScreenMode(PVR2DCONTEXTHANDLE hContext, -- PVR2DFORMAT *pFormat, -- long *plWidth, -- long *plHeight, -- long *plStride, -- int *piRefreshRate); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetFrameBuffer(PVR2DCONTEXTHANDLE hContext, -- int nHeap, -- PVR2DMEMINFO **ppsMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemAlloc(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulBytes, -- unsigned long ulAlign, -- unsigned long ulFlags, -- PVR2DMEMINFO **ppsMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemWrap(PVR2DCONTEXTHANDLE hContext, -- void *pMem, -- unsigned long ulFlags, -- unsigned long ulBytes, -- unsigned long alPageAddress[], -- PVR2DMEMINFO **ppsMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemMap(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulFlags, -- void *hPrivateMapData, -- PVR2DMEMINFO **ppsDstMem); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemFree(PVR2DCONTEXTHANDLE hContext, -- PVR2DMEMINFO *psMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DBlt(PVR2DCONTEXTHANDLE hContext, -- PVR2DBLTINFO *pBltInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DBltClipped(PVR2DCONTEXTHANDLE hContext, -- PVR2DBLTINFO *pBltInfo, -- unsigned long ulNumClipRects, -- PVR2DRECT *pClipRects); -- --PVR2D_IMPORT --PVR2DERROR PVR2DQueryBlitsComplete(PVR2DCONTEXTHANDLE hContext, -- PVR2DMEMINFO *pMemInfo, -- unsigned int uiWaitForComplete); -- --PVR2D_IMPORT --PVR2DERROR PVR2DSetPresentBltProperties(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulPropertyMask, -- long lSrcStride, -- unsigned long ulDstWidth, -- unsigned long ulDstHeight, -- long lDstXPos, -- long lDstYPos, -- unsigned long ulNumClipRects, -- PVR2DRECT *pClipRects, -- unsigned long ulSwapInterval); -- --PVR2D_IMPORT --PVR2DERROR PVR2DPresentBlt(PVR2DCONTEXTHANDLE hContext, -- PVR2DMEMINFO *pMemInfo, -- long lRenderID); -- --PVR2D_IMPORT --PVR2DERROR PVR2DCreateFlipChain(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulFlags, -- unsigned long ulNumBuffers, -- unsigned long ulWidth, -- unsigned long ulHeight, -- PVR2DFORMAT eFormat, -- long *plStride, -- unsigned long *pulFlipChainID, -- PVR2DFLIPCHAINHANDLE *phFlipChain); -- --PVR2D_IMPORT --PVR2DERROR PVR2DDestroyFlipChain(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetFlipChainBuffers(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain, -- unsigned long *pulNumBuffers, -- PVR2DMEMINFO *psMemInfo[]); -- --PVR2D_IMPORT --PVR2DERROR PVR2DSetPresentFlipProperties(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain, -- unsigned long ulPropertyMask, -- long lDstXPos, -- long lDstYPos, -- unsigned long ulNumClipRects, -- PVR2DRECT *pClipRects, -- unsigned long ulSwapInterval); -- --PVR2D_IMPORT --PVR2DERROR PVR2DPresentFlip(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain, -- PVR2DMEMINFO *psMemInfo, -- long lRenderID); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetAPIRev(long *lRevMajor, long *lRevMinor); -- --PVR2D_IMPORT --PVR2DERROR PVR2DLoadUseCode (const PVR2DCONTEXTHANDLE hContext, const unsigned char *pUseCode, -- const unsigned long UseCodeSize, PVR2D_HANDLE *pUseCodeHandle); --PVR2D_IMPORT --PVR2DERROR PVR2DFreeUseCode (const PVR2DCONTEXTHANDLE hContext, const PVR2D_HANDLE hUseCodeHandle); -- --PVR2D_IMPORT --PVR2DERROR PVR2DBlt3D (const PVR2DCONTEXTHANDLE hContext, const PPVR2D_3DBLT pBlt3D); -- --#ifdef __cplusplus --} --#endif -- --#endif /* _PVR2D_H_ */ -- --/****************************************************************************** -- End of file (pvr2d.h) --******************************************************************************/ -Index: qt-4.8.5/src/3rdparty/powervr/wsegl.h -=================================================================== ---- qt-4.8.5.orig/src/3rdparty/powervr/wsegl.h 2013-07-08 11:24:33.010516867 -0500 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,240 +0,0 @@ --/****************************************************************************** -- Name : wsegl.h -- Copyright : Copyright (c) Imagination Technologies Limited. -- This specification is protected by copyright laws and contains -- material proprietary to Imagination Technologies Limited. -- You may use and distribute this specification free of charge for implementing -- the functionality therein, without altering or removing any trademark, copyright, -- or other notice from the specification. -- Platform : ANSI --*****************************************************************************/ -- -- --#if !defined(__WSEGL_H__) --#define __WSEGL_H__ -- --#ifdef __cplusplus --extern "C" { --#endif -- --/* --// WSEGL Platform-specific definitions --*/ --#define WSEGL_EXPORT --#define WSEGL_IMPORT -- --/* --// WSEGL API Version Number --*/ -- --#define WSEGL_VERSION 1 --#define WSEGL_DEFAULT_DISPLAY 0 --#define WSEGL_DEFAULT_NATIVE_ENGINE 0 -- --#define WSEGL_FALSE 0 --#define WSEGL_TRUE 1 --#define WSEGL_NULL 0 -- --#define WSEGL_UNREFERENCED_PARAMETER(param) (param) = (param) -- --/* --// WSEGL handles --*/ --typedef void *WSEGLDisplayHandle; --typedef void *WSEGLDrawableHandle; -- --/* --// Display capability type --*/ --typedef enum WSEGLCapsType_TAG --{ -- WSEGL_NO_CAPS = 0, -- WSEGL_CAP_MIN_SWAP_INTERVAL = 1, /* System default value = 1 */ -- WSEGL_CAP_MAX_SWAP_INTERVAL = 2, /* System default value = 1 */ -- WSEGL_CAP_WINDOWS_USE_HW_SYNC = 3, /* System default value = 0 (FALSE) */ -- WSEGL_CAP_PIXMAPS_USE_HW_SYNC = 4, /* System default value = 0 (FALSE) */ -- --} WSEGLCapsType; -- --/* --// Display capability --*/ --typedef struct WSEGLCaps_TAG --{ -- WSEGLCapsType eCapsType; -- unsigned long ui32CapsValue; -- --} WSEGLCaps; -- --/* --// Drawable type --*/ --#define WSEGL_NO_DRAWABLE 0x0 --#define WSEGL_DRAWABLE_WINDOW 0x1 --#define WSEGL_DRAWABLE_PIXMAP 0x2 -- -- --/* --// Pixel format of display/drawable --*/ --typedef enum WSEGLPixelFormat_TAG --{ -- WSEGL_PIXELFORMAT_565 = 0, -- WSEGL_PIXELFORMAT_4444 = 1, -- WSEGL_PIXELFORMAT_8888 = 2, -- WSEGL_PIXELFORMAT_1555 = 3 -- --} WSEGLPixelFormat; -- --/* --// Transparent of display/drawable --*/ --typedef enum WSEGLTransparentType_TAG --{ -- WSEGL_OPAQUE = 0, -- WSEGL_COLOR_KEY = 1, -- --} WSEGLTransparentType; -- --/* --// Display/drawable configuration --*/ --typedef struct WSEGLConfig_TAG --{ -- /* -- // Type of drawables this configuration applies to - -- // OR'd values of drawable types. -- */ -- unsigned long ui32DrawableType; -- -- /* Pixel format */ -- WSEGLPixelFormat ePixelFormat; -- -- /* Native Renderable - set to WSEGL_TRUE if native renderable */ -- unsigned long ulNativeRenderable; -- -- /* FrameBuffer Level Parameter */ -- unsigned long ulFrameBufferLevel; -- -- /* Native Visual ID */ -- unsigned long ulNativeVisualID; -- -- /* Native Visual */ -- void *hNativeVisual; -- -- /* Transparent Type */ -- WSEGLTransparentType eTransparentType; -- -- /* Transparent Color - only used if transparent type is COLOR_KEY */ -- unsigned long ulTransparentColor; /* packed as 0x00RRGGBB */ -- -- --} WSEGLConfig; -- --/* --// WSEGL errors --*/ --typedef enum WSEGLError_TAG --{ -- WSEGL_SUCCESS = 0, -- WSEGL_CANNOT_INITIALISE = 1, -- WSEGL_BAD_NATIVE_DISPLAY = 2, -- WSEGL_BAD_NATIVE_WINDOW = 3, -- WSEGL_BAD_NATIVE_PIXMAP = 4, -- WSEGL_BAD_NATIVE_ENGINE = 5, -- WSEGL_BAD_DRAWABLE = 6, -- WSEGL_BAD_CONFIG = 7, -- WSEGL_OUT_OF_MEMORY = 8 -- --} WSEGLError; -- --/* --// Drawable orientation (in degrees anti-clockwise) --*/ --typedef enum WSEGLRotationAngle_TAG --{ -- WSEGL_ROTATE_0 = 0, -- WSEGL_ROTATE_90 = 1, -- WSEGL_ROTATE_180 = 2, -- WSEGL_ROTATE_270 = 3 -- --} WSEGLRotationAngle; -- --/* --// Drawable information required by OpenGL-ES driver --*/ --typedef struct WSEGLDrawableParams_TAG --{ -- /* Width in pixels of the drawable */ -- unsigned long ui32Width; -- -- /* Height in pixels of the drawable */ -- unsigned long ui32Height; -- -- /* Stride in pixels of the drawable */ -- unsigned long ui32Stride; -- -- /* Pixel format of the drawable */ -- WSEGLPixelFormat ePixelFormat; -- -- /* User space cpu virtual address of the drawable */ -- void *pvLinearAddress; -- -- /* HW address of the drawable */ -- unsigned long ui32HWAddress; -- -- /* Private data for the drawable */ -- void *hPrivateData; -- --} WSEGLDrawableParams; -- -- --/* --// Table of function pointers that is returned by WSEGL_GetFunctionTablePointer() --// --// The first entry in the table is the version number of the wsegl.h header file that --// the module has been written against, and should therefore be set to WSEGL_VERSION --*/ --typedef struct WSEGL_FunctionTable_TAG --{ -- unsigned long ui32WSEGLVersion; -- -- WSEGLError (*pfnWSEGL_IsDisplayValid)(NativeDisplayType); -- -- WSEGLError (*pfnWSEGL_InitialiseDisplay)(NativeDisplayType, WSEGLDisplayHandle *, const WSEGLCaps **, WSEGLConfig **); -- -- WSEGLError (*pfnWSEGL_CloseDisplay)(WSEGLDisplayHandle); -- -- WSEGLError (*pfnWSEGL_CreateWindowDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativeWindowType, WSEGLRotationAngle *); -- -- WSEGLError (*pfnWSEGL_CreatePixmapDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativePixmapType, WSEGLRotationAngle *); -- -- WSEGLError (*pfnWSEGL_DeleteDrawable)(WSEGLDrawableHandle); -- -- WSEGLError (*pfnWSEGL_SwapDrawable)(WSEGLDrawableHandle, unsigned long); -- -- WSEGLError (*pfnWSEGL_SwapControlInterval)(WSEGLDrawableHandle, unsigned long); -- -- WSEGLError (*pfnWSEGL_WaitNative)(WSEGLDrawableHandle, unsigned long); -- -- WSEGLError (*pfnWSEGL_CopyFromDrawable)(WSEGLDrawableHandle, NativePixmapType); -- -- WSEGLError (*pfnWSEGL_CopyFromPBuffer)(void *, unsigned long, unsigned long, unsigned long, WSEGLPixelFormat, NativePixmapType); -- -- WSEGLError (*pfnWSEGL_GetDrawableParameters)(WSEGLDrawableHandle, WSEGLDrawableParams *, WSEGLDrawableParams *); -- -- --} WSEGL_FunctionTable; -- -- --WSEGL_IMPORT const WSEGL_FunctionTable *WSEGL_GetFunctionTablePointer(void); -- --#ifdef __cplusplus --} --#endif -- --#endif /* __WSEGL_H__ */ -- --/****************************************************************************** -- End of file (wsegl.h) --******************************************************************************/ -Index: qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c -=================================================================== ---- qt-4.8.5.orig/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:24:33.010516867 -0500 -+++ qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:28:26.142521123 -0500 -@@ -39,7 +39,7 @@ - ** - ****************************************************************************/ - --#include -+#include - #include - #include - #include -@@ -379,6 +379,20 @@ - return WSEGL_SUCCESS; - } - -+/* Function stub for ConnectDrawable() */ -+static WSEGLError wseglConnectDrawable(WSEGLDrawableHandle hDrawable) -+{ -+ WSEGL_UNREFERENCED_PARAMETER(hDrawable); -+ return WSEGL_SUCCESS; -+} -+ -+/* Function stub for DisconnectDrawable() */ -+static WSEGLError wseglDisconnectDrawable(WSEGLDrawableHandle hDrawable) -+{ -+ WSEGL_UNREFERENCED_PARAMETER(hDrawable); -+ return WSEGL_SUCCESS; -+} -+ - static WSEGL_FunctionTable const wseglFunctions = { - WSEGL_VERSION, - wseglIsDisplayValid, -@@ -392,7 +406,9 @@ - wseglWaitNative, - wseglCopyFromDrawable, - wseglCopyFromPBuffer, -- wseglGetDrawableParameters -+ wseglGetDrawableParameters, -+ wseglConnectDrawable, -+ wseglDisconnectDrawable - }; - - /* Return the table of WSEGL functions to the EGL implementation */ diff --git a/package/qt/0004-fix-const-atomics.patch b/package/qt/0004-fix-const-atomics.patch deleted file mode 100644 index 64853565e8..0000000000 --- a/package/qt/0004-fix-const-atomics.patch +++ /dev/null @@ -1,50 +0,0 @@ -From d4d07dac01796b2aa0fb501c14865cab7e42b3a9 Mon Sep 17 00:00:00 2001 -From: Mischa Jonker -Date: Sun, 4 Nov 2012 11:42:04 +0100 -Subject: [PATCH] Fix const-related build error in generic atomic ops - -It's still not entirely const-correct though. In all other architectures -this is obfuscated through the use of inline asm (which the compiler -doesn't check). This patch obfuscates through const_cast ---- - src/corelib/arch/generic/qatomic_generic_unix.cpp | 8 ++++---- - src/corelib/arch/qatomic_generic.h | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/corelib/arch/generic/qatomic_generic_unix.cpp b/src/corelib/arch/generic/qatomic_generic_unix.cpp -index 1c6cbf0..6fce81d 100644 ---- a/src/corelib/arch/generic/qatomic_generic_unix.cpp -+++ b/src/corelib/arch/generic/qatomic_generic_unix.cpp -@@ -85,13 +85,13 @@ int QBasicAtomicInt_fetchAndAddOrdered(volatile int *_q_value, int valueToAdd) - - Q_CORE_EXPORT - bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value, -- void *expectedValue, -- void *newValue) -+ const void *expectedValue, -+ const void *newValue) - { - bool returnValue = false; - pthread_mutex_lock(&qAtomicMutex); - if (*_q_value == expectedValue) { -- *_q_value = newValue; -+ *_q_value = const_cast(newValue); - returnValue = true; - } - pthread_mutex_unlock(&qAtomicMutex); -diff --git a/src/corelib/arch/qatomic_generic.h b/src/corelib/arch/qatomic_generic.h -index 621a767..4c14679 100644 ---- a/src/corelib/arch/qatomic_generic.h -+++ b/src/corelib/arch/qatomic_generic.h -@@ -105,7 +105,7 @@ Q_CORE_EXPORT bool QBasicAtomicInt_testAndSetOrdered(volatile int *, int, int); - Q_CORE_EXPORT int QBasicAtomicInt_fetchAndStoreOrdered(volatile int *, int); - Q_CORE_EXPORT int QBasicAtomicInt_fetchAndAddOrdered(volatile int *, int); - --Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, void *, void *); -+Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, const void *, const void *); - Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *); - Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff); - --- -1.7.0.4 - diff --git a/package/qt/0005-pthread_getattr_np.patch b/package/qt/0005-pthread_getattr_np.patch deleted file mode 100644 index 28f0c8411b..0000000000 --- a/package/qt/0005-pthread_getattr_np.patch +++ /dev/null @@ -1,107 +0,0 @@ -Add pthred_getattr_np / phread_attr_getstrack alternatives for uClibc - -Based on https://dev.openwrt.org/log/packages/Xorg/lib/qt4/patches/100-fix-webkit-for-uclibc.patch?rev=20371 - -Signed-off-by: Johan Sagaert ---- - src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 61 ++++++++++ - 1 file changed, 61 insertions(+) - -Index: qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -=================================================================== ---- qt-everywhere-opensource-src-4.8.1.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -+++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -@@ -70,6 +70,23 @@ - #endif - #include - -+#if defined(QT_LINUXBASE) -+#include -+#endif -+ -+#if defined(__UCLIBC__) -+// versions of uClibc 0.9.32 and below with linuxthreads.old do not have -+// pthread_getattr_np or pthread_attr_getstack. -+#if __UCLIBC_MAJOR__ == 0 && \ -+ (__UCLIBC_MINOR__ < 9 || \ -+ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ <= 32)) && \ -+ defined(__LINUXTHREADS_OLD__) -+#define UCLIBC_USE_PROC_SELF_MAPS 1 -+#include -+extern int *__libc_stack_end; -+#endif -+#endif -+ - #if OS(SOLARIS) - #include - #else -@@ -648,6 +665,37 @@ - get_thread_info(find_thread(NULL), &threadInfo); - return threadInfo.stack_end; - #elif OS(UNIX) -+#ifdef UCLIBC_USE_PROC_SELF_MAPS -+ // Read /proc/self/maps and locate the line whose address -+ // range contains __libc_stack_end. -+ FILE *file = fopen("/proc/self/maps", "r"); -+ if (!file) -+ return 0; -+ __fsetlocking(file, FSETLOCKING_BYCALLER); -+ char *line = NULL; -+ size_t lineLen = 0; -+ while (!feof_unlocked(file)) { -+ if (getdelim(&line, &lineLen, '\n', file) <= 0) -+ break; -+ -+ long from; -+ long to; -+ if (sscanf (line, "%lx-%lx", &from, &to) != 2) -+ continue; -+ if (from <= (long)__libc_stack_end && (long)__libc_stack_end < to) { -+ fclose(file); -+ free(line); -+#ifdef _STACK_GROWS_UP -+ return (void *)from; -+#else -+ return (void *)to; -+#endif -+ } -+ } -+ fclose(file); -+ free(line); -+ return 0; -+#else - AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex); - MutexLocker locker(mutex); - static void* stackBase = 0; -@@ -655,11 +703,23 @@ - static pthread_t stackThread; - pthread_t thread = pthread_self(); - if (stackBase == 0 || thread != stackThread) { -+ -+#if defined(QT_LINUXBASE) -+ // LinuxBase is missing pthread_getattr_np - resolve it once at runtime instead -+ // see http://bugs.linuxbase.org/show_bug.cgi?id=2364 -+ typedef int (*GetAttrPtr)(pthread_t, pthread_attr_t *); -+ static int (*pthread_getattr_np_ptr)(pthread_t, pthread_attr_t *) = 0; -+ if (!pthread_getattr_np_ptr) -+ *(void **)&pthread_getattr_np_ptr = dlsym(RTLD_DEFAULT, "pthread_getattr_np"); -+#endif - pthread_attr_t sattr; - pthread_attr_init(&sattr); - #if HAVE(PTHREAD_NP_H) || OS(NETBSD) - // e.g. on FreeBSD 5.4, neundorf@kde.org - pthread_attr_get_np(thread, &sattr); -+#elif defined(QT_LINUXBASE) -+ if (pthread_getattr_np_ptr) -+ pthread_getattr_np_ptr(thread, &sattr); - #else - // FIXME: this function is non-portable; other POSIX systems may have different np alternatives - pthread_getattr_np(thread, &sattr); -@@ -671,6 +731,7 @@ - stackThread = thread; - } - return static_cast(stackBase) + stackSize; -+#endif - #else - #error Need a way to get the stack base on this platform - #endif diff --git a/package/qt/0006-script-qtdbus-no-gui.patch b/package/qt/0006-script-qtdbus-no-gui.patch deleted file mode 100644 index e29e9e4a1b..0000000000 --- a/package/qt/0006-script-qtdbus-no-gui.patch +++ /dev/null @@ -1,22 +0,0 @@ -[PATCH] fix build with script+dbus enabled, but no gui - -The script/qtdbus plugin doesn't need gui support, so don't try to -link it against libQtGui. - -Signed-off-by: Peter Korsgaard ---- - src/plugins/script/qtdbus/qtdbus.pro | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro -=================================================================== ---- qt-4.7.3.orig/src/plugins/script/qtdbus/qtdbus.pro -+++ qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro -@@ -1,6 +1,6 @@ - TARGET = qtscriptdbus - include(../../qpluginbase.pri) --QT = core gui script -+QT = core script - CONFIG += qdbus - - SOURCES += main.cpp diff --git a/package/qt/0007-Add-initial-support-of-ARC-architecture.patch b/package/qt/0007-Add-initial-support-of-ARC-architecture.patch deleted file mode 100644 index 4470d3b0df..0000000000 --- a/package/qt/0007-Add-initial-support-of-ARC-architecture.patch +++ /dev/null @@ -1,183 +0,0 @@ -From a695eec2ef21240bbc6cd8cd1bdbab76f8da8dfd Mon Sep 17 00:00:00 2001 -From: Vineet Gupta -Date: Wed, 20 May 2015 10:37:25 +0300 -Subject: [PATCH 1/2] Add initial support of ARC architecture - -DesignWare ARC 700 and ARC HS38 are families of 32-bit CPUs -developed by Synopsys, Inc. - -This change implements following: - [1] Defines ARC as one embedded targets - [2] Defines default tools prefixed for ARC like - arc-linux-g++ etc - [3] Defines "inotify" syscall numbers for ARC - (note ARC fully compliant to Linux UAPI headers) - [4] Disables 16-bit aligned data access - -For now we're using generic atomic ops even though it may -introduce performance panalty. - -Change-Id: I91e879ac55c2f3643a544f97cd59671a81ccc3c2 - -This patch was submited in upstream Qt4 and if it ever gets accepted, -it should be removed from Buildroot. - -https://codereview.qt-project.org/#/c/112667 ---- - configure | 6 ++++ - mkspecs/qws/linux-arc-g++/qmake.conf | 21 ++++++++++++++ - mkspecs/qws/linux-arc-g++/qplatformdefs.h | 42 +++++++++++++++++++++++++++ - src/corelib/arch/qatomic_arch.h | 2 ++ - src/corelib/io/qfilesystemwatcher_inotify.cpp | 5 ++++ - src/gui/painting/qblendfunctions.cpp | 4 +-- - 6 files changed, 78 insertions(+), 2 deletions(-) - create mode 100644 mkspecs/qws/linux-arc-g++/qmake.conf - create mode 100644 mkspecs/qws/linux-arc-g++/qplatformdefs.h - -diff --git a/configure b/configure -index 10ad7ca..c7ef074 100755 ---- a/configure -+++ b/configure -@@ -2829,6 +2829,9 @@ if [ "$CFG_EMBEDDED" != "no" ]; then - *86_64) - CFG_EMBEDDED=x86_64 - ;; -+ *arc) -+ CFG_EMBEDDED=arc -+ ;; - *) - CFG_EMBEDDED=generic - ;; -@@ -3309,6 +3312,9 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then - arm*) - CFG_ARCH=arm - ;; -+ arc) -+ CFG_ARCH=arc -+ ;; - *) - CFG_ARCH="$CFG_EMBEDDED" - ;; -diff --git a/mkspecs/qws/linux-arc-g++/qmake.conf b/mkspecs/qws/linux-arc-g++/qmake.conf -new file mode 100644 -index 0000000..a14587b ---- /dev/null -+++ b/mkspecs/qws/linux-arc-g++/qmake.conf -@@ -0,0 +1,21 @@ -+# -+# qmake configuration for building with arc-linux-g++ -+# -+ -+include(../../common/linux.conf) -+include(../../common/gcc-base-unix.conf) -+include(../../common/g++-unix.conf) -+include(../../common/qws.conf) -+ -+# modifications to g++.conf -+QMAKE_CC = arc-linux-gcc -+QMAKE_CXX = arc-linux-g++ -+QMAKE_LINK = arc-linux-g++ -+QMAKE_LINK_SHLIB = arc-linux-g++ -+ -+# modifications to linux.conf -+QMAKE_AR = arc-linux-ar cqs -+QMAKE_OBJCOPY = arc-linux-objcopy -+QMAKE_STRIP = arc-linux-strip -+ -+load(qt_config) -diff --git a/mkspecs/qws/linux-arc-g++/qplatformdefs.h b/mkspecs/qws/linux-arc-g++/qplatformdefs.h -new file mode 100644 -index 0000000..a654aa7 ---- /dev/null -+++ b/mkspecs/qws/linux-arc-g++/qplatformdefs.h -@@ -0,0 +1,42 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2015 The Qt Company Ltd. -+** Contact: http://www.qt.io/licensing/ -+** -+** This file is part of the qmake spec of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see http://www.qt.io/terms-conditions. For further -+** information use the contact form at http://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 or version 3 as published by the Free -+** Software Foundation and appearing in the file LICENSE.LGPLv21 and -+** LICENSE.LGPLv3 included in the packaging of this file. Please review the -+** following information to ensure the GNU Lesser General Public License -+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** As a special exception, The Qt Company gives you certain additional -+** rights. These rights are described in The Qt Company LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include "../../linux-g++/qplatformdefs.h" -diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h -index d154b7e..a48c42a 100644 ---- a/src/corelib/arch/qatomic_arch.h -+++ b/src/corelib/arch/qatomic_arch.h -@@ -94,6 +94,8 @@ QT_BEGIN_HEADER - # include "QtCore/qatomic_sh4a.h" - #elif defined(QT_ARCH_NACL) - # include "QtCore/qatomic_generic.h" -+#elif defined(QT_ARCH_ARC) -+# include "QtCore/qatomic_generic.h" - #else - # error "Qt has not been ported to this architecture" - #endif -diff --git a/src/corelib/io/qfilesystemwatcher_inotify.cpp b/src/corelib/io/qfilesystemwatcher_inotify.cpp -index 8bca422..e3e2565 100644 ---- a/src/corelib/io/qfilesystemwatcher_inotify.cpp -+++ b/src/corelib/io/qfilesystemwatcher_inotify.cpp -@@ -143,6 +143,11 @@ - # define __NR_inotify_add_watch 27 - # define __NR_inotify_rm_watch 28 - // no inotify_init for aarch64 -+#elif defined (__arc__) -+# define __NR_inotify_init 1043 -+# define __NR_inotify_add_watch 27 -+# define __NR_inotify_rm_watch 28 -+# define __NR_inotify_init1 26 - #else - # error "This architecture is not supported. Please talk to qt-bugs@trolltech.com" - #endif -diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp -index de8790a..cc2f5b6 100644 ---- a/src/gui/painting/qblendfunctions.cpp -+++ b/src/gui/painting/qblendfunctions.cpp -@@ -309,9 +309,9 @@ template void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl, - const uchar *src = srcPixels + y * sbpl; - const uchar *srcEnd = src + srcOffset; - while (src < srcEnd) { --#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_)) -+#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_)) || defined(QT_ARCH_ARC) - // non-16-bit aligned memory access is not possible on PowerPC, -- // ARM -Date: Wed, 20 May 2015 10:53:59 +0300 -Subject: [PATCH 2/2] Prevent unaligned access on ARC - -As many other architectures ARC cores by default don't support -unaligned word access to data. - -Even though it's possible to enable unaligned access to data in -ARC HS38 core (we're talking about configuration of core design) -to make sure Qt could be executed on any flavour of ARC fall-back -to byte-accesses is used. - -Change-Id: I96068d40b449f11ba987ed1e5d5e44f493d1eb5f - -This patch was submited in upstream Qt4 and if it ever gets accepted, -it should be removed from Buildroot. - -https://codereview.qt-project.org/#/c/112668 ---- - src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h | 2 +- - src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h | 13 ++++++++++++- - .../webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp | 2 +- - .../webkit/Source/JavaScriptCore/wtf/text/StringHash.h | 2 +- - 4 files changed, 15 insertions(+), 4 deletions(-) - -diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h -index 2d76809..ee9b7f0 100644 ---- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h -+++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h -@@ -202,7 +202,7 @@ struct UStringHash { - - // FIXME: perhaps we should have a more abstract macro that indicates when - // going 4 bytes at a time is unsafe --#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) -+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC) - const UChar* aChars = a->characters(); - const UChar* bChars = b->characters(); - for (unsigned i = 0; i != aLength; ++i) { -diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h -index e8b03be..cd17e9c 100644 ---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h -+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h -@@ -369,7 +369,18 @@ - - #endif /* ARM */ - --#if CPU(ARM) || CPU(MIPS) || CPU(SH4) -+/* CPU(ARC) - ARC, any version*/ -+#if defined(arc) \ -+ || defined(__arc__) \ -+ || defined(ARC) \ -+ || defined(_ARC_) -+#define WTF_CPU_ARC 1 -+#if defined(__BIG_ENDIAN__) -+#define WTF_CPU_BIG_ENDIAN 1 -+#endif -+#endif -+ -+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ARC) - #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 - #endif - -diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp -index 9dd655e..bd3ab95 100644 ---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp -+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp -@@ -142,7 +142,7 @@ static inline bool equal(StringImpl* string, const UChar* characters, unsigned l - - // FIXME: perhaps we should have a more abstract macro that indicates when - // going 4 bytes at a time is unsafe --#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) -+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC) - const UChar* stringCharacters = string->characters(); - for (unsigned i = 0; i != length; ++i) { - if (*stringCharacters++ != *characters++) -diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h -index 4637c3d..91cef81 100644 ---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h -+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h -@@ -55,7 +55,7 @@ namespace WTF { - - // FIXME: perhaps we should have a more abstract macro that indicates when - // going 4 bytes at a time is unsafe --#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) -+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC) - const UChar* aChars = a->characters(); - const UChar* bChars = b->characters(); - for (unsigned i = 0; i != aLength; ++i) { --- -2.1.0 - diff --git a/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch b/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch deleted file mode 100644 index d7d387a78d..0000000000 --- a/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch +++ /dev/null @@ -1,163 +0,0 @@ -From ea46f47fb3c475ba2d7581c15185b8d43e63b8c2 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Fri, 27 Feb 2015 21:30:52 +0100 -Subject: [PATCH] Fix conversion/constructor error for legacy c++ compiler. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes the following compile error with legacy c++ compiler: - -error: in C++98 ‘blitRect’ must be initialized by constructor, not by ‘{...}’ - -Signed-off-by: Peter Seiderer ---- - src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp | 14 +++++++------- - src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp | 6 +++--- - src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp | 6 +++--- - src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 2 +- - 4 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp -index 876d0c2..ed69386 100644 ---- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp -+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp -@@ -942,7 +942,7 @@ void QDirectFBPaintEngine::drawBufferSpan(const uint *buffer, int bufsize, - IDirectFBSurface *src = d->surfaceCache->getSurface(buffer, bufsize); - // ### how does this play with setDFBColor - src->SetColor(src, 0, 0, 0, const_alpha); -- const DFBRectangle rect = { 0, 0, length, 1 }; -+ const DFBRectangle rect = (DFBRectangle_C){ 0, 0, length, 1 }; - d->surface->Blit(d->surface, src, &rect, x, y); - } - -@@ -1223,14 +1223,14 @@ void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s, - const QRect dr = engine->state()->matrix.mapRect(dest).toRect(); - if (dr.isEmpty()) - return; -- const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() }; -+ const DFBRectangle sRect = (DFBRectangle_C){ sr.x(), sr.y(), sr.width(), sr.height() }; - DFBResult result; - - if (dr.size() == sr.size()) { - result = surface->Blit(surface, s, &sRect, dr.x(), dr.y()); - } else { - Q_ASSERT(supportsStretchBlit()); -- const DFBRectangle dRect = { dr.x(), dr.y(), dr.width(), dr.height() }; -+ const DFBRectangle dRect = (DFBRectangle_C){ dr.x(), dr.y(), dr.width(), dr.height() }; - result = surface->StretchBlit(surface, s, &sRect, &dRect); - } - if (result != DFB_OK) -@@ -1261,7 +1261,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix - if (newClip.isNull()) - return; - -- const DFBRegion clip = { -+ const DFBRegion clip = (DFBRegion_C){ - newClip.x(), - newClip.y(), - newClip.right(), -@@ -1295,7 +1295,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix - while (y <= destinationRect.bottom()) { - qreal x = startX; - while (x <= destinationRect.right()) { -- const DFBRectangle destination = { qRound(x), qRound(y), mappedSize.width(), mappedSize.height() }; -+ const DFBRectangle destination = (DFBRectangle_C){ qRound(x), qRound(y), (int)mappedSize.width(), (int)mappedSize.height() }; - surface->StretchBlit(surface, sourceSurface, 0, &destination); - x += mappedSize.width(); - } -@@ -1337,7 +1337,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix - if (currentClip.isEmpty()) { - surface->SetClip(surface, 0); - } else { -- const DFBRegion clip = { -+ const DFBRegion clip = (DFBRegion_C){ - currentClip.x(), - currentClip.y(), - currentClip.right(), -@@ -1356,7 +1356,7 @@ void QDirectFBPaintEnginePrivate::updateClip() - surface->SetClip(surface, NULL); - clipType = NoClip; - } else if (clipData->hasRectClip) { -- const DFBRegion r = { -+ const DFBRegion r = (DFBRegion_C){ - clipData->clipRect.x(), - clipData->clipRect.y(), - clipData->clipRect.right(), -diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp -index 412e684..c59c47d 100644 ---- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp -+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp -@@ -363,7 +363,7 @@ void QDirectFBPixmapData::copy(const QPixmapData *data, const QRect &rect) - } else { - dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX); - } -- const DFBRectangle blitRect = { rect.x(), rect.y(), -+ const DFBRectangle blitRect = (DFBRectangle_C){ rect.x(), rect.y(), - rect.width(), rect.height() }; - w = rect.width(); - h = rect.height(); -@@ -465,7 +465,7 @@ QPixmap QDirectFBPixmapData::transformed(const QTransform &transform, - } - data->dfbSurface->SetBlittingFlags(data->dfbSurface, flags); - -- const DFBRectangle destRect = { 0, 0, size.width(), size.height() }; -+ const DFBRectangle destRect = (DFBRectangle_C){ 0, 0, size.width(), size.height() }; - data->dfbSurface->StretchBlit(data->dfbSurface, dfbSurface, 0, &destRect); - data->w = size.width(); - data->h = size.height(); -@@ -551,7 +551,7 @@ bool QDirectFBPixmapData::scroll(int dx, int dy, const QRect &rect) - return false; - } - -- const DFBRectangle source = { rect.x(), rect.y(), rect.width(), rect.height() }; -+ const DFBRectangle source = (DFBRectangle_C){ rect.x(), rect.y(), rect.width(), rect.height() }; - result = dfbSurface->Blit(dfbSurface, dfbSurface, &source, source.x + dx, source.y + dy); - if (result != DFB_OK) { - DirectFBError("QDirectFBPixmapData::scroll", result); -diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp -index eab9580..d26e5bf 100644 ---- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp -+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp -@@ -1635,7 +1635,7 @@ void QDirectFBScreen::solidFill(const QColor &color, const QRegion ®ion) - static inline void clearRect(IDirectFBSurface *surface, const QColor &color, const QRect &rect) - { - Q_ASSERT(surface); -- const DFBRegion region = { rect.left(), rect.top(), rect.right(), rect.bottom() }; -+ const DFBRegion region = (DFBRegion_C){ rect.left(), rect.top(), rect.right(), rect.bottom() }; - // could just reinterpret_cast this to a DFBRegion - surface->SetClip(surface, ®ion); - surface->Clear(surface, color.red(), color.green(), color.blue(), color.alpha()); -@@ -1716,14 +1716,14 @@ void QDirectFBScreen::flipSurface(IDirectFBSurface *surface, DFBSurfaceFlipFlags - const DFBSurfaceFlipFlags nonWaitFlags = flipFlags & ~DSFLIP_WAIT; - for (int i=0; iFlip(surface, &dfbReg, i + 1 < rects.size() ? nonWaitFlags : flipFlags); - } - } else { - const QRect r = region.boundingRect(); -- const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(), -+ const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(), - r.right() + offset.x(), - r.bottom() + offset.y() }; - surface->Flip(surface, &dfbReg, flipFlags); -diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp -index 4dff907..25ad06b 100644 ---- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp -+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp -@@ -333,7 +333,7 @@ bool QDirectFBWindowSurface::scroll(const QRegion ®ion, int dx, int dy) - } - dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX); - const QRect r = region.boundingRect(); -- const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() }; -+ const DFBRectangle rect = (DFBRectangle_C){ r.x(), r.y(), r.width(), r.height() }; - dfbSurface->Blit(dfbSurface, dfbSurface, &rect, r.x() + dx, r.y() + dy); - return true; - } --- -2.1.4 - diff --git a/package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch b/package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch deleted file mode 100644 index 9b1655322a..0000000000 --- a/package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0bf90de93b9fe21df32319e27b2507154fa8a21d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Fri, 15 Apr 2016 00:37:26 +0200 -Subject: [PATCH] Fix for platform socklen_t on other C libraries than glibc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This helps to make sure that QT_SOCKLEN_T is defined to be 'int' -only when its glibc < 2 and not also for the libraries which may define -it as per standards but are not glibc, e.g. musl. - -This patch is adapted from Qt5 [1]. - -[1] -https://github.com/qtproject/qtbase/commit/813f468a14fb84af43c1f8fc0a1430277358eba2 - -Signed-off-by: Jörg Krause ---- - mkspecs/linux-g++/qplatformdefs.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h -index de751dd..d4146ed 100644 ---- a/mkspecs/linux-g++/qplatformdefs.h -+++ b/mkspecs/linux-g++/qplatformdefs.h -@@ -86,10 +86,10 @@ - - #undef QT_SOCKLEN_T - --#if defined(__GLIBC__) && (__GLIBC__ >= 2) --#define QT_SOCKLEN_T socklen_t --#else -+#if defined(__GLIBC__) && (__GLIBC__ < 2) - #define QT_SOCKLEN_T int -+#else -+#define QT_SOCKLEN_T socklen_t - #endif - - #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) --- -2.8.0 - diff --git a/package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch b/package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch deleted file mode 100644 index f3d47f754e..0000000000 --- a/package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 438f088ad520ac91ae47dba9a515ab0d1088c89c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Fri, 15 Apr 2016 03:32:02 +0200 -Subject: [PATCH] Link with -ldl option only when it is supported -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -`-ldl` option is used unconditionally in `QMAKE_LIBS_DYNLOAD` while libdl is -not supported when libc is static. As the value of `QMAKE_LIBS_DYNLOAD` goes -into 'Libs.private' field of the pkgconfig files created by qmake, static -linking with qt will fail with: - /usr/bin/ld: cannot find -ldl - -Fix this issue by adding a build test to configure to check if libdl is -supported. `QMAKE_LIBS_DYNLOAD` in "src/corelib/plugin/plugin.pri" is now used -only if libdl is available. - -Backported from Qt5: -https://github.com/qtproject/qtbase/commit/f669ea0d54302de31456d57286aa0e4ca1443e98 - -Signed-off-by: Jörg Krause ---- - config.tests/unix/libdl/libdl.cpp | 39 +++++++++++++++++++++++++++++++++++++++ - config.tests/unix/libdl/libdl.pro | 3 +++ - configure | 6 ++++++ - src/corelib/plugin/plugin.pri | 2 +- - 4 files changed, 49 insertions(+), 1 deletion(-) - create mode 100644 config.tests/unix/libdl/libdl.cpp - create mode 100644 config.tests/unix/libdl/libdl.pro - -diff --git a/config.tests/unix/libdl/libdl.cpp b/config.tests/unix/libdl/libdl.cpp -new file mode 100644 -index 0000000..28a8233 ---- /dev/null -+++ b/config.tests/unix/libdl/libdl.cpp -@@ -0,0 +1,39 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2015 The Qt Company Ltd. -+** Contact: http://www.qt.io/licensing/ -+** -+** This file is part of the config.tests of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL21$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see http://www.qt.io/terms-conditions. For further -+** information use the contact form at http://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 or version 3 as published by the Free -+** Software Foundation and appearing in the file LICENSE.LGPLv21 and -+** LICENSE.LGPLv3 included in the packaging of this file. Please review the -+** following information to ensure the GNU Lesser General Public License -+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** As a special exception, The Qt Company gives you certain additional -+** rights. These rights are described in The Qt Company LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include -+ -+int main(int, char **) -+{ -+ dlopen(0, 0); -+} -diff --git a/config.tests/unix/libdl/libdl.pro b/config.tests/unix/libdl/libdl.pro -new file mode 100644 -index 0000000..a643934 ---- /dev/null -+++ b/config.tests/unix/libdl/libdl.pro -@@ -0,0 +1,3 @@ -+SOURCES = libdl.cpp -+CONFIG -= qt dylib -+LIBS += -ldl -\ No newline at end of file -diff --git a/configure b/configure -index 10ad7ca..1c70691 100755 ---- a/configure -+++ b/configure -@@ -5506,6 +5506,12 @@ if [ "$CFG_LIBPNG" = "auto" ]; then - fi - fi - -+# detect dl -+if ! compileTest unix/libdl "libdl"; then -+ QMakeVar add DEFINES QT_NO_DYNAMIC_LIBRARY -+ QMAKE_CONFIG="$QMAKE_CONFIG no-libdl" -+fi -+ - # detect accessibility - if [ "$CFG_ACCESSIBILITY" = "auto" ]; then - if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then -diff --git a/src/corelib/plugin/plugin.pri b/src/corelib/plugin/plugin.pri -index eb7a7f7..c342f2e 100644 ---- a/src/corelib/plugin/plugin.pri -+++ b/src/corelib/plugin/plugin.pri -@@ -32,4 +32,4 @@ integrity { - SOURCES += plugin/qlibrary_unix.cpp - } - --LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD -+!no-libdl: LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD --- -2.8.0 - diff --git a/package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch b/package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch deleted file mode 100644 index 8c65d1db38..0000000000 --- a/package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 87c9c18fad02744238336a6cf1ce70d3ec2c89c2 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 11 Jun 2016 17:03:07 +0200 -Subject: [PATCH 1/1] OpenGL/EGL: Avoid X11 header collision - -Including X11 headers via EGL/egl.h leads to a collision of defines -between Qt and X11. To fix this qt5 added - DEFINES += MESA_EGL_NO_X11_HEADERS -in various files: - -https://github.com/qtproject/qtbase/blob/dev/src/platformsupport/eglconvenience/eglconvenience.pri#L19 -https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/minimalegl/minimalegl.pro#L10 -https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro#L6 -[...] - -This patch fixes a similar compile error in qt4: -http://autobuild.buildroot.net/results/9b0/9b0ed92984eead89d148eaa71aff6e2f1e117837/ -http://autobuild.buildroot.org/results/4fd/4fd57553336d36439fab32a7221fc8639758e887/ -http://autobuild.buildroot.org/results/5cb/5cb8072f8220f7203fa79936eedcc43eab53ec66/ - -Signed-off-by: Bernd Kuhls -(patch not sent upstream because qt4 branch is closed: - http://blog.qt.io/blog/2015/05/26/qt-4-8-7-released/) ---- - - src/gui/egl/egl.pri | 3 +++ - src/opengl/opengl.pro | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git a/src/gui/egl/egl.pri b/src/gui/egl/egl.pri -index 8e8664c..715ffd7 100644 ---- a/src/gui/egl/egl.pri -+++ b/src/gui/egl/egl.pri -@@ -22,6 +22,9 @@ contains(QT_CONFIG, egl): { - !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL - } - -+ # Avoid X11 header collision -+ DEFINES += MESA_EGL_NO_X11_HEADERS -+ - wince*: SOURCES += egl/qegl_wince.cpp - - unix { -diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro -index ce1a5d2..65b1031 100644 ---- a/src/opengl/opengl.pro -+++ b/src/opengl/opengl.pro -@@ -149,6 +149,9 @@ embedded { - qglwindowsurface_qws_p.h \ - qgl_egl_p.h - -+ # Avoid X11 header collision -+ DEFINES += MESA_EGL_NO_X11_HEADERS -+ - contains(QT_CONFIG, fontconfig) { - include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri) - } else { --- -2.8.1 - diff --git a/package/qt/0013-src-corelib-arch-qatomic_arm.h-fix-build-on-ARMv8-32.patch b/package/qt/0013-src-corelib-arch-qatomic_arm.h-fix-build-on-ARMv8-32.patch deleted file mode 100644 index 645041acfe..0000000000 --- a/package/qt/0013-src-corelib-arch-qatomic_arm.h-fix-build-on-ARMv8-32.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 2281fa50f6e13278d3fd4f028377b8249b7b3cdb Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 8 Sep 2017 09:06:54 +0200 -Subject: [PATCH] src/corelib/arch/qatomic_arm.h: fix build on ARMv8 32-bit - -The Qt build fails on ARMv8 32-bit because it falls back to using the -ARMv5 code that uses the swp instruction, which no longer exists: - -/tmp/ccSxVIzw.s: Assembler messages: -/tmp/ccSxVIzw.s:127: Error: swp{b} use is obsoleted for ARMv8 and later -/tmp/ccSxVIzw.s:190: Error: swp{b} use is obsoleted for ARMv8 and later - -So, this commit adjusts the ARM atomic code to assume ARMv8 is similar -to ARMv7. - -Signed-off-by: Thomas Petazzoni ---- - src/corelib/arch/qatomic_arm.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/corelib/arch/qatomic_arm.h b/src/corelib/arch/qatomic_arm.h -index 77cd66f272..e011929d3e 100644 ---- a/src/corelib/arch/qatomic_arm.h -+++ b/src/corelib/arch/qatomic_arm.h -@@ -47,7 +47,8 @@ QT_BEGIN_HEADER - #if defined(__ARM_ARCH_7__) \ - || defined(__ARM_ARCH_7A__) \ - || defined(__ARM_ARCH_7R__) \ -- || defined(__ARM_ARCH_7M__) -+ || defined(__ARM_ARCH_7M__) \ -+ || defined(__ARM_ARCH_8A__) - # define QT_ARCH_ARMV7 - QT_BEGIN_INCLUDE_HEADER - # include "QtCore/qatomic_armv7.h" --- -2.13.5 - diff --git a/package/qt/0014-Enable-QtWebKit-with-newer-GCC.patch b/package/qt/0014-Enable-QtWebKit-with-newer-GCC.patch deleted file mode 100644 index 1e555e721f..0000000000 --- a/package/qt/0014-Enable-QtWebKit-with-newer-GCC.patch +++ /dev/null @@ -1,50 +0,0 @@ -From f566411fb314b7e4ab01f28e25e942cfaf8c59b7 Mon Sep 17 00:00:00 2001 -From: Evgeniy Didin -Date: Fri, 15 Sep 2017 19:43:48 +0300 -Subject: [PATCH] qt: Allow enabling of QtWebKit with GCC 6+ - -Building Qt with QtWebKit on configuration step there is -a check which disables QtWebKit build with GCC 6+. -Back in the day nobody thought about building Qt with GCC -version greater than 5.x. And now with modern GCCs like -6.x and 7.x this assumption gets in the way. - -Given in Buildroot today we don't have GCC older than 4.9 -it should be safe to remove now meaningless check completely. - -Signed-off-by: Evgeniy Didin -Cc: Alexey Brodkin -Cc: Thomas Petazzoni - ---- - configure | 14 -------------- - 1 file changed, 14 deletions(-) - -diff --git a/configure b/configure -index 10ad7ca0b0..8771144a65 100755 ---- a/configure -+++ b/configure -@@ -7731,20 +7731,6 @@ case "$XPLATFORM" in - canBuildWebKit="no" - canBuildQtXmlPatterns="no" - ;; -- *-g++*) -- # Check gcc's version -- case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in -- 5*|4*|3.4*) -- ;; -- 3.3*) -- canBuildWebKit="no" -- ;; -- *) -- canBuildWebKit="no" -- canBuildQtXmlPatterns="no" -- ;; -- esac -- ;; - solaris-cc*) - # Check the compiler version - case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in --- -2.11.0 - diff --git a/package/qt/0015-configure-fix-build-on-non-x86-platforms.patch b/package/qt/0015-configure-fix-build-on-non-x86-platforms.patch deleted file mode 100644 index a5995484c8..0000000000 --- a/package/qt/0015-configure-fix-build-on-non-x86-platforms.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 02e9698c96ca78342b82fa7239e93bab4aa45db2 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 17 Nov 2017 22:20:06 +0100 -Subject: [PATCH] configure: fix build on non-x86 platforms - -When building for an uncommon platform on a ppc64le machine, Qt build -fails because it builds qmake with the target compiler instead of -using the host compiler. This is due to the fact that Qt configure -script believes that both the host and target platforms are "powerpc", -even though the target really is Xtensa or ARC for example. - -Qt's configure script defines a variable called PLATFORM that points to -the mkspecs describing the host machine. For x86, its value is -qws/linux-x86-g++ and for x86-64, its value is -qws/linux-x86_64-g++. For any other host architecture, its value is -qws/linux-generic-g++. - -In parallel to this, Qt's configure script defines a variable called -XPLATFORM that points to the mkspecs describing the target machine. It -points to qws/linux-${CFG_EMBEDDED}-g++, where CFG_EMBEDDED is -simply "generic" for most uncommon architectures. - -Therefore, when we're building for an uncommon architecture, on a -ppc64le machine, we have: - - PLATFORM = qws/linux-generic-g++ - XPLATFORM = qws/linux-generic-g++ - -i.e, both values are equal. Due to this, the following condition is -false: - -if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then - -which causes Qt's configure script to fallback to: - -elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then - CFG_ARCH=$CFG_HOST_ARCH -fi - -because CFG_ARCH is not defined, and therefore gets defined to -CFG_HOST_ARCH. So we have CFG_ARCH == CFG_HOST_ARCH, and Qt believes -we're doing a native build. - -Therefore, we need to ensure that PLATFORM and XPLATFORM always have a -different value. To achieve this, we create a -qws/linux-host-generic-g++ mkspecs, which is always used as -PLATFORM. It is identical to qws/linux-x86-g++. Compared to -qws/linux-x86_64-g++, the only difference is that we're not passing -the -m64 flag, but that isn't needed when building host tools. - -Signed-off-by: Thomas Petazzoni ---- - configure | 8 +---- - mkspecs/qws/linux-host-generic-g++/qmake.conf | 10 ++++++ - mkspecs/qws/linux-host-generic-g++/qplatformdefs.h | 42 ++++++++++++++++++++++ - 3 files changed, 53 insertions(+), 7 deletions(-) - create mode 100644 mkspecs/qws/linux-host-generic-g++/qmake.conf - create mode 100644 mkspecs/qws/linux-host-generic-g++/qplatformdefs.h - -diff --git a/configure b/configure -index 10ad7ca0b0..d25f90be1e 100755 ---- a/configure -+++ b/configure -@@ -2806,14 +2806,8 @@ if [ "$CFG_EMBEDDED" != "no" ]; then - Linux:*) - if [ -z "$PLATFORM" ]; then - case "$UNAME_MACHINE" in -- *86) -- PLATFORM=qws/linux-x86-g++ -- ;; -- *86_64) -- PLATFORM=qws/linux-x86_64-g++ -- ;; - *) -- PLATFORM=qws/linux-generic-g++ -+ PLATFORM=qws/linux-host-generic-g++ - ;; - esac - fi -diff --git a/mkspecs/qws/linux-host-generic-g++/qmake.conf b/mkspecs/qws/linux-host-generic-g++/qmake.conf -new file mode 100644 -index 0000000000..55011ec52b ---- /dev/null -+++ b/mkspecs/qws/linux-host-generic-g++/qmake.conf -@@ -0,0 +1,10 @@ -+# -+# qmake configuration for building with linux-g++ -+# -+ -+include(../../common/linux.conf) -+include(../../common/gcc-base-unix.conf) -+include(../../common/g++-unix.conf) -+include(../../common/qws.conf) -+ -+load(qt_config) -diff --git a/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h b/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h -new file mode 100644 -index 0000000000..a654aa78a2 ---- /dev/null -+++ b/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h -@@ -0,0 +1,42 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2015 The Qt Company Ltd. -+** Contact: http://www.qt.io/licensing/ -+** -+** This file is part of the qmake spec of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see http://www.qt.io/terms-conditions. For further -+** information use the contact form at http://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 or version 3 as published by the Free -+** Software Foundation and appearing in the file LICENSE.LGPLv21 and -+** LICENSE.LGPLv3 included in the packaging of this file. Please review the -+** following information to ensure the GNU Lesser General Public License -+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** As a special exception, The Qt Company gives you certain additional -+** rights. These rights are described in The Qt Company LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include "../../linux-g++/qplatformdefs.h" --- -2.13.6 - diff --git a/package/qt/Config.gfx.in b/package/qt/Config.gfx.in deleted file mode 100644 index 5e6619c7b8..0000000000 --- a/package/qt/Config.gfx.in +++ /dev/null @@ -1,31 +0,0 @@ -menu "Graphics drivers" - -config BR2_PACKAGE_QT_GFX_LINUXFB - bool "Linux Framebuffer" - default y - -config BR2_PACKAGE_QT_GFX_TRANSFORMED - bool "Transformed" - -config BR2_PACKAGE_QT_GFX_QVFB - bool "Qt Virtual Framebuffer" - -config BR2_PACKAGE_QT_GFX_VNC - bool "VNC" - -config BR2_PACKAGE_QT_GFX_MULTISCREEN - bool "multiscreen" - -comment "directfb Qt driver not available (need directfb)" - depends on !BR2_PACKAGE_DIRECTFB - -config BR2_PACKAGE_QT_GFX_DIRECTFB - bool "directFB" - depends on BR2_PACKAGE_DIRECTFB - -config BR2_PACKAGE_QT_GFX_POWERVR - bool "powervr" - depends on BR2_PACKAGE_QT_OPENGL_ES - depends on BR2_PACKAGE_HAS_POWERVR - -endmenu diff --git a/package/qt/Config.in b/package/qt/Config.in deleted file mode 100644 index 0ecfafada5..0000000000 --- a/package/qt/Config.in +++ /dev/null @@ -1,539 +0,0 @@ -comment "qt needs a toolchain w/ C++, threads" - depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - -menuconfig BR2_PACKAGE_QT - bool "Qt (obsolete)" - depends on BR2_USE_MMU # fork - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS - help - Qt is a cross-platform application and UI framework for - developers using C++. - - http://qt-project.org - -if BR2_PACKAGE_QT - -choice - prompt "Qt installation" - help - Selects the type of installation: standard or embedded - -config BR2_PACKAGE_QT_EMBEDDED - bool "Qt embedded" - help - The embedded Qt installation targets embedded systems - without X.org. Provides backends for framebuffer. - If unsure, say Y. - -comment "Qt standard (X11) not available (need X.org)" - depends on !BR2_PACKAGE_XORG7 - -config BR2_PACKAGE_QT_X11 - bool "Qt standard (X11)" - depends on BR2_PACKAGE_XORG7 - select BR2_PACKAGE_FONTCONFIG - select BR2_PACKAGE_XLIB_LIBXI - select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XLIB_LIBXRENDER - select BR2_PACKAGE_XLIB_LIBXCURSOR - select BR2_PACKAGE_XLIB_LIBXRANDR - select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XLIB_LIBXV - select BR2_PACKAGE_QT_SYSTEMFREETYPE - select BR2_PACKAGE_QT_GUI_MODULE - help - The standard Qt installation provides X.org backend. If you - don't want to use X.org, say N. - -endchoice - -config BR2_PACKAGE_QT_DEBUG - bool "Compile with debug support" - help - If unsure, say N. - -config BR2_PACKAGE_QT_DEMOS - bool "Compile and install Qt demos (with code)" - select BR2_PACKAGE_QT_GUI_MODULE - help - If unsure, say N. - -config BR2_PACKAGE_QT_TRANSLATION_FILES - bool "Install translation files" - help - Install binary .qm translation files. - Say y if you need these files. They will take about 8 MB - on the target root filesystem. - -config BR2_PACKAGE_QT_EXAMPLES - bool "Compile and install Qt examples (with code)" - select BR2_PACKAGE_QT_GUI_MODULE - help - If unsure, say N. - -choice - prompt "Library type" - help - Selects the library type: Shared or Static - -config BR2_PACKAGE_QT_SHARED - bool "Shared library" - depends on !BR2_STATIC_LIBS - help - Create and use shared Qt libraries. - If you have multiple programs that depend on Qt or intend to - use plugins, say Y. - -config BR2_PACKAGE_QT_STATIC - bool "Static Library" - help - Create and use static Qt libraries. - If you don't have multiple programs on the target that - depends on Qt, then this will save you quite some of storage - space. - If unsure, say Y. - -endchoice - -config BR2_PACKAGE_QT_CONFIG_FILE - string "Config file" - help - Configure options allow to set which modules are being - compiled or not in Qt, but Qt also provide a more - fine-grained mechanism to configure which features should be - enabled or disabled, through a header file. Examples of such - header files can be found in src/corelib/global/qconfig-*.h - in the Qt sources. - - This option allows to set the path of such a configuration - file, which Buildroot will give to Qt at compile time. - -config BR2_PACKAGE_QT_QT3SUPPORT - bool "Compatibility with Qt3" - depends on BR2_PACKAGE_QT_GUI_MODULE - select BR2_PACKAGE_QT_SQL_MODULE - help - Turns on support for older Qt3. This will create an - additional library with proxy code and increase the space - required on target. If unsure say n. - -config BR2_PACKAGE_QT_GUI_MODULE - bool "Gui Module" - default y - select BR2_PACKAGE_QT_NETWORK - help - Turns on support for Gui applications. If your board doesn't - have video output, or you don't require Qt GUI, say n. - -if BR2_PACKAGE_QT_GUI_MODULE - -if BR2_PACKAGE_QT_EMBEDDED - -menu "Pixel depths" -comment "Deselecting each option leads to Qt's default (8,16,32)" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_1 - bool "1 bpp, black/white" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_4 - bool "4 bpp, grayscale" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_8 - bool "8 bpp, paletted" - default y - -config BR2_PACKAGE_QT_PIXEL_DEPTH_12 - bool "12 bpp, rgb 4-4-4" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_15 - bool "15 bpp, rgb 5-5-5" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_16 - bool "16 bpp, rgb 5-6-5" - default y - -config BR2_PACKAGE_QT_PIXEL_DEPTH_18 - bool "18 bpp, rgb 6-6-6" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_24 - bool "24 bpp, rgb 8-8-8" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_32 - bool "32 bpp, argb 8-8-8-8 and rgb 8-8-8" - default y - -endmenu - -menu "Fonts" - -config BR2_PACKAGE_QT_FONT_TRUETYPE - bool "dejavu/vera" - default y - depends on BR2_PACKAGE_QT_QTFREETYPE || BR2_PACKAGE_QT_SYSTEMFREETYPE - -comment "dejavu/vera fonts need freetype support" - depends on !BR2_PACKAGE_QT_QTFREETYPE && !BR2_PACKAGE_QT_SYSTEMFREETYPE - -config BR2_PACKAGE_QT_FONT_MICRO - bool "micro" - default y - -config BR2_PACKAGE_QT_FONT_FIXED - bool "fixed" - default y - -config BR2_PACKAGE_QT_FONT_HELVETICA - bool "helvetica" - default y - -config BR2_PACKAGE_QT_FONT_JAPANESE - bool "japanese" - -config BR2_PACKAGE_QT_FONT_UNIFONT - bool "unicode" - -endmenu - -endif # BR2_PACKAGE_QT_EMBEDDED - -choice - prompt "freetype2 support" - default BR2_PACKAGE_QT_NOFREETYPE - help - Select freetype2 support. - -config BR2_PACKAGE_QT_NOFREETYPE - bool "no freetype2 support" - depends on BR2_PACKAGE_QT_EMBEDDED - help - Do not compile in Freetype2 support. - -comment "Qt freetype2 needs Qt embedded" - depends on BR2_PACKAGE_QT_X11 - -config BR2_PACKAGE_QT_QTFREETYPE - bool "Qt freetype2" - depends on BR2_PACKAGE_QT_EMBEDDED - help - Use the libfreetype bundled with Qt. - -config BR2_PACKAGE_QT_SYSTEMFREETYPE - bool "System freetype2" - select BR2_PACKAGE_FREETYPE - help - Use shared libfreetype from the target system. - See http://www.freetype.org/ -endchoice - -config BR2_PACKAGE_QT_GIF - bool "Enable GIF support" - help - This compiles and installs the plugin for GIF reading support. - -config BR2_PACKAGE_QT_LIBMNG - bool "Enable libmng support" - help - This compiles and installs the plugin for MNG support. - -choice - prompt "JPEG support" - default BR2_PACKAGE_QT_NOJPEG - help - Select libjpeg support. - -config BR2_PACKAGE_QT_NOJPEG - bool "No jpeg support" - help - Disable JPEG support - -config BR2_PACKAGE_QT_SYSTEMJPEG - bool "System libjpeg" - select BR2_PACKAGE_JPEG - help - Link against system libjpeg - -config BR2_PACKAGE_QT_QTJPEG - bool "Use Qt bundled libjpeg" - help - Link against libjpeg provided with Qt -endchoice - -choice - prompt "PNG support" - default BR2_PACKAGE_QT_NOPNG - help - Select which library to use if PNG support should be enabled. - -config BR2_PACKAGE_QT_NOPNG - bool "No PNG support" - -config BR2_PACKAGE_QT_SYSTEMPNG - bool "System libpng" - select BR2_PACKAGE_LIBPNG - -config BR2_PACKAGE_QT_QTPNG - bool "Use Qt bundled libpng" -endchoice - -choice - prompt "TIFF support" - default BR2_PACKAGE_QT_NOTIFF - help - Select which library to use if TIFF support should be enabled. - -config BR2_PACKAGE_QT_NOTIFF - bool "No TIFF support" - -config BR2_PACKAGE_QT_SYSTEMTIFF - bool "System libtiff" - select BR2_PACKAGE_TIFF - -config BR2_PACKAGE_QT_QTTIFF - bool "Use Qt bundled libtiff" -endchoice - -config BR2_PACKAGE_QT_ACCESSIBILITY - bool "Enable accessibility support" - help - This enables and compiles the accessibility support. - -endif # BR2_PACKAGE_QT_GUI_MODULE - -choice - prompt "zlib support" - default BR2_PACKAGE_QT_QTZLIB - help - Select zlib support. - -config BR2_PACKAGE_QT_QTZLIB - bool "Qt zlib" - help - Use the zlib bundled with Qt. - -config BR2_PACKAGE_QT_SYSTEMZLIB - bool "System zlib" - select BR2_PACKAGE_ZLIB - help - Use the shared zlib from the system. -endchoice - -source "package/qt/Config.sql.in" -if BR2_PACKAGE_QT_GUI_MODULE -if BR2_PACKAGE_QT_EMBEDDED -source "package/qt/Config.gfx.in" -source "package/qt/Config.mouse.in" -source "package/qt/Config.keyboard.in" -endif - -config BR2_PACKAGE_QT_PHONON - bool "Phonon Module" - default y - depends on BR2_PACKAGE_GSTREAMER - select BR2_PACKAGE_GST_PLUGINS_BASE - help - Build the Phonon module. Support for different audio/video - formats can be configured at the GStreamer package. - If unsure, say n. - -comment "Phonon module needs gstreamer" - depends on !BR2_PACKAGE_GSTREAMER - -config BR2_PACKAGE_QT_PHONON_BACKEND - bool "Phonon Module Backend" - depends on BR2_PACKAGE_QT_PHONON - help - Build the platform Phonon plugin. - If unsure, say n. - -config BR2_PACKAGE_QT_OPENGL - bool "OpenGL support" - default y - depends on (BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_QT_X11) || \ - (BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES) - help - This option enables OpenGL support. - -if BR2_PACKAGE_QT_OPENGL - -choice - prompt "OpenGL API" - help - Select OpenGL API. - -comment "Desktop OpenGL not available (needs Qt standard (X11))" - depends on !BR2_PACKAGE_QT_X11 - -config BR2_PACKAGE_QT_OPENGL_GL_DESKTOP - bool "Desktop OpenGL" - depends on BR2_PACKAGE_HAS_LIBGL - depends on BR2_PACKAGE_QT_X11 - help - Use desktop OpenGL. - -config BR2_PACKAGE_QT_OPENGL_ES - bool "OpenGL ES v2.x support" - depends on BR2_PACKAGE_HAS_LIBGLES - depends on BR2_PACKAGE_HAS_LIBEGL - help - Enable the OpenGL ES v2.x support. - -endchoice - -endif # BR2_PACKAGE_QT_OPENGL - -endif - -config BR2_PACKAGE_QT_DBUS - bool "DBus Module" - depends on BR2_TOOLCHAIN_HAS_THREADS # dbus - depends on BR2_USE_MMU # dbus - select BR2_PACKAGE_DBUS - help - Build the Qt DBus module. - -comment "DBus Module needs a toolchain w/ threads" - depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS - -config BR2_PACKAGE_QT_XML - bool "XML Module" - default y - help - Build the XML module. - -config BR2_PACKAGE_QT_XMLPATTERNS - bool "XML Patterns Module" - depends on BR2_PACKAGE_QT_XML - help - Build QtXmlPatterns module. - If unsure, say n - -config BR2_PACKAGE_QT_MULTIMEDIA - bool "Multimedia Module" - depends on BR2_PACKAGE_QT_GUI_MODULE - help - Build QtMultimedia module. - -config BR2_PACKAGE_QT_AUDIO_BACKEND - bool "QtMultimedia Audio backend" - depends on BR2_PACKAGE_QT_MULTIMEDIA - depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib - select BR2_PACKAGE_ALSA_LIB - help - Build the ALSA audio backend into QtMultimedia - -config BR2_PACKAGE_QT_SVG - bool "SVG Module" - depends on BR2_PACKAGE_QT_GUI_MODULE - help - Build the SVG module. - If unsure, say n - -config BR2_PACKAGE_QT_NETWORK - bool "Network Module" - default y - help - Install the Network module. - if unsure, say y - -config BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT - bool - # see src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h - # see http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html - default y if BR2_arc || BR2_arm || BR2_armeb || BR2_i386 || BR2_microblazeel || \ - BR2_microblazebe || BR2_mips || BR2_mipsel || \ - (BR2_mips64 || BR2_mips64el) && !BR2_MIPS_NABI32 || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64 || \ - BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - -config BR2_PACKAGE_QT_WEBKIT - bool "WebKit Module" - depends on BR2_PACKAGE_QT_SCRIPT - depends on BR2_PACKAGE_QT_SHARED - depends on BR2_PACKAGE_QT_GUI_MODULE - depends on BR2_PACKAGE_QT_NETWORK - depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np() - depends on BR2_PACKAGE_GSTREAMER - select BR2_PACKAGE_GST_PLUGINS_BASE - select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP - help - Build the WebKit module. - If unsure, say n. - -comment "WebKit needs a toolchain w/ dynamic library, NPTL" - depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIB - -comment "WebKit needs QtShared/Script/Gui/Network and Gstreamer 0.10" - depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL && !BR2_STATIC_LIB - depends on !BR2_PACKAGE_QT_SCRIPT || !BR2_PACKAGE_QT_SHARED \ - || !BR2_PACKAGE_QT_GUI_MODULE || !BR2_PACKAGE_QT_NETWORK \ - || !BR2_PACKAGE_GSTREAMER - -config BR2_PACKAGE_QT_STL - bool "STL support" - help - Compile STL support. - If unsure, say n. - -config BR2_PACKAGE_QT_OPENSSL - bool "Enable OpenSSL support" - depends on BR2_PACKAGE_QT_NETWORK - select BR2_PACKAGE_OPENSSL - help - Enable support for the OpenSSL encryption library. If you use - QSslSocket say y here, otherwise, say no to save space on the - target. - If unsure, say n. - -config BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT - bool - # see http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html - default y if BR2_arc || BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || \ - BR2_microblazeel || BR2_microblazebe || BR2_mips || BR2_mipsel || \ - BR2_mips64 || BR2_mips64el || BR2_nios2 || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_sh4 || BR2_sh4eb || \ - BR2_sh4a || BR2_sh4aeb || BR2_x86_64 - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - -config BR2_PACKAGE_QT_SCRIPT - bool "Script Module" - default y - depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np() - help - Build the Qt Script module. - if unsure, say y. - -comment "Script Module needs a toolchain with NPTL" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL - depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT - -config BR2_PACKAGE_QT_SCRIPTTOOLS - bool "Script Tools Module" - depends on BR2_PACKAGE_QT_SCRIPT - depends on BR2_PACKAGE_QT_GUI_MODULE - help - Build the Qt Script Tools module. - if unsure, say n. - -config BR2_PACKAGE_QT_DECLARATIVE - bool "Declarative module" - depends on BR2_PACKAGE_QT_SCRIPT - depends on BR2_PACKAGE_QT_GUI_MODULE - depends on BR2_PACKAGE_QT_SQL_MODULE - help - Build the Qt Declarative Module for qml support - if unsure, say n. - -config BR2_PACKAGE_QT_TEST - bool "Test Module" - help - Install the Test module. - -endif # BR2_PACKAGE_QT diff --git a/package/qt/Config.keyboard.in b/package/qt/Config.keyboard.in deleted file mode 100644 index b0425471ed..0000000000 --- a/package/qt/Config.keyboard.in +++ /dev/null @@ -1,12 +0,0 @@ -menu "Keyboard drivers" - -config BR2_PACKAGE_QT_KEYBOARD_TTY - bool "tty" - -config BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT - bool "linux input" - -config BR2_PACKAGE_QT_KEYBOARD_QVFB - bool "qvfb" - -endmenu diff --git a/package/qt/Config.mouse.in b/package/qt/Config.mouse.in deleted file mode 100644 index 1062facb6a..0000000000 --- a/package/qt/Config.mouse.in +++ /dev/null @@ -1,26 +0,0 @@ -menu "Mouse drivers" - -config BR2_PACKAGE_QT_MOUSE_PC - bool "pc" - -config BR2_PACKAGE_QT_MOUSE_LINUXTP - bool "linuxtp" - -config BR2_PACKAGE_QT_MOUSE_LINUXINPUT - bool "linux input" - -config BR2_PACKAGE_QT_MOUSE_TSLIB - bool "tslib" - select BR2_PACKAGE_TSLIB - -config BR2_PACKAGE_QT_MOUSE_QVFB - bool "qvfb" - -comment "Mouse Options" - -config BR2_PACKAGE_QT_MOUSE_NO_QWS_CURSOR - bool "Hide the mouse cursor" - help - Do not show the mouse cursor in QWS. - -endmenu diff --git a/package/qt/Config.sql.in b/package/qt/Config.sql.in deleted file mode 100644 index 6d39bb974a..0000000000 --- a/package/qt/Config.sql.in +++ /dev/null @@ -1,59 +0,0 @@ -menuconfig BR2_PACKAGE_QT_SQL_MODULE - bool "SQL Module" - help - Compile Qt SQL Module - -if BR2_PACKAGE_QT_SQL_MODULE -config BR2_PACKAGE_QT_MYSQL - bool "MySQL Driver" - depends on BR2_USE_MMU # mysql - select BR2_PACKAGE_MYSQL - select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_READLINE - help - Build MySQL driver - If unsure, say n. - -config BR2_PACKAGE_QT_ODBC - bool "ODBC Driver" - select BR2_PACKAGE_UNIXODBC - help - Build ODBC driver - If unsure, say n. - -config BR2_PACKAGE_QT_PSQL - bool "PostgreSQL Driver" - depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_POSTGRESQL - help - Build PostgreSQL driver - If unsure, say n. - -comment "PostgreSQL driver needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS - -choice - prompt "SQLite 3 support" - default BR2_PACKAGE_QT_SQLITE_NONE - help - Select SQLite support. - -config BR2_PACKAGE_QT_SQLITE_NONE - bool "No sqlite support" - help - Do not compile any kind of SQLite support. - -config BR2_PACKAGE_QT_SQLITE_QT - bool "Qt SQLite" - help - Use Qt bundled SQLite support. - -config BR2_PACKAGE_QT_SQLITE_SYSTEM - bool "System SQLite" - select BR2_PACKAGE_SQLITE - help - Use system SQLite. - -endchoice - -endif diff --git a/package/qt/powervr.ini b/package/qt/powervr.ini deleted file mode 100644 index 57863ebc44..0000000000 --- a/package/qt/powervr.ini +++ /dev/null @@ -1,2 +0,0 @@ -[default] -WindowSystem=libpvrQWSWSEGL.so.1 diff --git a/package/qt/qt.hash b/package/qt/qt.hash deleted file mode 100644 index 301010cae1..0000000000 --- a/package/qt/qt.hash +++ /dev/null @@ -1,3 +0,0 @@ -# md5 http://download.qt.io/official_releases/qt/4.8/4.8.7/md5sums-4.8.7, sha256 locally computed: -md5 d990ee66bf7ab0c785589776f35ba6ad qt-everywhere-opensource-src-4.8.7.tar.gz -sha256 e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0 qt-everywhere-opensource-src-4.8.7.tar.gz diff --git a/package/qt/qt.mk b/package/qt/qt.mk deleted file mode 100644 index 23cb94c11f..0000000000 --- a/package/qt/qt.mk +++ /dev/null @@ -1,725 +0,0 @@ -################################################################################ -# -# qt -# -################################################################################ - -QT_VERSION_MAJOR = 4.8 -QT_VERSION = $(QT_VERSION_MAJOR).7 -QT_SOURCE = qt-everywhere-opensource-src-$(QT_VERSION).tar.gz -QT_SITE = http://download.qt.io/archive/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION) -QT_DEPENDENCIES = host-pkgconf -QT_INSTALL_STAGING = YES - -QT_LICENSE := LGPL-2.1 with exceptions or GPL-3.0 -QT_LICENSE_FILES = LICENSE.LGPL LGPL_EXCEPTION.txt LICENSE.GPL3 - -# Opensource licenses are the only one we catter about -QT_CONFIGURE_OPTS += -opensource -confirm-license - -QT_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_QT_CONFIG_FILE)) - -ifneq ($(QT_CONFIG_FILE),) -QT_CONFIGURE_OPTS += -qconfig buildroot -endif - -QT_CFLAGS = $(TARGET_CFLAGS) -QT_CXXFLAGS = $(TARGET_CXXFLAGS) -QT_LDFLAGS = $(TARGET_LDFLAGS) - -# Qt WebKit build fails when gcc-6 is used for build, because -# 'std::auto_ptr' is deprecated starting from gcc 6.x. So, we have to -# use an older c++ standard to prevent build failure -QT_CXXFLAGS += -std=gnu++98 - -# gcc bug internal compiler error: in validate_condition_mode, at -# config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7. -# Workaround is to set -mno-isel, see -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and -# https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html -ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_8548)$(BR2_powerpc_e500mc)$(BR2_powerpc_e5500):$(BR2_TOOLCHAIN_GCC_AT_LEAST_7),y:) -QT_CXXFLAGS += -mno-isel -endif - -# Qt has some assembly function that are not present in thumb1 mode: -# Error: selected processor does not support Thumb mode `swp r3,r7,[r4]' -# so, we desactivate thumb mode -ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) -QT_CFLAGS += -marm -QT_CXXFLAGS += -marm -endif - -ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y) -QT_CONFIGURE_OPTS += -qt3support -else -QT_CONFIGURE_OPTS += -no-qt3support -endif - -ifeq ($(BR2_PACKAGE_QT_DEMOS),y) -QT_CONFIGURE_OPTS += -demosdir $(TARGET_DIR)/usr/share/qt/demos -else -QT_CONFIGURE_OPTS += -nomake demos -endif -ifeq ($(BR2_PACKAGE_QT_EXAMPLES),y) -QT_CONFIGURE_OPTS += -examplesdir $(TARGET_DIR)/usr/share/qt/examples -else -QT_CONFIGURE_OPTS += -nomake examples -endif - -# ensure glib is built first if enabled for Qt's glib support -ifeq ($(BR2_PACKAGE_LIBGLIB2),y) -QT_CONFIGURE_OPTS += -glib -QT_DEPENDENCIES += libglib2 -else -QT_CONFIGURE_OPTS += -no-glib -endif - -### Pixel depths -QT_PIXEL_DEPTHS = # empty -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_1),y) -QT_PIXEL_DEPTHS += 1 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_4),y) -QT_PIXEL_DEPTHS += 4 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_8),y) -QT_PIXEL_DEPTHS += 8 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_12),y) -QT_PIXEL_DEPTHS += 12 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_15),y) -QT_PIXEL_DEPTHS += 15 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_16),y) -QT_PIXEL_DEPTHS += 16 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_18),y) -QT_PIXEL_DEPTHS += 18 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_24),y) -QT_PIXEL_DEPTHS += 24 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_32),y) -QT_PIXEL_DEPTHS += 32 -endif -ifneq ($(QT_PIXEL_DEPTHS),) -QT_CONFIGURE_OPTS += -depths $(subst $(space),$(comma),$(strip $(QT_PIXEL_DEPTHS))) -endif - -### Display drivers -ifeq ($(BR2_PACKAGE_QT_GFX_LINUXFB),y) -QT_CONFIGURE_OPTS += -qt-gfx-linuxfb -else -QT_CONFIGURE_OPTS += -no-gfx-linuxfb -endif -ifeq ($(BR2_PACKAGE_QT_GFX_TRANSFORMED),y) -QT_CONFIGURE_OPTS += -qt-gfx-transformed -else -QT_CONFIGURE_OPTS += -no-gfx-transformed -endif -ifeq ($(BR2_PACKAGE_QT_GFX_QVFB),y) -QT_CONFIGURE_OPTS += -qt-gfx-qvfb -else -QT_CONFIGURE_OPTS += -no-gfx-qvfb -endif -ifeq ($(BR2_PACKAGE_QT_GFX_VNC),y) -QT_CONFIGURE_OPTS += -qt-gfx-vnc -else -QT_CONFIGURE_OPTS += -no-gfx-vnc -endif -ifeq ($(BR2_PACKAGE_QT_GFX_MULTISCREEN),y) -QT_CONFIGURE_OPTS += -qt-gfx-multiscreen -else -QT_CONFIGURE_OPTS += -no-gfx-multiscreen -endif -ifeq ($(BR2_PACKAGE_QT_GFX_DIRECTFB),y) -QT_CONFIGURE_OPTS += -qt-gfx-directfb -QT_DEPENDENCIES += directfb -else -QT_CONFIGURE_OPTS += -no-gfx-directfb -endif -ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y) -QT_CONFIGURE_OPTS += \ - -plugin-gfx-powervr -D QT_NO_QWS_CURSOR -D QT_QWS_CLIENTBLIT -QT_DEPENDENCIES += powervr -endif - -### Mouse drivers -ifeq ($(BR2_PACKAGE_QT_MOUSE_PC),y) -QT_CONFIGURE_OPTS += -qt-mouse-pc -else -QT_CONFIGURE_OPTS += -no-mouse-pc -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXTP),y) -QT_CONFIGURE_OPTS += -qt-mouse-linuxtp -else -QT_CONFIGURE_OPTS += -no-mouse-linuxtp -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXINPUT),y) -QT_CONFIGURE_OPTS += -qt-mouse-linuxinput -else -QT_CONFIGURE_OPTS += -no-mouse-linuxinput -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_TSLIB),y) -QT_CONFIGURE_OPTS += -qt-mouse-tslib -QT_DEPENDENCIES += tslib -else -QT_CONFIGURE_OPTS += -no-mouse-tslib -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_QVFB),y) -QT_CONFIGURE_OPTS += -qt-mouse-qvfb -else -QT_CONFIGURE_OPTS += -no-mouse-qvfb -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_NO_QWS_CURSOR),y) -QT_CONFIGURE_OPTS += -D QT_NO_QWS_CURSOR -endif - -### Keyboard drivers -ifeq ($(BR2_PACKAGE_QT_KEYBOARD_TTY),y) -QT_CONFIGURE_OPTS += -qt-kbd-tty -else -QT_CONFIGURE_OPTS += -no-kbd-tty -endif -ifeq ($(BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT),y) -QT_CONFIGURE_OPTS += -qt-kbd-linuxinput -else -QT_CONFIGURE_OPTS += -no-kbd-linuxinput -endif -ifeq ($(BR2_PACKAGE_QT_KEYBOARD_QVFB),y) -QT_CONFIGURE_OPTS += -qt-kbd-qvfb -else -QT_CONFIGURE_OPTS += -no-kbd-qvfb -endif - -ifeq ($(BR2_PACKAGE_QT_DEBUG),y) -QT_CONFIGURE_OPTS += -debug -else -QT_CONFIGURE_OPTS += -release -endif - -ifeq ($(BR2_PACKAGE_QT_SHARED),y) -QT_CONFIGURE_OPTS += -shared -else -QT_CONFIGURE_OPTS += -static -endif - -ifeq ($(BR2_STATIC_LIBS),y) -QT_CONFIGURE_OPTS += -D QT_NO_DYNAMIC_LIBRARY -endif - -ifeq ($(BR2_ENDIAN),"LITTLE") -QT_CONFIGURE_OPTS += -little-endian -else -QT_CONFIGURE_OPTS += -big-endian -endif - -ifeq ($(BR2_arm)$(BR2_armeb),y) -QT_EMB_PLATFORM = arm -else ifeq ($(BR2_i386),y) -QT_EMB_PLATFORM = x86 -else ifeq ($(BR2_x86_64),y) -QT_EMB_PLATFORM = x86_64 -else ifeq ($(BR2_mips)$(BR2_mipsel),y) -QT_EMB_PLATFORM = mips -else ifeq ($(BR2_powerpc),y) -QT_EMB_PLATFORM = powerpc -else ifeq ($(BR2_sh4)$(BR2_sh4eb)$(BR2_sh4a)$(BR2_sh4aeb),y) -QT_EMB_PLATFORM = sh -else -QT_EMB_PLATFORM = generic -endif - -ifeq ($(BR2_PACKAGE_QT_X11),y) -QT_DEPENDENCIES += fontconfig xlib_libXi xlib_libX11 xlib_libXrender \ - xlib_libXcursor xlib_libXrandr xlib_libXext xlib_libXv -# Using pkg-config avoids us some logic to redefine and sed again mkspecs files -# to add X11 include path and link options -QT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags x11` -QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags x11` -QT_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs x11 xext` -QT_CONFIGURE_OPTS += -arch $(QT_EMB_PLATFORM) \ - -xplatform qws/linux-$(QT_EMB_PLATFORM)-g++ -x11 -no-gtkstyle -no-sm \ - -no-openvg -else # if BR2_PACKAGE_QT_EMBEDDED -QT_CONFIGURE_OPTS += -embedded $(QT_EMB_PLATFORM) -endif - -ifneq ($(BR2_PACKAGE_QT_GUI_MODULE),y) -QT_CONFIGURE_OPTS += -no-gui -endif - -ifneq ($(BR2_PACKAGE_QT_GIF),y) -QT_CONFIGURE_OPTS += -no-gif -endif - -ifeq ($(BR2_PACKAGE_QT_LIBMNG),y) -QT_CONFIGURE_OPTS += -qt-libmng -else -QT_CONFIGURE_OPTS += -no-libmng -endif - -ifeq ($(BR2_PACKAGE_QT_ACCESSIBILITY),y) -QT_CONFIGURE_OPTS += -accessibility -else -QT_CONFIGURE_OPTS += -no-accessibility -endif - -ifeq ($(BR2_PACKAGE_QT_QTZLIB),y) -QT_CONFIGURE_OPTS += -qt-zlib -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMZLIB),y) -QT_CONFIGURE_OPTS += -system-zlib -QT_DEPENDENCIES += zlib -endif -endif - -ifeq ($(BR2_PACKAGE_QT_QTJPEG),y) -QT_CONFIGURE_OPTS += -qt-libjpeg -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMJPEG),y) -QT_CONFIGURE_OPTS += -system-libjpeg -QT_DEPENDENCIES += jpeg -else -QT_CONFIGURE_OPTS += -no-libjpeg -endif -endif - -ifeq ($(BR2_PACKAGE_QT_QTPNG),y) -QT_CONFIGURE_OPTS += -qt-libpng -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMPNG),y) -QT_CONFIGURE_OPTS += -system-libpng -QT_DEPENDENCIES += libpng -else -QT_CONFIGURE_OPTS += -no-libpng -endif -endif - -ifeq ($(BR2_PACKAGE_QT_QTTIFF),y) -QT_CONFIGURE_OPTS += -qt-libtiff -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMTIFF),y) -QT_CONFIGURE_OPTS += -system-libtiff -QT_DEPENDENCIES += tiff -else -QT_CONFIGURE_OPTS += -no-libtiff -endif -endif - -QT_FONTS = $(addprefix $(STAGING_DIR)/usr/lib/fonts/, $(addsuffix *.qpf, \ - $(if $(BR2_PACKAGE_QT_FONT_MICRO),micro) \ - $(if $(BR2_PACKAGE_QT_FONT_FIXED),fixed) \ - $(if $(BR2_PACKAGE_QT_FONT_HELVETICA),helvetica) \ - $(if $(BR2_PACKAGE_QT_FONT_JAPANESE),japanese) \ - $(if $(BR2_PACKAGE_QT_FONT_UNIFONT),unifont))) - -ifeq ($(BR2_PACKAGE_QT_QTFREETYPE),y) -QT_CONFIGURE_OPTS += -qt-freetype -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMFREETYPE),y) -QT_CONFIGURE_OPTS += -system-freetype -QT_CONFIGURE_OPTS += -I $(STAGING_DIR)/usr/include/freetype2/ -QT_DEPENDENCIES += freetype -else -QT_CONFIGURE_OPTS += -no-freetype -endif -endif - -ifeq ($(BR2_PACKAGE_QT_DBUS),y) -QT_DEPENDENCIES += dbus -endif - -ifeq ($(BR2_PACKAGE_QT_OPENSSL),y) -QT_CONFIGURE_OPTS += -openssl -QT_DEPENDENCIES += openssl -else -QT_CONFIGURE_OPTS += -no-openssl -endif - -ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y) -QT_CONFIGURE_OPTS += -opengl es2 -egl -QT_DEPENDENCIES += libgles libegl -QT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl` -QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl` -QT_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs egl` -else ifeq ($(BR2_PACKAGE_QT_OPENGL_GL_DESKTOP),y) -QT_CONFIGURE_OPTS += -opengl desktop -QT_DEPENDENCIES += libgl -else -QT_CONFIGURE_OPTS += -no-opengl -endif - -# Qt SQL Drivers -ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y) -ifeq ($(BR2_PACKAGE_QT_MYSQL),y) -QT_CONFIGURE_OPTS += -qt-sql-mysql -mysql_config $(STAGING_DIR)/usr/bin/mysql_config -QT_DEPENDENCIES += mysql -endif -ifeq ($(BR2_PACKAGE_QT_ODBC),y) -QT_CONFIGURE_OPTS += -qt-sql-odbc -QT_DEPENDENCIES += unixodbc -endif -ifeq ($(BR2_PACKAGE_QT_PSQL),y) -QT_CONFIGURE_OPTS += -qt-sql-psql -psql_config $(STAGING_DIR)/usr/bin/pg_config -QT_DEPENDENCIES += postgresql -endif -ifeq ($(BR2_PACKAGE_QT_SQLITE_QT),y) -QT_CONFIGURE_OPTS += -qt-sql-sqlite -else -ifeq ($(BR2_PACKAGE_QT_SQLITE_SYSTEM),y) -QT_CONFIGURE_OPTS += -system-sqlite -QT_DEPENDENCIES += sqlite -else -QT_CONFIGURE_OPTS += -no-sql-sqlite -endif -endif -ifeq ($(BR2_PACKAGE_QT_SQLITE2),y) -QT_CONFIGURE_OPTS += -qt-sql-sqlite2 -endif -else -# By default, no SQL driver is turned on by configure. -# but it seems sqlite isn't disabled despite what says -# configure --help -QT_CONFIGURE_OPTS += -no-sql-sqlite -endif - -ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y) -QT_CONFIGURE_OPTS += -xmlpatterns -exceptions -else -QT_CONFIGURE_OPTS += -no-xmlpatterns -endif - -ifeq ($(BR2_PACKAGE_QT_MULTIMEDIA),y) -QT_CONFIGURE_OPTS += -multimedia -else -QT_CONFIGURE_OPTS += -no-multimedia -endif - -ifeq ($(BR2_PACKAGE_QT_AUDIO_BACKEND),y) -QT_CONFIGURE_OPTS += -audio-backend -QT_DEPENDENCIES += alsa-lib -else -QT_CONFIGURE_OPTS += -no-audio-backend -endif - -ifeq ($(BR2_PACKAGE_QT_PHONON),y) -QT_CONFIGURE_OPTS += -phonon -QT_DEPENDENCIES += gstreamer gst-plugins-base -else -QT_CONFIGURE_OPTS += -no-phonon -endif - -ifeq ($(BR2_PACKAGE_QT_PHONON_BACKEND),y) -QT_CONFIGURE_OPTS += -phonon-backend -else -QT_CONFIGURE_OPTS += -no-phonon-backend -endif - -ifeq ($(BR2_PACKAGE_QT_SVG),y) -QT_CONFIGURE_OPTS += -svg -else -QT_CONFIGURE_OPTS += -no-svg -endif - -ifeq ($(BR2_PACKAGE_QT_WEBKIT),y) -QT_CONFIGURE_OPTS += -webkit -QT_DEPENDENCIES += gstreamer gst-plugins-base -else -QT_CONFIGURE_OPTS += -no-webkit -endif - -ifeq ($(BR2_PACKAGE_QT_SCRIPT),y) -QT_CONFIGURE_OPTS += -script -else -QT_CONFIGURE_OPTS += -no-script -endif - -ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y) -QT_CONFIGURE_OPTS += -scripttools -else -QT_CONFIGURE_OPTS += -no-scripttools -endif - -ifeq ($(BR2_PACKAGE_QT_STL),y) -QT_CONFIGURE_OPTS += -stl -else -QT_CONFIGURE_OPTS += -no-stl -endif - -ifeq ($(BR2_PACKAGE_QT_DECLARATIVE),y) -QT_CONFIGURE_OPTS += -declarative -else -QT_CONFIGURE_OPTS += -no-declarative -endif - -# -no-pch is needed to workaround the issue described at -# http://comments.gmane.org/gmane.comp.lib.qt.devel/5933. -# In addition, ccache and precompiled headers don't play well together -QT_CONFIGURE_OPTS += -no-pch - -# x86x86fix -# Workaround Qt Embedded bug when crosscompiling for x86 under x86 with linux -# host. It's unclear if this would happen on other hosts. -ifneq ($(findstring linux,$(GNU_HOST_NAME)),) -ifneq ($(findstring x86,$(QT_EMB_PLATFORM)),) -QT_CONFIGURE_OPTS += -platform linux-g++ -endif -endif -# End of workaround. - -# Variable for other Qt applications to use -QT_QMAKE = $(HOST_DIR)/bin/qmake -spec qws/linux-$(QT_EMB_PLATFORM)-g++ - -################################################################################ -# QT_QMAKE_SET -- helper macro to set = in -# the qmake.conf file. Will remove existing variable declaration if -# available. -# -# Argument 1 is the variable name -# Argument 2 is the value to set variable to -# Argument 3 is the base source directory of Qt -# -# E.G. use like this: -# $(call QT_QMAKE_SET,variable,value,directory) -################################################################################ -define QT_QMAKE_SET - $(SED) '/$(1)/d' $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf - $(SED) "/include.*qws.conf/a$(1) = $(2)" $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf -endef - -ifneq ($(QT_CONFIG_FILE),) -define QT_CONFIGURE_CONFIG_FILE - cp $(QT_CONFIG_FILE) $(@D)/src/corelib/global/qconfig-buildroot.h -endef -endif - -define QT_CONFIGURE_CMDS - -[ -f $(@D)/Makefile ] && $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) confclean - $(QT_CONFIGURE_IPV6) - $(QT_CONFIGURE_CONFIG_FILE) - # Fix compiler path - $(call QT_QMAKE_SET,QMAKE_CC,$(TARGET_CC),$(@D)) - $(call QT_QMAKE_SET,QMAKE_CXX,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,QMAKE_LINK,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,QMAKE_LINK_SHLIB,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,QMAKE_AR,$(TARGET_AR) cqs,$(@D)) - $(call QT_QMAKE_SET,QMAKE_OBJCOPY,$(TARGET_OBJCOPY),$(@D)) - $(call QT_QMAKE_SET,QMAKE_RANLIB,$(TARGET_RANLIB),$(@D)) - $(call QT_QMAKE_SET,QMAKE_STRIP,$(TARGET_STRIP),$(@D)) - $(call QT_QMAKE_SET,QMAKE_CFLAGS,$(QT_CFLAGS),$(@D)) - $(call QT_QMAKE_SET,QMAKE_CXXFLAGS,$(QT_CXXFLAGS),$(@D)) - $(call QT_QMAKE_SET,QMAKE_LFLAGS,$(QT_LDFLAGS),$(@D)) - $(call QT_QMAKE_SET,PKG_CONFIG,$(HOST_DIR)/bin/pkg-config,$(@D)) -# Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target -# instead of the host then. So set PKG_CONFIG* manually. - (cd $(@D); \ - PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ - PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ - PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \ - $(TARGET_MAKE_ENV) \ - MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" ./configure \ - $(if $(VERBOSE),-verbose,-silent) \ - -force-pkg-config \ - $(QT_CONFIGURE_OPTS) \ - -no-xinerama \ - -no-cups \ - -no-nis \ - -no-separate-debug-info \ - -prefix /usr \ - -plugindir /usr/lib/qt/plugins \ - -importdir /usr/lib/qt/imports \ - -translationdir /usr/share/qt/translations \ - -hostprefix $(STAGING_DIR) \ - -fast \ - -no-rpath \ - ) -endef - -define QT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) -endef - -# Build the list of libraries and plugins to install to the target - -QT_INSTALL_LIBS += QtCore -QT_HOST_PROGRAMS += moc rcc qmake lrelease - -ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y) -QT_INSTALL_LIBS += QtGui -QT_HOST_PROGRAMS += uic -endif -ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y) -QT_INSTALL_LIBS += QtSql -endif -ifeq ($(BR2_PACKAGE_QT_MULTIMEDIA),y) -QT_INSTALL_LIBS += QtMultimedia -endif -ifeq ($(BR2_PACKAGE_QT_PHONON),y) -QT_INSTALL_LIBS += phonon -endif -ifeq ($(BR2_PACKAGE_QT_SVG),y) -QT_INSTALL_LIBS += QtSvg -endif -ifeq ($(BR2_PACKAGE_QT_NETWORK),y) -QT_INSTALL_LIBS += QtNetwork -endif -ifeq ($(BR2_PACKAGE_QT_WEBKIT),y) -QT_INSTALL_LIBS += QtWebKit -endif -ifeq ($(BR2_PACKAGE_QT_XML),y) -QT_INSTALL_LIBS += QtXml -endif -ifeq ($(BR2_PACKAGE_QT_DBUS),y) -QT_INSTALL_LIBS += QtDBus -endif -ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y) -QT_INSTALL_LIBS += QtXmlPatterns -endif -ifeq ($(BR2_PACKAGE_QT_SCRIPT),y) -QT_INSTALL_LIBS += QtScript -endif -ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y) -QT_INSTALL_LIBS += QtScriptTools -endif -ifeq ($(BR2_PACKAGE_QT_DECLARATIVE),y) -QT_INSTALL_LIBS += QtDeclarative -endif -ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y) -QT_INSTALL_LIBS += Qt3Support -endif -ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y) -QT_INSTALL_LIBS += QtOpenGL -endif -ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y) -QT_INSTALL_LIBS += pvrQWSWSEGL -endif -ifeq ($(BR2_PACKAGE_QT_TEST),y) -QT_INSTALL_LIBS += QtTest -endif - -QT_CONF_FILE = $(HOST_DIR)/bin/qt.conf - -# Since host programs and spec files have been moved to $(HOST_DIR), -# we need to tell qmake the new location of the various elements, -# through a qt.conf file. -define QT_INSTALL_QT_CONF - mkdir -p $(dir $(QT_CONF_FILE)) - echo "[Paths]" > $(QT_CONF_FILE) - echo "Prefix=$(HOST_DIR)" >> $(QT_CONF_FILE) - echo "Headers=$(STAGING_DIR)/usr/include" >> $(QT_CONF_FILE) - echo "Libraries=$(STAGING_DIR)/usr/lib" >> $(QT_CONF_FILE) - echo "Data=$(HOST_DIR)" >> $(QT_CONF_FILE) - echo "Binaries=$(HOST_DIR)/bin" >> $(QT_CONF_FILE) -endef - -# After running Qt normal installation process (which installs -# everything in the STAGING_DIR), we move host programs such as qmake, -# rcc or uic to the HOST_DIR so that they are available at the usual -# location. A qt.conf file is generated to make sure that all host -# programs still find all files they need. The .pc files are tuned to -# remove the sysroot path from them, since pkg-config already adds it -# automatically. -define QT_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install - mkdir -p $(HOST_DIR)/bin - mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_HOST_PROGRAMS)) $(HOST_DIR)/bin - ln -sf $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/mkspecs - $(QT_INSTALL_QT_CONF) - for i in moc uic rcc lupdate lrelease ; do \ - $(SED) "s,^$${i}_location=.*,$${i}_location=$(HOST_DIR)/bin/$${i}," \ - $(STAGING_DIR)/usr/lib/pkgconfig/Qt*.pc ; \ - done - $(SED) "s,$(STAGING_DIR)/,,g" $(STAGING_DIR)/usr/lib/pkgconfig/Qt*.pc -endef - -# Library installation -ifeq ($(BR2_PACKAGE_QT_SHARED),y) -define QT_INSTALL_TARGET_LIBS - mkdir -p $(TARGET_DIR)/usr/lib - for lib in $(QT_INSTALL_LIBS); do \ - cp -dpf $(STAGING_DIR)/usr/lib/lib$${lib}.so.* $(TARGET_DIR)/usr/lib ; \ - done -endef -endif - -# Plugin installation -define QT_INSTALL_TARGET_PLUGINS - if [ -d $(STAGING_DIR)/usr/lib/qt/plugins/ ] ; then \ - mkdir -p $(TARGET_DIR)/usr/lib/qt/plugins ; \ - cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins ; \ - fi -endef - -# Import installation -define QT_INSTALL_TARGET_IMPORTS - if [ -d $(STAGING_DIR)/usr/lib/qt/imports/ ] ; then \ - mkdir -p $(TARGET_DIR)/usr/lib/qt/imports ; \ - cp -dpfr $(STAGING_DIR)/usr/lib/qt/imports/* $(TARGET_DIR)/usr/lib/qt/imports ; \ - fi -endef - -# Fonts installation -ifeq ($(BR2_PACKAGE_QT_EMBEDDED),y) -ifneq ($(QT_FONTS),) -define QT_INSTALL_TARGET_FONTS - mkdir -p $(TARGET_DIR)/usr/lib/fonts - cp -dpf $(QT_FONTS) $(TARGET_DIR)/usr/lib/fonts -endef -ifneq ($(BR2_PACKAGE_QT_FONT_MICRO)$(BR2_PACKAGE_QT_FONT_FIXED),) -# as stated in the font source src/3rdparty/fonts/micro.bdf -# source src/3rdparty/fonts/5x7.bdf and source src/3rdparty/fonts/6x13.bdf -QT_LICENSE := $(QT_LICENSE), Public Domain (Micro/Fixed font) -endif -ifneq ($(BR2_PACKAGE_QT_FONT_HELVETICA)$(BR2_PACKAGE_QT_FONT_JAPANESE),) -QT_LICENSE := $(QT_LICENSE), Adobe Helvetica license (Helvetica/Japanese fonts) -QT_LICENSE_FILES += src/3rdparty/fonts/COPYING.Helvetica -endif -ifeq ($(BR2_PACKAGE_QT_FONT_UNIFONT),y) -QT_LICENSE := $(QT_LICENSE), Freeware (Unifont font) -QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.Unifont -endif -endif # QT_FONTS - -ifeq ($(BR2_PACKAGE_QT_FONT_TRUETYPE),y) -define QT_INSTALL_TARGET_FONTS_TTF - mkdir -p $(TARGET_DIR)/usr/lib/fonts - cp -dpf $(STAGING_DIR)/usr/lib/fonts/*.ttf $(TARGET_DIR)/usr/lib/fonts -endef -QT_LICENSE := $(QT_LICENSE), Bitstream license (DejaVu/Vera TrueType fonts) -QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.DejaVu \ - src/3rdparty/fonts/README.DejaVu \ - src/3rdparty/fonts/COPYRIGHT.Vera -endif -endif # BR2_PACKAGE_QT_EMBEDDED - -ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y) -define QT_INSTALL_TARGET_POWERVR - # Note: this overwrites the default powervr.ini provided by the ti-gfx - # package. - $(INSTALL) -D -m 0644 package/qt/powervr.ini \ - $(TARGET_DIR)/etc/powervr.ini -endef -endif - -ifeq ($(BR2_PACKAGE_QT_TRANSLATION_FILES),y) -define QT_INSTALL_TARGET_TRANSLATIONS - if [ -d $(STAGING_DIR)/usr/share/qt/translations/ ] ; then \ - mkdir -p $(TARGET_DIR)/usr/share/qt/translations ; \ - cp -dpfr $(STAGING_DIR)/usr/share/qt/translations/* $(TARGET_DIR)/usr/share/qt/translations ; \ - fi -endef -endif - -define QT_INSTALL_TARGET_CMDS - $(QT_INSTALL_TARGET_LIBS) - $(QT_INSTALL_TARGET_PLUGINS) - $(QT_INSTALL_TARGET_IMPORTS) - $(QT_INSTALL_TARGET_FONTS) - $(QT_INSTALL_TARGET_FONTS_TTF) - $(QT_INSTALL_TARGET_POWERVR) - $(QT_INSTALL_TARGET_TRANSLATIONS) -endef - -$(eval $(generic-package)) diff --git a/package/qt5/Config.in b/package/qt5/Config.in index 735824402e..a50b57a821 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -12,7 +12,6 @@ config BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on !BR2_ARM_CPU_ARMV4 comment "Qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library" - depends on !BR2_PACKAGE_QT depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS menuconfig BR2_PACKAGE_QT5 @@ -21,7 +20,6 @@ menuconfig BR2_PACKAGE_QT5 depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS - depends on !BR2_PACKAGE_QT select BR2_PACKAGE_QT5BASE help This option enables the Qt5 framework. Sub-options allow to diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk index e323a27f09..88ba1958dd 100644 --- a/package/qt5/qt5.mk +++ b/package/qt5/qt5.mk @@ -6,7 +6,7 @@ ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5_VERSION_MAJOR = 5.11 -QT5_VERSION = $(QT5_VERSION_MAJOR).1 +QT5_VERSION = $(QT5_VERSION_MAJOR).3 QT5_SOURCE_TARBALL_PREFIX = everywhere-src else QT5_VERSION_MAJOR = 5.6 diff --git a/package/qt5/qt53d/qt53d.hash b/package/qt5/qt53d/qt53d.hash index 86cc84f4ce..2da5500505 100644 --- a/package/qt5/qt53d/qt53d.hash +++ b/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.11/5.11.1/submodules/qt3d-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 cb8659e1e5541bea4c3684ac76a496f8e0cd6e3aa9e4e22eba1910095f5ed30d qt3d-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qt3d-everywhere-src-5.11.3.tar.xz.sha256 +sha256 04a55c21f365d897ec75042ee83f9ad59a847992c6f55fae0763ad2701d99eab qt3d-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPL diff --git a/package/qt5/qt5base/5.11.1/0001-qtbase-Fix-build-error-when-using-EGL.patch b/package/qt5/qt5base/5.11.3/0001-qtbase-Fix-build-error-when-using-EGL.patch similarity index 100% rename from package/qt5/qt5base/5.11.1/0001-qtbase-Fix-build-error-when-using-EGL.patch rename to package/qt5/qt5base/5.11.3/0001-qtbase-Fix-build-error-when-using-EGL.patch diff --git a/package/qt5/qt5base/5.11.1/0002-double-conversion-enable-for-aarch64_be.patch b/package/qt5/qt5base/5.11.3/0002-double-conversion-enable-for-aarch64_be.patch similarity index 100% rename from package/qt5/qt5base/5.11.1/0002-double-conversion-enable-for-aarch64_be.patch rename to package/qt5/qt5base/5.11.3/0002-double-conversion-enable-for-aarch64_be.patch diff --git a/package/qt5/qt5base/5.11.1/0003-double-conversion-enable-for-or1k.patch b/package/qt5/qt5base/5.11.3/0003-double-conversion-enable-for-or1k.patch similarity index 100% rename from package/qt5/qt5base/5.11.1/0003-double-conversion-enable-for-or1k.patch rename to package/qt5/qt5base/5.11.3/0003-double-conversion-enable-for-or1k.patch diff --git a/package/qt5/qt5base/5.11.1/0004-double-conversion-enable-for-microblaze.patch b/package/qt5/qt5base/5.11.3/0004-double-conversion-enable-for-microblaze.patch similarity index 100% rename from package/qt5/qt5base/5.11.1/0004-double-conversion-enable-for-microblaze.patch rename to package/qt5/qt5base/5.11.3/0004-double-conversion-enable-for-microblaze.patch diff --git a/package/qt5/qt5base/5.11.3/0005-double-conversion-enable-for-riscv.patch b/package/qt5/qt5base/5.11.3/0005-double-conversion-enable-for-riscv.patch new file mode 100644 index 0000000000..0bdfd4918d --- /dev/null +++ b/package/qt5/qt5base/5.11.3/0005-double-conversion-enable-for-riscv.patch @@ -0,0 +1,31 @@ +From 982801a21c3abad7025a7110275a49e200bc460f Mon Sep 17 00:00:00 2001 +From: Stefan O'Rear +Date: Thu, 17 Nov 2016 09:54:33 -0800 +Subject: [PATCH] double-conversion: enable for riscv + +Original double conversion patch [1] 'Add support for RISC-V' ported +to qtbase-5.11.3. + +[1] Upstream: https://github.com/google/double-conversion/commit/8316ed5bf405835558a476e528d8e1d0adf69dd9 + +Change-Id: Id88a356940f4d61dbcec3741a74db695e47af3f0 +Signed-off-by: Peter Seiderer +--- + src/3rdparty/double-conversion/include/double-conversion/utils.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h +index 485f680180..a736b14d1e 100644 +--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h ++++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h +@@ -66,6 +66,7 @@ + defined(__SH4__) || defined(__alpha__) || \ + defined(_MIPS_ARCH_MIPS32R2) || \ + defined(__AARCH64EL__) || defined(__AARCH64EB__) || \ ++ defined(__riscv) || \ + defined(__or1k__) || \ + defined(__microblaze__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 +-- +2.20.1 + diff --git a/package/qt5/qt5base/5.11.3/qt5base.hash b/package/qt5/qt5base/5.11.3/qt5base.hash new file mode 100644 index 0000000000..964bcf1ab9 --- /dev/null +++ b/package/qt5/qt5base/5.11.3/qt5base.hash @@ -0,0 +1,11 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtbase-everywhere-src-5.11.3.tar.xz.sha256 +sha256 c6bf887732b83ce072eb72eddb7497bedcdf9ca794e7ed91261a93f063623e1c qtbase-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 88ec689407cf2df9b2eb5c45952564d51ce73c129a3bdffb15c0d2d161ad7558 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 1f4fa3d202198f5d836993748eac9d91157e2cec7fb8426f56000a02a677cdc5 header.BSD +sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 src/3rdparty/harfbuzz-ng/COPYING diff --git a/package/qt5/qt5base/5.6.3/0003-libressl-add-fpermissive-gcc-flag-to-allow-compilati.patch b/package/qt5/qt5base/5.6.3/0003-libressl-add-fpermissive-gcc-flag-to-allow-compilati.patch new file mode 100644 index 0000000000..c8fc426f79 --- /dev/null +++ b/package/qt5/qt5base/5.6.3/0003-libressl-add-fpermissive-gcc-flag-to-allow-compilati.patch @@ -0,0 +1,29 @@ +From 62588f2d8267c67c2337004e83e80695280db9eb Mon Sep 17 00:00:00 2001 +From: James Grant +Date: Sun, 3 Mar 2019 17:29:29 +1300 +Subject: [PATCH 1/1] libressl - add -fpermissive gcc flag to allow + compilation. + +Workaround for 'const BIO_METHOD *' vs. 'BIO_METHOD *' changes to BIO_new() and BIO_s_mem() function signatures. + +Signed-off-by: James Grant +--- + src/network/ssl/ssl.pri | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri +index 29c47cd7..f0aad448 100644 +--- a/src/network/ssl/ssl.pri ++++ b/src/network/ssl/ssl.pri +@@ -77,7 +77,7 @@ android:!android-no-sdk: SOURCES += ssl/qsslsocket_openssl_android.cpp + LIBS_PRIVATE += $$OPENSSL_LIBS_RELEASE + } + +- QMAKE_CXXFLAGS += $$OPENSSL_CFLAGS ++ QMAKE_CXXFLAGS += $$OPENSSL_CFLAGS -fpermissive + LIBS_PRIVATE += $$OPENSSL_LIBS + win32: LIBS_PRIVATE += -lcrypt32 + } +-- +2.18.1 + diff --git a/package/qt5/qt5base/5.6.3/qt5base.hash b/package/qt5/qt5base/5.6.3/qt5base.hash index f113f82c73..2dae2e8bf0 100644 --- a/package/qt5/qt5base/5.6.3/qt5base.hash +++ b/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/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in index b9aba2d389..696e689758 100644 --- a/package/qt5/qt5base/Config.in +++ b/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" @@ -285,6 +286,12 @@ comment "icu support needs a toolchain w/ gcc >= 4.8, host gcc >= 4.8" depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ !BR2_HOST_GCC_AT_LEAST_4_8 +config BR2_PACKAGE_QT5BASE_OPENSSL + bool + # No OpenSSL 1.1.x support in Qt 5.6.x + default y if BR2_PACKAGE_QT5_VERSION_5_6 && BR2_PACKAGE_LIBRESSL + default y if BR2_PACKAGE_QT5_VERSION_LATEST && BR2_PACKAGE_OPENSSL + config BR2_PACKAGE_QT5BASE_TSLIB bool "Enable Tslib support" select BR2_PACKAGE_TSLIB diff --git a/package/qt5/qt5base/qt5base.hash b/package/qt5/qt5base/qt5base.hash index 80397e23cc..5316f03b10 100644 --- a/package/qt5/qt5base/qt5base.hash +++ b/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.11/5.11.1/submodules/qtbase-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 a0d047b2da5782c8332c59ae203984b64e4d5dc5f4ba9c0884fdbe753d0afb46 qtbase-everywhere-src-5.11.1.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 +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index 2b6fd39267..1c20b67e4b 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -33,7 +33,24 @@ else QT5BASE_DEPENDENCIES += pcre2 endif -QT5BASE_CONFIGURE_OPTS += $(call qstrip,$(BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS)) +ifeq ($(BR2_X86_CPU_HAS_SSE2),) +QT5BASE_CONFIGURE_OPTS += -no-sse2 +else ifeq ($(BR2_X86_CPU_HAS_SSE3),) +QT5BASE_CONFIGURE_OPTS += -no-sse3 +else ifeq ($(BR2_X86_CPU_HAS_SSSE3),) +QT5BASE_CONFIGURE_OPTS += -no-ssse3 +else ifeq ($(BR2_X86_CPU_HAS_SSE4),) +QT5BASE_CONFIGURE_OPTS += -no-sse4.1 +else ifeq ($(BR2_X86_CPU_HAS_SSE42),) +QT5BASE_CONFIGURE_OPTS += -no-sse4.2 +else ifeq ($(BR2_X86_CPU_HAS_AVX),) +QT5BASE_CONFIGURE_OPTS += -no-avx +else ifeq ($(BR2_X86_CPU_HAS_AVX2),) +QT5BASE_CONFIGURE_OPTS += -no-avx2 +else +# no buildroot BR2_X86_CPU_HAS_AVX512 option yet for qt configure +# option '-no-avx512' (available for latest only) +endif ifeq ($(BR2_PACKAGE_LIBDRM),y) QT5BASE_CONFIGURE_OPTS += -kms @@ -171,8 +188,15 @@ else QT5BASE_CONFIGURE_OPTS += -no-eglfs endif +ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y) +# No OpenSSL 1.1.x support in Qt 5.6.x +# LibreSSL works with shared linkage only and -fpermissive patch +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_LIBRESSL),-openssl-linked,-no-openssl) +QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBRESSL),openssl) +else QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl) QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_OPENSSL),openssl) +endif QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),-fontconfig,-no-fontconfig) QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),fontconfig) @@ -271,6 +295,15 @@ define QT5BASE_CONFIGURE_ARCH_CONFIG endef endif +# This allows to use ccache when available +define QT5BASE_CONFIGURE_HOSTCC + $(SED) 's,^QMAKE_CC\s*=.*,QMAKE_CC = $(HOSTCC),' $(@D)/mkspecs/common/g++-base.conf + $(SED) 's,^QMAKE_CXX\s*=.*,QMAKE_CXX = $(HOSTCXX),' $(@D)/mkspecs/common/g++-base.conf +endef + +# Must be last so can override all options set by Buildroot +QT5BASE_CONFIGURE_OPTS += $(call qstrip,$(BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS)) + define QT5BASE_CONFIGURE_CMDS mkdir -p $(@D)/mkspecs/devices/linux-buildroot-g++/ sed 's/@EGLFS_DEVICE@/$(QT5BASE_EGLFS_DEVICE)/g' \ @@ -281,10 +314,11 @@ define QT5BASE_CONFIGURE_CMDS $(QT5BASE_CONFIGURE_CONFIG_FILE) touch $(QT5BASE_ARCH_CONFIG_FILE) $(QT5BASE_CONFIGURE_ARCH_CONFIG) + $(QT5BASE_CONFIGURE_HOSTCC) (cd $(@D); \ $(TARGET_MAKE_ENV) \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ - MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" \ + MAKEFLAGS="-j$(PARALLEL_JOBS) $(MAKEFLAGS)" \ ./configure \ -v \ -prefix /usr \ diff --git a/package/qt5/qt5canvas3d/qt5canvas3d.hash b/package/qt5/qt5canvas3d/qt5canvas3d.hash index 2f40e81a5c..4fc7c613b0 100644 --- a/package/qt5/qt5canvas3d/qt5canvas3d.hash +++ b/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.11/5.11.1/submodules/qtcanvas3d-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 0fb51102bdd595673e2cc4f4878b8fb8b7da4c8b1f026885a75912e2421d2ede qtcanvas3d-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtcanvas3d-everywhere-src-5.11.3.tar.xz.sha256 +sha256 d5a004848588c1c53ea7ed9d36bb5bfe3a813ffc45290066d2f6cfcace072138 qtcanvas3d-everywhere-src-5.11.3.tar.xz # Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 diff --git a/package/qt5/qt5canvas3d/qt5canvas3d.mk b/package/qt5/qt5canvas3d/qt5canvas3d.mk index 3cdf59a157..ef5b373d02 100644 --- a/package/qt5/qt5canvas3d/qt5canvas3d.mk +++ b/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) diff --git a/package/qt5/qt5charts/qt5charts.hash b/package/qt5/qt5charts/qt5charts.hash index 705384d6c3..2519b8f13c 100644 --- a/package/qt5/qt5charts/qt5charts.hash +++ b/package/qt5/qt5charts/qt5charts.hash @@ -1,8 +1,8 @@ # 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.1/submodules/qtcharts-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 62f65f08b08c1fdce4f358103be1f7d7aba54d21774e1a9bfff91314ad667a2b qtcharts-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtcharts-everywhere-src-5.11.3.tar.xz.sha256 +sha256 4798f3ebc4d937d1c190db7ff718ad5affa907caa56b5557e593f6b5a60d95dc qtcharts-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5connectivity/5.11.3/qt5connectivity.hash b/package/qt5/qt5connectivity/5.11.3/qt5connectivity.hash new file mode 100644 index 0000000000..54fda648cd --- /dev/null +++ b/package/qt5/qt5connectivity/5.11.3/qt5connectivity.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtconnectivity-everywhere-src-5.11.3.tar.xz.sha256 +sha256 148cfcbceb3d0a70059f4d92fa069baf56babb627b16a4203b318ca6f0d0b32a qtconnectivity-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5connectivity/5.6.3/qt5connectivity.hash b/package/qt5/qt5connectivity/5.6.3/qt5connectivity.hash new file mode 100644 index 0000000000..c1a03c5e00 --- /dev/null +++ b/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/package/qt5/qt5connectivity/qt5connectivity.hash b/package/qt5/qt5connectivity/qt5connectivity.hash index be9d3ab1b6..5316f03b10 100644 --- a/package/qt5/qt5connectivity/qt5connectivity.hash +++ b/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.11/5.11.1/submodules/qtconnectivity-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 738ed4eb058334fe7cfd6d68f2e2e7c9b2a97f3477b36ae26ed82703dcaae657 qtconnectivity-everywhere-src-5.11.1.tar.xz +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/package/qt5/qt5declarative/5.11.3/0001-qsgtexture-fix-debug-build-with-uclibc.patch b/package/qt5/qt5declarative/5.11.3/0001-qsgtexture-fix-debug-build-with-uclibc.patch new file mode 100644 index 0000000000..1c0f6eccc5 --- /dev/null +++ b/package/qt5/qt5declarative/5.11.3/0001-qsgtexture-fix-debug-build-with-uclibc.patch @@ -0,0 +1,45 @@ +From 2a5711651bee9d021733da19126a71aeda45e646 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 29 Nov 2018 23:33:10 +0100 +Subject: [PATCH] qsgtexture: fix debug build with uclibc + +Debug build of gsgtexture fails on uclibc since version 5.11 and +https://github.com/qt/qtdeclarative/commit/7c507eaac3f848f92f2ebdafe8ded4a064d68351: + +scenegraph/util/qsgtexture.cpp:69:22: fatal error: execinfo.h: No such file or directory + #include + +Indeed, !defined(__UCLIBC__) has been replaced by defined(__GBLIBC__) to +fix build on musl but as a result, build fails on uclibc because uclibc +also defines __GLIBC__ (and it does not have execinfo like musl) + +This error is raised only when building in debug mode because +CAN_BACKTRACE_EXECINFO is undefined if QT_NO_DEBUG is set + +So keep defined(__GLIBC__), but put back !defined(__UCLIBC__) + +Fixes: + - http://autobuild.buildroot.org/results/6fce0ce5aea943e097532efbbc8d1e28f41e5866 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/qt/qtdeclarative/pull/4] +--- + src/quick/scenegraph/util/qsgtexture.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/quick/scenegraph/util/qsgtexture.cpp b/src/quick/scenegraph/util/qsgtexture.cpp +index fea92a512..a26191006 100644 +--- a/src/quick/scenegraph/util/qsgtexture.cpp ++++ b/src/quick/scenegraph/util/qsgtexture.cpp +@@ -53,7 +53,7 @@ + #endif + #include + +-#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) && defined(__GLIBC__) ++#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) && defined(__GLIBC__) && !defined(__UCLIBC__) + #define CAN_BACKTRACE_EXECINFO + #endif + +-- +2.14.1 + diff --git a/package/qt5/qt5declarative/qt5declarative.hash b/package/qt5/qt5declarative/qt5declarative.hash index 830f95478f..3ce4e50250 100644 --- a/package/qt5/qt5declarative/qt5declarative.hash +++ b/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.11/5.11.1/submodules/qtdeclarative-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 9ecf5ef6bf618fcb6719a4b22e3d9f9ce7623c2344667038171d5662624c4f3a qtdeclarative-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtdeclarative-everywhere-src-5.11.3.tar.xz.sha256 +sha256 8e263621d706f1c4def5d71212a6ae37b0d3c378da89d9e3e5fc0b5557721ae6 qtdeclarative-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash index e153a1dccc..36dd345268 100644 --- a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash +++ b/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.11/5.11.1/submodules/qtgraphicaleffects-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 d9d27236696221098e832d6fee8c0fbb2834b1670d9ca1e5bf3d0fbc8e5448f3 qtgraphicaleffects-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtgraphicaleffects-everywhere-src-5.11.3.tar.xz.sha256 +sha256 14d86983fcdd119daefad235ffee7d8ca691e6074ef360cb6347b8aae66f57e2 qtgraphicaleffects-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5imageformats/qt5imageformats.hash b/package/qt5/qt5imageformats/qt5imageformats.hash index 49c1590823..1c1f81bbed 100644 --- a/package/qt5/qt5imageformats/qt5imageformats.hash +++ b/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.11/5.11.1/submodules/qtimageformats-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 eb50deeccce12ede0a5faeb3e411f34920ba43092c65f063ab23d37970f65616 qtimageformats-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtimageformats-everywhere-src-5.11.3.tar.xz.sha256 +sha256 04b261bc3d7a277fbe9ac8619ecd037d7089b356eaee41b2d41d7a2ff58b087f qtimageformats-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5location/5.11.1/0001-qdeclarativegeomap-fix-building-with-GCC-5.x.patch b/package/qt5/qt5location/5.11.3/0001-qdeclarativegeomap-fix-building-with-GCC-5.x.patch similarity index 100% rename from package/qt5/qt5location/5.11.1/0001-qdeclarativegeomap-fix-building-with-GCC-5.x.patch rename to package/qt5/qt5location/5.11.3/0001-qdeclarativegeomap-fix-building-with-GCC-5.x.patch diff --git a/package/qt5/qt5location/qt5location.hash b/package/qt5/qt5location/qt5location.hash index 14e548ed35..be0ac7c31f 100644 --- a/package/qt5/qt5location/qt5location.hash +++ b/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.11/5.11.1/submodules/qtlocation-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 172c9a39e8267739e20d60bda45de3db02b13163245776bdc696d8c5ab5f790f qtlocation-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtlocation-everywhere-src-5.11.3.tar.xz.sha256 +sha256 58e498a5b496e3a38925398b244bbd57ba68cbb482f2a0d2ae51572e037100eb qtlocation-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5location/qt5location.mk b/package/qt5/qt5location/qt5location.mk index 18253e9965..da0aad7961 100644 --- a/package/qt5/qt5location/qt5location.mk +++ b/package/qt5/qt5location/qt5location.mk @@ -44,6 +44,11 @@ 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/ @@ -59,6 +64,7 @@ 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) diff --git a/package/qt5/qt5multimedia/qt5multimedia.hash b/package/qt5/qt5multimedia/qt5multimedia.hash index cbdd5096da..851cbc3539 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.hash +++ b/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.11/5.11.1/submodules/qtmultimedia-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 f28bb57890b4666a9aafaa116a30c51dedb0f23b60a510280a27eb032b58c90c qtmultimedia-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtmultimedia-everywhere-src-5.11.3.tar.xz.sha256 +sha256 728078eff7dc21495d704a7cd17c604d74604604b45a3c58271608f90dea3c41 qtmultimedia-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 @@ -14,3 +14,4 @@ sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE. sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 c1d75c15db4409bcbb182180d582f410a263dc9a631cd546b256e95f1da42165 examples/multimedia/spectrum/3rdparty/fftreal/license.txt diff --git a/package/qt5/qt5multimedia/qt5multimedia.mk b/package/qt5/qt5multimedia/qt5multimedia.mk index c97aebfd95..d044b7b96c 100644 --- a/package/qt5/qt5multimedia/qt5multimedia.mk +++ b/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/package/qt5/qt5quickcontrols/qt5quickcontrols.hash b/package/qt5/qt5quickcontrols/qt5quickcontrols.hash index 8fb7609769..25c41c6e34 100644 --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.hash +++ b/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.11/5.11.1/submodules/qtquickcontrols-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 baea7f59513ffade3f8041c1756722334b7d04245667fa8faaeace07a430c656 qtquickcontrols-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols-everywhere-src-5.11.3.tar.xz.sha256 +sha256 4e4e5da02ab0b06d35b09356170013cfe36a773d15f92281f7e6d085c3f07537 qtquickcontrols-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/package/qt5/qt5quickcontrols2/5.11.3/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/5.11.3/qt5quickcontrols2.hash new file mode 100644 index 0000000000..b1caf464a1 --- /dev/null +++ b/package/qt5/qt5quickcontrols2/5.11.3/qt5quickcontrols2.hash @@ -0,0 +1,7 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols2-everywhere-src-5.11.3.tar.xz.sha256 +sha256 f45630b652585b62204405b28432977e67c148ca5f1789a794654fd6c1bad086 qtquickcontrols2-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 d2cfc059acb4abd8e513cd0a73cd8489f34cbafa7bc34d5d31fb3210821cf8ca LICENSE.GPLv3 +sha256 9e63a04ce021b8bf811b30881fa51c8c3db88afeead942cd59322f2fb69c75bc LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash index 6f5bf29400..01fe5dcd61 100644 --- a/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash +++ b/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/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash index bdd3088561..5316f03b10 100644 --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash +++ b/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.11/5.11.1/submodules/qtquickcontrols2-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 bdb066fa0d51ad36a2c756d4cba63892587638e5df9b9b6ee63b963ff39ec442 qtquickcontrols2-everywhere-src-5.11.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/package/qt5/qt5script/qt5script.hash b/package/qt5/qt5script/qt5script.hash index 27d205c82e..245d66be63 100644 --- a/package/qt5/qt5script/qt5script.hash +++ b/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.11/5.11.1/submodules/qtscript-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 1c430fd06e8eb25dbca43422453a16588d1aade936770df2e4b4e8961659da7c qtscript-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtscript-everywhere-src-5.11.3.tar.xz.sha256 +sha256 bb84f3cc581078df4ff76705c5623cd88287f70f7405cbccf99e6fb6dedbec08 qtscript-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/package/qt5/qt5scxml/qt5scxml.hash b/package/qt5/qt5scxml/qt5scxml.hash index 7c153f0507..d2184c94e6 100644 --- a/package/qt5/qt5scxml/qt5scxml.hash +++ b/package/qt5/qt5scxml/qt5scxml.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.1/submodules/qtscxml-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 f0463f02c0bb81d214b04ec82ff0d22744cdae1966cd8dfb53cd2b31ad233338 qtscxml-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtscxml-everywhere-src-5.11.3.tar.xz.sha256 +sha256 13172767eda404f1b71ab35998a95af6633d700d2417fff3648d8c6dc6af68d7 qtscxml-everywhere-src-5.11.3.tar.xz # Hashes for license files: diff --git a/package/qt5/qt5sensors/qt5sensors.hash b/package/qt5/qt5sensors/qt5sensors.hash index 6917b8f593..a8d325d32a 100644 --- a/package/qt5/qt5sensors/qt5sensors.hash +++ b/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.11/5.11.1/submodules/qtsensors-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 cbe90f58b73c344d67098eaa333f2d2562fa7a9f1794448e7543ff696831c0fa qtsensors-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtsensors-everywhere-src-5.11.3.tar.xz.sha256 +sha256 a75753d1d5607d4cb27b1849ea9612a65bb3a5271bb31bf0817edd143b620859 qtsensors-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5serialbus/5.11.3/qt5serialbus.hash b/package/qt5/qt5serialbus/5.11.3/qt5serialbus.hash new file mode 100644 index 0000000000..7d8d9b3419 --- /dev/null +++ b/package/qt5/qt5serialbus/5.11.3/qt5serialbus.hash @@ -0,0 +1,8 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtserialbus-everywhere-src-5.11.3.tar.xz.sha256 +sha256 5664def35d4ad4aedef14bc529679851450262ea81477a69031ba81aa614c16d qtserialbus-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5serialbus/5.6.3/qt5serialbus.hash b/package/qt5/qt5serialbus/5.6.3/qt5serialbus.hash new file mode 100644 index 0000000000..6715392eba --- /dev/null +++ b/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/package/qt5/qt5serialbus/qt5serialbus.hash b/package/qt5/qt5serialbus/qt5serialbus.hash index 202e045123..5316f03b10 100644 --- a/package/qt5/qt5serialbus/qt5serialbus.hash +++ b/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.11/5.11.1/submodules/qtserialbus-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 d3bbee3c579a6d7a06956d653bcdfc2e2cd054d639dcaff08f45efb94d6b554a qtserialbus-everywhere-src-5.11.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/package/qt5/qt5serialport/5.11.3/qt5serialport.hash b/package/qt5/qt5serialport/5.11.3/qt5serialport.hash new file mode 100644 index 0000000000..63e0cb61c1 --- /dev/null +++ b/package/qt5/qt5serialport/5.11.3/qt5serialport.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtserialport-everywhere-src-5.11.3.tar.xz.mirrorlist +sha256 96c45e6d0d470626815f82b38ee48bf941e1bbfc10863087b69cc5f7bb766bda qtserialport-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5serialport/5.6.3/qt5serialport.hash b/package/qt5/qt5serialport/5.6.3/qt5serialport.hash new file mode 100644 index 0000000000..e6f46c1c57 --- /dev/null +++ b/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/package/qt5/qt5serialport/qt5serialport.hash b/package/qt5/qt5serialport/qt5serialport.hash index 965124f949..5316f03b10 100644 --- a/package/qt5/qt5serialport/qt5serialport.hash +++ b/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.11/5.11.1/submodules/qtserialport-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 56a7993821d556d84494c6dfc22759eb6f2a979e21685403a2b9da75f0ba64a3 qtserialport-everywhere-src-5.11.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/package/qt5/qt5svg/qt5svg.hash b/package/qt5/qt5svg/qt5svg.hash index 9c9f53fcba..3c2f0fe474 100644 --- a/package/qt5/qt5svg/qt5svg.hash +++ b/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.11/5.11.1/submodules/qtsvg-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 1d6aff3e3304ceec670c0f19029771ff21279553d561158063436b26c18b3037 qtsvg-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtsvg-everywhere-src-5.11.3.tar.xz.sha256 +sha256 21ea2c9c4e78101e98163bc19e463b8d8cdffa20e1ccd523ccc925b9f2cd4491 qtsvg-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5tools/qt5tools.hash b/package/qt5/qt5tools/qt5tools.hash index 015735215f..94f1254b03 100644 --- a/package/qt5/qt5tools/qt5tools.hash +++ b/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.11/5.11.1/submodules/qttools-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 b7fb186f92aedb922c4e7f57ff276bbf90caf0087a2a980f704bad9ac44514fe qttools-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qttools-everywhere-src-5.11.3.tar.xz.sha256 +sha256 c205e81bba9b87c6186604a05ab48e4e6cac0cd511525749dfd00b107b6f9f8e qttools-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash b/package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash index 266fc3b695..0cc4f9c82e 100644 --- a/package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash +++ b/package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash @@ -1,3 +1,6 @@ +# 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 diff --git a/package/qt5/qt5virtualkeyboard/5.11.3/qt5virtualkeyboard.hash b/package/qt5/qt5virtualkeyboard/5.11.3/qt5virtualkeyboard.hash new file mode 100644 index 0000000000..c7d27870b2 --- /dev/null +++ b/package/qt5/qt5virtualkeyboard/5.11.3/qt5virtualkeyboard.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz.sha256 +sha256 8c5c40245a9dd2e9e504ce2d47d45079d8280436146797b24b8115ef163b4b9e qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 7a45a9769d19545480a241230e6ea520b5156fac00930dcd69b6886749743d10 src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt +sha256 05cc719deafd0ab083b03296bb2911de10d116953b626a7629b9ca59938038b1 src/virtualkeyboard/3rdparty/openwnn/NOTICE +sha256 b5830d96fb5a7e7e7ebcc295f352846b4b998e78fdc8f9aa68e134d2e4b39986 src/virtualkeyboard/3rdparty/pinyin/NOTICE +sha256 9400a6128693d2f25653698e695f554660c71efccc8c21af28bf143e35199db6 src/virtualkeyboard/3rdparty/tcime/COPYING diff --git a/package/qt5/qt5virtualkeyboard/Config.in b/package/qt5/qt5virtualkeyboard/Config.in index 57b0c703b0..3a60c27332 100644 --- a/package/qt5/qt5virtualkeyboard/Config.in +++ b/package/qt5/qt5virtualkeyboard/Config.in @@ -53,4 +53,10 @@ config BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING Lipi Toolkit (LipiTk) is an open source toolkit for online Handwriting Recognition. +config BR2_PACKAGE_QT5VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION + bool "Arrow key navigation" + help + Allows controlling the keyboard using the arrow and return + keys. + endif diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash index 9270366b93..5316f03b10 100644 --- a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash @@ -1,12 +1,2 @@ -# 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 - -# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.1/submodules/qtvirtualkeyboard-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 5b330dcc770976a2cfb8d85711d72a57c9764c1a9efb889c91e81f6071bbbf9b qtvirtualkeyboard-everywhere-src-5.11.1.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 +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk index 4aa5fc9575..8ce3169774 100644 --- a/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk +++ b/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk @@ -53,6 +53,10 @@ QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/lipi-toolkit/MI endif endif +ifeq ($(BR2_PACKAGE_QT5VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION),y) +QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+=arrow-key-navigation +endif + ifdef QT5VIRTUALKEYBOARD_3RDPARTY_PARTS define QT5VIRTUALKEYBOARD_INSTALL_TARGET_3RDPARTY_PARTS cp -dpfr $(STAGING_DIR)/usr/qtvirtualkeyboard $(TARGET_DIR)/usr diff --git a/package/qt5/qt5wayland/Config.in b/package/qt5/qt5wayland/Config.in index 0182d3ca56..0d5a108912 100644 --- a/package/qt5/qt5wayland/Config.in +++ b/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/package/qt5/qt5wayland/qt5wayland.hash b/package/qt5/qt5wayland/qt5wayland.hash index 947778345e..40d1bb0b26 100644 --- a/package/qt5/qt5wayland/qt5wayland.hash +++ b/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.11/5.11.1/submodules/qtwayland-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 e09abc202082f719b868f595a46e0df5c903fac53cc40a7188b223a2bea644ea qtwayland-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtwayland-everywhere-src-5.11.3.tar.xz.sha256 +sha256 62c94f29e461c849e479f39d21577b0c72f0f084250e126021edcf0719271fb2 qtwayland-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5wayland/qt5wayland.mk b/package/qt5/qt5wayland/qt5wayland.mk index 98e592f03d..d6fb6e1888 100644 --- a/package/qt5/qt5wayland/qt5wayland.mk +++ b/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 diff --git a/package/qt5/qt5webchannel/qt5webchannel.hash b/package/qt5/qt5webchannel/qt5webchannel.hash index 31afb7790b..7c87683ba8 100644 --- a/package/qt5/qt5webchannel/qt5webchannel.hash +++ b/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.11/5.11.1/submodules/qtwebchannel-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 b9a476af15ae0c68a930f0b0aa8d988b8dc3e63c3d2134abebbf2148d6942e87 qtwebchannel-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtwebchannel-everywhere-src-5.11.3.tar.xz.sha256 +sha256 3c254fa41b1af09c1e951131f3a1336dee70a15cbb8a82112488b38d29572df3 qtwebchannel-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash index ad34e0d8b4..730352611a 100644 --- a/package/qt5/qt5webengine/qt5webengine.hash +++ b/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.11/5.11.1/submodules/qtwebengine-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 389d9f42ca393ac11ec8932ce9771766dec91a4c761ffb685cc429c2a760d48c qtwebengine-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtwebengine-everywhere-src-5.11.3.tar.xz.sha256 +sha256 5bb49ead71b851db4dc56f8fd97e0db72a268b22104129a06bac201d55d3b8fe qtwebengine-everywhere-src-5.11.3.tar.xz diff --git a/package/qt5/qt5webkit/Config.in b/package/qt5/qt5webkit/Config.in index 72c641b9f7..e8008f7bab 100644 --- a/package/qt5/qt5webkit/Config.in +++ b/package/qt5/qt5webkit/Config.in @@ -3,10 +3,13 @@ config BR2_PACKAGE_QT5WEBKIT depends on !BR2_STATIC_LIBS depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu + depends on BR2_INSTALL_LIBSTDCPP # leveldb depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu + depends on BR2_TOOLCHAIN_HAS_THREADS # leveldb depends on !BR2_BINFMT_FLAT # icu # assumes a FPU is available on MIPS depends on !BR2_MIPS_SOFT_FLOAT + select BR2_PACKAGE_LEVELDB select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5BASE_ICU select BR2_PACKAGE_QT5BASE_GUI diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk index e8d368fb01..a0a0998d12 100644 --- a/package/qt5/qt5webkit/qt5webkit.mk +++ b/package/qt5/qt5webkit/qt5webkit.mk @@ -16,7 +16,7 @@ endif QT5WEBKIT_SOURCE = qtwebkit-opensource-src-$(QT5WEBKIT_VERSION).tar.xz QT5WEBKIT_DEPENDENCIES = \ host-bison host-flex host-gperf host-python host-ruby \ - qt5base sqlite + leveldb qt5base sqlite QT5WEBKIT_INSTALL_STAGING = YES QT5WEBKIT_LICENSE_FILES = Source/WebCore/LICENSE-LGPL-2 Source/WebCore/LICENSE-LGPL-2.1 @@ -45,7 +45,7 @@ endef QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK define QT5WEBKIT_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake) + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake WEBKIT_CONFIG+=use_system_leveldb) endef define QT5WEBKIT_BUILD_CMDS diff --git a/package/qt5/qt5websockets/qt5websockets.hash b/package/qt5/qt5websockets/qt5websockets.hash index 2c977b003d..0df4ac98fa 100644 --- a/package/qt5/qt5websockets/qt5websockets.hash +++ b/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.11/5.11.1/submodules/qtwebsockets-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 7aaa12f719e853a195a670ff51697b73914e37c94ed2216d53a2d9e0861748ae qtwebsockets-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtwebsockets-everywhere-src-5.11.3.tar.xz.sha256 +sha256 021090c1a92f11fcf2914168741c1364235896793685b7fae2bc23e3dd55d5b9 qtwebsockets-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qt5/qt5x11extras/5.11.3/qt5x11extras.hash b/package/qt5/qt5x11extras/5.11.3/qt5x11extras.hash new file mode 100644 index 0000000000..9a0e85d8fd --- /dev/null +++ b/package/qt5/qt5x11extras/5.11.3/qt5x11extras.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtx11extras-everywhere-src-5.11.3.tar.xz.mirrorlist +sha256 f99eebe685f7cdbb71cd62903c2b2511548345535841bcc3f6b662205815cd85 qtx11extras-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/package/qt5/qt5x11extras/qt5x11extras.hash b/package/qt5/qt5x11extras/5.6.3/qt5x11extras.hash similarity index 64% rename from package/qt5/qt5x11extras/qt5x11extras.hash rename to package/qt5/qt5x11extras/5.6.3/qt5x11extras.hash index 8beabd2934..b34c059983 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.hash +++ b/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.11/5.11.1/submodules/qtx11extras-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 bcf219c8befb9777f891ed7844799f26aecb6d4d92064274277822f261bd8c65 qtx11extras-everywhere-src-5.11.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/package/qt5/qt5x11extras/qt5x11extras.mk b/package/qt5/qt5x11extras/qt5x11extras.mk index c439e2d31d..9d54c11061 100644 --- a/package/qt5/qt5x11extras/qt5x11extras.mk +++ b/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/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash index 67e90059d9..5c66a54eeb 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash +++ b/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.11/5.11.1/submodules/qtxmlpatterns-everywhere-src-5.11.1.tar.xz.mirrorlist -sha256 6117e120c87b32dd07877dd0a6bf862b6285cb0d8b547190882980682f53af58 qtxmlpatterns-everywhere-src-5.11.1.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtxmlpatterns-everywhere-src-5.11.3.tar.xz.sha256 +sha256 8bd00be30722570d22382b99679d07787a2d62d4891d1c47d738d634e2db0eee qtxmlpatterns-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/package/qtuio/0001-TuioServer.cpp-add-missing-include.patch b/package/qtuio/0001-TuioServer.cpp-add-missing-include.patch deleted file mode 100644 index 99337026df..0000000000 --- a/package/qtuio/0001-TuioServer.cpp-add-missing-include.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 4dd7cad8c95484a882eaa2aeaa74595a3dd93a07 Mon Sep 17 00:00:00 2001 -From: Stephan Hoffmann -Date: Sun, 2 Dec 2012 13:36:41 +0100 -Subject: [PATCH] TuioServer.cpp: add missing include - -If usleep() is used the header has to be included - -Signed-off-by: Stephan Hoffmann ---- - src/3rdparty/tuio/TuioServer.cpp | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/src/3rdparty/tuio/TuioServer.cpp b/src/3rdparty/tuio/TuioServer.cpp -index f17bef9..851144c 100644 ---- a/src/3rdparty/tuio/TuioServer.cpp -+++ b/src/3rdparty/tuio/TuioServer.cpp -@@ -25,6 +25,8 @@ using namespace TUIO; - using namespace osc; - - #ifndef WIN32 -+#include -+ - static void* ThreadFunc( void* obj ) - #else - static DWORD WINAPI ThreadFunc( LPVOID obj ) --- -1.7.0.4 - diff --git a/package/qtuio/0002-dont-append-_d-for-debug.patch b/package/qtuio/0002-dont-append-_d-for-debug.patch deleted file mode 100644 index fbaaf19222..0000000000 --- a/package/qtuio/0002-dont-append-_d-for-debug.patch +++ /dev/null @@ -1,29 +0,0 @@ -[PATCH] don't append _d to library name when Qt is built with debug support - -qtuio appends _d to the library name when Qt was built with debug support, -breaking linking step for examples and staging/target install. - -There's no real advantage to the _d suffix, so simply fix it by removing -the logic appending _d. - -Signed-off-by: Peter Korsgaard ---- - src/qTUIO.pro | 5 ----- - 1 file changed, 5 deletions(-) - -Index: qtuio-abe4973ff6/src/qTUIO.pro -=================================================================== ---- qtuio-abe4973ff6.orig/src/qTUIO.pro -+++ qtuio-abe4973ff6/src/qTUIO.pro -@@ -16,11 +16,6 @@ - win32:LIBS += ws2_32.lib \ - winmm.lib - --# Changes the name of the target, when is debug mode --CONFIG( debug, debug|release ) { -- TARGET = $${TARGET}_d -- BUILD_NAME = debug --} - CONFIG( release, debug|release ):BUILD_NAME = release - - # Temporary folders for the auxiliar files diff --git a/package/qtuio/Config.in b/package/qtuio/Config.in deleted file mode 100644 index f46f1dd407..0000000000 --- a/package/qtuio/Config.in +++ /dev/null @@ -1,22 +0,0 @@ -config BR2_PACKAGE_QTUIO - bool "qtuio" - depends on BR2_PACKAGE_QT - depends on BR2_PACKAGE_QT_GUI_MODULE - help - Implementation of an interface connecting TUIO messages - and QT events - - https://github.com/x29a/qTUIO - -if BR2_PACKAGE_QTUIO - -config BR2_QTUIO_EXAMPLES - bool "qtuio examples" - help - Build and install qtuio examples - -endif - -comment "qtuio depends on QT gui module" - depends on BR2_PACKAGE_QT - depends on !BR2_PACKAGE_QT_GUI_MODULE diff --git a/package/qtuio/qtuio.hash b/package/qtuio/qtuio.hash deleted file mode 100644 index bb9bdb1848..0000000000 --- a/package/qtuio/qtuio.hash +++ /dev/null @@ -1,2 +0,0 @@ -# locally computed -sha256 65308adb59e910d552d4885772c7f99c7d19dec5e924d852a5a39a1972f8d223 qtuio-abe4973ff60654aad9df7037c4ca15c45f811d24.tar.gz diff --git a/package/qtuio/qtuio.mk b/package/qtuio/qtuio.mk deleted file mode 100644 index 6b90a2c06f..0000000000 --- a/package/qtuio/qtuio.mk +++ /dev/null @@ -1,72 +0,0 @@ -################################################################################ -# -# qtuio -# -################################################################################ - -QTUIO_VERSION = abe4973ff60654aad9df7037c4ca15c45f811d24 -QTUIO_SITE = $(call github,x29a,qTUIO,$(QTUIO_VERSION)) -QTUIO_INSTALL_STAGING = YES -QTUIO_DEPENDENCIES = qt - -QTUIO_LICENSE = GPL-3.0+ -QTUIO_LICENSE_FILES = COPYING - -# The pong example needs QtOpenGL support, which might become available -# some time in the future. Then add pong to the list of examples. -QTUIO_EXAMPLES = dials fingerpaint knobs pinchzoom - -ifeq ($(BR2_QTUIO_EXAMPLES),y) -define QTUIO_CONFIGURE_EXAMPLES - for example in $(QTUIO_EXAMPLES) ; do \ - (cd $(@D)/examples/$${example} && $(TARGET_MAKE_ENV) $(QT_QMAKE)) || exit 1; \ - done -endef -endif - -define QTUIO_CONFIGURE_CMDS - cd $(@D)/src && $(TARGET_MAKE_ENV) $(QT_QMAKE) - $(QTUIO_CONFIGURE_EXAMPLES) -endef - -ifeq ($(BR2_QTUIO_EXAMPLES),y) -define QTUIO_BUILD_EXAMPLES - for example in $(QTUIO_EXAMPLES) ; do \ - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/examples/$${example} || exit 1; \ - done -endef -endif - -define QTUIO_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src - $(QTUIO_BUILD_EXAMPLES) -endef - -# Unfortunately, there is no working "install" target available -ifeq ($(BR2_QTUIO_EXAMPLES),y) -define QTUIO_INSTALL_EXAMPLES - for example in $(QTUIO_EXAMPLES) ; do \ - $(INSTALL) -D -m 0755 $(@D)/examples/$${example}/$${example} $(TARGET_DIR)/usr/share/qtuio/$${example} || exit 1 ; \ - done -endef -endif - -ifeq ($(BR2_PACKAGE_QT_STATIC),y) -QTUIO_LIBRARY = libqTUIO.a -else -QTUIO_LIBRARY = libqTUIO.so* -define QTUIO_INSTALL_TARGET_LIBRARY - cp -dpf $(@D)/lib/$(QTUIO_LIBRARY) $(TARGET_DIR)/usr/lib -endef -endif - -define QTUIO_INSTALL_TARGET_CMDS - $(QTUIO_INSTALL_TARGET_LIBRARY) - $(QTUIO_INSTALL_EXAMPLES) -endef - -define QTUIO_INSTALL_STAGING_CMDS - cp -dpf $(@D)/lib/$(QTUIO_LIBRARY) $(STAGING_DIR)/usr/lib -endef - -$(eval $(generic-package)) diff --git a/package/quagga/0002-configure-fix-static-linking-with-readline.patch b/package/quagga/0002-configure-fix-static-linking-with-readline.patch deleted file mode 100644 index 243dfaf75d..0000000000 --- a/package/quagga/0002-configure-fix-static-linking-with-readline.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 62ede7482da15d276b880f6d8540dce400dc50a7 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 26 Nov 2015 15:59:07 +0100 -Subject: [PATCH] configure: fix static linking with readline - -When static linking is used, the order of the libraries is important, -and the libraries using a symbol from another library should be listed -*before* the library providing that symbol (see -http://eli.thegreenplace.net/2013/07/09/library-order-in-static-linking) -for details. - -When vtysh is linked statically, the command line contains "-lcurses --lreadline", which causes a build failure due to unresolved -symbols. This is because readline is using symbols from the curses -library: the order should be the opposite. - -This patch fixes that problem by putting the -lreadline at the -beginning of the LIBREADLINE variable calcualted by the configure -script. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 3003e62..290953d 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -652,7 +652,7 @@ dnl [TODO] on Linux, and in [TODO] on Solaris. - )] - )] - ) -- AC_CHECK_LIB(readline, main, LIBREADLINE="$LIBREADLINE -lreadline",, -+ AC_CHECK_LIB(readline, main, LIBREADLINE="-lreadline $LIBREADLINE",, - "$LIBREADLINE") - if test $ac_cv_lib_readline_main = no; then - AC_MSG_ERROR([vtysh needs libreadline but was not found and usable on your system.]) --- -2.6.3 - diff --git a/package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch b/package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch deleted file mode 100644 index 6990f47cda..0000000000 --- a/package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 008dd9771057dbbd7ce971c43bce2a0b05e2cf97 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sun, 21 Aug 2016 08:56:57 +0300 -Subject: [PATCH] lib/memory: fix indirect static link with zlib - -quagga SNMP support depends on netsnmp, that optionally depends on OpenSSL, -which in turn requires zlib. zlib exports the 'zcalloc' symbol, which collides -with a function of the same name in memory.c. This is not a problem when -linking dynamically, since quagga does not use zlib directly. But static -linking fails with the error: - - CCLD ospfd -.../output/host/usr/mips64el-buildroot-linux-uclibc/sysroot/usr/lib/libz.a(zutil.o): In function `zcalloc': -zutil.c:(.text+0x48): multiple definition of `zcalloc' -.../output/build/quagga-1.0.20160315/lib/.libs/libzebra.a(memory.o):memory.c:(.text+0x1a0): first defined here - -Rename 'zcalloc' to 'zzcalloc' to avoid symbol collision. - -Signed-off-by: Baruch Siach ---- -Patch status: posted upstream -https://lists.quagga.net/pipermail/quagga-dev/2016-August/016109.html - - lib/memory.c | 14 ++++++++------ - lib/memory.h | 4 ++-- - 2 files changed, 10 insertions(+), 8 deletions(-) - -diff --git a/lib/memory.c b/lib/memory.c -index 269520d5a435..b1680a5e6f07 100644 ---- a/lib/memory.c -+++ b/lib/memory.c -@@ -80,9 +80,11 @@ zmalloc (int type, size_t size) - - /* - * Allocate memory as in zmalloc, and also clear the memory. -+ * Add an extra 'z' prefix to function name to avoid collision when linking -+ * statically with zlib that exports the 'zcalloc' symbol. - */ - void * --zcalloc (int type, size_t size) -+zzcalloc (int type, size_t size) - { - void *memory; - -@@ -97,9 +99,9 @@ zcalloc (int type, size_t size) - } - - /* -- * Given a pointer returned by zmalloc or zcalloc, free it and -+ * Given a pointer returned by zmalloc or zzcalloc, free it and - * return a pointer to a new size, basically acting like realloc(). -- * Requires: ptr was returned by zmalloc, zcalloc, or zrealloc with the -+ * Requires: ptr was returned by zmalloc, zzcalloc, or zrealloc with the - * same type. - * Effects: Returns a pointer to the new memory, or aborts. - */ -@@ -109,7 +111,7 @@ zrealloc (int type, void *ptr, size_t size) - void *memory; - - if (ptr == NULL) /* is really alloc */ -- return zcalloc(type, size); -+ return zzcalloc(type, size); - - memory = realloc (ptr, size); - if (memory == NULL) -@@ -122,7 +124,7 @@ zrealloc (int type, void *ptr, size_t size) - - /* - * Free memory allocated by z*alloc or zstrdup. -- * Requires: ptr was returned by zmalloc, zcalloc, or zrealloc with the -+ * Requires: ptr was returned by zmalloc, zzcalloc, or zrealloc with the - * same type. - * Effects: The memory is freed and may no longer be referenced. - */ -@@ -196,7 +198,7 @@ mtype_zcalloc (const char *file, int line, int type, size_t size) - mstat[type].c_calloc++; - mstat[type].t_calloc++; - -- memory = zcalloc (type, size); -+ memory = zzcalloc (type, size); - mtype_log ("xcalloc", memory, file, line, type); - - return memory; -diff --git a/lib/memory.h b/lib/memory.h -index 23962235dbfe..501352993d21 100644 ---- a/lib/memory.h -+++ b/lib/memory.h -@@ -56,7 +56,7 @@ extern struct mlist mlists[]; - mtype_zstrdup (__FILE__, __LINE__, (mtype), (str)) - #else - #define XMALLOC(mtype, size) zmalloc ((mtype), (size)) --#define XCALLOC(mtype, size) zcalloc ((mtype), (size)) -+#define XCALLOC(mtype, size) zzcalloc ((mtype), (size)) - #define XREALLOC(mtype, ptr, size) zrealloc ((mtype), (ptr), (size)) - #define XFREE(mtype, ptr) do { \ - zfree ((mtype), (ptr)); \ -@@ -67,7 +67,7 @@ extern struct mlist mlists[]; - - /* Prototypes of memory function. */ - extern void *zmalloc (int type, size_t size); --extern void *zcalloc (int type, size_t size); -+extern void *zzcalloc (int type, size_t size); - extern void *zrealloc (int type, void *ptr, size_t size); - extern void zfree (int type, void *ptr); - extern char *zstrdup (int type, const char *str); --- -2.8.1 - diff --git a/package/quagga/0004-bgpd-Fix-AS_PATH-size-calculation-for-long-paths.patch b/package/quagga/0004-bgpd-Fix-AS_PATH-size-calculation-for-long-paths.patch deleted file mode 100644 index 1425cf0426..0000000000 --- a/package/quagga/0004-bgpd-Fix-AS_PATH-size-calculation-for-long-paths.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7a42b78be9a4108d98833069a88e6fddb9285008 Mon Sep 17 00:00:00 2001 -From: Andreas Jaggi -Date: Mon, 2 Oct 2017 19:38:43 +0530 -Subject: [PATCH] bgpd: Fix AS_PATH size calculation for long paths - -If you have an AS_PATH with more entries than -what can be written into a single AS_SEGMENT_MAX -it needs to be broken up. The code that noticed -that the AS_PATH needs to be broken up was not -correctly calculating the size of the resulting -message. This patch addresses this issue. - -Signed-off-by: Peter Korsgaard ---- - bgpd/bgp_aspath.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c -index b7af5e88..d813bfba 100644 ---- a/bgpd/bgp_aspath.c -+++ b/bgpd/bgp_aspath.c -@@ -903,7 +903,7 @@ aspath_put (struct stream *s, struct aspath *as, int use32bit ) - assegment_header_put (s, seg->type, AS_SEGMENT_MAX); - assegment_data_put (s, seg->as, AS_SEGMENT_MAX, use32bit); - written += AS_SEGMENT_MAX; -- bytes += ASSEGMENT_SIZE (written, use32bit); -+ bytes += ASSEGMENT_SIZE (AS_SEGMENT_MAX, use32bit); - } - - /* write the final segment, probably is also the first */ --- -2.11.0 - diff --git a/package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch b/package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch deleted file mode 100644 index b64109d0f7..0000000000 --- a/package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch +++ /dev/null @@ -1,69 +0,0 @@ -From cc2e6770697e343f4af534114ab7e633d5beabec Mon Sep 17 00:00:00 2001 -From: Paul Jakma -Date: Wed, 3 Jan 2018 23:57:33 +0000 -Subject: [PATCH] bgpd/security: invalid attr length sends NOTIFY with data - overrun - -Security issue: Quagga-2018-0543 - -See: https://www.quagga.net/security/Quagga-2018-0543.txt - -* bgpd/bgp_attr.c: (bgp_attr_parse) An invalid attribute length is correctly - checked, and a NOTIFY prepared. The NOTIFY can include the incorrect - received data with the NOTIFY, for debug purposes. Commit - c69698704806a9ac5 modified the code to do that just, and also send the - malformed attr with the NOTIFY. However, the invalid attribute length was - used as the length of the data to send back. - - The result is a read past the end of data, which is then written to the - NOTIFY message and sent to the peer. - - A configured BGP peer can use this bug to read up to 64 KiB of memory from - the bgpd process, or crash the process if the invalid read is caught by - some means (unmapped page and SEGV, or other mechanism) resulting in a DoS. - - This bug _ought_ /not/ be exploitable by anything other than the connected - BGP peer, assuming the underlying TCP transport is secure. For no BGP - peer should send on an UPDATE with this attribute. Quagga will not, as - Quagga always validates the attr header length, regardless of type. - - However, it is possible that there are BGP implementations that do not - check lengths on some attributes (e.g. optional/transitive ones of a type - they do not recognise), and might pass such malformed attrs on. If such - implementations exists and are common, then this bug might be triggerable - by BGP speakers further hops away. Those peers will not receive the - NOTIFY (unless they sit on a shared medium), however they might then be - able to trigger a DoS. - - Fix: use the valid bound to calculate the length. - -Signed-off-by: Peter Korsgaard ---- - bgpd/bgp_attr.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c -index ef58beb1..9564637e 100644 ---- a/bgpd/bgp_attr.c -+++ b/bgpd/bgp_attr.c -@@ -2147,6 +2147,8 @@ bgp_attr_parse (struct peer *peer, struct attr *attr, bgp_size_t size, - memset (seen, 0, BGP_ATTR_BITMAP_SIZE); - - /* End pointer of BGP attribute. */ -+ assert (size <= stream_get_size (BGP_INPUT (peer))); -+ assert (size <= stream_get_endp (BGP_INPUT (peer))); - endp = BGP_INPUT_PNT (peer) + size; - - /* Get attributes to the end of attribute length. */ -@@ -2228,7 +2230,7 @@ bgp_attr_parse (struct peer *peer, struct attr *attr, bgp_size_t size, - bgp_notify_send_with_data (peer, - BGP_NOTIFY_UPDATE_ERR, - BGP_NOTIFY_UPDATE_ATTR_LENG_ERR, -- startp, attr_endp - startp); -+ startp, endp - startp); - return BGP_ATTR_PARSE_ERROR; - } - --- -2.11.0 - diff --git a/package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch b/package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch deleted file mode 100644 index 0e32817f06..0000000000 --- a/package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch +++ /dev/null @@ -1,112 +0,0 @@ -From e69b535f92eafb599329bf725d9b4c6fd5d7fded Mon Sep 17 00:00:00 2001 -From: Paul Jakma -Date: Sat, 6 Jan 2018 19:52:10 +0000 -Subject: [PATCH] bgpd/security: Fix double free of unknown attribute - -Security issue: Quagga-2018-1114 -See: https://www.quagga.net/security/Quagga-2018-1114.txt - -It is possible for bgpd to double-free an unknown attribute. This can happen -via bgp_update_receive receiving an UPDATE with an invalid unknown attribute. -bgp_update_receive then will call bgp_attr_unintern_sub and bgp_attr_flush, -and the latter may try free an already freed unknown attr. - -* bgpd/bgp_attr.c: (transit_unintern) Take a pointer to the caller's storage - for the (struct transit *), so that transit_unintern can NULL out the - caller's reference if the (struct transit) is freed. - (cluster_unintern) By inspection, appears to have a similar issue. - (bgp_attr_unintern_sub) adjust for above. - -Signed-off-by: Peter Korsgaard ---- - bgpd/bgp_attr.c | 33 +++++++++++++++++++-------------- - bgpd/bgp_attr.h | 4 ++-- - 2 files changed, 21 insertions(+), 16 deletions(-) - -diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c -index 9564637e..0c2806b5 100644 ---- a/bgpd/bgp_attr.c -+++ b/bgpd/bgp_attr.c -@@ -199,15 +199,17 @@ cluster_intern (struct cluster_list *cluster) - } - - void --cluster_unintern (struct cluster_list *cluster) -+cluster_unintern (struct cluster_list **cluster) - { -- if (cluster->refcnt) -- cluster->refcnt--; -+ struct cluster_list *c = *cluster; -+ if (c->refcnt) -+ c->refcnt--; - -- if (cluster->refcnt == 0) -+ if (c->refcnt == 0) - { -- hash_release (cluster_hash, cluster); -- cluster_free (cluster); -+ hash_release (cluster_hash, c); -+ cluster_free (c); -+ *cluster = NULL; - } - } - -@@ -357,15 +359,18 @@ transit_intern (struct transit *transit) - } - - void --transit_unintern (struct transit *transit) -+transit_unintern (struct transit **transit) - { -- if (transit->refcnt) -- transit->refcnt--; -+ struct transit *t = *transit; -+ -+ if (t->refcnt) -+ t->refcnt--; - -- if (transit->refcnt == 0) -+ if (t->refcnt == 0) - { -- hash_release (transit_hash, transit); -- transit_free (transit); -+ hash_release (transit_hash, t); -+ transit_free (t); -+ *transit = NULL; - } - } - -@@ -820,11 +825,11 @@ bgp_attr_unintern_sub (struct attr *attr) - UNSET_FLAG(attr->flag, ATTR_FLAG_BIT (BGP_ATTR_LARGE_COMMUNITIES)); - - if (attr->extra->cluster) -- cluster_unintern (attr->extra->cluster); -+ cluster_unintern (&attr->extra->cluster); - UNSET_FLAG(attr->flag, ATTR_FLAG_BIT (BGP_ATTR_CLUSTER_LIST)); - - if (attr->extra->transit) -- transit_unintern (attr->extra->transit); -+ transit_unintern (&attr->extra->transit); - } - } - -diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h -index 9ff074b2..052acc7d 100644 ---- a/bgpd/bgp_attr.h -+++ b/bgpd/bgp_attr.h -@@ -187,10 +187,10 @@ extern unsigned long int attr_unknown_count (void); - - /* Cluster list prototypes. */ - extern int cluster_loop_check (struct cluster_list *, struct in_addr); --extern void cluster_unintern (struct cluster_list *); -+extern void cluster_unintern (struct cluster_list **); - - /* Transit attribute prototypes. */ --void transit_unintern (struct transit *); -+void transit_unintern (struct transit **); - - /* Below exported for unit-test purposes only */ - struct bgp_attr_parser_args { --- -2.11.0 - diff --git a/package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch b/package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch deleted file mode 100644 index aeb50ae559..0000000000 --- a/package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 9e5251151894aefdf8e9392a2371615222119ad8 Mon Sep 17 00:00:00 2001 -From: Paul Jakma -Date: Sat, 6 Jan 2018 22:31:52 +0000 -Subject: [PATCH] bgpd/security: debug print of received NOTIFY data can - over-read msg array - -Security issue: Quagga-2018-1550 -See: https://www.quagga.net/security/Quagga-2018-1550.txt - -* bgpd/bgp_debug.c: (struct message) Nearly every one of the NOTIFY - code/subcode message arrays has their corresponding size variables off - by one, as most have 1 as first index. - - This means (bgp_notify_print) can cause mes_lookup to overread the (struct - message) by 1 pointer value if given an unknown index. - - Fix the bgp_notify_..._msg_max variables to use the compiler to calculate - the correct sizes. - -Signed-off-by: Peter Korsgaard ---- - bgpd/bgp_debug.c | 21 ++++++++++++--------- - 1 file changed, 12 insertions(+), 9 deletions(-) - -diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c -index ba797228..43faee7c 100644 ---- a/bgpd/bgp_debug.c -+++ b/bgpd/bgp_debug.c -@@ -29,6 +29,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - #include "log.h" - #include "sockunion.h" - #include "filter.h" -+#include "memory.h" - - #include "bgpd/bgpd.h" - #include "bgpd/bgp_aspath.h" -@@ -73,7 +74,8 @@ const struct message bgp_status_msg[] = - { Clearing, "Clearing" }, - { Deleted, "Deleted" }, - }; --const int bgp_status_msg_max = BGP_STATUS_MAX; -+#define BGP_DEBUG_MSG_MAX(msg) const int msg ## _max = array_size (msg) -+BGP_DEBUG_MSG_MAX (bgp_status_msg); - - /* BGP message type string. */ - const char *bgp_type_str[] = -@@ -84,7 +86,8 @@ const char *bgp_type_str[] = - "NOTIFICATION", - "KEEPALIVE", - "ROUTE-REFRESH", -- "CAPABILITY" -+ "CAPABILITY", -+ NULL, - }; - - /* message for BGP-4 Notify */ -@@ -98,15 +101,15 @@ static const struct message bgp_notify_msg[] = - { BGP_NOTIFY_CEASE, "Cease"}, - { BGP_NOTIFY_CAPABILITY_ERR, "CAPABILITY Message Error"}, - }; --static const int bgp_notify_msg_max = BGP_NOTIFY_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_msg); - - static const struct message bgp_notify_head_msg[] = - { - { BGP_NOTIFY_HEADER_NOT_SYNC, "/Connection Not Synchronized"}, - { BGP_NOTIFY_HEADER_BAD_MESLEN, "/Bad Message Length"}, -- { BGP_NOTIFY_HEADER_BAD_MESTYPE, "/Bad Message Type"} -+ { BGP_NOTIFY_HEADER_BAD_MESTYPE, "/Bad Message Type"}, - }; --static const int bgp_notify_head_msg_max = BGP_NOTIFY_HEADER_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_head_msg); - - static const struct message bgp_notify_open_msg[] = - { -@@ -119,7 +122,7 @@ static const struct message bgp_notify_open_msg[] = - { BGP_NOTIFY_OPEN_UNACEP_HOLDTIME, "/Unacceptable Hold Time"}, - { BGP_NOTIFY_OPEN_UNSUP_CAPBL, "/Unsupported Capability"}, - }; --static const int bgp_notify_open_msg_max = BGP_NOTIFY_OPEN_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_open_msg); - - static const struct message bgp_notify_update_msg[] = - { -@@ -136,7 +139,7 @@ static const struct message bgp_notify_update_msg[] = - { BGP_NOTIFY_UPDATE_INVAL_NETWORK, "/Invalid Network Field"}, - { BGP_NOTIFY_UPDATE_MAL_AS_PATH, "/Malformed AS_PATH"}, - }; --static const int bgp_notify_update_msg_max = BGP_NOTIFY_UPDATE_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_update_msg); - - static const struct message bgp_notify_cease_msg[] = - { -@@ -150,7 +153,7 @@ static const struct message bgp_notify_cease_msg[] = - { BGP_NOTIFY_CEASE_COLLISION_RESOLUTION, "/Connection collision resolution"}, - { BGP_NOTIFY_CEASE_OUT_OF_RESOURCE, "/Out of Resource"}, - }; --static const int bgp_notify_cease_msg_max = BGP_NOTIFY_CEASE_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_cease_msg); - - static const struct message bgp_notify_capability_msg[] = - { -@@ -159,7 +162,7 @@ static const struct message bgp_notify_capability_msg[] = - { BGP_NOTIFY_CAPABILITY_INVALID_LENGTH, "/Invalid Capability Length"}, - { BGP_NOTIFY_CAPABILITY_MALFORMED_CODE, "/Malformed Capability Value"}, - }; --static const int bgp_notify_capability_msg_max = BGP_NOTIFY_CAPABILITY_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_capability_msg); - - /* Origin strings. */ - const char *bgp_origin_str[] = {"i","e","?"}; --- -2.11.0 - diff --git a/package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch b/package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch deleted file mode 100644 index 0a06da9330..0000000000 --- a/package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch +++ /dev/null @@ -1,43 +0,0 @@ -From ce07207c50a3d1f05d6dd49b5294282e59749787 Mon Sep 17 00:00:00 2001 -From: Paul Jakma -Date: Sat, 6 Jan 2018 21:20:51 +0000 -Subject: [PATCH] bgpd/security: fix infinite loop on certain invalid OPEN - messages - -Security issue: Quagga-2018-1975 -See: https://www.quagga.net/security/Quagga-2018-1975.txt - -* bgpd/bgp_packet.c: (bgp_capability_msg_parse) capability parser can infinite - loop due to checks that issue 'continue' without bumping the input - pointer. - -Signed-off-by: Peter Korsgaard ---- - bgpd/bgp_packet.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c -index b3d601fc..f9338d8d 100644 ---- a/bgpd/bgp_packet.c -+++ b/bgpd/bgp_packet.c -@@ -2328,7 +2328,8 @@ bgp_capability_msg_parse (struct peer *peer, u_char *pnt, bgp_size_t length) - - end = pnt + length; - -- while (pnt < end) -+ /* XXX: Streamify this */ -+ for (; pnt < end; pnt += hdr->length + 3) - { - /* We need at least action, capability code and capability length. */ - if (pnt + 3 > end) -@@ -2416,7 +2417,6 @@ bgp_capability_msg_parse (struct peer *peer, u_char *pnt, bgp_size_t length) - zlog_warn ("%s unrecognized capability code: %d - ignored", - peer->host, hdr->code); - } -- pnt += hdr->length + 3; - } - return 0; - } --- -2.11.0 - diff --git a/package/quagga/Config.in b/package/quagga/Config.in index 98b9d3481e..9427475d03 100644 --- a/package/quagga/Config.in +++ b/package/quagga/Config.in @@ -38,6 +38,12 @@ config BR2_PACKAGE_QUAGGA_ISISD help Enable isisd support in quagga. +config BR2_PACKAGE_QUAGGA_NHRPD + bool "NHRPD protocol" + select BR2_PACKAGE_C_ARES + help + Build Next Hop Routing Protocol daemon. + config BR2_PACKAGE_QUAGGA_OSPFD bool "OSPFv2 protocol" help diff --git a/package/quagga/quagga.hash b/package/quagga/quagga.hash index 6da37cf806..93fc42c8fc 100644 --- a/package/quagga/quagga.hash +++ b/package/quagga/quagga.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 b5a94e5bdad3062e04595a5692b8cc435f0a85102f75dfdca0a06d093b4ef63f quagga-1.1.1.tar.gz +sha256 ee2c0907a106902abbdcaf63b4f28c67241c4f3396989ed54da7b4976eecad31 quagga-1.2.3.tar.gz + +# Hash for license file +sha256 b39c1bad4e51e2a3389cd25fc4addebe41a3ae7c11100795683f9330de1536e5 COPYING diff --git a/package/quagga/quagga.mk b/package/quagga/quagga.mk index b2b4e2a1f7..420d72c79d 100644 --- a/package/quagga/quagga.mk +++ b/package/quagga/quagga.mk @@ -4,7 +4,7 @@ # ################################################################################ -QUAGGA_VERSION = 1.1.1 +QUAGGA_VERSION = 1.2.3 QUAGGA_SITE = http://download.savannah.gnu.org/releases/quagga QUAGGA_DEPENDENCIES = host-gawk host-pkgconf QUAGGA_LICENSE = GPL-2.0+ @@ -18,9 +18,6 @@ QUAGGA_CONF_OPTS = \ --sysconfdir=/etc/quagga \ --localstatedir=/var/run/quagga -# 0002-configure-fix-static-linking-with-readline.patch -QUAGGA_AUTORECONF = YES - ifeq ($(BR2_PACKAGE_LIBCAP),y) QUAGGA_CONF_OPTS += --enable-capabilities QUAGGA_DEPENDENCIES += libcap @@ -45,7 +42,7 @@ QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_PIMD),--enable-pimd,--disable-pimd QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_WATCHQUAGGA),--enable-watchquagga,--disable-watchquagga) QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_ISISD),--enable-isisd,--disable-isisd) QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_BGP_ANNOUNCE),--enable-bgp-announce,--disable-bgp-announce) -QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_TCP_ZERBRA),--enable-tcp-zebra,--disable-tcp-zebra) +QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_TCP_ZEBRA),--enable-tcp-zebra,--disable-tcp-zebra) define QUAGGA_USERS quagga -1 quagga -1 * - - - Quagga priv drop user @@ -61,6 +58,13 @@ define QUAGGA_PERMISSIONS /etc/quagga d 755 quagga quagga - - - - - endef +ifeq ($(BR2_PACKAGE_QUAGGA_NHRPD),y) +QUAGGA_CONF_OPTS += --enable-nhrpd +QUAGGA_DEPENDENCIES += c-ares +else +QUAGGA_CONF_OPTS += --disable-nhrpd +endif + ifeq ($(BR2_PACKAGE_QUAGGA_SNMP),y) QUAGGA_CONF_ENV += ac_cv_path_NETSNMP_CONFIG=$(STAGING_DIR)/usr/bin/net-snmp-config QUAGGA_CONF_OPTS += --enable-snmp=agentx diff --git a/package/quazip/Config.in b/package/quazip/Config.in index 83537d4613..e980297558 100644 --- a/package/quazip/Config.in +++ b/package/quazip/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_QUAZIP bool "quazip" + depends on BR2_PACKAGE_QT5 select BR2_PACKAGE_ZLIB help QuaZIP is a simple C++ wrapper over Gilles Vollant's diff --git a/package/quazip/quazip.hash b/package/quazip/quazip.hash index 4e9af16a1a..9f43643d6b 100644 --- a/package/quazip/quazip.hash +++ b/package/quazip/quazip.hash @@ -1,2 +1,2 @@ # From github release page -sha256 f3a56647d4706c9daef411e40e3884702e2bd770e980145c3899321788ba8bb2 quazip-0.7.5.tar.gz +sha256 4118a830a375a81211956611cc34b1b5b4ddc108c126287b91b40c2493046b70 quazip-0.7.6.tar.gz diff --git a/package/quazip/quazip.mk b/package/quazip/quazip.mk index 7bef2fe7d9..aba8274506 100644 --- a/package/quazip/quazip.mk +++ b/package/quazip/quazip.mk @@ -4,24 +4,17 @@ # ################################################################################ -QUAZIP_VERSION = 0.7.5 +QUAZIP_VERSION = 0.7.6 QUAZIP_SITE = $(call github,stachenov,quazip,$(QUAZIP_VERSION)) QUAZIP_INSTALL_STAGING = YES QUAZIP_DEPENDENCIES = \ zlib \ - $(if $(BR2_PACKAGE_QT),qt) \ - $(if $(BR2_PACKAGE_QT5),qt5base) + qt5base QUAZIP_LICENSE = LGPL-2.1 QUAZIP_LICENSE_FILES = COPYING -ifeq ($(BR2_PACKAGE_QT5),y) -QUAZIP_QMAKE = $(QT5_QMAKE) -else -QUAZIP_QMAKE = $(QT_QMAKE) -endif - define QUAZIP_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(QUAZIP_QMAKE) PREFIX=/usr) + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5_QMAKE) PREFIX=/usr) endef define QUAZIP_BUILD_CMDS diff --git a/package/qwt/Config.in b/package/qwt/Config.in index 041c2d102c..2e9cec19d7 100644 --- a/package/qwt/Config.in +++ b/package/qwt/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_QWT bool "qwt" - depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 - select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT - select BR2_PACKAGE_QT5BASE_GUI if BR2_PACKAGE_QT5 - select BR2_PACKAGE_QT5BASE_WIDGETS if BR2_PACKAGE_QT5 # printsupport - select BR2_PACKAGE_QT5BASE_CONCURRENT if BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5BASE + select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_WIDGETS # printsupport + select BR2_PACKAGE_QT5BASE_CONCURRENT help Qwt is a graphics extension to the Qt GUI application framework. It provides a 2D plotting widget and more. @@ -15,18 +15,15 @@ if BR2_PACKAGE_QWT config BR2_PACKAGE_QWT_SVG bool "SVG support" - select BR2_PACKAGE_QT_SVG if BR2_PACKAGE_QT - select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5SVG config BR2_PACKAGE_QWT_MATHML bool "MathML support" config BR2_PACKAGE_QWT_OPENGL bool "OpenGL support" - depends on (BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_QT) || \ - (BR2_PACKAGE_QT5_GL_AVAILABLE && BR2_PACKAGE_QT5) - select BR2_PACKAGE_QT_OPENGL if BR2_PACKAGE_QT - select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5 - select BR2_PACKAGE_QT5BASE_OPENGL_LIB if BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_GL_AVAILABLE + select BR2_PACKAGE_QT5BASE_OPENGL + select BR2_PACKAGE_QT5BASE_OPENGL_LIB endif diff --git a/package/qwt/qwt.mk b/package/qwt/qwt.mk index 619453bfc9..f381ebbb7a 100644 --- a/package/qwt/qwt.mk +++ b/package/qwt/qwt.mk @@ -8,13 +8,7 @@ QWT_VERSION = 6.1.3 QWT_SOURCE = qwt-$(QWT_VERSION).tar.bz2 QWT_SITE = http://downloads.sourceforge.net/project/qwt/qwt/$(QWT_VERSION) QWT_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT),y) -QWT_DEPENDENCIES = qt -QWT_QMAKE = $(QT_QMAKE) -else ifeq ($(BR2_PACKAGE_QT5),y) -QWT_DEPENDENCIES += qt5base -QWT_QMAKE = $(QT5_QMAKE) -endif +QWT_DEPENDENCIES = qt5base QWT_LICENSE = LGPL-2.1 with exceptions QWT_LICENSE_FILES = COPYING @@ -49,7 +43,7 @@ endif define QWT_CONFIGURE_CMDS $(SED) $(QWT_CONFIG) $(@D)/qwtconfig.pri - (cd $(@D); $(TARGET_MAKE_ENV) $(QWT_QMAKE)) + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5_QMAKE)) endef define QWT_BUILD_CMDS diff --git a/package/rabbitmq-c/Config.in b/package/rabbitmq-c/Config.in index b330c90474..6dbd1467cb 100644 --- a/package/rabbitmq-c/Config.in +++ b/package/rabbitmq-c/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RABBITMQ_C bool "rabbitmq-c" + depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS help This is a C-language AMQP client library for use with v2.0+ @@ -7,5 +8,5 @@ config BR2_PACKAGE_RABBITMQ_C https://github.com/alanxz/rabbitmq-c -comment "rabbitmq-c needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "rabbitmq-c needs a toolchain w/ dynamic library, threads" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/rabbitmq-c/rabbitmq-c.mk b/package/rabbitmq-c/rabbitmq-c.mk index a3c4f8219f..6385ccb6b6 100644 --- a/package/rabbitmq-c/rabbitmq-c.mk +++ b/package/rabbitmq-c/rabbitmq-c.mk @@ -19,28 +19,20 @@ RABBITMQ_C_CONF_OPTS = \ RABBITMQ_C_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF # BUILD_SHARED_LIBS is handled in pkg-cmake.mk as it is a generic cmake variable -ifeq ($(BR2_STATIC_LIBS),y) -RABBITMQ_C_CONF_OPTS += -DBUILD_STATIC_LIBS=ON -else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +ifeq ($(BR2_SHARED_STATIC_LIBS),y) RABBITMQ_C_CONF_OPTS += -DBUILD_STATIC_LIBS=ON else ifeq ($(BR2_SHARED_LIBS),y) RABBITMQ_C_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF endif -# CMake OpenSSL detection is buggy, and doesn't properly use -# pkg-config, so it fails when statically linking. See -# https://gitlab.kitware.com/cmake/cmake/issues/16885. -ifeq ($(BR2_PACKAGE_OPENSSL):$(BR2_STATIC_LIBS),y:) +ifeq ($(BR2_PACKAGE_OPENSSL),y) RABBITMQ_C_CONF_OPTS += -DENABLE_SSL_SUPPORT=ON RABBITMQ_C_DEPENDENCIES += openssl else RABBITMQ_C_CONF_OPTS += -DENABLE_SSL_SUPPORT=OFF endif -# Popt is sometimes linked against libintl, but CMake doesn't know -# about that, and there's no way to tell manually CMake to link -# against an additional library. -ifeq ($(BR2_PACKAGE_POPT):$(BR2_STATIC_LIBS),y:) +ifeq ($(BR2_PACKAGE_POPT),y) RABBITMQ_C_CONF_OPTS += -DBUILD_TOOLS=ON RABBITMQ_C_DEPENDENCIES += popt else diff --git a/package/rabbitmq-server/S50rabbitmq-server b/package/rabbitmq-server/S50rabbitmq-server old mode 100755 new mode 100644 diff --git a/package/radvd/S50radvd b/package/radvd/S50radvd old mode 100755 new mode 100644 diff --git a/package/rapidxml/rapidxml.mk b/package/rapidxml/rapidxml.mk index 9d034d8205..ef2dd3972b 100644 --- a/package/rapidxml/rapidxml.mk +++ b/package/rapidxml/rapidxml.mk @@ -21,7 +21,8 @@ define RAPIDXML_EXTRACT_CMDS endef define RAPIDXML_INSTALL_STAGING_CMDS - cp -dpfr $(@D)/*hpp $(STAGING_DIR)/usr/include + mkdir -p $(STAGING_DIR)/usr/include/rapidxml + cp -dpfr $(@D)/*hpp $(STAGING_DIR)/usr/include/rapidxml endef $(eval $(generic-package)) diff --git a/package/rauc/0001-emmc-add-workaround-for-older-kernels.patch b/package/rauc/0001-emmc-add-workaround-for-older-kernels.patch deleted file mode 100644 index 23c9484e61..0000000000 --- a/package/rauc/0001-emmc-add-workaround-for-older-kernels.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7c67c0ef267d470fcec950d2be49507255f39fc5 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 13 May 2018 14:17:44 +0200 -Subject: [PATCH] emmc: add workaround for older kernels - -Kernels up to (and including 3.3) forgot to include types.h in their -mmc/ioctl.h, and thus __u32 (and others) are not defined, causing -compilation errors: - - http://autobuild.buildroot.org/results/621/621587906bd2bb27c43b6fcbb051d75f20e32e7c/build-end.log - -Fix that by explicitly including types.h before mmc/ioctl.h. - -Signed-off-by: "Yann E. MORIN" ---- - src/emmc.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/emmc.c b/src/emmc.c -index e8b0b05..2ce3373 100644 ---- a/src/emmc.c -+++ b/src/emmc.c -@@ -4,6 +4,7 @@ - #include - #include - #include -+#include /* kernel < 3.4 forgot that in mmc/ioctl.h */ - #include - #include - #include --- -2.14.1 - diff --git a/package/rauc/0002-build-make-eMMC-boot-partition-support-optional.patch b/package/rauc/0002-build-make-eMMC-boot-partition-support-optional.patch deleted file mode 100644 index f6177c9d54..0000000000 --- a/package/rauc/0002-build-make-eMMC-boot-partition-support-optional.patch +++ /dev/null @@ -1,116 +0,0 @@ -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/package/rauc/Config.in b/package/rauc/Config.in index 6433b827d3..456f8f382c 100644 --- a/package/rauc/Config.in +++ b/package/rauc/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_RAUC select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_DBUS # run-time dependency + select BR2_PACKAGE_SQUASHFS # run-time dependency help RAUC is the Robust Auto-Update Controller developed by Pengutronix. It supports updating embedded Linux diff --git a/package/rauc/rauc.hash b/package/rauc/rauc.hash index a16340f185..54c6c93229 100644 --- a/package/rauc/rauc.hash +++ b/package/rauc/rauc.hash @@ -1,3 +1,3 @@ # Locally calculated, after verifying against # https://github.com/rauc/rauc/releases/download/v0.4/rauc-0.4.tar.xz.asc -sha256 89656b6330ac1f31293d450f5179896397c588ab52e77ec229382a6abd125d35 rauc-0.4.tar.xz +sha256 8875ab0d02b4cb38a211b236855361c18b874b385e6f18dde394ac699f2cf2aa rauc-1.0.tar.xz diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk index 36119c061d..3848a010b3 100644 --- a/package/rauc/rauc.mk +++ b/package/rauc/rauc.mk @@ -4,13 +4,11 @@ # ################################################################################ -RAUC_VERSION = 0.4 +RAUC_VERSION = 1.0 RAUC_SITE = https://github.com/rauc/rauc/releases/download/v$(RAUC_VERSION) RAUC_SOURCE = rauc-$(RAUC_VERSION).tar.xz RAUC_LICENSE = LGPL-2.1 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/package/rcw/Config.in.host b/package/rcw/Config.in.host new file mode 100644 index 0000000000..ba40f76de9 --- /dev/null +++ b/package/rcw/Config.in.host @@ -0,0 +1,12 @@ +config BR2_PACKAGE_HOST_RCW + bool "host rcw" + help + This package provides an reset configuration word(RCW) + compiler to build NXP QoriQ/LS PBL/RCW binary(s). + + The package installs example configurations and scripts + for each devkit supported in the current release see + $(HOST_DIR)/share/rcw. Either a SDK or post scripts can + then use this toolset and examples. + + https://source.codeaurora.org/external/qoriq/qoriq-components/rcw/ diff --git a/package/rcw/rcw.hash b/package/rcw/rcw.hash new file mode 100644 index 0000000000..7de1ec659a --- /dev/null +++ b/package/rcw/rcw.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 1421ada9fec10b12ff21cd9ad82f0a835b191cb2dde80f03547764574b1346c3 rcw-LSDK-18.12.tar.gz +sha256 a531b3146425e592db17a51ff39c4801cb01fb4055ffdaada0572decc0655bcd LICENSE diff --git a/package/rcw/rcw.mk b/package/rcw/rcw.mk new file mode 100644 index 0000000000..f4570b9bde --- /dev/null +++ b/package/rcw/rcw.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# rcw +# +################################################################################ + +RCW_VERSION = LSDK-18.12 +RCW_SITE = https://source.codeaurora.org/external/qoriq/qoriq-components/rcw +RCW_SITE_METHOD = git +RCW_LICENSE = BSD-3-Clause +RCW_LICENSE_FILES = LICENSE + +# Copy source files and script into $(HOST_DIR)/share/rcw/ so a developer +# could use a post image or SDK to build/install PBL files. +define HOST_RCW_INSTALL_CMDS + mkdir -p $(HOST_DIR)/share/rcw + cp -a $(@D)/* $(HOST_DIR)/share/rcw +endef + +$(eval $(host-generic-package)) diff --git a/package/rdesktop/rdesktop.hash b/package/rdesktop/rdesktop.hash index cc1f55b771..a43fab76fa 100644 --- a/package/rdesktop/rdesktop.hash +++ b/package/rdesktop/rdesktop.hash @@ -1,3 +1,3 @@ -# From http://sourceforge.net/projects/rdesktop/files/rdesktop/1.8.3/ -md5 86e8b368a7c715e74ded92e0d7912dc5 rdesktop-1.8.3.tar.gz -sha1 aa1e56043782e04a0121357b24874e3ad6ae7b1d rdesktop-1.8.3.tar.gz +# Locally calculated +sha256 516f04df92f16eba04c96bbf9aeb05b9da686689c2bb5c107e0941583e09f933 rdesktop-1.8.4.tar.gz +sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/package/rdesktop/rdesktop.mk b/package/rdesktop/rdesktop.mk index da8a80ef92..d97422cf13 100644 --- a/package/rdesktop/rdesktop.mk +++ b/package/rdesktop/rdesktop.mk @@ -4,8 +4,8 @@ # ################################################################################ -RDESKTOP_VERSION = 1.8.3 -RDESKTOP_SITE = http://downloads.sourceforge.net/project/rdesktop/rdesktop/$(RDESKTOP_VERSION) +RDESKTOP_VERSION = 1.8.4 +RDESKTOP_SITE = $(call github,rdesktop,rdesktop,v$(RDESKTOP_VERSION)) RDESKTOP_DEPENDENCIES = host-pkgconf openssl xlib_libX11 xlib_libXt \ $(if $(BR2_PACKAGE_ALSA_LIB_PCM),alsa-lib) \ $(if $(BR2_PACKAGE_LIBAO),libao) \ @@ -13,6 +13,8 @@ RDESKTOP_DEPENDENCIES = host-pkgconf openssl xlib_libX11 xlib_libXt \ RDESKTOP_CONF_OPTS = --with-openssl=$(STAGING_DIR)/usr --disable-credssp RDESKTOP_LICENSE = GPL-3.0+ RDESKTOP_LICENSE_FILES = COPYING +# From git +RDESKTOP_AUTORECONF = YES ifeq ($(BR2_PACKAGE_PCSC_LITE),y) RDESKTOP_DEPENDENCIES += pcsc-lite diff --git a/package/readline/0001-configure.ac-readline.pc.in-fix-Requires.private-val.patch b/package/readline/0001-configure.ac-readline.pc.in-fix-Requires.private-val.patch deleted file mode 100644 index 22b479cd91..0000000000 --- a/package/readline/0001-configure.ac-readline.pc.in-fix-Requires.private-val.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 7bbf2046fbcf4416ec226ecb3a2b4c6a5c263298 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 22 Apr 2018 23:06:28 +0200 -Subject: [PATCH] configure.ac, readline.pc.in: fix Requires.private value - -The provided readline.pc.in hardcodes the fact that readline depends -on the tinfo library. However, different termcap implementation are -supported beyond tinfo. This commit improves the configure.ac script -to define a TERMCAP_PKG_CONFIG_LIB variable, which is then used in -readline.pc.in. - -This for example allows the generated readline.pc to properly contain -"Requires.private: ncurses" when ncurses is used as the termcap -implementation. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 8 ++++++++ - readline.pc.in | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index fd0cec4..9f85f37 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -276,6 +276,13 @@ case "$BUILD_DIR" in - *) ;; - esac - -+case "$TERMCAP_LIB" in -+-ltinfo) TERMCAP_PKG_CONFIG_LIB=tinfo ;; -+-lcurses) TERMCAP_PKG_CONFIG_LIB=ncurses ;; -+-lncurses) TERMCAP_PKG_CONFIG_LIB=ncurses ;; -+-ltermcap) TERMCAP_PKG_CONFIG_LIB=termcap ;; -+esac -+ - AC_SUBST(BUILD_DIR) - - AC_SUBST(CFLAGS) -@@ -292,6 +299,7 @@ AC_SUBST(host_os) - AC_SUBST(LIBVERSION) - - AC_SUBST(TERMCAP_LIB) -+AC_SUBST(TERMCAP_PKG_CONFIG_LIB) - - AC_OUTPUT([Makefile doc/Makefile examples/Makefile shlib/Makefile readline.pc], - [ -diff --git a/readline.pc.in b/readline.pc.in -index fbfca8a..a7f2cf3 100644 ---- a/readline.pc.in -+++ b/readline.pc.in -@@ -7,6 +7,6 @@ Name: Readline - Description: Gnu Readline library for command line editing - URL: http://tiswww.cwru.edu/php/chet/readline/rltop.html - Version: @LIBVERSION@ --Requires.private: tinfo -+Requires.private: @TERMCAP_PKG_CONFIG_LIB@ - Libs: -L${libdir} -lreadline - Cflags: -I${includedir}/readline --- -2.14.3 - diff --git a/package/readline/readline.hash b/package/readline/readline.hash index 43f8c64bb2..560154c2f7 100644 --- a/package/readline/readline.hash +++ b/package/readline/readline.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334 readline-7.0.tar.gz +sha256 e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461 readline-8.0.tar.gz + +# Hash for license file +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/readline/readline.mk b/package/readline/readline.mk index e00c594697..f5d7d5bf9e 100644 --- a/package/readline/readline.mk +++ b/package/readline/readline.mk @@ -4,46 +4,21 @@ # ################################################################################ -READLINE_VERSION = 7.0 +READLINE_VERSION = 8.0 READLINE_SITE = $(BR2_GNU_MIRROR)/readline READLINE_INSTALL_STAGING = YES READLINE_DEPENDENCIES = ncurses host-autoconf HOST_READLINE_DEPENDENCIES = host-ncurses host-autoconf READLINE_CONF_ENV = bash_cv_func_sigsetjmp=yes \ bash_cv_wcwidth_broken=no +READLINE_CONF_OPTS = --disable-install-examples READLINE_LICENSE = GPL-3.0+ READLINE_LICENSE_FILES = COPYING -# readline only uses autoconf, not automake, and therefore the regular -# AUTORECONF = YES doesn't work. -define READLINE_AUTOCONF - cd $(@D); $(HOST_DIR)/bin/autoconf -endef -READLINE_PRE_CONFIGURE_HOOKS += READLINE_AUTOCONF -HOST_READLINE_PRE_CONFIGURE_HOOKS += READLINE_AUTOCONF - -define READLINE_PURGE_EXAMPLES - rm -rf $(TARGET_DIR)/usr/share/readline -endef -READLINE_POST_INSTALL_TARGET_HOOKS += READLINE_PURGE_EXAMPLES - -define READLINE_INSTALL_PC_FILE - $(INSTALL) -D -m 644 $(@D)/readline.pc $(STAGING_DIR)/usr/lib/pkgconfig/readline.pc -endef -READLINE_POST_INSTALL_STAGING_HOOKS += READLINE_INSTALL_PC_FILE - define READLINE_INSTALL_INPUTRC $(INSTALL) -D -m 644 package/readline/inputrc $(TARGET_DIR)/etc/inputrc endef READLINE_POST_INSTALL_TARGET_HOOKS += READLINE_INSTALL_INPUTRC -ifneq ($(BR2_STATIC_LIBS),y) -# libraries get installed read only, so strip fails -define READLINE_INSTALL_FIXUPS_SHARED - chmod +w $(addprefix $(TARGET_DIR)/usr/lib/,libhistory.so.* libreadline.so.*) -endef -READLINE_POST_INSTALL_TARGET_HOOKS += READLINE_INSTALL_FIXUPS_SHARED -endif - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/reaver/0001-fix-271.patch b/package/reaver/0001-fix-271.patch new file mode 100644 index 0000000000..9f6b395120 --- /dev/null +++ b/package/reaver/0001-fix-271.patch @@ -0,0 +1,32 @@ +From c7040da3a9ff98cd8063b9d5b5a7721374186391 Mon Sep 17 00:00:00 2001 +From: rofl0r +Date: Fri, 22 Feb 2019 17:38:24 +0000 +Subject: [PATCH] fix #271 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/t6x/reaver-wps-fork-t6x/commit/c7040da3a9ff98cd8063b9d5b5a7721374186391] +--- + src/wps/wps_attr_parse.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/wps/wps_attr_parse.c b/src/wps/wps_attr_parse.c +index 30b0e79..d681b70 100644 +--- a/src/wps/wps_attr_parse.c ++++ b/src/wps/wps_attr_parse.c +@@ -443,12 +443,12 @@ int wps_parse_msg(const struct wpabuf *msg, struct wps_parse_attr *attr) + * Mac OS X 10.6 seems to be adding 0x00 padding to the + * end of M1. Skip those to avoid interop issues. + */ +- int i; +- for (i = 0; i < end - pos; i++) { ++ uintptr_t i, left = end - pos; ++ for (i = 0; i < left; i++) { + if (pos[i]) + break; + } +- if (i == end - pos) { ++ if (i == left) { + wpa_printf(MSG_DEBUG, "WPS: Workaround - skip " + "unexpected message padding"); + break; diff --git a/package/redis/Config.in b/package/redis/Config.in index 5d7edd8139..2450ccdf7f 100644 --- a/package/redis/Config.in +++ b/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/package/redis/redis.hash b/package/redis/redis.hash index d9a14cef6c..0b4e25c61d 100644 --- a/package/redis/redis.hash +++ b/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/package/redis/redis.mk b/package/redis/redis.mk index cbd2d7bdcb..da2307d693 100644 --- a/package/redis/redis.mk +++ b/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/package/restorecond/restorecond.hash b/package/restorecond/restorecond.hash index f52bbd2161..d171c50524 100644 --- a/package/restorecond/restorecond.hash +++ b/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/package/restorecond/restorecond.mk b/package/restorecond/restorecond.mk index aaa59b3351..7e43d9c8df 100644 --- a/package/restorecond/restorecond.mk +++ b/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/package/rings/Config.in b/package/rings/Config.in index 87ade07cb1..d1f1efe553 100644 --- a/package/rings/Config.in +++ b/package/rings/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_RINGS bool "rings" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help Provides a way to create new Lua states from within Lua. diff --git a/package/rings/rings.hash b/package/rings/rings.hash index 59da2fa32c..c9a758b54d 100644 --- a/package/rings/rings.hash +++ b/package/rings/rings.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 627ac55d4a420fab766e6870fcd82cb39da12fb4ec8efddc7220b188a4ad4bc3 rings-1.3.0-1.src.rock +# computed by luarocks/buildroot +sha256 627ac55d4a420fab766e6870fcd82cb39da12fb4ec8efddc7220b188a4ad4bc3 rings-1.3.0-1.src.rock +sha256 f582a0c43737391070827ef273df0145b594b095ad2f49595701368b729e024f rings-v_1_3_0/doc/us/license.html diff --git a/package/rng-tools/S21rngd b/package/rng-tools/S21rngd old mode 100755 new mode 100644 diff --git a/package/rp-pppoe/Config.in b/package/rp-pppoe/Config.in index 8a692711b9..12f981d8c7 100644 --- a/package/rp-pppoe/Config.in +++ b/package/rp-pppoe/Config.in @@ -16,4 +16,4 @@ config BR2_PACKAGE_RP_PPPOE devices. Otherwise the normal client functionality already exists in the pppd package (and kernel). - http://www.roaringpenguin.com/pppoe.html + https://dianne.skoll.ca/projects/rp-pppoe/ diff --git a/package/rpi-bt-firmware/rpi-bt-firmware.hash b/package/rpi-bt-firmware/rpi-bt-firmware.hash index 043706a1b8..eeb7b605fe 100644 --- a/package/rpi-bt-firmware/rpi-bt-firmware.hash +++ b/package/rpi-bt-firmware/rpi-bt-firmware.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c219f1d232fb80fbf23e7f2ed97d9c495855355a36dda373a8985c699ee1dd4b rpi-bt-firmware-b5307312a172c8d87d44f6df32f5e24f1c19770e.tar.gz +sha256 155ebd5f08b819e0ce4e1950fcc972b2086cee3c16d36aba348beba1910c1fd2 rpi-bt-firmware-8c1e2bff1da9850f68efcfff3da5d939ec27a2ee.tar.gz sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx diff --git a/package/rpi-bt-firmware/rpi-bt-firmware.mk b/package/rpi-bt-firmware/rpi-bt-firmware.mk index b1c0aa7c94..f9f300da41 100644 --- a/package/rpi-bt-firmware/rpi-bt-firmware.mk +++ b/package/rpi-bt-firmware/rpi-bt-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_BT_FIRMWARE_VERSION = b5307312a172c8d87d44f6df32f5e24f1c19770e +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 diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 446d6cf60e..6f2dbf7026 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -24,6 +24,12 @@ define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS $(INSTALL) -D -m 0644 $${ovldtb} $(BINARIES_DIR)/rpi-firmware/overlays/$${ovldtb##*/} || exit 1; \ done endef +else +# Still create the directory, so a genimage.cfg can include it independently of +# whether _INSTALL_DTB_OVERLAYS is selected or not. +define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS + $(INSTALL) -d $(BINARIES_DIR)/rpi-firmware/overlays +endef endif ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y) diff --git a/package/rpi-userland/0003-Disable-Werror-everywhere.patch b/package/rpi-userland/0003-Disable-Werror-everywhere.patch new file mode 100644 index 0000000000..7fb2f97978 --- /dev/null +++ b/package/rpi-userland/0003-Disable-Werror-everywhere.patch @@ -0,0 +1,174 @@ +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 + +With gcc-5.1, some constructs that were previously accepted (but wrong) +are now considered warnings, and thus -Werror makes them errors. + +Ditch -Werror altoghether. + +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 +- + host_applications/linux/apps/raspicam/CMakeLists.txt | 2 +- + host_applications/linux/apps/smem/CMakeLists.txt | 2 +- + host_applications/linux/libs/bcm_host/CMakeLists.txt | 2 +- + host_applications/linux/libs/sm/CMakeLists.txt | 2 +- + interface/mmal/CMakeLists.txt | 2 +- + interface/vcos/CMakeLists.txt | 2 +- + interface/vcos/pthreads/CMakeLists.txt | 2 +- + interface/vmcs_host/CMakeLists.txt | 2 +- + interface/vmcs_host/linux/vcfiled/CMakeLists.txt | 2 +- + 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 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) + + # 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 ++++ b/host_applications/linux/apps/gencmd/CMakeLists.txt +@@ -4,7 +4,7 @@ if (WIN32) + set(VCOS_PLATFORM win32) + else () + set(VCOS_PLATFORM pthreads) +- add_definitions(-Wall -Werror) ++ add_definitions(-Wall ) + endif () + + include_directories( ../../../.. +diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt +index 42636e8..d778f09 100644 +--- a/host_applications/linux/apps/raspicam/CMakeLists.txt ++++ b/host_applications/linux/apps/raspicam/CMakeLists.txt +@@ -1,7 +1,7 @@ + + # raspistill/raspivid/raspiyuv + +-SET(COMPILE_DEFINITIONS -Werror) ++SET(COMPILE_DEFINITIONS ) + + # 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 ++++ b/host_applications/linux/apps/smem/CMakeLists.txt +@@ -4,7 +4,7 @@ get_filename_component (VIDEOCORE_ROOT ../../../.. ABSOLUTE) + include (${VIDEOCORE_ROOT}/makefiles/cmake/global_settings.cmake) + + if (NOT WIN32) +- add_definitions(-Wall -Werror) ++ add_definitions(-Wall ) + endif () + + include_directories ( +diff --git a/host_applications/linux/libs/bcm_host/CMakeLists.txt b/host_applications/linux/libs/bcm_host/CMakeLists.txt +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) + set(VCOS_PLATFORM win32) + else () + set(VCOS_PLATFORM pthreads) +- add_definitions(-Wall -Werror) ++ add_definitions(-Wall ) + endif () + + # 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 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) + set(VCOS_PLATFORM win32) + else () + set(VCOS_PLATFORM pthreads) +- add_definitions(-Wall -Werror) ++ add_definitions(-Wall ) + endif () + + include_directories( ../../../.. +diff --git a/interface/mmal/CMakeLists.txt b/interface/mmal/CMakeLists.txt +index 37ae757..78b24a9 100644 +--- a/interface/mmal/CMakeLists.txt ++++ b/interface/mmal/CMakeLists.txt +@@ -3,7 +3,7 @@ if (NOT DEFINED LIBRARY_TYPE) + set(LIBRARY_TYPE SHARED) + endif (NOT DEFINED LIBRARY_TYPE) + +-add_definitions(-Wall -Werror) ++add_definitions(-Wall ) + + add_library(mmal SHARED util/mmal_util.c) + +diff --git a/interface/vcos/CMakeLists.txt b/interface/vcos/CMakeLists.txt +index 23a8d72..988b104 100644 +--- a/interface/vcos/CMakeLists.txt ++++ b/interface/vcos/CMakeLists.txt +@@ -43,7 +43,7 @@ foreach (header ${HEADERS}) + endforeach () + + if (CMAKE_COMPILER_IS_GNUCC) +- add_definitions (-ggdb -Werror -Wall) ++ add_definitions (-ggdb -Wall) + endif () + + if (CMAKE_COMPILER_2005) +diff --git a/interface/vcos/pthreads/CMakeLists.txt b/interface/vcos/pthreads/CMakeLists.txt +index 1d81ca3..b35cd8e 100644 +--- a/interface/vcos/pthreads/CMakeLists.txt ++++ b/interface/vcos/pthreads/CMakeLists.txt +@@ -1,7 +1,7 @@ + # MSVC5 does not fully support C99, enabling declaration-after-statement + # warnings allows a common MSVC5 build error to be detected in Linux builds. + if (CMAKE_COMPILER_IS_GNUCC) +- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -Wdeclaration-after-statement") ++ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wdeclaration-after-statement") + add_definitions (-D_GNU_SOURCE) + endif () + +diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt +index fde18da..802c158 100755 +--- a/interface/vmcs_host/CMakeLists.txt ++++ b/interface/vmcs_host/CMakeLists.txt +@@ -2,7 +2,7 @@ + # interface/vmcs_host + + # not working in release build +-# add_definitions(-Werror) ++# add_definitions() + + # vc_vchi_gencmd.c has a type-punning problem in vc_gencmd_read_response + add_definitions(-fno-strict-aliasing) +diff --git a/interface/vmcs_host/linux/vcfiled/CMakeLists.txt b/interface/vmcs_host/linux/vcfiled/CMakeLists.txt +index aed0e83..d834b3f 100644 +--- a/interface/vmcs_host/linux/vcfiled/CMakeLists.txt ++++ b/interface/vmcs_host/linux/vcfiled/CMakeLists.txt +@@ -1,5 +1,5 @@ + +-add_definitions(-Werror) ++add_definitions() + + # vcfiled - serves files to videocore. used for media handlers from + # OpenMAX/IL and loading VLLs. +-- +2.19.0 + diff --git a/package/rpi-userland/S94vcfiled b/package/rpi-userland/S94vcfiled old mode 100755 new mode 100644 diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.hash b/package/rpi-wifi-firmware/rpi-wifi-firmware.hash index 4659f2a6b8..c61a47ec73 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 c219f1d232fb80fbf23e7f2ed97d9c495855355a36dda373a8985c699ee1dd4b rpi-wifi-firmware-b5307312a172c8d87d44f6df32f5e24f1c19770e.tar.gz +sha256 155ebd5f08b819e0ce4e1950fcc972b2086cee3c16d36aba348beba1910c1fd2 rpi-wifi-firmware-8c1e2bff1da9850f68efcfff3da5d939ec27a2ee.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 7e8dbada09..2eb8ceec3c 100644 --- a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk +++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_WIFI_FIRMWARE_VERSION = b5307312a172c8d87d44f6df32f5e24f1c19770e +RPI_WIFI_FIRMWARE_VERSION = 8c1e2bff1da9850f68efcfff3da5d939ec27a2ee RPI_WIFI_FIRMWARE_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(RPI_WIFI_FIRMWARE_VERSION)) RPI_WIFI_FIRMWARE_LICENSE = PROPRIETARY RPI_WIFI_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx diff --git a/package/rpm/0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch b/package/rpm/0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch deleted file mode 100644 index 6f6a2aba51..0000000000 --- a/package/rpm/0001-configure-ac-use-link-instead-of-compile-for-gcc-flags-test.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b5f1895aae096836d6e8e155ee289e1b10fcabcb Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 10 Oct 2015 23:17:44 +0200 -Subject: [PATCH] configure.ac: use link instead of compile for gcc flags test - -The logic that tests whether gcc supports or not certain flags uses -AC_COMPILE_IFELSE(). However, when checking for stack smashing -protection support, an AC_LINK_IFELSE() test is needed, since the -build might work but not the link stage if certain libraries are -missing for proper stack smashing protection support. - -Therefore, this commit switches to use AC_LINK_IFELSE(). - -[Upstream commit: https://github.com/rpm-software-management/rpm/commit/b5f1895aae096836d6e8e155ee289e1b10fcabcb] -Signed-off-by: Thomas Petazzoni -Signed-off-by: James Knight ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 6ece8c9fd..822294c3f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -43,7 +43,7 @@ if test "$GCC" = yes; then - echo - for flag in $cflags_to_try; do - CFLAGS="$CFLAGS $flag -Werror" -- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[ -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[ - echo " $flag" - RPMCFLAGS="$RPMCFLAGS $flag" - ],[]) diff --git a/package/rpm/0002-configure-ac-correct-stack-protector-check.patch b/package/rpm/0002-configure-ac-correct-stack-protector-check.patch deleted file mode 100644 index 9d2942b4fa..0000000000 --- a/package/rpm/0002-configure-ac-correct-stack-protector-check.patch +++ /dev/null @@ -1,45 +0,0 @@ -From c810a0aca3f1148d2072d44b91b8cc9caeb4cf19 Mon Sep 17 00:00:00 2001 -From: James Knight -Date: Wed, 16 Nov 2016 15:54:46 -0500 -Subject: [PATCH] configure.ac: correct stack protector check - -If a used toolchain accepts the `-fstack-protector` option but does not -provide a stack smashing protector implementation (ex. libssp), linking -will fail: - - .libs/rpmio.o: In function `Fdescr': - rpmio.c:(.text+0x672): undefined reference to `__stack_chk_fail_local' - .libs/rpmio.o: In function `Fdopen': - rpmio.c:(.text+0xce9): undefined reference to `__stack_chk_fail_local' - .libs/rpmio.o: In function `ufdCopy': - rpmio.c:(.text+0x10f7): undefined reference to `__stack_chk_fail_local' - ... - -This is a result of testing for `-fstack-protector` support using a main -that GCC does not inject guards. GCC's manual notes that stack protector -code is only added when "[functions] that call alloca, and functions -with buffers larger than 8 bytes" [1]. This commit adjusts the stack -protector check to allocate memory on the stack (via `alloca`). - -[1]: https://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html - -Signed-off-by: James Knight -[Upstream commit: https://github.com/rpm-software-management/rpm/commit/c810a0aca3f1148d2072d44b91b8cc9caeb4cf19] -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a9730d3bc..b4b3fe8fb 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -43,7 +43,7 @@ if test "$GCC" = yes; then - echo - for flag in $cflags_to_try; do - CFLAGS="$CFLAGS $flag -Werror" -- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[ -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[alloca(100);]])],[ - echo " $flag" - RPMCFLAGS="$RPMCFLAGS $flag" - ],[]) diff --git a/package/rpm/0002-rpmio-digest_nss.c-fix-build-on-musl.patch b/package/rpm/0002-rpmio-digest_nss.c-fix-build-on-musl.patch new file mode 100644 index 0000000000..66aeb64786 --- /dev/null +++ b/package/rpm/0002-rpmio-digest_nss.c-fix-build-on-musl.patch @@ -0,0 +1,32 @@ +From 817dbe77e3e5a6d89540000a48584358efb4b03a Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 1 Apr 2019 07:33:19 +0200 +Subject: [PATCH] rpmio/digest_nss.c: fix build on musl + +signal.h must be included to be able to use sigaction + +Fixes: + - http://autobuild.buildroot.org/results/395fd44a930dfc2ad380bc735c26d9ce62344295 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://github.com/rpm-software-management/rpm/pull/650] +--- + rpmio/digest_nss.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/rpmio/digest_nss.c b/rpmio/digest_nss.c +index 50f8c8e90..1692a9221 100644 +--- a/rpmio/digest_nss.c ++++ b/rpmio/digest_nss.c +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.14.1 + diff --git a/package/rpm/0003-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch b/package/rpm/0003-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch deleted file mode 100644 index e1fd0697e6..0000000000 --- a/package/rpm/0003-Detect-bfd.h-to-enable-disable-sepdebugcrcfix-buildi.patch +++ /dev/null @@ -1,55 +0,0 @@ -From edadcf67980764c104c25c7c1a0ba91257b89698 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 8 Dec 2016 23:33:30 +0100 -Subject: [PATCH 1/2] Detect bfd.h to enable/disable sepdebugcrcfix building - -tools/sepdebugcrcfix includes , but this header from binutils -is not checked in the configure script. Due to this, sepdebugcrcfix is -attempted to be built even when is not available. This commit -addresses that by adding the appropriate configure check. - -This fixes the following build error: - -tools/sepdebugcrcfix.c:31:17: fatal error: bfd.h: No such file or directory -compilation terminated. -make[3]: *** [tools/sepdebugcrcfix.o] Error 1 - -Signed-off-by: Thomas Petazzoni ---- - Makefile.am | 2 ++ - configure.ac | 3 +++ - 2 files changed, 5 insertions(+) - -diff --git a/Makefile.am b/Makefile.am -index 863138c..d8a68f0 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -168,9 +168,11 @@ elfdeps_SOURCES = tools/elfdeps.c - elfdeps_LDADD = rpmio/librpmio.la - elfdeps_LDADD += @WITH_LIBELF_LIB@ @WITH_POPT_LIB@ - -+if HAS_BFD_H - rpmlibexec_PROGRAMS += sepdebugcrcfix - sepdebugcrcfix_SOURCES = tools/sepdebugcrcfix.c - sepdebugcrcfix_LDADD = @WITH_LIBELF_LIB@ -+endif # HAS_BFD_H - endif - endif - -diff --git a/configure.ac b/configure.ac -index c5ae701..b99ecb8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -242,6 +242,9 @@ AC_CHECK_HEADERS([dwarf.h], [ - ]) - AM_CONDITIONAL(LIBDWARF,[test "$WITH_LIBDWARF" = yes]) - -+AC_CHECK_HEADERS([bfd.h]) -+AM_CONDITIONAL(HAS_BFD_H, [test "${ac_cv_header_bfd_h}" = "yes"]) -+ - #================= - # Check for beecrypt library if requested. - AC_ARG_WITH(beecrypt, [ --with-beecrypt build with beecrypt support ],,[with_beecrypt=no]) --- -2.7.4 - diff --git a/package/rpm/0003-Makefile.am-rpm2-cpio-archive-needs-lintl.patch b/package/rpm/0003-Makefile.am-rpm2-cpio-archive-needs-lintl.patch new file mode 100644 index 0000000000..14d1d37d05 --- /dev/null +++ b/package/rpm/0003-Makefile.am-rpm2-cpio-archive-needs-lintl.patch @@ -0,0 +1,51 @@ +From 317bc5263fcb31ce788c76fe1947b2e0783e4542 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 25 Apr 2019 18:49:24 +0200 +Subject: [PATCH] Makefile.am: rpm2{cpio,archive} needs lintl + +Add LIBINTL to rpm2{cpio,archive}_LDADD otherwise build fails on: + +/home/buildroot/autobuild/instance-2/output/host/bin/xtensa-linux-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I. -I./include/ -I./build -I./lib -I./rpmio -I./misc -DLOCALEDIR="\"/usr/share/locale\"" -DLIBRPMALIAS_FILENAME="\"rpmpopt-4.14.2.1\"" -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/buildroot/autobuild/instance-2/output/host/xtensa-buildroot-linux-uclibc/sysroot/usr/include -fPIC -DPIC -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -fno-strict-aliasing -Wempty-body -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -mlongcalls -mauto-litpools -Os -I/home/buildroot/autobuild/instance-2/output/host/xtensa-buildroot-linux-uclibc/sysroot/usr/include/beecrypt -c -o tools/rpmdeps.o tools/rpmdeps.c +/home/buildroot/autobuild/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/xtensa-buildroot-linux-uclibc/7.4.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: rpm2cpio.o: undefined reference to symbol 'libintl_dgettext' +/home/buildroot/autobuild/instance-2/output/host/xtensa-buildroot-linux-uclibc/sysroot/usr/lib/libintl.so.8: error adding symbols: DSO missing from command line +collect2: error: ld returned 1 exit status +Makefile:962: recipe for target 'rpm2cpio' failed +make[3]: *** [rpm2cpio] Error 1 +make[3]: *** Waiting for unfinished jobs.... +libtool: link: /home/buildroot/autobuild/instance-2/output/host/bin/xtensa-linux-gcc -std=gnu99 -fPIC -DPIC -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -fno-strict-aliasing -Wempty-body -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -mlongcalls -mauto-litpools -Os -I/home/buildroot/autobuild/instance-2/output/host/xtensa-buildroot-linux-uclibc/sysroot/usr/include/beecrypt -o rpm2archive rpm2archive.o lib/.libs/librpm.so /home/buildroot/autobuild/instance-2/output/build/rpm-4.14.2.1/rpmio/.libs/librpmio.so -lcap -ldb rpmio/.libs/librpmio.so -lbeecrypt -lbz2 -lz -llzma -lpopt -larchive -lpthread -Wl,-rpath -Wl,/home/buildroot/autobuild/instance-2/output/build/rpm-4.14.2.1/lib/.libs -Wl,-rpath -Wl,/home/buildroot/autobuild/instance-2/output/build/rpm-4.14.2.1/rpmio/.libs +/home/buildroot/autobuild/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/xtensa-buildroot-linux-uclibc/7.4.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: rpm2archive.o: undefined reference to symbol 'libintl_dgettext' +/home/buildroot/autobuild/instance-2/output/host/xtensa-buildroot-linux-uclibc/sysroot/usr/lib/libintl.so.8: error adding symbols: DSO missing from command line +collect2: error: ld returned 1 exit status +Makefile:958: recipe for target 'rpm2archive' failed + +Fixes: + - http://autobuild.buildroot.org/results/26e20e19d878811d90fce52eb0951ee4d8b59068 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://github.com/rpm-software-management/rpm/pull/683] +--- + Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 057b7892c..e15240e60 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -145,11 +145,11 @@ rpmspec_LDADD += @WITH_POPT_LIB@ + + rpm2cpio_SOURCES = rpm2cpio.c debug.h system.h + rpm2cpio_LDADD = lib/librpm.la rpmio/librpmio.la +-rpm2cpio_LDADD += @WITH_POPT_LIB@ ++rpm2cpio_LDADD += @WITH_POPT_LIB@ @LIBINTL@ + + rpm2archive_SOURCES = rpm2archive.c debug.h system.h + rpm2archive_LDADD = lib/librpm.la rpmio/librpmio.la +-rpm2archive_LDADD += @WITH_POPT_LIB@ @WITH_ARCHIVE_LIB@ ++rpm2archive_LDADD += @WITH_POPT_LIB@ @WITH_ARCHIVE_LIB@ @LIBINTL@ + + + if LIBELF +-- +2.20.1 + diff --git a/package/rpm/0004-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch b/package/rpm/0004-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch deleted file mode 100644 index bebe94511d..0000000000 --- a/package/rpm/0004-tools-sepdebugcrcfix.c-fix-build-with-recent-binutil.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 65afab91444d4996a8e61d1e2d27d52e18417ef5 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 8 Dec 2016 23:45:55 +0100 -Subject: [PATCH 2/2] tools/sepdebugcrcfix.c: fix build with recent binutils - -Moderately recent binutils versions install a header that -checks if config.h is included. While this makes sense in binutils -itself, it does not outside. So the binutils developers have added a -check: if PACKAGE or PACKAGE_VERSION are defined, they assume you're -re-using bfd.h outside of binutils, and therefore including it without -including config.h is legit. - -So we take the same approch as numerous users of bfd.h: fake a PACKAGE -definition. See for example tools/perf/util/srcline.c in the Linux -kernel source tree. - -This fixes the following build error: - -In file included from tools/sepdebugcrcfix.c:31:0: -/home/test/autobuild/run/instance-0/output/host/usr/arc-buildroot-linux-uclibc/sysroot/usr/include/bfd.h:35:2: error: #error config.h must be included before this header - #error config.h must be included before this header - -Signed-off-by: Thomas Petazzoni ---- - tools/sepdebugcrcfix.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/tools/sepdebugcrcfix.c b/tools/sepdebugcrcfix.c -index cd7fa02..e7b480f 100644 ---- a/tools/sepdebugcrcfix.c -+++ b/tools/sepdebugcrcfix.c -@@ -28,6 +28,8 @@ - #include - #include - #include -+/* Needed to please */ -+#define PACKAGE "rpm" - #include - - #define _(x) x --- -2.7.4 - diff --git a/package/rpm/rpm.hash b/package/rpm/rpm.hash index 7ae9ec73d9..b550e12721 100644 --- a/package/rpm/rpm.hash +++ b/package/rpm/rpm.hash @@ -1,2 +1,5 @@ -# From http://rpm.org/wiki/Releases/4.13.0.1 -sha1 9566f95f38fcb214e439c552f378c2f64ba0aff9 rpm-4.13.0.1.tar.bz2 +# From https://rpm.org/wiki/Releases/4.14.2.1.html +sha256 1139c24b7372f89c0a697096bf9809be70ba55e006c23ff47305c1849d98acda rpm-4.14.2.1.tar.bz2 + +# Hash for license file +sha256 d56f4f1f290f6920cb053aef0dbcd0b853cda289e2568b364ddbfce220a6f3e0 COPYING diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk index 159ae72aa8..5efbad6dae 100644 --- a/package/rpm/rpm.mk +++ b/package/rpm/rpm.mk @@ -4,17 +4,15 @@ # ################################################################################ -RPM_VERSION_MAJOR = 4.13 -RPM_VERSION = $(RPM_VERSION_MAJOR).0.1 +RPM_VERSION_MAJOR = 4.14 +RPM_VERSION = $(RPM_VERSION_MAJOR).2.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 +# We're patching Makefile.am RPM_AUTORECONF = YES RPM_CONF_OPTS = \ @@ -35,11 +33,11 @@ endif ifeq ($(BR2_PACKAGE_LIBNSS),y) RPM_DEPENDENCIES += libnss -RPM_CONF_OPTS += --without-beecrypt +RPM_CONF_OPTS += --with-crypto=nss RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr else RPM_DEPENDENCIES += beecrypt -RPM_CONF_OPTS += --with-beecrypt +RPM_CONF_OPTS += --with-crypto=beecrypt RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/beecrypt endif diff --git a/package/rrdtool/rrdtool.hash b/package/rrdtool/rrdtool.hash index cff5501de9..6640673440 100644 --- a/package/rrdtool/rrdtool.hash +++ b/package/rrdtool/rrdtool.hash @@ -1,2 +1,4 @@ -# Locally calculated -sha256 cd948e89cd2d8825fab4a6fb0323f810948d934af7d92c9ee8b5e9e1350e52d7 rrdtool-1.6.0.tar.gz +# Locally calculated sha256 +sha256 f97d348935b91780f2cd80399719e20c0b91f0a23537c0a85f9ff306d4c5526b rrdtool-1.7.0.tar.gz +sha256 884385795ee48cd820082e8823bc748cd20574112da2cc7d2ef505b47b1058c3 COPYRIGHT +sha256 14079d501f3092405a192463603f66e13da88fc5894981e2962e2e6aec4ab178 LICENSE diff --git a/package/rrdtool/rrdtool.mk b/package/rrdtool/rrdtool.mk index ea5c892e4a..144bbcfb18 100644 --- a/package/rrdtool/rrdtool.mk +++ b/package/rrdtool/rrdtool.mk @@ -4,7 +4,7 @@ # ################################################################################ -RRDTOOL_VERSION = 1.6.0 +RRDTOOL_VERSION = 1.7.0 RRDTOOL_SITE = http://oss.oetiker.ch/rrdtool/pub RRDTOOL_LICENSE = GPL-2.0+ with FLOSS license exceptions as explained in COPYRIGHT RRDTOOL_LICENSE_FILES = COPYRIGHT LICENSE diff --git a/package/rsyslog/S01logging b/package/rsyslog/S01logging deleted file mode 100644 index 8e4a59c2d5..0000000000 --- a/package/rsyslog/S01logging +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -start() { - printf "Starting rsyslog daemon: " - start-stop-daemon -S -q -p /var/run/rsyslogd.pid --exec /usr/sbin/rsyslogd - [ $? = 0 ] && echo "OK" || echo "FAIL" -} - -stop() { - printf "Stopping rsyslog daemon: " - start-stop-daemon -K -q -p /var/run/rsyslogd.pid - [ $? = 0 ] && echo "OK" || echo "FAIL" -} - -restart() { - stop - sleep 1 - start -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - restart - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 -esac - -exit $? diff --git a/package/rsyslog/S01rsyslogd b/package/rsyslog/S01rsyslogd new file mode 100644 index 0000000000..78421876de --- /dev/null +++ b/package/rsyslog/S01rsyslogd @@ -0,0 +1,53 @@ +#!/bin/sh + +DAEMON="rsyslogd" +PIDFILE="/var/run/$DAEMON.pid" + +RSYSLOGD_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + -- $RSYSLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature (does not + # reconfigure/restart on SIGHUP, just closes all open files). + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk index 61e08ba765..fcd476cee3 100644 --- a/package/rsyslog/rsyslog.mk +++ b/package/rsyslog/rsyslog.mk @@ -72,8 +72,8 @@ RSYSLOG_CONF_OPTS += \ endif define RSYSLOG_INSTALL_INIT_SYSV - $(INSTALL) -m 0755 -D package/rsyslog/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging + $(INSTALL) -m 0755 -D package/rsyslog/S01rsyslogd \ + $(TARGET_DIR)/etc/init.d/S01rsyslogd endef # The rsyslog.service is installed by rsyslog, but the link is not created diff --git a/package/rtc-tools/Config.in b/package/rtc-tools/Config.in new file mode 100644 index 0000000000..78f5c06049 --- /dev/null +++ b/package/rtc-tools/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_RTC_TOOLS + bool "rtc-tools" + help + This package provide a set of user-space tools that can be + used to manipulate Real Time Clock Devices. + + https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git/ diff --git a/package/rtc-tools/rtc-tools.hash b/package/rtc-tools/rtc-tools.hash new file mode 100644 index 0000000000..81be1afe4e --- /dev/null +++ b/package/rtc-tools/rtc-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 152d8455bae5ad672e99bb91dfbed5b8b4bd8b0325146d1cf1c4d80b6e0d8a16 rtc-tools-33ef4aa1c92b0c92a351284d93d1ac5570de9cc7.tar.gz +sha256 7ae50a5344af14d6231aff6814632a220b3127da4099aea2c6070fd79c407c1a COPYING diff --git a/package/rtc-tools/rtc-tools.mk b/package/rtc-tools/rtc-tools.mk new file mode 100644 index 0000000000..2ef850a81f --- /dev/null +++ b/package/rtc-tools/rtc-tools.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# rtc-tools +# +################################################################################ + +RTC_TOOLS_VERSION = 33ef4aa1c92b0c92a351284d93d1ac5570de9cc7 +RTC_TOOLS_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git +RTC_TOOLS_LICENSE = GPL-2.0 +RTC_TOOLS_LICENSE_FILES = COPYING + +RTC_TOOLS_BINARIES = rtc rtc-range + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +RTC_TOOLS_BINARIES += rtc-sync +endif + +define RTC_TOOLS_BUILD_CMDS + $(foreach bin,$(RTC_TOOLS_BINARIES),\ + $(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/$(bin) $(@D)/$(bin).c + ) +endef + +define RTC_TOOLS_INSTALL_TARGET_CMDS + $(foreach bin,$(RTC_TOOLS_BINARIES),\ + $(INSTALL) -D -m 0755 $(@D)/$(bin) $(TARGET_DIR)/usr/bin/$(bin) + ) +endef + +$(eval $(generic-package)) diff --git a/package/rtl8188eu/rtl8188eu.hash b/package/rtl8188eu/rtl8188eu.hash index 6f68f44259..9ec2ffee89 100644 --- a/package/rtl8188eu/rtl8188eu.hash +++ b/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/package/rtl8188eu/rtl8188eu.mk b/package/rtl8188eu/rtl8188eu.mk index 5c1cc73da4..f292bba134 100644 --- a/package/rtl8188eu/rtl8188eu.mk +++ b/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/package/rtmpdump/rtmpdump.mk b/package/rtmpdump/rtmpdump.mk index f5d430ce36..03cdd9d00f 100644 --- a/package/rtmpdump/rtmpdump.mk +++ b/package/rtmpdump/rtmpdump.mk @@ -16,9 +16,6 @@ RTMPDUMP_DEPENDENCIES = zlib ifeq ($(BR2_PACKAGE_GNUTLS),y) RTMPDUMP_DEPENDENCIES += gnutls RTMPDUMP_CRYPTO = GNUTLS -else ifeq ($(BR2_PACKAGE_OPENSSL),y) -RTMPDUMP_DEPENDENCIES += openssl -RTMPDUMP_CRYPTO = OPENSSL else # no crypto RTMPDUMP_CRYPTO = diff --git a/package/rtorrent/0001-cross_compile.patch b/package/rtorrent/0001-cross_compile.patch index a8ad696e6d..1c40eaebb3 100644 --- a/package/rtorrent/0001-cross_compile.patch +++ b/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/package/rtorrent/Config.in b/package/rtorrent/Config.in index 190e50fe26..6bbcaaf56c 100644 --- a/package/rtorrent/Config.in +++ b/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/package/rtorrent/rtorrent.hash b/package/rtorrent/rtorrent.hash index 15257acf43..9f5ef2b4fc 100644 --- a/package/rtorrent/rtorrent.hash +++ b/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/package/rtorrent/rtorrent.mk b/package/rtorrent/rtorrent.mk index 51dc9eecc9..aaf86be647 100644 --- a/package/rtorrent/rtorrent.mk +++ b/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/package/ruby/ruby.hash b/package/ruby/ruby.hash index dd4cfc202b..fa9eddc279 100644 --- a/package/ruby/ruby.hash +++ b/package/ruby/ruby.hash @@ -1,6 +1,6 @@ -# From https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-4-4-released/ -sha256 1d0034071d675193ca769f64c91827e5f54cb3a7962316a41d5217c7bc6949f0 ruby-2.4.4.tar.xz +# https://www.ruby-lang.org/en/news/2019/04/01/ruby-2-4-6-released/ +sha256 25da31b9815bfa9bba9f9b793c055a40a35c43c6adfb1fdbd81a09099f9b529c ruby-2.4.6.tar.xz # License files, Locally calculated -sha256 5cda9584acd5e1096276a375085b7e659fa67a072fd69ec2c3931e54f7f563bb LEGAL +sha256 609292a6d848ab223073944fc2d844449391a5ba2055a8b5baf1726bc13b39cb LEGAL sha256 f5eb1b2956d5f7a67b2e5722a3749bc2fe86f9c580f2e3f5a08519cf073b5864 COPYING sha256 a5e3042dacb53eebda91f3b1caefbfec8307711df8c4ed1ed20e4e97c43307a4 BSDL diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk index b85ee9d069..10424020a9 100644 --- a/package/ruby/ruby.mk +++ b/package/ruby/ruby.mk @@ -5,7 +5,7 @@ ################################################################################ RUBY_VERSION_MAJOR = 2.4 -RUBY_VERSION = $(RUBY_VERSION_MAJOR).4 +RUBY_VERSION = $(RUBY_VERSION_MAJOR).6 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/package/runc/Config.in b/package/runc/Config.in index fd5dee7c5b..47c850ef30 100644 --- a/package/runc/Config.in +++ b/package/runc/Config.in @@ -3,13 +3,14 @@ config BR2_PACKAGE_RUNC depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve help runC is a CLI tool for spawning and running containers according to the OCP specification. https://github.com/opencontainers/runc -comment "runc needs a toolchain w/ threads" +comment "runc needs a glibc or musl toolchain toolchain w/ threads" depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS && \ BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAN_USES_UCLIBC diff --git a/package/runc/runc.hash b/package/runc/runc.hash index 3e188c5c79..24c30f5726 100644 --- a/package/runc/runc.hash +++ b/package/runc/runc.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 b5c50d7d9a5f610d5424f96196efa306ec708fd9299302dd919545099c16b7c1 runc-9c2d8d184e5da67c95d601382adf14862e4f2228.tar.gz +sha256 e8388b812d93a8a131a2a2fdd851847295c8e341721002940dadd2999fb81b51 runc-v1.0.0-rc7.tar.gz +sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/package/runc/runc.mk b/package/runc/runc.mk index f1586f32b2..56463b468e 100644 --- a/package/runc/runc.mk +++ b/package/runc/runc.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUNC_VERSION = 9c2d8d184e5da67c95d601382adf14862e4f2228 +RUNC_VERSION = v1.0.0-rc7 RUNC_SITE = $(call github,opencontainers,runc,$(RUNC_VERSION)) RUNC_LICENSE = Apache-2.0 RUNC_LICENSE_FILES = LICENSE diff --git a/package/rust-bin/rust-bin.hash b/package/rust-bin/rust-bin.hash index a83dea911d..36f959f257 100644 --- a/package/rust-bin/rust-bin.hash +++ b/package/rust-bin/rust-bin.hash @@ -1,33 +1,33 @@ -# From https://static.rust-lang.org/dist/rustc-1.27.1-i686-unknown-linux-gnu.tar.xz.sha256 -sha256 739acc03d50c5fb2ce43037b0b54c37ac99bd1bef9ea61ee969b49a63d11315d rustc-1.27.1-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rustc-1.27.1-x86_64-unknown-linux-gnu.tar.xz.sha256 -sha256 d4c45e15d4ffb150f3eeef1fa2945a5ae541ab791f9464e9a4dcccba77bdf9c7 rustc-1.27.1-x86_64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-aarch64-unknown-linux-gnu.tar.xz.sha256 -sha256 1f9565cac16e600c68ebfb4fe50b1658462698b8d4a1e8392f8182c4e813d99d rust-std-1.27.1-aarch64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-arm-unknown-linux-gnueabi.tar.xz.sha256 -sha256 a58026c1b441c45d21acc9b054232831fceb12f1906995754ef6aa9b20376d6a rust-std-1.27.1-arm-unknown-linux-gnueabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-arm-unknown-linux-gnueabihf.tar.xz.sha256 -sha256 dc3ee826617487777bd70f52743baa499396c58cbdd3934cf57fa84624b84f05 rust-std-1.27.1-arm-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-armv7-unknown-linux-gnueabihf.tar.xz.sha256 -sha256 d846df9113718e3faaf77c7b29690a4f9a9f1432e7d001e2a1fee95514d92c79 rust-std-1.27.1-armv7-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-i686-unknown-linux-gnu.tar.xz.sha256 -sha256 68f028911a1606e93eb71bdf95fe7d91e2b4cbd247663f3ab1e59d291dcd61b7 rust-std-1.27.1-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-mips-unknown-linux-gnu.tar.xz.sha256 -sha256 e15358613566b4a7721cfbebf424f850c771cf2acfc67ea170154447e81a7d5d rust-std-1.27.1-mips-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-mips64-unknown-linux-gnuabi64.tar.xz.sha256 -sha256 a2c8a030964515328cf1cff5d72a53e2d8df30048382318378904df6bd019395 rust-std-1.27.1-mips64-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-mips64el-unknown-linux-gnuabi64.tar.xz.sha256 -sha256 27444c6892c978d294d24e26409bf924b6644822d18ef1d3e0d4fa3370e7d4da rust-std-1.27.1-mips64el-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-mipsel-unknown-linux-gnu.tar.xz.sha256 -sha256 ac0c03e7d53439821c2d9eaf1311716b92fe347d83c1009bc031907b4ddef0f2 rust-std-1.27.1-mipsel-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-powerpc-unknown-linux-gnu.tar.xz.sha256 -sha256 d2f2b88adb85af25699dd5e866d8e989660ef1a94561a9b73e4b7080e75ef6ee rust-std-1.27.1-powerpc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-powerpc64-unknown-linux-gnu.tar.xz.sha256 -sha256 80b6070996f297f4e9f802b014e88285914de03c1af7b087064035c9ece500bf rust-std-1.27.1-powerpc64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-powerpc64le-unknown-linux-gnu.tar.xz.sha256 -sha256 a3c1843a583af8a38d49a403ea4e3013c8e1e0092a37353e62e69957fa1e9dbd rust-std-1.27.1-powerpc64le-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.27.1-x86_64-unknown-linux-gnu.tar.xz.sha256 -sha256 d3b0d00357cfaecf85651bea6f1d72793a5a859b6b07e9613ba21285922d5d58 rust-std-1.27.1-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/package/rust-bin/rust-bin.mk b/package/rust-bin/rust-bin.mk index cebca11133..624ec94b40 100644 --- a/package/rust-bin/rust-bin.mk +++ b/package/rust-bin/rust-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUST_BIN_VERSION = 1.27.1 +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/package/rust/0001-Fix-warnings-in-library-from-error-chain.patch b/package/rust/0001-Fix-warnings-in-library-from-error-chain.patch deleted file mode 100644 index be9d2a87c7..0000000000 --- a/package/rust/0001-Fix-warnings-in-library-from-error-chain.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ac3ffd15e1cf16059b4ccd90b7c816b078a621a5 Mon Sep 17 00:00:00 2001 -From: Mark Simulacrum -Date: Wed, 20 Jun 2018 19:47:00 -0600 -Subject: [PATCH] Fix warnings in library from error-chain - -Signed-off-by: Eric Le Bihan ---- - src/lib.rs | 1 + - 1 file changed, 1 insertion(+) - -diff --git rust-1.27.1.orig/src/tools/rust-installer/src/lib.rs rust-1.27.1/src/tools/rust-installer/src/lib.rs -index ff0495b..cc5e740 100644 ---- rust-1.27.1.orig/src/tools/rust-installer/src/lib.rs -+++ rust-1.27.1/src/tools/rust-installer/src/lib.rs -@@ -22,6 +22,7 @@ extern crate winapi; - #[macro_use] - extern crate lazy_static; - -+#[allow(warnings)] - mod errors { - error_chain!{ - foreign_links { --- -2.11.0 - diff --git a/package/rust/0001-Permit-warnings-inside-error-chain-expansion.patch b/package/rust/0001-Permit-warnings-inside-error-chain-expansion.patch deleted file mode 100644 index 6c332bc0ba..0000000000 --- a/package/rust/0001-Permit-warnings-inside-error-chain-expansion.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d90cef58439bcd14426d64b16599e060cd6464f9 Mon Sep 17 00:00:00 2001 -From: Mark Simulacrum -Date: Wed, 20 Jun 2018 16:54:40 -0600 -Subject: [PATCH] Permit warnings inside error-chain expansion - -Signed-off-by: Eric Le Bihan ---- - src/main.rs | 1 + - 1 file changed, 1 insertion(+) - -diff --git rust-1.27.1.orig/src/tools/rust-installer/src/main.rs rust-1.27.1/src/tools/rust-installer/src/main.rs -index cabffb8..007ed71 100644 ---- rust-1.27.1.orig/src/tools/rust-installer/src/main.rs -+++ rust-1.27.1/src/tools/rust-installer/src/main.rs -@@ -7,6 +7,7 @@ extern crate installer; - use errors::*; - use clap::{App, ArgMatches}; - -+#[allow(warnings)] - mod errors { - error_chain!{ - links { --- -2.11.0 - diff --git a/package/rust/rust.hash b/package/rust/rust.hash index 6e6b0d9b6f..1caab5a4ca 100644 --- a/package/rust/rust.hash +++ b/package/rust/rust.hash @@ -1,5 +1,5 @@ -# From https://static.rust-lang.org/dist/rustc-1.27.1-src.tar.xz.sha256 -sha256 948e2645057960ee1c03d9f0e8f78133a5f73d9ca9a24bc56126e395a212d25c rustc-1.27.1-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/package/rust/rust.mk b/package/rust/rust.mk index 74df7d234a..bf110f8ade 100644 --- a/package/rust/rust.mk +++ b/package/rust/rust.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUST_VERSION = 1.27.1 +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/package/rustc/Config.in.host b/package/rustc/Config.in.host index 2ae8f89d3f..c58ffdf352 100644 --- a/package/rustc/Config.in.host +++ b/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. @@ -12,7 +18,7 @@ config BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS 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 @@ -66,9 +72,11 @@ config BR2_PACKAGE_HOST_RUST_BIN endchoice +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/package/rustc/rustc.mk b/package/rustc/rustc.mk index bed74f3c2c..6eea9b4fc5 100644 --- a/package/rustc/rustc.mk +++ b/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/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch b/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch deleted file mode 100644 index 6e1f528719..0000000000 --- a/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/package/rygel/rygel.hash b/package/rygel/rygel.hash index 879cbd714b..0d8c95a697 100644 --- a/package/rygel/rygel.hash +++ b/package/rygel/rygel.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/rygel/0.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/package/rygel/rygel.mk b/package/rygel/rygel.mk index d1bc30589c..1f917b207e 100644 --- a/package/rygel/rygel.mk +++ b/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/package/s6-linux-utils/s6-linux-utils.hash b/package/s6-linux-utils/s6-linux-utils.hash index 34fc5ea9b1..20af7328d7 100644 --- a/package/s6-linux-utils/s6-linux-utils.hash +++ b/package/s6-linux-utils/s6-linux-utils.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 9562ef293c916c4448d16fcbbc065eb28fd995ac34cd3538179cbc3ee056ab93 s6-linux-utils-2.4.0.1.tar.gz -sha256 6ee77e7199d69b707ab864ea7a838f9562717aaa41c89413bdb2cf835f95052f COPYING +sha256 78571574464c76fc623ef50dc14800138b4fd98c5fa877af6850fdd9c2f90213 s6-linux-utils-2.5.0.0.tar.gz +sha256 3eadcf980c40da0f257b8292d805ff41e5e5a908c1942315d9a627732e1aa012 COPYING diff --git a/package/s6-linux-utils/s6-linux-utils.mk b/package/s6-linux-utils/s6-linux-utils.mk index 3f1745708d..619f4c3732 100644 --- a/package/s6-linux-utils/s6-linux-utils.mk +++ b/package/s6-linux-utils/s6-linux-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_LINUX_UTILS_VERSION = 2.4.0.1 +S6_LINUX_UTILS_VERSION = 2.5.0.0 S6_LINUX_UTILS_SITE = http://skarnet.org/software/s6-linux-utils S6_LINUX_UTILS_LICENSE = ISC S6_LINUX_UTILS_LICENSE_FILES = COPYING diff --git a/package/s6-networking/s6-networking.mk b/package/s6-networking/s6-networking.mk index 7c9f087051..b621eb225d 100644 --- a/package/s6-networking/s6-networking.mk +++ b/package/s6-networking/s6-networking.mk @@ -25,7 +25,7 @@ S6_NETWORKING_CONF_OPTS = \ ifeq ($(BR2_PACKAGE_LIBRESSL),y) S6_NETWORKING_CONF_OPTS += --enable-ssl=libressl -S6_NETWORKING_DEPENDENCIES = libressl +S6_NETWORKING_DEPENDENCIES += libressl endif define S6_NETWORKING_CONFIGURE_CMDS diff --git a/package/safeclib/0002-add-pic_flag-to-RETPOLINE-cflags-and-ldflags.patch b/package/safeclib/0002-add-pic_flag-to-RETPOLINE-cflags-and-ldflags.patch new file mode 100644 index 0000000000..f4f4eaab96 --- /dev/null +++ b/package/safeclib/0002-add-pic_flag-to-RETPOLINE-cflags-and-ldflags.patch @@ -0,0 +1,62 @@ +From 23ae79fe84a3fa5d995b8c6b9be70587e37a6cd8 Mon Sep 17 00:00:00 2001 +From: Reini Urban +Date: Mon, 26 Mar 2018 18:31:30 +0200 +Subject: [PATCH] add pic_flag to RETPOLINE cflags and ldflags + +This fixes the linke probe, and fixes #55. +Also: libtool is stripping pic_flags from the shared link cmd. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/rurban/safeclib/commit/23ae79fe84a3fa5d995b8c6b9be70587e37a6cd8] +--- + configure.ac | 2 +- + m4/ax_compiler_flags_cflags.m4 | 4 ++-- + m4/ax_compiler_flags_ldflags.m4 | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 33ed7326..10325dc6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4,7 +4,7 @@ + # 2017 Reini Urban + # + # Copyright (c) 2012, 2013 Cisco Systems +-# Copyright (c) 2017 Reini Urban ++# Copyright (c) 2017, 2018 Reini Urban + # All rights reserved. + # + # Permission is hereby granted, free of charge, to any person +diff --git a/m4/ax_compiler_flags_cflags.m4 b/m4/ax_compiler_flags_cflags.m4 +index 31e3ba8c..1dec00b2 100644 +--- a/m4/ax_compiler_flags_cflags.m4 ++++ b/m4/ax_compiler_flags_cflags.m4 +@@ -66,12 +66,12 @@ AC_DEFUN([AX_COMPILER_FLAGS_CFLAGS],[ + ]) + + # retpoline: clang-7. Note: requires lld-7 linker support +- AX_APPEND_COMPILE_FLAGS(["-mretpoline -DRETPOLINE"], ++ AX_APPEND_COMPILE_FLAGS(["-mretpoline -DRETPOLINE $lt_prog_compiler_pic"], + [RETPOLINE_CFLAGS],[$ax_compiler_flags_test]) + # or the equivalent gcc-7.3 variant + if test -z "$RETPOLINE_CFLAGS"; then + AX_APPEND_COMPILE_FLAGS( +- ["-mindirect-branch=thunk-extern -mfunction-return=thunk-extern -mindirect-branch-register -DRETPOLINE"], ++ ["-mindirect-branch=thunk-extern -mfunction-return=thunk-extern -mindirect-branch-register $lt_prog_compiler_pic -DRETPOLINE"], + [RETPOLINE_CFLAGS],[$ax_compiler_flags_test]) + fi + +diff --git a/m4/ax_compiler_flags_ldflags.m4 b/m4/ax_compiler_flags_ldflags.m4 +index d0287852..193f412e 100644 +--- a/m4/ax_compiler_flags_ldflags.m4 ++++ b/m4/ax_compiler_flags_ldflags.m4 +@@ -66,7 +66,7 @@ AC_DEFUN([AX_COMPILER_FLAGS_LDFLAGS],[ + dnl /usr/bin/ld: warning: -z retpolineplt ignored. + case $RETPOLINE_CFLAGS in + *-mretpoline*|*-mindirect-branch=thunk-extern*) +- AX_APPEND_LINK_FLAGS([-Wl,-z,retpolineplt], ++ AX_APPEND_LINK_FLAGS(["$RETPOLINE_CFLAGS -Wl,-z,retpolineplt"], + [RETPOLINE_LDFLAGS],[$ax_compiler_flags_test]) + if test -n "$RETPOLINE_LDFLAGS"; then + AM_CFLAGS="$AM_CFLAGS $RETPOLINE_CFLAGS" diff --git a/package/sam-ba/sam-ba.hash b/package/sam-ba/sam-ba.hash index 61feb32d8d..ae1fb5eece 100644 --- a/package/sam-ba/sam-ba.hash +++ b/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/package/sam-ba/sam-ba.mk b/package/sam-ba/sam-ba.mk index 0d36b0dc59..49505589d0 100644 --- a/package/sam-ba/sam-ba.mk +++ b/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/package/samba4/0001-libreplace-disable-libbsd-support.patch b/package/samba4/0001-libreplace-disable-libbsd-support.patch index 4794cb02fd..ae46c447fd 100644 --- a/package/samba4/0001-libreplace-disable-libbsd-support.patch +++ b/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/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch b/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch index 0f174d5369..c1418bd885 100644 --- a/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch +++ b/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch @@ -1,4 +1,4 @@ -From 3d91847322eba55e97adc76c5c95570382af7059 Mon Sep 17 00:00:00 2001 +From 5627ea3826a00c149ff3d49c40706217043a014d Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 28 Jan 2018 11:57:11 +0100 Subject: [PATCH] Fix uClibc build on 64bit platforms by including stdint.h @@ -21,18 +21,36 @@ Patch sent upstream: https://lists.samba.org/archive/samba-technical/2018-January/125306.html [updated for samba-4.8.4, v2 sent upstream - https://lists.samba.org/archive/samba-technical/2018-August/129732.html] + https://lists.samba.org/archive/samba-technical/2018-August/129732.html, + updated for samba-4.9.1] Signed-off-by: Bernd Kuhls --- + lib/ldb/tests/ldb_kv_ops_test.c | 1 + lib/ldb/tests/ldb_mod_op_test.c | 1 + lib/ldb/tests/ldb_msg.c | 1 + + lib/ldb/tests/ldb_tdb_test.c | 1 + + lib/ldb/tests/test_ldb_qsort.c | 1 + + lib/util/tests/test_ms_fnmatch.c | 1 + libcli/auth/tests/ntlm_check.c | 1 + libcli/smb/test_smb1cli_session.c | 1 + - 4 files changed, 4 insertions(+) + source3/lib/test_tldap.c | 1 + + 9 files changed, 9 insertions(+) +diff --git a/lib/ldb/tests/ldb_kv_ops_test.c b/lib/ldb/tests/ldb_kv_ops_test.c +index 30ce019fac8..3ac7763b307 100644 +--- a/lib/ldb/tests/ldb_kv_ops_test.c ++++ b/lib/ldb/tests/ldb_kv_ops_test.c +@@ -46,6 +46,7 @@ + */ + #include + #include ++#include + #include + #include + diff --git a/lib/ldb/tests/ldb_mod_op_test.c b/lib/ldb/tests/ldb_mod_op_test.c -index c8b9c1aa9ff..4893dc3b38b 100644 +index 01667af3865..a1a20d38f28 100644 --- a/lib/ldb/tests/ldb_mod_op_test.c +++ b/lib/ldb/tests/ldb_mod_op_test.c @@ -13,6 +13,7 @@ @@ -55,6 +73,42 @@ index f8de418e0dc..31786a9a318 100644 #include #include +diff --git a/lib/ldb/tests/ldb_tdb_test.c b/lib/ldb/tests/ldb_tdb_test.c +index 686a35104ea..2e312e60a3c 100644 +--- a/lib/ldb/tests/ldb_tdb_test.c ++++ b/lib/ldb/tests/ldb_tdb_test.c +@@ -40,6 +40,7 @@ + */ + #include + #include ++#include + #include + #include + +diff --git a/lib/ldb/tests/test_ldb_qsort.c b/lib/ldb/tests/test_ldb_qsort.c +index 06e80d94379..663cf0e7564 100644 +--- a/lib/ldb/tests/test_ldb_qsort.c ++++ b/lib/ldb/tests/test_ldb_qsort.c +@@ -19,6 +19,7 @@ + + #include + #include ++#include + #include + #include + +diff --git a/lib/util/tests/test_ms_fnmatch.c b/lib/util/tests/test_ms_fnmatch.c +index 7fe8ed05e28..d11c7bed4be 100644 +--- a/lib/util/tests/test_ms_fnmatch.c ++++ b/lib/util/tests/test_ms_fnmatch.c +@@ -19,6 +19,7 @@ + + #include + #include ++#include + #include + #include + diff --git a/libcli/auth/tests/ntlm_check.c b/libcli/auth/tests/ntlm_check.c index e87a0a276d4..65c7b086008 100644 --- a/libcli/auth/tests/ntlm_check.c @@ -78,6 +132,18 @@ index d1e21d5431e..6a526c96b61 100644 #include #include +diff --git a/source3/lib/test_tldap.c b/source3/lib/test_tldap.c +index a6c2f2117cb..659c5a7371a 100644 +--- a/source3/lib/test_tldap.c ++++ b/source3/lib/test_tldap.c +@@ -20,6 +20,7 @@ + + #include + #include ++#include + #include + #include + -- -2.18.0 +2.19.0 diff --git a/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch b/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch index 41a06801c7..ad8712634e 100644 --- a/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch +++ b/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch @@ -19,12 +19,13 @@ the build of manpages and documentation. Patch was downloaded from https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/network/samba/patches/samba-950-no-man.patch +[Bernd: rebased for samba-4.8.5] Signed-off-by: Bernd Kuhls --- - buildtools/wafsamba/wafsamba.py | 10 +++++----- - docs-xml/wscript_build | 34 +++++++++++++++++----------------- + buildtools/wafsamba/wafsamba.py | 10 ++++----- + docs-xml/wscript_build | 40 ++++++++++++++++----------------- source4/scripting/wscript_build | 4 ++-- - 3 files changed, 24 insertions(+), 24 deletions(-) + 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index 4bb19d070e2..a255d841111 100644 @@ -55,10 +56,10 @@ index 4bb19d070e2..a255d841111 100644 Build.BuildContext.SAMBA_BINARY = SAMBA_BINARY diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build -index 954c62a29bc..1169158fd57 100644 +index ec5d28fc62a..f81c125bcd4 100644 --- a/docs-xml/wscript_build +++ b/docs-xml/wscript_build -@@ -147,20 +147,20 @@ bld.SAMBA_GENERATOR(parameter_all, +@@ -148,23 +148,23 @@ bld.SAMBA_GENERATOR(parameter_all, rule=smbdotconf_generate_parameter_list, dep_vars=bld.dynconfig_varnames()) @@ -77,6 +78,9 @@ index 954c62a29bc..1169158fd57 100644 - if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'): - bld.SAMBAMANPAGES(krb5_locator_manpages) - +- if bld.CONFIG_SET('HAVE_KRB5_LOCALAUTH_PLUGIN_H'): +- bld.SAMBAMANPAGES(krb5_localauth_manpages) +- - if bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'): - bld.SAMBAMANPAGES('manpages/vfs_zfsacl.8') +#def SMBDOTCONF_MANPAGE(bld, target): @@ -94,6 +98,9 @@ index 954c62a29bc..1169158fd57 100644 +# if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'): +# bld.SAMBAMANPAGES(krb5_locator_manpages) +# ++# if bld.CONFIG_SET('HAVE_KRB5_LOCALAUTH_PLUGIN_H'): ++# bld.SAMBAMANPAGES(krb5_localauth_manpages) ++# +# if bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'): +# bld.SAMBAMANPAGES('manpages/vfs_zfsacl.8') diff --git a/source4/scripting/wscript_build b/source4/scripting/wscript_build @@ -112,5 +119,5 @@ index 2f53cce12b7..9841ae0a116 100644 if bld.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'): bld.INSTALL_FILES('${BINDIR}', -- -2.14.4 +2.18.0 diff --git a/package/samba4/Config.in b/package/samba4/Config.in index 298fdc6608..4ccd22aa2d 100644 --- a/package/samba4/Config.in +++ b/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/package/samba4/samba4-cache.txt b/package/samba4/samba4-cache.txt index 0485f0dbb1..e3a3720fc8 100644 --- a/package/samba4/samba4-cache.txt +++ b/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/package/samba4/samba4.hash b/package/samba4/samba4.hash index 00c8466078..7762456cfd 100644 --- a/package/samba4/samba4.hash +++ b/package/samba4/samba4.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://download.samba.org/pub/samba/stable/samba-4.8.4.tar.asc -sha256 f5044d149e01894a08b1d114b8b69aed78171a7bb19608bd1fd771453b9a5406 samba-4.8.4.tar.gz +# https://download.samba.org/pub/samba/stable/samba-4.9.6.tar.asc +sha256 c9205a651a83d69e200fec9dd65e9fa360f0c75ab3275b3dcb74e5cbaec60807 samba-4.9.6.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk index 03ef6eeeb0..f6dbda9dbb 100644 --- a/package/samba4/samba4.mk +++ b/package/samba4/samba4.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA4_VERSION = 4.8.4 +SAMBA4_VERSION = 4.9.6 SAMBA4_SITE = https://download.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_INSTALL_STAGING = YES @@ -18,7 +18,7 @@ SAMBA4_DEPENDENCIES = \ $(if $(BR2_PACKAGE_READLINE),readline) \ $(TARGET_NLS_DEPENDENCIES) SAMBA4_CFLAGS = $(TARGET_CFLAGS) -SAMBA4_LDFLAGS = $(TARGET_LDFLAGS) +SAMBA4_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) SAMBA4_CONF_ENV = \ CFLAGS="$(SAMBA4_CFLAGS)" \ LDFLAGS="$(SAMBA4_LDFLAGS)" @@ -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/package/sane-backends/0002-Add-missing-sys-types.h-includes.patch b/package/sane-backends/0002-Add-missing-sys-types.h-includes.patch deleted file mode 100644 index 8ab41f1fef..0000000000 --- a/package/sane-backends/0002-Add-missing-sys-types.h-includes.patch +++ /dev/null @@ -1,106 +0,0 @@ -From d33f16f463e888846d69ddfbeeb963d40972b654 Mon Sep 17 00:00:00 2001 -From: Luiz Angelo Daros de Luca -Date: Thu, 15 Oct 2015 12:35:00 +0900 -Subject: [PATCH] Add missing includes - -[Thomas: backport from upstream commit -33495ef9b42a783c8f5f2c056ac5699481d3cc7e, allows to fix the build with -the musl C library.] -Signed-off-by: Thomas Petazzoni ---- - backend/epsonds-io.c | 3 +++ - backend/hp5400.c | 3 +++ - backend/hp5590.c | 3 +++ - backend/kvs20xx_cmd.h | 4 ++++ - backend/kvs40xx.h | 3 +++ - include/sane/sanei_udp.h | 3 +++ - 6 files changed, 19 insertions(+) - -diff --git a/backend/epsonds-io.c b/backend/epsonds-io.c -index 28bacfc..512997d 100644 ---- a/backend/epsonds-io.c -+++ b/backend/epsonds-io.c -@@ -16,6 +16,9 @@ - #include "sane/config.h" - #include - #include /* sleep */ -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - - #include "epsonds.h" - #include "epsonds-io.h" -diff --git a/backend/hp5400.c b/backend/hp5400.c -index 61de3db..cfa2dc9 100644 ---- a/backend/hp5400.c -+++ b/backend/hp5400.c -@@ -67,6 +67,9 @@ - #include /* malloc, free */ - #include /* memcpy */ - #include -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - - - #define HP5400_CONFIG_FILE "hp5400.conf" -diff --git a/backend/hp5590.c b/backend/hp5590.c -index 7b1cd60..5422372 100644 ---- a/backend/hp5590.c -+++ b/backend/hp5590.c -@@ -48,6 +48,9 @@ - #include - #include - #include -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - - #include "../include/sane/sane.h" - #define BACKEND_NAME hp5590 -diff --git a/backend/kvs20xx_cmd.h b/backend/kvs20xx_cmd.h -index c18b754..4acaf62 100644 ---- a/backend/kvs20xx_cmd.h -+++ b/backend/kvs20xx_cmd.h -@@ -9,6 +9,10 @@ - Panasonic KV-S20xx USB-SCSI scanners. - */ - -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif -+ - #define COMMAND_BLOCK 1 - #define DATA_BLOCK 2 - #define RESPONSE_BLOCK 3 -diff --git a/backend/kvs40xx.h b/backend/kvs40xx.h -index fa17163..02e0da6 100644 ---- a/backend/kvs40xx.h -+++ b/backend/kvs40xx.h -@@ -10,6 +10,9 @@ - - #include "../include/sane/config.h" - #include -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - - #undef BACKEND_NAME - #define BACKEND_NAME kvs40xx -diff --git a/include/sane/sanei_udp.h b/include/sane/sanei_udp.h -index c44afdd..e32fc1a 100644 ---- a/include/sane/sanei_udp.h -+++ b/include/sane/sanei_udp.h -@@ -27,6 +27,9 @@ - #include - #include - #endif -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - - extern SANE_Status sanei_udp_open(const char *host, int port, int *fdp); - extern SANE_Status sanei_udp_open_broadcast(int *fdp); --- -2.7.4 - diff --git a/package/sane-backends/0003-sane_backend-add-missing-config.h.patch b/package/sane-backends/0002-sane_backend-add-missing-config.h.patch similarity index 100% rename from package/sane-backends/0003-sane_backend-add-missing-config.h.patch rename to package/sane-backends/0002-sane_backend-add-missing-config.h.patch diff --git a/package/sane-backends/sane-backends.hash b/package/sane-backends/sane-backends.hash index a7693e2527..ddf82500bb 100644 --- a/package/sane-backends/sane-backends.hash +++ b/package/sane-backends/sane-backends.hash @@ -1,2 +1,5 @@ -# From http://www.sane-project.org/sane-md5sums.txt -md5 f9ed5405b3c12f07c6ca51ee60225fe7 sane-backends-1.0.25.tar.gz +# From https://gitlab.com/sane-project/backends/tags/RELEASE_1_0_27 +sha256 293747bf37275c424ebb2c833f8588601a60b2f9653945d5a3194875355e36c9 sane-backends-1.0.27.tar.gz + +# Hash for license file +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/package/sane-backends/sane-backends.mk b/package/sane-backends/sane-backends.mk index ed3b912479..092123e194 100644 --- a/package/sane-backends/sane-backends.mk +++ b/package/sane-backends/sane-backends.mk @@ -4,8 +4,9 @@ # ################################################################################ -SANE_BACKENDS_VERSION = 1.0.25 -SANE_BACKENDS_SITE = https://alioth.debian.org/frs/download.php/file/4146 +SANE_BACKENDS_VERSION = 1.0.27 +SANE_BACKENDS_SITE = \ + https://gitlab.com/sane-project/backends/uploads/a3ba9fff29253a94e84074917bff581a SANE_BACKENDS_CONFIG_SCRIPTS = sane-config SANE_BACKENDS_LICENSE = GPL-2.0+ SANE_BACKENDS_LICENSE_FILES = COPYING @@ -23,9 +24,9 @@ endif ifeq ($(BR2_PACKAGE_LIBUSB),y) SANE_BACKENDS_DEPENDENCIES += libusb -SANE_BACKENDS_CONF_OPTS += --enable-libusb_1_0 +SANE_BACKENDS_CONF_OPTS += --with-usb else -SANE_BACKENDS_CONF_OPTS += --disable-libusb +SANE_BACKENDS_CONF_OPTS += --without-usb endif ifeq ($(BR2_PACKAGE_JPEG),y) diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in index 7027bd9a15..e984801de5 100644 --- a/package/sconeserver/Config.in +++ b/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/package/sconeserver/sconeserver.hash b/package/sconeserver/sconeserver.hash index 978b442f53..e1ff4486bc 100644 --- a/package/sconeserver/sconeserver.hash +++ b/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/package/sconeserver/sconeserver.mk b/package/sconeserver/sconeserver.mk index cf7bcbcb15..c160c8bf7c 100644 --- a/package/sconeserver/sconeserver.mk +++ b/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/package/sdl/Config.in b/package/sdl/Config.in index 65ac8a2469..9f1e34de5c 100644 --- a/package/sdl/Config.in +++ b/package/sdl/Config.in @@ -17,10 +17,6 @@ config BR2_PACKAGE_SDL_DIRECTFB bool "SDL DirectFB video driver" depends on BR2_PACKAGE_DIRECTFB -config BR2_PACKAGE_SDL_QTOPIA - bool "SDL Qtopia video driver" - depends on BR2_PACKAGE_QT - config BR2_PACKAGE_SDL_X11 bool "SDL X11 video driver" depends on BR2_PACKAGE_XORG7 diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk index 0a6a7de139..06564d610a 100644 --- a/package/sdl/sdl.mk +++ b/package/sdl/sdl.mk @@ -23,6 +23,8 @@ HOST_SDL_PRE_CONFIGURE_HOOKS += SDL_RUN_AUTOGEN SDL_DEPENDENCIES += host-automake host-autoconf host-libtool HOST_SDL_DEPENDENCIES += host-automake host-autoconf host-libtool +SDL_CONF_OPTS += --enable-video-qtopia=no + ifeq ($(BR2_PACKAGE_SDL_FBCON),y) SDL_CONF_OPTS += --enable-video-fbcon=yes else @@ -37,13 +39,6 @@ else SDL_CONF_OPTS += --enable-video-directfb=no endif -ifeq ($(BR2_PACKAGE_SDL_QTOPIA),y) -SDL_CONF_OPTS += --enable-video-qtopia=yes -SDL_DEPENDENCIES += qt -else -SDL_CONF_OPTS += --enable-video-qtopia=no -endif - ifeq ($(BR2_PACKAGE_SDL_X11),y) SDL_CONF_OPTS += --enable-video-x11=yes SDL_DEPENDENCIES += \ diff --git a/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch b/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch deleted file mode 100644 index 53926c03b5..0000000000 --- a/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch +++ /dev/null @@ -1,42 +0,0 @@ -From a0acea5bcce3f47badbfeeab7bc2e36eba08fd84 Mon Sep 17 00:00:00 2001 -From: Sam Lantinga -Date: Mon, 27 Aug 2018 11:51:05 -0700 -Subject: [PATCH] Fixed the DirectFB renderer not being enabled in autoconf - builds - -Upstream-url: https://hg.libsdl.org/SDL/raw-rev/751cdc74d55c -Signed-off-by: Peter Korsgaard ---- - configure | 3 +++ - configure.in | 1 + - 2 files changed, 4 insertions(+) - -diff --git a/configure b/configure -index e88b38001..40ac14d21 100755 ---- a/configure -+++ b/configure -@@ -21501,6 +21501,9 @@ fi - - $as_echo "#define SDL_VIDEO_DRIVER_DIRECTFB 1" >>confdefs.h - -+ -+$as_echo "#define SDL_VIDEO_RENDER_DIRECTFB 1" >>confdefs.h -+ - SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" - EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" - -diff --git a/configure.in b/configure.in -index 5bf5d717b..ce1d57ea1 100644 ---- a/configure.in -+++ b/configure.in -@@ -2163,6 +2163,7 @@ AC_HELP_STRING([--enable-directfb-shared], [dynamically load directfb support [[ - , enable_directfb_shared=yes) - - AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB, 1, [ ]) -+ AC_DEFINE(SDL_VIDEO_RENDER_DIRECTFB, 1, [ ]) - SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" - EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" - --- -2.11.0 - diff --git a/package/sdl2/0001-fix-build-with-disable-threads.patch b/package/sdl2/0001-fix-build-with-disable-threads.patch new file mode 100644 index 0000000000..81f7d7446f --- /dev/null +++ b/package/sdl2/0001-fix-build-with-disable-threads.patch @@ -0,0 +1,63 @@ +From 26646028f79d7f3d857df9b46cd6d0285796c699 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 21 Nov 2018 22:31:09 +0100 +Subject: [PATCH] fix build with --disable-threads + +SDL_LinuxSetThreadPriority() has been added since version 2.0.9 and +https://github.com/SDL-mirror/SDL/commit/f25a7fa870bdceb339e5105973f689606bcb9086 + +However, this function is used in src/dynapi/SDL_dynapi_procs.h even +when SDL_THREADS_DISABLED + +However, when SDL_THREADS_DISABLED is set, SDL_LinuxSetThreadPriority is +not defined because thread/pthread/SDL_systhread.c is not built + +So check SDL_THREADS_DISABLED in addition to __LINUX__ + +Fixes: + - http://autobuild.buildroot.org/results/539cb9ab6c605dc6be73ebe90debab1a998f2451 + +Signed-off-by: Fabrice Fontaine +--- + include/SDL_system.h | 4 ++-- + src/dynapi/SDL_dynapi_procs.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/SDL_system.h b/include/SDL_system.h +index 4dc372d6b..0513d7fa5 100644 +--- a/include/SDL_system.h ++++ b/include/SDL_system.h +@@ -77,7 +77,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_DXGIGetOutputInfo( int displayIndex, int *a + + + /* Platform specific functions for Linux */ +-#ifdef __LINUX__ ++#if defined(__LINUX__) && !defined(SDL_THREADS_DISABLED) + + /** + \brief Sets the UNIX nice value for a thread, using setpriority() if possible, and RealtimeKit if available. +@@ -86,7 +86,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_DXGIGetOutputInfo( int displayIndex, int *a + */ + extern DECLSPEC int SDLCALL SDL_LinuxSetThreadPriority(Sint64 threadID, int priority); + +-#endif /* __LINUX__ */ ++#endif /* defined(__LINUX__) && !defined(SDL_THREADS_DISABLED) */ + + /* Platform specific functions for iOS */ + #if defined(__IPHONEOS__) && __IPHONEOS__ +diff --git a/src/dynapi/SDL_dynapi_procs.h b/src/dynapi/SDL_dynapi_procs.h +index c95cf708b..ee9bf60a6 100644 +--- a/src/dynapi/SDL_dynapi_procs.h ++++ b/src/dynapi/SDL_dynapi_procs.h +@@ -708,7 +708,7 @@ SDL_DYNAPI_PROC(SDL_bool,SDL_IsAndroidTV,(void),(),return) + SDL_DYNAPI_PROC(double,SDL_log10,(double a),(a),return) + SDL_DYNAPI_PROC(float,SDL_log10f,(float a),(a),return) + SDL_DYNAPI_PROC(char*,SDL_GameControllerMappingForDeviceIndex,(int a),(a),return) +-#ifdef __LINUX__ ++#if defined(__LINUX__) && !defined(SDL_THREADS_DISABLED) + SDL_DYNAPI_PROC(int,SDL_LinuxSetThreadPriority,(Sint64 a, int b),(a,b),return) + #endif + SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX512F,(void),(),return) +-- +2.17.1 + diff --git a/package/sdl2/sdl2.hash b/package/sdl2/sdl2.hash index 997b4a5d4f..0668883f06 100644 --- a/package/sdl2/sdl2.hash +++ b/package/sdl2/sdl2.hash @@ -1,4 +1,4 @@ -# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.0.8.tar.gz.sig -sha256 edc77c57308661d576e843344d8638e025a7818bff73f8fbfab09c3c5fd092ec SDL2-2.0.8.tar.gz +# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.0.9.tar.gz.sig +sha256 255186dc676ecd0c1dbf10ec8a2cc5d6869b5079d8a38194c2aecdff54b324b1 SDL2-2.0.9.tar.gz # Locally calculated sha256 61e627031e1160bf8b9bdbc9cda27656d422ea8eaab199b64b4a4a4168437154 COPYING.txt diff --git a/package/sdl2/sdl2.mk b/package/sdl2/sdl2.mk index bd71485f18..d2fba9d810 100644 --- a/package/sdl2/sdl2.mk +++ b/package/sdl2/sdl2.mk @@ -4,7 +4,7 @@ # ################################################################################ -SDL2_VERSION = 2.0.8 +SDL2_VERSION = 2.0.9 SDL2_SOURCE = SDL2-$(SDL2_VERSION).tar.gz SDL2_SITE = http://www.libsdl.org/release SDL2_LICENSE = Zlib diff --git a/package/sdl2_net/sdl2_net.mk b/package/sdl2_net/sdl2_net.mk index 2fa4a8c2e0..93bf3a2eb3 100644 --- a/package/sdl2_net/sdl2_net.mk +++ b/package/sdl2_net/sdl2_net.mk @@ -10,6 +10,6 @@ SDL2_NET_SITE = http://www.libsdl.org/projects/SDL_net/release SDL2_NET_LICENSE = Zlib SDL2_NET_LICENSE_FILES = COPYING.txt SDL2_NET_INSTALL_STAGING = YES -SDL2_NET_DEPENDENCIES = sdl2 +SDL2_NET_DEPENDENCIES = sdl2 host-pkgconf $(eval $(autotools-package)) diff --git a/package/sdl_sound/sdl_sound.mk b/package/sdl_sound/sdl_sound.mk index 2544b598e9..c6028e7910 100644 --- a/package/sdl_sound/sdl_sound.mk +++ b/package/sdl_sound/sdl_sound.mk @@ -11,6 +11,11 @@ SDL_SOUND_LICENSE = LGPL-2.1+ SDL_SOUND_LICENSE_FILES = COPYING SDL_SOUND_INSTALL_STAGING = YES SDL_SOUND_DEPENDENCIES = sdl +SDL_SOUND_CONF_OPTS = \ + --with-sdl-prefix=$(STAGING_DIR)/usr \ + --with-sdl-exec-prefix=$(STAGING_DIR)/usr \ + --disable-sdltest \ + --enable-static ifneq ($(BR2_ENABLE_LOCALE),y) SDL_SOUND_DEPENDENCIES += libiconv @@ -52,12 +57,6 @@ else SDL_SOUND_CONF_OPTS += --disable-physfs endif -SDL_SOUND_CONF_OPTS = \ - --with-sdl-prefix=$(STAGING_DIR)/usr \ - --with-sdl-exec-prefix=$(STAGING_DIR)/usr \ - --disable-sdltest \ - --enable-static - ifeq ($(BR2_X86_CPU_HAS_MMX),y) SDL_SOUND_CONF_OPTS += --enable-mmx else diff --git a/package/sed/sed.hash b/package/sed/sed.hash index 470e5f2595..cc3bebafe1 100644 --- a/package/sed/sed.hash +++ b/package/sed/sed.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/sed/sed-4.5.tar.xz.sig +# https://ftp.gnu.org/gnu/sed/sed-4.7.tar.xz.sig # with the key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE -sha256 7aad73c8839c2bdadca9476f884d2953cdace9567ecd0d90f9959f229d146b40 sed-4.5.tar.xz +sha256 2885768cd0a29ff8d58a6280a270ff161f6a3deb5690b2be6c49f46d4c67bd6a sed-4.7.tar.xz # Locally calculated sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/package/sed/sed.mk b/package/sed/sed.mk index 4b2ed0313f..6fee598f66 100644 --- a/package/sed/sed.mk +++ b/package/sed/sed.mk @@ -4,7 +4,7 @@ # ################################################################################ -SED_VERSION = 4.5 +SED_VERSION = 4.7 SED_SOURCE = sed-$(SED_VERSION).tar.xz SED_SITE = $(BR2_GNU_MIRROR)/sed SED_LICENSE = GPL-3.0 diff --git a/package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch b/package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch new file mode 100644 index 0000000000..9cf74b6760 --- /dev/null +++ b/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/package/sedutil/Config.in b/package/sedutil/Config.in new file mode 100644 index 0000000000..f3452b60fb --- /dev/null +++ b/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/package/sedutil/sedutil.hash b/package/sedutil/sedutil.hash new file mode 100644 index 0000000000..9db1011379 --- /dev/null +++ b/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/package/sedutil/sedutil.mk b/package/sedutil/sedutil.mk new file mode 100644 index 0000000000..c80e43448d --- /dev/null +++ b/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/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch b/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch deleted file mode 100644 index 156701a818..0000000000 --- a/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/package/selinux-python/selinux-python.hash b/package/selinux-python/selinux-python.hash index 42fe575e7b..99965004fc 100644 --- a/package/selinux-python/selinux-python.hash +++ b/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/package/selinux-python/selinux-python.mk b/package/selinux-python/selinux-python.mk index 25a2d04105..2de55f33cb 100644 --- a/package/selinux-python/selinux-python.mk +++ b/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/package/semodule-utils/semodule-utils.hash b/package/semodule-utils/semodule-utils.hash index 18c8217ca6..be40918de6 100644 --- a/package/semodule-utils/semodule-utils.hash +++ b/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/package/semodule-utils/semodule-utils.mk b/package/semodule-utils/semodule-utils.mk index 8f07fa0a81..480e157c6d 100644 --- a/package/semodule-utils/semodule-utils.mk +++ b/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/package/setools/0003-setup.py-drop-path-prefix-from-man-install.patch b/package/setools/0003-setup.py-drop-path-prefix-from-man-install.patch new file mode 100644 index 0000000000..63344506b2 --- /dev/null +++ b/package/setools/0003-setup.py-drop-path-prefix-from-man-install.patch @@ -0,0 +1,42 @@ +From bc36cba1393120e65bfe4d0f642fd8d38010c0f7 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Wed, 28 Nov 2018 20:49:00 -0600 +Subject: [PATCH] setup.py: drop path prefix from man install + +If the directory is a relative path, it is interpreted relative to the +installation prefix (Python's sys.prefix for pure-Python packages, +sys.exec_prefix for packages that contain extension modules). +So the sys.prefix should not be joined because the correct one will be +added regardless. The reason why a relative path is going to work is +because the installation path is built internally joining python root +with python prefix, thus forming the correct path $(TARGET_DIR)/usr. +(https://docs.python.org/3/distutils/setupscript.html#installing-additional-files) + +For this man file install scenario, joining the sys.prefix makes the +path absolute (this was previously working by accident). + +Upstream: https://github.com/SELinuxProject/setools/pull/13/commits/bc36cba1393120e65bfe4d0f642fd8d38010c0f7 + +Cc: Angelo Compagnucci +Cc: Arnout Vandecappelle +Signed-off-by: Matthew Weber +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 3767fbc..80e0400 100644 +--- a/setup.py ++++ b/setup.py +@@ -136,7 +136,7 @@ setup(name='setools', + cmdclass={'build_qhc': QtHelpCommand, 'clean': CleanCommand}, + packages=['setools', 'setools.diff', 'setoolsgui', 'setoolsgui.apol'], + scripts=['apol', 'sediff', 'seinfo', 'seinfoflow', 'sesearch', 'sedta'], +- data_files=[(join(sys.prefix, 'share/man/man1'), glob.glob("man/*.1"))], ++ data_files=[('share/man/man1', glob.glob("man/*.1"))], + package_data={'': ['*.ui', '*.qhc', '*.qch'], 'setools': ['perm_map']}, + ext_modules=cythonize(ext_py_mods, include_path=['setools/policyrep'], + annotate=cython_annotate, +-- +1.9.1 + diff --git a/package/sg3_utils/0002-src-Makefile.am-add-missing-RT_LIB-for-sg_turs.patch b/package/sg3_utils/0002-src-Makefile.am-add-missing-RT_LIB-for-sg_turs.patch new file mode 100644 index 0000000000..34a4e114ec --- /dev/null +++ b/package/sg3_utils/0002-src-Makefile.am-add-missing-RT_LIB-for-sg_turs.patch @@ -0,0 +1,29 @@ +From 68b0591cf37760e09e358533bbcecf36eddfceed Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 10 Feb 2019 14:46:41 +0100 +Subject: [PATCH] src/Makefile.am: add missing @RT_LIB@ for sg_turs + +The sg_turs program uses clock_gettime(), so it should link against +librt, as provided by @RT_LIB@. + +Signed-off-by: Thomas Petazzoni +--- + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 881cf29..0eba680 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -170,7 +170,7 @@ sg_test_rwbuf_LDADD = ../lib/libsgutils2.la + + sg_timestamp_LDADD = ../lib/libsgutils2.la + +-sg_turs_LDADD = ../lib/libsgutils2.la ++sg_turs_LDADD = ../lib/libsgutils2.la @RT_LIB@ + + sg_unmap_LDADD = ../lib/libsgutils2.la + +-- +2.20.1 + diff --git a/package/sg3_utils/sg3_utils.hash b/package/sg3_utils/sg3_utils.hash index a884063f4f..14b94947d4 100644 --- a/package/sg3_utils/sg3_utils.hash +++ b/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/package/sg3_utils/sg3_utils.mk b/package/sg3_utils/sg3_utils.mk index 88827f33b4..79521fd06e 100644 --- a/package/sg3_utils/sg3_utils.mk +++ b/package/sg3_utils/sg3_utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -SG3_UTILS_VERSION = 1.42 +SG3_UTILS_VERSION = 1.44 SG3_UTILS_SOURCE = sg3_utils-$(SG3_UTILS_VERSION).tar.xz SG3_UTILS_SITE = http://sg.danny.cz/sg/p SG3_UTILS_LICENSE = BSD-3-Clause (library) @@ -14,7 +14,7 @@ SG3_UTILS_LICENSE := $(SG3_UTILS_LICENSE), GPL-2.0+ (programs), BSD-3-Clause (pr endif SG3_UTILS_LICENSE_FILES = COPYING BSD_LICENSE -# Patching configure.ac +# Patching configure.ac/Makefile.am SG3_UTILS_AUTORECONF = YES # install the libsgutils2 library @@ -51,3 +51,4 @@ SG3_UTILS_POST_INSTALL_TARGET_HOOKS += SG3_UTILS_REMOVE_PROGS endif $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/shadowsocks-libev/0001-configure.ac-fix-static-build-with-netfilter_conntra.patch b/package/shadowsocks-libev/0001-configure.ac-fix-static-build-with-netfilter_conntra.patch new file mode 100644 index 0000000000..7ddb140e8d --- /dev/null +++ b/package/shadowsocks-libev/0001-configure.ac-fix-static-build-with-netfilter_conntra.patch @@ -0,0 +1,31 @@ +From 9b4aebc840f444e5aa83633838e3890cec523017 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 18 Jan 2019 21:05:34 +0100 +Subject: [PATCH] configure.ac: fix static build with netfilter_conntrack + +Fixes: + - http://autobuild.buildroot.org/results/22a28e8fd8182e1c908541dbc5b0ee087c3803e6 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://github.com/shadowsocks/shadowsocks-libev/pull/2270] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a706591..c6dab8b 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -256,7 +256,7 @@ if test x"$enable_connmarktos" = "xyes" ; then + if test x"$enable_connmarktos" = "xyes"; then + AC_MSG_ERROR([--enable-connmarktos specified but libnetfilter-conntrack library not found]) + fi +- with_netfilter_conntrack=no]) ++ with_netfilter_conntrack=no], [-lnfnetlink]) + AC_CHECK_HEADERS([libnetfilter_conntrack/libnetfilter_conntrack.h \ + libnetfilter_conntrack/libnetfilter_conntrack_tcp.h],,[ + if test x"$enable_connmarktos" = "xyes"; then +-- +2.14.1 + diff --git a/package/shadowsocks-libev/Config.in b/package/shadowsocks-libev/Config.in index f58abdbcb1..fefb27bcc1 100644 --- a/package/shadowsocks-libev/Config.in +++ b/package/shadowsocks-libev/Config.in @@ -15,6 +15,18 @@ config BR2_PACKAGE_SHADOWSOCKS_LIBEV https://github.com/shadowsocks/shadowsocks-libev +config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS + bool "connmarktos support in ss-server" + depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV + select BR2_PACKAGE_LIBNETFILTER_CONNTRACK + help + Build ss-server with the connmark to TOS feature. + + This feature requires advanced tc, iptables and conntrack + rules to perform QoS on the server side. + + If unsure, don't enable this option + comment "shadowsocks-libev needs a toolchain w/ threads" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64 diff --git a/package/shadowsocks-libev/shadowsocks-libev.hash b/package/shadowsocks-libev/shadowsocks-libev.hash index fffe9fddf0..a7c0dc0710 100644 --- a/package/shadowsocks-libev/shadowsocks-libev.hash +++ b/package/shadowsocks-libev/shadowsocks-libev.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 5521cf623a07fd1e393528516a83acd2b66c5d4bb4535a52662806a6a060c606 shadowsocks-libev-3.2.0.tar.gz +sha256 2befc27b1cc62af0450702343d17e347936f0d4e3d4b04ba9246c4f9b409b742 shadowsocks-libev-3.2.3.tar.gz # License files, locally calculated sha256 736883f97d44dbec288bb82819f18f4f86d02ae3192f6a9abefa00db76bace41 COPYING diff --git a/package/shadowsocks-libev/shadowsocks-libev.mk b/package/shadowsocks-libev/shadowsocks-libev.mk index caae2176b4..c2c33b7aa5 100644 --- a/package/shadowsocks-libev/shadowsocks-libev.mk +++ b/package/shadowsocks-libev/shadowsocks-libev.mk @@ -4,14 +4,23 @@ # ################################################################################ -SHADOWSOCKS_LIBEV_VERSION = 3.2.0 +SHADOWSOCKS_LIBEV_VERSION = 3.2.3 SHADOWSOCKS_LIBEV_SITE = https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(SHADOWSOCKS_LIBEV_VERSION) SHADOWSOCKS_LIBEV_LICENSE = GPL-3.0+, BSD-2-Clause (libbloom), BSD-3-Clause (libcork, libipset) SHADOWSOCKS_LIBEV_LICENSE_FILES = COPYING libbloom/LICENSE libcork/COPYING SHADOWSOCKS_LIBEV_DEPENDENCIES = host-pkgconf c-ares libev libsodium mbedtls pcre SHADOWSOCKS_LIBEV_INSTALL_STAGING = YES +# We're patching configure.ac +SHADOWSOCKS_LIBEV_AUTORECONF = YES SHADOWSOCKS_LIBEV_CONF_OPTS = \ --with-pcre=$(STAGING_DIR)/usr \ --disable-ssp +ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y) +SHADOWSOCKS_LIBEV_DEPENDENCIES += libnetfilter_conntrack +SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos +else +SHADOWSOCKS_LIBEV_CONF_OPTS += --disable-connmarktos +endif + $(eval $(autotools-package)) diff --git a/package/shairport-sync/S99shairport-sync b/package/shairport-sync/S99shairport-sync index 5443ed138c..80b2fddbc6 100644 --- a/package/shairport-sync/S99shairport-sync +++ b/package/shairport-sync/S99shairport-sync @@ -6,16 +6,18 @@ OPTIONS="-d" case "$1" in start) printf "Starting shairport-sync: " - start-stop-daemon -S -q -p /var/run/shairport-sync.pid --exec /usr/bin/shairport-sync -- $OPTIONS + start-stop-daemon -S -q --exec /usr/bin/shairport-sync -- $OPTIONS [ $? = 0 ] && echo "OK" || echo "FAIL" ;; stop) printf "Stopping shairport-sync: " - start-stop-daemon -K -q -p /var/run/shairport-sync.pid + start-stop-daemon -K -q --exec /usr/bin/shairport-sync \ + -p /var/run/shairport-sync/shairport-sync.pid [ $? = 0 ] && echo "OK" || echo "FAIL" ;; restart) $0 stop + sleep 1 $0 start ;; *) diff --git a/package/shellinabox/0002-launcher.c-include-sys-ttydefaults.h.patch b/package/shellinabox/0002-launcher.c-include-sys-ttydefaults.h.patch deleted file mode 100644 index caa5456609..0000000000 --- a/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/package/shellinabox/shellinabox.hash b/package/shellinabox/shellinabox.hash index 4bc110385a..6e19207066 100644 --- a/package/shellinabox/shellinabox.hash +++ b/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/package/shellinabox/shellinabox.mk b/package/shellinabox/shellinabox.mk index 1db62e609a..70db551e3c 100644 --- a/package/shellinabox/shellinabox.mk +++ b/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/package/sigrok-cli/Config.in b/package/sigrok-cli/Config.in index 75bd8c6d5a..df1cd95bed 100644 --- a/package/sigrok-cli/Config.in +++ b/package/sigrok-cli/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_SIGROK_CLI depends on !BR2_STATIC_LIBS # libsigrok depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + depends on BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBSIGROK help Sigrok-cli is a command-line frontend for the sigrok @@ -15,7 +16,8 @@ config BR2_PACKAGE_SIGROK_CLI http://sigrok.org/wiki/Sigrok-cli -comment "sigrok-cli needs a toolchain w/ wchar, threads, dynamic library, gcc >= 4.7" +comment "sigrok-cli needs a toolchain w/ locale, wchar, threads, dynamic library, gcc >= 4.7" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || BR2_STATIC_LIBS + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || BR2_STATIC_LIBS \ + || !BR2_ENABLE_LOCALE diff --git a/package/skeleton-custom/skeleton-custom.mk b/package/skeleton-custom/skeleton-custom.mk index 8c57531782..b05c834b94 100644 --- a/package/skeleton-custom/skeleton-custom.mk +++ b/package/skeleton-custom/skeleton-custom.mk @@ -23,33 +23,11 @@ $(error No path specified for the custom skeleton) endif endif -# Extract the inode numbers for all of those directories. In case any is -# a symlink, we want to get the inode of the pointed-to directory, so we -# append '/.' to be sure we get the target directory. Since the symlinks -# can be anyway (/bin -> /usr/bin or /usr/bin -> /bin), we do that for -# all of them. -# -SKELETON_CUSTOM_LIB_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/lib/. 2>/dev/null) -SKELETON_CUSTOM_BIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/bin/. 2>/dev/null) -SKELETON_CUSTOM_SBIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/sbin/. 2>/dev/null) -SKELETON_CUSTOM_USR_LIB_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/lib/. 2>/dev/null) -SKELETON_CUSTOM_USR_BIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/bin/. 2>/dev/null) -SKELETON_CUSTOM_USR_SBIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/sbin/. 2>/dev/null) - # For a merged /usr, ensure that /lib, /bin and /sbin and their /usr # counterparts are appropriately setup as symlinks ones to the others. ifeq ($(BR2_ROOTFS_MERGED_USR),y) - -ifneq ($(SKELETON_CUSTOM_LIB_INODE),$(SKELETON_CUSTOM_USR_LIB_INODE)) -SKELETON_CUSTOM_NOT_MERGED_USR_DIRS += /lib -endif -ifneq ($(SKELETON_CUSTOM_BIN_INODE),$(SKELETON_CUSTOM_USR_BIN_INODE)) -SKELETON_CUSTOM_NOT_MERGED_USR_DIRS += /bin -endif -ifneq ($(SKELETON_CUSTOM_SBIN_INODE),$(SKELETON_CUSTOM_USR_SBIN_INODE)) -SKELETON_CUSTOM_NOT_MERGED_USR_DIRS += /sbin -endif - +SKELETON_CUSTOM_NOT_MERGED_USR_DIRS = \ + $(shell support/scripts/check-merged-usr.sh $(SKELETON_CUSTOM_PATH)) endif # merged /usr ifeq ($(BR2_PACKAGE_SKELETON_CUSTOM)$(BR_BUILDING),yy) @@ -64,6 +42,7 @@ endif # things we customise in the custom skeleton. define SKELETON_CUSTOM_INSTALL_TARGET_CMDS $(call SYSTEM_RSYNC,$(SKELETON_CUSTOM_PATH),$(TARGET_DIR)) + $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(TARGET_DIR)) $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ $(TARGET_DIR_WARNING_FILE) @@ -75,6 +54,7 @@ endef # skeleton to staging. define SKELETON_CUSTOM_INSTALL_STAGING_CMDS $(call SYSTEM_RSYNC,$(SKELETON_CUSTOM_PATH),$(STAGING_DIR)) + $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(STAGING_DIR)) $(call SYSTEM_LIB_SYMLINK,$(STAGING_DIR)) endef diff --git a/package/skeleton-init-common/skeleton-init-common.mk b/package/skeleton-init-common/skeleton-init-common.mk index 532173df45..46a181c30d 100644 --- a/package/skeleton-init-common/skeleton-init-common.mk +++ b/package/skeleton-init-common/skeleton-init-common.mk @@ -20,6 +20,7 @@ define SKELETON_INIT_COMMON_INSTALL_TARGET_CMDS $(call SYSTEM_RSYNC,$(SKELETON_INIT_COMMON_PATH),$(TARGET_DIR)) $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(TARGET_DIR)) $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) + $(SED) 's,@PATH@,$(BR2_SYSTEM_DEFAULT_PATH),' $(TARGET_DIR)/etc/profile $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ $(TARGET_DIR_WARNING_FILE) endef @@ -41,13 +42,16 @@ SKELETON_INIT_COMMON_PASSWD_METHOD = $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_M SKELETON_INIT_COMMON_BIN_SH = $(call qstrip,$(BR2_SYSTEM_BIN_SH)) ifneq ($(SKELETON_INIT_COMMON_HOSTNAME),) +SKELETON_INIT_COMMON_HOSTS_LINE = $(SKELETON_INIT_COMMON_HOSTNAME) +SKELETON_INIT_COMMON_SHORT_HOSTNAME = $(firstword $(subst ., ,$(SKELETON_INIT_COMMON_HOSTNAME))) +ifneq ($(SKELETON_INIT_COMMON_HOSTNAME),$(SKELETON_INIT_COMMON_SHORT_HOSTNAME)) +SKELETON_INIT_COMMON_HOSTS_LINE += $(SKELETON_INIT_COMMON_SHORT_HOSTNAME) +endif define SKELETON_INIT_COMMON_SET_HOSTNAME mkdir -p $(TARGET_DIR)/etc - test -f $(TARGET_DIR)/etc/hostname && \ - echo "$(SKELETON_INIT_COMMON_HOSTNAME)" > $(TARGET_DIR)/etc/hostname || true - test -f $(TARGET_DIR)/etc/hosts && \ - $(SED) '$$a \127.0.1.1\t$(SKELETON_INIT_COMMON_HOSTNAME)' \ - -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts || true + echo "$(SKELETON_INIT_COMMON_HOSTNAME)" > $(TARGET_DIR)/etc/hostname + $(SED) '$$a \127.0.1.1\t$(SKELETON_INIT_COMMON_HOSTS_LINE)' \ + -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts endef SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_HOSTNAME endif diff --git a/package/smcroute/smcroute.hash b/package/smcroute/smcroute.hash index 0487ef6cab..e5929bff7a 100644 --- a/package/smcroute/smcroute.hash +++ b/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/package/smcroute/smcroute.mk b/package/smcroute/smcroute.mk index e7e6ef1521..aacf211387 100644 --- a/package/smcroute/smcroute.mk +++ b/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/package/sngrep/0001-Fix-building-against-LibreSSL.patch b/package/sngrep/0001-Fix-building-against-LibreSSL.patch deleted file mode 100644 index 311f0b3d52..0000000000 --- a/package/sngrep/0001-Fix-building-against-LibreSSL.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 05d110ef57e9647b84c9656e746f72a76ea8c758 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Tue, 6 Feb 2018 12:47:43 -0500 -Subject: [PATCH] Fix building against LibreSSL - -LibreSSL declares OPENSSL_VERSION_NUMBER == 2.0 but does not include most -changes from OpenSSL >= 1.1. - -To work around this: - -- Check to see if LIBRESSL_VERSION_NUMBER is defined. -- If so, define MODSSL_USE_OPENSSL_PRE_1_1_API. -- Change all checks for OPENSSL_VERSION_NUMBER < 0x10100000L to - '#if MODSSL_USE_OPENSSL_PRE_1_1_API' - -Upstream-Status: Committed -https://github.com/irontec/sngrep/commit/0ee014d497986c40de264f6392b01fdf4e337fd5 - -Signed-off-by: Adam Duskett ---- - src/capture_openssl.c | 6 +++--- - src/capture_openssl.h | 9 +++++++++ - 2 files changed, 12 insertions(+), 3 deletions(-) - -diff --git a/src/capture_openssl.c b/src/capture_openssl.c -index 0a052c3..a4e1de0 100644 ---- a/src/capture_openssl.c -+++ b/src/capture_openssl.c -@@ -94,7 +94,7 @@ P_hash(const char *digest, unsigned char *dest, int dlen, unsigned char *secret, - - // Calculate enough data to fill destination - while (pending > 0) { --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if MODSSL_USE_OPENSSL_PRE_1_1_API - HMAC_CTX hm; - HMAC_Init(&hm, secret, sslen, md); - HMAC_Update(&hm, tmpseed, tmpslen); -@@ -495,7 +495,7 @@ tls_process_record(struct SSLConnection *conn, const uint8_t *payload, - break; - case change_cipher_spec: - // From now on, this connection will be encrypted using MasterSecret --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if MODSSL_USE_OPENSSL_PRE_1_1_API - if (conn->client_cipher_ctx->cipher && conn->server_cipher_ctx->cipher) - conn->encrypted = 1; - #else -@@ -588,7 +588,7 @@ tls_process_record_handshake(struct SSLConnection *conn, const opaque *fragment, - // Decrypt PreMasterKey - clientkeyex = (struct ClientKeyExchange *) body; - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if MODSSL_USE_OPENSSL_PRE_1_1_API - RSA_private_decrypt(UINT16_INT(clientkeyex->length), - (const unsigned char *) &clientkeyex->exchange_keys, - (unsigned char *) &conn->pre_master_secret, -diff --git a/src/capture_openssl.h b/src/capture_openssl.h -index 31f48ce..b3e88fe 100644 ---- a/src/capture_openssl.h -+++ b/src/capture_openssl.h -@@ -65,6 +65,15 @@ - #define OLD_OPENSSL_VERSION 1 - #endif - -+/* LibreSSL declares OPENSSL_VERSION_NUMBER == 2.0 but does not include most -+ * changes from OpenSSL >= 1.1 (new functions, macros, deprecations, ...) -+ */ -+#if defined(LIBRESSL_VERSION_NUMBER) -+#define MODSSL_USE_OPENSSL_PRE_1_1_API (1) -+#else -+#define MODSSL_USE_OPENSSL_PRE_1_1_API (OPENSSL_VERSION_NUMBER < 0x10100000L) -+#endif -+ - //! Three bytes unsigned integer - typedef struct uint16 { - unsigned char x[2]; --- -2.14.3 - diff --git a/package/sngrep/0001-capture-fix-typo-in-FILE-object.patch b/package/sngrep/0001-capture-fix-typo-in-FILE-object.patch new file mode 100644 index 0000000000..ec8a0f5dc5 --- /dev/null +++ b/package/sngrep/0001-capture-fix-typo-in-FILE-object.patch @@ -0,0 +1,43 @@ +From 604f6d0ce2ec42ac494d76c95e68850ea6e7da8f Mon Sep 17 00:00:00 2001 +From: Sebastian Kemper +Date: Sun, 4 Nov 2018 16:58:00 +0100 +Subject: [PATCH] capture: fix typo in FILE object + +FILE *fstdin is defined, but when calling freopen() stdin is used instead +of fstdin. + +This causes the compile to fail: + + CC sngrep-capture.o +capture.c: In function 'capture_offline': +capture.c:194:21: error: assignment of read-only variable 'stdin' + if (!(stdin = freopen("/dev/tty", "r", stdin))) { + ^ +make[5]: *** [Makefile:519: sngrep-capture.o] Error 1 + +This commit fixes the typo. + +Signed-off-by: Sebastian Kemper +Signed-off-by: Baruch Siach +--- +Upstream status: commit 604f6d0ce2ec + + src/capture.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/capture.c b/src/capture.c +index 911c35f43a35..a799413e2b0e 100644 +--- a/src/capture.c ++++ b/src/capture.c +@@ -191,7 +191,7 @@ capture_offline(const char *infile, const char *outfile) + + // Reopen tty for ncurses after pcap have used stdin + if (!strncmp(infile, "/dev/stdin", 10)) { +- if (!(stdin = freopen("/dev/tty", "r", stdin))) { ++ if (!(fstdin = freopen("/dev/tty", "r", stdin))) { + fprintf(stderr, "Failed to reopen tty while using stdin for capture."); + return 1; + } +-- +2.19.2 + diff --git a/package/sngrep/sngrep.hash b/package/sngrep/sngrep.hash index 16552cf5cd..f751a14632 100644 --- a/package/sngrep/sngrep.hash +++ b/package/sngrep/sngrep.hash @@ -1,6 +1,6 @@ -# From https://github.com/irontec/sngrep/releases/download/v1.4.5/sngrep-1.4.5.tar.gz.md5sum -md5 11f1cdb8e8f3a3c9ef02ecd12268322e sngrep-1.4.5.tar.gz +# From https://github.com/irontec/sngrep/releases/download/v1.4.6/sngrep-1.4.6.tar.gz.md5sum +md5 094e76786b118258bac69e1514aac826 sngrep-1.4.6.tar.gz # Locally computed -sha256 16f1566f4507ba560c7461cc7ff1c1653beb14b8baf7846269bbb4880564e57f sngrep-v1.4.5.tar.gz +sha256 638d6557dc68db401b07d73b2e7f8276800281f021fe0c942992566d6b59a48a sngrep-v1.4.6.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/sngrep/sngrep.mk b/package/sngrep/sngrep.mk index 3f1fe989cf..c6d2a292b3 100644 --- a/package/sngrep/sngrep.mk +++ b/package/sngrep/sngrep.mk @@ -4,7 +4,7 @@ # ################################################################################ -SNGREP_VERSION = v1.4.5 +SNGREP_VERSION = v1.4.6 SNGREP_SITE = $(call github,irontec,sngrep,$(SNGREP_VERSION)) SNGREP_LICENSE = GPL-3.0+ SNGREP_LICENSE_FILES = LICENSE diff --git a/package/softether/0003-use-fhs-install-directories.patch b/package/softether/0003-use-fhs-install-directories.patch index c489cc1a6c..ba00d9b676 100644 --- a/package/softether/0003-use-fhs-install-directories.patch +++ b/package/softether/0003-use-fhs-install-directories.patch @@ -15,20 +15,22 @@ https://github.com/dajhorn/SoftEtherVPN/commit/b9420c3bfc2a8b9d35d0c8e5f6849007c Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni + +[Updated for 4.28 build 9669 beta - src/Mayaqua/Encrypt.c dropped IsXRevoked() +Signed-off-by: Matthew Weber --- autotools/softether.am | 1 + src/Cedar/Admin.c | 2 +- src/Cedar/Command.c | 6 +++++- src/Cedar/Logging.c | 2 +- src/Cedar/Server.c | 4 ++-- - src/Mayaqua/Encrypt.c | 2 +- src/Mayaqua/FileIO.c | 39 ++++++++++++++++++++++++++++++++++++--- src/Mayaqua/FileIO.h | 2 ++ src/Mayaqua/Mayaqua.c | 4 ++++ src/Mayaqua/Table.c | 6 +++++- src/Mayaqua/Unix.c | 6 +++--- src/bin/hamcore/Makefile.am | 8 ++++++-- - 12 files changed, 67 insertions(+), 15 deletions(-) + 11 files changed, 66 insertions(+), 14 deletions(-) Index: b/autotools/softether.am =================================================================== @@ -115,19 +117,6 @@ Index: b/src/Cedar/Server.c Format(dir_full_path, sizeof(dir_full_path), "%s/%s", exe_dir, dirname); dir = EnumDir(dir_full_path); -Index: b/src/Mayaqua/Encrypt.c -=================================================================== ---- a/src/Mayaqua/Encrypt.c -+++ b/src/Mayaqua/Encrypt.c -@@ -579,7 +579,7 @@ - return false; - } - -- GetExeDir(dirname, sizeof(dirname)); -+ GetStateDir(dirname, sizeof(dirname)); - - // Search the CRL file - t = EnumDir(dirname); Index: b/src/Mayaqua/FileIO.c =================================================================== --- a/src/Mayaqua/FileIO.c diff --git a/package/softether/0010-Encrypt-set-default-RSA-key-size-to-1024-everywhere-.patch b/package/softether/0010-Encrypt-set-default-RSA-key-size-to-1024-everywhere-.patch new file mode 100644 index 0000000000..20a1f06229 --- /dev/null +++ b/package/softether/0010-Encrypt-set-default-RSA-key-size-to-1024-everywhere-.patch @@ -0,0 +1,78 @@ +From 1fad008e1adba5cb596da6f9ec6a244d49a585cf Mon Sep 17 00:00:00 2001 +From: Davide Beatrici +Date: Mon, 9 Apr 2018 22:02:34 +0200 +Subject: [PATCH] Encrypt: set default RSA key size to 1024 everywhere, using + the RSA_KEY_SIZE macro + +This commit also fixes the problem described in #31, which was caused by the test key generated in RsaCheck() being too small for newer OpenSSL versions. + +Failure looks like +-- Alert: RsaCheck() -- +OpenSSL Library Init Failed. (too old?) +Please install the latest version of OpenSSL. + +Upstream: https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/commit/1fad008e1adba5cb596da6f9ec6a244d49a585cf +(Currently still on an active pull request https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/pull/1) + +Signed-off-by: Matthew Weber +--- + src/Mayaqua/Encrypt.c | 8 ++++---- + src/Mayaqua/Encrypt.h | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/Mayaqua/Encrypt.c b/src/Mayaqua/Encrypt.c +index 381d1c5..a557052 100644 +--- a/src/Mayaqua/Encrypt.c ++++ b/src/Mayaqua/Encrypt.c +@@ -2194,7 +2194,7 @@ bool RsaVerifyEx(void *data, UINT data_size, void *sign, K *k, UINT bits) + } + if (bits == 0) + { +- bits = 1024; ++ bits = RSA_KEY_SIZE; + } + + // Hash the data +@@ -2233,7 +2233,7 @@ bool RsaSignEx(void *dst, void *src, UINT size, K *k, UINT bits) + } + if (bits == 0) + { +- bits = 1024; ++ bits = RSA_KEY_SIZE; + } + + Zero(dst, bits / 8); +@@ -2302,7 +2302,7 @@ bool RsaCheck() + BIO *bio; + char errbuf[MAX_SIZE]; + UINT size = 0; +- UINT bit = 32; ++ UINT bit = RSA_KEY_SIZE; + // Validate arguments + + // Key generation +@@ -2372,7 +2372,7 @@ bool RsaGen(K **priv, K **pub, UINT bit) + } + if (bit == 0) + { +- bit = 1024; ++ bit = RSA_KEY_SIZE; + } + + // Key generation +diff --git a/src/Mayaqua/Encrypt.h b/src/Mayaqua/Encrypt.h +index d795d2d..0c48161 100644 +--- a/src/Mayaqua/Encrypt.h ++++ b/src/Mayaqua/Encrypt.h +@@ -128,7 +128,7 @@ void RAND_Free_For_SoftEther(); + #define DES_IV_SIZE 8 // DES IV size + #define DES_BLOCK_SIZE 8 // DES block size + #define DES3_KEY_SIZE (8 * 3) // 3DES key size +-#define RSA_KEY_SIZE 128 // RSA key size ++#define RSA_KEY_SIZE 1024 // RSA key size + #define DH_KEY_SIZE 128 // DH key size + #define RSA_MIN_SIGN_HASH_SIZE (15 + SHA1_HASH_SIZE) // Minimum RSA hash size + #define RSA_SIGN_HASH_SIZE (RSA_MIN_SIGN_HASH_SIZE) // RSA hash size +-- +1.9.1 + diff --git a/package/softether/softether.hash b/package/softether/softether.hash index ec6e0603d7..fdbbbca39d 100644 --- a/package/softether/softether.hash +++ b/package/softether/softether.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 8e6310d36e579ea07171ce5fcb9ebe31235d218444c4e4836ca6c32aa49c1f93 softether-v4.22-9634-beta.tar.gz -sha256 7aeb873293fa0e44425dabf68a8e46e26c848fe58efcfd3ac7c90a3386f3edd1 LICENSE +sha256 fbf6e04c4451d0cb1555c3a53c178b5453c7d761119f82fd693538c9f115fecb softether-v4.28-9669-beta.tar.gz +sha256 0a889e7e7a277397d0a2d56c37814eefd8c6b6129d8b74ee2d27fc3415fad561 LICENSE diff --git a/package/softether/softether.mk b/package/softether/softether.mk index 05d2f20fe5..1a31abd4bd 100644 --- a/package/softether/softether.mk +++ b/package/softether/softether.mk @@ -4,11 +4,11 @@ # ################################################################################ -SOFTETHER_VERSION = v4.22-9634-beta -SOFTETHER_SITE = $(call github,SoftEtherVPN,SoftEtherVPN,$(SOFTETHER_VERSION)) +SOFTETHER_VERSION = v4.28-9669-beta +SOFTETHER_SITE = $(call github,SoftEtherVPN,SoftEtherVPN_stable,$(SOFTETHER_VERSION)) SOFTETHER_LICENSE = GPL-2.0 SOFTETHER_LICENSE_FILES = LICENSE -SOFTETHER_DEPENDENCIES = host-softether libopenssl readline +SOFTETHER_DEPENDENCIES = host-pkgconf host-softether libopenssl readline SOFTETHER_AUTORECONF = YES ifeq ($(BR2_ENABLE_LOCALE),) @@ -16,14 +16,7 @@ SOFTETHER_DEPENDENCIES += libiconv SOFTETHER_CONF_ENV = LIBS+=" -liconv" endif -ifeq ($(BR2_STATIC_LIBS),y) -# openssl needs zlib -SOFTETHER_CONF_ENV += LIBS+=" -lz" -endif - -SOFTETHER_CONF_OPTS = \ - --with-openssl="$(STAGING_DIR)/usr" \ - --with-zlib="$(STAGING_DIR)/usr" +SOFTETHER_CONF_OPTS = --with-zlib="$(STAGING_DIR)/usr" # host-libiconv does not exist, therefore we need this extra line HOST_SOFTETHER_DEPENDENCIES = host-pkgconf host-libopenssl host-readline diff --git a/package/solarus/0001-cmake-remove-Werror.patch b/package/solarus/0001-cmake-remove-Werror.patch index b27908c829..533ac91c7d 100644 --- a/package/solarus/0001-cmake-remove-Werror.patch +++ b/package/solarus/0001-cmake-remove-Werror.patch @@ -1,27 +1,26 @@ -From 4d315359d15e1221f3463b77a960a60093aac893 Mon Sep 17 00:00:00 2001 +From 5f372ba3502369c6501c77650a761300d26f64c0 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Thu, 22 Jun 2017 00:19:56 +0200 Subject: [PATCH] cmake: remove Werror Signed-off-by: Romain Naour --- - cmake/AddCompilationFlags.cmake | 3 --- - 1 file changed, 3 deletions(-) + cmake/AddCompilationFlags.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/AddCompilationFlags.cmake b/cmake/AddCompilationFlags.cmake -index 5159ff9..a506033 100644 +index 2c105db7f..cb5c5719a 100644 --- a/cmake/AddCompilationFlags.cmake +++ b/cmake/AddCompilationFlags.cmake -@@ -24,9 +24,6 @@ endif() - # Be less pedantic in release builds for users. - set(CMAKE_CXX_FLAGS_RELEASE "-Wno-error -Wall -Wextra -Wno-unknown-pragmas -Wno-fatal-errors ${CMAKE_CXX_FLAGS_RELEASE}") +@@ -25,7 +25,7 @@ endif() + set(CMAKE_CXX_FLAGS_RELEASE "-Wno-error -Wall -Wextra -Wno-unknown-pragmas -Wno-fatal-errors ${CMAKE_CXX_FLAGS_RELEASE} -O3") --# Be more pedantic in debug mode for developers. --set(CMAKE_CXX_FLAGS_DEBUG "-Werror -Wall -Wextra -pedantic ${CMAKE_CXX_FLAGS_DEBUG}") -- - # Platform-specific flags. - if(WIN32) - # MinGW: disable the console by default. + # Be more pedantic in debug mode for developers. +-set(CMAKE_CXX_FLAGS_DEBUG "-Werror -Wall -Wextra -Wno-error=deprecated-declarations -pedantic ${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") ++set(CMAKE_CXX_FLAGS_DEBUG "-Wno-error -Wall -Wextra -Wno-error=deprecated-declarations -pedantic ${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") + if(CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wsuggest-override") + endif() -- -2.9.4 +2.14.5 diff --git a/package/solarus/Config.in b/package/solarus/Config.in index 30c7aa28b5..359ad15e02 100644 --- a/package/solarus/Config.in +++ b/package/solarus/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_SOLARUS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal depends on !BR2_STATIC_LIBS # SDL2 + depends on BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_LIBMODPLUG select BR2_PACKAGE_LIBOGG select BR2_PACKAGE_LIBPNG # runtime @@ -24,8 +25,9 @@ config BR2_PACKAGE_SOLARUS http://www.solarus-games.org https://github.com/solarus-games/solarus -comment "solarus needs a toolchain w/ C++, gcc >= 4.8, NPTL, dynamic library" +comment "solarus needs OpenGL and a toolchain w/ C++, gcc >= 4.8, NPTL, dynamic library" depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ - || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS + || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ + || !BR2_PACKAGE_HAS_LIBGL diff --git a/package/solarus/solarus.hash b/package/solarus/solarus.hash index 8ed5cafa4b..dab8d1a1fa 100644 --- a/package/solarus/solarus.hash +++ b/package/solarus/solarus.hash @@ -1,5 +1,4 @@ # Locally calculated -sha256 5930584e7c333089a2c1bf372ccc25ad3fb5c1d973189d2bf67f2308189af94d solarus-v1.5.3.tar.gz +sha256 d800fdf388f860732f2d40c8dd635c34fd1c452857f75bf9b3a421e3ef5ee751 solarus-1.6.0-src.tar.gz -sha256 09cb24006b6a3f2698d8851dc5df4f413c1a98e20d4008bffd76ec236f14244d license.txt -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 license_gpl.txt +sha256 309875d925041d909bc705473d6c4b7905272aea15c1c2389088c26c161bae1f license.txt diff --git a/package/solarus/solarus.mk b/package/solarus/solarus.mk index af37f81a0b..fd7bbea2c7 100644 --- a/package/solarus/solarus.mk +++ b/package/solarus/solarus.mk @@ -4,17 +4,18 @@ # ################################################################################ -SOLARUS_VERSION = v1.5.3 -SOLARUS_SITE = $(call github,solarus-games,solarus,$(SOLARUS_VERSION)) +SOLARUS_VERSION = 1.6.0 +SOLARUS_SITE = http://www.solarus-games.org/downloads/solarus +SOLARUS_SOURCE = solarus-$(SOLARUS_VERSION)-src.tar.gz SOLARUS_LICENSE = GPL-3.0 (code), CC-BY-SA-4.0 (Solarus logos and icons), \ CC-BY-SA-3.0 (GUI icons) -SOLARUS_LICENSE_FILES = license.txt license_gpl.txt +SOLARUS_LICENSE_FILES = license.txt # Install libsolarus.so SOLARUS_INSTALL_STAGING = YES -SOLARUS_DEPENDENCIES = libmodplug libogg libvorbis luajit openal physfs sdl2 \ +SOLARUS_DEPENDENCIES = libgl libmodplug libogg libvorbis luajit openal physfs sdl2 \ sdl2_image sdl2_ttf # Disable launcher GUI (requires Qt5) diff --git a/package/spandsp/Config.in b/package/spandsp/Config.in new file mode 100644 index 0000000000..a2d5b85d79 --- /dev/null +++ b/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/package/spandsp/spandsp.hash b/package/spandsp/spandsp.hash new file mode 100644 index 0000000000..1123e29c1b --- /dev/null +++ b/package/spandsp/spandsp.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 0fcdda74bd9703dd66c3e9721bf2d81bd7c185c539d1887768c2b332ab703d51 spandsp-20180108.tar.gz +sha256 366576cb0b869cd9e95a4882878607314650488ac635e5df0692180382e9666a COPYING diff --git a/package/spandsp/spandsp.mk b/package/spandsp/spandsp.mk new file mode 100644 index 0000000000..e02c15a776 --- /dev/null +++ b/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/package/spi-tools/spi-tools.hash b/package/spi-tools/spi-tools.hash index 25c73814ba..8fe2d3e6b3 100644 --- a/package/spi-tools/spi-tools.hash +++ b/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/package/spi-tools/spi-tools.mk b/package/spi-tools/spi-tools.mk index e5f3774b53..d21e4d64dd 100644 --- a/package/spi-tools/spi-tools.mk +++ b/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/package/sqlcipher/0001-Support-OpenSSL-1.1.0-and-prior.patch b/package/sqlcipher/0001-Support-OpenSSL-1.1.0-and-prior.patch new file mode 100644 index 0000000000..4fa3e3c768 --- /dev/null +++ b/package/sqlcipher/0001-Support-OpenSSL-1.1.0-and-prior.patch @@ -0,0 +1,97 @@ +From 43f71fa7b4c6a20f4078b9098369abb8d38a5617 Mon Sep 17 00:00:00 2001 +From: Nick Parker +Date: Fri, 9 Dec 2016 11:47:39 -0600 +Subject: [PATCH] Support OpenSSL 1.1.0 and prior + +(cherry picked from commit 939c83a007e4724436c3955ae2afd8b11b92d867) +Signed-off-by: Matt Weber +--- + src/crypto_openssl.c | 53 +++++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 38 insertions(+), 15 deletions(-) + +diff --git a/src/crypto_openssl.c b/src/crypto_openssl.c +index 150ab92..6822325 100644 +--- a/src/crypto_openssl.c ++++ b/src/crypto_openssl.c +@@ -47,6 +47,29 @@ static unsigned int openssl_external_init = 0; + static unsigned int openssl_init_count = 0; + static sqlite3_mutex* openssl_rand_mutex = NULL; + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++static HMAC_CTX *HMAC_CTX_new(void) ++{ ++ HMAC_CTX *ctx = OPENSSL_malloc(sizeof(*ctx)); ++ if (ctx != NULL) { ++ HMAC_CTX_init(ctx); ++ } ++ return ctx; ++} ++ ++// Per 1.1.0 (https://wiki.openssl.org/index.php/1.1_API_Changes) ++// HMAC_CTX_free should call HMAC_CTX_cleanup, then EVP_MD_CTX_Cleanup. ++// HMAC_CTX_cleanup internally calls EVP_MD_CTX_cleanup so these ++// calls are not needed. ++static void HMAC_CTX_free(HMAC_CTX *ctx) ++{ ++ if (ctx != NULL) { ++ HMAC_CTX_cleanup(ctx); ++ OPENSSL_free(ctx); ++ } ++} ++#endif ++ + static int sqlcipher_openssl_add_random(void *ctx, void *buffer, int length) { + #ifndef SQLCIPHER_OPENSSL_NO_MUTEX_RAND + sqlite3_mutex_enter(openssl_rand_mutex); +@@ -143,14 +166,14 @@ static int sqlcipher_openssl_random (void *ctx, void *buffer, int length) { + } + + static int sqlcipher_openssl_hmac(void *ctx, unsigned char *hmac_key, int key_sz, unsigned char *in, int in_sz, unsigned char *in2, int in2_sz, unsigned char *out) { +- HMAC_CTX hctx; + unsigned int outlen; +- HMAC_CTX_init(&hctx); +- HMAC_Init_ex(&hctx, hmac_key, key_sz, EVP_sha1(), NULL); +- HMAC_Update(&hctx, in, in_sz); +- HMAC_Update(&hctx, in2, in2_sz); +- HMAC_Final(&hctx, out, &outlen); +- HMAC_CTX_cleanup(&hctx); ++ HMAC_CTX* hctx = HMAC_CTX_new(); ++ if(hctx == NULL) return SQLITE_ERROR; ++ HMAC_Init_ex(hctx, hmac_key, key_sz, EVP_sha1(), NULL); ++ HMAC_Update(hctx, in, in_sz); ++ HMAC_Update(hctx, in2, in2_sz); ++ HMAC_Final(hctx, out, &outlen); ++ HMAC_CTX_free(hctx); + return SQLITE_OK; + } + +@@ -160,18 +183,18 @@ static int sqlcipher_openssl_kdf(void *ctx, const unsigned char *pass, int pass_ + } + + static int sqlcipher_openssl_cipher(void *ctx, int mode, unsigned char *key, int key_sz, unsigned char *iv, unsigned char *in, int in_sz, unsigned char *out) { +- EVP_CIPHER_CTX ectx; + int tmp_csz, csz; +- +- EVP_CipherInit(&ectx, ((openssl_ctx *)ctx)->evp_cipher, NULL, NULL, mode); +- EVP_CIPHER_CTX_set_padding(&ectx, 0); // no padding +- EVP_CipherInit(&ectx, NULL, key, iv, mode); +- EVP_CipherUpdate(&ectx, out, &tmp_csz, in, in_sz); ++ EVP_CIPHER_CTX* ectx = EVP_CIPHER_CTX_new(); ++ if(ectx == NULL) return SQLITE_ERROR; ++ EVP_CipherInit_ex(ectx, ((openssl_ctx *)ctx)->evp_cipher, NULL, NULL, NULL, mode); ++ EVP_CIPHER_CTX_set_padding(ectx, 0); // no padding ++ EVP_CipherInit_ex(ectx, NULL, NULL, key, iv, mode); ++ EVP_CipherUpdate(ectx, out, &tmp_csz, in, in_sz); + csz = tmp_csz; + out += tmp_csz; +- EVP_CipherFinal(&ectx, out, &tmp_csz); ++ EVP_CipherFinal_ex(ectx, out, &tmp_csz); + csz += tmp_csz; +- EVP_CIPHER_CTX_cleanup(&ectx); ++ EVP_CIPHER_CTX_free(ectx); + assert(in_sz == csz); + return SQLITE_OK; + } +-- +1.9.1 + diff --git a/package/sqlcipher/0002-Guard-OpenSSL-init-and-cleanup-routines-on-versions-.patch b/package/sqlcipher/0002-Guard-OpenSSL-init-and-cleanup-routines-on-versions-.patch new file mode 100644 index 0000000000..1585b8d450 --- /dev/null +++ b/package/sqlcipher/0002-Guard-OpenSSL-init-and-cleanup-routines-on-versions-.patch @@ -0,0 +1,42 @@ +From 6b4dbecbcfe35d36fea264c04c41b338852d4e88 Mon Sep 17 00:00:00 2001 +From: Nick Parker +Date: Wed, 1 Mar 2017 15:35:43 -0600 +Subject: [PATCH] Guard OpenSSL init and cleanup routines on versions less + than 1.1.0 + +(cherry picked from commit 1c495b933cee3381f1ea6a70edcbcda1754d7409) +Signed-off-by: Matt Weber + +Conflicts: + src/crypto_openssl.c +--- + src/crypto_openssl.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/crypto_openssl.c b/src/crypto_openssl.c +index 6822325..09bc2a2 100644 +--- a/src/crypto_openssl.c ++++ b/src/crypto_openssl.c +@@ -102,7 +102,9 @@ static int sqlcipher_openssl_activate(void *ctx) { + + if(openssl_init_count == 0 && openssl_external_init == 0) { + /* if the library was not externally initialized, then should be now */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + OpenSSL_add_all_algorithms(); ++#endif + } + + #ifndef SQLCIPHER_OPENSSL_NO_MUTEX_RAND +@@ -131,7 +133,9 @@ static int sqlcipher_openssl_deactivate(void *ctx) { + Note: this code will only be reached if OpensSSL_add_all_algorithms() + is called by SQLCipher internally. This should prevent SQLCipher from + "cleaning up" openssl when it was initialized externally by the program */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + EVP_cleanup(); ++#endif + } + #ifndef SQLCIPHER_OPENSSL_NO_MUTEX_RAND + sqlite3_mutex_free(openssl_rand_mutex); +-- +1.9.1 + diff --git a/package/sqlcipher/0003-correct-compliation-under-openssl-1.1.x.patch b/package/sqlcipher/0003-correct-compliation-under-openssl-1.1.x.patch new file mode 100644 index 0000000000..b15fabcbec --- /dev/null +++ b/package/sqlcipher/0003-correct-compliation-under-openssl-1.1.x.patch @@ -0,0 +1,48 @@ +From 3da532754fb2bb7d379d4386a8c3339742edfb0b Mon Sep 17 00:00:00 2001 +From: Stephen Lombardo +Date: Wed, 10 Oct 2018 15:55:49 -0400 +Subject: [PATCH] correct compliation under openssl 1.1.x + +(cherry picked from commit 57ea35296ce7f2c1c93ce79194eea19a008b69ae) +Signed-off-by: Matt Weber + +Conflicts: + src/crypto_openssl.c +--- + src/crypto_openssl.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/crypto_openssl.c b/src/crypto_openssl.c +index 09bc2a2..57a1104 100644 +--- a/src/crypto_openssl.c ++++ b/src/crypto_openssl.c +@@ -47,7 +47,7 @@ static unsigned int openssl_external_init = 0; + static unsigned int openssl_init_count = 0; + static sqlite3_mutex* openssl_rand_mutex = NULL; + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if (defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) + static HMAC_CTX *HMAC_CTX_new(void) + { + HMAC_CTX *ctx = OPENSSL_malloc(sizeof(*ctx)); +@@ -102,7 +102,7 @@ static int sqlcipher_openssl_activate(void *ctx) { + + if(openssl_init_count == 0 && openssl_external_init == 0) { + /* if the library was not externally initialized, then should be now */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if (defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) + OpenSSL_add_all_algorithms(); + #endif + } +@@ -133,7 +133,7 @@ static int sqlcipher_openssl_deactivate(void *ctx) { + Note: this code will only be reached if OpensSSL_add_all_algorithms() + is called by SQLCipher internally. This should prevent SQLCipher from + "cleaning up" openssl when it was initialized externally by the program */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if (defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) + EVP_cleanup(); + #endif + } +-- +1.9.1 + diff --git a/package/sqlcipher/Config.in b/package/sqlcipher/Config.in index 332754b15a..b26bc7709f 100644 --- a/package/sqlcipher/Config.in +++ b/package/sqlcipher/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_SQLCIPHER depends on !BR2_PACKAGE_SQLITE depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help SQLCipher is an SQLite extension that provides 256 bits AES encryption of database files. Note that it is a fork of diff --git a/package/sqlcipher/sqlcipher.hash b/package/sqlcipher/sqlcipher.hash index f3c7e0bd9c..8632cd7a50 100644 --- a/package/sqlcipher/sqlcipher.hash +++ b/package/sqlcipher/sqlcipher.hash @@ -1,2 +1,3 @@ # locally computed sha256 25fa4f4cb38dcf9e52e4d1f46be8fee9c7aaef35b6df96912a216b289e22c2af sqlcipher-v3.2.0.tar.gz +sha256 3eee3c7964a9becc94d747bd36703d31fc86eb994680b06a61bfd4f2661eaac8 LICENSE diff --git a/package/sqlcipher/sqlcipher.mk b/package/sqlcipher/sqlcipher.mk index db94d06c54..812ae7fa47 100644 --- a/package/sqlcipher/sqlcipher.mk +++ b/package/sqlcipher/sqlcipher.mk @@ -6,6 +6,8 @@ SQLCIPHER_VERSION = v3.2.0 SQLCIPHER_SITE = $(call github,sqlcipher,sqlcipher,$(SQLCIPHER_VERSION)) +SQLCIPHER_LICENSE = BSD-3-Clause +SQLCIPHER_LICENSE_FILES = LICENSE SQLCIPHER_DEPENDENCIES = openssl host-tcl SQLCIPHER_INSTALL_STAGING = YES diff --git a/package/sqlite/sqlite.hash b/package/sqlite/sqlite.hash index 73a7ae6f11..7be42a0aca 100644 --- a/package/sqlite/sqlite.hash +++ b/package/sqlite/sqlite.hash @@ -1,6 +1,6 @@ -# From http://www.sqlite.org/download.html -sha1 da68915e3563b5244cbcdb6c7e20fb35559bcfc6 sqlite-autoconf-3240000.tar.gz +# From https://www.sqlite.org/download.html +sha1 5d6dc7634ec59e7a6fffa8758c1e184b2522c2e5 sqlite-autoconf-3250300.tar.gz # Calculated based on the hash above -sha256 d9d14e88c6fb6d68de9ca0d1f9797477d82fc3aed613558f87ffbdbbc5ceb74a sqlite-autoconf-3240000.tar.gz +sha256 00ebf97be13928941940cc71de3d67e9f852698233cd98ce2d178fd08092f3dd sqlite-autoconf-3250300.tar.gz # Locally calculated sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 tea/license.terms diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk index 15cfea48a0..6cf5710e5d 100644 --- a/package/sqlite/sqlite.mk +++ b/package/sqlite/sqlite.mk @@ -4,9 +4,9 @@ # ################################################################################ -SQLITE_VERSION = 3240000 +SQLITE_VERSION = 3250300 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/package/squashfs/Config.in b/package/squashfs/Config.in index c16ebbf27f..f5ae5d9bec 100644 --- a/package/squashfs/Config.in +++ b/package/squashfs/Config.in @@ -2,7 +2,13 @@ config BR2_PACKAGE_SQUASHFS bool "squashfs" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_SQUASHFS_GZIP if !(BR2_PACKAGE_SQUASHFS_LZMA || BR2_PACKAGE_SQUASHFS_LZO) + # ensure at least on compression backend (defaults to gzip) + select BR2_PACKAGE_SQUASHFS_GZIP if !( \ + BR2_PACKAGE_SQUASHFS_LZ4 || \ + BR2_PACKAGE_SQUASHFS_LZMA || \ + BR2_PACKAGE_SQUASHFS_LZO || \ + BR2_PACKAGE_SQUASHFS_XZ || \ + BR2_PACKAGE_SQUASHFS_ZSTD) help Tools to generate SquashFS filesystems. diff --git a/package/squeezelite/0003-ffmpeg_2_9.patch b/package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch similarity index 80% rename from package/squeezelite/0003-ffmpeg_2_9.patch rename to package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch index f69b829b38..74d8f1be55 100644 --- a/package/squeezelite/0003-ffmpeg_2_9.patch +++ b/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/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch b/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch new file mode 100644 index 0000000000..25a5db3cae --- /dev/null +++ b/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/package/squeezelite/squeezelite.hash b/package/squeezelite/squeezelite.hash index 1dbb4c155a..d56f5da665 100644 --- a/package/squeezelite/squeezelite.hash +++ b/package/squeezelite/squeezelite.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 0c844e7714d3f15325629c59ee75e6309763116e61a6b73486b502e2e5cce5fd squeezelite-v1.8.tar.gz +sha256 3e4379e1f34b8c5da00e545cfe94369b94a57745902c5d12be43b6332c34c04e LICENSE.txt diff --git a/package/squid/0001-assume-get-certificate-ok.patch b/package/squid/0001-assume-get-certificate-ok.patch deleted file mode 100644 index e26b50d7bb..0000000000 --- a/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/package/squid/0001-configure.ac-use-pkg-config-to-find-libxml2.patch b/package/squid/0001-configure.ac-use-pkg-config-to-find-libxml2.patch new file mode 100644 index 0000000000..cc1a9f0585 --- /dev/null +++ b/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/package/squid/0002-missing-include-time_h.patch b/package/squid/0002-missing-include-time_h.patch deleted file mode 100644 index 18b3ab3b55..0000000000 --- a/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/package/squid/0003-ESI-make-sure-endofName-never-exceeds-tagEnd-130.patch b/package/squid/0003-ESI-make-sure-endofName-never-exceeds-tagEnd-130.patch deleted file mode 100644 index 6e71677a19..0000000000 --- a/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/package/squid/0004-Fix-indirect-IP-logging-for-transactions-without-a-c.patch b/package/squid/0004-Fix-indirect-IP-logging-for-transactions-without-a-c.patch deleted file mode 100644 index 51fff30034..0000000000 --- a/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/package/squid/Config.in b/package/squid/Config.in index 141a5029d2..726160b01d 100644 --- a/package/squid/Config.in +++ b/package/squid/Config.in @@ -1,13 +1,19 @@ -comment "squid needs a toolchain w/ C++" +comment "squid needs a toolchain w/ C++, gcc >= 4.8 not affected by bug 64735" depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 config BR2_PACKAGE_SQUID bool "squid" + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 # needs fork() depends on BR2_USE_MMU select BR2_PACKAGE_LIBCAP + select BR2_PACKAGE_LIBXML2 help Caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. diff --git a/package/squid/S97squid b/package/squid/S97squid old mode 100755 new mode 100644 diff --git a/package/squid/squid.hash b/package/squid/squid.hash index 8787cb25ef..5e872707ce 100644 --- a/package/squid/squid.hash +++ b/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/package/squid/squid.mk b/package/squid/squid.mk index 2d21ad8858..5d5ec0c38d 100644 --- a/package/squid/squid.mk +++ b/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 \ @@ -40,13 +39,8 @@ SQUID_CONF_OPTS = \ --with-swapdir=/var/cache/squid/ \ --with-default-user=squid -# Atomics in Squid use __sync built-ins on 4 and 8 bytes. However, the -# configure script tests them using AC_TRY_RUN, so we have to give -# some hints. -ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4)$(BR2_TOOLCHAIN_HAS_SYNC_8),yy) -SQUID_CONF_ENV += squid_cv_gnu_atomics=yes -else -SQUID_CONF_ENV += squid_cv_gnu_atomics=no +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +SQUID_CONF_ENV += LIBS=-latomic endif ifeq ($(BR2_PACKAGE_LIBKRB5),y) diff --git a/package/strace/0001-Fix-build-for-no-MMU-targets.patch b/package/strace/0001-Fix-build-for-no-MMU-targets.patch new file mode 100644 index 0000000000..1464fb697d --- /dev/null +++ b/package/strace/0001-Fix-build-for-no-MMU-targets.patch @@ -0,0 +1,49 @@ +From 1b657bf8e2f4bf6f80b969b220900003d7ecbce6 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 8 Jan 2019 18:28:37 +0200 +Subject: [PATCH] Fix build for no-MMU targets + +Commit 7488ce9e23f1 ("Check whether PTRACE_GET_SYSCALL_INFO is supported +by the kernel") added a fork() call in test_ptrace_get_syscall_info() +which is included in the main strace executable code. Although the +test_ptrace_get_syscall_info() routine is not called on no-MMU targets, +the compiler can't optimize it out because it is a global symbol. So +build for no-MMU targets currently fails: + +strace-ptrace_syscall_info.o: In function `test_ptrace_get_syscall_info': +ptrace_syscall_info.c:(.text+0x1c): undefined reference to `fork' + +Make the test_ptrace_get_syscall_info() definition depend on HAVE_FORK +to fix that. + +Signed-off-by: Baruch Siach +--- +Upstream status: +https://lists.strace.io/pipermail/strace-devel/2019-January/008596.html + + ptrace_syscall_info.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ptrace_syscall_info.c b/ptrace_syscall_info.c +index 55eafddf7f71..cc6ce149649e 100644 +--- a/ptrace_syscall_info.c ++++ b/ptrace_syscall_info.c +@@ -40,6 +40,7 @@ static const unsigned int expected_seccomp_size = + * Test that PTRACE_GET_SYSCALL_INFO API is supported by the kernel, and + * that the semantics implemented in the kernel matches our expectations. + */ ++#ifdef HAVE_FORK + bool + test_ptrace_get_syscall_info(void) + { +@@ -255,6 +256,7 @@ done: + + return ptrace_get_syscall_info_supported; + } ++#endif /* HAVE_FORK */ + + void + print_ptrace_syscall_info(struct tcb *tcp, kernel_ulong_t addr, +-- +2.20.1 + diff --git a/package/strace/0002-Fix-build-for-mips-targets.patch b/package/strace/0002-Fix-build-for-mips-targets.patch new file mode 100644 index 0000000000..430d4071bb --- /dev/null +++ b/package/strace/0002-Fix-build-for-mips-targets.patch @@ -0,0 +1,68 @@ +From 8150854b5dd030a47f601931daf827ca33bc9bd9 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 8 Jan 2019 19:52:21 +0200 +Subject: [PATCH] Fix build for mips targets + +Commit 917c2ccf3a67 ("Refactor stack pointers") removed +linux/mips/arch_regs.h that defines mips_REG_* macros and struct +mips_regs. These symbols are referenced in mips code. Restore +arch_regs.h to fix the build failure: + +syscall.c: In function 'decode_syscall_subcall': +syscall.c:370:7: error: 'mips_REG_SP' undeclared (first use in this function) + mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]), + ^~~~~~~~~~~ + +[ baruch: drop the Makefile.in hunk to avoid autoreconf ] +Signed-off-by: Baruch Siach +--- +Upstream status: +https://lists.strace.io/pipermail/strace-devel/2019-January/008598.html + + linux/mips/arch_regs.c | 4 +--- + linux/mips/arch_regs.h | 18 ++++++++++++++++++ + 3 files changed, 20 insertions(+), 3 deletions(-) + create mode 100644 linux/mips/arch_regs.h + +diff --git a/linux/mips/arch_regs.c b/linux/mips/arch_regs.c +index 0874e31efea4..3ed841ee7c1a 100644 +--- a/linux/mips/arch_regs.c ++++ b/linux/mips/arch_regs.c +@@ -5,9 +5,7 @@ + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +-static struct { +- uint64_t uregs[38]; +-} mips_regs; ++struct mips_regs mips_regs; /* not static */ + + #define REG_V0 2 + #define REG_A0 4 +diff --git a/linux/mips/arch_regs.h b/linux/mips/arch_regs.h +new file mode 100644 +index 000000000000..6372badce646 +--- /dev/null ++++ b/linux/mips/arch_regs.h +@@ -0,0 +1,18 @@ ++struct mips_regs { ++ uint64_t uregs[38]; ++}; ++ ++extern struct mips_regs mips_regs; ++ ++#define REG_V0 2 ++#define REG_A0 4 ++ ++#define mips_REG_V0 mips_regs.uregs[REG_V0] ++#define mips_REG_A0 mips_regs.uregs[REG_A0 + 0] ++#define mips_REG_A1 mips_regs.uregs[REG_A0 + 1] ++#define mips_REG_A2 mips_regs.uregs[REG_A0 + 2] ++#define mips_REG_A3 mips_regs.uregs[REG_A0 + 3] ++#define mips_REG_A4 mips_regs.uregs[REG_A0 + 4] ++#define mips_REG_A5 mips_regs.uregs[REG_A0 + 5] ++#define mips_REG_SP mips_regs.uregs[29] ++#define mips_REG_EPC mips_regs.uregs[34] +-- +2.20.1 + diff --git a/package/strace/strace.hash b/package/strace/strace.hash index c6450b1c51..fe58f2391a 100644 --- a/package/strace/strace.hash +++ b/package/strace/strace.hash @@ -1,4 +1,5 @@ # 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 +# https://strace.io/files/4.26/strace-4.26.tar.xz +sha256 7c4d2ffeef4f7d1cdc71062ca78d1130eb52f947c2fca82f59f6a1183bfa1e1c strace-4.26.tar.xz +sha256 ba6d645dfe0f5e13bf1f117f0595e90076b845fc9aaa1d5778699792bb2d70b2 COPYING +sha256 7c379436436a562834aa7d2f5dcae1f80a25230fa74201046ca1fba4367d39aa LGPL-2.1-or-later diff --git a/package/strace/strace.mk b/package/strace/strace.mk index 471dbc2e1d..afcd5e71f0 100644 --- a/package/strace/strace.mk +++ b/package/strace/strace.mk @@ -4,11 +4,11 @@ # ################################################################################ -STRACE_VERSION = 4.23 +STRACE_VERSION = 4.26 STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz STRACE_SITE = https://strace.io/files/$(STRACE_VERSION) -STRACE_LICENSE = BSD-3-Clause -STRACE_LICENSE_FILES = COPYING +STRACE_LICENSE = LGPL-2.1+ +STRACE_LICENSE_FILES = COPYING LGPL-2.1-or-later STRACE_CONF_OPTS = --enable-mpers=check # strace bundle some kernel headers to build libmpers, this mixes userspace @@ -34,10 +34,12 @@ else STRACE_CONF_OPTS += --without-libiberty endif +ifeq ($(BR2_PACKAGE_PERL),) define STRACE_REMOVE_STRACE_GRAPH rm -f $(TARGET_DIR)/usr/bin/strace-graph endef STRACE_POST_INSTALL_TARGET_HOOKS += STRACE_REMOVE_STRACE_GRAPH +endif $(eval $(autotools-package)) diff --git a/package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch b/package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch deleted file mode 100644 index 6cbba5e729..0000000000 --- a/package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch +++ /dev/null @@ -1,38 +0,0 @@ -From f3aa381322a4b73b9ca4e7940f802d74324ef24b Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Mon, 2 Jul 2018 21:06:43 +0300 -Subject: [PATCH] stress-netlink-proc: fix build with kernel v3.9 - -The PROC_EVENT_COREDUMP has been introduced in kernel version 3.10. -Don't use it with 3.9 headers. - -Fixes build failure: - -stress-netlink-proc.c: In function 'monitor': -stress-netlink-proc.c:108:8: error: 'PROC_EVENT_COREDUMP' undeclared (first use in this function) - case PROC_EVENT_COREDUMP: - ^ - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/ColinIanKing/stress-ng/pull/24 - - stress-netlink-proc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/stress-netlink-proc.c b/stress-netlink-proc.c -index 5845610dc816..6114a0b92af1 100644 ---- a/stress-netlink-proc.c -+++ b/stress-netlink-proc.c -@@ -104,7 +104,7 @@ static int monitor(const args_t *args, const int sock) - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31) - case PROC_EVENT_SID: - #endif --#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) - case PROC_EVENT_COREDUMP: - #endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) --- -2.18.0 - diff --git a/package/stress-ng/0001-stress-ng.h-fix-include-on-semaphore.h.patch b/package/stress-ng/0001-stress-ng.h-fix-include-on-semaphore.h.patch new file mode 100644 index 0000000000..3d656f3159 --- /dev/null +++ b/package/stress-ng/0001-stress-ng.h-fix-include-on-semaphore.h.patch @@ -0,0 +1,34 @@ +From 818ed67f67c487d519bb55ed5656cff2dd58375e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 4 Dec 2018 21:41:12 +0100 +Subject: [PATCH] stress-ng.h: fix include on semaphore.h + +semaphore.h is available only if HAVE_LIB_PTHREAD and +HAVE_SEM_POSIX are defined + +Fixes: + - http://autobuild.buildroot.org/results/1c95898b2833683a22bbe2ff8471fa08d94210e1 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/ColinIanKing/stress-ng/commit/9b861e679f9de32e4c68437453756f93e13c01fb] +--- + stress-ng.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/stress-ng.h b/stress-ng.h +index 0485dc1c..1bf2e207 100644 +--- a/stress-ng.h ++++ b/stress-ng.h +@@ -53,7 +53,9 @@ + #include + #include + #include ++#if defined(HAVE_LIB_PTHREAD) && (HAVE_SEM_POSIX) + #include ++#endif + #include + + #if defined(__GNUC__) && defined(__linux__) +-- +2.14.1 + diff --git a/package/stress-ng/0002-stress-stackmmap-needs-swapcontext.patch b/package/stress-ng/0002-stress-stackmmap-needs-swapcontext.patch new file mode 100644 index 0000000000..8c1bf6025b --- /dev/null +++ b/package/stress-ng/0002-stress-stackmmap-needs-swapcontext.patch @@ -0,0 +1,29 @@ +From 748ac7e88833472211ccce82563beb5050528e00 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 4 Dec 2018 21:52:49 +0100 +Subject: [PATCH] stress-stackmmap: needs swapcontext + +Fixes: + - http://autobuild.buildroot.org/results/f2d3b06afa6e31527a71c03671c8f08eb3f46c36 + +Signed-off-by: Fabrice Fontaine +--- + stress-stackmmap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/stress-stackmmap.c b/stress-stackmmap.c +index c2f4c31d..eb31d084 100644 +--- a/stress-stackmmap.c ++++ b/stress-stackmmap.c +@@ -24,7 +24,7 @@ + */ + #include "stress-ng.h" + +-#if defined(__linux__) ++#if defined(HAVE_SWAPCONTEXT) + + #include + +-- +2.14.1 + diff --git a/package/stress-ng/0003-test-test-bsd-wchar-Explicitly-include-stdio.h.patch b/package/stress-ng/0003-test-test-bsd-wchar-Explicitly-include-stdio.h.patch new file mode 100644 index 0000000000..931aaff2bd --- /dev/null +++ b/package/stress-ng/0003-test-test-bsd-wchar-Explicitly-include-stdio.h.patch @@ -0,0 +1,29 @@ +From 291070801245da26e4841c321910b55016ca23c0 Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Tue, 1 Jan 2019 17:24:54 +0200 +Subject: [PATCH] test/test-bsd-wchar: Explicitly include stdio.h + +libbsd's wchar requires FILE for some it's functions, for some +reason it is not included by wchar automatically and the test fails. So +include it explicitly. + +Signed-off-by: Vadim Kochan +--- + test/test-bsd-wchar.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/test/test-bsd-wchar.c b/test/test-bsd-wchar.c +index 4f7c7ca..6125968 100644 +--- a/test/test-bsd-wchar.c ++++ b/test/test-bsd-wchar.c +@@ -22,6 +22,7 @@ + * functionality. + * + */ ++#include + #include + + int main(void) +-- +2.14.1 + diff --git a/package/stress-ng/Config.in b/package/stress-ng/Config.in index 8816322149..fe92a7eb40 100644 --- a/package/stress-ng/Config.in +++ b/package/stress-ng/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_STRESS_NG bool "stress-ng" depends on BR2_USE_MMU # fork() # disabled on musl: stress-malloc.c needs mallopt() and M_MMAP_THRESHOLD - # disabled on uClibc: stress-aio.c needs aio.h - depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_TOOLCHAIN_USES_MUSL # perf.c needs PERF_COUNT_HW_REF_CPU_CYCLES depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 depends on !BR2_microblaze # keyutils @@ -21,8 +20,8 @@ config BR2_PACKAGE_STRESS_NG http://kernel.ubuntu.com/~cking/stress-ng/ -comment "stress-ng needs a glibc toolchain w/ dynamic library, headers >= 3.3" +comment "stress-ng needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.3" depends on !BR2_microblaze && !BR2_nios2 && !BR2_arc depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 \ - || !BR2_TOOLCHAIN_USES_GLIBC + || BR2_TOOLCHAIN_USES_MUSL diff --git a/package/stress-ng/stress-ng.hash b/package/stress-ng/stress-ng.hash index 7455288c17..c7c6ec0fe8 100644 --- a/package/stress-ng/stress-ng.hash +++ b/package/stress-ng/stress-ng.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 0de97212a83b2f8a34ee31ef32a7bc69066ed49ebdc59b51aa4060cb95e29321 stress-ng-0.09.32.tar.xz +sha256 ed888f5192297855f3ce39b4591b1decc9c580c9753f2cc9c86449f50d23aeb0 stress-ng-0.09.47.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/stress-ng/stress-ng.mk b/package/stress-ng/stress-ng.mk index d83240817a..42b27e3cd9 100644 --- a/package/stress-ng/stress-ng.mk +++ b/package/stress-ng/stress-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -STRESS_NG_VERSION = 0.09.32 +STRESS_NG_VERSION = 0.09.47 STRESS_NG_SOURCE = stress-ng-$(STRESS_NG_VERSION).tar.xz STRESS_NG_SITE = http://kernel.ubuntu.com/~cking/tarballs/stress-ng STRESS_NG_LICENSE = GPL-2.0+ @@ -12,6 +12,10 @@ STRESS_NG_LICENSE_FILES = COPYING STRESS_NG_DEPENDENCIES = attr keyutils +ifeq ($(BR2_PACKAGE_LIBBSD),y) +STRESS_NG_DEPENDENCIES += libbsd +endif + define STRESS_NG_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) endef diff --git a/package/strongswan/strongswan.mk b/package/strongswan/strongswan.mk index 30693de7cb..021a59cecc 100644 --- a/package/strongswan/strongswan.mk +++ b/package/strongswan/strongswan.mk @@ -13,6 +13,7 @@ STRONGSWAN_PATCH = \ STRONGSWAN_LICENSE = GPL-2.0+ STRONGSWAN_LICENSE_FILES = COPYING LICENSE STRONGSWAN_DEPENDENCIES = host-pkgconf +STRONGSWAN_INSTALL_STAGING = YES STRONGSWAN_CONF_OPTS += \ --without-lib-prefix \ --enable-led \ @@ -39,7 +40,8 @@ STRONGSWAN_CONF_OPTS += \ --enable-swanctl=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no) \ --with-ipseclibdir=/usr/lib \ --with-plugindir=/usr/lib/ipsec/plugins \ - --with-imcvdir=/usr/lib/ipsec/imcvs + --with-imcvdir=/usr/lib/ipsec/imcvs \ + --with-dev-headers=/usr/include ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) STRONGSWAN_CONF_ENV += LIBS='-latomic' diff --git a/package/stunnel/stunnel.hash b/package/stunnel/stunnel.hash index d3b9451ce9..999a4500ed 100644 --- a/package/stunnel/stunnel.hash +++ b/package/stunnel/stunnel.hash @@ -1,5 +1,5 @@ -# From https://www.stunnel.org/downloads/stunnel-5.44.tar.gz.sha256 -sha256 990a325dbb47d77d88772dd02fbbd27d91b1fea3ece76c9ff4461eca93f12299 stunnel-5.44.tar.gz +# From https://www.stunnel.org/downloads/stunnel-5.53.tar.gz.sha256 +sha256 80439896ee14269eb70bc8bc669433c7d619018a62c9f9c5c760a24515302585 stunnel-5.53.tar.gz # Locally calculated -sha256 c43821865591e4d893906e2801b5ec4de58e51978f5563a61475cd0adc0bec4d COPYING +sha256 81d0b7244f44ef81dd0b299cf681037c5a42d468b8533e53aff6d1ac84c97dc8 COPYING sha256 1ee2b290e92c211b08df10e9fcaf32596cdb22b8eae731b18c2c074a4a83eebe COPYRIGHT.GPL diff --git a/package/stunnel/stunnel.mk b/package/stunnel/stunnel.mk index 4a5d2a0335..adfa0748ae 100644 --- a/package/stunnel/stunnel.mk +++ b/package/stunnel/stunnel.mk @@ -5,14 +5,14 @@ ################################################################################ STUNNEL_VERSION_MAJOR = 5 -STUNNEL_VERSION = $(STUNNEL_VERSION_MAJOR).44 +STUNNEL_VERSION = $(STUNNEL_VERSION_MAJOR).53 STUNNEL_SITE = http://www.usenix.org.uk/mirrors/stunnel/archive/$(STUNNEL_VERSION_MAJOR).x -STUNNEL_DEPENDENCIES = openssl +STUNNEL_DEPENDENCIES = host-pkgconf openssl STUNNEL_CONF_OPTS = --with-ssl=$(STAGING_DIR)/usr --with-threads=fork \ --disable-libwrap STUNNEL_CONF_ENV = \ ax_cv_check_cflags___fstack_protector=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) \ - LIBS=$(if $(BR2_STATIC_LIBS),-lz) + LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl` STUNNEL_LICENSE = GPL-2.0+ STUNNEL_LICENSE_FILES = COPYING COPYRIGHT.GPL diff --git a/package/subversion/subversion.hash b/package/subversion/subversion.hash index 6adb57c1ae..be0c8ec931 100644 --- a/package/subversion/subversion.hash +++ b/package/subversion/subversion.hash @@ -1,4 +1,5 @@ -# From http://subversion.apache.org/download.cgi#recommended-release -sha1 874b81749cdc3e88152d103243c3623ac6338388 subversion-1.9.7.tar.bz2 -# From https://www.apache.org/dist/subversion/subversion-1.9.7.tar.bz2.sha512 -sha512 a55efd3edaddbc099450d849fcc6fe5a8d20b85ece966d8ac2fd73ee9cb4255a0349bbcfceb4e9fca6daf054ce7c648eff8d273c6873f5dade6e62dcea7eeb2b subversion-1.9.7.tar.bz2 +# From https://www.apache.org/dist/subversion/subversion-1.9.10.tar.bz2.sha512 +sha512 58ac11078e0e5a1720199e5c66da76e7a20b86d02edcb8d313f98e2ddc74ae70aa3e0763a7d8a8fcb5a1fd7d65186829625ff110d78028b1c447e91f420d6f48 subversion-1.9.10.tar.bz2 + +# Locally calculated +sha256 3202942c1aba495fd17390618dedc1d3542815c5bc11958da7fd98c985abc11a LICENSE diff --git a/package/subversion/subversion.mk b/package/subversion/subversion.mk index 55738a826d..db7e36a638 100644 --- a/package/subversion/subversion.mk +++ b/package/subversion/subversion.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUBVERSION_VERSION = 1.9.7 +SUBVERSION_VERSION = 1.9.10 SUBVERSION_SOURCE = subversion-$(SUBVERSION_VERSION).tar.bz2 SUBVERSION_SITE = http://mirror.catn.com/pub/apache/subversion SUBVERSION_LICENSE = Apache-2.0 diff --git a/package/sunxi-cedarx/sunxi-cedarx.mk b/package/sunxi-cedarx/sunxi-cedarx.mk index 219f1bc74b..5b99f04181 100644 --- a/package/sunxi-cedarx/sunxi-cedarx.mk +++ b/package/sunxi-cedarx/sunxi-cedarx.mk @@ -19,7 +19,7 @@ SUNXI_CEDARX_BIN_DIR = $(@D)/libcedarv/linux-armel2 endif define SUNXI_CEDARX_BUILD_AVHEAP - $(TARGET_CC) $(TARGET_CFLAGS) \ + $(TARGET_CC) $(TARGET_CFLAGS) -fPIC \ -c $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/avheap.c \ -o $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/avheap.o \ -I $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap \ diff --git a/package/sunxi-mali-mainline-driver/Config.in b/package/sunxi-mali-mainline-driver/Config.in index c939d2a957..057f20db66 100644 --- a/package/sunxi-mali-mainline-driver/Config.in +++ b/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/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash b/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash new file mode 100644 index 0000000000..f2b18926de --- /dev/null +++ b/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 c5f787cc498cc3e156efa70acc3fbf8dc636fba0f677aac66bdded2fda4a529d sunxi-mali-mainline-driver-e28c274f85c65ebec82cdf0f8d021895e105d917.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk b/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk index 24817b07c7..a77ee91f7e 100644 --- a/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk +++ b/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 = e28c274f85c65ebec82cdf0f8d021895e105d917 SUNXI_MALI_MAINLINE_DRIVER_SITE = $(call github,mripard,sunxi-mali,$(SUNXI_MALI_MAINLINE_DRIVER_VERSION)) SUNXI_MALI_MAINLINE_DRIVER_DEPENDENCIES = linux +SUNXI_MALI_MAINLINE_DRIVER_LICENSE = GPL-2.0 +SUNXI_MALI_MAINLINE_DRIVER_LICENSE_FILES = LICENSE SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS = \ - 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/package/sunxi-mali-mainline/Config.in b/package/sunxi-mali-mainline/Config.in index 759bed86ba..a2fb95bd79 100644 --- a/package/sunxi-mali-mainline/Config.in +++ b/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/package/sunxi-mali-mainline/sunxi-mali-mainline.hash b/package/sunxi-mali-mainline/sunxi-mali-mainline.hash new file mode 100644 index 0000000000..978be01024 --- /dev/null +++ b/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/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk index 933e2beb0d..701a1fbbb4 100644 --- a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk +++ b/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/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch b/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch new file mode 100644 index 0000000000..997c413f23 --- /dev/null +++ b/package/sunxi-tools/0001-meminfo-Access-to-io-memory-via-pointers.patch @@ -0,0 +1,59 @@ +From 5c0a443ba336f10a8db6a99c769aa84ad37ed4d2 Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Wed, 20 Feb 2019 02:48:43 +0200 +Subject: [PATCH] meminfo: Access to io memory via pointers + +The main reason for this is to be able compile with musl library, +because there is no support of inx/outx functions for ARM platform. + +Signed-off-by: Vadim Kochan +--- + meminfo.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/meminfo.c b/meminfo.c +index 0b0ff23..7d9f10f 100644 +--- a/meminfo.c ++++ b/meminfo.c +@@ -22,7 +22,6 @@ + #include + #include + #include +-#include + #include + + #include "common.h" +@@ -74,24 +73,26 @@ static enum sunxi_soc_version soc_version; + unsigned int + sunxi_io_read(void *base, int offset) + { +- return inl((unsigned long) (base + offset)); ++ unsigned long port = (unsigned long) (base + offset); ++ return *((volatile unsigned long *) port); + } + + void + sunxi_io_write(void *base, int offset, unsigned int value) + { +- outl(value, (unsigned long) (base + offset)); ++ unsigned long port = (unsigned long) (base + offset); ++ *((volatile unsigned long *) port) = value; + } + + void + sunxi_io_mask(void *base, int offset, unsigned int value, unsigned int mask) + { +- unsigned int tmp = inl((unsigned long) (base + offset)); ++ unsigned int tmp = sunxi_io_read(base, offset); + + tmp &= ~mask; + tmp |= value & mask; + +- outl(tmp, (unsigned long) (base + offset)); ++ sunxi_io_write(base, offset, tmp); + } + + +-- +2.14.1 + diff --git a/package/sunxi-tools/Config.in b/package/sunxi-tools/Config.in index 02eba95612..80a7130a92 100644 --- a/package/sunxi-tools/Config.in +++ b/package/sunxi-tools/Config.in @@ -1,9 +1,69 @@ config BR2_PACKAGE_SUNXI_TOOLS - bool "sunxi nand-part" + bool "sunxi-tools" depends on BR2_arm help - nand-part is part of sunxi-tools for Allwinner A10 (aka - sun4i) and A13 (aka sun5i) based devices. It is a tool to - repartition the internal NAND on sunxi devices. + Tools for Allwinner A10 (aka sun4i) and A13 (aka sun5i) + based devices. http://linux-sunxi.org/Sunxi-tools + +if BR2_PACKAGE_SUNXI_TOOLS + +config BR2_PACKAGE_SUNXI_TOOLS_FEXC + bool "sunxi-fexc (fex2bin & bin2fex)" + help + Convert between .fex board definition files and binary + format. These tools are specific for the linux-sunxi kernel + and do not apply to the mainline Linux kernel version. + +config BR2_PACKAGE_SUNXI_TOOLS_BOOTINFO + bool "sunxi-bootinfo" + help + Displays information about sunxi boot code. + +config BR2_PACKAGE_SUNXI_TOOLS_FEL + bool "sunxi-fel" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB + help + The sunxi-fel command can interact with a sunxi device in + fel mode. This allows do download code to memory and execute + it. + +comment "sunxi-fel needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_SUNXI_TOOLS_NAND_PART + bool "sunxi-nand-part" + default y + help + The sunxi-nand-part command allows to repartition the internal + NAND on sunxi devices. + +config BR2_PACKAGE_SUNXI_TOOLS_PIO + bool "sunxi-pio" + help + GPIO manipulation tool for sunxi boards. + +config BR2_PACKAGE_SUNXI_TOOLS_MEMINFO + bool "sunxi-meminfo" + help + Utility to retrieve DRAM information from registers on + Allwinner SoCs. Specific for the linux-sunxi kernel - does + not apply to the mainline Linux kernel version. + +config BR2_PACKAGE_SUNXI_TOOLS_PHOENIX_INFO + bool "phoenix_info" + help + Display information about self-installing SD card images + (created with Phoenix Card). + + https://linux-sunxi.org/PhoenixCard + +config BR2_PACKAGE_SUNXI_TOOLS_NAND_IMAGE_BUILDER + bool "sunxi-nand-image-builder" + help + Creates a raw NAND image that can be read by the sunxi NAND + controller. + +endif # BR2_PACKAGE_SUNXI_TOOLS diff --git a/package/sunxi-tools/sunxi-tools.mk b/package/sunxi-tools/sunxi-tools.mk index 3a44cf6fdd..ee590fb95c 100644 --- a/package/sunxi-tools/sunxi-tools.mk +++ b/package/sunxi-tools/sunxi-tools.mk @@ -11,25 +11,52 @@ SUNXI_TOOLS_LICENSE_FILES = LICENSE.md HOST_SUNXI_TOOLS_DEPENDENCIES = host-libusb host-pkgconf FEX2BIN = $(HOST_DIR)/bin/fex2bin +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_FEXC) += sunxi-fexc +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_BOOTINFO) += sunxi-bootinfo +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_FEL) += sunxi-fel +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_NAND_PART) += sunxi-nand-part +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_PIO) += sunxi-pio +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_MEMINFO) += sunxi-meminfo +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_PHOENIX_INFO) += phoenix_info +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_NAND_IMAGE_BUILDER) += \ + sunxi-nand-image-builder + +ifeq ($(BR2_PACKAGE_SUNXI_TOOLS_FEXC),y) +SUNXI_TOOLS_FEXC_LINKS += fex2bin bin2fex +endif + +ifeq ($(BR2_PACKAGE_SUNXI_TOOLS_FEL),y) +SUNXI_TOOLS_DEPENDENCIES += libusb host-pkgconf +endif + define HOST_SUNXI_TOOLS_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) CC="$(HOSTCC)" PREFIX=$(HOST_DIR) \ - EXTRA_CFLAGS="$(HOST_CFLAGS)" LDFLAGS="$(HOST_LDFLAGS)" \ - -C $(@D) tools + $(HOST_MAKE_ENV) $(MAKE) CROSS_COMPILE="" CC="$(HOSTCC)" \ + PREFIX=$(HOST_DIR) EXTRA_CFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" -C $(@D) tools misc endef define HOST_SUNXI_TOOLS_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) PREFIX=$(HOST_DIR) \ - -C $(@D) install-tools + $(HOST_MAKE_ENV) $(MAKE) CROSS_COMPILE="" CC="$(HOSTCC)" \ + PREFIX=$(HOST_DIR) EXTRA_CFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" -C $(@D) install-tools install-misc endef define SUNXI_TOOLS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" PREFIX=/usr \ - EXTRA_CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" \ - -C $(@D) sunxi-nand-part + $(foreach t,$(SUNXI_TOOLS_TARGETS_y), \ + $(TARGET_MAKE_ENV) $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" \ + CC="$(TARGET_CC)" PREFIX=/usr \ + EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" -C $(@D) $(t) + ) endef define SUNXI_TOOLS_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/sunxi-nand-part $(TARGET_DIR)/usr/bin/sunxi-nand-part + $(foreach t,$(SUNXI_TOOLS_TARGETS_y), \ + $(INSTALL) -D -m 0755 $(@D)/$(t) $(TARGET_DIR)/usr/bin/$(t) + ) + $(foreach t,$(SUNXI_TOOLS_FEXC_LINKS), \ + ln -nfs sunxi-fexc $(TARGET_DIR)/usr/bin/$(t) + ) endef $(eval $(generic-package)) diff --git a/package/supertux/0001-Fix-build-on-PowerPC.patch b/package/supertux/0001-Fix-build-on-PowerPC.patch new file mode 100644 index 0000000000..e40abac6b0 --- /dev/null +++ b/package/supertux/0001-Fix-build-on-PowerPC.patch @@ -0,0 +1,81 @@ +From cfcd478fe69ca1b3923f388a349a4f67ac2c03aa Mon Sep 17 00:00:00 2001 +From: Shawn Anastasio +Date: Sun, 3 Feb 2019 13:22:57 -0600 +Subject: [PATCH] Fix build on PowerPC + +On PowerPC-based architectures, SDL includes the altivec.h header +for SIMD intrinsics. Unfortunately, altivec.h defines some types which +conflict with C++ types like bool and std::vector. This commit adds +a wrapper for altivec.h which resolves these conflicts and allows +supertux to build and run. + +Tested on a ppc64le workstation. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/SuperTux/supertux/pull/1056/commits/cfcd478fe69ca1b3923f388a349a4f67ac2c03aa] +--- + CMakeLists.txt | 15 ++++++++++++++- + src/ppc/altivec.h | 6 ++++++ + 2 files changed, 20 insertions(+), 1 deletion(-) + create mode 100644 src/ppc/altivec.h + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 70b9673b50..b9b6ea3ea6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -376,6 +376,11 @@ endif() + + include(ConfigureChecks) + ++# Include altivec wrapper on ppc ++if(CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc.*") ++ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/ppc) ++endif() ++ + + ## Also build external/squirrel + +@@ -420,6 +425,13 @@ if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/CMakeLists.txt) + message(FATAL_ERROR "tinygettext submodule is not checked out or ${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/CMakeLists.txt is missing") + endif() + ++# Include altivec wrapper on ppc ++if(CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc.*") ++ set(TINYGETTEXT_CXX_FLAGS "-isystem ${CMAKE_CURRENT_SOURCE_DIR}/src/ppc ${CMAKE_CXX_FLAGS}") ++else() ++ set(TINYGETTEXT_CXX_FLAGS "${CMAKE_CXX_FLAGS}") ++endif() ++ + set(TINYGETTEXT_PREFIX ${CMAKE_BINARY_DIR}/tinygettext/) + ExternalProject_Add(tinygettext + SOURCE_DIR "${CMAKE_SOURCE_DIR}/external/tinygettext/" +@@ -428,7 +440,7 @@ ExternalProject_Add(tinygettext + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ++ -DCMAKE_CXX_FLAGS=${TINYGETTEXT_CXX_FLAGS} + -DBUILD_SHARED_LIBS=OFF + -DHAVE_SDL=ON + -DVCPKG_BUILD=${VCPKG_BUILD} +@@ -443,6 +455,7 @@ set_target_properties(tinygettext_lib PROPERTIES IMPORTED_LOCATION "${TINYGETTEX + + include_directories(SYSTEM ${TINYGETTEXT_PREFIX}/include) + ++ + ## external/SDL_ttf with patches + find_package(Freetype REQUIRED) + find_package(RAQM) +diff --git a/src/ppc/altivec.h b/src/ppc/altivec.h +new file mode 100644 +index 0000000000..7ede8246ed +--- /dev/null ++++ b/src/ppc/altivec.h +@@ -0,0 +1,6 @@ ++#include_next ++ ++// The altivec headers redefine vector and bool which conflict ++// with C++'s bool type and std::vector. Undefine them here. ++#undef vector ++#undef bool diff --git a/package/supertux/Config.in b/package/supertux/Config.in index 684c2cc940..c77d1ae2bd 100644 --- a/package/supertux/Config.in +++ b/package/supertux/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_SUPERTUX depends on BR2_PACKAGE_HAS_LIBGL # libglew depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS depends on BR2_PACKAGE_XORG7 # libglew, SDL2 OpenGL (GLX) - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 gcc attributes noreturn + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # C++14 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal depends on BR2_USE_MMU # SDL2 OpenGL (GLX) depends on !BR2_STATIC_LIBS # SDL2 @@ -12,11 +12,14 @@ config BR2_PACKAGE_SUPERTUX select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_LOCALE select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBGLEW select BR2_PACKAGE_LIBGLU # GL/glu.h select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_LIBVORBIS select BR2_PACKAGE_OPENAL select BR2_PACKAGE_PHYSFS @@ -30,10 +33,10 @@ config BR2_PACKAGE_SUPERTUX http://supertux.github.io/ -comment "supertux needs OpenGL and a toolchain w/ C++, gcc >= 4.8, NPTL, dynamic library, wchar" +comment "supertux needs OpenGL and a toolchain w/ C++, gcc >= 6, NPTL, dynamic library, wchar" depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/package/supertux/supertux.hash b/package/supertux/supertux.hash index c56f608ed7..23e2645da6 100644 --- a/package/supertux/supertux.hash +++ b/package/supertux/supertux.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c9dc3b42991ce5c5d0d0cb94e44c4ec2373ad09029940f0e92331e7e9ada0ac5 SuperTux-v0.5.1-Source.tar.gz +sha256 c4c3e5fa6f90e87b8c5ad6b22a179e9a9839bf997e7f219e22bbcd1c97223ac0 SuperTux-v0.6.0-Source.tar.gz diff --git a/package/supertux/supertux.mk b/package/supertux/supertux.mk index e397441861..af25509da8 100644 --- a/package/supertux/supertux.mk +++ b/package/supertux/supertux.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUPERTUX_VERSION = 0.5.1 +SUPERTUX_VERSION = 0.6.0 SUPERTUX_SITE = https://github.com/SuperTux/supertux/releases/download/v$(SUPERTUX_VERSION) SUPERTUX_SOURCE = SuperTux-v$(SUPERTUX_VERSION)-Source.tar.gz @@ -15,8 +15,8 @@ SUPERTUX_LICENSE_FILES = LICENSE.txt data/AUTHORS # Use bundled squirrel, tinygettext sexp-cpp packages which are hardcoded in # the CMake build system. -SUPERTUX_DEPENDENCIES = host-pkgconf boost libcurl libgl libglew libglu \ - libogg libvorbis openal physfs sdl2 sdl2_image +SUPERTUX_DEPENDENCIES = host-pkgconf boost freetype libcurl libgl libglew libglu \ + libogg libpng libvorbis openal physfs sdl2 sdl2_image # ENABLE_BOOST_STATIC_LIBS=OFF: use boost shared libraries since supertux # depends on !BR2_STATIC_LIBS and boost provide only shared libraries with @@ -26,6 +26,7 @@ SUPERTUX_DEPENDENCIES = host-pkgconf boost libcurl libgl libglew libglu \ # Install the game directly in /usr/bin and game data in /usr/share/supertux2. # Force using physfs.so from staging since the check on PHYSFS_getPrefDir symbol # in physfs.h (CHECK_SYMBOL_EXISTS) doesn't work. +# ENABLE_OPENGLES2=OFF: Disable opengles2 for now. SUPERTUX_CONF_OPTS += \ -DENABLE_BOOST_STATIC_LIBS=OFF \ -DBUILD_DOCUMENTATION=OFF \ @@ -33,7 +34,8 @@ SUPERTUX_CONF_OPTS += \ -DGLBINDING_ENABLED=OFF \ -DINSTALL_SUBDIR_BIN="bin" \ -DINSTALL_SUBDIR_SHARE="share/supertux2" \ - -DUSE_SYSTEM_PHYSFS=ON + -DUSE_SYSTEM_PHYSFS=ON \ + -DENABLE_OPENGLES2=OFF # Avoid incompatible posix_memalign declaration on x86 and x86_64 with # musl. @@ -60,8 +62,6 @@ endif # [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58241#c3 ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) define SUPERTUX_FIX_ALTIVEC_ISSUE - $(SED) 's%std=c++0x%std=gnu++0x%' $(@D)/CMakeLists.txt - $(SED) 's%std=c++11%std=gnu++11%' $(@D)/CMakeLists.txt $(SED) 's%std=c++0x%std=gnu++0x%' $(@D)/external/tinygettext/CMakeLists.txt endef SUPERTUX_POST_PATCH_HOOKS += SUPERTUX_FIX_ALTIVEC_ISSUE diff --git a/package/supertuxkart/0001-Fix-3091.patch b/package/supertuxkart/0001-Fix-3091.patch new file mode 100644 index 0000000000..dae2a37ce1 --- /dev/null +++ b/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/package/supervisor/S99supervisord b/package/supervisor/S99supervisord old mode 100755 new mode 100644 diff --git a/package/swig/Config.in.host b/package/swig/Config.in.host new file mode 100644 index 0000000000..fd2049d30a --- /dev/null +++ b/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/package/swupdate/0001-Makefile-fix-static-build.patch b/package/swupdate/0001-Makefile-fix-static-build.patch new file mode 100644 index 0000000000..56901f9871 --- /dev/null +++ b/package/swupdate/0001-Makefile-fix-static-build.patch @@ -0,0 +1,62 @@ +From 15a324f8c67548f219256a5a75ba8123cc5bdac6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 4 Mar 2019 21:51:36 +0100 +Subject: [PATCH] Makefile: fix static build + +Don't build and install lua_swupdate.so if HAVE_LUA isn't set to y +otherwise build will fail if the toolchain only suports building static +libraries + +Fixes: + - http://autobuild.buildroot.org/results/c11c4d26983e0347d96f3dda62e6d72b031967bb + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/sbabic/swupdate/pull/49] +--- + Makefile | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index cfeb9a6..cac99b5 100644 +--- a/Makefile ++++ b/Makefile +@@ -369,11 +369,15 @@ tools-bins := $(patsubst $(tools-y)/%.c,$(tools-y)/%,$(wildcard $(tools-y)/*.c)) + tools-bins-unstr:= $(patsubst %,%_unstripped,$(tools-bins)) + tools-all := $(tools-objs) + ++ifeq ($(HAVE_LUA),y) ++lua_swupdate := lua_swupdate.so ++endif ++ + shared-dirs := $(shareds-y) + shared-libs := $(patsubst %,%/built-in.o, $(shareds-y)) + shared-all := $(shared-libs) + +-all: swupdate ${tools-bins} lua_swupdate.so ++all: swupdate ${tools-bins} ${lua_swupdate} + + # Do modpost on a prelinked vmlinux. The finally linked vmlinux has + # relevant sections renamed as per the linker script. +@@ -434,7 +438,6 @@ install: all + install -d ${DESTDIR}/usr/bin + install -d ${DESTDIR}/usr/include + install -d ${DESTDIR}/usr/lib +- install -d ${DESTDIR}/usr/lib/lua/$(LUAVER) + install -m 755 swupdate ${DESTDIR}/usr/bin + for i in ${tools-bins};do \ + install -m 755 $$i ${DESTDIR}/usr/bin; \ +@@ -443,7 +446,10 @@ install: all + install -m 0644 include/swupdate_status.h ${DESTDIR}/usr/include + install -m 0644 include/progress_ipc.h ${DESTDIR}/usr/include + install -m 0755 ipc/lib.a ${DESTDIR}/usr/lib/libswupdate.a +- install -m 0755 lua_swupdate.so $(DESTDIR)/usr/lib/lua/$(LUAVER) ++ if [ $(HAVE_LUA) = y ]; then \ ++ install -d ${DESTDIR}/usr/lib/lua/$(LUAVER); \ ++ install -m 0755 ${lua_swupdate} $(DESTDIR)/usr/lib/lua/$(LUAVER); \ ++ fi + + PHONY += run-tests + tests: \ +-- +2.14.1 + diff --git a/package/swupdate/swupdate.hash b/package/swupdate/swupdate.hash index efc637976a..138bd6d305 100644 --- a/package/swupdate/swupdate.hash +++ b/package/swupdate/swupdate.hash @@ -1,2 +1,6 @@ # Locally calculated -sha256 19156bb30c3517a0ff9c918a38062df3cfa70f02f8162da4971a2f47d108688e swupdate-2018.03.tar.gz +sha256 a65884ca18523cde1b0744d952d6f91462dbd4ad07941305f5684c6d4ec833dc swupdate-2018.11.tar.gz +sha256 43492b377cf2fb67942d1dd231146bd4e6578646ad13ef289297c9dd75cbc478 Licenses/Exceptions +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Licenses/lgpl-2.1.txt +sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e Licenses/mit.txt diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk index abf46c9256..78f23ec239 100644 --- a/package/swupdate/swupdate.mk +++ b/package/swupdate/swupdate.mk @@ -4,10 +4,16 @@ # ################################################################################ -SWUPDATE_VERSION = 2018.03 +SWUPDATE_VERSION = 2018.11 SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION)) -SWUPDATE_LICENSE = GPL-2.0+, LGPL-2.1+, MIT -SWUPDATE_LICENSE_FILES = COPYING +SWUPDATE_LICENSE = GPL-2.0+ with OpenSSL exception, LGPL-2.1+, MIT +SWUPDATE_LICENSE_FILES = Licenses/Exceptions Licenses/gpl-2.0.txt \ + Licenses/lgpl-2.1.txt Licenses/mit.txt + +# swupdate uses $CROSS-cc instead of $CROSS-gcc, which is not +# available in all external toolchains, and use CC for linking. Ensure +# TARGET_CC is used for both. +SWUPDATE_MAKE_ENV = CC="$(TARGET_CC)" LD="$(TARGET_CC)" # swupdate bundles its own version of mongoose (version 6.11) @@ -39,7 +45,7 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n endif -ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y) +ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER):$(BR2_STATIC_LIBS),y:) SWUPDATE_DEPENDENCIES += luainterpreter host-pkgconf # defines the base name for the pkg-config file ("lua" or "luajit") define SWUPDATE_SET_LUA_VERSION diff --git a/package/sylpheed/sylpheed.hash b/package/sylpheed/sylpheed.hash index 39c0927735..08a5d0a221 100644 --- a/package/sylpheed/sylpheed.hash +++ b/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/package/sylpheed/sylpheed.mk b/package/sylpheed/sylpheed.mk index 14107f0a6a..0453fba521 100644 --- a/package/sylpheed/sylpheed.mk +++ b/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/package/synergy/0001-allow-building-of-synergy-without-tests.patch b/package/synergy/0001-allow-building-of-synergy-without-tests.patch deleted file mode 100644 index 0c550eec16..0000000000 --- a/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/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch b/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch deleted file mode 100644 index a261b6b10c..0000000000 --- a/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/package/synergy/Config.in b/package/synergy/Config.in index 3bb8b8e98c..c1216c4ba9 100644 --- a/package/synergy/Config.in +++ b/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/package/synergy/synergy.hash b/package/synergy/synergy.hash index 52f9d74d6b..664855fa33 100644 --- a/package/synergy/synergy.hash +++ b/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/package/synergy/synergy.mk b/package/synergy/synergy.mk index 76a4004f06..46c4fbb1ef 100644 --- a/package/synergy/synergy.mk +++ b/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/package/sysdig/Config.in b/package/sysdig/Config.in index 6ccb706a5a..672c44d211 100644 --- a/package/sysdig/Config.in +++ b/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/package/sysdig/sysdig.hash b/package/sysdig/sysdig.hash index 63a9e385d8..565b1e9828 100644 --- a/package/sysdig/sysdig.hash +++ b/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/package/sysdig/sysdig.mk b/package/sysdig/sysdig.mk index a9c9f21bb5..9ac990e3e2 100644 --- a/package/sysdig/sysdig.mk +++ b/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/package/sysklogd/S01logging b/package/sysklogd/S01logging deleted file mode 100644 index 1cbfe869fa..0000000000 --- a/package/sysklogd/S01logging +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -case "$1" in - start) - printf "Starting logging: " - /sbin/syslogd -m 0 - /sbin/klogd - echo "OK" - ;; - stop) - printf "Stopping logging: " - [ -f /var/run/klogd.pid ] && kill `cat /var/run/klogd.pid` - [ -f /var/run/syslogd.pid ] && kill `cat /var/run/syslogd.pid` - echo "OK" - ;; - restart|reload) - $0 stop - $0 start - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 -esac - -exit $? diff --git a/package/sysklogd/S01syslogd b/package/sysklogd/S01syslogd new file mode 100644 index 0000000000..2603632893 --- /dev/null +++ b/package/sysklogd/S01syslogd @@ -0,0 +1,62 @@ +#!/bin/sh + +DAEMON="syslogd" +PIDFILE="/var/run/$DAEMON.pid" + +SYSLOGD_ARGS="-m 0" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + -- $SYSLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +# SIGHUP makes syslogd reload its configuration +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s HUP -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/sysklogd/S02klogd b/package/sysklogd/S02klogd new file mode 100644 index 0000000000..ba728aa99a --- /dev/null +++ b/package/sysklogd/S02klogd @@ -0,0 +1,65 @@ +#!/bin/sh + +DAEMON="klogd" +PIDFILE="/var/run/$DAEMON.pid" + +KLOGD_ARGS="" + +KLOGD_RELOAD="0" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + -- $KLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +# SIGUSR1 makes klogd reload kernel module symbols +# SIGUSR2 makes klogd reload static kernel symbols and kernel module symbols +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s "$KLOGD_RELOAD" -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/sysklogd/sysklogd.mk b/package/sysklogd/sysklogd.mk index c4f064c10b..976438c110 100644 --- a/package/sysklogd/sysklogd.mk +++ b/package/sysklogd/sysklogd.mk @@ -23,8 +23,10 @@ define SYSKLOGD_INSTALL_TARGET_CMDS endef define SYSKLOGD_INSTALL_INIT_SYSV - $(INSTALL) -m 755 -D package/sysklogd/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging + $(INSTALL) -m 755 -D package/sysklogd/S01syslogd \ + $(TARGET_DIR)/etc/init.d/S01syslogd + $(INSTALL) -m 755 -D package/sysklogd/S02klogd \ + $(TARGET_DIR)/etc/init.d/S02klogd endef define SYSKLOGD_INSTALL_INIT_SYSTEMD diff --git a/package/syslog-ng/0001-fix-build-on-uclibc.patch b/package/syslog-ng/0001-fix-build-on-uclibc.patch new file mode 100644 index 0000000000..dbb9b66b5c --- /dev/null +++ b/package/syslog-ng/0001-fix-build-on-uclibc.patch @@ -0,0 +1,51 @@ +From 98bd6106f8c48bc8f0a27bd712ed4ba6249e9a5f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 13 Jan 2019 11:03:51 +0100 +Subject: [PATCH] fix build on m68k with uclibc + +uclibc on m68k defines pthread_spinlock_t but does not define +pthread_spin_trylock so check for this function before using it + +Fixes: + - http://autobuild.buildroot.org/results/0a6de11c030a4f39e402917809fc6d33fb463d1b + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/buytenh/ivykis/pull/17] +--- + configure.ac | 3 +++ + src/spinlock.h | 4 ++++ + 2 files changed, 7 insertions(+) + +diff --git a/lib/ivykis/configure.ac b/lib/ivykis/configure.ac +index e9b10c0..24152a9 100644 +--- a/lib/ivykis/configure.ac ++++ b/lib/ivykis/configure.ac +@@ -110,6 +110,9 @@ AC_CACHE_CHECK(for linux/netfilter_ipv4.h, ac_cv_header_linux_netfilter_ipv4_h, + # Check for pthread_spinlock_t. + AC_CHECK_TYPES([pthread_spinlock_t], [], [], [[#include ]]) + ++# Check for pthread_spin_trylock ++AC_CHECK_FUNCS([pthread_spin_trylock]) ++ + # Check which header file defines 'struct timespec'. + for hdr in sys/time.h sys/timers.h time.h pthread.h + do +diff --git a/lib/ivykis/src/spinlock.h b/lib/ivykis/src/spinlock.h +index ebcdbec..d837df8 100644 +--- a/lib/ivykis/src/spinlock.h ++++ b/lib/ivykis/src/spinlock.h +@@ -76,7 +76,11 @@ static inline void fallback_spin_unlock(fallback_spinlock_t *lock) + + static inline int pthread_spinlocks_available(void) + { ++#ifdef HAVE_PTHREAD_SPIN_TRYLOCK + return !!(pthread_spin_trylock != NULL); ++#else ++ return 0; ++#endif + } + + +-- +2.14.1 + diff --git a/package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch b/package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch deleted file mode 100644 index b307ab5acf..0000000000 --- a/package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 1b824dd6389e209eab752d5a698c6093f311e3e3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= -Date: Mon, 11 Dec 2017 15:46:06 +0100 -Subject: [PATCH] modules/json: Adaptions for json-c v0.13 - -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit 1b824dd6389e - - modules/json/json-parser.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/modules/json/json-parser.c b/modules/json/json-parser.c -index 0368ed8f7ffe..356df48b9fc7 100644 ---- a/modules/json/json-parser.c -+++ b/modules/json/json-parser.c -@@ -20,6 +20,8 @@ - * COPYING for details. - */ - -+#define JSON_C_VER_013 (13 << 8) -+ - #include "json-parser.h" - #include "dot-notation.h" - #include "scratch-buffers.h" -@@ -28,7 +30,10 @@ - #include - - #include -+ -+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) - #include -+#endif - - typedef struct _JSONParser - { --- -2.15.1 - diff --git a/package/syslog-ng/0002-build-make-dlsym-optional.patch b/package/syslog-ng/0002-build-make-dlsym-optional.patch new file mode 100644 index 0000000000..bb29e1ed7c --- /dev/null +++ b/package/syslog-ng/0002-build-make-dlsym-optional.patch @@ -0,0 +1,160 @@ +From d85121c0dc700cad4bd9735b0ee1dab9addf9dd7 Mon Sep 17 00:00:00 2001 +From: Kokan +Date: Thu, 17 Jan 2019 18:44:41 +0100 +Subject: [PATCH] build: make dlsym optional + +In case of static uClibc-ng lib, the does not exists. + +The signal-handler.c solves an issue in case of program src/dst +and Java destination. That combination is really rare if not impossible. + +This patch simply disables own sigaction if is not present. + +Signed-off-by: Kokan + +Downloaded from upstream commit +https://github.com/balabit/syslog-ng/commit/d85121c0dc700cad4bd9735b0ee1dab9addf9dd7 + +Signed-off-by: Chris Packham +--- + CMakeLists.txt | 1 + + configure.ac | 1 + + lib/CMakeLists.txt | 1 - + lib/Makefile.am | 1 - + lib/signal-handler.c | 8 ++++---- + lib/signal-handler.h | 31 ------------------------------- + syslog-ng-config.h.in | 1 + + 7 files changed, 7 insertions(+), 37 deletions(-) + delete mode 100644 lib/signal-handler.h + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c847a547b..dee691388 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -106,6 +106,7 @@ check_symbol_exists("getrandom" "sys/random.h" SYSLOG_NG_HAVE_GETRANDOM) + + check_include_files(utmp.h SYSLOG_NG_HAVE_UTMP_H) + check_include_files(utmpx.h SYSLOG_NG_HAVE_UTMPX_H) ++check_include_files(dlfcn.h SYSLOG_NG_HAVE_DLFCN_H) + + check_struct_has_member("struct utmpx" "ut_type" "utmpx.h" UTMPX_HAS_UT_TYPE LANGUAGE C) + check_struct_has_member("struct utmp" "ut_type" "utmp.h" UTMP_HAS_UT_TYPE LANGUAGE C) +diff --git a/configure.ac b/configure.ac +index 6bdd8d252..6ef0ad2b4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -627,6 +627,7 @@ dnl *************************************************************************** + + AC_HEADER_STDC + AC_CHECK_HEADER(dmalloc.h) ++AC_CHECK_HEADER(dlfcn.h) + AC_CHECK_HEADERS(strings.h \ + getopt.h \ + stropts.h \ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index be2da32a4..5268712e9 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -91,7 +91,6 @@ set (LIB_HEADERS + logthrdestdrv.h + logwriter.h + mainloop.h +- signal-handler.h + mainloop-call.h + mainloop-worker.h + mainloop-io-worker.h +diff --git a/lib/Makefile.am b/lib/Makefile.am +index ec1928795..5f9e93d79 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -129,7 +129,6 @@ pkginclude_HEADERS += \ + lib/logthrdestdrv.h \ + lib/logwriter.h \ + lib/mainloop.h \ +- lib/signal-handler.h \ + lib/mainloop-call.h \ + lib/mainloop-worker.h \ + lib/mainloop-io-worker.h \ +diff --git a/lib/signal-handler.c b/lib/signal-handler.c +index 5657ba182..8f52f675b 100644 +--- a/lib/signal-handler.c ++++ b/lib/signal-handler.c +@@ -21,14 +21,15 @@ + * COPYING for details. + * + */ +-#include "signal-handler.h" + + #include "syslog-ng.h" + #include "children.h" + +-#ifndef _WIN32 ++#include ++ ++#if SYSLOG_NG_HAVE_DLFCN_H ++ + #include +-#endif + + static const struct sigaction *sgchld_handler; + +@@ -41,7 +42,6 @@ trigger_sigchld_handler_chain(int signum) + } + } + +-#ifndef _WIN32 + static int + call_original_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) + { +diff --git a/lib/signal-handler.h b/lib/signal-handler.h +deleted file mode 100644 +index 36e5ac293..000000000 +--- a/lib/signal-handler.h ++++ /dev/null +@@ -1,31 +0,0 @@ +-/* +- * Copyright (c) 2018 Balabit +- * Copyright (c) 2018 Kokan +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2.1 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public +- * License along with this library; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +- * +- * As an additional exemption you are allowed to compile & link against the +- * OpenSSL libraries as published by the OpenSSL project. See the file +- * COPYING for details. +- * +- */ +-#ifndef SIGNAL_HANDLER_H_INCLUDED +-#define SIGNAL_HANDLER_H_INCLUDED +- +-#include +- +-void trigger_sigchld_handler_chain(int); +- +-#endif +diff --git a/syslog-ng-config.h.in b/syslog-ng-config.h.in +index 9e372f103..d8208eedd 100644 +--- a/syslog-ng-config.h.in ++++ b/syslog-ng-config.h.in +@@ -38,6 +38,7 @@ + #cmakedefine SYSLOG_NG_PATH_XSDDIR "@SYSLOG_NG_PATH_XSDDIR@" + #cmakedefine SYSLOG_NG_HAVE_GETUTENT @SYSLOG_NG_HAVE_GETUTENT@ + #cmakedefine SYSLOG_NG_HAVE_GETUTXENT @SYSLOG_NG_HAVE_GETUTXENT@ ++#cmakedefine SYSLOG_NG_HAVE_DLFCN_H @SYSLOG_NG_HAVE_DLFCN_H@ + #cmakedefine SYSLOG_NG_HAVE_UTMPX_H @SYSLOG_NG_HAVE_UTMPX_H@ + #cmakedefine SYSLOG_NG_HAVE_UTMP_H @SYSLOG_NG_HAVE_UTMP_H@ + #cmakedefine SYSLOG_NG_HAVE_MODERN_UTMP @SYSLOG_NG_HAVE_MODERN_UTMP@ +-- +2.20.1 + diff --git a/package/syslog-ng/0003-look-for-pthread-atfork-also-in-libc-nonshared.patch b/package/syslog-ng/0003-look-for-pthread-atfork-also-in-libc-nonshared.patch new file mode 100644 index 0000000000..0f8454af97 --- /dev/null +++ b/package/syslog-ng/0003-look-for-pthread-atfork-also-in-libc-nonshared.patch @@ -0,0 +1,49 @@ +From a844abca43349739c36a4cdb7ea6f3bce560bd7f Mon Sep 17 00:00:00 2001 +From: Rolf Eike Beer +Date: Thu, 8 Nov 2018 08:14:46 +0100 +Subject: [PATCH] look for pthread_atfork() also in lib c_nonshared + +Newer versions of glibc do not have pthread_nonshared anymore, instead the +symbol is in c_nonshared. This fixes a crash on start on those platforms +(namely with syslog-ng). + +Signed-off-by: Rolf Eike Beer +[ThomasDS: backport from https://github.com/buytenh/ivykis/pull/16, at this +moment not yet merged upstream. +See also: +- https://github.com/buytenh/ivykis/issues/15 +- https://github.com/balabit/syslog-ng/issues/2263 +] +Signed-off-by: Thomas De Schampheleire + +--- + configure.ac | 2 ++ + src/pthr.h | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/ivykis/configure.ac b/lib/ivykis/configure.ac +index e9b10c0..56440d1 100644 +--- a/lib/ivykis/configure.ac ++++ b/lib/ivykis/configure.ac +@@ -88,6 +88,8 @@ esac + # link in libpthread_nonshared.a if it is available. + # + AC_CHECK_LIB([pthread_nonshared], [pthread_atfork]) ++# the lib is gone in glibc 2.28, things are now in c_nonshared ++AC_CHECK_LIB([c_nonshared], [pthread_atfork]) + + # Checks for header files. + AC_CHECK_HEADERS([process.h]) +diff --git a/lib/ivykis/src/pthr.h b/lib/ivykis/src/pthr.h +index a41eaf3..32c1af2 100644 +--- a/lib/ivykis/src/pthr.h ++++ b/lib/ivykis/src/pthr.h +@@ -42,7 +42,7 @@ static inline int pthreads_available(void) + * symbol because that causes it to be undefined even if you link + * libpthread_nonshared.a in explicitly. + */ +-#ifndef HAVE_LIBPTHREAD_NONSHARED ++#if !defined(HAVE_LIBPTHREAD_NONSHARED) && !defined(HAVE_LIBC_NONSHARED) + #pragma weak pthread_atfork + #endif + diff --git a/package/syslog-ng/S01logging b/package/syslog-ng/S01logging deleted file mode 100644 index d7c899a1e3..0000000000 --- a/package/syslog-ng/S01logging +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -start() { - printf "Starting syslog-ng daemon: " - start-stop-daemon -S -q -p /var/run/syslog-ng.pid \ - -x /usr/sbin/syslog-ng -- --pidfile /var/run/syslog-ng.pid - [ $? = 0 ] && echo "OK" || echo "FAIL" -} - -stop() { - printf "Stopping syslog-ng daemon: " - start-stop-daemon -K -q -p /var/run/syslog-ng.pid \ - -x /usr/sbin/syslog-ng - [ $? = 0 ] && echo "OK" || echo "FAIL" -} - -restart() { - stop - sleep 1 - start -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - restart - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 -esac - -exit $? diff --git a/package/syslog-ng/S01syslog-ng b/package/syslog-ng/S01syslog-ng new file mode 100644 index 0000000000..2ced6f8b00 --- /dev/null +++ b/package/syslog-ng/S01syslog-ng @@ -0,0 +1,62 @@ +#!/bin/sh + +DAEMON="syslog-ng" +PIDFILE="/var/run/$DAEMON.pid" + +SYSLOG_NG_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + -- $SYSLOG_NG_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +# SIGHUP makes syslog-ng reload its configuration +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s HUP -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/package/syslog-ng/syslog-ng.conf b/package/syslog-ng/syslog-ng.conf index e767255d71..9a56a1302d 100644 --- a/package/syslog-ng/syslog-ng.conf +++ b/package/syslog-ng/syslog-ng.conf @@ -1,4 +1,4 @@ -@version: 3.10 +@version: 3.19 source s_sys { file("/proc/kmsg" program_override("kernel")); diff --git a/package/syslog-ng/syslog-ng.hash b/package/syslog-ng/syslog-ng.hash index d9c51e9f1c..1f83e39ff0 100644 --- a/package/syslog-ng/syslog-ng.hash +++ b/package/syslog-ng/syslog-ng.hash @@ -1,2 +1,5 @@ # Locally computed -sha256 a905fe7bad09dcf40bf03650ef1c287b511bf262d004464b8993a28ce58c9136 syslog-ng-3.10.1.tar.gz +sha256 5cf931a9d7bead0e6d9a2c65eee8f6005a005878f59aa280f3c4294257ed5178 syslog-ng-3.19.1.tar.gz +sha256 835219c8ca76156e6337236d1bcb8e617c0b1c2783b4a8bc478e18a86743d607 COPYING +sha256 ce3324c9f22299cfc7c281e5a6ab40fbe9c2ea1a67cee87226cb8cd39db1e1d2 GPL.txt +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LGPL.txt diff --git a/package/syslog-ng/syslog-ng.mk b/package/syslog-ng/syslog-ng.mk index 793fea0972..4ac25a675b 100644 --- a/package/syslog-ng/syslog-ng.mk +++ b/package/syslog-ng/syslog-ng.mk @@ -6,14 +6,14 @@ # When updating the version, please check at runtime if the version in # syslog-ng.conf header needs to be updated -SYSLOG_NG_VERSION = 3.10.1 +SYSLOG_NG_VERSION = 3.19.1 SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION) SYSLOG_NG_LICENSE = LGPL-2.1+ (syslog-ng core), GPL-2.0+ (modules) -SYSLOG_NG_LICENSE_FILES = COPYING +SYSLOG_NG_LICENSE_FILES = COPYING GPL.txt LGPL.txt SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \ eventlog libglib2 openssl pcre -# rabbit-mq needs -lrt -SYSLOG_NG_CONF_ENV = LIBS=-lrt +# We're patching configure.ac +SYSLOG_NG_AUTORECONF = YES SYSLOG_NG_CONF_OPTS = --disable-manpages --localstatedir=/var/run \ --disable-java --disable-java-modules --disable-mongodb @@ -42,9 +42,7 @@ SYSLOG_NG_CONF_OPTS += \ --enable-python \ --with-python=$(PYTHON3_VERSION_MAJOR) else -SYSLOG_NG_CONF_OPTS += \ - --disable-python \ - --without-python +SYSLOG_NG_CONF_OPTS += --disable-python endif ifeq ($(BR2_PACKAGE_LIBESMTP),y) @@ -83,6 +81,13 @@ else SYSLOG_NG_CONF_OPTS += --disable-http endif +ifeq ($(BR2_PACKAGE_RABBITMQ_C),y) +SYSLOG_NG_DEPENDENCIES += rabbitmq-c +SYSLOG_NG_CONF_OPTS += --enable-amqp +else +SYSLOG_NG_CONF_OPTS += --disable-amqp +endif + ifeq ($(BR2_INIT_SYSTEMD),y) SYSLOG_NG_DEPENDENCIES += systemd SYSLOG_NG_CONF_OPTS += \ @@ -93,8 +98,18 @@ SYSLOG_NG_CONF_OPTS += --disable-systemd endif define SYSLOG_NG_INSTALL_INIT_SYSV - $(INSTALL) -m 0755 -D package/syslog-ng/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging + $(INSTALL) -m 0755 -D package/syslog-ng/S01syslog-ng \ + $(TARGET_DIR)/etc/init.d/S01syslog-ng +endef + +# By default syslog-ng installs a .service that requires a config file at +# /etc/default, so provide one with the default values. +define SYSLOG_NG_INSTALL_INIT_SYSTEMD + $(INSTALL) -m 0644 -D package/syslog-ng/syslog-ng@default \ + $(TARGET_DIR)/etc/default/syslog-ng@default + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/syslog-ng@.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/syslog-ng@default.service endef # By default syslog-ng installs a number of sample configuration diff --git a/package/syslog-ng/syslog-ng@default b/package/syslog-ng/syslog-ng@default new file mode 100644 index 0000000000..0fad00ebac --- /dev/null +++ b/package/syslog-ng/syslog-ng@default @@ -0,0 +1,8 @@ +# +# /etc/default/syslog-ng@default +# +CONFIG_FILE=/etc/syslog-ng.conf +PERSIST_FILE=/var/run/syslog-ng.persist +CONTROL_FILE=/var/run/syslog-ng.ctl +PID_FILE=/var/run/syslog-ng.pid +OTHER_OPTIONS="--enable-core" diff --git a/package/systemd-bootchart/Config.in b/package/systemd-bootchart/Config.in index 8deb6b9b7b..9af13db1f4 100644 --- a/package/systemd-bootchart/Config.in +++ b/package/systemd-bootchart/Config.in @@ -1,5 +1,18 @@ +config BR2_PACKAGE_SYSTEMD_BOOTCHART_ARCH_SUPPORTS + bool + # see src/architecture.h + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_arm || BR2_armeb + default y if BR2_i386 || BR2_x86_64 + default y if BR2_m68k + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_sh + default y if BR2_sparc || BR2_sparc64 + config BR2_PACKAGE_SYSTEMD_BOOTCHART bool "systemd-bootchart" + depends on BR2_PACKAGE_SYSTEMD_BOOTCHART_ARCH_SUPPORTS depends on BR2_INIT_SYSTEMD depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 help @@ -22,5 +35,6 @@ config BR2_PACKAGE_SYSTEMD_BOOTCHART http://www.freedesktop.org/software/systemd/man/systemd-bootchart.html comment "systemd-bootchart needs a toolchain w/ headers >= 3.17" + depends on BR2_PACKAGE_SYSTEMD_BOOTCHART_ARCH_SUPPORTS depends on BR2_INIT_SYSTEMD depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 diff --git a/package/systemd/0001-fix-getty-unit.patch b/package/systemd/0001-fix-getty-unit.patch index d546e1ab32..a12569f493 100644 --- a/package/systemd/0001-fix-getty-unit.patch +++ b/package/systemd/0001-fix-getty-unit.patch @@ -30,7 +30,7 @@ index 3c553240a..fd5ad9456 100644 # 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 ++ExecStart=-/sbin/getty -L console 115200 vt100 Type=idle Restart=always UtmpIdentifier=cons diff --git a/package/systemd/0002-install-don-t-use-ln-relative.patch b/package/systemd/0002-install-don-t-use-ln-relative.patch index a024ac4a23..7933207780 100644 --- a/package/systemd/0002-install-don-t-use-ln-relative.patch +++ b/package/systemd/0002-install-don-t-use-ln-relative.patch @@ -33,7 +33,7 @@ diff --git a/meson.build b/meson.build index 04331dd41..359042c04 100644 --- a/meson.build +++ b/meson.build -@@ -559,7 +559,7 @@ endforeach +@@ -628,7 +628,7 @@ endforeach conf.set_quoted('TELINIT', get_option('telinit-path')) if run_command('ln', '--relative', '--help').returncode() != 0 diff --git a/package/systemd/0003-meson-use-cross-compilation-compatible-c-check.patch b/package/systemd/0003-meson-use-cross-compilation-compatible-c-check.patch new file mode 100644 index 0000000000..70d816fae2 --- /dev/null +++ b/package/systemd/0003-meson-use-cross-compilation-compatible-c-check.patch @@ -0,0 +1,60 @@ +From 180a940333c84495015bd5b24d41c1dbfff509f2 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Thu, 27 Dec 2018 09:16:20 +0800 +Subject: [PATCH] meson: use cross compilation compatible c++ check + +[james.hilliard1@gmail.com: backport from upstream commit +46e63a2a3ed46ce97430ce38e4cc0798c57900eb] +Signed-off-by: James Hilliard +--- + meson.build | 4 +--- + src/systemd/meson.build | 3 +-- + src/test/meson.build | 2 +- + 3 files changed, 3 insertions(+), 6 deletions(-) + +diff --git a/meson.build b/meson.build +index b338886..1964b1a 100644 +--- a/meson.build ++++ b/meson.build +@@ -287,10 +287,8 @@ want_tests = get_option('tests') + slow_tests = want_tests != 'false' and get_option('slow-tests') + install_tests = get_option('install-tests') + +-cxx = find_program('c++', required : fuzzer_build) +-if cxx.found() ++if add_languages('cpp', required : fuzzer_build) + # Used only for tests +- add_languages('cpp') + cxx_cmd = ' '.join(meson.get_compiler('cpp').cmd_array()) + else + cxx_cmd = '' +diff --git a/src/systemd/meson.build b/src/systemd/meson.build +index e0c967e..75c48b0 100644 +--- a/src/systemd/meson.build ++++ b/src/systemd/meson.build +@@ -52,8 +52,7 @@ if cc.has_argument('-std=iso9899:2017') + opts += [['c', '-std=iso9899:2017']] + endif + +-cxx = find_program('c++', required : false) +-if cxx.found() ++if add_languages('cpp', required : false) + opts += [['c++'], + ['c++', '-std=c++98'], + ['c++', '-std=c++11']] +diff --git a/src/test/meson.build b/src/test/meson.build +index ea049a6..d9d87e0 100644 +--- a/src/test/meson.build ++++ b/src/test/meson.build +@@ -957,7 +957,7 @@ tests += [ + + ] + +-if cxx.found() ++if cxx_cmd != '' + tests += [ + [['src/libsystemd/sd-bus/test-bus-vtable-cc.cc'], + [], +-- +2.7.4 + diff --git a/package/systemd/0004-capability-fix-build-without-PR_CAP_AMBIENT.patch b/package/systemd/0004-capability-fix-build-without-PR_CAP_AMBIENT.patch new file mode 100644 index 0000000000..7b240d1b1a --- /dev/null +++ b/package/systemd/0004-capability-fix-build-without-PR_CAP_AMBIENT.patch @@ -0,0 +1,61 @@ +From 822809d0afd0f984750a61b2391059411afa4333 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 11 Jan 2019 16:07:00 +0100 +Subject: [PATCH] capability: fix build without PR_CAP_AMBIENT + +systemd fails to build on kernel without PR_CAP_AMBIENT (< 4.3) since +https://github.com/systemd/systemd/commit/2a03bb3e65327c73008f1db485ffc75c432dc6b2 + +To fix this error, include missing_prctl.h in all files using +PR_CAP_AMBIENT + +Fixes: + - http://autobuild.buildroot.org/results/699c078aa078240c6741da4dbd0871450ceeca92 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/11400] +--- + src/basic/capability-util.c | 1 + + src/test/test-capability.c | 1 + + src/test/test-execute.c | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/src/basic/capability-util.c b/src/basic/capability-util.c +index a3f3ca9f5..b944ee6ea 100644 +--- a/src/basic/capability-util.c ++++ b/src/basic/capability-util.c +@@ -13,6 +13,7 @@ + #include "fileio.h" + #include "log.h" + #include "macro.h" ++#include "missing_prctl.h" + #include "parse-util.h" + #include "user-util.h" + #include "util.h" +diff --git a/src/test/test-capability.c b/src/test/test-capability.c +index dae85f2f9..3db05878a 100644 +--- a/src/test/test-capability.c ++++ b/src/test/test-capability.c +@@ -13,6 +13,7 @@ + #include "fd-util.h" + #include "fileio.h" + #include "macro.h" ++#include "missing_prctl.h" + #include "parse-util.h" + #include "tests.h" + #include "util.h" +diff --git a/src/test/test-execute.c b/src/test/test-execute.c +index 2115061ad..cea68b8cf 100644 +--- a/src/test/test-execute.c ++++ b/src/test/test-execute.c +@@ -13,6 +13,7 @@ + #include "fs-util.h" + #include "macro.h" + #include "manager.h" ++#include "missing_prctl.h" + #include "mkdir.h" + #include "path-util.h" + #include "rm-rf.h" +-- +2.14.1 + diff --git a/package/systemd/0005-basic-tmpfile-util.c-fix-build-without-O_TMPFILE.patch b/package/systemd/0005-basic-tmpfile-util.c-fix-build-without-O_TMPFILE.patch new file mode 100644 index 0000000000..300fc544fd --- /dev/null +++ b/package/systemd/0005-basic-tmpfile-util.c-fix-build-without-O_TMPFILE.patch @@ -0,0 +1,34 @@ +From b1ca50178b97b3b827b0420ec7bdf9cb1d6fec56 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 11 Jan 2019 16:36:06 +0100 +Subject: [PATCH] basic/tmpfile-util.c: fix build without O_TMPFILE + +systemd fails to build on kernel without O_TMPFILE (< 3.11) since +https://github.com/systemd/systemd/commit/dea72eda9cdbfeedd24cbe8c734ad0639bf96cde + +To fix this error, include missing_fcntl.h + +Fixes: + - http://autobuild.buildroot.org/results/699c078aa078240c6741da4dbd0871450ceeca92 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/11400] +--- + src/basic/tmpfile-util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/basic/tmpfile-util.c b/src/basic/tmpfile-util.c +index 669eb2666..bc92d6a6d 100644 +--- a/src/basic/tmpfile-util.c ++++ b/src/basic/tmpfile-util.c +@@ -8,6 +8,7 @@ + #include "hexdecoct.h" + #include "macro.h" + #include "memfd-util.h" ++#include "missing_fcntl.h" + #include "missing_syscall.h" + #include "path-util.h" + #include "process-util.h" +-- +2.14.1 + diff --git a/package/systemd/0006-missing_if_link.h-add-IFLA_BOND_MODE.patch b/package/systemd/0006-missing_if_link.h-add-IFLA_BOND_MODE.patch new file mode 100644 index 0000000000..ace29be6a5 --- /dev/null +++ b/package/systemd/0006-missing_if_link.h-add-IFLA_BOND_MODE.patch @@ -0,0 +1,49 @@ +From 9ab48a9b3bfadca4fbe055ddb4f6fc677ee4ae85 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 11 Jan 2019 17:08:48 +0100 +Subject: [PATCH] missing_if_link.h: add IFLA_BOND_MODE + +systemd fails to build on kernel without IFLA_BOND_MODE (< 3.13) since +https://github.com/systemd/systemd/commit/9714c020fc4cda1823c2a77e3fd08aefa7d78b25 + +So put back IFLA_BOND_MODE definition + +Fixes: + - http://autobuild.buildroot.org/results/699c078aa078240c6741da4dbd0871450ceeca92 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/11400] +--- + meson.build | 1 + + src/basic/missing_if_link.h | 3 +++ + 2 files changed, 4 insertions(+) + +diff --git a/meson.build b/meson.build +index 623c1ad6b..011e44980 100644 +--- a/meson.build ++++ b/meson.build +@@ -476,6 +476,7 @@ foreach decl : [['ETHTOOL_LINK_MODE_10baseT_Half_BIT', 'linux/ethtool.h'], + ['IFLA_TARGET_NETNSID', 'linux/if_link.h'], + ['IFLA_NEW_IFINDEX', 'linux/if_link.h'], + ['IFLA_MAX_MTU', 'linux/if_link.h'], ++ ['IFLA_BOND_MODE', 'linux/if_link.h'], + ['IFLA_BOND_ACTIVE_SLAVE', 'linux/if_link.h'], + ['IFLA_BOND_AD_INFO', 'linux/if_link.h'], + ['IFLA_BOND_AD_ACTOR_SYSTEM', 'linux/if_link.h'], +diff --git a/src/basic/missing_if_link.h b/src/basic/missing_if_link.h +index 07675426b..761797f56 100644 +--- a/src/basic/missing_if_link.h ++++ b/src/basic/missing_if_link.h +@@ -110,6 +110,9 @@ enum ipvlan_mode { + #define IFLA_MAX 51 + #endif + ++#if !HAVE_IFLA_BOND_MODE /* linux@90af231106c0b8d223c27d35464af95cb3d9cacf (3.13) */ ++#define IFLA_BOND_MODE 1 ++#endif + #if !HAVE_IFLA_BOND_ACTIVE_SLAVE /* linux@ec76aa49855f6d6fea5e01de179fb57dd47c619d (3.13) */ + #define IFLA_BOND_ACTIVE_SLAVE 2 + #endif +-- +2.14.1 + diff --git a/package/systemd/0007-missing_syscall.h-include-errno.h.patch b/package/systemd/0007-missing_syscall.h-include-errno.h.patch new file mode 100644 index 0000000000..eb5d9eacb7 --- /dev/null +++ b/package/systemd/0007-missing_syscall.h-include-errno.h.patch @@ -0,0 +1,28 @@ +From 985d15d636b4d2c7086dbd305369c02756cdbe19 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 11 Jan 2019 17:24:21 +0100 +Subject: [PATCH] missing_syscall.h: include errno.h + +This include is needed for errno and ENOSYS + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/11400] +--- + src/basic/missing_syscall.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h +index d5d4b26ac..d1aa32218 100644 +--- a/src/basic/missing_syscall.h ++++ b/src/basic/missing_syscall.h +@@ -3,6 +3,7 @@ + + /* Missing glibc definitions to access certain kernel APIs */ + ++#include + #include + #include + #include +-- +2.14.1 + diff --git a/package/systemd/0008-lockfile-util.c-fix-build-without-F_OFD_SETLK.patch b/package/systemd/0008-lockfile-util.c-fix-build-without-F_OFD_SETLK.patch new file mode 100644 index 0000000000..1a1542c706 --- /dev/null +++ b/package/systemd/0008-lockfile-util.c-fix-build-without-F_OFD_SETLK.patch @@ -0,0 +1,34 @@ +From badb5dafa9efc89384d9d2bea5648f7b017204d7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 11 Jan 2019 17:30:32 +0100 +Subject: [PATCH] lockfile-util.c: fix build without F_OFD_SETLK + +systemd fails to build on kernel without F_OFD_SETLK since +https://github.com/systemd/systemd/commit/9714c020fc4cda1823c2a77e3fd08aefa7d78b25 + +So put include missing_fcntl.h + +Fixes: + - http://autobuild.buildroot.org/results/699c078aa078240c6741da4dbd0871450ceeca92 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/11400] +--- + src/shared/lockfile-util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/shared/lockfile-util.c b/src/shared/lockfile-util.c +index 4bae23b24..260c2088d 100644 +--- a/src/shared/lockfile-util.c ++++ b/src/shared/lockfile-util.c +@@ -12,6 +12,7 @@ + #include "fs-util.h" + #include "lockfile-util.h" + #include "macro.h" ++#include "missing_fcntl.h" + #include "path-util.h" + + int make_lock_file(const char *p, int operation, LockFile *ret) { +-- +2.14.1 + diff --git a/package/systemd/0009-journald-do-not-store-the-iovec-entry-for-process-co.patch b/package/systemd/0009-journald-do-not-store-the-iovec-entry-for-process-co.patch new file mode 100644 index 0000000000..dbf9bb51c3 --- /dev/null +++ b/package/systemd/0009-journald-do-not-store-the-iovec-entry-for-process-co.patch @@ -0,0 +1,205 @@ +From 084eeb865ca63887098e0945fb4e93c852b91b0f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 5 Dec 2018 18:38:39 +0100 +Subject: [PATCH] journald: do not store the iovec entry for process + commandline on stack + +This fixes a crash where we would read the commandline, whose length is under +control of the sending program, and then crash when trying to create a stack +allocation for it. + +CVE-2018-16864 +https://bugzilla.redhat.com/show_bug.cgi?id=1653855 + +The message actually doesn't get written to disk, because +journal_file_append_entry() returns -E2BIG. + +[james.hilliard1@gmail.com: backport from upstream commit +084eeb865ca63887098e0945fb4e93c852b91b0f] +Signed-off-by: James Hilliard +--- + src/basic/io-util.c | 10 ++++++++++ + src/basic/io-util.h | 2 ++ + src/coredump/coredump.c | 31 +++++++++++-------------------- + src/journal/journald-server.c | 25 +++++++++++++++---------- + 4 files changed, 38 insertions(+), 30 deletions(-) + +diff --git a/src/basic/io-util.c b/src/basic/io-util.c +index 1f64cc9..575398f 100644 +--- a/src/basic/io-util.c ++++ b/src/basic/io-util.c +@@ -8,6 +8,7 @@ + #include + + #include "io-util.h" ++#include "string-util.h" + #include "time-util.h" + + int flush_fd(int fd) { +@@ -252,3 +253,12 @@ ssize_t sparse_write(int fd, const void *p, size_t sz, size_t run_length) { + + return q - (const uint8_t*) p; + } ++ ++char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) { ++ char *x; ++ ++ x = strappend(field, value); ++ if (x) ++ iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(x); ++ return x; ++} +diff --git a/src/basic/io-util.h b/src/basic/io-util.h +index ed189b5..792a64a 100644 +--- a/src/basic/io-util.h ++++ b/src/basic/io-util.h +@@ -71,3 +71,5 @@ static inline bool FILE_SIZE_VALID_OR_INFINITY(uint64_t l) { + #define IOVEC_MAKE(base, len) (struct iovec) IOVEC_INIT(base, len) + #define IOVEC_INIT_STRING(string) IOVEC_INIT((char*) string, strlen(string)) + #define IOVEC_MAKE_STRING(string) (struct iovec) IOVEC_INIT_STRING(string) ++ ++char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value); +diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c +index 20c1fb0..db2cf64 100644 +--- a/src/coredump/coredump.c ++++ b/src/coredump/coredump.c +@@ -1063,19 +1063,10 @@ static int send_iovec(const struct iovec iovec[], size_t n_iovec, int input_fd) + return 0; + } + +-static char* set_iovec_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) { +- char *x; +- +- x = strappend(field, value); +- if (x) +- iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(x); +- return x; +-} +- + static char* set_iovec_field_free(struct iovec *iovec, size_t *n_iovec, const char *field, char *value) { + char *x; + +- x = set_iovec_field(iovec, n_iovec, field, value); ++ x = set_iovec_string_field(iovec, n_iovec, field, value); + free(value); + return x; + } +@@ -1125,36 +1116,36 @@ static int gather_pid_metadata( + disable_coredumps(); + } + +- set_iovec_field(iovec, n_iovec, "COREDUMP_UNIT=", context[CONTEXT_UNIT]); ++ set_iovec_string_field(iovec, n_iovec, "COREDUMP_UNIT=", context[CONTEXT_UNIT]); + } + + if (cg_pid_get_user_unit(pid, &t) >= 0) + set_iovec_field_free(iovec, n_iovec, "COREDUMP_USER_UNIT=", t); + + /* The next few are mandatory */ +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_PID=", context[CONTEXT_PID])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_PID=", context[CONTEXT_PID])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_UID=", context[CONTEXT_UID])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_UID=", context[CONTEXT_UID])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_GID=", context[CONTEXT_GID])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_GID=", context[CONTEXT_GID])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_SIGNAL=", context[CONTEXT_SIGNAL])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_SIGNAL=", context[CONTEXT_SIGNAL])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_RLIMIT=", context[CONTEXT_RLIMIT])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_RLIMIT=", context[CONTEXT_RLIMIT])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_HOSTNAME=", context[CONTEXT_HOSTNAME])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_HOSTNAME=", context[CONTEXT_HOSTNAME])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_COMM=", context[CONTEXT_COMM])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_COMM=", context[CONTEXT_COMM])) + return log_oom(); + + if (context[CONTEXT_EXE] && +- !set_iovec_field(iovec, n_iovec, "COREDUMP_EXE=", context[CONTEXT_EXE])) ++ !set_iovec_string_field(iovec, n_iovec, "COREDUMP_EXE=", context[CONTEXT_EXE])) + return log_oom(); + + if (sd_pid_get_session(pid, &t) >= 0) +@@ -1222,7 +1213,7 @@ static int gather_pid_metadata( + iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(t); + + if (safe_atoi(context[CONTEXT_SIGNAL], &signo) >= 0 && SIGNAL_VALID(signo)) +- set_iovec_field(iovec, n_iovec, "COREDUMP_SIGNAL_NAME=SIG", signal_to_string(signo)); ++ set_iovec_string_field(iovec, n_iovec, "COREDUMP_SIGNAL_NAME=SIG", signal_to_string(signo)); + + return 0; /* we successfully acquired all metadata */ + } +diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c +index f096725..2a960eb 100644 +--- a/src/journal/journald-server.c ++++ b/src/journal/journald-server.c +@@ -905,6 +905,7 @@ static void dispatch_message_real( + pid_t object_pid) { + + char source_time[sizeof("_SOURCE_REALTIME_TIMESTAMP=") + DECIMAL_STR_MAX(usec_t)]; ++ _cleanup_free_ char *cmdline1 = NULL, *cmdline2 = NULL; + uid_t journal_uid; + ClientContext *o; + +@@ -921,20 +922,23 @@ static void dispatch_message_real( + IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->uid, uid_t, uid_is_valid, UID_FMT, "_UID"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->gid, gid_t, gid_is_valid, GID_FMT, "_GID"); + +- IOVEC_ADD_STRING_FIELD(iovec, n, c->comm, "_COMM"); +- IOVEC_ADD_STRING_FIELD(iovec, n, c->exe, "_EXE"); +- IOVEC_ADD_STRING_FIELD(iovec, n, c->cmdline, "_CMDLINE"); +- IOVEC_ADD_STRING_FIELD(iovec, n, c->capeff, "_CAP_EFFECTIVE"); ++ IOVEC_ADD_STRING_FIELD(iovec, n, c->comm, "_COMM"); /* At most TASK_COMM_LENGTH (16 bytes) */ ++ IOVEC_ADD_STRING_FIELD(iovec, n, c->exe, "_EXE"); /* A path, so at most PATH_MAX (4096 bytes) */ + +- IOVEC_ADD_SIZED_FIELD(iovec, n, c->label, c->label_size, "_SELINUX_CONTEXT"); ++ if (c->cmdline) ++ /* At most _SC_ARG_MAX (2MB usually), which is too much to put on stack. ++ * Let's use a heap allocation for this one. */ ++ cmdline1 = set_iovec_string_field(iovec, &n, "_CMDLINE=", c->cmdline); + ++ IOVEC_ADD_STRING_FIELD(iovec, n, c->capeff, "_CAP_EFFECTIVE"); /* Read from /proc/.../status */ ++ IOVEC_ADD_SIZED_FIELD(iovec, n, c->label, c->label_size, "_SELINUX_CONTEXT"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->auditid, uint32_t, audit_session_is_valid, "%" PRIu32, "_AUDIT_SESSION"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->loginuid, uid_t, uid_is_valid, UID_FMT, "_AUDIT_LOGINUID"); + +- IOVEC_ADD_STRING_FIELD(iovec, n, c->cgroup, "_SYSTEMD_CGROUP"); ++ IOVEC_ADD_STRING_FIELD(iovec, n, c->cgroup, "_SYSTEMD_CGROUP"); /* A path */ + IOVEC_ADD_STRING_FIELD(iovec, n, c->session, "_SYSTEMD_SESSION"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->owner_uid, uid_t, uid_is_valid, UID_FMT, "_SYSTEMD_OWNER_UID"); +- IOVEC_ADD_STRING_FIELD(iovec, n, c->unit, "_SYSTEMD_UNIT"); ++ IOVEC_ADD_STRING_FIELD(iovec, n, c->unit, "_SYSTEMD_UNIT"); /* Unit names are bounded by UNIT_NAME_MAX */ + IOVEC_ADD_STRING_FIELD(iovec, n, c->user_unit, "_SYSTEMD_USER_UNIT"); + IOVEC_ADD_STRING_FIELD(iovec, n, c->slice, "_SYSTEMD_SLICE"); + IOVEC_ADD_STRING_FIELD(iovec, n, c->user_slice, "_SYSTEMD_USER_SLICE"); +@@ -955,13 +959,14 @@ static void dispatch_message_real( + IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->uid, uid_t, uid_is_valid, UID_FMT, "OBJECT_UID"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->gid, gid_t, gid_is_valid, GID_FMT, "OBJECT_GID"); + ++ /* See above for size limits, only ->cmdline may be large, so use a heap allocation for it. */ + IOVEC_ADD_STRING_FIELD(iovec, n, o->comm, "OBJECT_COMM"); + IOVEC_ADD_STRING_FIELD(iovec, n, o->exe, "OBJECT_EXE"); +- IOVEC_ADD_STRING_FIELD(iovec, n, o->cmdline, "OBJECT_CMDLINE"); +- IOVEC_ADD_STRING_FIELD(iovec, n, o->capeff, "OBJECT_CAP_EFFECTIVE"); ++ if (o->cmdline) ++ cmdline2 = set_iovec_string_field(iovec, &n, "OBJECT_CMDLINE=", o->cmdline); + ++ IOVEC_ADD_STRING_FIELD(iovec, n, o->capeff, "OBJECT_CAP_EFFECTIVE"); + IOVEC_ADD_SIZED_FIELD(iovec, n, o->label, o->label_size, "OBJECT_SELINUX_CONTEXT"); +- + IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->auditid, uint32_t, audit_session_is_valid, "%" PRIu32, "OBJECT_AUDIT_SESSION"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->loginuid, uid_t, uid_is_valid, UID_FMT, "OBJECT_AUDIT_LOGINUID"); + +-- +2.7.4 + diff --git a/package/systemd/0010-journald-set-a-limit-on-the-number-of-fields-1k.patch b/package/systemd/0010-journald-set-a-limit-on-the-number-of-fields-1k.patch new file mode 100644 index 0000000000..df1ed806a4 --- /dev/null +++ b/package/systemd/0010-journald-set-a-limit-on-the-number-of-fields-1k.patch @@ -0,0 +1,57 @@ +From 052c57f132f04a3cf4148f87561618da1a6908b4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 5 Dec 2018 22:45:02 +0100 +Subject: [PATCH] journald: set a limit on the number of fields (1k) + +We allocate a iovec entry for each field, so with many short entries, +our memory usage and processing time can be large, even with a relatively +small message size. Let's refuse overly long entries. + +CVE-2018-16865 +https://bugzilla.redhat.com/show_bug.cgi?id=1653861 + +What from I can see, the problem is not from an alloca, despite what the CVE +description says, but from the attack multiplication that comes from creating +many very small iovecs: (void* + size_t) for each three bytes of input message. + +[james.hilliard1@gmail.com: backport from upstream commit +052c57f132f04a3cf4148f87561618da1a6908b4] +Signed-off-by: James Hilliard +--- + src/journal/journald-native.c | 5 +++++ + src/shared/journal-importer.h | 3 +++ + 2 files changed, 8 insertions(+) + +diff --git a/src/journal/journald-native.c b/src/journal/journald-native.c +index e86178e..d0fee2a 100644 +--- a/src/journal/journald-native.c ++++ b/src/journal/journald-native.c +@@ -141,6 +141,11 @@ static int server_process_entry( + } + + /* A property follows */ ++ if (n > ENTRY_FIELD_COUNT_MAX) { ++ log_debug("Received an entry that has more than " STRINGIFY(ENTRY_FIELD_COUNT_MAX) " fields, ignoring entry."); ++ r = 1; ++ goto finish; ++ } + + /* n existing properties, 1 new, +1 for _TRANSPORT */ + if (!GREEDY_REALLOC(iovec, m, +diff --git a/src/shared/journal-importer.h b/src/shared/journal-importer.h +index 53354b7..7914c0c 100644 +--- a/src/shared/journal-importer.h ++++ b/src/shared/journal-importer.h +@@ -21,6 +21,9 @@ + #endif + #define LINE_CHUNK 8*1024u + ++/* The maximum number of fields in an entry */ ++#define ENTRY_FIELD_COUNT_MAX 1024 ++ + struct iovec_wrapper { + struct iovec *iovec; + size_t size_bytes; +-- +2.7.4 + diff --git a/package/systemd/0011-journal-remote-verify-entry-length-from-header.patch b/package/systemd/0011-journal-remote-verify-entry-length-from-header.patch new file mode 100644 index 0000000000..7b74a31d35 --- /dev/null +++ b/package/systemd/0011-journal-remote-verify-entry-length-from-header.patch @@ -0,0 +1,112 @@ +From 7fdb237f5473cb8fc2129e57e8a0039526dcb4fd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 7 Dec 2018 12:47:14 +0100 +Subject: [PATCH] journal-remote: verify entry length from header +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Calling mhd_respond(), which ulimately calls MHD_queue_response() is +ineffective at point, becuase MHD_queue_response() immediately returns +MHD_NO signifying an error, because the connection is in state +MHD_CONNECTION_CONTINUE_SENT. + +As Christian Grothoff kindly explained: +> You are likely calling MHD_queue_repsonse() too late: once you are +> receiving upload_data, HTTP forces you to process it all. At this time, +> MHD has already sent "100 continue" and cannot take it back (hence you +> get MHD_NO!). +> +> In your request handler, the first time when you are called for a +> connection (and when hence *upload_data_size == 0 and upload_data == +> NULL) you must check the content-length header and react (with +> MHD_queue_response) based on this (to prevent MHD from automatically +> generating 100 continue). + +If we ever encounter this kind of error, print a warning and immediately +abort the connection. (The alternative would be to keep reading the data, +but ignore it, and return an error after we get to the end of data. +That is possible, but of course puts additional load on both the +sender and reciever, and doesn't seem important enough just to return +a good error message.) + +Note that sending of the error does not work (the connection is always aborted +when MHD_queue_response is used with MHD_RESPMEM_MUST_FREE, as in this case) +with libµhttpd 0.59, but works with 0.61: +https://src.fedoraproject.org/rpms/libmicrohttpd/pull-request/1 + +[james.hilliard1@gmail.com: backport from upstream commit +7fdb237f5473cb8fc2129e57e8a0039526dcb4fd] +Signed-off-by: James Hilliard +--- + src/journal-remote/journal-remote-main.c | 34 ++++++++++++++++++++++---------- + 1 file changed, 24 insertions(+), 10 deletions(-) + +diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c +index e1748cb..8543dba 100644 +--- a/src/journal-remote/journal-remote-main.c ++++ b/src/journal-remote/journal-remote-main.c +@@ -221,16 +221,14 @@ static int process_http_upload( + journal_remote_server_global->seal); + if (r == -EAGAIN) + break; +- else if (r < 0) { +- log_warning("Failed to process data for connection %p", connection); ++ if (r < 0) { + if (r == -E2BIG) +- return mhd_respondf(connection, +- r, MHD_HTTP_PAYLOAD_TOO_LARGE, +- "Entry is too large, maximum is " STRINGIFY(DATA_SIZE_MAX) " bytes."); ++ log_warning_errno(r, "Entry is too above maximum of %u, aborting connection %p.", ++ DATA_SIZE_MAX, connection); + else +- return mhd_respondf(connection, +- r, MHD_HTTP_UNPROCESSABLE_ENTITY, +- "Processing failed: %m."); ++ log_warning_errno(r, "Failed to process data, aborting connection %p: %m", ++ connection); ++ return MHD_NO; + } + } + +@@ -264,6 +262,7 @@ static int request_handler( + const char *header; + int r, code, fd; + _cleanup_free_ char *hostname = NULL; ++ size_t len; + + assert(connection); + assert(connection_cls); +@@ -283,12 +282,27 @@ static int request_handler( + if (!streq(url, "/upload")) + return mhd_respond(connection, MHD_HTTP_NOT_FOUND, "Not found."); + +- header = MHD_lookup_connection_value(connection, +- MHD_HEADER_KIND, "Content-Type"); ++ header = MHD_lookup_connection_value(connection, MHD_HEADER_KIND, "Content-Type"); + if (!header || !streq(header, "application/vnd.fdo.journal")) + return mhd_respond(connection, MHD_HTTP_UNSUPPORTED_MEDIA_TYPE, + "Content-Type: application/vnd.fdo.journal is required."); + ++ header = MHD_lookup_connection_value(connection, MHD_HEADER_KIND, "Content-Length"); ++ if (!header) ++ return mhd_respond(connection, MHD_HTTP_LENGTH_REQUIRED, ++ "Content-Length header is required."); ++ r = safe_atozu(header, &len); ++ if (r < 0) ++ return mhd_respondf(connection, r, MHD_HTTP_LENGTH_REQUIRED, ++ "Content-Length: %s cannot be parsed: %m", header); ++ ++ if (len > ENTRY_SIZE_MAX) ++ /* When serialized, an entry of maximum size might be slightly larger, ++ * so this does not correspond exactly to the limit in journald. Oh well. ++ */ ++ return mhd_respondf(connection, 0, MHD_HTTP_PAYLOAD_TOO_LARGE, ++ "Payload larger than maximum size of %u bytes", ENTRY_SIZE_MAX); ++ + { + const union MHD_ConnectionInfo *ci; + +-- +2.7.4 + diff --git a/package/systemd/0012-journal-remote-set-a-limit-on-the-number-of-fields-i.patch b/package/systemd/0012-journal-remote-set-a-limit-on-the-number-of-fields-i.patch new file mode 100644 index 0000000000..e0aae98d90 --- /dev/null +++ b/package/systemd/0012-journal-remote-set-a-limit-on-the-number-of-fields-i.patch @@ -0,0 +1,81 @@ +From ef4d6abe7c7fab6cbff975b32e76b09feee56074 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 7 Dec 2018 10:48:10 +0100 +Subject: [PATCH] journal-remote: set a limit on the number of fields in a + message + +Existing use of E2BIG is replaced with ENOBUFS (entry too long), and E2BIG is +reused for the new error condition (too many fields). + +This matches the change done for systemd-journald, hence forming the second +part of the fix for CVE-2018-16865 +(https://bugzilla.redhat.com/show_bug.cgi?id=1653861). + +[james.hilliard1@gmail.com: backport from upstream commit +ef4d6abe7c7fab6cbff975b32e76b09feee56074] +Signed-off-by: James Hilliard +--- + src/journal-remote/journal-remote-main.c | 7 +++++-- + src/journal-remote/journal-remote.c | 3 +++ + src/shared/journal-importer.c | 5 ++++- + 3 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c +index 8543dba..802c3ea 100644 +--- a/src/journal-remote/journal-remote-main.c ++++ b/src/journal-remote/journal-remote-main.c +@@ -222,9 +222,12 @@ static int process_http_upload( + if (r == -EAGAIN) + break; + if (r < 0) { +- if (r == -E2BIG) +- log_warning_errno(r, "Entry is too above maximum of %u, aborting connection %p.", ++ if (r == -ENOBUFS) ++ log_warning_errno(r, "Entry is above the maximum of %u, aborting connection %p.", + DATA_SIZE_MAX, connection); ++ else if (r == -E2BIG) ++ log_warning_errno(r, "Entry with more fields than the maximum of %u, aborting connection %p.", ++ ENTRY_FIELD_COUNT_MAX, connection); + else + log_warning_errno(r, "Failed to process data, aborting connection %p: %m", + connection); +diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c +index 3c0916c..1da32c5 100644 +--- a/src/journal-remote/journal-remote.c ++++ b/src/journal-remote/journal-remote.c +@@ -407,6 +407,9 @@ int journal_remote_handle_raw_source( + log_debug("%zu active sources remaining", s->active); + return 0; + } else if (r == -E2BIG) { ++ log_notice("Entry with too many fields, skipped"); ++ return 1; ++ } else if (r == -ENOBUFS) { + log_notice("Entry too big, skipped"); + return 1; + } else if (r == -EAGAIN) { +diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c +index b0e6192..8638cd3 100644 +--- a/src/shared/journal-importer.c ++++ b/src/shared/journal-importer.c +@@ -23,6 +23,9 @@ enum { + }; + + static int iovw_put(struct iovec_wrapper *iovw, void* data, size_t len) { ++ if (iovw->count >= ENTRY_FIELD_COUNT_MAX) ++ return -E2BIG; ++ + if (!GREEDY_REALLOC(iovw->iovec, iovw->size_bytes, iovw->count + 1)) + return log_oom(); + +@@ -97,7 +100,7 @@ static int get_line(JournalImporter *imp, char **line, size_t *size) { + + imp->scanned = imp->filled; + if (imp->scanned >= DATA_SIZE_MAX) +- return log_error_errno(SYNTHETIC_ERRNO(E2BIG), ++ return log_error_errno(SYNTHETIC_ERRNO(ENOBUFS), + "Entry is bigger than %u bytes.", + DATA_SIZE_MAX); + +-- +2.7.4 + diff --git a/package/systemd/0013-Pass-separate-dev_t-var-to-device_path_parse_major_minor.patch b/package/systemd/0013-Pass-separate-dev_t-var-to-device_path_parse_major_minor.patch new file mode 100644 index 0000000000..eb7e0a2705 --- /dev/null +++ b/package/systemd/0013-Pass-separate-dev_t-var-to-device_path_parse_major_minor.patch @@ -0,0 +1,116 @@ +From f5855697aa19fb92637e72ab02e4623abe77f288 Mon Sep 17 00:00:00 2001 +From: YunQiang Su +Date: Tue, 25 Dec 2018 19:01:17 +0800 +Subject: [PATCH] Pass separate dev_t var to device_path_parse_major_minor + +MIPS/O32's st_rdev member of struct stat is unsigned long, which +is 32bit, while dev_t is defined as 64bit, which make some problems +in device_path_parse_major_minor. + +Don't pass st.st_rdev, st_mode to device_path_parse_major_minor, +while pass 2 seperate variables. The result of stat is alos copied +out into these 2 variables. Fixes: #11247 + +[Retrieved from: +https://github.com/systemd/systemd/commit/f5855697aa19fb92637e72ab02e4623abe77f288] +Signed-off-by: Fabrice Fontaine +--- + src/core/cgroup.c | 35 ++++++++++++++++++++++------------- + 1 file changed, 22 insertions(+), 13 deletions(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 7b817dc225e..ed2f331b33e 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -396,26 +396,31 @@ static void cgroup_xattr_apply(Unit *u) { + } + + static int lookup_block_device(const char *p, dev_t *ret) { +- struct stat st = {}; ++ dev_t rdev, dev = 0; ++ mode_t mode; + int r; + + assert(p); + assert(ret); + +- r = device_path_parse_major_minor(p, &st.st_mode, &st.st_rdev); ++ r = device_path_parse_major_minor(p, &mode, &rdev); + if (r == -ENODEV) { /* not a parsable device node, need to go to disk */ ++ struct stat st; + if (stat(p, &st) < 0) + return log_warning_errno(errno, "Couldn't stat device '%s': %m", p); ++ rdev = (dev_t)st.st_rdev; ++ dev = (dev_t)st.st_dev; ++ mode = st.st_mode; + } else if (r < 0) + return log_warning_errno(r, "Failed to parse major/minor from path '%s': %m", p); + +- if (S_ISCHR(st.st_mode)) { ++ if (S_ISCHR(mode)) { + log_warning("Device node '%s' is a character device, but block device needed.", p); + return -ENOTBLK; +- } else if (S_ISBLK(st.st_mode)) +- *ret = st.st_rdev; +- else if (major(st.st_dev) != 0) +- *ret = st.st_dev; /* If this is not a device node then use the block device this file is stored on */ ++ } else if (S_ISBLK(mode)) ++ *ret = rdev; ++ else if (major(dev) != 0) ++ *ret = dev; /* If this is not a device node then use the block device this file is stored on */ + else { + /* If this is btrfs, getting the backing block device is a bit harder */ + r = btrfs_get_block_device(p, ret); +@@ -436,7 +441,8 @@ static int lookup_block_device(const char *p, dev_t *ret) { + } + + static int whitelist_device(BPFProgram *prog, const char *path, const char *node, const char *acc) { +- struct stat st = {}; ++ dev_t rdev; ++ mode_t mode; + int r; + + assert(path); +@@ -445,11 +451,12 @@ static int whitelist_device(BPFProgram *prog, const char *path, const char *node + /* Some special handling for /dev/block/%u:%u, /dev/char/%u:%u, /run/systemd/inaccessible/chr and + * /run/systemd/inaccessible/blk paths. Instead of stat()ing these we parse out the major/minor directly. This + * means clients can use these path without the device node actually around */ +- r = device_path_parse_major_minor(node, &st.st_mode, &st.st_rdev); ++ r = device_path_parse_major_minor(node, &mode, &rdev); + if (r < 0) { + if (r != -ENODEV) + return log_warning_errno(r, "Couldn't parse major/minor from device path '%s': %m", node); + ++ struct stat st; + if (stat(node, &st) < 0) + return log_warning_errno(errno, "Couldn't stat device %s: %m", node); + +@@ -457,22 +464,24 @@ static int whitelist_device(BPFProgram *prog, const char *path, const char *node + log_warning("%s is not a device.", node); + return -ENODEV; + } ++ rdev = (dev_t) st.st_rdev; ++ mode = st.st_mode; + } + + if (cg_all_unified() > 0) { + if (!prog) + return 0; + +- return cgroup_bpf_whitelist_device(prog, S_ISCHR(st.st_mode) ? BPF_DEVCG_DEV_CHAR : BPF_DEVCG_DEV_BLOCK, +- major(st.st_rdev), minor(st.st_rdev), acc); ++ return cgroup_bpf_whitelist_device(prog, S_ISCHR(mode) ? BPF_DEVCG_DEV_CHAR : BPF_DEVCG_DEV_BLOCK, ++ major(rdev), minor(rdev), acc); + + } else { + char buf[2+DECIMAL_STR_MAX(dev_t)*2+2+4]; + + sprintf(buf, + "%c %u:%u %s", +- S_ISCHR(st.st_mode) ? 'c' : 'b', +- major(st.st_rdev), minor(st.st_rdev), ++ S_ISCHR(mode) ? 'c' : 'b', ++ major(rdev), minor(rdev), + acc); + + /* Changing the devices list of a populated cgroup might result in EINVAL, hence ignore EINVAL here. */ diff --git a/package/systemd/0014-networkd-brvlan.c-fix-build-without-BRIDGE_VLAN_INFO.patch b/package/systemd/0014-networkd-brvlan.c-fix-build-without-BRIDGE_VLAN_INFO.patch new file mode 100644 index 0000000000..7a91aac519 --- /dev/null +++ b/package/systemd/0014-networkd-brvlan.c-fix-build-without-BRIDGE_VLAN_INFO.patch @@ -0,0 +1,34 @@ +From 7bd188b1e628d11011cc6c98456e2e4ed72c645b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Feb 2019 17:32:46 +0100 +Subject: [PATCH] networkd-brvlan.c: fix build without + BRIDGE_VLAN_INFO_RANGE_END + +systemd fails to build on kernel without BRIDGE_VLAN_INFO_RANGE_END +since 9714c02 + +So put include missing_if_bridge.h + +Fixes: + - http://autobuild.buildroot.org/results/970b09e1d49b53dff12a07ca4ad424ef9dd29a69 + +Signed-off-by: Fabrice Fontaine +--- + src/network/networkd-brvlan.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c +index 8f9103f14..8377623da 100644 +--- a/src/network/networkd-brvlan.c ++++ b/src/network/networkd-brvlan.c +@@ -9,6 +9,7 @@ + + #include "alloc-util.h" + #include "conf-parser.h" ++#include "missing_if_bridge.h" + #include "netlink-util.h" + #include "networkd-brvlan.h" + #include "networkd-link.h" +-- +2.14.1 + diff --git a/package/systemd/0015-networkd-ndisc.c-fix-build-without-IFA_F_NOPREFIXROU.patch b/package/systemd/0015-networkd-ndisc.c-fix-build-without-IFA_F_NOPREFIXROU.patch new file mode 100644 index 0000000000..6351f05eb3 --- /dev/null +++ b/package/systemd/0015-networkd-ndisc.c-fix-build-without-IFA_F_NOPREFIXROU.patch @@ -0,0 +1,33 @@ +From d909e4af6ac61f6777d429a0c84ab5b3d1907c6d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Feb 2019 18:28:16 +0100 +Subject: [PATCH] networkd-ndisc.c: fix build without IFA_F_NOPREFIXROUTE + +systemd fails to build on kernel without IFA_F_NOPREFIXROUTE +since 9714c02 + +So put include missing_network.h + +Fixes: + - http://autobuild.buildroot.org/results/970b09e1d49b53dff12a07ca4ad424ef9dd29a69 + +Signed-off-by: Fabrice Fontaine +--- + src/network/networkd-ndisc.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c +index 80bfd2cba..e5b8d1155 100644 +--- a/src/network/networkd-ndisc.c ++++ b/src/network/networkd-ndisc.c +@@ -8,6 +8,7 @@ + + #include "sd-ndisc.h" + ++#include "missing_network.h" + #include "networkd-ndisc.h" + #include "networkd-route.h" + #include "strv.h" +-- +2.14.1 + diff --git a/package/systemd/0016-networkd-address.c-fix-build-without-IFA_F_NOPREFIXR.patch b/package/systemd/0016-networkd-address.c-fix-build-without-IFA_F_NOPREFIXR.patch new file mode 100644 index 0000000000..33d3328a89 --- /dev/null +++ b/package/systemd/0016-networkd-address.c-fix-build-without-IFA_F_NOPREFIXR.patch @@ -0,0 +1,33 @@ +From 081aea25022a987d349394ada2d6a959bf3ce4cd Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Feb 2019 18:33:39 +0100 +Subject: [PATCH] networkd-address.c: fix build without IFA_F_NOPREFIXROUTE + +systemd fails to build on kernel without IFA_F_NOPREFIXROUTE +since 9714c02 + +So put include missing_network.h + +Fixes: + - http://autobuild.buildroot.org/results/970b09e1d49b53dff12a07ca4ad424ef9dd29a69 + +Signed-off-by: Fabrice Fontaine +--- + src/network/networkd-address.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c +index fa7f9b8d7..3cdbd9e37 100644 +--- a/src/network/networkd-address.c ++++ b/src/network/networkd-address.c +@@ -5,6 +5,7 @@ + #include "alloc-util.h" + #include "conf-parser.h" + #include "firewall-util.h" ++#include "missing_network.h" + #include "netlink-util.h" + #include "networkd-address.h" + #include "networkd-manager.h" +-- +2.14.1 + diff --git a/package/systemd/0017-networkd-dhcp6.c-fix-build-without-IFA_F_NOPREFIXROU.patch b/package/systemd/0017-networkd-dhcp6.c-fix-build-without-IFA_F_NOPREFIXROU.patch new file mode 100644 index 0000000000..2b7ae1898a --- /dev/null +++ b/package/systemd/0017-networkd-dhcp6.c-fix-build-without-IFA_F_NOPREFIXROU.patch @@ -0,0 +1,33 @@ +From aeed8332afa88728ed914b2917ce758d9c2218a4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Feb 2019 18:38:10 +0100 +Subject: [PATCH] networkd-dhcp6.c: fix build without IFA_F_NOPREFIXROUTE + +systemd fails to build on kernel without IFA_F_NOPREFIXROUTE +since 9714c02 + +So put include missing_network.h + +Fixes: + - http://autobuild.buildroot.org/results/970b09e1d49b53dff12a07ca4ad424ef9dd29a69 + +Signed-off-by: Fabrice Fontaine +--- + src/network/networkd-dhcp6.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c +index f9df26d75..c1fba03f9 100644 +--- a/src/network/networkd-dhcp6.c ++++ b/src/network/networkd-dhcp6.c +@@ -11,6 +11,7 @@ + + #include "hashmap.h" + #include "hostname-util.h" ++#include "missing_network.h" + #include "network-internal.h" + #include "networkd-link.h" + #include "networkd-manager.h" +-- +2.14.1 + diff --git a/package/systemd/0018-Refuse-dbus-message-paths-longer-than-BUS_PATH_SIZE_.patch b/package/systemd/0018-Refuse-dbus-message-paths-longer-than-BUS_PATH_SIZE_.patch new file mode 100644 index 0000000000..2de3b71b5c --- /dev/null +++ b/package/systemd/0018-Refuse-dbus-message-paths-longer-than-BUS_PATH_SIZE_.patch @@ -0,0 +1,53 @@ +From febef5e18558c114f4fb7c94f6c8ed3520c50cdf Mon Sep 17 00:00:00 2001 +From: Riccardo Schirone +Date: Mon, 4 Feb 2019 14:29:09 +0100 +Subject: [PATCH] Refuse dbus message paths longer than BUS_PATH_SIZE_MAX + limit. + +Even though the dbus specification does not enforce any length limit on the +path of a dbus message, having to analyze too long strings in PID1 may be +time-consuming and it may have security impacts. + +In any case, the limit is set so high that real-life applications should not +have a problem with it. + +(cherry picked from commit 61397a60d98e368a5720b37e83f3169e3eb511c4) +Signed-off-by: Baruch Siach +--- +Upstream status: commit 61397a60d98 + + src/libsystemd/sd-bus/bus-internal.c | 2 +- + src/libsystemd/sd-bus/bus-internal.h | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/libsystemd/sd-bus/bus-internal.c b/src/libsystemd/sd-bus/bus-internal.c +index 40acae213381..598b7f110c73 100644 +--- a/src/libsystemd/sd-bus/bus-internal.c ++++ b/src/libsystemd/sd-bus/bus-internal.c +@@ -43,7 +43,7 @@ bool object_path_is_valid(const char *p) { + if (slash) + return false; + +- return true; ++ return (q - p) <= BUS_PATH_SIZE_MAX; + } + + char* object_path_startswith(const char *a, const char *b) { +diff --git a/src/libsystemd/sd-bus/bus-internal.h b/src/libsystemd/sd-bus/bus-internal.h +index f208b294d8f1..a8d61bf72a4e 100644 +--- a/src/libsystemd/sd-bus/bus-internal.h ++++ b/src/libsystemd/sd-bus/bus-internal.h +@@ -332,6 +332,10 @@ struct sd_bus { + + #define BUS_MESSAGE_SIZE_MAX (128*1024*1024) + #define BUS_AUTH_SIZE_MAX (64*1024) ++/* Note that the D-Bus specification states that bus paths shall have no size limit. We enforce here one ++ * anyway, since truly unbounded strings are a security problem. The limit we pick is relatively large however, ++ * to not clash unnecessarily with real-life applications. */ ++#define BUS_PATH_SIZE_MAX (64*1024) + + #define BUS_CONTAINER_DEPTH 128 + +-- +2.20.1 + diff --git a/package/systemd/0019-Allocate-temporary-strings-to-hold-dbus-paths-on-the.patch b/package/systemd/0019-Allocate-temporary-strings-to-hold-dbus-paths-on-the.patch new file mode 100644 index 0000000000..bd09e60207 --- /dev/null +++ b/package/systemd/0019-Allocate-temporary-strings-to-hold-dbus-paths-on-the.patch @@ -0,0 +1,194 @@ +From 9e3f5a77226d5320270c92df001f6c79be735af3 Mon Sep 17 00:00:00 2001 +From: Riccardo Schirone +Date: Mon, 4 Feb 2019 14:29:28 +0100 +Subject: [PATCH] Allocate temporary strings to hold dbus paths on the heap + +Paths are limited to BUS_PATH_SIZE_MAX but the maximum size is anyway too big +to be allocated on the stack, so let's switch to the heap where there is a +clear way to understand if the allocation fails. + +(cherry picked from commit f519a19bcd5afe674a9b8fc462cd77d8bad403c1) +[baruch: backport to v240] +Signed-off-by: Baruch Siach +--- +Upstream status: commit f519a19bcd5 + + src/libsystemd/sd-bus/bus-objects.c | 68 +++++++++++++++++++++++------ + 1 file changed, 54 insertions(+), 14 deletions(-) + +diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c +index d0538104ae25..54b977418e03 100644 +--- a/src/libsystemd/sd-bus/bus-objects.c ++++ b/src/libsystemd/sd-bus/bus-objects.c +@@ -1133,7 +1133,8 @@ static int object_manager_serialize_path_and_fallbacks( + const char *path, + sd_bus_error *error) { + +- char *prefix; ++ _cleanup_free_ char *prefix = NULL; ++ size_t pl; + int r; + + assert(bus); +@@ -1149,7 +1150,12 @@ static int object_manager_serialize_path_and_fallbacks( + return 0; + + /* Second, add fallback vtables registered for any of the prefixes */ +- prefix = alloca(strlen(path) + 1); ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; ++ + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + r = object_manager_serialize_path(bus, reply, prefix, path, true, error); + if (r < 0) +@@ -1345,6 +1351,7 @@ static int object_find_and_run( + } + + int bus_process_object(sd_bus *bus, sd_bus_message *m) { ++ _cleanup_free_ char *prefix = NULL; + int r; + size_t pl; + bool found_object = false; +@@ -1369,9 +1376,12 @@ int bus_process_object(sd_bus *bus, sd_bus_message *m) { + assert(m->member); + + pl = strlen(m->path); +- do { +- char prefix[pl+1]; ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; + ++ do { + bus->nodes_modified = false; + + r = object_find_and_run(bus, m, m->path, false, &found_object); +@@ -1498,9 +1508,15 @@ static int bus_find_parent_object_manager(sd_bus *bus, struct node **out, const + + n = hashmap_get(bus->nodes, path); + if (!n) { +- char *prefix; ++ _cleanup_free_ char *prefix = NULL; ++ size_t pl; ++ ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; + +- prefix = alloca(strlen(path) + 1); + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + n = hashmap_get(bus->nodes, prefix); + if (n) +@@ -2083,8 +2099,9 @@ _public_ int sd_bus_emit_properties_changed_strv( + const char *interface, + char **names) { + ++ _cleanup_free_ char *prefix = NULL; + bool found_interface = false; +- char *prefix; ++ size_t pl; + int r; + + assert_return(bus, -EINVAL); +@@ -2105,6 +2122,12 @@ _public_ int sd_bus_emit_properties_changed_strv( + + BUS_DONT_DESTROY(bus); + ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; ++ + do { + bus->nodes_modified = false; + +@@ -2114,7 +2137,6 @@ _public_ int sd_bus_emit_properties_changed_strv( + if (bus->nodes_modified) + continue; + +- prefix = alloca(strlen(path) + 1); + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + r = emit_properties_changed_on_interface(bus, prefix, path, interface, true, &found_interface, names); + if (r != 0) +@@ -2246,7 +2268,8 @@ static int object_added_append_all_prefix( + + static int object_added_append_all(sd_bus *bus, sd_bus_message *m, const char *path) { + _cleanup_set_free_ Set *s = NULL; +- char *prefix; ++ _cleanup_free_ char *prefix = NULL; ++ size_t pl; + int r; + + assert(bus); +@@ -2291,7 +2314,12 @@ static int object_added_append_all(sd_bus *bus, sd_bus_message *m, const char *p + if (bus->nodes_modified) + return 0; + +- prefix = alloca(strlen(path) + 1); ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; ++ + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + r = object_added_append_all_prefix(bus, m, s, prefix, path, true); + if (r < 0) +@@ -2430,7 +2458,8 @@ static int object_removed_append_all_prefix( + + static int object_removed_append_all(sd_bus *bus, sd_bus_message *m, const char *path) { + _cleanup_set_free_ Set *s = NULL; +- char *prefix; ++ _cleanup_free_ char *prefix = NULL; ++ size_t pl; + int r; + + assert(bus); +@@ -2462,7 +2491,12 @@ static int object_removed_append_all(sd_bus *bus, sd_bus_message *m, const char + if (bus->nodes_modified) + return 0; + +- prefix = alloca(strlen(path) + 1); ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; ++ + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + r = object_removed_append_all_prefix(bus, m, s, prefix, path, true); + if (r < 0) +@@ -2612,7 +2646,8 @@ static int interfaces_added_append_one( + const char *path, + const char *interface) { + +- char *prefix; ++ _cleanup_free_ char *prefix = NULL; ++ size_t pl; + int r; + + assert(bus); +@@ -2626,7 +2661,12 @@ static int interfaces_added_append_one( + if (bus->nodes_modified) + return 0; + +- prefix = alloca(strlen(path) + 1); ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; ++ + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + r = interfaces_added_append_one_prefix(bus, m, prefix, path, interface, true); + if (r != 0) +-- +2.20.1 + diff --git a/package/systemd/Config.in b/package/systemd/Config.in index 1cc0021b87..920b65db44 100644 --- a/package/systemd/Config.in +++ b/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), @@ -252,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 @@ -285,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). @@ -328,6 +325,7 @@ config BR2_PACKAGE_SYSTEMD_TMPFILES config BR2_PACKAGE_SYSTEMD_VCONSOLE bool "enable vconsole tool" + default y help systemd-vconsole-setup is an early boot service that configures the virtual console font and console keymap. diff --git a/package/systemd/systemd.hash b/package/systemd/systemd.hash index 012f1e595e..9c1a512ce7 100644 --- a/package/systemd/systemd.hash +++ b/package/systemd/systemd.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 8a11b1b07d620f4c06a16e95bba4dd2a97e90efdf2a5ba47ed0a935085787a14 systemd-239.tar.gz +sha256 8f15aec1ac926e13a21a04d0ca3fe371f7004951448142a6f8952075c5b5f0b5 systemd-240.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 -sha256 37ab495827a3cdbbc35ceaba3066764d69b6490e514e0c8a1acdb3c2fdb9e921 README +sha256 a693f8f654fdf016e2aefe6b30aa6e1211728b8269ab325408a152c6c9b6ebe8 README diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk index 4813496670..6f0e451b5b 100644 --- a/package/systemd/systemd.mk +++ b/package/systemd/systemd.mk @@ -4,12 +4,13 @@ # ################################################################################ -SYSTEMD_VERSION = 239 +SYSTEMD_VERSION = 240 SYSTEMD_SITE = $(call github,systemd,systemd,v$(SYSTEMD_VERSION)) SYSTEMD_LICENSE = LGPL-2.1+, GPL-2.0+ (udev), Public Domain (few source files, see README) SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README SYSTEMD_INSTALL_STAGING = YES SYSTEMD_DEPENDENCIES = \ + $(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \ host-gperf \ host-intltool \ kmod \ @@ -23,33 +24,24 @@ SYSTEMD_CONF_OPTS += \ -Dblkid=true \ -Dman=false \ -Dima=false \ - -Dlibcryptsetup=false \ -Defi=false \ -Dgnu-efi=false \ -Dldconfig=false \ -Ddefault-dnssec=no \ -Dtests=false \ + -Dsplit-bin=true \ + -Dsplit-usr=false \ -Dsystem-uid-max=999 \ -Dsystem-gid-max=999 \ -Dtelinit-path=$(TARGET_DIR)/sbin/telinit \ - -Dkill-path=/usr/bin/kill \ -Dkmod-path=/usr/bin/kmod \ -Dkexec-path=/usr/sbin/kexec \ -Dsulogin-path=/usr/sbin/sulogin \ -Dmount-path=/usr/bin/mount \ -Dumount-path=/usr/bin/umount \ - -Dnobody-group=nogroup - -# 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 @@ -65,6 +57,13 @@ else SYSTEMD_CONF_OPTS += -Daudit=false endif +ifeq ($(BR2_PACKAGE_CRYPTSETUP),y) +SYSTEMD_DEPENDENCIES += cryptsetup +SYSTEMD_CONF_OPTS += -Dlibcryptsetup=true +else +SYSTEMD_CONF_OPTS += -Dlibcryptsetup=false +endif + ifeq ($(BR2_PACKAGE_ELFUTILS),y) SYSTEMD_DEPENDENCIES += elfutils SYSTEMD_CONF_OPTS += -Delfutils=true @@ -72,6 +71,13 @@ else SYSTEMD_CONF_OPTS += -Delfutils=false endif +ifeq ($(BR2_PACKAGE_IPTABLES),y) +SYSTEMD_DEPENDENCIES += iptables +SYSTEMD_CONF_OPTS += -Dlibiptc=true +else +SYSTEMD_CONF_OPTS += -Dlibiptc=false +endif + # Both options can't be selected at the same time so prefer libidn2 ifeq ($(BR2_PACKAGE_LIBIDN2),y) SYSTEMD_DEPENDENCIES += libidn2 @@ -118,6 +124,13 @@ else SYSTEMD_CONF_OPTS += -Dpam=false endif +ifeq ($(BR2_PACKAGE_VALGRIND),y) +SYSTEMD_DEPENDENCIES += valgrind +SYSTEMD_CONF_OPTS += -Dvalgrind=true +else +SYSTEMD_CONF_OPTS += -Dvalgrind=false +endif + ifeq ($(BR2_PACKAGE_XZ),y) SYSTEMD_DEPENDENCIES += xz SYSTEMD_CONF_OPTS += -Dxz=true @@ -258,9 +271,9 @@ SYSTEMD_CONF_OPTS += -Dhostnamed=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_MYHOSTNAME),y) -SYSTEMD_CONF_OPTS += -Dmyhostname=true +SYSTEMD_CONF_OPTS += -Dnss-myhostname=true else -SYSTEMD_CONF_OPTS += -Dmyhostname=false +SYSTEMD_CONF_OPTS += -Dnss-myhostname=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_TIMEDATED),y) @@ -384,19 +397,26 @@ endef ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),) # systemd needs getty.service for VTs and serial-getty.service for serial ttys +# note that console-getty.service should be used on /dev/console as it should not have dependencies # also patch the file to use the correct baud-rate, the default baudrate is 115200 so look for that define SYSTEMD_INSTALL_SERVICE_TTY - if echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \ + if [ $(BR2_TARGET_GENERIC_GETTY_PORT) = "console" ]; \ then \ - SERVICE="getty"; \ + TARGET="console-getty.service"; \ + LINK_NAME="console-getty.service"; \ + elif echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \ + then \ + TARGET="getty@.service"; \ + LINK_NAME="getty@$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)).service"; \ else \ - SERVICE="serial-getty"; \ + TARGET="serial-getty@.service"; \ + LINK_NAME="serial-getty@$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)).service"; \ fi; \ - ln -fs ../../../../lib/systemd/system/$${SERVICE}@.service \ - $(TARGET_DIR)/etc/systemd/system/getty.target.wants/$${SERVICE}@$(BR2_TARGET_GENERIC_GETTY_PORT).service; \ + ln -fs ../../../../lib/systemd/system/$${TARGET} \ + $(TARGET_DIR)/etc/systemd/system/getty.target.wants/$${LINK_NAME}; \ if [ $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE)) -gt 0 ] ; \ then \ - $(SED) 's,115200,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),' $(TARGET_DIR)/lib/systemd/system/$${SERVICE}@.service; \ + $(SED) 's,115200,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),' $(TARGET_DIR)/lib/systemd/system/$${TARGET}; \ fi endef endif diff --git a/package/sysvinit/0001-fix-libcrypt-test.patch b/package/sysvinit/0001-fix-libcrypt-test.patch deleted file mode 100644 index 6c22436d74..0000000000 --- a/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/package/sysvinit/0002-musl-fix-compilation-errors.patch b/package/sysvinit/0002-musl-fix-compilation-errors.patch deleted file mode 100644 index 5dcdecf72b..0000000000 --- a/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/package/sysvinit/sysvinit.hash b/package/sysvinit/sysvinit.hash index 268b9841b0..2161fb38bd 100644 --- a/package/sysvinit/sysvinit.hash +++ b/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/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk index 993e399e73..98aa5a417b 100644 --- a/package/sysvinit/sysvinit.mk +++ b/package/sysvinit/sysvinit.mk @@ -4,10 +4,9 @@ # ################################################################################ -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 @@ -18,17 +17,7 @@ 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/package/tar/Config.in b/package/tar/Config.in index b0be7a389f..caf12d6f16 100644 --- a/package/tar/Config.in +++ b/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/package/targetcli-fb/S50target b/package/targetcli-fb/S50target old mode 100755 new mode 100644 diff --git a/package/tcf-agent/S55tcf-agent b/package/tcf-agent/S55tcf-agent old mode 100755 new mode 100644 diff --git a/package/tcpreplay/tcpreplay.hash b/package/tcpreplay/tcpreplay.hash index b033d3c3f1..31b3d3eb28 100644 --- a/package/tcpreplay/tcpreplay.hash +++ b/package/tcpreplay/tcpreplay.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 043756c532dab93e2be33a517ef46b1341f7239278a1045ae670041dd8a4531d tcpreplay-4.2.6.tar.gz +# https://github.com/appneta/tcpreplay/releases/download/v4.3.1/tcpreplay-4.3.1.tar.xz.asc +# using key 84E4FA215C934A7D97DC76D5E9E2149793BDE17E +sha256 108924a25e616e3465139410c49cae629c338df73443dfc8fc155ea9f099c659 tcpreplay-4.3.1.tar.xz +sha256 5971b0c544622f4b210a9cc56436a970685d3b0666e373c09e3cf9304db15d05 docs/LICENSE diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk index adccde0eb0..71e57d5bd9 100644 --- a/package/tcpreplay/tcpreplay.mk +++ b/package/tcpreplay/tcpreplay.mk @@ -4,24 +4,20 @@ # ################################################################################ -TCPREPLAY_VERSION = 4.2.6 +TCPREPLAY_VERSION = 4.3.1 TCPREPLAY_SITE = https://github.com/appneta/tcpreplay/releases/download/v$(TCPREPLAY_VERSION) +TCPREPLAY_SOURCE = tcpreplay-4.3.1.tar.xz TCPREPLAY_LICENSE = GPL-3.0 TCPREPLAY_LICENSE_FILES = docs/LICENSE TCPREPLAY_CONF_ENV = \ - tr_cv_libpcap_version=">= 0.7.0" \ - ac_cv_have_bpf=no \ - $(call AUTOCONF_AC_CHECK_FILE_VAL,$(STAGING_DIR)/usr/include/pcap-netmap.c)=no -TCPREPLAY_CONF_OPTS = --with-libpcap=$(STAGING_DIR)/usr + ac_cv_path_ac_pt_PCAP_CONFIG="$(STAGING_DIR)/usr/bin/pcap-config" +TCPREPLAY_CONF_OPTS = --with-libpcap=$(STAGING_DIR)/usr \ + --enable-pcapconfig TCPREPLAY_DEPENDENCIES = libpcap -# libpcap may depend on symbols in other libs -TCPREPLAY_LIBS = $(STAGING_DIR)/usr/bin/pcap-config --static --libs -TCPREPLAY_CONF_ENV += ac_cv_search_pcap_close="`$(TCPREPLAY_LIBS)`" \ - LIBS="`$(TCPREPLAY_LIBS)`" - ifeq ($(BR2_STATIC_LIBS),y) TCPREPLAY_CONF_OPTS += --enable-dynamic-link=no +TCPREPLAY_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --libs`" endif ifeq ($(BR2_PACKAGE_TCPDUMP),y) diff --git a/package/tekui/tekui.mk b/package/tekui/tekui.mk index f9ae849033..3f39072527 100644 --- a/package/tekui/tekui.mk +++ b/package/tekui/tekui.mk @@ -11,6 +11,9 @@ TEKUI_LICENSE = MIT TEKUI_LICENSE_FILES = COPYRIGHT TEKUI_DEPENDENCIES = freetype luainterpreter +# Package does not build in parallel due to improper make rules +TEKUI_MAKE = $(MAKE1) + TEKUI_MAKE_OPTS = \ CC="$(TARGET_CC) -fPIC" \ AR="$(TARGET_AR) rcu" \ diff --git a/package/terminology/terminology.hash b/package/terminology/terminology.hash index f341d5c2f7..1e0a85cd23 100644 --- a/package/terminology/terminology.hash +++ b/package/terminology/terminology.hash @@ -1,3 +1,3 @@ -# From https://sourceforge.net/p/enlightenment/mailman/message/36317484/ -sha256 ac8673a129ed78ef669a8c04e7a136f5ca95226ce5ef375a451421bac41828c6 terminology-1.2.1.tar.xz +# From https://sourceforge.net/p/enlightenment/mailman/message/36497308/ +sha256 b5171181da42cc5f384238f71e43302c2c760938f6a8ab931647ccdad4ef94cd terminology-1.3.2.tar.xz sha256 605988548c7a52562d6f64d936a579b53f690e62ca92261b6a440bf9023ff521 COPYING diff --git a/package/terminology/terminology.mk b/package/terminology/terminology.mk index af37187d90..c53f6829de 100644 --- a/package/terminology/terminology.mk +++ b/package/terminology/terminology.mk @@ -4,37 +4,19 @@ # ################################################################################ -TERMINOLOGY_VERSION = 1.2.1 +TERMINOLOGY_VERSION = 1.3.2 TERMINOLOGY_SOURCE = terminology-$(TERMINOLOGY_VERSION).tar.xz TERMINOLOGY_SITE = https://download.enlightenment.org/rel/apps/terminology TERMINOLOGY_LICENSE = BSD-2-Clause TERMINOLOGY_LICENSE_FILES = COPYING -TERMINOLOGY_DEPENDENCIES = $(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 +TERMINOLOGY_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) efl host-pkgconf +TERMINOLOGY_CONF_OPTS = -Dedje-cc=$(HOST_DIR)/bin/edje_cc ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) -TERMINOLOGY_MESON_OPTS += -Dnls=true +TERMINOLOGY_CONF_OPTS += -Dnls=true else -TERMINOLOGY_MESON_OPTS += -Dnls=false +TERMINOLOGY_CONF_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)) +$(eval $(meson-package)) diff --git a/package/tesseract-ocr/tesseract-ocr.hash b/package/tesseract-ocr/tesseract-ocr.hash index 9bb5b522ac..d953758841 100644 --- a/package/tesseract-ocr/tesseract-ocr.hash +++ b/package/tesseract-ocr/tesseract-ocr.hash @@ -1,8 +1,9 @@ # locally computed -sha256 3fe83e06d0f73b39f6e92ed9fc7ccba3ef734877b76aa5ddaaa778fac095d996 tesseract-ocr-3.05.00.tar.gz -sha256 c0515c9f1e0c79e1069fcc05c2b2f6a6841fb5e1082d695db160333c1154f06d eng.traineddata -sha256 86afb23ad146467f263e8ade56fd3951b1cc28f8c4eebc34f993d3c02d88a7ab fra.traineddata -sha256 cb7eb42a7e972cec7ef904fe81825d7b547c46df684c814fdb11a930b13bca3a deu.traineddata -sha256 f23985996bbcfe2b57864ccb082783c1c74c87429f04411a04a6ba4d3da2efda spa.traineddata -sha256 323ae74d4a2ff49e932dbb4d6282fe0e67ddfafda075ec85803ecd077207454c chi_sim.traineddata -sha256 774d566bd0b36e4b6c07415dfa5b6b57feb2575b1f5f231d7fe01a52dac5dd0e chi_tra.traineddata +sha256 a1f5422ca49a32e5f35c54dee5112b11b99928fc9f4ee6695cdc6768d69f61dd tesseract-ocr-4.0.0.tar.gz +sha256 d770c1ac1235bc018530701da1ce453367f7952a3075d12b9029f81a26c05f13 COPYING +sha256 daa0c97d651c19fba3b25e81317cd697e9908c8208090c94c3905381c23fc047 eng.traineddata +sha256 eac01c1d72540d6090facb7b2f42dd0a2ee8fc57c5be1b20548ae668e2761913 fra.traineddata +sha256 896b3b4956503ab9daa10285db330881b2d74b70d889b79262cc534b9ec699a4 deu.traineddata +sha256 0b0fcbb4665189e01ab8019e591f014dd7260460de072543edd4b2cb4ede7c96 spa.traineddata +sha256 fc05d89ab31d8b4e226910f16a8bcbf78e43bae3e2580bb5feefd052efdab363 chi_sim.traineddata +sha256 559067dc0f7c94788884742129d66a0117dde7f4ff12b263d92147173497db14 chi_tra.traineddata diff --git a/package/tesseract-ocr/tesseract-ocr.mk b/package/tesseract-ocr/tesseract-ocr.mk index 919a4360ed..74b344961f 100644 --- a/package/tesseract-ocr/tesseract-ocr.mk +++ b/package/tesseract-ocr/tesseract-ocr.mk @@ -4,8 +4,8 @@ # ################################################################################ -TESSERACT_OCR_VERSION = 3.05.00 -TESSERACT_OCR_DATA_VERSION = 3.04.00 +TESSERACT_OCR_VERSION = 4.0.0 +TESSERACT_OCR_DATA_VERSION = 4.0.0 TESSERACT_OCR_SITE = $(call github,tesseract-ocr,tesseract,$(TESSERACT_OCR_VERSION)) TESSERACT_OCR_LICENSE = Apache-2.0 TESSERACT_OCR_LICENSE_FILES = COPYING @@ -19,6 +19,7 @@ TESSERACT_OCR_AUTORECONF = YES TESSERACT_OCR_DEPENDENCIES = leptonica host-pkgconf TESSERACT_OCR_INSTALL_STAGING = YES TESSERACT_OCR_CONF_ENV = \ + ac_cv_prog_have_asciidoc=false \ LIBLEPT_HEADERSDIR=$(STAGING_DIR)/usr/include/leptonica TESSERACT_OCR_CONF_OPTS = \ --disable-opencl diff --git a/package/tftpd/S80tftpd-hpa b/package/tftpd/S80tftpd-hpa old mode 100755 new mode 100644 diff --git a/package/thrift/0001-Force-to-keep-TPipedTransport-peek-to-avoid-linker-e.patch b/package/thrift/0001-Force-to-keep-TPipedTransport-peek-to-avoid-linker-e.patch new file mode 100644 index 0000000000..92c55d05a4 --- /dev/null +++ b/package/thrift/0001-Force-to-keep-TPipedTransport-peek-to-avoid-linker-e.patch @@ -0,0 +1,31 @@ +From f87ae3963e651fe9f4b3125192c77aae86c007e0 Mon Sep 17 00:00:00 2001 +From: Patrick Havelange +Date: Mon, 21 Jan 2019 09:49:23 +0100 +Subject: [PATCH] Force to keep TPipedTransport::peek() to avoid linker error. + +Otherwise got the "defined in discarded section" linker error +with x86-64-musl toolchain. This is probably a toolchain issue - the +compiler shouldn't remove that function. + +Signed-off-by: Patrick Havelange +Upstream-status: Not Applicable +--- + lib/cpp/src/thrift/transport/TTransportUtils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/cpp/src/thrift/transport/TTransportUtils.h b/lib/cpp/src/thrift/transport/TTransportUtils.h +index f3b4c5a..7589182 100644 +--- a/lib/cpp/src/thrift/transport/TTransportUtils.h ++++ b/lib/cpp/src/thrift/transport/TTransportUtils.h +@@ -114,7 +114,7 @@ public: + + bool isOpen() { return srcTrans_->isOpen(); } + +- bool peek() { ++ bool __attribute__ ((used)) peek() { + if (rPos_ >= rLen_) { + // Double the size of the underlying buffer if it is full + if (rLen_ == rBufSize_) { +-- +2.17.1 + diff --git a/package/thrift/0001-libevent-cross.patch b/package/thrift/0001-libevent-cross.patch deleted file mode 100644 index f07caa762a..0000000000 --- a/package/thrift/0001-libevent-cross.patch +++ /dev/null @@ -1,16 +0,0 @@ -Make it cross-compile happy the hard way, there's no clean way. - -Signed-off-by: Gustavo Zacarias - -diff -Nura thrift-0.9.1.orig/aclocal/ax_lib_event.m4 thrift-0.9.1/aclocal/ax_lib_event.m4 ---- thrift-0.9.1.orig/aclocal/ax_lib_event.m4 2013-08-15 11:04:29.000000000 -0300 -+++ thrift-0.9.1/aclocal/ax_lib_event.m4 2013-10-07 20:40:44.076435613 -0300 -@@ -75,7 +75,7 @@ - AC_LANG_PUSH([C]) - dnl This can be changed to AC_LINK_IFELSE if you are cross-compiling, - dnl but then the version cannot be checked. -- AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - #include - #include - ]], [[ diff --git a/package/thrift/0002-autoreconf.patch b/package/thrift/0002-autoreconf.patch deleted file mode 100644 index 1a52f7c70d..0000000000 --- a/package/thrift/0002-autoreconf.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fillers to make autoreconf (automake) happy. - -Signed-off-by: Gustavo Zacarias - -diff -Nura thrift-0.9.2.orig/AUTHORS thrift-0.9.2/AUTHORS ---- thrift-0.9.2.orig/AUTHORS 1969-12-31 21:00:00.000000000 -0300 -+++ thrift-0.9.2/AUTHORS 2014-12-05 14:46:20.431211224 -0300 -@@ -0,0 +1,2 @@ -+ -+ -diff -Nura thrift-0.9.2.orig/ChangeLog thrift-0.9.2/ChangeLog ---- thrift-0.9.2.orig/ChangeLog 1969-12-31 21:00:00.000000000 -0300 -+++ thrift-0.9.2/ChangeLog 2014-12-05 14:46:34.290686170 -0300 -@@ -0,0 +1,2 @@ -+ -+ -diff -Nura thrift-0.9.2.orig/NEWS thrift-0.9.2/NEWS ---- thrift-0.9.2.orig/NEWS 1969-12-31 21:00:00.000000000 -0300 -+++ thrift-0.9.2/NEWS 2014-12-05 14:46:32.308618241 -0300 -@@ -0,0 +1,2 @@ -+ -+ -diff -Nura thrift-0.9.2.orig/README thrift-0.9.2/README ---- thrift-0.9.2.orig/README 1969-12-31 21:00:00.000000000 -0300 -+++ thrift-0.9.2/README 2014-12-05 14:46:28.305481028 -0300 -@@ -0,0 +1,2 @@ -+ -+ diff --git a/package/thrift/0003-zlib-cross.patch b/package/thrift/0003-zlib-cross.patch deleted file mode 100644 index 3af39c4691..0000000000 --- a/package/thrift/0003-zlib-cross.patch +++ /dev/null @@ -1,16 +0,0 @@ -Make zlib version detection cross-compile happy. - -Signed-off-by: Gustavo Zacarias - -diff -Nura thrift-0.9.1.orig/aclocal/ax_lib_zlib.m4 thrift-0.9.1/aclocal/ax_lib_zlib.m4 ---- thrift-0.9.1.orig/aclocal/ax_lib_zlib.m4 2013-08-15 11:04:29.000000000 -0300 -+++ thrift-0.9.1/aclocal/ax_lib_zlib.m4 2013-10-07 20:47:44.523177973 -0300 -@@ -73,7 +73,7 @@ - # (defined in the library). - AC_LANG_PUSH([C]) - dnl This can be changed to AC_LINK_IFELSE if you are cross-compiling. -- AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - #include - #if ZLIB_VERNUM >= 0x$WANT_ZLIB_VERSION - #else diff --git a/package/thrift/0004-THRIFT-3071-check-minimum-required-version-of-automa.patch b/package/thrift/0004-THRIFT-3071-check-minimum-required-version-of-automa.patch deleted file mode 100644 index ec2e22566c..0000000000 --- a/package/thrift/0004-THRIFT-3071-check-minimum-required-version-of-automa.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 9b03d2b02d32302008d2bd0218b31b9a0ca5a748 Mon Sep 17 00:00:00 2001 -From: Jens Geyer -Date: Fri, 3 Apr 2015 12:37:03 +0200 -Subject: [PATCH] THRIFT-3071 check minimum required version of automake in bootstrap.sh -Client: Build process -Patch: James E. King, III - -This closes #421 - -- remove a warning when using libtool - -"libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([./aclocal])' to configure.ac," - -[Romain: - - This is upstream commit 4aa95df383bfa13c46a4dc0b41672ec29d476300 - - remove the part for bootstrap.sh which is not - bundled in thrift archive. - - fix the commit log accordingly] - -Signed-off-by: Romain Naour ---- - configure.ac | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 5fa611e..8daeb03 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -18,6 +18,7 @@ - # - - AC_PREREQ(2.65) -+AC_CONFIG_MACRO_DIR([./aclocal]) - - AC_INIT([thrift], [0.9.2]) - -@@ -540,6 +541,7 @@ AC_CHECK_FUNCS([memset]) - AC_CHECK_FUNCS([mkdir]) - AC_CHECK_FUNCS([realpath]) - AC_CHECK_FUNCS([select]) -+AC_CHECK_FUNCS([setlocale]) - AC_CHECK_FUNCS([socket]) - AC_CHECK_FUNCS([strchr]) - AC_CHECK_FUNCS([strdup]) --- -1.9.3 - diff --git a/package/thrift/0005-configure.ac-C-11-is-optional.patch b/package/thrift/0005-configure.ac-C-11-is-optional.patch deleted file mode 100644 index 9ed7e0a691..0000000000 --- a/package/thrift/0005-configure.ac-C-11-is-optional.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 9c3a7e79b256730dd85a7acadbaf57ab018b3127 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 7 Apr 2015 07:37:26 +0200 -Subject: [PATCH] configure.ac: C++11 is optional - -Thrift build fine whitout c++11 support. - -Signed-off-by: Romain Naour ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 8daeb03..bfd49ae 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -99,7 +99,7 @@ AC_PROG_AWK - AC_PROG_RANLIB - - AC_LANG([C++]) --AX_CXX_COMPILE_STDCXX_11([noext]) -+AX_CXX_COMPILE_STDCXX_11([noext], [optional]) - - AC_ARG_ENABLE([libs], - AS_HELP_STRING([--enable-libs], [build the Apache Thrift libraries [default=yes]]), --- -1.9.3 - diff --git a/package/thrift/thrift.hash b/package/thrift/thrift.hash index 811aa988e3..7aca8b5a7e 100644 --- a/package/thrift/thrift.hash +++ b/package/thrift/thrift.hash @@ -1,2 +1,4 @@ -# From https://www.apache.org/dist/thrift/0.9.2/thrift-0.9.2.tar.gz.md5 -md5 89f63cc4d0100912f4a1f8a9dee63678 thrift-0.9.2.tar.gz +# From https://www.apache.org/dist/thrift/0.12.0/thrift-0.12.0.tar.gz.sha256 +sha256 c336099532b765a6815173f62df0ed897528a9d551837d627c1f87fadad90428 thrift-0.12.0.tar.gz +# License files, locally calculated +sha256 23df881cec3192d1f4474633c14eb2ec30a45b84f8daeb82b9de5d2bd3ac8218 LICENSE diff --git a/package/thrift/thrift.mk b/package/thrift/thrift.mk index 741d33f571..6014bbfcdd 100644 --- a/package/thrift/thrift.mk +++ b/package/thrift/thrift.mk @@ -4,75 +4,65 @@ # ################################################################################ -THRIFT_VERSION = 0.9.2 +THRIFT_VERSION = 0.12.0 THRIFT_SITE = http://www.us.apache.org/dist/thrift/$(THRIFT_VERSION) -THRIFT_DEPENDENCIES = host-autoconf-archive host-pkgconf host-thrift boost \ - libevent openssl zlib -THRIFT_INSTALL_STAGING = YES -HOST_THRIFT_DEPENDENCIES = host-autoconf-archive host-bison host-boost \ - host-flex host-libevent host-openssl host-pkgconf host-zlib - -THRIFT_CONF_OPTS = --with-sysroot=$(STAGING_DIR) \ - --with-boost \ - --with-boost-libdir=$(STAGING_DIR)/usr/lib \ - --disable-tests \ - --disable-tutorial -HOST_THRIFT_CONF_OPTS = --with-sysroot=$(HOST_DIR) \ - --disable-tests \ - --disable-tutorial -THRIFT_AUTORECONF = YES -THRIFT_AUTORECONF_OPTS = -I $(HOST_DIR)/share/autoconf-archive THRIFT_LICENSE = Apache-2.0 THRIFT_LICENSE_FILES = LICENSE +THRIFT_DEPENDENCIES = host-pkgconf host-thrift boost \ + libevent openssl zlib +THRIFT_INSTALL_STAGING = YES +HOST_THRIFT_DEPENDENCIES = host-bison host-boost \ + host-flex host-libevent host-openssl host-pkgconf host-zlib + +THRIFT_COMMON_CONF_OPTS = -DBUILD_TUTORIALS=OFF \ + -DBUILD_TESTING=OFF \ + -DWITH_PYTHON=OFF \ + -DWITH_JAVA=OFF \ + -DWITH_QT5=OFF + +THRIFT_CONF_OPTS = $(THRIFT_COMMON_CONF_OPTS) -DBUILD_COMPILER=OFF +HOST_THRIFT_CONF_OPTS = $(THRIFT_COMMON_CONF_OPTS) -DBUILD_COMPILER=ON + # relocation truncated to fit: R_68K_GOT16O ifeq ($(BR2_m68k_cf),y) THRIFT_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mxgot" endif +# thrift doesn't use the regular flags BUILD_{STATIC,SHARED}_LIBS ifeq ($(BR2_STATIC_LIBS),y) -# openssl uses zlib, so we need to explicitly link with it when static -THRIFT_CONF_ENV += LIBS=-lz +THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=ON -DWITH_BOOST_STATIC=ON -DWITH_SHARED_LIB=OFF +else ifeq ($(BR2_SHARED_LIBS),y) +THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=OFF -DWITH_BOOST_STATIC=OFF -DWITH_SHARED_LIB=ON +else +# BR2_SHARED_STATIC_LIBS +THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=ON -DWITH_BOOST_STATIC=OFF -DWITH_SHARED_LIB=ON endif -# Language selection -# The generator (host tool) works with all of them regardless -# This is just for the libraries / bindings -THRIFT_LANG_CONF_OPTS += --without-csharp --without-java --without-erlang \ - --without-python --without-perl --without-php --without-php_extension \ - --without-ruby --without-haskell --without-go --without-d \ - --without-qt4 --without-lua -HOST_THRIFT_CONF_OPTS += $(THRIFT_LANG_CONF_OPTS) --without-c_glib -THRIFT_CONF_OPTS += $(THRIFT_LANG_CONF_OPTS) +# Language selection for the compiler +HOST_THRIFT_CONF_OPTS += -DTHRIFT_COMPILER_CSHARP=OFF \ + -DTHRIFT_COMPILER_JAVA=OFF \ + -DTHRIFT_COMPILER_ERL=OFF \ + -DTHRIFT_COMPILER_PY=OFF \ + -DTHRIFT_COMPILER_PERL=OFF \ + -DTHRIFT_COMPILER_PHP=OFF \ + -DTHRIFT_COMPILER_RB=OFF \ + -DTHRIFT_COMPILER_HS=OFF \ + -DTHRIFT_COMPILER_GO=OFF \ + -DTHRIFT_COMPILER_D=OFF \ + -DTHRIFT_COMPILER_LUA=OFF \ + -DBUILD_C_GLIB=OFF # C bindings ifeq ($(BR2_PACKAGE_LIBGLIB2),y) THRIFT_DEPENDENCIES += libglib2 +THRIFT_CONF_OPTS += -DBUILD_C_GLIB=ON else -THRIFT_CONF_OPTS += --without-c_glib +THRIFT_CONF_OPTS += -DBUILD_C_GLIB=OFF endif -# De-hardcode THRIFT for cross compiling -define THRIFT_TOOL_NO_HARDCODE - for f in `find $(@D) -name Makefile.am -type f`; do \ - $(SED) "/^THRIFT =/d" $$f; \ - done - $(SED) "s:top_builddir)/compiler/cpp/thrift:THRIFT):" $(@D)/tutorial/Makefile.am -endef - -THRIFT_POST_PATCH_HOOKS += THRIFT_TOOL_NO_HARDCODE - -define THRIFT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) THRIFT=$(HOST_DIR)/bin/thrift -C $(@D) -endef - -# Install runtime only -define THRIFT_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/lib DESTDIR=$(TARGET_DIR) install -endef - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) # to be used by other packages THRIFT = $(HOST_DIR)/bin/thrift diff --git a/package/thttpd/0001-getline.patch b/package/thttpd/0001-getline.patch deleted file mode 100644 index 35c366aef1..0000000000 --- a/package/thttpd/0001-getline.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix glibc/eglibc getline() conflicting functions. - -Signed-off-by: Gustavo Zacarias ---- - -diff -Nura thttpd-2.25b.orig/extras/htpasswd.c thttpd-2.25b/extras/htpasswd.c ---- thttpd-2.25b.orig/extras/htpasswd.c 2001-12-18 21:08:08.000000000 -0300 -+++ thttpd-2.25b/extras/htpasswd.c 2011-11-25 11:42:47.198582812 -0300 -@@ -49,7 +49,7 @@ - while((line[y++] = line[x++])); - } - --static int getline(char *s, int n, FILE *f) { -+static int get_line(char *s, int n, FILE *f) { - register int i=0; - - while(1) { -@@ -189,7 +189,7 @@ - strcpy(user,argv[2]); - - found = 0; -- while(!(getline(line,MAX_STRING_LEN,f))) { -+ while(!(get_line(line,MAX_STRING_LEN,f))) { - if(found || (line[0] == '#') || (!line[0])) { - putline(tfp,line); - continue; diff --git a/package/thttpd/thttpd.hash b/package/thttpd/thttpd.hash index 2400f5bc8d..4bdd7fe74b 100644 --- a/package/thttpd/thttpd.hash +++ b/package/thttpd/thttpd.hash @@ -1,3 +1,3 @@ -# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/t/thttpd/thttpd_2.25b-11.dsc -sha256 07719b08b1cff6a21c08697a7bcb4395425b07ee753106262fb62a03a7d32360 thttpd_2.25b.orig.tar.gz -sha256 4d213c18daf121d21412cc54864fbca250e1773a91df6573373e1d2273a2cec9 thttpd_2.25b-11.diff.gz +# Locally calculated +sha256 99c09f47da326b1e7b5295c45549d2b65534dce27c44812cf7eef1441681a397 thttpd-2.29.tar.gz +sha256 be059e6b8219d5bb5480fa6a2864bbb34892f56951d03d08b356bc1fa8c81a01 thttpd.c diff --git a/package/thttpd/thttpd.mk b/package/thttpd/thttpd.mk index f1bee01345..29611fff2c 100644 --- a/package/thttpd/thttpd.mk +++ b/package/thttpd/thttpd.mk @@ -4,23 +4,11 @@ # ################################################################################ -THTTPD_VERSION = 2.25b -THTTPD_SOURCE = thttpd_$(THTTPD_VERSION).orig.tar.gz -THTTPD_PATCH = thttpd_$(THTTPD_VERSION)-11.diff.gz -THTTPD_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/t/thttpd +THTTPD_VERSION = 2.29 +THTTPD_SITE = https://acme.com/software/thttpd THTTPD_LICENSE = BSD-2-Clause THTTPD_LICENSE_FILES = thttpd.c -ifneq ($(THTTPD_PATCH),) -define THTTPD_DEBIAN_PATCHES - if [ -d $(@D)/debian/patches ]; then \ - $(APPLY_PATCHES) $(@D) $(@D)/debian/patches \*.patch; \ - fi -endef -endif - -THTTPD_POST_PATCH_HOOKS = THTTPD_DEBIAN_PATCHES - THTTPD_MAKE = $(MAKE1) define THTTPD_INSTALL_TARGET_CMDS diff --git a/package/tidsp-binaries/Config.in b/package/tidsp-binaries/Config.in deleted file mode 100644 index 48f85a5d98..0000000000 --- a/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/package/tidsp-binaries/tidsp-binaries.hash b/package/tidsp-binaries/tidsp-binaries.hash deleted file mode 100644 index 6649c76ce4..0000000000 --- a/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/package/tidsp-binaries/tidsp-binaries.mk b/package/tidsp-binaries/tidsp-binaries.mk deleted file mode 100644 index 9736bc7231..0000000000 --- a/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/package/tiff/0001-Fix-for-simple-memory-leak-that-was-assigned-CVE-2019-6128.patch b/package/tiff/0001-Fix-for-simple-memory-leak-that-was-assigned-CVE-2019-6128.patch new file mode 100644 index 0000000000..638760b71e --- /dev/null +++ b/package/tiff/0001-Fix-for-simple-memory-leak-that-was-assigned-CVE-2019-6128.patch @@ -0,0 +1,53 @@ +From 0c74a9f49b8d7a36b17b54a7428b3526d20f88a8 Mon Sep 17 00:00:00 2001 +From: Scott Gayou +Date: Wed, 23 Jan 2019 15:03:53 -0500 +Subject: [PATCH] Fix for simple memory leak that was assigned CVE-2019-6128. + +pal2rgb failed to free memory on a few errors. This was reported +here: http://bugzilla.maptools.org/show_bug.cgi?id=2836. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://gitlab.com/libtiff/libtiff/commit/ae0bed1fe530a82faf2e9ea1775109dbf301a971] +--- + tools/pal2rgb.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/tools/pal2rgb.c b/tools/pal2rgb.c +index 01d8502e..9492f1cf 100644 +--- a/tools/pal2rgb.c ++++ b/tools/pal2rgb.c +@@ -118,12 +118,14 @@ main(int argc, char* argv[]) + shortv != PHOTOMETRIC_PALETTE) { + fprintf(stderr, "%s: Expecting a palette image.\n", + argv[optind]); ++ (void) TIFFClose(in); + return (-1); + } + if (!TIFFGetField(in, TIFFTAG_COLORMAP, &rmap, &gmap, &bmap)) { + fprintf(stderr, + "%s: No colormap (not a valid palette image).\n", + argv[optind]); ++ (void) TIFFClose(in); + return (-1); + } + bitspersample = 0; +@@ -131,11 +133,14 @@ main(int argc, char* argv[]) + if (bitspersample != 8) { + fprintf(stderr, "%s: Sorry, can only handle 8-bit images.\n", + argv[optind]); ++ (void) TIFFClose(in); + return (-1); + } + out = TIFFOpen(argv[optind+1], "w"); +- if (out == NULL) ++ if (out == NULL) { ++ (void) TIFFClose(in); + return (-2); ++ } + cpTags(in, out); + TIFFGetField(in, TIFFTAG_IMAGEWIDTH, &imagewidth); + TIFFGetField(in, TIFFTAG_IMAGELENGTH, &imagelength); +-- +2.18.1 + diff --git a/package/tiff/0001-libtiff-tif_dirwrite.c-in-TIFFWriteDirectoryTagCheck.patch b/package/tiff/0001-libtiff-tif_dirwrite.c-in-TIFFWriteDirectoryTagCheck.patch deleted file mode 100644 index 2be989b9e7..0000000000 --- a/package/tiff/0001-libtiff-tif_dirwrite.c-in-TIFFWriteDirectoryTagCheck.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 6173a57d39e04d68b139f8c1aa499a24dbe74ba1 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Fri, 30 Jun 2017 17:29:44 +0000 -Subject: [PATCH] * libtiff/tif_dirwrite.c: in - TIFFWriteDirectoryTagCheckedXXXX() functions associated with LONG8/SLONG8 - data type, replace assertion that the file is BigTIFF, by a non-fatal error. - Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2712 Reported by team - OWL337 - -[Peter: drop ChangeLog modification] -Signed-off-by: Peter Korsgaard ---- - libtiff/tif_dirwrite.c | 20 ++++++++++++++++---- - 1 file changed, 23 insertions(+), 4 deletions(-) - -diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c -index 2967da58..8d6686ba 100644 ---- a/libtiff/tif_dirwrite.c -+++ b/libtiff/tif_dirwrite.c -@@ -2111,7 +2111,10 @@ TIFFWriteDirectoryTagCheckedLong8(TIFF* tif, uint32* ndir, TIFFDirEntry* dir, ui - { - uint64 m; - assert(sizeof(uint64)==8); -- assert(tif->tif_flags&TIFF_BIGTIFF); -+ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { -+ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","LONG8 not allowed for ClassicTIFF"); -+ return(0); -+ } - m=value; - if (tif->tif_flags&TIFF_SWAB) - TIFFSwabLong8(&m); -@@ -2124,7 +2127,10 @@ TIFFWriteDirectoryTagCheckedLong8Array(TIFF* tif, uint32* ndir, TIFFDirEntry* di - { - assert(count<0x20000000); - assert(sizeof(uint64)==8); -- assert(tif->tif_flags&TIFF_BIGTIFF); -+ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { -+ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","LONG8 not allowed for ClassicTIFF"); -+ return(0); -+ } - if (tif->tif_flags&TIFF_SWAB) - TIFFSwabArrayOfLong8(value,count); - return(TIFFWriteDirectoryTagData(tif,ndir,dir,tag,TIFF_LONG8,count,count*8,value)); -@@ -2136,7 +2142,10 @@ TIFFWriteDirectoryTagCheckedSlong8(TIFF* tif, uint32* ndir, TIFFDirEntry* dir, u - { - int64 m; - assert(sizeof(int64)==8); -- assert(tif->tif_flags&TIFF_BIGTIFF); -+ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { -+ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","SLONG8 not allowed for ClassicTIFF"); -+ return(0); -+ } - m=value; - if (tif->tif_flags&TIFF_SWAB) - TIFFSwabLong8((uint64*)(&m)); -@@ -2149,7 +2158,10 @@ TIFFWriteDirectoryTagCheckedSlong8Array(TIFF* tif, uint32* ndir, TIFFDirEntry* d - { - assert(count<0x20000000); - assert(sizeof(int64)==8); -- assert(tif->tif_flags&TIFF_BIGTIFF); -+ if( !(tif->tif_flags&TIFF_BIGTIFF) ) { -+ TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","SLONG8 not allowed for ClassicTIFF"); -+ return(0); -+ } - if (tif->tif_flags&TIFF_SWAB) - TIFFSwabArrayOfLong8((uint64*)value,count); - return(TIFFWriteDirectoryTagData(tif,ndir,dir,tag,TIFF_SLONG8,count,count*8,value)); --- -2.11.0 - diff --git a/package/tiff/tiff.hash b/package/tiff/tiff.hash index 516cb06266..21eb4bd37a 100644 --- a/package/tiff/tiff.hash +++ b/package/tiff/tiff.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910 tiff-4.0.8.tar.gz +sha256 2c52d11ccaf767457db0c46795d9c7d1a8d8f76f68b0b800a3dfe45786b996e4 tiff-4.0.10.tar.gz +sha256 fbd6fed7938541d2c809c0826225fc85e551fdbfa8732b10f0c87e0847acafd7 COPYRIGHT diff --git a/package/tiff/tiff.mk b/package/tiff/tiff.mk index 405cb9251f..aef08b341d 100644 --- a/package/tiff/tiff.mk +++ b/package/tiff/tiff.mk @@ -4,7 +4,7 @@ # ################################################################################ -TIFF_VERSION = 4.0.8 +TIFF_VERSION = 4.0.10 TIFF_SITE = http://download.osgeo.org/libtiff TIFF_LICENSE = tiff license TIFF_LICENSE_FILES = COPYRIGHT diff --git a/package/tini/Config.in b/package/tini/Config.in new file mode 100644 index 0000000000..719e1e1f22 --- /dev/null +++ b/package/tini/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_TINI + bool "tini" + depends on BR2_USE_MMU # fork() + help + tini is a simple but valid init binary to + act as PID 1 for containers. + + https://github.com/krallin/tini + +if BR2_PACKAGE_TINI + +config BR2_PACKAGE_TINI_MINIMAL + bool "build minimal variant" + help + Disables argument parsing and verbose output. + +endif diff --git a/package/tini/tini.hash b/package/tini/tini.hash new file mode 100644 index 0000000000..34f919f068 --- /dev/null +++ b/package/tini/tini.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 e5f46bca81266bdd511cf08018d66866870531794569c04f9b45f50dd23c28b0 LICENSE +sha256 1097675352d6317b547e73f9dc7c6839fd0bb0d96dafc2e5c95506bb324049a2 tini-v0.18.0.tar.gz diff --git a/package/tini/tini.mk b/package/tini/tini.mk new file mode 100644 index 0000000000..132bfc99dd --- /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=\"\" + +ifeq ($(BR2_PACKAGE_TINI_MINIMAL),y) +TINI_CFLAGS += -DTINI_MINIMAL +endif + +define TINI_CONFIGURE_CMDS + printf "#pragma once\n" > $(@D)/src/tiniConfig.h +endef + +define TINI_BUILD_CMDS + mkdir -p $(@D)/bin + $(TARGET_CC) $(TINI_CFLAGS) \ + -o $(@D)/bin/tini $(@D)/src/tini.c +endef + +define TINI_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/bin/tini $(TARGET_DIR)/usr/bin/tini +endef + +# Tini's CMakeLists.txt is not suitable for Buildroot. +$(eval $(generic-package)) diff --git a/package/tinycbor/0001-fix-undefined-encode_half-in-json2cbor.patch b/package/tinycbor/0001-fix-undefined-encode_half-in-json2cbor.patch new file mode 100644 index 0000000000..0547758bd5 --- /dev/null +++ b/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/package/tinycbor/tinycbor.hash b/package/tinycbor/tinycbor.hash index db9c595733..6a7282dcba 100644 --- a/package/tinycbor/tinycbor.hash +++ b/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/package/tinycbor/tinycbor.mk b/package/tinycbor/tinycbor.mk index 2aec68be77..40a828d545 100644 --- a/package/tinycbor/tinycbor.mk +++ b/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/package/tinyhttpd/S85tinyhttpd b/package/tinyhttpd/S85tinyhttpd old mode 100755 new mode 100644 diff --git a/package/tmux/tmux.hash b/package/tmux/tmux.hash index 27a3ccaaeb..306dc52c33 100644 --- a/package/tmux/tmux.hash +++ b/package/tmux/tmux.hash @@ -1,4 +1,3 @@ # Locally computed: -sha256 9ded7d100313f6bc5a87404a4048b3745d61f2332f99ec1400a7c4ed9485d452 tmux-2.7.tar.gz -sha256 59ad3f5d323cb6b97bb3882c454e6176519cd580b2d4db43c5161517385569f1 README +sha256 7f6bf335634fafecff878d78de389562ea7f73a7367f268b66d37ea13617a2ba tmux-2.8.tar.gz sha256 ce75f1345a76c93bd0f413d1b93ff1baa0669f34a7242779a00c1b862b4f813a COPYING diff --git a/package/tmux/tmux.mk b/package/tmux/tmux.mk index deae99717b..8b7a96e898 100644 --- a/package/tmux/tmux.mk +++ b/package/tmux/tmux.mk @@ -4,10 +4,10 @@ # ################################################################################ -TMUX_VERSION = 2.7 +TMUX_VERSION = 2.8 TMUX_SITE = https://github.com/tmux/tmux/releases/download/$(TMUX_VERSION) TMUX_LICENSE = ISC -TMUX_LICENSE_FILES = README COPYING +TMUX_LICENSE_FILES = COPYING TMUX_DEPENDENCIES = libevent ncurses host-pkgconf # Add /usr/bin/tmux to /etc/shells otherwise some login tools like dropbear diff --git a/package/tn5250/0001-ssldir.patch b/package/tn5250/0001-ssldir.patch deleted file mode 100644 index 6fc78deef2..0000000000 --- a/package/tn5250/0001-ssldir.patch +++ /dev/null @@ -1,17 +0,0 @@ -Value is assigned to $with_ssl_dir but used from $with_ssl which is wrong. -Fix configure since it's a one-liner and avoid an autoreconf. - -Signed-off-by: Gustavo Zacarias - -diff -Nura tn5250-0.17.4.orig/configure tn5250-0.17.4/configure ---- tn5250-0.17.4.orig/configure 2014-09-10 08:33:15.689519554 -0300 -+++ tn5250-0.17.4/configure 2014-09-10 08:33:47.428613117 -0300 -@@ -23258,7 +23258,7 @@ - if test "${with_ssl_dir+set}" = set; then - withval=$with_ssl_dir; - if test "$with_ssl_dir" != "no"; then -- checksslinclude "$with_ssl" -+ checksslinclude "$with_ssl_dir" - else - for topdir in /usr/local /usr /usr/pkg /usr/lib /var/ssl /opt; do - for subdir in $topdir $topdir/openssl $topdir/ssl; do diff --git a/package/tn5250/0002-Allow-building-against-OpenSSL-without-SSLv2_SSLv3.patch b/package/tn5250/0002-Allow-building-against-OpenSSL-without-SSLv2_SSLv3.patch deleted file mode 100644 index 67f0fa63a1..0000000000 --- a/package/tn5250/0002-Allow-building-against-OpenSSL-without-SSLv2_SSLv3.patch +++ /dev/null @@ -1,32 +0,0 @@ -$OpenBSD: patch-lib5250_sslstream_c,v 1.1 2015/10/07 16:09:04 jca Exp $ - -Allow building against OpenSSL without SSLv2/SSLv3 support. - -Download from: -http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/tn5250/patches/patch-lib5250_sslstream_c - -Signed-off-by: Peter Korsgaard ---- a/lib5250/sslstream.c.orig Fri Nov 21 09:12:21 2008 -+++ b/lib5250/sslstream.c Tue Oct 6 21:32:29 2015 -@@ -368,13 +368,19 @@ int tn5250_ssl_stream_init (Tn5250Stream *This) - methstr[4] = '\0'; - } - -+#ifndef OPENSSL_NO_SSL2 - if (!strcmp(methstr, "ssl2")) { - meth = SSLv2_client_method(); - TN5250_LOG(("SSL Method = SSLv2_client_method()\n")); -- } else if (!strcmp(methstr, "ssl3")) { -+ } else -+#endif -+#ifndef OPENSSL_NO_SSL3 -+ if (!strcmp(methstr, "ssl3")) { - meth = SSLv3_client_method(); - TN5250_LOG(("SSL Method = SSLv3_client_method()\n")); -- } else { -+ } else -+#endif -+ { - meth = SSLv23_client_method(); - TN5250_LOG(("SSL Method = SSLv23_client_method()\n")); - } diff --git a/package/tn5250/Config.in b/package/tn5250/Config.in deleted file mode 100644 index 01be40bb73..0000000000 --- a/package/tn5250/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_TN5250 - bool "tn5250" - depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_NCURSES - help - Telnet client that emulates 5250 terminals and printers. - - http://tn5250.sourceforge.net/ diff --git a/package/tn5250/tn5250.hash b/package/tn5250/tn5250.hash deleted file mode 100644 index ae65beab50..0000000000 --- a/package/tn5250/tn5250.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 354237d400dc46af887cb3ffa4ed1f2c371f5b8bee8be046a683a4ac9db4f9c5 tn5250-0.17.4.tar.gz diff --git a/package/tn5250/tn5250.mk b/package/tn5250/tn5250.mk deleted file mode 100644 index 4c457a5d97..0000000000 --- a/package/tn5250/tn5250.mk +++ /dev/null @@ -1,29 +0,0 @@ -################################################################################ -# -# tn5250 -# -################################################################################ - -TN5250_VERSION = 0.17.4 -TN5250_SITE = http://downloads.sourceforge.net/project/tn5250/tn5250/$(TN5250_VERSION) -TN5250_MAKE_OPTS = CPPFLAGS="" -TN5250_DEPENDENCIES = ncurses -TN5250_LICENSE = LGPL-2.1+ -TN5250_LICENSE_FILES = COPYING - -ifeq ($(BR2_PACKAGE_OPENSSL),y) -TN5250_CONF_OPTS += --with-ssl-dir=$(STAGING_DIR)/usr -TN5250_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs openssl`" -TN5250_DEPENDENCIES += openssl host-pkgconf -else -TN5250_CONF_OPTS += --without-ssl -endif - -define TN5250_INSTALL_FIXES - rm -f $(TARGET_DIR)/usr/bin/5250keys - rm -f $(TARGET_DIR)/usr/bin/xt5250 -endef - -TN5250_POST_INSTALL_TARGET_HOOKS += TN5250_INSTALL_FIXES - -$(eval $(autotools-package)) diff --git a/package/tor/0001-Fix-static-linking-with-OpenSSL.patch b/package/tor/0001-Fix-static-linking-with-OpenSSL.patch new file mode 100644 index 0000000000..e4cd24e138 --- /dev/null +++ b/package/tor/0001-Fix-static-linking-with-OpenSSL.patch @@ -0,0 +1,109 @@ +From ba6b8ee5b6dee19493a150c3715b0e202440d206 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 24 Jan 2019 18:19:51 +0100 +Subject: [PATCH] Fix static linking with OpenSSL + +Adjust link order of libz to solve bug with static linking +and remove host paths when looking for openssl. + +[Vincent: + - Adapt the patch to make it apply on the new version.] +[Bernd: rebased for tor-0.2.7.6, 0.2.8.10, 0.2.9.9, 0.3.1.7, 0.3.2.10 & + 0.3.4.8, 0.3.5.7] +[Fabrice: fix detection of openssl functions in 0.3.5.8] +Signed-off-by: Vicente Olivert Riera +Signed-off-by: Bernd Kuhls +Signed-off-by: Fabrice Fontaine +--- + acinclude.m4 | 2 +- + configure.ac | 4 ++-- + src/test/include.am | 8 ++++---- + src/tools/include.am | 4 ++-- + 4 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 5ecdf1d5c..be5633f4f 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -166,7 +166,7 @@ AC_CACHE_CHECK([for $1 directory], tor_cv_library_$1_dir, [ + + for tor_trydir in "$try$1dir" "(system)" "$prefix" /usr/local /usr/pkg $8; do + LDFLAGS="$tor_saved_LDFLAGS" +- LIBS="$tor_saved_LIBS $3" ++ LIBS="$3 $tor_saved_LIBS" + CPPFLAGS="$tor_saved_CPPFLAGS" + + if test -z "$tor_trydir" ; then +diff --git a/configure.ac b/configure.ac +index 05e1392cf..580befa6b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -885,7 +885,7 @@ AC_ARG_WITH(ssl-dir, + ]) + + AC_MSG_NOTICE([Now, we'll look for OpenSSL >= 1.0.1]) +-TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto $TOR_LIB_GDI $TOR_LIB_WS32], ++TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto -lz $TOR_LIB_GDI $TOR_LIB_WS32], + [#include + char *getenv(const char *);], + [struct ssl_cipher_st; +@@ -919,7 +919,7 @@ dnl Now check for particular openssl functions. + save_LIBS="$LIBS" + save_LDFLAGS="$LDFLAGS" + save_CPPFLAGS="$CPPFLAGS" +-LIBS="$TOR_OPENSSL_LIBS $LIBS" ++LIBS="$TOR_OPENSSL_LIBS -lz $LIBS" + LDFLAGS="$TOR_LDFLAGS_openssl $LDFLAGS" + CPPFLAGS="$TOR_CPPFLAGS_openssl $CPPFLAGS" + +diff --git a/src/test/include.am b/src/test/include.am +index ecb768957..39a622e88 100644 +--- a/src/test/include.am ++++ b/src/test/include.am +@@ -317,8 +317,8 @@ src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) + src_test_test_ntor_cl_LDADD = \ + $(TOR_INTERNAL_LIBS) \ + $(rust_ldadd) \ +- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ +- $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ ++ @TOR_LIB_MATH@ \ ++ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ + @CURVE25519_LIBS@ @TOR_LZMA_LIBS@ + src_test_test_ntor_cl_AM_CPPFLAGS = \ + $(AM_CPPFLAGS) +@@ -327,8 +327,8 @@ src_test_test_hs_ntor_cl_SOURCES = src/test/test_hs_ntor_cl.c + src_test_test_hs_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) + src_test_test_hs_ntor_cl_LDADD = \ + $(TOR_INTERNAL_LIBS) \ +- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ +- $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ ++ @TOR_LIB_MATH@ \ ++ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ + src_test_test_hs_ntor_cl_AM_CPPFLAGS = \ + $(AM_CPPFLAGS) + +diff --git a/src/tools/include.am b/src/tools/include.am +index f7aa7e0d1..4c4e8aa7a 100644 +--- a/src/tools/include.am ++++ b/src/tools/include.am +@@ -30,7 +30,7 @@ src_tools_tor_gencert_LDADD = \ + $(TOR_CRYPTO_LIBS) \ + $(TOR_UTIL_LIBS) \ + $(rust_ldadd) \ +- @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ $(TOR_LIBS_CRYPTLIB) \ ++ @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ \ + @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ @CURVE25519_LIBS@ + endif + +@@ -40,7 +40,7 @@ src_tools_tor_print_ed_signing_cert_LDADD = \ + src/trunnel/libor-trunnel.a \ + $(TOR_CRYPTO_LIBS) \ + $(TOR_UTIL_LIBS) \ +- @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) \ ++ @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ \ + @TOR_LIB_WS32@ @TOR_LIB_USERENV@ @TOR_LIB_GDI@ + + if USE_NSS +-- +2.20.1 + diff --git a/package/tor/0001-openssl-libz.patch b/package/tor/0001-openssl-libz.patch deleted file mode 100644 index 62a9a4a0ec..0000000000 --- a/package/tor/0001-openssl-libz.patch +++ /dev/null @@ -1,133 +0,0 @@ -Adjust link order of libz to solve bug with static linking -and remove host paths when looking for openssl. - -[Vincent: - - Adapt the patch to make it apply on the new version.] -[Bernd: rebased for tor-0.2.7.6, 0.2.8.10, 0.2.9.9, 0.3.1.7 & 0.3.2.10] - -Signed-off-by: Bernd Kuhls -Signed-off-by: Vicente Olivert Riera - -diff -uNr tor-0.3.1.7.org/configure.ac tor-0.3.1.7/configure.ac ---- tor-0.3.1.7.org/configure.ac 2017-09-15 15:34:06.000000000 +0200 -+++ tor-0.3.1.7/configure.ac 2017-09-19 19:40:17.090538467 +0200 -@@ -735,7 +735,7 @@ - ]) - - 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();], [], -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 -@@ -135,7 +135,7 @@ - src/common/libor-event.a src/trunnel/libor-trunnel.a \ - src/trace/libor-trace.a \ - $(rust_ldadd) \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ - @CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ \ - @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ -@@ -149,7 +149,7 @@ - src/common/libor-ctime-testing.a \ - src/common/libor-crypto-testing.a $(LIBKECCAK_TINY) $(LIBDONNA) \ - src/common/libor-event-testing.a src/trunnel/libor-trunnel-testing.a \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ \ - @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ - endif -diff -uNr tor-0.3.1.7.org/src/test/include.am tor-0.3.1.7/src/test/include.am ---- tor-0.3.1.7.org/src/test/include.am 2017-08-29 17:01:19.000000000 +0200 -+++ tor-0.3.1.7/src/test/include.am 2017-09-19 19:42:39.103903406 +0200 -@@ -222,8 +222,8 @@ - src/trunnel/libor-trunnel-testing.a \ - src/trace/libor-trace.a \ - $(rust_ldadd) \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ - @CURVE25519_LIBS@ \ - @TOR_SYSTEMD_LIBS@ @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ - -@@ -248,8 +248,8 @@ - src/common/libor-event.a src/trunnel/libor-trunnel.a \ - src/trace/libor-trace.a \ - $(rust_ldadd) \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ - @CURVE25519_LIBS@ \ - @TOR_SYSTEMD_LIBS@ @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ - -@@ -262,8 +262,8 @@ - src/common/libor-event-testing.a \ - src/trace/libor-trace.a \ - $(rust_ldadd) \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ - @CURVE25519_LIBS@ \ - @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ - -@@ -275,8 +275,8 @@ - src/common/libor-event-testing.a \ - src/common/libor-crypto-testing.a $(LIBKECCAK_TINY) $(LIBDONNA) \ - $(rust_ldadd) \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ - @CURVE25519_LIBS@ \ - @TOR_LZMA_LIBS@ - src_test_test_timers_LDFLAGS = $(src_test_test_LDFLAGS) -@@ -307,8 +307,8 @@ - src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \ - src/trace/libor-trace.a \ - $(rust_ldadd) \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ -+ @TOR_LIB_MATH@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ - @CURVE25519_LIBS@ @TOR_LZMA_LIBS@ - src_test_test_ntor_cl_AM_CPPFLAGS = \ - -I"$(top_srcdir)/src/or" -@@ -318,8 +318,8 @@ - src_test_test_hs_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \ - src/common/libor-ctime.a \ - src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ -+ @TOR_LIB_MATH@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ - src_test_test_hs_ntor_cl_AM_CPPFLAGS = \ - -I"$(top_srcdir)/src/or" - -diff -uNr tor-0.3.1.7.org/src/tools/include.am tor-0.3.1.7/src/tools/include.am ---- tor-0.3.1.7.org/src/tools/include.am 2017-06-19 17:56:51.000000000 +0200 -+++ tor-0.3.1.7/src/tools/include.am 2017-09-19 19:43:08.880223260 +0200 -@@ -27,7 +27,7 @@ - $(LIBKECCAK_TINY) \ - $(LIBDONNA) \ - $(rust_ldadd) \ -- @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ @CURVE25519_LIBS@ - - if COVERAGE_ENABLED -@@ -40,7 +40,7 @@ - src/common/libor-ctime-testing.a \ - $(LIBKECCAK_TINY) \ - $(LIBDONNA) \ -- @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ - endif - diff --git a/package/tor/tor.hash b/package/tor/tor.hash index 35659eca6e..5b07981d95 100644 --- a/package/tor/tor.hash +++ b/package/tor/tor.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 85346b4d026e6a041c8e326d2cc64b5f5361b032075c89c5854f16dbc02fce6f tor-0.3.3.9.tar.gz -sha256 f9a4f724d8037711dde7d3f1d17094fb7d211545b3a3bbb1b03e769e13ca5608 LICENSE +sha256 d5c56603942a8927670f50a4a469fb909e29d3571fdd013389d567e57abc0b47 tor-0.3.5.8.tar.gz +sha256 b4248f32f009d4f5cccb704b351e31a16590e0dd5fda2856382cc854d81f6234 LICENSE diff --git a/package/tor/tor.mk b/package/tor/tor.mk index 2ee25c873f..fe951fb266 100644 --- a/package/tor/tor.mk +++ b/package/tor/tor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOR_VERSION = 0.3.3.9 +TOR_VERSION = 0.3.5.8 TOR_SITE = https://dist.torproject.org TOR_LICENSE = BSD-3-Clause TOR_LICENSE_FILES = LICENSE diff --git a/package/tpm2-abrmd/Config.in b/package/tpm2-abrmd/Config.in index 0cac754b3c..db0ea66112 100644 --- a/package/tpm2-abrmd/Config.in +++ b/package/tpm2-abrmd/Config.in @@ -1,10 +1,9 @@ config BR2_PACKAGE_TPM2_ABRMD bool "tpm2-abrmd" - depends on BR2_INSTALL_LIBSTDCPP # tpm2-tss depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus, libglib2 - depends on !BR2_TOOLCHAIN_USES_MUSL # TEMP_FAILURE_RETRY(), etc + depends on !BR2_STATIC_LIBS # tpm2-tss select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_TPM2_TSS @@ -17,12 +16,12 @@ config BR2_PACKAGE_TPM2_ABRMD The package also provides a client library for interacting with the daemon via TPM Command Transmission Interface (TCTI). - It is intended for use with the SAPI library (libsapi) like - any other TCTI. + It is intended for use with the SAPI library (libtss2-sys) + like any other TCTI. https://github.com/tpm2-software/tpm2-abrmd -comment "tpm2-abrmd needs a uClibc or glibc toolchain w/ C++, wchar, threads" +comment "tpm2-abrmd needs a toolchain w/ dynamic library, wchar, threads" depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS diff --git a/package/tpm2-abrmd/S80tpm2-abrmd b/package/tpm2-abrmd/S80tpm2-abrmd old mode 100755 new mode 100644 index d54c220c04..6a0bef0a31 --- a/package/tpm2-abrmd/S80tpm2-abrmd +++ b/package/tpm2-abrmd/S80tpm2-abrmd @@ -28,7 +28,7 @@ start() { printf "Starting tpm2-abrmd: " check_device rm_stale_pidfile /var/run/tpm2-abrmd.pid /usr/sbin/tpm2-abrmd - start-stop-daemon -S -q -o -b -p /var/run/tpm2-abrmd.pid -c tss:tss -x /usr/sbin/tpm2-abrmd -- ${DAEMON_OPTS} || { + start-stop-daemon -S -q -o -b -m -p /var/run/tpm2-abrmd.pid -c tss:tss -x /usr/sbin/tpm2-abrmd -- ${DAEMON_OPTS} || { echo "FAIL" exit 1 } @@ -49,7 +49,7 @@ stop() { check_required_files /etc/dbus-1/system.d/tpm2-abrmd.conf # defaults -DAEMON_OPTS="--tcti=device --logger=syslog --max-connections=20 --max-transient-objects=20 --fail-on-loaded-trans" +DAEMON_OPTS="--tcti=device --logger=syslog --max-connections=20" # Read configuration variable file if it is present [ -r /etc/default/tpm2-abrmd ] && . /etc/default/tpm2-abrmd diff --git a/package/tpm2-abrmd/tpm2-abrmd.hash b/package/tpm2-abrmd/tpm2-abrmd.hash index 6af991d469..61a75c0d1b 100644 --- a/package/tpm2-abrmd/tpm2-abrmd.hash +++ b/package/tpm2-abrmd/tpm2-abrmd.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 e32e19de93b539374a485d9df7fe9415ce147ec03c8d9ba6593e50f7a67a7a51 tpm2-abrmd-1.3.0.tar.gz +sha256 ff0ed283b0300cd784d6bf2b042e167020f8443602974e53b924e9fd98a4b515 tpm2-abrmd-2.0.3.tar.gz sha256 18c1bf4b1ba1fb2c4ffa7398c234d83c0d55475298e470ae1e5e3a8a8bd2e448 LICENSE diff --git a/package/tpm2-abrmd/tpm2-abrmd.mk b/package/tpm2-abrmd/tpm2-abrmd.mk index b918ceaa4b..31f19f5d01 100644 --- a/package/tpm2-abrmd/tpm2-abrmd.mk +++ b/package/tpm2-abrmd/tpm2-abrmd.mk @@ -4,16 +4,20 @@ # ################################################################################ -TPM2_ABRMD_VERSION = 1.3.0 +TPM2_ABRMD_VERSION = 2.0.3 TPM2_ABRMD_SITE = https://github.com/tpm2-software/tpm2-abrmd/releases/download/$(TPM2_ABRMD_VERSION) TPM2_ABRMD_LICENSE = BSD-2-Clause TPM2_ABRMD_LICENSE_FILES = LICENSE TPM2_ABRMD_INSTALL_STAGING = YES TPM2_ABRMD_DEPENDENCIES = dbus libglib2 tpm2-tss host-pkgconf -# configure.ac doesn't contain a link test, so it doesn't detect when -# libssp is missing. -TPM2_ABRMD_CONF_ENV = ax_cv_check_cflags___fstack_protector_all=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) +# -fstack-protector-all and FORTIFY_SOURCE=2 is used by +# default. Disable that so the BR2_SSP_* / BR2_FORTIFY_SOURCE_* options +# in the toolchain wrapper and CFLAGS are used instead +TPM2_ABRMD_CONF_ENV = \ + ax_cv_check_cflags___________Werror_______fstack_protector_all=no \ + ax_cv_check_ccppflags___________Werror_______U_FORTIFY_SOURCE=no \ + ax_cv_check_ccppflags___________Werror_______D_FORTIFY_SOURCE_2=no TPM2_ABRMD_CONF_OPTS += \ --with-systemdsystemunitdir=$(if $(BR2_INIT_SYSTEMD),/usr/lib/systemd/system,no) \ diff --git a/package/tpm2-tools/0001-Fix-build-with-LibreSSL.patch b/package/tpm2-tools/0001-Fix-build-with-LibreSSL.patch deleted file mode 100644 index 0fdd2dc4dd..0000000000 --- a/package/tpm2-tools/0001-Fix-build-with-LibreSSL.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 7f8d9359dcf9edbb13bb447f70234397afa4fb05 Mon Sep 17 00:00:00 2001 -From: Carlos Santos -Date: Tue, 30 Jan 2018 11:21:14 -0200 -Subject: [PATCH] Fix build with LibreSSL - -OPENSSL_VERSION_NUMBER is used to test the version of OpenSSL but this -test alone breaks the build with LibreSSL due to implicit declarations -of functions 'RSA_set0_key' and 'HMAC_CTX_free'. - -Test if OpenSSL < 1.1.0 or LIBRESSL_VERSION_NUMBER is defined, instead. - -Signed-off-by: Carlos Santos ---- - lib/conversion.c | 2 +- - lib/tpm_kdfa.c | 6 +++--- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/lib/conversion.c b/lib/conversion.c -index 1d0a0b7..df02de4 100644 ---- a/lib/conversion.c -+++ b/lib/conversion.c -@@ -133,7 +133,7 @@ static bool tpm2_convert_pubkey_ssl(TPMT_PUBLIC *public, pubkey_format format, c - goto error; - } - --#if OPENSSL_VERSION_NUMBER < 0x1010000fL /* OpenSSL 1.1.0 */ -+#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) /* OpenSSL 1.1.0 */ - ssl_rsa_key->e = e; - ssl_rsa_key->n = n; - #else -diff --git a/lib/tpm_kdfa.c b/lib/tpm_kdfa.c -index ee3cf8a..e43bdeb 100644 ---- a/lib/tpm_kdfa.c -+++ b/lib/tpm_kdfa.c -@@ -54,7 +54,7 @@ static const EVP_MD *tpm_algorithm_to_openssl_digest(TPMI_ALG_HASH algorithm) { - static HMAC_CTX *hmac_alloc() - { - HMAC_CTX *ctx; --#if OPENSSL_VERSION_NUMBER < 0x1010000fL /* OpenSSL 1.1.0 */ -+#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) /* OpenSSL 1.1.0 */ - ctx = malloc(sizeof(*ctx)); - #else - ctx = HMAC_CTX_new(); -@@ -62,7 +62,7 @@ static HMAC_CTX *hmac_alloc() - if (!ctx) - return NULL; - --#if OPENSSL_VERSION_NUMBER < 0x1010000fL -+#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) - HMAC_CTX_init(ctx); - #endif - -@@ -71,7 +71,7 @@ static HMAC_CTX *hmac_alloc() - - static void hmac_del(HMAC_CTX *ctx) - { --#if OPENSSL_VERSION_NUMBER < 0x1010000fL -+#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) - HMAC_CTX_cleanup(ctx); - free(ctx); - #else --- -2.14.3 - diff --git a/package/tpm2-tools/0001-tpm2_certify-fix-type-may-be-used-uninitialized-warn.patch b/package/tpm2-tools/0001-tpm2_certify-fix-type-may-be-used-uninitialized-warn.patch index b472666f46..327f5e403b 100644 --- a/package/tpm2-tools/0001-tpm2_certify-fix-type-may-be-used-uninitialized-warn.patch +++ b/package/tpm2-tools/0001-tpm2_certify-fix-type-may-be-used-uninitialized-warn.patch @@ -1,4 +1,4 @@ -From e15b01a1eb27e31964308892fcaa9c7d4f17f181 Mon Sep 17 00:00:00 2001 +From 295cd8f7fb8e1a1ad8f64d981e99969a364d941e Mon Sep 17 00:00:00 2001 From: Carlos Santos Date: Sat, 24 Mar 2018 22:46:46 -0300 Subject: [PATCH] tpm2_certify: fix "'type' may be used uninitialized" warning @@ -10,7 +10,7 @@ because set_scheme returns immediately if get_key_type retuns false but the compiler does not understand that logic and fails because warnings are treated as errors. -Adapted for version 3.0.3 from the change submitted upstream: +Adapted for version 3.1.3 from the change submitted upstream: https://github.com/tpm2-software/tpm2-tools/pull/954 @@ -20,17 +20,17 @@ Signed-off-by: Carlos Santos 1 file changed, 1 insertion(+) diff --git a/tools/tpm2_certify.c b/tools/tpm2_certify.c -index eaac02f..cbc42a9 100644 +index 0575072..e562586 100644 --- a/tools/tpm2_certify.c +++ b/tools/tpm2_certify.c -@@ -107,6 +107,7 @@ static bool get_key_type(TSS2_SYS_CONTEXT *sapi_context, TPMI_DH_OBJECT object_h +@@ -98,6 +98,7 @@ static bool get_key_type(TSS2_SYS_CONTEXT *sapi_context, TPMI_DH_OBJECT object_h &out_public, &name, &qualified_name, &sessions_data_out)); - if (rval != TPM_RC_SUCCESS) { + if (rval != TPM2_RC_SUCCESS) { LOG_ERR("TPM2_ReadPublic failed. Error Code: 0x%x", rval); -+ *type = TPM_ALG_ERROR; ++ *type = TPM2_ALG_ERROR; return false; } -- -2.14.3 +2.19.1 diff --git a/package/tpm2-tools/Config.in b/package/tpm2-tools/Config.in index e5feb18786..35ca63bf64 100644 --- a/package/tpm2-tools/Config.in +++ b/package/tpm2-tools/Config.in @@ -1,15 +1,8 @@ config BR2_PACKAGE_TPM2_TOOLS bool "tpm2-tools" - depends on BR2_INSTALL_LIBSTDCPP # tpm2-tss - depends on BR2_USE_MMU # dbus, libglib - depends on BR2_USE_WCHAR # libglib -> gettext - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib - depends on !BR2_TOOLCHAIN_USES_MUSL # tpm2-abrmd - select BR2_PACKAGE_DBUS + depends on !BR2_STATIC_LIBS # tpm2-tss select BR2_PACKAGE_LIBCURL - select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_TPM2_ABRMD # run-time select BR2_PACKAGE_TPM2_TSS help TPM (Trusted Platform Module) 2.0 CLI tools based on system @@ -18,9 +11,12 @@ config BR2_PACKAGE_TPM2_TOOLS and manage non-volatile storage through a TPM2.0 HW implementation. + Notice: An in-kernel resource manager is provided by the + Linux kernel since 4.12. Depending on use cases and kernel + version, the user space resource manager provided by + tpm2-abrmd may be needed. + https://github.com/tpm2-software/tpm2-tools -comment "tpm2-tools needs a uClibc or glibc toolchain w/ C++, wchar, threads" - depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL +comment "tpm2-tools needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/tpm2-tools/tpm2-tools.hash b/package/tpm2-tools/tpm2-tools.hash index e33b3e5945..d2bd31cdee 100644 --- a/package/tpm2-tools/tpm2-tools.hash +++ b/package/tpm2-tools/tpm2-tools.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 c990c0656165afef0fad61e1852a9a189a4b93b43d2a684b151a5dc0b3c6249d tpm2-tools-3.0.3.tar.gz +sha256 2f515200e9a7958ee13015150f7958c8a332eb071c2564c33f81ebe32c4f6033 tpm2-tools-3.1.4.tar.gz sha256 3d6b149c8b042bd5f3db678d587fbe55230d071ca084bd38dcae451679c6dd45 LICENSE diff --git a/package/tpm2-tools/tpm2-tools.mk b/package/tpm2-tools/tpm2-tools.mk index 13fdb163bb..e7423db67a 100644 --- a/package/tpm2-tools/tpm2-tools.mk +++ b/package/tpm2-tools/tpm2-tools.mk @@ -4,14 +4,15 @@ # ################################################################################ -TPM2_TOOLS_VERSION = 3.0.3 +TPM2_TOOLS_VERSION = 3.1.4 TPM2_TOOLS_SITE = https://github.com/tpm2-software/tpm2-tools/releases/download/$(TPM2_TOOLS_VERSION) -TPM2_TOOLS_LICENSE = BSD-2-Clause +TPM2_TOOLS_LICENSE = BSD-3-Clause TPM2_TOOLS_LICENSE_FILES = LICENSE -TPM2_TOOLS_DEPENDENCIES = dbus libcurl libglib2 openssl tpm2-tss host-pkgconf +TPM2_TOOLS_DEPENDENCIES = libcurl openssl tpm2-tss host-pkgconf -# configure.ac doesn't contain a link test, so it doesn't detect when -# libssp is missing. -TPM2_TOOLS_CONF_OPTS = $(if $(BR2_TOOLCHAIN_HAS_SSP),--enable-hardening,--disable-hardening) +# -fstack-protector-all and FORTIFY_SOURCE=2 is used by +# default. Disable that so the BR2_SSP_* / BR2_FORTIFY_SOURCE_* options +# in the toolchain wrapper and CFLAGS are used instead +TPM2_TOOLS_CONF_OPTS = --disable-hardening $(eval $(autotools-package)) diff --git a/package/tpm2-tss/0001-tcti-tcti_socket.cpp-add-missing-inclusion-of-sys-se.patch b/package/tpm2-tss/0001-tcti-tcti_socket.cpp-add-missing-inclusion-of-sys-se.patch deleted file mode 100644 index e8e0d842f2..0000000000 --- a/package/tpm2-tss/0001-tcti-tcti_socket.cpp-add-missing-inclusion-of-sys-se.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 2fdbf9f56bd6e7b00c695881a81c0df2f5088760 Mon Sep 17 00:00:00 2001 -From: Carlos Santos -Date: Fri, 23 Mar 2018 09:15:44 -0300 -Subject: [PATCH] tcti/tcti_socket.cpp: add missing inclusion of sys/select.h - -Prevents compilation errors due to undeclared "fd_set" type. - -Fixes: - http://autobuild.buildroot.net/results/09e8b3b85d7113d60e8967a2d41a6aea8f8197c0 - http://autobuild.buildroot.net/results/2e4c70f2f1239eb19235ae04a936a6492daf316d - http://autobuild.buildroot.net/results/bbd68f52781da735e983b1260de5b804787374b1 - -Signed-off-by: Carlos Santos ---- - tcti/tcti_socket.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/tcti/tcti_socket.cpp b/tcti/tcti_socket.cpp -index e8982f1..b6e5874 100644 ---- a/tcti/tcti_socket.cpp -+++ b/tcti/tcti_socket.cpp -@@ -28,6 +28,8 @@ - #include - #include // Needed for _wtoi - -+#include // for fd_set -+ - #include "sapi/tpm20.h" - #include "tcti/tcti_socket.h" - #include "sysapi_util.h" --- -2.14.3 - diff --git a/package/tpm2-tss/0001-tpm2b-types.c-fix-maybe-uninitialized-error.patch b/package/tpm2-tss/0001-tpm2b-types.c-fix-maybe-uninitialized-error.patch new file mode 100644 index 0000000000..7125835711 --- /dev/null +++ b/package/tpm2-tss/0001-tpm2b-types.c-fix-maybe-uninitialized-error.patch @@ -0,0 +1,37 @@ +From 815f2bcbdfe5d9aff2cd3acbbb105daf1f5e9d7f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 7 Feb 2019 09:58:07 +0100 +Subject: [PATCH] tpm2b-types.c: fix maybe-uninitialized error + +src/tss2-mu/tpm2b-types.c: In function 'Tss2_MU_TPM2B_ECC_POINT_Marshal': +src/tss2-mu/tpm2b-types.c:201:24: error: 'ptr' may be used uninitialized in this function [-Werror=maybe-uninitialized] + *(UINT16 *)ptr = HOST_TO_BE_16(buffer + local_offset - ptr - 2); \ + ^ +src/tss2-mu/tpm2b-types.c:152:12: note: 'ptr' was declared here + UINT8 *ptr; \ + +Fixes: + - http://autobuild.buildroot.org/results/8d7b6dad6602fe67338abc696bc4752dda8e9717 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/tpm2-software/tpm2-tss/pull/1265] +--- + src/tss2-mu/tpm2b-types.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/tss2-mu/tpm2b-types.c b/src/tss2-mu/tpm2b-types.c +index 9c1003ab..7632febb 100644 +--- a/src/tss2-mu/tpm2b-types.c ++++ b/src/tss2-mu/tpm2b-types.c +@@ -150,7 +150,7 @@ TSS2_RC Tss2_MU_##type##_Marshal(type const *src, uint8_t buffer[], \ + size_t buffer_size, size_t *offset) \ + { \ + size_t local_offset = 0; \ +- UINT8 *ptr; \ ++ UINT8 *ptr = NULL; \ + TSS2_RC rc; \ + \ + if (src == NULL) { \ +-- +2.14.1 + diff --git a/package/tpm2-tss/Config.in b/package/tpm2-tss/Config.in index 7a757bd70a..2d619750f8 100644 --- a/package/tpm2-tss/Config.in +++ b/package/tpm2-tss/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_TPM2_TSS bool "tpm2-tss" - depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # dlfcn.h select BR2_PACKAGE_LIBURIPARSER + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help OSS implementation of the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). This stack consists of the following @@ -15,7 +17,7 @@ config BR2_PACKAGE_TPM2_TSS variants may be useful for integration into event-driven programming environments. Both the synchronous and asynchronous API are exposed through a single library: - libsapi. + libtss2-sys. * TPM Command Transmission Interface (TCTI) that is described in the same specification. This API provides a standard @@ -24,12 +26,12 @@ config BR2_PACKAGE_TPM2_TSS implementing the TCTI API will be implemented as a way to abstract various platform specific IPC mechanisms. Currently this repository provides two TCTI implementations: - libtcti-device and libtcti-socket. The prior should be used - for direct access to the TPM through the Linux kernel - driver. The later implements the protocol exposed by the - Microsoft software TPM2 simulator. + libtss2-tcti-device and libtss2-tcti-mssim. The prior should + be used for direct access to the TPM through the Linux + kernel driver. The later implements the protocol exposed by + the Microsoft software TPM2 simulator. https://github.com/tpm2-software/tpm2-tss -comment "tpm2-tss needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "tpm2-tss needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/tpm2-tss/tpm2-tss.hash b/package/tpm2-tss/tpm2-tss.hash index 67c5a85842..9368357c77 100644 --- a/package/tpm2-tss/tpm2-tss.hash +++ b/package/tpm2-tss/tpm2-tss.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 cf8784cc536be16e6fba47f77033e093a6aeaed8420877ac9f42f77fb7b09031 tpm2-tss-1.4.0.tar.gz -sha256 18c1bf4b1ba1fb2c4ffa7398c234d83c0d55475298e470ae1e5e3a8a8bd2e448 LICENSE +sha256 bddfa4ab2ceb6394bcacf7db5d6419cbfabdb22702b6df75c59e60dd5f3fafb5 tpm2-tss-2.1.3.tar.gz +sha256 f7da3c2da12cec3348bb7ee9e2a9e651a241450b2efb67da29d5a75ef2da058a LICENSE diff --git a/package/tpm2-tss/tpm2-tss.mk b/package/tpm2-tss/tpm2-tss.mk index dcc1e5d74d..e02abb446c 100644 --- a/package/tpm2-tss/tpm2-tss.mk +++ b/package/tpm2-tss/tpm2-tss.mk @@ -4,15 +4,20 @@ # ################################################################################ -TPM2_TSS_VERSION = 1.4.0 +TPM2_TSS_VERSION = 2.1.3 TPM2_TSS_SITE = https://github.com/tpm2-software/tpm2-tss/releases/download/$(TPM2_TSS_VERSION) TPM2_TSS_LICENSE = BSD-2-Clause TPM2_TSS_LICENSE_FILES = LICENSE TPM2_TSS_INSTALL_STAGING = YES -TPM2_TSS_DEPENDENCIES = liburiparser host-pkgconf +TPM2_TSS_DEPENDENCIES = liburiparser openssl host-pkgconf +TPM2_TSS_CONF_OPTS = --with-crypto=ossl --disable-doxygen-doc -# configure.ac doesn't contain a link test, so it doesn't detect when -# libssp is missing. -TPM2_TSS_CONF_ENV = ax_cv_check_cflags___________Wall__Werror_______fstack_protector_all=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) +# -fstack-protector-all and FORTIFY_SOURCE=2 is used by +# default. Disable that so the BR2_SSP_* / BR2_FORTIFY_SOURCE_* options +# in the toolchain wrapper and CFLAGS are used instead +TPM2_TSS_CONF_ENV = \ + ax_cv_check_cflags___________Wall__Werror_______fstack_protector_all=no \ + ax_cv_check_ccppflags___________Wall__Werror_______U_FORTIFY_SOURCE=no \ + ax_cv_check_ccppflags___________Wall__Werror_______D_FORTIFY_SOURCE_2=no $(eval $(autotools-package)) diff --git a/package/trace-cmd/trace-cmd.hash b/package/trace-cmd/trace-cmd.hash index 5bf4154bd0..c6447f34d4 100644 --- a/package/trace-cmd/trace-cmd.hash +++ b/package/trace-cmd/trace-cmd.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 f088534808274f6233fe15130791238fb14ce9bf6e7234f9b3fe6b5a42a1245d trace-cmd-trace-cmd-v2.6.1.tar.gz +sha256 3b3f564cc6ee30341051ccb7589b42f3abe4e676a21c029c7c127c7edf5bdcf0 trace-cmd-trace-cmd-v2.7.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 70f297763149e72306919c924e164f83041d5e512868d4c8c1826c171b3e49f9 COPYING.LIB diff --git a/package/trace-cmd/trace-cmd.mk b/package/trace-cmd/trace-cmd.mk index 0dc145674f..dfca6a170d 100644 --- a/package/trace-cmd/trace-cmd.mk +++ b/package/trace-cmd/trace-cmd.mk @@ -4,8 +4,8 @@ # ################################################################################ -TRACE_CMD_VERSION = trace-cmd-v2.6.1 -TRACE_CMD_SITE = $(BR2_KERNEL_MIRROR)/scm/linux/kernel/git/rostedt/trace-cmd.git +TRACE_CMD_VERSION = trace-cmd-v2.7 +TRACE_CMD_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git TRACE_CMD_SITE_METHOD = git TRACE_CMD_INSTALL_STAGING = YES TRACE_CMD_LICENSE = GPL-2.0, LGPL-2.1 diff --git a/package/traceroute/traceroute.mk b/package/traceroute/traceroute.mk index 192197498d..a02982a6b5 100644 --- a/package/traceroute/traceroute.mk +++ b/package/traceroute/traceroute.mk @@ -11,7 +11,7 @@ TRACEROUTE_LICENSE = GPL-2.0+, LGPL-2.1+ TRACEROUTE_LICENSE_FILES = COPYING COPYING.LIB 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/package/triggerhappy/S10triggerhappy b/package/triggerhappy/S10triggerhappy old mode 100755 new mode 100644 diff --git a/package/trinity/0004-Check-if-VIDIOC_RESERVED-is-defined.patch b/package/trinity/0004-Check-if-VIDIOC_RESERVED-is-defined.patch new file mode 100644 index 0000000000..54f8bea63c --- /dev/null +++ b/package/trinity/0004-Check-if-VIDIOC_RESERVED-is-defined.patch @@ -0,0 +1,56 @@ +From a5f32b9714613404e9f4699aaaad720f2bb033b4 Mon Sep 17 00:00:00 2001 +From: Vinson Lee +Date: Thu, 23 Aug 2018 22:28:49 +0000 +Subject: [PATCH] Check if VIDIOC_RESERVED is defined. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +VIDIOC_RESERVED was removed in Linux 4.19. + +commit ea8532daee31bc72abfbc9ca7a43cbec0f6c05af +Author: Mauro Carvalho Chehab +Date: Wed May 30 11:07:05 2018 -0400 + + media: videodev2: get rid of VIDIOC_RESERVED + + While this ioctl is there at least since Kernel 2.6.12-rc2, it + was never used by any upstream driver. + + Get rid of it. + + Signed-off-by: Mauro Carvalho Chehab + +This patch fixes this build error. + + CC ioctls/videodev2.o +In file included from ioctls/videodev2.c:4: +ioctls/videodev2.c:8:8: error: ‘VIDIOC_RESERVED’ undeclared here (not in a function); did you mean ‘VIDIOC_G_STD’? + IOCTL(VIDIOC_RESERVED), + ^~~~~~~~~~~~~~~ +include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ + { .request = _request, .name = #_request, } + ^~~~~~~~ + +Signed-off-by: Vinson Lee +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/kernelslacker/trinity/commit/a5f32b9714613404e9f4699aaaad720f2bb033b4] +--- + ioctls/videodev2.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ioctls/videodev2.c b/ioctls/videodev2.c +index f7183f29..67089abf 100644 +--- a/ioctls/videodev2.c ++++ b/ioctls/videodev2.c +@@ -5,7 +5,9 @@ + + static const struct ioctl videodev2_ioctls[] = { + IOCTL(VIDIOC_QUERYCAP), ++#ifdef VIDIOC_RESERVED + IOCTL(VIDIOC_RESERVED), ++#endif + IOCTL(VIDIOC_ENUM_FMT), + IOCTL(VIDIOC_G_FMT), + IOCTL(VIDIOC_S_FMT), diff --git a/package/trinity/0005-proto-rds-include-libc-network-headers-first.patch b/package/trinity/0005-proto-rds-include-libc-network-headers-first.patch new file mode 100644 index 0000000000..438bbfb56a --- /dev/null +++ b/package/trinity/0005-proto-rds-include-libc-network-headers-first.patch @@ -0,0 +1,48 @@ +From 350c05e5c0d7af5941a9c17f2f86e1c6297d7475 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Wed, 12 Dec 2018 20:52:50 +0200 +Subject: [PATCH] proto-rds: include libc network headers first + +To avoid collisions between libc networking headers and header kernels +the libc headers must appear first in the list of headers. This fixes a +build issue with kernel headers v4.19: + +In file included from include/net.h:5:0, + from net/proto-rds.c:6: +.../sysroot/usr/include/netinet/in.h:23:8: error: redefinition of 'struct in6_addr' + struct in6_addr { + ^~~~~~~~ +In file included from .../sysroot/usr/include/linux/rds.h:40:0, + from net/proto-rds.c:4: +.../sysroot/usr/include/linux/in6.h:33:8: note: originally defined here + struct in6_addr { + ^~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/kernelslacker/trinity/pull/29 + + net/proto-rds.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/net/proto-rds.c b/net/proto-rds.c +index c8ff22f886c3..06e36e82d990 100644 +--- a/net/proto-rds.c ++++ b/net/proto-rds.c +@@ -1,12 +1,12 @@ + #ifdef USE_RDS + #include + #include +-#include + #include + #include "net.h" + #include "compat.h" + #include "random.h" + #include "utils.h" // RAND_ARRAY ++#include + + static void rds_gen_sockaddr(struct sockaddr **addr, socklen_t *addrlen) + { +-- +2.19.2 + diff --git a/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch b/package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch similarity index 97% rename from package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch rename to package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch index 3275b76a2c..b1179eb4aa 100644 --- a/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch +++ b/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/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch b/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch deleted file mode 100644 index b0db70b49b..0000000000 --- a/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/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch b/package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch similarity index 93% rename from package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch rename to package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch index 7014ad7afb..ab2418c7c5 100644 --- a/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch +++ b/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/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch b/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch deleted file mode 100644 index f88e47ac27..0000000000 --- a/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/package/trousers/trousers.hash b/package/trousers/trousers.hash index 997cfa97c1..20c65c450e 100644 --- a/package/trousers/trousers.hash +++ b/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/package/trousers/trousers.mk b/package/trousers/trousers.mk index e49c2ac141..1d5364959c 100644 --- a/package/trousers/trousers.mk +++ b/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/package/tslib/tslib.hash b/package/tslib/tslib.hash index 76cd79516b..cfe78765bc 100644 --- a/package/tslib/tslib.hash +++ b/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.19/tslib-1.19.tar.xz.sha256 +sha256 efe1fef16a00dc818f1d8e402877184dadf331f1b0dd1fbfeeb2698ee8647f4d tslib-1.19.tar.xz # Locally computed sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 COPYING diff --git a/package/tslib/tslib.mk b/package/tslib/tslib.mk index 0d8b31863b..ccc2671c6a 100644 --- a/package/tslib/tslib.mk +++ b/package/tslib/tslib.mk @@ -4,7 +4,7 @@ # ################################################################################ -TSLIB_VERSION = 1.16 +TSLIB_VERSION = 1.19 TSLIB_SITE = https://github.com/kergoth/tslib/releases/download/$(TSLIB_VERSION) TSLIB_SOURCE = tslib-$(TSLIB_VERSION).tar.xz TSLIB_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) diff --git a/package/tvheadend/tvheadend.hash b/package/tvheadend/tvheadend.hash index ce275f132f..43178b874a 100644 --- a/package/tvheadend/tvheadend.hash +++ b/package/tvheadend/tvheadend.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 3389e857651665cc1fe96e624ffe12ad1ec28f31d396f0579fcaa47536fb6400 tvheadend-9b9ee6859be90fedb5d43ad1d770dfcdb8b1caf4.tar.gz +sha256 92c5f2cdda085b81fc50025afeb3ece74f60fae2b26f40a7dd07e227b0db2d9f tvheadend-17dff3e5ffbd67174b6c0d7b49f5488e19ec1ead.tar.gz sha256 54dc3cbc00bf126bcba43e2af7f3ad1dc00f335985da1409fa943c7b7256d942 LICENSE.md diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk index 4c9cda4d9a..e92c111082 100644 --- a/package/tvheadend/tvheadend.mk +++ b/package/tvheadend/tvheadend.mk @@ -4,7 +4,7 @@ # ################################################################################ -TVHEADEND_VERSION = 9b9ee6859be90fedb5d43ad1d770dfcdb8b1caf4 +TVHEADEND_VERSION = 17dff3e5ffbd67174b6c0d7b49f5488e19ec1ead TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION)) TVHEADEND_LICENSE = GPL-3.0+ TVHEADEND_LICENSE_FILES = LICENSE.md @@ -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/package/twolame/0001-Fix-static-linking-with-libmagic.patch b/package/twolame/0001-Fix-static-linking-with-libmagic.patch new file mode 100644 index 0000000000..094d7e997e --- /dev/null +++ b/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/package/tzdump/tzdump.hash b/package/tzdump/tzdump.hash index 71114e0bed..b0d58c62d3 100644 --- a/package/tzdump/tzdump.hash +++ b/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/package/tzdump/tzdump.mk b/package/tzdump/tzdump.mk index baad978c4f..f6b6a1a729 100644 --- a/package/tzdump/tzdump.mk +++ b/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/package/uclibc-ng-test/0002-Add-NO_CRYPT-to-fix-build-with-glibc-2.28.patch b/package/uclibc-ng-test/0002-Add-NO_CRYPT-to-fix-build-with-glibc-2.28.patch new file mode 100644 index 0000000000..34760f3dfb --- /dev/null +++ b/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/package/uclibc-ng-test/uclibc-ng-test.mk b/package/uclibc-ng-test/uclibc-ng-test.mk index 0e6433c83d..aeea799d88 100644 --- a/package/uclibc-ng-test/uclibc-ng-test.mk +++ b/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/package/uclibc/0001-Revert-ldconfig-add-glibc-compatibility-fix.patch b/package/uclibc/0001-Revert-ldconfig-add-glibc-compatibility-fix.patch deleted file mode 100644 index 7ba3b2866d..0000000000 --- a/package/uclibc/0001-Revert-ldconfig-add-glibc-compatibility-fix.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 92d250d387e247029900c9074150f45866b29781 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Sun, 29 Apr 2018 19:34:11 +0200 -Subject: [PATCH] Revert "ldconfig: add glibc compatibility fix" - -This reverts commit 2a3bb4daf5778c5875674cd26a3c75b3d460a042. - -This is breaking ld.so.cache usage. Seen on Gentoo/amd64. - -Reported-by: "Anthony G. Basile" -Signed-off-by: Waldemar Brodkorb ---- - utils/ldconfig.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/utils/ldconfig.c b/utils/ldconfig.c -index 58939d6..e6b7881 100644 ---- a/utils/ldconfig.c -+++ b/utils/ldconfig.c -@@ -184,9 +184,10 @@ static char *readsoname(char *name, FILE *infile, int expected_type, - res = readsoname32(name, infile, expected_type, type); - else { - res = readsoname64(name, infile, expected_type, type); -- -- // For 64-bit glibc compatibility -- *type |= FLAG_X8664_LIB64; -+#if 0 -+ /* relies on multilib support which we dont have ... */ -+ *type |= LIB_ELF64; -+#endif - } - - return res; -@@ -757,7 +758,7 @@ void cache_print(void) - - for (fd = 0; fd < header->nlibs; fd++) { - printf("\t%s ", strs + libent[fd].sooffset); -- switch (libent[fd].flags & ~LIB_ELF64 & FLAG_TYPE_MASK) { -+ switch (libent[fd].flags & ~LIB_ELF64) { - case LIB_DLL: - printf("(libc4)"); - break; -@@ -770,7 +771,7 @@ void cache_print(void) - case LIB_ELF_LIBC5: - case LIB_ELF_LIBC6: - printf("(libc%d%s)", -- (libent[fd].flags & ~LIB_ELF64 & FLAG_TYPE_MASK) + 3, -+ (libent[fd].flags & ~LIB_ELF64) + 3, - libent[fd].flags & LIB_ELF64 ? "/64" : ""); - break; - default: --- -2.1.4 - diff --git a/package/uclibc/0001-statfs.h-sync-generic-header-with-glibc.patch b/package/uclibc/0001-statfs.h-sync-generic-header-with-glibc.patch new file mode 100644 index 0000000000..b8753ed879 --- /dev/null +++ b/package/uclibc/0001-statfs.h-sync-generic-header-with-glibc.patch @@ -0,0 +1,169 @@ +From 8a73a967e18c55199785bae0f22dc94d9b2f8985 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Tue, 27 Nov 2018 15:41:37 +0100 +Subject: [PATCH] statfs.h: sync generic header with glibc + +Fix issues with aarch64 and df with mismatching header between kernel +and libc. + +Signed-off-by: Waldemar Brodkorb +--- + .../linux/common-generic/bits/statfs.h | 84 +++++++++---------- + libc/sysdeps/linux/common/fstatfs.c | 9 -- + libc/sysdeps/linux/common/statfs.c | 10 --- + 3 files changed, 40 insertions(+), 63 deletions(-) + +diff --git a/libc/sysdeps/linux/common-generic/bits/statfs.h b/libc/sysdeps/linux/common-generic/bits/statfs.h +index a2767b49a..23519a57e 100644 +--- a/libc/sysdeps/linux/common-generic/bits/statfs.h ++++ b/libc/sysdeps/linux/common-generic/bits/statfs.h +@@ -11,65 +11,61 @@ + #include + #include + #include ++#include + ++/* 64-bit libc uses the kernel's 'struct statfs', accessed via the ++ statfs() syscall; 32-bit libc uses the kernel's 'struct statfs64' ++ and accesses it via the statfs64() syscall. All the various ++ APIs offered by libc use the kernel shape for their struct statfs ++ structure; the only difference is that 32-bit programs not ++ using __USE_FILE_OFFSET64 only see the low 32 bits of some ++ of the fields (the __fsblkcnt_t and __fsfilcnt_t fields). */ ++ ++#if defined __USE_FILE_OFFSET64 ++# define __field64(type, type64, name) type64 name ++#elif __WORDSIZE == 64 ++# define __field64(type, type64, name) type name ++#elif __BYTE_ORDER == __LITTLE_ENDIAN ++# define __field64(type, type64, name) \ ++ type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad ++#else ++# define __field64(type, type64, name) \ ++ int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name ++#endif + + struct statfs + { +- __U32_TYPE f_type; +- __U32_TYPE f_bsize; +-#ifndef __USE_FILE_OFFSET64 +-# if __BYTE_ORDER == __LITTLE_ENDIAN +- __U32_TYPE f_blocks; +- __U32_TYPE __pad1; +- __U32_TYPE f_bfree; +- __U32_TYPE __pad2; +- __U32_TYPE f_bavail; +- __U32_TYPE __pad3; +- __U32_TYPE f_files; +- __U32_TYPE __pad4; +- __U32_TYPE f_ffree; +- __U32_TYPE __pad5; +-# else +- __U32_TYPE __pad1; +- __U32_TYPE f_blocks; +- __U32_TYPE __pad2; +- __U32_TYPE f_bfree; +- __U32_TYPE __pad3; +- __U32_TYPE f_bavail; +- __U32_TYPE __pad4; +- __U32_TYPE f_files; +- __U32_TYPE __pad5; +- __U32_TYPE f_ffree; +-# endif /* __LITTLE_ENDIAN */ +-#else +- __U64_TYPE f_blocks; +- __U64_TYPE f_bfree; +- __U64_TYPE f_bavail; +- __U64_TYPE f_files; +- __U64_TYPE f_ffree; +-#endif /* __USE_FILE_OFFSET64 */ ++ __SWORD_TYPE f_type; ++ __SWORD_TYPE f_bsize; ++ __field64(__fsblkcnt_t, __fsblkcnt64_t, f_blocks); ++ __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bfree); ++ __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bavail); ++ __field64(__fsfilcnt_t, __fsfilcnt64_t, f_files); ++ __field64(__fsfilcnt_t, __fsfilcnt64_t, f_ffree); + __fsid_t f_fsid; +- __U32_TYPE f_namelen; +- __U32_TYPE f_frsize; +- __U32_TYPE f_flags; +- __U32_TYPE f_spare[4]; +- } __ARCH_64BIT_ALIGNMENT__; ++ __SWORD_TYPE f_namelen; ++ __SWORD_TYPE f_frsize; ++ __SWORD_TYPE f_flags; ++ __SWORD_TYPE f_spare[4]; ++ }; ++ ++#undef __field64 + + #ifdef __USE_LARGEFILE64 + struct statfs64 + { +- __U32_TYPE f_type; +- __U32_TYPE f_bsize; ++ __SWORD_TYPE f_type; ++ __SWORD_TYPE f_bsize; + __U64_TYPE f_blocks; + __U64_TYPE f_bfree; + __U64_TYPE f_bavail; + __U64_TYPE f_files; + __U64_TYPE f_ffree; + __fsid_t f_fsid; +- __U32_TYPE f_namelen; +- __U32_TYPE f_frsize; +- __U32_TYPE f_flags; +- __U32_TYPE f_spare[4]; ++ __SWORD_TYPE f_namelen; ++ __SWORD_TYPE f_frsize; ++ __SWORD_TYPE f_flags; ++ __SWORD_TYPE f_spare[4]; + }; + #endif + +diff --git a/libc/sysdeps/linux/common/fstatfs.c b/libc/sysdeps/linux/common/fstatfs.c +index fcb0820eb..0b2709ce3 100644 +--- a/libc/sysdeps/linux/common/fstatfs.c ++++ b/libc/sysdeps/linux/common/fstatfs.c +@@ -30,15 +30,6 @@ _syscall2(int, __libc_fstatfs, int, fd, struct statfs *, buf) + int __libc_fstatfs (int __fildes, struct statfs *__buf) + { + int err = INLINE_SYSCALL(fstatfs64, 3, __fildes, sizeof(*__buf), __buf); +- +- if (err == 0) { +- /* Did we overflow? */ +- if (__buf->__pad1 || __buf->__pad2 || __buf->__pad3 || +- __buf->__pad4 || __buf->__pad5) { +- __set_errno(EOVERFLOW); +- return -1; +- } +- } + return err; + }; + /* Redefined fstatfs because we need it for backwards compatibility */ +diff --git a/libc/sysdeps/linux/common/statfs.c b/libc/sysdeps/linux/common/statfs.c +index ab9ec0e56..2990ff3e2 100644 +--- a/libc/sysdeps/linux/common/statfs.c ++++ b/libc/sysdeps/linux/common/statfs.c +@@ -18,16 +18,6 @@ extern __typeof(statfs) __libc_statfs attribute_hidden; + int __libc_statfs(const char *path, struct statfs *buf) + { + int err = INLINE_SYSCALL(statfs64, 3, path, sizeof(*buf), buf); +- +- if (err == 0) { +- /* Did we overflow? */ +- if (buf->__pad1 || buf->__pad2 || buf->__pad3 || +- buf->__pad4 || buf->__pad5) { +- __set_errno(EOVERFLOW); +- return -1; +- } +- } +- + return err; + } + # if defined __UCLIBC_LINUX_SPECIFIC__ || defined __UCLIBC_HAS_THREADS_NATIVE__ +-- +2.19.1 + diff --git a/package/uclibc/0002-librt-declare-clock_nanosleep-independent-of-thread-.patch b/package/uclibc/0002-librt-declare-clock_nanosleep-independent-of-thread-.patch deleted file mode 100644 index bb9ef18b4f..0000000000 --- a/package/uclibc/0002-librt-declare-clock_nanosleep-independent-of-thread-.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 368a1df04a32c3b95859b0ca588da8548a5f39ca Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Tue, 1 May 2018 19:35:20 +0200 -Subject: [PATCH] librt: declare clock_nanosleep independent of thread support - -Reported-by: Baruch Siach -Signed-off-by: Waldemar Brodkorb ---- - include/time.h | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/include/time.h b/include/time.h -index 785c8f6..1a14089 100644 ---- a/include/time.h -+++ b/include/time.h -@@ -356,7 +356,6 @@ extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) - # endif /* __UCLIBC_HAS_REALTIME__ */ - - # if defined __USE_XOPEN2K && defined __UCLIBC_HAS_ADVANCED_REALTIME__ --# ifdef __UCLIBC_HAS_THREADS_NATIVE__ - /* High-resolution sleep with the specified clock. - - This function is a cancellation point and therefore not marked with -@@ -367,7 +366,6 @@ extern int clock_nanosleep (clockid_t __clock_id, int __flags, - - /* Return clock ID for CPU-time clock. */ - extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __THROW; --# endif /* __UCLIBC_HAS_THREADS_NATIVE__ */ - # endif - - # if defined __UCLIBC_HAS_REALTIME__ --- -2.1.4 - diff --git a/package/uclibc/0002-xtensa-add-custom-bits-poll.h.patch b/package/uclibc/0002-xtensa-add-custom-bits-poll.h.patch new file mode 100644 index 0000000000..030938bbcd --- /dev/null +++ b/package/uclibc/0002-xtensa-add-custom-bits-poll.h.patch @@ -0,0 +1,93 @@ +From 0cae9700a4a421dc22c80d205fbae4d01fdd1356 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 12 Dec 2018 06:58:01 -0800 +Subject: [PATCH] xtensa: add custom bits/poll.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Definitions of POLLWRNORM, POLLWRBAND and POLLREMOVE in xtensa linux +kernel are non-standard. Provide bits/poll.h with correct values for +these constants. + +This fixes the following strace build errors: + + In file included from xlat/pollflags.h:4:0, + from poll.c:34: + ./static_assert.h:40:24: error: static assertion failed: "POLLWRBAND != 0x0100" + # define static_assert _Static_assert + ^ + xlat/pollflags.h:75:1: note: in expansion of macro ‘static_assert’ + static_assert((POLLWRBAND) == (0x0100), "POLLWRBAND != 0x0100"); + ^~~~~~~~~~~~~ + ./static_assert.h:40:24: error: static assertion failed: "POLLREMOVE != 0x0800" + # define static_assert _Static_assert + ^ + xlat/pollflags.h:117:1: note: in expansion of macro ‘static_assert’ + static_assert((POLLREMOVE) == (0x0800), "POLLREMOVE != 0x0800"); + ^~~~~~~~~~~~~ + +Signed-off-by: Max Filippov +--- + libc/sysdeps/linux/xtensa/bits/poll.h | 49 +++++++++++++++++++++++++++++++++++ + 1 file changed, 49 insertions(+) + create mode 100644 libc/sysdeps/linux/xtensa/bits/poll.h + +diff --git a/libc/sysdeps/linux/xtensa/bits/poll.h b/libc/sysdeps/linux/xtensa/bits/poll.h +new file mode 100644 +index 000000000000..4588cc326006 +--- /dev/null ++++ b/libc/sysdeps/linux/xtensa/bits/poll.h +@@ -0,0 +1,49 @@ ++/* Copyright (C) 1997, 2001, 2006 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#ifndef _SYS_POLL_H ++# error "Never use directly; include instead." ++#endif ++ ++/* Event types that can be polled for. These bits may be set in `events' ++ to indicate the interesting event types; they will appear in `revents' ++ to indicate the status of the file descriptor. */ ++#define POLLIN 0x001 /* There is data to read. */ ++#define POLLPRI 0x002 /* There is urgent data to read. */ ++#define POLLOUT 0x004 /* Writing now will not block. */ ++ ++#ifdef __USE_XOPEN ++/* These values are defined in XPG4.2. */ ++# define POLLRDNORM 0x040 /* Normal data may be read. */ ++# define POLLRDBAND 0x080 /* Priority data may be read. */ ++# define POLLWRNORM POLLOUT /* Writing now will not block. */ ++# define POLLWRBAND 0x100 /* Priority data may be written. */ ++#endif ++ ++#ifdef __USE_GNU ++/* These are extensions for Linux. */ ++# define POLLMSG 0x400 ++# define POLLREMOVE 0x800 ++# define POLLRDHUP 0x2000 ++#endif ++ ++/* Event types always implicitly polled for. These bits need not be set in ++ `events', but they will appear in `revents' to indicate the status of ++ the file descriptor. */ ++#define POLLERR 0x008 /* Error condition. */ ++#define POLLHUP 0x010 /* Hung up. */ ++#define POLLNVAL 0x020 /* Invalid polling request. */ +-- +2.11.0 + diff --git a/package/uclibc/0003-ldso-arc-fix-LD_DEBUG-segv-when-printing-R_ARC_NONE.patch b/package/uclibc/0003-ldso-arc-fix-LD_DEBUG-segv-when-printing-R_ARC_NONE.patch deleted file mode 100644 index ad87698f53..0000000000 --- a/package/uclibc/0003-ldso-arc-fix-LD_DEBUG-segv-when-printing-R_ARC_NONE.patch +++ /dev/null @@ -1,45 +0,0 @@ -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/package/uclibc/Config.in b/package/uclibc/Config.in index a566881852..de2885bc92 100644 --- a/package/uclibc/Config.in +++ b/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 diff --git a/package/uclibc/uclibc.hash b/package/uclibc/uclibc.hash index 81936f3639..d1cbdb6c78 100644 --- a/package/uclibc/uclibc.hash +++ b/package/uclibc/uclibc.hash @@ -1,2 +1,4 @@ -# From https://uclibc-ng.org/ -sha256 992bd9a2889ea385902b87e3d3d30603741eb16728288fbf537ff2027f770496 uClibc-ng-1.0.30.tar.xz +# From https://downloads.uclibc-ng.org/releases/1.0.31/uClibc-ng-1.0.31.tar.xz.sha256 +sha256 2215d7377118434d1697fd575f10d7a6be3f29e460d6b0e1ee9f6f5306288060 uClibc-ng-1.0.31.tar.xz +# Locally calculated +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB diff --git a/package/uclibc/uclibc.mk b/package/uclibc/uclibc.mk index 63d36943ed..afc4872b65 100644 --- a/package/uclibc/uclibc.mk +++ b/package/uclibc/uclibc.mk @@ -4,9 +4,9 @@ # ################################################################################ -UCLIBC_VERSION = 1.0.30 +UCLIBC_VERSION = 1.0.31 UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz -UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) +UCLIBC_SITE = https://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) UCLIBC_LICENSE = LGPL-2.1+ UCLIBC_LICENSE_FILES = COPYING.LIB UCLIBC_INSTALL_STAGING = YES @@ -425,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/package/udftools/0003-Include-sys-sysmacros-h-to-prevent-build-breakage-with-glibc-2-25.patch b/package/udftools/0003-Include-sys-sysmacros-h-to-prevent-build-breakage-with-glibc-2-25.patch new file mode 100644 index 0000000000..ac56715d62 --- /dev/null +++ b/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/package/udisks/0003-Fix-compilation-issue-with-missing-sys-sysmacros.h-i.patch b/package/udisks/0003-Fix-compilation-issue-with-missing-sys-sysmacros.h-i.patch new file mode 100644 index 0000000000..71152e5de3 --- /dev/null +++ b/package/udisks/0003-Fix-compilation-issue-with-missing-sys-sysmacros.h-i.patch @@ -0,0 +1,81 @@ +From d934b0fa5ce24a8fd1987b916e435ba991c2ef64 Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Mon, 31 Dec 2018 11:00:46 +0200 +Subject: [PATCH] Fix compilation issue due to missing sys/sysmacros.h include + +glibc 2.28+ no longer include from , so + must now be explicitly included to use the major, +minor and makedev macros. + +Signed-off-by: Vadim Kochan +--- + src/daemon.c | 1 + + src/device.c | 1 + + src/mount-monitor.c | 1 + + tools/udisks.c | 1 + + tools/umount-udisks.c | 1 + + 5 files changed, 5 insertions(+) + +diff --git a/src/daemon.c b/src/daemon.c +index fafcf9a..4303a6d 100644 +--- a/src/daemon.c ++++ b/src/daemon.c +@@ -45,6 +45,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/src/device.c b/src/device.c +index 2ae7f38..20920df 100644 +--- a/src/device.c ++++ b/src/device.c +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/src/mount-monitor.c b/src/mount-monitor.c +index 573a69c..0cfa167 100644 +--- a/src/mount-monitor.c ++++ b/src/mount-monitor.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + + #include +diff --git a/tools/udisks.c b/tools/udisks.c +index 97e80d7..22a7d87 100644 +--- a/tools/udisks.c ++++ b/tools/udisks.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/tools/umount-udisks.c b/tools/umount-udisks.c +index 2813fe0..d915660 100644 +--- a/tools/umount-udisks.c ++++ b/tools/umount-udisks.c +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.14.1 + diff --git a/package/uemacs/02-skip-xcase-termios-flag.patch b/package/uemacs/02-skip-xcase-termios-flag.patch deleted file mode 100644 index 2cc53579c7..0000000000 --- a/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/package/uemacs/uemacs.hash b/package/uemacs/uemacs.hash index 33f50ca72d..7dcbba926e 100644 --- a/package/uemacs/uemacs.hash +++ b/package/uemacs/uemacs.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d28aa611e377c178808b5fe9dcb4285391070d2b2b96931b7d5fa0e5f99ed30e uemacs-31a16c0ccab9a4b69c79920244b9c623bee7bffe.tar.gz +sha256 9b4a849f65edb482f59bc40f646e7cd79915b3030ea9bd825868347217db3c96 uemacs-1cdcf9df88144049750116e36fe20c8c39fa2517.tar.gz sha256 6e2a4cf41ec8d4379c154923349733bc0d3935c6fa72c4337cf1bc137b98b90a README diff --git a/package/uemacs/uemacs.mk b/package/uemacs/uemacs.mk index 845d610760..96868832dd 100644 --- a/package/uemacs/uemacs.mk +++ b/package/uemacs/uemacs.mk @@ -4,7 +4,7 @@ # ################################################################################ -UEMACS_VERSION = 31a16c0ccab9a4b69c79920244b9c623bee7bffe +UEMACS_VERSION = 1cdcf9df88144049750116e36fe20c8c39fa2517 UEMACS_SITE = https://git.kernel.org/pub/scm/editors/uemacs/uemacs.git UEMACS_SITE_METHOD = git UEMACS_DEPENDENCIES = ncurses diff --git a/package/unixodbc/Config.in b/package/unixodbc/Config.in index d5434d1ef1..eb0ad9c541 100644 --- a/package/unixodbc/Config.in +++ b/package/unixodbc/Config.in @@ -1,8 +1,12 @@ config BR2_PACKAGE_UNIXODBC bool "unixodbc" + depends on !BR2_STATIC_LIBS # dlopen() help The unixODBC Project goals are to develop and promote unixODBC to be the definitive standard for ODBC on non MS Windows platforms. http://www.unixodbc.org + +comment "unixodbc needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/package/unzip/unzip.hash b/package/unzip/unzip.hash index a138cc27c9..fbf2615ad6 100644 --- a/package/unzip/unzip.hash +++ b/package/unzip/unzip.hash @@ -1,2 +1,15 @@ # Locally computed: sha256 036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37 unzip60.tgz +sha256 66a364d75cea29363768ca6d43dd11b9913a59e42b8da16c4f63516c3e4ce7c1 07-increase-size-of-cfactorstr.patch +sha256 3a8cfd2702d220c6c119eaf805b018b66460284e585e92adc8a572d190471724 08-allow-greater-hostver-values.patch +sha256 0a1b23118b2f4a3ed097348ab33050d4f79b3863ab30e6d64ac382589834e3de 09-cve-2014-8139-crc-overflow.patch +sha256 32b1eda30644c44a8bdb9a02ff08bb2eca107f8eb16dda6992a9b778a0de395e 10-cve-2014-8140-test-compr-eb.patch +sha256 1f60f6e28b36f3cddb7da64c528cfe29160cefa1232e13bb8a47561f574067a9 11-cve-2014-8141-getzip64data.patch +sha256 c05885bb48b41603f0893ada88f15c0fae3b3f9f6489f24ad630a400f6271351 12-cve-2014-9636-test-compr-eb.patch +sha256 788c29727ff0689c3b1828466127758426f6d2c769048aa985950373747c76f3 14-cve-2015-7696.patch +sha256 e85dab65c3ebf3c4ab3359a4143cfd0efccfd1cac517a4e7bd5f518f41a02b6f 15-cve-2015-7697.patch +sha256 95dd15d5d9cdf5cea18c357b152930d6d52660599e0fd4907d6405870fdd9fe1 16-fix-integer-underflow-csiz-decrypted.patch +sha256 ea04cfc8b7ca3b3c03117da0d891870b8c542d26188ef5593fd7e479f4f29f4e 17-restore-unix-timestamps-accurately.patch +sha256 1872ffdd4d82edd7b1e62c469642bf16a1ca12dd26d41bd3f0b44f0f7602eb63 18-cve-2014-9913-unzip-buffer-overflow.patch +sha256 60840ea8f5d11a276972fb5b43652cdd49a9ed93b2cc0586ad309bf52104b012 19-cve-2016-9844-zipinfo-buffer-overflow.patch +sha256 4eabc3faeddd56ebc3d5053486b61f8758d840902725fd555d3472cffb094437 20-cve-2018-1000035-unzip-buffer-overflow.patch diff --git a/package/unzip/unzip.mk b/package/unzip/unzip.mk index cff5951ac0..43e90125e6 100644 --- a/package/unzip/unzip.mk +++ b/package/unzip/unzip.mk @@ -10,4 +10,19 @@ UNZIP_SITE = ftp://ftp.info-zip.org/pub/infozip/src UNZIP_LICENSE = Info-ZIP UNZIP_LICENSE_FILES = LICENSE +UNZIP_PATCH = \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/07-increase-size-of-cfactorstr.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/08-allow-greater-hostver-values.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/09-cve-2014-8139-crc-overflow.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/10-cve-2014-8140-test-compr-eb.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/11-cve-2014-8141-getzip64data.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/12-cve-2014-9636-test-compr-eb.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/14-cve-2015-7696.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/15-cve-2015-7697.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/16-fix-integer-underflow-csiz-decrypted.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/17-restore-unix-timestamps-accurately.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/18-cve-2014-9913-unzip-buffer-overflow.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/19-cve-2016-9844-zipinfo-buffer-overflow.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/20-cve-2018-1000035-unzip-buffer-overflow.patch + $(eval $(cmake-package)) diff --git a/package/upmpdcli/0001-Use-uint64_t-instead-of-u_int64_t.patch b/package/upmpdcli/0001-Use-uint64_t-instead-of-u_int64_t.patch new file mode 100644 index 0000000000..69e05827ce --- /dev/null +++ b/package/upmpdcli/0001-Use-uint64_t-instead-of-u_int64_t.patch @@ -0,0 +1,72 @@ +From 256394399f57ba6e3057ee2c981127a14e4623f8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +Date: Tue, 22 Jan 2019 09:07:56 +0100 +Subject: [PATCH] Use uint64_t instead of u_int64_t +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +`uintN_t` is standard C99 type available in ``, whereas `u_intN_t` +is defined `` + +As upmpdcli already uses the `uintN_t` type, replace the few existing +`u_intN_t` types, as it breaks build with the musl C library, which is +very strict, because of the missing ``: + +``` +src/mediaserver/cdplugins/netfetch.h:71:5: error: ‘u_int64_t’ does not name a type + u_int64_t datacount() { +``` + +Backported from: 256394399f57ba6e3057ee2c981127a14e4623f8 + +Signed-off-by: Jörg Krause +--- + src/mediaserver/cdplugins/netfetch.h | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/mediaserver/cdplugins/netfetch.h b/src/mediaserver/cdplugins/netfetch.h +index d7e9df4..d105e53 100644 +--- a/src/mediaserver/cdplugins/netfetch.h ++++ b/src/mediaserver/cdplugins/netfetch.h +@@ -68,7 +68,7 @@ public: + /// Reset after transfer done, for retrying for exemple. + virtual bool reset() = 0; + +- u_int64_t datacount() { ++ uint64_t datacount() { + return fetch_data_count; + } + +@@ -84,11 +84,11 @@ public: + buf1cb = f; + } + // Called when the network transfer is done +- void setEOFetchCB(std::function f) { ++ void setEOFetchCB(std::function f) { + eofcb = f; + } + // Called every time we get new data from the remote +- void setFetchBytesCB(std::function f) { ++ void setFetchBytesCB(std::function f) { + fbcb = f; + } + +@@ -98,11 +98,11 @@ protected: + std::string _url; + uint64_t startoffset; + int timeoutsecs{0}; +- u_int64_t fetch_data_count{0}; ++ uint64_t fetch_data_count{0}; + BufXChange *outqueue{nullptr}; + std::function buf1cb; +- std::function fbcb; +- std::function eofcb; ++ std::function fbcb; ++ std::function eofcb; + }; + + #endif /* _MEDIAFETCH_H_INCLUDED_ */ +-- +2.20.1 + diff --git a/package/upmpdcli/Config.in b/package/upmpdcli/Config.in index cf85a793ea..74eb768830 100644 --- a/package/upmpdcli/Config.in +++ b/package/upmpdcli/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_UPMPDCLI bool "upmpdcli" depends on BR2_USE_MMU # fork() depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS # libupnpp, libmicrohttpd + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11, libupnpp select BR2_PACKAGE_JSONCPP select BR2_PACKAGE_LIBMICROHTTPD @@ -15,6 +15,8 @@ config BR2_PACKAGE_UPMPDCLI http://www.lesbonscomptes.com/upmpdcli/ -comment "upmpdcli needs a toolchain w/ C++, threads, gcc >= 4.9" +comment "upmpdcli needs a toolchain w/ C++, NPTL, gcc >= 4.9" depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/package/upmpdcli/upmpdcli.hash b/package/upmpdcli/upmpdcli.hash index c59655c9fe..cbd12fe293 100644 --- a/package/upmpdcli/upmpdcli.hash +++ b/package/upmpdcli/upmpdcli.hash @@ -1,5 +1,5 @@ -# From http://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-1.2.16.tar.gz.sha256: -sha256 b0dfd33cd5c1c2e4f770660c12d7303b6d8b3fdca4f63530c6a235ce279a9d98 upmpdcli-1.2.16.tar.gz +# From http://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-1.4.0.tar.gz.sha256: +sha256 28742910fa16b72f0c4e5b7dc561f59aa7f1a5fdd3e8e4f72f359d2e4af90d35 upmpdcli-1.4.0.tar.gz # Hash for license file: -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/package/upmpdcli/upmpdcli.mk b/package/upmpdcli/upmpdcli.mk index 069b143998..22a5bf2429 100644 --- a/package/upmpdcli/upmpdcli.mk +++ b/package/upmpdcli/upmpdcli.mk @@ -4,12 +4,17 @@ # ################################################################################ -UPMPDCLI_VERSION = 1.2.16 +UPMPDCLI_VERSION = 1.4.0 UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads -UPMPDCLI_LICENSE = GPL-2.0+ +UPMPDCLI_LICENSE = LGPL-2.1+ UPMPDCLI_LICENSE_FILES = COPYING UPMPDCLI_DEPENDENCIES = host-pkgconf libmpdclient libupnpp libmicrohttpd jsoncpp +# Disable spotify plugin which requires dlfcn.h +ifeq ($(BR2_STATIC_LIBS),y) +UPMPDCLI_CONF_OPTS = --disable-spotify +endif + # Upmpdcli only runs if user upmpdcli exists define UPMPDCLI_USERS upmpdcli -1 upmpdcli -1 * - - audio Upmpdcli MPD UPnP Renderer Front-End diff --git a/package/usb_modeswitch/usb_modeswitch.mk b/package/usb_modeswitch/usb_modeswitch.mk index d0c33cc187..9832d3c808 100644 --- a/package/usb_modeswitch/usb_modeswitch.mk +++ b/package/usb_modeswitch/usb_modeswitch.mk @@ -10,14 +10,16 @@ USB_MODESWITCH_SITE = http://www.draisberghof.de/usb_modeswitch USB_MODESWITCH_DEPENDENCIES = libusb USB_MODESWITCH_LICENSE = GPL-2.0+ USB_MODESWITCH_LICENSE_FILES = COPYING - -USB_MODESWITCH_BUILD_TARGETS = static -USB_MODESWITCH_INSTALL_TARGETS = install-static +# Package does not build in parallel due to improper make rules +USB_MODESWITCH_MAKE = $(MAKE1) ifeq ($(BR2_PACKAGE_TCL)$(BR2_PACKAGE_TCL_SHLIB_ONLY),y) USB_MODESWITCH_DEPENDENCIES += tcl USB_MODESWITCH_BUILD_TARGETS = script USB_MODESWITCH_INSTALL_TARGETS = install-script +else +USB_MODESWITCH_BUILD_TARGETS = static +USB_MODESWITCH_INSTALL_TARGETS = install-static endif # build system of embedded jimtcl doesn't use autotools, but does use diff --git a/package/ustream-ssl/ustream-ssl.hash b/package/ustream-ssl/ustream-ssl.hash new file mode 100644 index 0000000000..ba315f88dc --- /dev/null +++ b/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/package/ustream-ssl/ustream-ssl.mk b/package/ustream-ssl/ustream-ssl.mk index 9b10788293..7804eb5d38 100644 --- a/package/ustream-ssl/ustream-ssl.mk +++ b/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/package/util-linux/0001-rtcwake-use-poweroff-if-shutdown-is-not-found.patch b/package/util-linux/0001-rtcwake-use-poweroff-if-shutdown-is-not-found.patch new file mode 100644 index 0000000000..b97be2ef07 --- /dev/null +++ b/package/util-linux/0001-rtcwake-use-poweroff-if-shutdown-is-not-found.patch @@ -0,0 +1,86 @@ +From e1686b25acdedb34cc357f08f0dd3ca01c559dfd Mon Sep 17 00:00:00 2001 +From: Justin Chen +Date: Thu, 1 Nov 2018 11:10:38 -0700 +Subject: [PATCH] rtcwake: use poweroff if shutdown is not found + +Some systems do not have the shutdown command. Use poweroff as an +alternative. + +Signed-off-by: Justin Chen +--- + include/pathnames.h | 1 + + sys-utils/rtcwake.c | 39 +++++++++++++++++++++++++++------------ + 2 files changed, 28 insertions(+), 12 deletions(-) + +diff --git a/include/pathnames.h b/include/pathnames.h +index 3d5052e6f..ed8ea330d 100644 +--- a/include/pathnames.h ++++ b/include/pathnames.h +@@ -53,6 +53,7 @@ + # define _PATH_LOGIN "/bin/login" + #endif + #define _PATH_SHUTDOWN "/sbin/shutdown" ++#define _PATH_POWEROFF "/sbin/poweroff" + + #define _PATH_TERMCOLORS_DIRNAME "terminal-colors.d" + #define _PATH_TERMCOLORS_DIR "/etc/" _PATH_TERMCOLORS_DIRNAME +diff --git a/sys-utils/rtcwake.c b/sys-utils/rtcwake.c +index b63c64627..029f00f9b 100644 +--- a/sys-utils/rtcwake.c ++++ b/sys-utils/rtcwake.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -582,18 +583,32 @@ int main(int argc, char **argv) + char *arg[5]; + int i = 0; + +- if (ctl.verbose) +- printf(_("suspend mode: off; executing %s\n"), +- _PATH_SHUTDOWN); +- arg[i++] = _PATH_SHUTDOWN; +- arg[i++] = "-h"; +- arg[i++] = "-P"; +- arg[i++] = "now"; +- arg[i] = NULL; +- if (!ctl.dryrun) { +- execv(arg[0], arg); +- warn(_("failed to execute %s"), _PATH_SHUTDOWN); +- rc = EXIT_FAILURE; ++ if (!access(_PATH_SHUTDOWN, X_OK)) { ++ arg[i++] = _PATH_SHUTDOWN; ++ arg[i++] = "-h"; ++ arg[i++] = "-P"; ++ arg[i++] = "now"; ++ arg[i] = NULL; ++ } else if (!access(_PATH_POWEROFF, X_OK)) { ++ arg[i++] = _PATH_POWEROFF; ++ arg[i] = NULL; ++ } else { ++ arg[i] = NULL; ++ } ++ ++ if (arg[0]) { ++ if (ctl.verbose) ++ printf(_("suspend mode: off; executing %s\n"), ++ arg[0]); ++ if (!ctl.dryrun) { ++ execv(arg[0], arg); ++ warn(_("failed to execute %s"), arg[0]); ++ rc = EX_EXEC_ENOENT; ++ } ++ } else { ++ /* Failed to find shutdown command */ ++ warn(_("failed to find shutdown command")); ++ rc = EX_EXEC_ENOENT; + } + break; + } +-- +2.17.1 + diff --git a/package/util-linux/0002-agetty-fix-output-of-escaped-characters.patch b/package/util-linux/0002-agetty-fix-output-of-escaped-characters.patch new file mode 100644 index 0000000000..fcd9731348 --- /dev/null +++ b/package/util-linux/0002-agetty-fix-output-of-escaped-characters.patch @@ -0,0 +1,26 @@ +From 73c5a3cc748b853936319e6cdc94159a6974db52 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Wed, 7 Nov 2018 13:55:06 +0100 +Subject: [PATCH] agetty: fix output of escaped characters + +Signed-off-by: Christian Hesse +--- + term-utils/agetty.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/term-utils/agetty.c b/term-utils/agetty.c +index 05a269abb..b9f08728e 100644 +--- a/term-utils/agetty.c ++++ b/term-utils/agetty.c +@@ -2755,7 +2755,7 @@ static void output_special_char(struct issue *ie, + break; + } + default: +- putchar(c); ++ putc(c, ie->output); + break; + } + } +-- +2.17.1 + diff --git a/package/util-linux/0003-setarch-fix-obscure-sparc32bash-use-case.patch b/package/util-linux/0003-setarch-fix-obscure-sparc32bash-use-case.patch new file mode 100644 index 0000000000..70588b863e --- /dev/null +++ b/package/util-linux/0003-setarch-fix-obscure-sparc32bash-use-case.patch @@ -0,0 +1,84 @@ +From 3fa06e049012218d883d0e1251df86bafbc446bf Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 22 Nov 2018 11:03:35 +0100 +Subject: [PATCH] setarch: fix obscure sparc32bash use-case + +Reported-by: Carlos Santos +Signed-off-by: Karel Zak +Signed-off-by: Carlos Santos +--- + sys-utils/setarch.c | 28 ++++++++++++++++++---------- + 1 file changed, 18 insertions(+), 10 deletions(-) + +diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c +index a733f7b3c..7c0a63fbb 100644 +--- a/sys-utils/setarch.c ++++ b/sys-utils/setarch.c +@@ -268,6 +268,7 @@ int main(int argc, char *argv[]) + int c; + struct arch_domain *doms, *target; + unsigned long pers_value = 0; ++ char *shell = NULL, *shell_arg = NULL; + + /* Options without equivalent short options */ + enum { +@@ -310,14 +311,14 @@ int main(int argc, char *argv[]) + archwrapper = strcmp(program_invocation_short_name, "setarch") != 0; + if (archwrapper) { + arch = program_invocation_short_name; /* symlinks to setarch */ +-#if defined(__sparc64__) || defined(__sparc__) ++ ++ /* Don't use ifdef sparc here, we get "Unrecognized architecture" ++ * error message later if necessary */ + if (strcmp(arch, "sparc32bash") == 0) { +- if (set_arch(arch, 0L, 0)) +- err(EXIT_FAILURE, _("Failed to set personality to %s"), arch); +- execl("/bin/bash", "", NULL); +- errexec("/bin/bash"); ++ shell = "/bin/bash"; ++ shell_arg = ""; ++ goto set_arch; + } +-#endif + } else { + if (1 < argc && *argv[1] != '-') { + arch = argv[1]; +@@ -391,6 +392,7 @@ int main(int argc, char *argv[]) + argc -= optind; + argv += optind; + ++set_arch: + /* get execution domain (architecture) */ + if (arch) { + doms = init_arch_domains(); +@@ -422,17 +424,23 @@ int main(int argc, char *argv[]) + if (arch) + verify_arch_domain(target, arch); + ++ if (!argc) { ++ shell = "/bin/sh"; ++ shell_arg = "-sh"; ++ } + if (verbose) { +- printf(_("Execute command `%s'.\n"), argc ? argv[0] : "/bin/sh"); ++ printf(_("Execute command `%s'.\n"), shell ? shell : argv[0]); + /* flush all output streams before exec */ + fflush(NULL); + } + +- if (!argc) { +- execl("/bin/sh", "-sh", NULL); +- errexec("/bin/sh"); ++ /* Execute shell */ ++ if (shell) { ++ execl(shell, shell_arg, NULL); ++ errexec(shell); + } + ++ /* Execute on command line specified command */ + execvp(argv[0], argv); + errexec(argv[0]); + } +-- +2.14.5 + diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in index 5f0a35cdbb..a5a137bfe0 100644 --- a/package/util-linux/Config.in +++ b/package/util-linux/Config.in @@ -53,7 +53,7 @@ config BR2_PACKAGE_UTIL_LINUX_BINARIES help Install the basic set of util-linux binaries. - blkdiscard, blkid, blockdev, chcpu, col, colcrt, colrm, + blkdiscard, blkid, blockdev, chcpu, choom, col, colcrt, colrm, column, ctrlaltdel, dmesg, fdisk, fincore, findfs, findmnt, flock, fsfreeze, fstrim, getopt, hexdump, ipcmk, isosize, ldattach, look, lsblk, lscpu, lsipc, lslocks, lsns, mcookie, diff --git a/package/util-linux/util-linux.hash b/package/util-linux/util-linux.hash index 1b7d6db45a..ed503a12ed 100644 --- a/package/util-linux/util-linux.hash +++ b/package/util-linux/util-linux.hash @@ -1,9 +1,9 @@ -# From https://www.kernel.org/pub/linux/utils/util-linux/v2.32/sha256sums.asc -sha256 86e6707a379c7ff5489c218cfaf1e3464b0b95acf7817db0bc5f179e356a67b2 util-linux-2.32.1.tar.xz +# From https://www.kernel.org/pub/linux/utils/util-linux/v2.33/sha256sums.asc +sha256 f261b9d73c35bfeeea04d26941ac47ee1df937bd3b0583e748217c1ea423658a util-linux-2.33.tar.xz # License files, locally calculated -sha256 1e4b65802b0df8115395c697029d03339f983d451a473a08643309c684410d9a README.licensing -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/licenses/COPYING.GPLv2 -sha256 ba7640f00d93e72e92b94b9d71f25ec53bac2f1682f5c4adcccb0018359f60f8 Documentation/licenses/COPYING.UCB -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Documentation/licenses/COPYING.LGPLv2.1 -sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3 +sha256 4335620e8f478ee4dc4d26540448d39469091ef1d8e3fbbbb8bf753206ceac74 README.licensing +sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3-Clause +sha256 ba7640f00d93e72e92b94b9d71f25ec53bac2f1682f5c4adcccb0018359f60f8 Documentation/licenses/COPYING.BSD-4-Clause-UC +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/licenses/COPYING.GPL-2.0-or-later sha256 e53348ce276358e9997014071c5294b36a18c4b34f32f00ee57b9acce0aafd63 Documentation/licenses/COPYING.ISC +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Documentation/licenses/COPYING.LGPL-2.1-or-later diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index d6b3c33b26..c176d364ce 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -4,15 +4,20 @@ # ################################################################################ -UTIL_LINUX_VERSION_MAJOR = 2.32 -UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).1 +UTIL_LINUX_VERSION_MAJOR = 2.33 +UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR) UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.xz UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR) # README.licensing claims that some files are GPL-2.0 only, but this is not true. # Some files are GPL-3.0+ but only in tests. rfkill uses an ISC-style license. UTIL_LINUX_LICENSE = GPL-2.0+, BSD-4-Clause, LGPL-2.1+ (libblkid, libfdisk, libmount), BSD-3-Clause (libuuid) ISC (rfkill) -UTIL_LINUX_LICENSE_FILES = README.licensing Documentation/licenses/COPYING.GPLv2 Documentation/licenses/COPYING.UCB Documentation/licenses/COPYING.LGPLv2.1 Documentation/licenses/COPYING.BSD-3 Documentation/licenses/COPYING.ISC +UTIL_LINUX_LICENSE_FILES = README.licensing \ + Documentation/licenses/COPYING.BSD-3-Clause \ + Documentation/licenses/COPYING.BSD-4-Clause-UC \ + Documentation/licenses/COPYING.GPL-2.0-or-later \ + Documentation/licenses/COPYING.ISC \ + Documentation/licenses/COPYING.LGPL-2.1-or-later UTIL_LINUX_INSTALL_STAGING = YES UTIL_LINUX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) UTIL_LINUX_CONF_OPTS += \ diff --git a/package/utp_com/Config.in.host b/package/utp_com/Config.in.host new file mode 100644 index 0000000000..8f733de8c0 --- /dev/null +++ b/package/utp_com/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_UTP_COM + bool "host utp_com" + help + This package is used to send commands to hardware + via Freescale's UTP protocol (similar to MFGTools) + + https://github.com/ixonos/utp_com diff --git a/package/utp_com/utp_com.hash b/package/utp_com/utp_com.hash new file mode 100644 index 0000000000..bc25be209f --- /dev/null +++ b/package/utp_com/utp_com.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 8b5ba0058a78de69faf6822bb10b457fff2f9e55dc112ccb81c35214b061c6e6 utp_com-dee512ced1e9367d223d22f10797fbf9aeacfab6.tar.gz +sha256 a45d0bb572ed792ed34627a72621834b3ba92aab6e2cc4e04301dee7a728d753 LICENSE diff --git a/package/utp_com/utp_com.mk b/package/utp_com/utp_com.mk new file mode 100644 index 0000000000..5890a70d0e --- /dev/null +++ b/package/utp_com/utp_com.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# utp_com +# +################################################################################ + +UTP_COM_VERSION = dee512ced1e9367d223d22f10797fbf9aeacfab6 +UTP_COM_SITE = $(call github,freescale,utp_com,$(UTP_COM_VERSION)) +UTP_COM_LICENSE = GPL-2.0+ +UTP_COM_LICENSE_FILES = LICENSE +HOST_UTP_COM_DEPENDENCIES = host-sg3_utils + +define HOST_UTP_COM_BUILD_CMDS + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +define HOST_UTP_COM_INSTALL_CMDS + $(INSTALL) -D -m 755 $(@D)/utp_com $(HOST_DIR)/bin/utp_com +endef + +$(eval $(host-generic-package)) diff --git a/package/v4l2loopback/v4l2loopback.hash b/package/v4l2loopback/v4l2loopback.hash index 2b69fd7fb7..1f368121c7 100644 --- a/package/v4l2loopback/v4l2loopback.hash +++ b/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/package/v4l2loopback/v4l2loopback.mk b/package/v4l2loopback/v4l2loopback.mk index 669f8fc669..a6dedb2a31 100644 --- a/package/v4l2loopback/v4l2loopback.mk +++ b/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/package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch b/package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch new file mode 100644 index 0000000000..a5573d518d --- /dev/null +++ b/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/package/valgrind/Config.in b/package/valgrind/Config.in index 56e4af21fa..c09be8629a 100644 --- a/package/valgrind/Config.in +++ b/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/package/valgrind/valgrind.hash b/package/valgrind/valgrind.hash index ea05dd677c..87fb496857 100644 --- a/package/valgrind/valgrind.hash +++ b/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/package/valgrind/valgrind.mk b/package/valgrind/valgrind.mk index 11dec607dd..cae14f79b9 100644 --- a/package/valgrind/valgrind.mk +++ b/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/package/valijson/valijson.hash b/package/valijson/valijson.hash index 79b3fb7d69..ffa1281797 100644 --- a/package/valijson/valijson.hash +++ b/package/valijson/valijson.hash @@ -1,2 +1,2 @@ # Locally Computed: -sha256 f2346e995bd95c6b86b0b9e9dd228fe134d529565fa86db764c48496805dd9bc valijson-424b706f990a9eb96dfc19cc8e54f2cd6ce5e186.tar.gz +sha256 d22c1f8fe27d43e5a27aad1d3cbe9f1318ec28ccfa913e615663ed2bd6a5d063 valijson-v0.1.tar.gz diff --git a/package/valijson/valijson.mk b/package/valijson/valijson.mk index 71bd6a8fb0..e1b816ddd7 100644 --- a/package/valijson/valijson.mk +++ b/package/valijson/valijson.mk @@ -4,7 +4,7 @@ # ################################################################################ -VALIJSON_VERSION = 424b706f990a9eb96dfc19cc8e54f2cd6ce5e186 +VALIJSON_VERSION = v0.1 VALIJSON_SITE = $(call github,tristanpenman,valijson,$(VALIJSON_VERSION)) VALIJSON_LICENSE = BSD-2-Clause VALIJSON_LICENSE_FILES = LICENSE diff --git a/package/vboot-utils/0006-Update-for-openssl-1.1.patch b/package/vboot-utils/0006-Update-for-openssl-1.1.patch new file mode 100644 index 0000000000..77e71e58b8 --- /dev/null +++ b/package/vboot-utils/0006-Update-for-openssl-1.1.patch @@ -0,0 +1,268 @@ +From 2e730b2259c701f16d473dbfb7e58e86a6e71b01 Mon Sep 17 00:00:00 2001 +From: Daniel Kurtz +Date: Fri, 18 Jan 2019 13:04:59 +0200 +Subject: [PATCH] Update for openssl 1.1 + +OpenSSL 1.1 has made significant non-backwards compatible changes to its +API as outlined in: +https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes + +BRANCH=none +BUG=chromium:738114 +TEST=cros_workon --host start vboot_reference +TEST=w/ openssl-1.0.2k: sudo emerge vboot_reference +TEST=w/ openssl-1.1.0e: sudo emerge vboot_reference + => both build ok + $ futility version + => command runs without error +TEST=cros_workon --board=soraka start vboot_reference coreboot +TEST=w/ openssl-1.0.2k: emerge-soraka vboot_reference coreboot +TEST=w/ openssl-1.1.0e: emerge-soraka vboot_reference coreboot + => All build ok + +Change-Id: I37cfc8cbb04a092eab7b0b3224f475b82609447c +Reviewed-on: https://chromium-review.googlesource.com/557739 +Commit-Ready: Daniel Kurtz +Tested-by: Daniel Kurtz +Reviewed-by: Randall Spangler +Reviewed-by: Mike Frysinger + +(cherry-picked from bce7904376beee2912932433a4634c1c25afe2f5) +Signed-off-by: Vadim Kochan +--- + futility/cmd_create.c | 5 ++++- + futility/vb2_helper.c | 7 +++++-- + host/include/openssl_compat.h | 26 ++++++++++++++++++++++++++ + host/lib/util_misc.c | 7 +++++-- + host/lib21/host_key.c | 8 +++++++- + utility/dumpRSAPublicKey.c | 19 ++++++++++++++----- + 6 files changed, 61 insertions(+), 11 deletions(-) + create mode 100644 host/include/openssl_compat.h + +diff --git a/futility/cmd_create.c b/futility/cmd_create.c +index 143ea9ae..80d3fd90 100644 +--- a/futility/cmd_create.c ++++ b/futility/cmd_create.c +@@ -13,6 +13,7 @@ + #include "2common.h" + #include "2id.h" + #include "2rsa.h" ++#include "openssl_compat.h" + #include "util_misc.h" + #include "vb2_common.h" + #include "vb2_struct.h" +@@ -170,6 +171,7 @@ static int vb2_make_keypair() + enum vb2_signature_algorithm sig_alg; + uint8_t *pubkey_buf = 0; + int has_priv = 0; ++ const BIGNUM *rsa_d; + + FILE *fp; + int ret = 1; +@@ -193,7 +195,8 @@ static int vb2_make_keypair() + goto done; + } + /* Public keys doesn't have the private exponent */ +- has_priv = !!rsa_key->d; ++ RSA_get0_key(rsa_key, NULL, NULL, &rsa_d); ++ has_priv = !!rsa_d; + if (!has_priv) + fprintf(stderr, "%s has a public key only.\n", infile); + +diff --git a/futility/vb2_helper.c b/futility/vb2_helper.c +index 51a78375..c6cc0fdd 100644 +--- a/futility/vb2_helper.c ++++ b/futility/vb2_helper.c +@@ -11,6 +11,7 @@ + #include "2common.h" + #include "2id.h" + #include "2rsa.h" ++#include "openssl_compat.h" + #include "util_misc.h" + #include "vb2_common.h" + #include "vb2_struct.h" +@@ -216,6 +217,7 @@ int ft_show_pem(const char *name, uint8_t *buf, uint32_t len, void *data) + uint8_t *keyb, *digest; + uint32_t keyb_len; + int i, bits; ++ const BIGNUM *rsa_key_n, *rsa_key_d; + + /* We're called only after ft_recognize_pem, so this should work. */ + rsa_key = rsa_from_buffer(buf, len); +@@ -223,10 +225,11 @@ int ft_show_pem(const char *name, uint8_t *buf, uint32_t len, void *data) + DIE; + + /* Use to presence of the private exponent to decide if it's public */ +- printf("%s Key file: %s\n", rsa_key->d ? "Private" : "Public", ++ RSA_get0_key(rsa_key, &rsa_key_n, NULL, &rsa_key_d); ++ printf("%s Key file: %s\n", rsa_key_d ? "Private" : "Public", + name); + +- bits = BN_num_bits(rsa_key->n); ++ bits = BN_num_bits(rsa_key_n); + printf(" Key length: %d\n", bits); + + if (vb_keyb_from_rsa(rsa_key, &keyb, &keyb_len)) { +diff --git a/host/include/openssl_compat.h b/host/include/openssl_compat.h +new file mode 100644 +index 00000000..7771f32a +--- /dev/null ++++ b/host/include/openssl_compat.h +@@ -0,0 +1,26 @@ ++/* Copyright 2017 The Chromium OS Authors. All rights reserved. ++ * Use of this source code is governed by a BSD-style license that can be ++ * found in the LICENSE file. ++ */ ++ ++#ifndef VBOOT_REFERENCE_OPENSSL_COMPAT_H_ ++#define VBOOT_REFERENCE_OPENSSL_COMPAT_H_ ++ ++#include ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++static inline void RSA_get0_key(const RSA *rsa, const BIGNUM **n, ++ const BIGNUM **e, const BIGNUM **d) ++{ ++ if (n != NULL) ++ *n = rsa->n; ++ if (e != NULL) ++ *e = rsa->e; ++ if (d != NULL) ++ *d = rsa->d; ++} ++ ++#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ ++ ++#endif /* VBOOT_REFERENCE_OPENSSL_COMPAT_H_ */ +diff --git a/host/lib/util_misc.c b/host/lib/util_misc.c +index 03ec683f..f0a1f7ad 100644 +--- a/host/lib/util_misc.c ++++ b/host/lib/util_misc.c +@@ -15,6 +15,7 @@ + + #include "cryptolib.h" + #include "host_common.h" ++#include "openssl_compat.h" + #include "util_misc.h" + #include "vboot_common.h" + +@@ -58,6 +59,7 @@ int vb_keyb_from_rsa(struct rsa_st *rsa_private_key, + BIGNUM *N0inv = NULL, *R = NULL, *RR = NULL; + BIGNUM *RRTemp = NULL, *NnumBits = NULL; + BIGNUM *n = NULL, *rr = NULL; ++ const BIGNUM *rsa_private_key_n; + BN_CTX *bn_ctx = BN_CTX_new(); + uint32_t n0invout; + uint32_t bufsize; +@@ -65,7 +67,7 @@ int vb_keyb_from_rsa(struct rsa_st *rsa_private_key, + int retval = 1; + + /* Size of RSA key in 32-bit words */ +- nwords = BN_num_bits(rsa_private_key->n) / 32; ++ nwords = RSA_size(rsa_private_key) / 4; + + bufsize = (2 + nwords + nwords) * sizeof(uint32_t); + outbuf = malloc(bufsize); +@@ -94,7 +96,8 @@ int vb_keyb_from_rsa(struct rsa_st *rsa_private_key, + NEW_BIGNUM(B); + #undef NEW_BIGNUM + +- BN_copy(N, rsa_private_key->n); ++ RSA_get0_key(rsa_private_key, &rsa_private_key_n, NULL, NULL); ++ BN_copy(N, rsa_private_key_n); + BN_set_word(Big1, 1L); + BN_set_word(Big2, 2L); + BN_set_word(Big32, 32L); +diff --git a/host/lib21/host_key.c b/host/lib21/host_key.c +index f7ea1622..f9419ad3 100644 +--- a/host/lib21/host_key.c ++++ b/host/lib21/host_key.c +@@ -17,6 +17,7 @@ + #include "host_common.h" + #include "host_key2.h" + #include "host_misc.h" ++#include "openssl_compat.h" + + struct vb2_text_vs_enum vb2_text_vs_algorithm[] = { + {"RSA1024 SHA1", VB2_ALG_RSA1024_SHA1}, +@@ -544,7 +545,12 @@ int vb2_public_key_hash(struct vb2_public_key *key, + + enum vb2_signature_algorithm vb2_rsa_sig_alg(struct rsa_st *rsa) + { +- int bits = BN_num_bits(rsa->n); ++ const BIGNUM *e, *n; ++ int exp, bits; ++ ++ RSA_get0_key(rsa, &n, &e, NULL); ++ exp = BN_get_word(e); ++ bits = BN_num_bits(n); + + switch (bits) { + case 1024: +diff --git a/utility/dumpRSAPublicKey.c b/utility/dumpRSAPublicKey.c +index b3b7b96b..a17b159e 100644 +--- a/utility/dumpRSAPublicKey.c ++++ b/utility/dumpRSAPublicKey.c +@@ -14,14 +14,20 @@ + #include + #include + ++#include "openssl_compat.h" ++ + /* Command line tool to extract RSA public keys from X.509 certificates + * and output a pre-processed version of keys for use by RSA verification + * routines. + */ + + int check(RSA* key) { +- int public_exponent = BN_get_word(key->e); +- int modulus = BN_num_bits(key->n); ++ const BIGNUM *n, *e; ++ int public_exponent, modulus; ++ ++ RSA_get0_key(key, &n, &e, NULL); ++ public_exponent = BN_get_word(e); ++ modulus = BN_num_bits(n); + + if (public_exponent != 65537) { + fprintf(stderr, "WARNING: Public exponent should be 65537 (but is %d).\n", +@@ -40,7 +46,8 @@ int check(RSA* key) { + */ + void output(RSA* key) { + int i, nwords; +- BIGNUM *N = key->n; ++ const BIGNUM *key_n; ++ BIGNUM *N = NULL; + BIGNUM *Big1 = NULL, *Big2 = NULL, *Big32 = NULL, *BigMinus1 = NULL; + BIGNUM *B = NULL; + BIGNUM *N0inv= NULL, *R = NULL, *RR = NULL, *RRTemp = NULL, *NnumBits = NULL; +@@ -48,14 +55,15 @@ void output(RSA* key) { + BN_CTX *bn_ctx = BN_CTX_new(); + uint32_t n0invout; + +- N = key->n; + /* Output size of RSA key in 32-bit words */ +- nwords = BN_num_bits(N) / 32; ++ nwords = RSA_size(key) / 4; + if (-1 == write(1, &nwords, sizeof(nwords))) + goto failure; + + + /* Initialize BIGNUMs */ ++ RSA_get0_key(key, &key_n, NULL, NULL); ++ N = BN_dup(key_n); + Big1 = BN_new(); + Big2 = BN_new(); + Big32 = BN_new(); +@@ -120,6 +128,7 @@ void output(RSA* key) { + + failure: + /* Free BIGNUMs. */ ++ BN_free(N); + BN_free(Big1); + BN_free(Big2); + BN_free(Big32); +-- +2.14.1 + diff --git a/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk b/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk index a25a99dfa8..f41ad701d3 100644 --- a/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk +++ b/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk @@ -19,7 +19,8 @@ endef define VDR_PLUGIN_VNSISERVER_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ - install DESTDIR=$(TARGET_DIR) LIBDIR=/usr/lib/vdr + install DESTDIR=$(TARGET_DIR) LIBDIR=/usr/lib/vdr \ + LOCDIR=/usr/share/locale endef $(eval $(generic-package)) diff --git a/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch b/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch index 4caa170b02..784ffa35f6 100644 --- a/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch +++ b/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/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch b/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch deleted file mode 100644 index c1cb2fa10e..0000000000 --- a/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/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch b/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch new file mode 100644 index 0000000000..11eaaf3b20 --- /dev/null +++ b/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/package/vlc/0003-automake-add-subdir-objects-option.patch b/package/vlc/0003-automake-add-subdir-objects-option.patch index 877114a273..d4493bdf7f 100644 --- a/package/vlc/0003-automake-add-subdir-objects-option.patch +++ b/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/package/vlc/0004-Drop-error-implicit-function-declaration-compile-fla.patch b/package/vlc/0004-Drop-error-implicit-function-declaration-compile-fla.patch deleted file mode 100644 index 62666b3dae..0000000000 --- a/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/package/vlc/0004-build-use-pkg-config-to-get-tremor-libs.patch b/package/vlc/0004-build-use-pkg-config-to-get-tremor-libs.patch new file mode 100644 index 0000000000..652718b013 --- /dev/null +++ b/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/package/vlc/0005-Don-t-hardcode-the-name-of-the-vorbis-and-ogg-librar.patch b/package/vlc/0005-Don-t-hardcode-the-name-of-the-vorbis-and-ogg-librar.patch deleted file mode 100644 index bd8231cd03..0000000000 --- a/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/package/vlc/0005-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch b/package/vlc/0005-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch new file mode 100644 index 0000000000..a1d7189689 --- /dev/null +++ b/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/package/vlc/0006-Don-t-assume-X11-is-available-when-Qt5-is-used.patch b/package/vlc/0006-Don-t-assume-X11-is-available-when-Qt5-is-used.patch deleted file mode 100644 index 0a07dd735d..0000000000 --- a/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/package/vlc/0007-Don-t-assume-strerror_l-is-available.patch b/package/vlc/0006-Don-t-assume-strerror_l-is-available.patch similarity index 53% rename from package/vlc/0007-Don-t-assume-strerror_l-is-available.patch rename to package/vlc/0006-Don-t-assume-strerror_l-is-available.patch index e587b05d27..6775086553 100644 --- a/package/vlc/0007-Don-t-assume-strerror_l-is-available.patch +++ b/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 @@ -11,6 +11,7 @@ Fix compile error Code for #else condition was taken from http://patches.osdyson.org/patch/series/view/vlc/2.2.0~rc2-1+dyson2/dyson.patch +[Bernd: rebased for vlc-3.0.6] Signed-off-by: Bernd Kuhls --- configure.ac | 2 +- @@ -18,18 +19,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 lfind lldiv memrchr nrand48 poll recvmsg rewind sendmsg setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strnstr strsep strtof strtok_r strtoll swab tdestroy tfind timegm timespec_get strverscmp pathconf]) + AC_REPLACE_FUNCS([gettimeofday]) + AC_CHECK_FUNC(fdatasync,, diff --git a/src/posix/error.c b/src/posix/error.c index db51004601..b4aa6fb3ca 100644 --- a/src/posix/error.c @@ -53,5 +54,5 @@ index db51004601..b4aa6fb3ca 100644 } -- -2.14.3 +2.14.4 diff --git a/package/vlc/0007-posix-remove-ancient-run-time-fallback-to-real-time-.patch b/package/vlc/0007-posix-remove-ancient-run-time-fallback-to-real-time-.patch new file mode 100644 index 0000000000..4fc639e222 --- /dev/null +++ b/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/package/vlc/0008-Add-support-for-freerdp2.patch b/package/vlc/0008-Add-support-for-freerdp2.patch new file mode 100644 index 0000000000..75f095545b --- /dev/null +++ b/package/vlc/0008-Add-support-for-freerdp2.patch @@ -0,0 +1,150 @@ +From 3780bbb20bf35aa8f21ac672da3f0c5f408468e9 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 16 Aug 2018 12:27:40 +0200 +Subject: [PATCH] Add support for freerdp2 + +Downloaded from +https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/vlc/files/vlc-2.2.8-freerdp-2.patch + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 2 +- + modules/access/rdp.c | 51 ++++++++++++++------------------------------------- + 2 files changed, 15 insertions(+), 38 deletions(-) + +diff --git a/configure.ac b/configure.ac +index bfe43512a2..4808b8becf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1992,7 +1992,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su + + dnl RDP/Remote Desktop access module + dnl +-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) ) ++PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) ) + + dnl + dnl Real RTSP plugin +diff --git a/modules/access/rdp.c b/modules/access/rdp.c +index 2992090219..49986f5da9 100644 +--- a/modules/access/rdp.c ++++ b/modules/access/rdp.c +@@ -45,18 +45,6 @@ + # include + #endif + +-#if !defined(FREERDP_VERSION_MAJOR) || \ +- (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))) +-# define SoftwareGdi sw_gdi +-# define Fullscreen fullscreen +-# define ServerHostname hostname +-# define Username username +-# define Password password +-# define ServerPort port +-# define EncryptionMethods encryption +-# define ContextSize context_size +-#endif +- + #include + #ifdef HAVE_POLL + # include +@@ -144,6 +132,7 @@ static void desktopResizeHandler( rdpContext *p_context ) + vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context; + demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys; + rdpGdi *p_gdi = p_context->gdi; ++ unsigned bytesPerPixel; + + if ( p_sys->es ) + { +@@ -153,17 +142,21 @@ static void desktopResizeHandler( rdpContext *p_context ) + + /* Now init and fill es format */ + vlc_fourcc_t i_chroma; +- switch( p_gdi->bytesPerPixel ) ++ switch( p_gdi->dstFormat ) + { + default: +- case 16: ++ msg_Dbg( p_vlccontext->p_demux, "unhandled dstFormat %x bpp", p_gdi->dstFormat); ++ case PIXEL_FORMAT_BGR16: + i_chroma = VLC_CODEC_RGB16; ++ bytesPerPixel = 16; + break; +- case 24: ++ case PIXEL_FORMAT_BGR24: + i_chroma = VLC_CODEC_RGB24; ++ bytesPerPixel = 24; + break; +- case 32: ++ case PIXEL_FORMAT_BGRA32: + i_chroma = VLC_CODEC_RGB32; ++ bytesPerPixel = 32; + break; + } + es_format_t fmt; +@@ -176,7 +169,7 @@ static void desktopResizeHandler( rdpContext *p_context ) + fmt.video.i_height = p_gdi->height; + fmt.video.i_frame_rate_base = 1000; + fmt.video.i_frame_rate = 1000 * p_sys->f_fps; +- p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel; ++ p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * bytesPerPixel; + + if ( p_sys->p_block ) + p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize ); +@@ -237,28 +230,19 @@ static bool postConnectHandler( freerdp *p_instance ) + vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context; + + msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)", +-#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)) + p_instance->settings->DesktopWidth, + p_instance->settings->DesktopHeight, + p_instance->settings->ColorDepth +-#else +- p_instance->settings->width, +- p_instance->settings->height, +- p_instance->settings->color_depth +-#endif + ); + + p_instance->update->DesktopResize = desktopResizeHandler; + p_instance->update->BeginPaint = beginPaintHandler; + p_instance->update->EndPaint = endPaintHandler; + +- gdi_init( p_instance, +- CLRBUF_16BPP | +-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \ +- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2)) +- CLRBUF_24BPP | +-#endif +- CLRBUF_32BPP, NULL ); ++ if ( p_instance->settings->ColorDepth > 16 ) ++ gdi_init( p_instance, PIXEL_FORMAT_XRGB32); ++ else ++ gdi_init( p_instance, PIXEL_FORMAT_RGB16); + + desktopResizeHandler( p_instance->context ); + return true; +@@ -432,10 +416,6 @@ static int Open( vlc_object_t *p_this ) + if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0; + p_sys->i_frame_interval = 1000000 / p_sys->f_fps; + +-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2 +- freerdp_channels_global_init(); +-#endif +- + p_sys->p_instance = freerdp_new(); + if ( !p_sys->p_instance ) + { +@@ -508,9 +488,6 @@ static void Close( vlc_object_t *p_this ) + + freerdp_disconnect( p_sys->p_instance ); + freerdp_free( p_sys->p_instance ); +-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2 +- freerdp_channels_global_uninit(); +-#endif + + if ( p_sys->p_block ) + block_Release( p_sys->p_block ); +-- +2.14.4 + diff --git a/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library-.patch b/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library-.patch deleted file mode 100644 index d9f4241309..0000000000 --- a/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/package/vlc/0009-Changes-for-ffmpeg-3.0.patch b/package/vlc/0009-Changes-for-ffmpeg-3.0.patch deleted file mode 100644 index a765a0a6c4..0000000000 --- a/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/package/vlc/0009-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch b/package/vlc/0009-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch new file mode 100644 index 0000000000..2b74fe0d39 --- /dev/null +++ b/package/vlc/0009-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch @@ -0,0 +1,50 @@ +From 27635f902831fac898586f1f3dc98369f12582c9 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 26 Aug 2018 12:51:04 +0200 +Subject: [PATCH] configure.ac: also use AC_PATH_PROG to check for + wayland-scanner + +When cross-compiling the .pc file might point to the wrong +wayland-scanner binary (target rather than host) resulting in a +non-executable and wrong scanner. +Try searching the PATH first, and if that fails fall back into +pkg-config. + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4808b8becf..a18641ed23 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3140,14 +3140,17 @@ AS_IF([test "${enable_wayland}" != "no"], [ + AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors 'wayland-protocols >= 1.4')]) + ]) + +- AC_MSG_CHECKING([for the Wayland scanner]) +- PKG_CHECK_EXISTS([wayland-scanner], [ +- WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)" +- AC_MSG_RESULT([${WAYLAND_SCANNER}]) +- ], [ +- AC_MSG_RESULT([not found]) +- AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors wayland-scanner)]) +- ]) ++ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) ++ if test "x$WAYLAND_SCANNER" = x; then ++ AC_MSG_CHECKING([for the Wayland scanner]) ++ PKG_CHECK_EXISTS([wayland-scanner], [ ++ WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)" ++ AC_MSG_RESULT([${WAYLAND_SCANNER}]) ++ ], [ ++ AC_MSG_RESULT([not found]) ++ AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors wayland-scanner)]) ++ ]) ++ fi + + have_wayland="yes" + +-- +2.18.0 + diff --git a/package/vlc/0010-Fix-build-when-using-C99-and-C-11.patch b/package/vlc/0010-Fix-build-when-using-C99-and-C-11.patch deleted file mode 100644 index 8f12f5325e..0000000000 --- a/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/package/vlc/0011-compat-fix-static_assert.patch b/package/vlc/0011-compat-fix-static_assert.patch deleted file mode 100644 index 7ad2414e46..0000000000 --- a/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/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch b/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch deleted file mode 100644 index 58ae02e35c..0000000000 --- a/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/package/vlc/0013-x264-drop-148-build-support-and-fix-10bit-support.patch b/package/vlc/0013-x264-drop-148-build-support-and-fix-10bit-support.patch deleted file mode 100644 index b9e3272fd4..0000000000 --- a/package/vlc/0013-x264-drop-148-build-support-and-fix-10bit-support.patch +++ /dev/null @@ -1,213 +0,0 @@ -From 5d003fa5df276b62efe82329ef9ce2fd30a34f46 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 - -x264: drop <148 build support and fix 10bit support - -Drop old #if as 148 is not that recent anymore. - -fixes #19581 - -Rebased upstream commit -http://git.videolan.org/?p=vlc.git;a=commitdiff;h=a8953ba707cca1f2de372ca24513296bcfcdaaa8 - -Signed-off-by: Bernd Kuhls ---- - modules/codec/x264.c | 65 ++++++++-------------------------------------------- - 1 file changed, 10 insertions(+), 55 deletions(-) - -diff --git a/modules/codec/x264.c b/modules/codec/x264.c -index be5d0006de..96a4b08524 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 ); - "I-frames, but do not start a new GOP." ) - - #define OPENGOP_TEXT N_("Use recovery points to close GOPs") --#if X264_BUILD < 115 --#define OPENGOP_LONGTEXT N_("none: use closed GOPs only\n"\ -- "normal: use standard open GOPs\n" \ -- "bluray: use Blu-ray compatible open GOPs" ) --#else - #define OPENGOP_LONGTEXT N_("use open GOP, for bluray compatibility use also bluray-compat option") --#endif - - #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 () - add_integer( SOUT_CFG_PREFIX "min-keyint", 25, MIN_KEYINT_TEXT, - MIN_KEYINT_LONGTEXT, true ) - --#if X264_BUILD >= 102 && X264_BUILD <= 114 -- add_string( SOUT_CFG_PREFIX "opengop", "none", OPENGOP_TEXT, -- OPENGOP_LONGTEXT, true ) -- change_string_list( x264_open_gop_names, x264_open_gop_names ) --#elif X264_BUILD > 114 - add_bool( SOUT_CFG_PREFIX "opengop", false, OPENGOP_TEXT, - OPENGOP_LONGTEXT, true ) - add_bool( SOUT_CFG_PREFIX "bluray-compat", false, BLURAY_TEXT, - BLURAY_LONGTEXT, true ) --#endif - - add_integer( SOUT_CFG_PREFIX "scenecut", 40, SCENE_TEXT, - SCENE_LONGTEXT, true ) -@@ -500,13 +488,8 @@ vlc_module_begin () - B_BIAS_LONGTEXT, true ) - change_integer_range( -100, 100 ) - --#if X264_BUILD >= 87 - add_string( SOUT_CFG_PREFIX "bpyramid", "normal", BPYRAMID_TEXT, - BPYRAMID_LONGTEXT, true ) --#else -- add_string( SOUT_CFG_PREFIX "bpyramid", "none", BPYRAMID_TEXT, -- BPYRAMID_LONGTEXT, true ) --#endif - 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 () - 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) --#endif - - add_integer( SOUT_CFG_PREFIX "slices", 0, SLICE_COUNT, SLICE_COUNT_LONGTEXT, true ) - add_integer( SOUT_CFG_PREFIX "slice-max-size", 0, SLICE_MAX_SIZE, SLICE_MAX_SIZE_LONGTEXT, true ) - add_integer( SOUT_CFG_PREFIX "slice-max-mbs", 0, SLICE_MAX_MBS, SLICE_MAX_MBS_LONGTEXT, true ) - --#if X264_BUILD >= 89 - add_string( SOUT_CFG_PREFIX "hrd", "none", HRD_TEXT, HRD_TEXT, true ) - vlc_config_set (VLC_CONFIG_LIST, - (sizeof(x264_nal_hrd_names) / sizeof (char*)) - 1, - x264_nal_hrd_names, x264_nal_hrd_names); --#endif - - - /* Ratecontrol */ -@@ -843,20 +822,14 @@ static int Open ( vlc_object_t *p_this ) - fullrange = var_GetBool( p_enc, SOUT_CFG_PREFIX "fullrange" ); - p_enc->fmt_in.i_codec = fullrange ? VLC_CODEC_J420 : VLC_CODEC_I420; - p_sys->i_colorspace = X264_CSP_I420; --#if X264_BUILD >= 118 - char *psz_profile = var_GetString( p_enc, SOUT_CFG_PREFIX "profile" ); -- if( psz_profile ) -- { -- const int mask = x264_bit_depth > 8 ? X264_CSP_HIGH_DEPTH : 0; -- -- - # ifdef MODULE_NAME_IS_x26410b -- if( mask == 0) -- { -- msg_Err( p_enc, "Only high bith depth encoding supported, bit depth:%d", x264_bit_depth); -- return VLC_EGENERIC; -- } -+ const int mask = X264_CSP_HIGH_DEPTH; -+# else -+ const int mask = 0; - # endif -+ if( psz_profile ) -+ { - - if( !strcmp( psz_profile, "high10" ) ) - { -@@ -879,7 +852,6 @@ static int Open ( vlc_object_t *p_this ) - msg_Err( p_enc, "Only high-profiles and 10-bit are supported"); - return VLC_EGENERIC; - } -- - # endif - } - # ifdef MODULE_NAME_IS_x26410b -@@ -890,7 +862,6 @@ static int Open ( vlc_object_t *p_this ) - } - # endif - free( psz_profile ); --#endif //X264_BUILD - - p_enc->pf_encode_video = Encode; - p_enc->pf_encode_audio = NULL; -@@ -913,6 +884,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 ); -+# if X264_BUILD > 152 -+ if( mask ) -+ p_sys->param.i_bitdepth = 10; -+# endif - #endif - free( psz_preset ); - free( psz_tune ); -@@ -1045,10 +1020,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" ); - --#if X264_BUILD >= 111 - if( var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" ) > -1 ) - p_sys->param.i_frame_packing = var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" ); --#endif - - 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 ) - - 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; --#if X264_BUILD >= 102 - if( i_val == -1 ) p_sys->param.i_keyint_max = X264_KEYINT_MAX_INFINITE; --#endif - - i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "min-keyint" ); - if( i_val > 0 && i_val != 25 ) p_sys->param.i_keyint_min = i_val; - --#if X264_BUILD >= 102 && X264_BUILD <= 114 -- psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "opengop" ); -- if( !strcmp( psz_val, "none" ) ) -- p_sys->param.i_open_gop = X264_OPEN_GOP_NONE; -- else if( !strcmp( psz_val, "normal" ) ) -- p_sys->param.i_open_gop = X264_OPEN_GOP_NORMAL; -- else if( !strcmp( psz_val, "bluray" ) ) -- p_sys->param.i_open_gop = X264_OPEN_GOP_BLURAY; -- free( psz_val ); --#elif X264_BUILD >= 115 - p_sys->param.b_open_gop = var_GetBool( p_enc, SOUT_CFG_PREFIX "opengop" ); - p_sys->param.b_bluray_compat = var_GetBool( p_enc, SOUT_CFG_PREFIX "bluray-compat" ); --#endif -+ - 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 ) - if( i_val >= 1 && i_val != 7 ) - p_sys->param.analyse.i_subpel_refine = i_val; - --#if X264_BUILD >= 89 - psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "hrd"); - if( !strcmp( psz_val, "vbr" ) ) - p_sys->param.i_nal_hrd = X264_NAL_HRD_VBR; - else if( !strcmp( psz_val, "cbr" ) ) - p_sys->param.i_nal_hrd = X264_NAL_HRD_CBR; - free( psz_val ); --#endif - - //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 ) - int i_nal=0, i_out=0, i=0; - - /* init pic */ --#if X264_BUILD >= 98 - x264_picture_init( &pic ); --#else -- memset( &pic, 0, sizeof( x264_picture_t ) ); --#endif - if( likely(p_pict) ) { - pic.i_pts = p_pict->date; - pic.img.i_csp = p_sys->i_colorspace; --- -2.14.3 - diff --git a/package/vlc/Config.in b/package/vlc/Config.in index 78769ac27b..70e1ca41a1 100644 --- a/package/vlc/Config.in +++ b/package/vlc/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_VLC 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 @@ -27,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/package/vlc/vlc.hash b/package/vlc/vlc.hash index 02b70ef943..e2c5fecfad 100644 --- a/package/vlc/vlc.hash +++ b/package/vlc/vlc.hash @@ -1,8 +1,9 @@ -# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.sha256 -sha256 9bf046848fb56d93518881b39099b8288ee005d5ba0ddf705b6f6643b8d562ec vlc-2.2.8.tar.xz -# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.sha1 -sha1 b960ec5bdb9a51da285430fc68962927ccc87187 vlc-2.2.8.tar.xz -# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.md5 -md5 b721fddf65aaf64eeee5629aa9bf7c9e vlc-2.2.8.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.6/vlc-3.0.6.tar.xz.sha256 +sha256 18c16d4be0f34861d0aa51fbd274fb87f0cab3b7119757ead93f3db3a1f27ed3 vlc-3.0.6.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.6/vlc-3.0.6.tar.xz.sha1 +sha1 b35168c1811b07844d861311bd0f2194f4bb82ac vlc-3.0.6.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.6/vlc-3.0.6.tar.xz.md5 +md5 4ff71d262e070fd19f86a1c3542c7b4e vlc-3.0.6.tar.xz +# Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk index af85377c94..8dbaf86a08 100644 --- a/package/vlc/vlc.mk +++ b/package/vlc/vlc.mk @@ -4,7 +4,7 @@ # ################################################################################ -VLC_VERSION = 2.2.8 +VLC_VERSION = 3.0.6 VLC_SITE = https://get.videolan.org/vlc/$(VLC_VERSION) VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz VLC_LICENSE = GPL-2.0+, LGPL-2.1+ @@ -17,11 +17,15 @@ VLC_INSTALL_STAGING = YES # gcc bug internal compiler error: in merge_overlapping_regs, at # regrename.c:304. This bug is fixed since gcc 6. -ifeq ($(BR2_microblaze):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:) +ifeq ($(BR2_microblaze)$(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:) VLC_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O0" VLC_CONF_OPTS += --disable-optimizations endif +# configure check for -fstack-protector-strong is broken +VLC_CONF_ENV += \ + ax_cv_check_cflags___fstack_protector_strong=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) + # VLC defines two autoconf functions which are also defined by our own pkg.m4 # from pkgconf. Unfortunately, they are defined in a different way: VLC adds # --enable- options, but pkg.m4 adds --with- options. To make sure we use @@ -34,33 +38,53 @@ endef VLC_POST_PATCH_HOOKS += VLC_OVERRIDE_PKG_M4 VLC_CONF_OPTS += \ - --disable-gles1 \ --disable-a52 \ - --disable-shout \ - --disable-twolame \ - --disable-dca \ - --disable-schroedinger \ - --disable-fluidsynth \ - --disable-zvbi \ - --disable-kate \ - --disable-caca \ - --disable-jack \ - --disable-samplerate \ - --disable-chromaprint \ - --disable-goom \ - --disable-projectm \ - --disable-vsxu \ - --disable-mtp \ - --disable-mmal-codec \ - --disable-mmal-vout \ - --disable-dvdnav \ - --disable-vpx \ - --disable-jpeg \ - --disable-x262 \ - --disable-x265 \ - --disable-mfx \ - --disable-vdpau \ --disable-addonmanagermodules \ + --disable-aom \ + --disable-aribb25 \ + --disable-aribsub \ + --disable-asdcp \ + --disable-bpg \ + --disable-caca \ + --disable-chromaprint \ + --disable-chromecast \ + --disable-crystalhd \ + --disable-dc1394 \ + --disable-dca \ + --disable-decklink \ + --disable-dsm \ + --disable-dv1394 \ + --disable-fluidlite \ + --disable-fluidsynth \ + --disable-gme \ + --disable-goom \ + --disable-jack \ + --disable-jpeg \ + --disable-kai \ + --disable-kate \ + --disable-kva \ + --disable-libplacebo \ + --disable-linsys \ + --disable-mfx \ + --disable-microdns \ + --disable-mmal \ + --disable-mtp \ + --disable-notify \ + --disable-projectm \ + --disable-schroedinger \ + --disable-shine \ + --disable-shout \ + --disable-sndio \ + --disable-spatialaudio \ + --disable-srt \ + --disable-telx \ + --disable-tiger \ + --disable-twolame \ + --disable-vdpau \ + --disable-vsxu \ + --disable-wasapi \ + --disable-x262 \ + --disable-zvbi \ --enable-run-as-root # Uses __atomic_fetch_add_4 @@ -92,12 +116,12 @@ else VLC_CONF_OPTS += --disable-alsa endif -# bonjour support needs avahi-client, which needs avahi-daemon and dbus +# avahi support needs avahi-client, which needs avahi-daemon and dbus ifeq ($(BR2_PACKAGE_AVAHI)$(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yyy) -VLC_CONF_OPTS += --enable-bonjour -VLC_DEPENDENCIES += avahi dbus +VLC_CONF_OPTS += --enable-avahi +VLC_DEPENDENCIES += avahi else -VLC_CONF_OPTS += --disable-bonjour +VLC_CONF_OPTS += --disable-avahi endif ifeq ($(BR2_PACKAGE_DBUS),y) @@ -107,14 +131,6 @@ else VLC_CONF_OPTS += --disable-dbus endif -ifeq ($(BR2_PACKAGE_DIRECTFB),y) -VLC_CONF_OPTS += --enable-directfb -VLC_CONF_ENV += ac_cv_path_DIRECTFB_CONFIG=$(STAGING_DIR)/usr/bin/directfb-config -VLC_DEPENDENCIES += directfb -else -VLC_CONF_OPTS += --disable-directfb -endif - ifeq ($(BR2_PACKAGE_FAAD2),y) VLC_CONF_OPTS += --enable-faad VLC_DEPENDENCIES += faad2 @@ -149,13 +165,30 @@ VLC_CONF_OPTS += --disable-flac endif ifeq ($(BR2_PACKAGE_FREERDP),y) +VLC_CONF_OPTS += --enable-freerdp VLC_DEPENDENCIES += freerdp +else +VLC_CONF_OPTS += --disable-freerdp +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) +VLC_CONF_OPTS += --enable-gst-decode +VLC_DEPENDENCIES += gst1-plugins-base +else +VLC_CONF_OPTS += --disable-gst-decode endif ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) VLC_DEPENDENCIES += libgl endif +ifeq ($(BR2_PACKAGE_HARFBUZZ),y) +VLC_CONF_OPTS += --enable-harfbuzz +VLC_DEPENDENCIES += harfbuzz +else +VLC_CONF_OPTS += --disable-harfbuzz +endif + ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) VLC_CONF_OPTS += --enable-gles2 VLC_DEPENDENCIES += libgles @@ -181,6 +214,13 @@ else VLC_CONF_OPTS += --disable-opus endif +ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) +VLC_CONF_OPTS += --enable-archive +VLC_DEPENDENCIES += libarchive +else +VLC_CONF_OPTS += --disable-archive +endif + ifeq ($(BR2_PACKAGE_LIBASS),y) VLC_CONF_OPTS += --enable-libass VLC_DEPENDENCIES += libass @@ -209,6 +249,20 @@ else VLC_CONF_OPTS += --disable-dvbpsi endif +ifeq ($(BR2_PACKAGE_LIBDVDNAV),y) +VLC_CONF_OPTS += --enable-dvdnav +VLC_DEPENDENCIES += libdvdnav +else +VLC_CONF_OPTS += --disable-dvdnav +endif + +ifeq ($(BR2_PACKAGE_LIBDVDREAD),y) +VLC_CONF_OPTS += --enable-dvdread +VLC_DEPENDENCIES += libdvdread +else +VLC_CONF_OPTS += --disable-dvdread +endif + ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) VLC_CONF_OPTS += --enable-libgcrypt VLC_DEPENDENCIES += libgcrypt @@ -218,6 +272,10 @@ else VLC_CONF_OPTS += --disable-libgcrypt endif +ifeq ($(BR2_PACKAGE_LIBIDN),y) +VLC_DEPENDENCIES += libidn +endif + ifeq ($(BR2_PACKAGE_LIBMAD),y) VLC_CONF_OPTS += --enable-mad VLC_DEPENDENCIES += libmad @@ -226,10 +284,10 @@ VLC_CONF_OPTS += --disable-mad endif ifeq ($(BR2_PACKAGE_LIBMATROSKA),y) -VLC_CONF_OPTS += --enable-mkv +VLC_CONF_OPTS += --enable-matroska VLC_DEPENDENCIES += libmatroska else -VLC_CONF_OPTS += --disable-mkv +VLC_CONF_OPTS += --disable-matroska endif ifeq ($(BR2_PACKAGE_LIBMODPLUG),y) @@ -246,6 +304,13 @@ else VLC_CONF_OPTS += --disable-libmpeg2 endif +ifeq ($(BR2_PACKAGE_LIBNFS),y) +VLC_CONF_OPTS += --enable-nfs +VLC_DEPENDENCIES += libnfs +else +VLC_CONF_OPTS += --disable-nfs +endif + ifeq ($(BR2_PACKAGE_LIBPNG),y) VLC_CONF_OPTS += --enable-png VLC_DEPENDENCIES += libpng @@ -260,6 +325,27 @@ else VLC_CONF_OPTS += --disable-svg --disable-svgdec endif +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) +VLC_CONF_OPTS += --enable-samplerate +VLC_DEPENDENCIES += libsamplerate +else +VLC_CONF_OPTS += --disable-samplerate +endif + +ifeq ($(BR2_PACKAGE_LIBSECRET),y) +VLC_CONF_OPTS += --enable-secret +VLC_DEPENDENCIES += libsecret +else +VLC_CONF_OPTS += --disable-secret +endif + +ifeq ($(BR2_PACKAGE_LIBSOXR),y) +VLC_CONF_OPTS += --enable-soxr +VLC_DEPENDENCIES += libsoxr +else +VLC_CONF_OPTS += --disable-soxr +endif + ifeq ($(BR2_PACKAGE_LIBSSH2),y) VLC_CONF_OPTS += --enable-sftp VLC_DEPENDENCIES += libssh2 @@ -288,6 +374,14 @@ else VLC_CONF_OPTS += --disable-upnp endif +# libva support depends on ffmpeg +ifeq ($(BR2_PACKAGE_FFMPEG)$(BR2_PACKAGE_LIBVA),yy) +VLC_CONF_OPTS += --enable-libva +VLC_DEPENDENCIES += libva +else +VLC_CONF_OPTS += --disable-libva +endif + ifeq ($(BR2_PACKAGE_LIBVNCSERVER),y) VLC_CONF_OPTS += --enable-vnc VLC_DEPENDENCIES += libvncserver @@ -309,6 +403,13 @@ else VLC_CONF_OPTS += --disable-v4l2 endif +ifeq ($(BR2_PACKAGE_LIBVPX),y) +VLC_CONF_OPTS += --enable-vpx +VLC_DEPENDENCIES += libvpx +else +VLC_CONF_OPTS += --disable-vpx +endif + ifeq ($(BR2_PACKAGE_LIBXCB),y) VLC_CONF_OPTS += --enable-xcb VLC_DEPENDENCIES += libxcb @@ -326,14 +427,6 @@ endif ifeq ($(BR2_PACKAGE_LIVE555),y) VLC_CONF_OPTS += --enable-live555 VLC_DEPENDENCIES += live555 -VLC_CONF_ENV += \ - LIVE555_CFLAGS="\ - -I$(STAGING_DIR)/usr/include/BasicUsageEnvironment \ - -I$(STAGING_DIR)/usr/include/groupsock \ - -I$(STAGING_DIR)/usr/include/liveMedia \ - -I$(STAGING_DIR)/usr/include/UsageEnvironment \ - " \ - LIVE555_LIBS="-L$(STAGING_DIR)/usr/lib -lliveMedia" else VLC_CONF_OPTS += --disable-live555 endif @@ -349,6 +442,13 @@ ifeq ($(BR2_PACKAGE_MINIZIP),y) VLC_DEPENDENCIES += minizip endif +ifeq ($(BR2_PACKAGE_MPG123),y) +VLC_CONF_OPTS += --enable-mpg123 +VLC_DEPENDENCIES += mpg123 +else +VLC_CONF_OPTS += --disable-mpg123 +endif + ifeq ($(BR2_PACKAGE_MUSEPACK),y) VLC_CONF_OPTS += --enable-mpc VLC_DEPENDENCIES += musepack @@ -356,22 +456,31 @@ else VLC_CONF_OPTS += --disable-mpc endif -ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y) -VLC_CONF_OPTS += --enable-qt -VLC_CONF_ENV += \ - ac_cv_path_MOC=$(HOST_DIR)/bin/moc \ - ac_cv_path_RCC=$(HOST_DIR)/bin/rcc \ - ac_cv_path_UIC=$(HOST_DIR)/bin/uic -VLC_DEPENDENCIES += qt +ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) +VLC_CONF_OPTS += --enable-ncurses +VLC_DEPENDENCIES += ncurses else -VLC_CONF_OPTS += --disable-qt +VLC_CONF_OPTS += --disable-ncurses endif -ifeq ($(BR2_PACKAGE_SDL_X11),y) -VLC_CONF_OPTS += --enable-sdl -VLC_DEPENDENCIES += sdl +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +VLC_CONF_OPTS += --enable-pulse +VLC_DEPENDENCIES += pulseaudio else -VLC_CONF_OPTS += --disable-sdl +VLC_CONF_OPTS += --disable-pulse +endif + +ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS)$(BR2_PACKAGE_QT5SVG),yy) +VLC_CONF_OPTS += --enable-qt +VLC_DEPENDENCIES += qt5base qt5svg +ifeq ($(BR2_PACKAGE_XLIB_LIBXEXT)$(BR2_PACKAGE_XLIB_LIBXINERAMA)$(BR2_PACKAGE_XLIB_LIBXPM),yyy) +VLC_CONF_OPTS += --enable-skins2 +VLC_DEPENDENCIES += xlib_libXext xlib_libXinerama xlib_libXpm +else +VLC_CONF_OPTS += --disable-skins2 +endif +else +VLC_CONF_OPTS += --disable-qt --disable-skins2 endif ifeq ($(BR2_PACKAGE_SDL_IMAGE),y) @@ -381,6 +490,13 @@ else VLC_CONF_OPTS += --disable-sdl-image endif +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 speexdsp @@ -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/package/vmtouch/Config.in b/package/vmtouch/Config.in new file mode 100644 index 0000000000..daae03aa32 --- /dev/null +++ b/package/vmtouch/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_VMTOUCH + bool "vmtouch" + depends on BR2_USE_MMU # fork() + help + vmtouch is a tool for learning about and controlling + the file system cache of unix and unix-like systems. It + can discover which files the OS is caching, tell the OS + to cache or evict some files or regions of files, lock + files into memory so the OS won't evict them, and more. + + https://hoytech.com/vmtouch/ diff --git a/package/vmtouch/vmtouch.hash b/package/vmtouch/vmtouch.hash new file mode 100644 index 0000000000..2b98891d1c --- /dev/null +++ b/package/vmtouch/vmtouch.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 d57b7b3ae1146c4516429ab7d6db6f2122401db814ddd9cdaad10980e9c8428c vmtouch-v1.3.1.tar.gz + +# Hash for license files: +sha256 13258709ed29c17394e0a3ba8c8b9360af35b85231db514f11a0ba385cecd08e LICENSE diff --git a/package/vmtouch/vmtouch.mk b/package/vmtouch/vmtouch.mk new file mode 100644 index 0000000000..856835acd4 --- /dev/null +++ b/package/vmtouch/vmtouch.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# vmtouch +# +################################################################################ + +VMTOUCH_VERSION = v1.3.1 +VMTOUCH_SITE = $(call github,hoytech,vmtouch,$(VMTOUCH_VERSION)) +VMTOUCH_LICENSE = BSD-3-Clause +VMTOUCH_LICENSE_FILES = LICENSE + +define VMTOUCH_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +define VMTOUCH_INSTALL_TARGET_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install \ + DESTDIR=$(TARGET_DIR) PREFIX=/usr +endef + +$(eval $(generic-package)) diff --git a/package/vsftpd/0004-Prevent-hang-in-SIGCHLD-handler.patch b/package/vsftpd/0004-Prevent-hang-in-SIGCHLD-handler.patch new file mode 100644 index 0000000000..0732c5f632 --- /dev/null +++ b/package/vsftpd/0004-Prevent-hang-in-SIGCHLD-handler.patch @@ -0,0 +1,87 @@ +From 1e65a0a15f819b8bf1b551bd84f71d0da1f5a00c Mon Sep 17 00:00:00 2001 +From: Martin Sehnoutka +Date: Thu, 17 Nov 2016 13:02:27 +0100 +Subject: [PATCH] Prevent hanging in SIGCHLD handler. + +vsftpd can now handle pam_exec.so in pam.d config without hanging +in SIGCHLD handler. + +[Abdelmalek: +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1198259 +Fetched from: +https://src.fedoraproject.org/cgit/rpms/vsftpd.git/plain/0026-Prevent-hanging-in-SIGCHLD-handler.patch] +Signed-off-by: Abdelmalek Benelouezzane +--- + sysutil.c | 4 ++-- + sysutil.h | 2 +- + twoprocess.c | 13 +++++++++++-- + 3 files changed, 14 insertions(+), 5 deletions(-) + +diff --git a/sysutil.c b/sysutil.c +index 6d7cb3f..099748f 100644 +--- a/sysutil.c ++++ b/sysutil.c +@@ -608,13 +608,13 @@ vsf_sysutil_exit(int exit_code) + } + + struct vsf_sysutil_wait_retval +-vsf_sysutil_wait(void) ++vsf_sysutil_wait(int hang) + { + struct vsf_sysutil_wait_retval retval; + vsf_sysutil_memclr(&retval, sizeof(retval)); + while (1) + { +- int sys_ret = wait(&retval.exit_status); ++ int sys_ret = waitpid(-1, &retval.exit_status, hang ? 0 : WNOHANG); + if (sys_ret < 0 && errno == EINTR) + { + vsf_sysutil_check_pending_actions(kVSFSysUtilUnknown, 0, 0); +diff --git a/sysutil.h b/sysutil.h +index c145bdf..13153cd 100644 +--- a/sysutil.h ++++ b/sysutil.h +@@ -177,7 +177,7 @@ struct vsf_sysutil_wait_retval + int PRIVATE_HANDS_OFF_syscall_retval; + int PRIVATE_HANDS_OFF_exit_status; + }; +-struct vsf_sysutil_wait_retval vsf_sysutil_wait(void); ++struct vsf_sysutil_wait_retval vsf_sysutil_wait(int hang); + int vsf_sysutil_wait_reap_one(void); + int vsf_sysutil_wait_get_retval( + const struct vsf_sysutil_wait_retval* p_waitret); +diff --git a/twoprocess.c b/twoprocess.c +index 33d84dc..b1891e7 100644 +--- a/twoprocess.c ++++ b/twoprocess.c +@@ -47,8 +47,17 @@ static void + handle_sigchld(void* duff) + { + +- struct vsf_sysutil_wait_retval wait_retval = vsf_sysutil_wait(); ++ struct vsf_sysutil_wait_retval wait_retval = vsf_sysutil_wait(0); + (void) duff; ++ if (!vsf_sysutil_wait_get_exitcode(&wait_retval) && ++ !vsf_sysutil_wait_get_retval(&wait_retval)) ++ /* There was nobody to wait for, possibly caused by underlying library ++ * which created a new process through fork()/vfork() and already picked ++ * it up, e.g. by pam_exec.so or integrity check routines for libraries ++ * when FIPS mode is on (nss freebl), which can lead to calling prelink ++ * if the prelink package is installed. ++ */ ++ return; + /* Child died, so we'll do the same! Report it as an error unless the child + * exited normally with zero exit code + */ +@@ -390,7 +399,7 @@ common_do_login(struct vsf_session* p_sess, const struct mystr* p_user_str, + priv_sock_send_result(p_sess->parent_fd, PRIV_SOCK_RESULT_OK); + if (!p_sess->control_use_ssl) + { +- (void) vsf_sysutil_wait(); ++ (void) vsf_sysutil_wait(1); + } + else + { +-- +2.14.4 + diff --git a/package/vsftpd/S70vsftpd b/package/vsftpd/S70vsftpd old mode 100755 new mode 100644 diff --git a/package/vte/Config.in b/package/vte/Config.in index 7410624c0a..fa29de8c71 100644 --- a/package/vte/Config.in +++ b/package/vte/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_VTE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ BR2_PACKAGE_HAS_LIBGL @@ -20,11 +21,12 @@ config BR2_PACKAGE_VTE http://github.com/GNOME/vte -comment "vte needs a toolchain w/ wchar, threads, C++" +comment "vte needs a toolchain w/ wchar, threads, C++, gcc >= 4.8" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_TOOLCHAIN_HAS_THREADS + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 comment "vte needs an OpenGL or an OpenGL-EGL/wayland backend" depends on BR2_USE_MMU diff --git a/package/vtun/0003-fixup-configure.in.patch b/package/vtun/0003-fixup-configure.in.patch deleted file mode 100644 index cb2ac67aa2..0000000000 --- a/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/package/vtun/0003-openssl11.patch b/package/vtun/0003-openssl11.patch new file mode 100644 index 0000000000..2c6bb812fc --- /dev/null +++ b/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/package/vtun/Config.in b/package/vtun/Config.in index bb8919c3d0..d63e7c76ef 100644 --- a/package/vtun/Config.in +++ b/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/package/vtun/vtun.hash b/package/vtun/vtun.hash index baa6381f70..363c980987 100644 --- a/package/vtun/vtun.hash +++ b/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/package/vtun/vtun.mk b/package/vtun/vtun.mk index 9c46559fb8..86d452c0c2 100644 --- a/package/vtun/vtun.mk +++ b/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/package/waf/waf.mk b/package/waf/waf.mk index cb738a38fd..97bc2a8963 100644 --- a/package/waf/waf.mk +++ b/package/waf/waf.mk @@ -6,7 +6,7 @@ WAF_VERSION = 1.9.5 WAF_SOURCE = waf-$(WAF_VERSION) -WAF_SITE = https://waf.io/ +WAF_SITE = https://waf.io define HOST_WAF_EXTRACT_CMDS $(INSTALL) -D -m 0755 $(HOST_WAF_DL_DIR)/waf-$(WAF_VERSION) $(@D)/waf diff --git a/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch b/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch new file mode 100644 index 0000000000..ef54953e34 --- /dev/null +++ b/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/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch b/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch new file mode 100644 index 0000000000..ffc1b5b8b1 --- /dev/null +++ b/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/package/waffle/Config.in b/package/waffle/Config.in new file mode 100644 index 0000000000..ad622e9582 --- /dev/null +++ b/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/package/waffle/waffle.hash b/package/waffle/waffle.hash new file mode 100644 index 0000000000..5dfb976f2f --- /dev/null +++ b/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/package/waffle/waffle.mk b/package/waffle/waffle.mk new file mode 100644 index 0000000000..c6dd0d5451 --- /dev/null +++ b/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/package/wavemon/0001-Drop-on_exit-use-standard-atexit-instead.patch b/package/wavemon/0001-Drop-on_exit-use-standard-atexit-instead.patch new file mode 100644 index 0000000000..67292539ca --- /dev/null +++ b/package/wavemon/0001-Drop-on_exit-use-standard-atexit-instead.patch @@ -0,0 +1,73 @@ +From f6e20c9c6e9b50963caaf5483248d329473a6815 Mon Sep 17 00:00:00 2001 +From: Gerrit Renker +Date: Mon, 21 Jan 2019 09:23:43 -0700 +Subject: [PATCH] Drop on_exit(), use standard atexit() instead +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +`on_exit()` is a GLIBC specific extension and not available in musl and uClibc. + +Portable applications should avoid this function, and use the standard +`atexit()` instead. + +Backported from:f6e20c9c6e9b50963caaf5483248d329473a6815 + +Signed-off-by: Jörg Krause +--- + iw_if.c | 10 ++++++---- + iw_if.h | 2 +- + iw_scan.c | 2 +- + 3 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/iw_if.c b/iw_if.c +index c0b0128..d8bacbc 100644 +--- a/iw_if.c ++++ b/iw_if.c +@@ -87,11 +87,13 @@ int if_set_down(const char *ifname) + return if_set_up_or_down(ifname, false); + } + +-/** Exit handler to restore interface 'down' state on exit via on_exit(3). */ +-void if_set_down_on_exit(int rc, void *arg) ++/** Exit handler to restore interface 'down' state on exit via atexit(3). */ ++void if_set_down_on_exit(void) + { +- if (if_set_down(arg) < 0) { +- err_msg("unable to restore %s interface state - set down manually", arg); ++ const char *ifname = conf_ifname(); ++ ++ if (ifname && if_set_down(ifname) < 0) { ++ err_msg("unable to restore %s interface state - set down manually", ifname); + } + } + +diff --git a/iw_if.h b/iw_if.h +index 50f5a47..e2199d3 100644 +--- a/iw_if.h ++++ b/iw_if.h +@@ -76,7 +76,7 @@ struct if_info { + }; + extern bool if_is_up(const char *ifname); + extern int if_set_up(const char *ifname); +-extern void if_set_down_on_exit(int rc, void *arg); ++extern void if_set_down_on_exit(void); + extern void if_getinf(const char *ifname, struct if_info *info); + + /** +diff --git a/iw_scan.c b/iw_scan.c +index 18e9e06..e2b3067 100644 +--- a/iw_scan.c ++++ b/iw_scan.c +@@ -430,7 +430,7 @@ void *do_scan(void *sr_ptr) + + if (if_set_up(conf_ifname()) < 0) + err_sys("Can not bring up interface '%s'", conf_ifname()); +- if (on_exit(if_set_down_on_exit, (void *)conf_ifname()) < 0) ++ if (atexit(if_set_down_on_exit) < 0) + snprintf(sr->msg, sizeof(sr->msg), "Warning: unable to restore %s down state on exit", conf_ifname()); + break; + } +-- +2.20.1 + diff --git a/package/wavemon/Config.in b/package/wavemon/Config.in index b72a617759..0cb4cb5c69 100644 --- a/package/wavemon/Config.in +++ b/package/wavemon/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_WAVEMON bool "wavemon" - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_NCURSES select BR2_PACKAGE_LIBNL help @@ -15,5 +15,5 @@ config BR2_PACKAGE_WAVEMON https://github.com/uoaerg/wavemon -comment "wavemon needs a toolchain w/ NPTL" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL +comment "wavemon needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/wavemon/wavemon.hash b/package/wavemon/wavemon.hash index 99d7382450..798e2973ce 100644 --- a/package/wavemon/wavemon.hash +++ b/package/wavemon/wavemon.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 4199e2ad11a036f4289f5ad42a8b0fe518f2b5ff77447f4c366dbcf3f23e91d5 wavemon-v0.8.2.tar.gz +sha256 5823ef9459d6147a457b390b6744a77465584e93d37c2809fa7a0be557070166 wavemon-v0.9.0.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/package/wavemon/wavemon.mk b/package/wavemon/wavemon.mk index 0639c3450e..864e0709d1 100644 --- a/package/wavemon/wavemon.mk +++ b/package/wavemon/wavemon.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAVEMON_VERSION = v0.8.2 +WAVEMON_VERSION = v0.9.0 WAVEMON_SITE = $(call github,uoaerg,wavemon,$(WAVEMON_VERSION)) WAVEMON_LICENSE = GPL-3.0+ WAVEMON_LICENSE_FILES = COPYING diff --git a/package/wayland-protocols/wayland-protocols.hash b/package/wayland-protocols/wayland-protocols.hash index 9cbb4fef72..d62a433dfd 100644 --- a/package/wayland-protocols/wayland-protocols.hash +++ b/package/wayland-protocols/wayland-protocols.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2018-February/036992.html -md5 29312149dafcd4a0e739ba94995a574d wayland-protocols-1.13.tar.xz -sha1 1b4b3385e168c361b4d350668d92f3a90ceee189 wayland-protocols-1.13.tar.xz -sha256 0758bc8008d5332f431b2a84fea7de64d971ce270ed208206a098ff2ebc68f38 wayland-protocols-1.13.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2018-November/039662.html +md5 55ddd5fdb02b73b9de9559aaec267315 wayland-protocols-1.17.tar.xz +sha1 7d2569c838c776545e3eb1b1049b9c37178aae24 wayland-protocols-1.17.tar.xz +sha256 df1319cf9705643aea9fd16f9056f4e5b2471bd10c0cc3713d4a4cdc23d6812f wayland-protocols-1.17.tar.xz sha256 f1a2b233e8a9a71c40f4aa885be08a0842ac85bb8588703c1dd7e6e6502e3124 COPYING diff --git a/package/wayland-protocols/wayland-protocols.mk b/package/wayland-protocols/wayland-protocols.mk index bba0979934..5ed4c3bc90 100644 --- a/package/wayland-protocols/wayland-protocols.mk +++ b/package/wayland-protocols/wayland-protocols.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_PROTOCOLS_VERSION = 1.13 +WAYLAND_PROTOCOLS_VERSION = 1.17 WAYLAND_PROTOCOLS_SITE = http://wayland.freedesktop.org/releases WAYLAND_PROTOCOLS_SOURCE = wayland-protocols-$(WAYLAND_PROTOCOLS_VERSION).tar.xz WAYLAND_PROTOCOLS_LICENSE = MIT diff --git a/package/wayland/wayland.hash b/package/wayland/wayland.hash index 4fa83a4247..3f2846091a 100644 --- a/package/wayland/wayland.hash +++ b/package/wayland/wayland.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2018-April/037767.html -md5 b7393c17fdce9a8d383edab656c92fd2 wayland-1.15.0.tar.xz -sha1 374e07b4f3b7fdfa7c4206cdd48224ea00d69d68 wayland-1.15.0.tar.xz -sha256 eb3fbebb8559d56a80ad3753ec3db800f587329067962dbf65e14488b4b7aeb0 wayland-1.15.0.tar.xz -sha512 f908917f1b575d2dc4d9770d3303e2637e8744fcb5c81feb2af2fe82cc51f54e22beaddfbe775fcf9623584169b7a062c75076132abeb888717180bfab53b3a8 wayland-1.15.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2018-August/039358.html +md5 0c215e53de71d6fb26f7102cdc6432d3 wayland-1.16.0.tar.xz +sha1 24c63a5045c653dcfa24efd10fa7c7de89aca9ef wayland-1.16.0.tar.xz +sha256 4e72c2b56109ccfb6610d776e465f4ca0af2280c9c2f7d5cc23f0ed2548752f5 wayland-1.16.0.tar.xz +sha512 64eca2b1c0bc7913508a5499dae87e2723c712d8024acbb4c77c3c4a6c20de78c10704ae9827fd034116ca540a547aeec28c5a1e3bd382b23f85231424b0f49c wayland-1.16.0.tar.xz diff --git a/package/wayland/wayland.mk b/package/wayland/wayland.mk index 827924e402..6c2997be8e 100644 --- a/package/wayland/wayland.mk +++ b/package/wayland/wayland.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_VERSION = 1.15.0 +WAYLAND_VERSION = 1.16.0 WAYLAND_SITE = http://wayland.freedesktop.org/releases WAYLAND_SOURCE = wayland-$(WAYLAND_VERSION).tar.xz WAYLAND_LICENSE = MIT diff --git a/package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch b/package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch deleted file mode 100644 index 6fb309d9fb..0000000000 --- a/package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b252c7aed3fa6f22db8a26c3ab0bfe66e3490eef Mon Sep 17 00:00:00 2001 -From: Adrian Perez de Castro -Date: Sun, 23 Sep 2018 02:34:26 +0300 -Subject: [PATCH xserver] [ARM] Building FELightingNEON.cpp fails due to - missing lightVector member https://bugs.webkit.org/show_bug.cgi?id=189890 - -Reviewed by NOBODY (OOPS!). - -No new tests needed. - -* platform/graphics/cpu/arm/filters/FELightingNEON.h: -(WebCore::FELighting::platformApplyNeon): Adapt to new layout of "struct PaintingData" after r225122. ---- - Source/WebCore/ChangeLog | 12 ++++++++++++ - .../graphics/cpu/arm/filters/FELightingNEON.h | 6 +++--- - 2 files changed, 15 insertions(+), 3 deletions(-) - -Fetch from: https://bugs.webkit.org/show_bug.cgi?id=189890 -Upstream-Status: Pending -Signed-off-by: Adrian Perez de Castro - -diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h -index 42af922374b..b542a4c81aa 100644 ---- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h -+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h -@@ -144,9 +144,9 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS - neonData.flags |= FLAG_CONE_EXPONENT_IS_1; - } else { - ASSERT(m_lightSource->type() == LS_DISTANT); -- floatArguments.lightX = paintingData.lightVector.x(); -- floatArguments.lightY = paintingData.lightVector.y(); -- floatArguments.lightZ = paintingData.lightVector.z(); -+ floatArguments.lightX = paintingData.initialLightingData.lightVector.x(); -+ floatArguments.lightY = paintingData.initialLightingData.lightVector.y(); -+ floatArguments.lightZ = paintingData.initialLightingData.lightVector.z(); - floatArguments.padding2 = 1; - } - --- -2.19.0 - diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in index 96a7ab0c94..8714677b6a 100644 --- a/package/webkitgtk/Config.in +++ b/package/webkitgtk/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS bool # ARM needs BLX, so v5t+, BE completely untested so disabled default y if BR2_arm && !BR2_ARM_CPU_ARMV4 + default y if BR2_aarch64 || BR2_aarch64_be default y if BR2_i386 || BR2_x86_64 # Disabled on MIPS big endian due to sigbus default y if BR2_mipsel || BR2_mips64el @@ -11,6 +12,22 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt +config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT + bool + # ARM needs NEON for JIT. + default y if BR2_ARM_CPU_HAS_NEON + # AArch64 is supported upstream but not well tested on big-endian mode. + default y if BR2_aarch64 + # i386 & x86_64 don't have any special requirements. + default y if BR2_i386 + default y if BR2_x86_64 + # JIT is known not to work on MIPS64. + # Plain MIPS32 (pre R2) is not well tested and likely broken, and R6 + # is unsupported, see https://bugs.webkit.org/show_bug.cgi?id=191258 + # The MIPS support is completely untested in big-endian mode. + default y if BR2_mipsel && BR2_MIPS_CPU_MIPS32R2 + default y if BR2_mipsel && BR2_MIPS_CPU_MIPS32R5 + comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 6, host gcc >= 4.8" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ @@ -88,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/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash index 0b9b94ca49..d024343d5e 100644 --- a/package/webkitgtk/webkitgtk.hash +++ b/package/webkitgtk/webkitgtk.hash @@ -1,7 +1,7 @@ -# From https://webkitgtk.org/releases/webkitgtk-2.22.2.tar.xz.sums -md5 207d50d313c07b03726f3a7f22643934 webkitgtk-2.22.2.tar.xz -sha1 ff0c40e81e240aa0743f7e6483f175defebd1417 webkitgtk-2.22.2.tar.xz -sha256 345487d4d1896e711683f951d1e09387d3b90d7cf59295c0e634af7f515e99ba webkitgtk-2.22.2.tar.xz +# From https://webkitgtk.org/releases/webkitgtk-2.22.7.tar.xz.sums +md5 47386c10a9c3975f933c85404f35ff3b webkitgtk-2.22.7.tar.xz +sha1 5f45147f6fc4b6a0dd3c545bf857679313230507 webkitgtk-2.22.7.tar.xz +sha256 4be6f7d605cd0a690fd26e8aa83b089a33ad9d419148eafcfb60580dd2af30ff webkitgtk-2.22.7.tar.xz # Hashes for license files: sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk index f28417ac73..a30c61460a 100644 --- a/package/webkitgtk/webkitgtk.mk +++ b/package/webkitgtk/webkitgtk.mk @@ -4,15 +4,15 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.22.2 -WEBKITGTK_SITE = http://www.webkitgtk.org/releases +WEBKITGTK_VERSION = 2.22.7 +WEBKITGTK_SITE = https://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES WEBKITGTK_LICENSE = LGPL-2.1+, BSD-2-Clause WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-APPLE \ Source/WebCore/LICENSE-LGPL-2.1 -WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \ +WEBKITGTK_DEPENDENCIES = host-ruby host-python host-gperf \ enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \ libtasn1 libxml2 libxslt sqlite webp woff2 WEBKITGTK_CONF_OPTS = \ @@ -22,14 +22,12 @@ WEBKITGTK_CONF_OPTS = \ -DENABLE_INTROSPECTION=OFF \ -DENABLE_MINIBROWSER=ON \ -DENABLE_SPELLCHECK=ON \ - -DENABLE_WOFF2=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 @@ -41,13 +39,9 @@ WEBKITGTK_CONF_OPTS += \ -DENABLE_WEB_AUDIO=ON WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good else -# ENABLE_MEDIA_STREAM has to be explicitly disabled because there is a missing -# feature dependency in the WebKitGTK+ CMake files. This can be removed once -# https://bugs.webkit.org/show_bug.cgi?id=174940 makes it into a release. WEBKITGTK_CONF_OPTS += \ -DENABLE_VIDEO=OFF \ - -DENABLE_WEB_AUDIO=OFF \ - -DENABLE_MEDIA_STREAM=OFF + -DENABLE_WEB_AUDIO=OFF endif ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y) @@ -97,4 +91,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/package/webp/webp.hash b/package/webp/webp.hash index ffb63b8e2b..ed4b127e53 100644 --- a/package/webp/webp.hash +++ b/package/webp/webp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 06503c782d9f151baa325591c3579c68ed700ffc62d4f5a32feead0ff017d8ab libwebp-0.6.1.tar.gz +sha256 8c744a5422dbffa0d1f92e90b34186fb8ed44db93fbacb55abd751ac8808d922 libwebp-1.0.1.tar.gz sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf COPYING diff --git a/package/webp/webp.mk b/package/webp/webp.mk index f5ca34241f..1aa81a0717 100644 --- a/package/webp/webp.mk +++ b/package/webp/webp.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBP_VERSION = 0.6.1 +WEBP_VERSION = 1.0.1 WEBP_SOURCE = libwebp-$(WEBP_VERSION).tar.gz WEBP_SITE = http://downloads.webmproject.org/releases/webp WEBP_LICENSE = BSD-3-Clause diff --git a/package/websocketpp/Config.in b/package/websocketpp/Config.in new file mode 100644 index 0000000000..cadb9ff696 --- /dev/null +++ b/package/websocketpp/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_WEBSOCKETPP + bool "websocketpp" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_INSTALL_LIBSTDCPP + help + WebSocket++ is a header only C++ library that implements + RFC6455 The WebSocket Protocol. It allows integrating + WebSocket client and server functionality into C++ programs. + It uses interchangeable network transport modules including + one based on C++ iostreams and one based on Boost Asio. + + http://www.zaphoyd.com/websocketpp + +comment "websocketpp needs a toolchain w/ C++ and gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/websocketpp/websocketpp.hash b/package/websocketpp/websocketpp.hash new file mode 100644 index 0000000000..8bf671d96e --- /dev/null +++ b/package/websocketpp/websocketpp.hash @@ -0,0 +1,3 @@ +# Locally Computed: +sha256 178899de48c02853b55b1ea8681599641cedcdfce59e56beaff3dd0874bf0286 websocketpp-0.8.1.tar.gz +sha256 b31e597bc777d884a39663c11d0557a0af40780e1f451de11ea5103924a69667 COPYING diff --git a/package/websocketpp/websocketpp.mk b/package/websocketpp/websocketpp.mk new file mode 100644 index 0000000000..47da4dbe2f --- /dev/null +++ b/package/websocketpp/websocketpp.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# websocketpp +# +################################################################################ + +WEBSOCKETPP_VERSION = 0.8.1 +WEBSOCKETPP_SITE = $(call github,zaphoyd,websocketpp,$(WEBSOCKETPP_VERSION)) +WEBSOCKETPP_LICENSE = BSD-3c, MIT, Zlib +WEBSOCKETPP_LICENSE_FILES = COPYING +WEBSOCKETPP_INSTALL_STAGING = YES +# Only installs headers +WEBSOCKETPP_INSTALL_TARGET = NO + +$(eval $(cmake-package)) diff --git a/package/weston/weston.hash b/package/weston/weston.hash index 55d87ac3b1..799d371dc0 100644 --- a/package/weston/weston.hash +++ b/package/weston/weston.hash @@ -1,5 +1,7 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2018-April/037768.html -md5 33709aa4d5916f89643fca0fc0064b39 weston-4.0.0.tar.xz -sha1 df1da4a880920c515162e95b18f3709a46690be7 weston-4.0.0.tar.xz -sha256 a0fc0ae7ef83dfbed12abfe9b8096a24a7dd00705e86fa0db1e619ded18b4b58 weston-4.0.0.tar.xz -sha512 0af41016ff4eae85779f95b5c5e44b9683f4ef681a8e52256efeebfa38073082b83e039d0db3c94ac22f22f8d8314c9d6cd16611144b260b353fc5bfdd1ded19 weston-4.0.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2018-August/039359.html +md5 752a04ce3c65af4884cfac4e57231bdb weston-5.0.0.tar.xz +sha1 56b42b1fbea9e120a8127736328e4c71ac781a57 weston-5.0.0.tar.xz +sha256 15a23423bcfa45e31e1dedc0cd524ba71e2930df174fde9c99b71a537c4e4caf weston-5.0.0.tar.xz +sha512 b6f97eca014ea47f3de0c5ddd89712f896cd66423d0eb499e1d88d35aab616cef1e735ebb8e0cefd8b60085314b6ec3d56b39d7c4776188bb56d58efc84a52cf weston-5.0.0.tar.xz +# locally computed +sha256 0f0de7b7b1f65870139c95dde7abc19ed305631ae7c5d37c386db40cde108632 weston-rel_imx_4.9.51_8mq_ga.tar.gz diff --git a/package/weston/weston.mk b/package/weston/weston.mk index efe12bc01e..7fbe39b98e 100644 --- a/package/weston/weston.mk +++ b/package/weston/weston.mk @@ -4,9 +4,16 @@ # ################################################################################ -WESTON_VERSION = 4.0.0 +ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y) +WESTON_VERSION = rel_imx_4.9.51_8mq_ga +WESTON_SITE = https://source.codeaurora.org/external/imx/weston-imx +WESTON_SITE_METHOD = git +WESTON_AUTORECONF = YES +else +WESTON_VERSION = 5.0.0 WESTON_SITE = http://wayland.freedesktop.org/releases WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz +endif WESTON_LICENSE = MIT WESTON_LICENSE_FILES = COPYING @@ -50,9 +57,18 @@ else WESTON_CONF_OPTS += --disable-weston-launch endif -ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND),y) +ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y) +ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y) +WESTON_DEPENDENCIES += imx-gpu-g2d +# --enable-imxg2d actually disables it, so no CONF_OPTS +else +WESTON_CONF_OPTS += --disable-imxg2d +endif +endif + +ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy) WESTON_CONF_OPTS += --enable-egl -WESTON_DEPENDENCIES += libegl +WESTON_DEPENDENCIES += libegl libgles else WESTON_CONF_OPTS += \ --disable-egl \ @@ -60,12 +76,6 @@ WESTON_CONF_OPTS += \ --disable-simple-egl-clients endif -ifeq ($(BR2_PACKAGE_LIBUNWIND),y) -WESTON_DEPENDENCIES += libunwind -else -WESTON_CONF_OPTS += --disable-libunwind -endif - ifeq ($(BR2_PACKAGE_WESTON_RDP),y) WESTON_DEPENDENCIES += freerdp WESTON_CONF_OPTS += --enable-rdp-compositor diff --git a/package/wf111/wf111.hash b/package/wf111/wf111.hash new file mode 100644 index 0000000000..e3a5c484f7 --- /dev/null +++ b/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/package/wf111/wf111.mk b/package/wf111/wf111.mk index 72526333fd..fd9cb19600 100644 --- a/package/wf111/wf111.mk +++ b/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/package/wget/wget.hash b/package/wget/wget.hash index eee4a5194e..956e1127f3 100644 --- a/package/wget/wget.hash +++ b/package/wget/wget.hash @@ -1,5 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.lz.sig -sha256 29fbe6f3d5408430c572a63fe32bd43d5860f32691173dfd84edc06869edca75 wget-1.19.5.tar.lz +# https://ftp.gnu.org/gnu/wget/wget-1.20.3.tar.lz.sig +# with key 1CB27DBC98614B2D5841646D08302DB6A2670428 +sha256 69607ce8216c2d1126b7a872db594b3f21e511e660e07ca1f81be96650932abb wget-1.20.3.tar.lz # Locally calculated sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/package/wget/wget.mk b/package/wget/wget.mk index 28bd0a264f..7b9c3e75d9 100644 --- a/package/wget/wget.mk +++ b/package/wget/wget.mk @@ -4,7 +4,7 @@ # ################################################################################ -WGET_VERSION = 1.19.5 +WGET_VERSION = 1.20.3 WGET_SOURCE = wget-$(WGET_VERSION).tar.lz WGET_SITE = $(BR2_GNU_MIRROR)/wget WGET_DEPENDENCIES = host-pkgconf @@ -39,4 +39,14 @@ else WGET_CONF_OPTS += --without-zlib endif +ifeq ($(BR2_PACKAGE_PCRE2),y) +WGET_CONF_OPTS += --disable-pcre --enable-pcre2 +WGET_DEPENDENCIES += pcre2 +else ifeq ($(BR2_PACKAGE_PCRE),y) +WGET_CONF_OPTS += --enable-pcre --disable-pcre2 +WGET_DEPENDENCIES += pcre +else +WGET_CONF_OPTS += --disable-pcre --disable-pcre2 +endif + $(eval $(autotools-package)) diff --git a/package/whois/whois.hash b/package/whois/whois.hash index 4fdfebce0f..41ef935c1d 100644 --- a/package/whois/whois.hash +++ b/package/whois/whois.hash @@ -1,5 +1,5 @@ -# 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 +# From http://snapshot.debian.org/archive/debian/20181026T220636Z/pool/main/w/whois/whois_5.4.0.dsc +sha256 3775ae0cfaa6dd8d886e5233c4826225cddcb88c99c2a08130d14e15fe58e378 whois_5.4.0.tar.xz # Hash for license file: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/whois/whois.mk b/package/whois/whois.mk index c162f1cf38..712ad911d8 100644 --- a/package/whois/whois.mk +++ b/package/whois/whois.mk @@ -4,8 +4,8 @@ # ################################################################################ -WHOIS_VERSION = 5.3.2 -WHOIS_SITE = http://snapshot.debian.org/archive/debian/20180715T153200Z/pool/main/w/whois +WHOIS_VERSION = 5.4.0 +WHOIS_SITE = http://snapshot.debian.org/archive/debian/20181026T220636Z/pool/main/w/whois WHOIS_SOURCE = whois_$(WHOIS_VERSION).tar.xz WHOIS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) WHOIS_MAKE_ENV = $(TARGET_MAKE_ENV) diff --git a/package/wine/wine.hash b/package/wine/wine.hash index 0c4a14e7d2..ba007142e8 100644 --- a/package/wine/wine.hash +++ b/package/wine/wine.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 cad771375409e24244eab252da044306158af8a8bea4432e7ca81c1dc6b463ff wine-3.0.2.tar.xz +sha256 d45a88edbe7db363e297cacedc94e66df3464504a01c2eccf04f518066a6fb0c wine-3.0.4.tar.xz diff --git a/package/wine/wine.mk b/package/wine/wine.mk index 36b3cfa7b3..7e44e3c81d 100644 --- a/package/wine/wine.mk +++ b/package/wine/wine.mk @@ -4,12 +4,13 @@ # ################################################################################ -WINE_VERSION = 3.0.2 +WINE_VERSION = 3.0.4 WINE_SOURCE = wine-$(WINE_VERSION).tar.xz WINE_SITE = https://dl.winehq.org/wine/source/3.0 WINE_LICENSE = LGPL-2.1+ WINE_LICENSE_FILES = COPYING.LIB LICENSE WINE_DEPENDENCIES = host-bison host-flex host-wine +HOST_WINE_DEPENDENCIES = host-bison host-flex # Wine needs its own directory structure and tools for cross compiling WINE_CONF_OPTS = \ @@ -306,8 +307,12 @@ WINE_CONF_OPTS += --without-zlib endif # host-gettext is essential for .po file support in host-wine wrc +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) HOST_WINE_DEPENDENCIES += host-gettext HOST_WINE_CONF_OPTS += --with-gettext --with-gettextpo +else +HOST_WINE_CONF_OPTS += --without-gettext --without-gettextpo +endif # Wine needs to enable 64-bit build tools on 64-bit host ifeq ($(HOSTARCH),x86_64) diff --git a/package/wireguard/wireguard.hash b/package/wireguard/wireguard.hash index fe6439fbc2..70558de720 100644 --- a/package/wireguard/wireguard.hash +++ b/package/wireguard/wireguard.hash @@ -1,4 +1,4 @@ -# From https://lists.zx2c4.com/pipermail/wireguard/2018-September/003395.html -sha256 4a0488a07e40ec17e798f3e40a85cedf55f0560b1c3a8fd95806c7d4266cb0e8 WireGuard-0.0.20180925.tar.xz +# https://lists.zx2c4.com/pipermail/wireguard/2019-January/003805.html +sha256 edd13c7631af169e3838621b1a1bff3ef73cf7bc778eec2bd55f7c1089ffdf9b WireGuard-0.0.20190123.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wireguard/wireguard.mk b/package/wireguard/wireguard.mk index faddbf93ad..8d6cdb8e56 100644 --- a/package/wireguard/wireguard.mk +++ b/package/wireguard/wireguard.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIREGUARD_VERSION = 0.0.20180925 +WIREGUARD_VERSION = 0.0.20190123 WIREGUARD_SITE = https://git.zx2c4.com/WireGuard/snapshot WIREGUARD_SOURCE = WireGuard-$(WIREGUARD_VERSION).tar.xz WIREGUARD_LICENSE = GPL-2.0 diff --git a/package/wireless-regdb/Config.in b/package/wireless-regdb/Config.in index 0c9896deb9..17350a41d8 100644 --- a/package/wireless-regdb/Config.in +++ b/package/wireless-regdb/Config.in @@ -3,7 +3,12 @@ config BR2_PACKAGE_WIRELESS_REGDB help Wireless regulatory database. - Wireless regulatory database for CRDA. The database lists the + Wireless regulatory database. The database lists the allowed radio frequencies for each local jurisdiction. + Since linux-4.15 the kernel supports loading the files + regulatory.db/regulatory.db.p7s directly from the + /lib/firmware directory, for earlier versions the crda helper + application is needed. + https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb diff --git a/package/wireless-regdb/wireless-regdb.hash b/package/wireless-regdb/wireless-regdb.hash index 65ae735cb5..aa035d0ef5 100644 --- a/package/wireless-regdb/wireless-regdb.hash +++ b/package/wireless-regdb/wireless-regdb.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/network/wireless-regdb/sha256sums.asc -sha256 e1dfbc3b97771373077f430c3c05082fae883145b37db5b2cfd12c56676fbe7b wireless-regdb-2018.05.31.tar.xz +sha256 a36b8147f1a3e98e1fd44321a4b8d7ad2f03cac98cdf527ccb1693342f08d65a wireless-regdb-2018.09.07.tar.xz # Locally computed sha256 678b0df753c86198fc496d1f1033429bbd57f101472132ee7eaaf9f5e0a7fae1 LICENSE diff --git a/package/wireless-regdb/wireless-regdb.mk b/package/wireless-regdb/wireless-regdb.mk index 829374edcf..c509c7c7f8 100644 --- a/package/wireless-regdb/wireless-regdb.mk +++ b/package/wireless-regdb/wireless-regdb.mk @@ -4,17 +4,23 @@ # ################################################################################ -WIRELESS_REGDB_VERSION = 2018.05.31 +WIRELESS_REGDB_VERSION = 2018.09.07 WIRELESS_REGDB_SOURCE = wireless-regdb-$(WIRELESS_REGDB_VERSION).tar.xz -WIRELESS_REGDB_SITE = http://kernel.org/pub/software/network/wireless-regdb +WIRELESS_REGDB_SITE = $(BR2_KERNEL_MIRROR)/software/network/wireless-regdb WIRELESS_REGDB_LICENSE = ISC WIRELESS_REGDB_LICENSE_FILES = LICENSE -define WIRELESS_REGDB_INSTALL_TARGET_CMDS +ifeq ($(BR2_PACKAGE_CRDA),y) +define WIRELESS_REGDB_INSTALL_CRDA_TARGET_CMDS $(INSTALL) -m 644 -D -T $(@D)/regulatory.bin \ $(TARGET_DIR)/usr/lib/crda/regulatory.bin $(INSTALL) -m 644 -D -T $(@D)/sforshee.key.pub.pem \ $(TARGET_DIR)/etc/wireless-regdb/pubkeys/sforshee.key.pub.pem +endef +endif + +define WIRELESS_REGDB_INSTALL_TARGET_CMDS + $(WIRELESS_REGDB_INSTALL_CRDA_TARGET_CMDS) $(INSTALL) -m 644 -D -T $(@D)/regulatory.db \ $(TARGET_DIR)/lib/firmware/regulatory.db $(INSTALL) -m 644 -D -T $(@D)/regulatory.db.p7s \ diff --git a/package/wireshark/0001-configure.ac-do-not-assume-broken-inet_pton-in-case-.patch b/package/wireshark/0001-configure.ac-do-not-assume-broken-inet_pton-in-case-.patch deleted file mode 100644 index 1e44ad0942..0000000000 --- a/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/package/wireshark/0001-packet-gtp-c-remove-unneeded-named-structures.patch b/package/wireshark/0001-packet-gtp-c-remove-unneeded-named-structures.patch new file mode 100644 index 0000000000..0a894a282e --- /dev/null +++ b/package/wireshark/0001-packet-gtp-c-remove-unneeded-named-structures.patch @@ -0,0 +1,75 @@ +From 020e25b660250c97c8085e64cf85074ccfcdd06b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 5 Mar 2019 20:59:49 +0100 +Subject: [PATCH] packet-gtp.c: remove unneeded named structures + +In uclibc, _header is already in sigcontext.h: + +packet-gtp.c:2361:16: error: redefinition of 'struct _header' + typedef struct _header { + ^~~~~~~ +In file included from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/bits/sigcontext.h:30:0, + from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/signal.h:311, + from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/glib-2.0/glib/gbacktrace.h:36, + from /home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/glib-2.0/glib.h:34, + from ../../epan/proto.h:28, + from ../../epan/packet.h:14, + from packet-gtp.c:43: +/home/dawncrow/buildroot-test/scripts/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot/usr/include/asm/sigcontext.h:173:8: note: originally defined here + struct _header { + +To fix this issue, transform _header and other named structures (with +the exception of gtp_conv_info_t) into unnamed structures + +Fixes: + - http://autobuild.buildroot.org/results/c41d42fe3489bc63c42e7ce7a9eccb1b4ca7b9b2 + +Change-Id: I78116233c2a8dd7c54723b7cb558254bd5143bd2 +Signed-off-by: Fabrice Fontaine +Reviewed-on: https://code.wireshark.org/review/32335 +Petri-Dish: Guy Harris +Tested-by: Petri Dish Buildbot +Reviewed-by: Guy Harris +[Retrieved from: +https://github.com/wireshark/wireshark/commit/020e25b660250c97c8085e64cf85074ccfcdd06b] +--- + epan/dissectors/packet-gtp.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c +index 4c40e7aa54..971197e4ae 100644 +--- a/epan/dissectors/packet-gtp.c ++++ b/epan/dissectors/packet-gtp.c +@@ -2170,7 +2170,7 @@ GHashTable* session_table; + /* Relation between -> frame */ + wmem_tree_t* frame_tree; + +-typedef struct gtp_info { ++typedef struct { + guint32 teid; + guint32 frame; + } gtp_info_t; +@@ -2482,7 +2482,7 @@ static int decode_gtp_node_addr(tvbuff_t * tvb, int offset, packet_info * pinfo, + static int decode_gtp_priv_ext(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree * tree, session_args_t * args _U_); + static int decode_gtp_unknown(tvbuff_t * tvb, int offset, packet_info * pinfo, proto_tree * tree, session_args_t * args _U_); + +-typedef struct _gtp_opt { ++typedef struct { + int optcode; + int (*decode) (tvbuff_t *, int, packet_info *, proto_tree *, session_args_t *); + } gtp_opt_t; +@@ -2661,12 +2661,12 @@ id_to_str(tvbuff_t *tvb, gint offset) + /* Next definitions and function check_field_presence checks if given field + * in GTP packet is compliant with ETSI + */ +-typedef struct _header { ++typedef struct { + guint8 code; + guint8 presence; + } ext_header; + +-typedef struct _message { ++typedef struct { + guint8 code; + ext_header fields[32]; + } _gtp_mess_items; diff --git a/package/wireshark/0002-androiddump-add-missing-sys-time.h-header.patch b/package/wireshark/0002-androiddump-add-missing-sys-time.h-header.patch deleted file mode 100644 index ae1198018a..0000000000 --- a/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/package/wireshark/Config.in b/package/wireshark/Config.in index 4d5a2157f2..0cf14f2f84 100644 --- a/package/wireshark/Config.in +++ b/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/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash index 8b2d7bc985..071940e1c1 100644 --- a/package/wireshark/wireshark.hash +++ b/package/wireshark/wireshark.hash @@ -1,4 +1,4 @@ -# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.17.txt -sha256 923d39ff9c6df83b9594868542061da33bf330e12526778a8cb3adcf912eebb0 wireshark-2.2.17.tar.bz2 +# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.6.7.txt +sha256 747b3e7a37414942959f76f198be49dcbcca936bda538c4408942ce71bfd2b71 wireshark-2.6.7.tar.xz # Locally calculated sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk index fb90f2b940..a917efb5f6 100644 --- a/package/wireshark/wireshark.mk +++ b/package/wireshark/wireshark.mk @@ -4,27 +4,21 @@ # ################################################################################ -WIRESHARK_VERSION = 2.2.17 -WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2 +WIRESHARK_VERSION = 2.6.7 +WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license WIRESHARK_LICENSE_FILES = COPYING -WIRESHARK_DEPENDENCIES = host-pkgconf libpcap libglib2 +WIRESHARK_DEPENDENCIES = host-pkgconf libgcrypt libpcap libglib2 WIRESHARK_CONF_ENV = \ + LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \ PCAP_CONFIG=$(STAGING_DIR)/usr/bin/pcap-config -# patch touching configure.ac -WIRESHARK_AUTORECONF = YES - -# wireshark adds -I$includedir to CFLAGS, causing host/target headers mixup. -# Work around it by pointing includedir at staging WIRESHARK_CONF_OPTS = \ - --without-krb5 \ + --disable-guides \ --enable-static=no \ --with-libsmi=no \ - --with-lua=no \ - --with-pcap=$(STAGING_DIR)/usr \ - --includedir=$(STAGING_DIR)/usr/include + --with-pcap=yes # wireshark GUI options ifeq ($(BR2_PACKAGE_LIBGTK3),y) @@ -56,6 +50,13 @@ ifeq ($(BR2_PACKAGE_WIRESHARK_GUI),) WIRESHARK_CONF_OPTS += --disable-wireshark endif +ifeq ($(BR2_PACKAGE_BCG729),y) +WIRESHARK_CONF_OPTS += --with-bcg729=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += bcg729 +else +WIRESHARK_CONF_OPTS += --without-bcg729 +endif + ifeq ($(BR2_PACKAGE_C_ARES),y) WIRESHARK_CONF_OPTS += --with-c-ares=$(STAGING_DIR)/usr WIRESHARK_DEPENDENCIES += c-ares @@ -63,13 +64,6 @@ else WIRESHARK_CONF_OPTS += --without-c-ares endif -ifeq ($(BR2_PACKAGE_GEOIP),y) -WIRESHARK_CONF_OPTS += --with-geoip=$(STAGING_DIR)/usr -WIRESHARK_DEPENDENCIES += geoip -else -WIRESHARK_CONF_OPTS += --without-geoip -endif - ifeq ($(BR2_PACKAGE_GNUTLS),y) WIRESHARK_CONF_OPTS += --with-gnutls=yes WIRESHARK_DEPENDENCIES += gnutls @@ -77,12 +71,18 @@ else WIRESHARK_CONF_OPTS += --with-gnutls=no endif -ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) -WIRESHARK_CONF_ENV += LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config -WIRESHARK_CONF_OPTS += --with-gcrypt=yes -WIRESHARK_DEPENDENCIES += libgcrypt +ifeq ($(BR2_PACKAGE_LIBKRB5),y) +WIRESHARK_CONF_OPTS += --with-krb5=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += libkrb5 else -WIRESHARK_CONF_OPTS += --with-gcrypt=no +WIRESHARK_CONF_OPTS += --without-krb5 +endif + +ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y) +WIRESHARK_CONF_OPTS += --with-maxminddb=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += libmaxminddb +else +WIRESHARK_CONF_OPTS += --without-maxminddb endif ifeq ($(BR2_PACKAGE_LIBNL),y) @@ -92,6 +92,42 @@ else WIRESHARK_CONF_OPTS += --without-libnl endif +ifeq ($(BR2_PACKAGE_LIBSSH),y) +WIRESHARK_CONF_OPTS += --with-libssh=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += libssh +else +WIRESHARK_CONF_OPTS += --without-libssh +endif + +ifeq ($(BR2_PACKAGE_LIBXML2),y) +WIRESHARK_CONF_OPTS += --with-libxml2 +WIRESHARK_DEPENDENCIES += libxml2 +else +WIRESHARK_CONF_OPTS += --without-libxml2 +endif + +# no support for lua53 yet +ifeq ($(BR2_PACKAGE_LUA_5_1),y) +WIRESHARK_CONF_OPTS += --with-lua +WIRESHARK_DEPENDENCIES += lua +else +WIRESHARK_CONF_OPTS += --without-lua +endif + +ifeq ($(BR2_PACKAGE_LZ4),y) +WIRESHARK_CONF_OPTS += --with-lz4=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += lz4 +else +WIRESHARK_CONF_OPTS += --without-lz4 +endif + +ifeq ($(BR2_PACKAGE_NGHTTP2),y) +WIRESHARK_CONF_OPTS += --with-nghttp2=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += nghttp2 +else +WIRESHARK_CONF_OPTS += --without-nghttp2 +endif + ifeq ($(BR2_PACKAGE_SBC),y) WIRESHARK_CONF_OPTS += --with-sbc=yes WIRESHARK_DEPENDENCIES += sbc @@ -99,6 +135,23 @@ 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 + +ifeq ($(BR2_PACKAGE_SPANDSP),y) +WIRESHARK_CONF_OPTS += --with-spandsp +WIRESHARK_DEPENDENCIES += spandsp +else +WIRESHARK_CONF_OPTS += --without-spandsp +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/package/woff2/woff2.mk b/package/woff2/woff2.mk index 2f0206c82b..b2ff33fe98 100644 --- a/package/woff2/woff2.mk +++ b/package/woff2/woff2.mk @@ -21,10 +21,4 @@ ifneq ($(BR2_SHARED_LIBS),y) WOFF2_CONF_OPTS += -DCMAKE_SKIP_RPATH=ON endif -# Internal error, aborting at dw2gencfi.c:215 in emit_expr_encoded -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 -ifeq ($(BR2_m68k_cf),y) -WOFF2_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -fno-dwarf2-cfi-asm" -endif - $(eval $(cmake-package)) diff --git a/package/wolfssl/0001-Fix-issue-with-the-creation-of-dummy-fips.h-header.patch b/package/wolfssl/0001-Fix-issue-with-the-creation-of-dummy-fips.h-header.patch deleted file mode 100644 index 0e9dec751d..0000000000 --- a/package/wolfssl/0001-Fix-issue-with-the-creation-of-dummy-fips.h-header.patch +++ /dev/null @@ -1,33 +0,0 @@ -From a7fe5e35025227e348eaef5a15fd55f591d77206 Mon Sep 17 00:00:00 2001 -From: John Safranek -Date: Tue, 6 Mar 2018 13:15:35 -0800 -Subject: [PATCH] Fix issue with the creation of dummy fips.h header. - -Signed-off-by: Peter Korsgaard ---- - wolfssl/wolfcrypt/include.am | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/wolfssl/wolfcrypt/include.am b/wolfssl/wolfcrypt/include.am -index c81bdd13..6e84ed9d 100644 ---- a/wolfssl/wolfcrypt/include.am -+++ b/wolfssl/wolfcrypt/include.am -@@ -20,7 +20,6 @@ nobase_include_HEADERS+= \ - wolfssl/wolfcrypt/fe_operations.h \ - wolfssl/wolfcrypt/ge_operations.h \ - wolfssl/wolfcrypt/error-crypt.h \ -- wolfssl/wolfcrypt/fips.h \ - wolfssl/wolfcrypt/fips_test.h \ - wolfssl/wolfcrypt/hash.h \ - wolfssl/wolfcrypt/hc128.h \ -@@ -99,3 +98,7 @@ if BUILD_SELFTEST - nobase_include_HEADERS+= wolfssl/wolfcrypt/selftest.h - endif - -+if BUILD_FIPS_V2 -+nobase_include_HEADERS+= wolfssl/wolfcrypt/fips.h -+endif -+ --- -2.11.0 - diff --git a/package/wolfssl/wolfssl.hash b/package/wolfssl/wolfssl.hash index 76c7db25a8..1ff9fc61d8 100644 --- a/package/wolfssl/wolfssl.hash +++ b/package/wolfssl/wolfssl.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 4ab543c869a65a77dc5d0bc934b9d4852aa3d5834bd2f707a74a936602bd3687 v3.14.0-stable.tar.gz +sha256 70e4fbeb91284a269b25a84fc526755c670475aee4034a6f237b1f754d108af3 v3.15.7-stable.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/wolfssl/wolfssl.mk b/package/wolfssl/wolfssl.mk index ec83d7d1dd..42198cb817 100644 --- a/package/wolfssl/wolfssl.mk +++ b/package/wolfssl/wolfssl.mk @@ -4,9 +4,10 @@ # ################################################################################ -WOLFSSL_VERSION = 3.14.0 +WOLFSSL_VERSION = 3.15.7 WOLFSSL_SITE = https://github.com/wolfSSL/wolfssl/archive WOLFSSL_SOURCE = v$(WOLFSSL_VERSION)-stable.tar.gz +WOLFSSL_INSTALL_STAGING = YES WOLFSSL_LICENSE = GPL-2.0 WOLFSSL_LICENSE_FILES = COPYING LICENSING @@ -29,7 +30,17 @@ else WOLFSSL_CONF_OPTS += --disable-sslv3 endif -# build fails when ARMv8 hardware acceleration is enabled +# enable ARMv8 hardware acceleration +ifeq ($(BR2_ARM_CPU_ARMV8A),y) +WOLFSSL_CONF_OPTS += --enable-armasm +# the flag -mstrict-align is needed to prevent build errors caused by +# some inline assembly in parts of the AES structure using the "m" +# constraint +ifeq ($(BR2_aarch64),y) +WOLFSSL_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -mstrict-align" +endif +else WOLFSSL_CONF_OPTS += --disable-armasm +endif $(eval $(autotools-package)) diff --git a/package/wpa_supplicant/0001-wpa_supplicant-2.7-fix-undefined-remove-ie.patch b/package/wpa_supplicant/0001-wpa_supplicant-2.7-fix-undefined-remove-ie.patch new file mode 100644 index 0000000000..eb00d9c150 --- /dev/null +++ b/package/wpa_supplicant/0001-wpa_supplicant-2.7-fix-undefined-remove-ie.patch @@ -0,0 +1,43 @@ +From f2973fa39d6109f0f34969e91551a98dc340d537 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Mon, 3 Dec 2018 12:00:26 +0200 +Subject: FT: Fix CONFIG_IEEE80211X=y build without CONFIG_FILS=y + +remove_ie() was defined within an ifdef CONFIG_FILS block while it is +now needed even without CONFIG_FILS=y. Remove the CONFIG_FILS condition +there. + +Fixes 8c41734e5de1 ("FT: Fix Reassociation Request IEs during FT protocol") +Signed-off-by: Jouni Malinen + +Downloaded from upstream commit +http://w1.fi/cgit/hostap/commit/?id=f2973fa39d6109f0f34969e91551a98dc340d537 + +Signed-off-by: Bernd Kuhls +--- + wpa_supplicant/sme.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/wpa_supplicant/sme.c b/wpa_supplicant/sme.c +index 39c8069..f77f751 100644 +--- a/wpa_supplicant/sme.c ++++ b/wpa_supplicant/sme.c +@@ -1386,7 +1386,6 @@ void sme_event_auth(struct wpa_supplicant *wpa_s, union wpa_event_data *data) + } + + +-#ifdef CONFIG_FILS + #ifdef CONFIG_IEEE80211R + static void remove_ie(u8 *buf, size_t *len, u8 eid) + { +@@ -1401,7 +1400,6 @@ static void remove_ie(u8 *buf, size_t *len, u8 eid) + } + } + #endif /* CONFIG_IEEE80211R */ +-#endif /* CONFIG_FILS */ + + + void sme_associate(struct wpa_supplicant *wpa_s, enum wpas_mode mode, +-- +cgit v0.12 + diff --git a/package/wpa_supplicant/wpa_supplicant.hash b/package/wpa_supplicant/wpa_supplicant.hash index dbc4438215..2da15f7f5d 100644 --- a/package/wpa_supplicant/wpa_supplicant.hash +++ b/package/wpa_supplicant/wpa_supplicant.hash @@ -1,11 +1,19 @@ # Locally calculated -sha256 b4936d34c4e6cdd44954beba74296d964bc2c9668ecaa5255e499636fe2b1450 wpa_supplicant-2.6.tar.gz -sha256 529113cc81256c6178f3c1cf25dd8d3f33e6d770e4a180bd31c6ab7e4917f40b rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch -sha256 d86d47ab74170f3648b45b91bce780949ca92b09ab43df065178850ec0c335d7 rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch -sha256 d4535e36739a0cc7f3585e6bcba3c0bb8fc67cb3e729844e448c5dc751f47e81 rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch -sha256 793a54748161b5af430dd9de4a1988d19cb8e85ab29bc2340f886b0297cee20b rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch -sha256 596d4d3b63ea859ed7ea9791b3a21cb11b6173b04c0a14a2afa47edf1666afa6 rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch -sha256 c5a17af84aec2d88c56ce0da2d6945be398fe7cab5c0c340deb30973900c2736 rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch -sha256 c8840d857b9432f3b488113c85c1ff5d4a4b8d81078b7033388dae1e990843b1 rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch -sha256 960c3cf2a514479b0b4cf09665186a1a9f5d28e8b05dec23db75c6cc13eb1f7c rebased-v2.6-0001-WPA-Ignore-unauthenticated-encrypted-EAPOL-Key-data.patch -sha256 3f6ca36d86668d6607389e01cf4766f38aa3b8ab2c144ad132541087b41c061d README +sha256 76ea6b06b7a2ea8e6d9eb1a9166166f1656e6d48c7508914f592100c95c73074 wpa_supplicant-2.7.tar.gz +sha256 86979655f1c5a9578acbf83e8acdf69a36dcc0966a8819f3b6918530ad3e0c67 0001-OpenSSL-Use-constant-time-operations-for-private-big.patch +sha256 5663da175ecc344c90bea8c95ab831ad47a8002ccbb834f6c091705b92e90e71 0002-Add-helper-functions-for-constant-time-operations.patch +sha256 e5a6bc9f587351d4495740239ceb0a64958a59b3e875722dcaeb4c93fa517f64 0003-OpenSSL-Use-constant-time-selection-for-crypto_bignu.patch +sha256 aa5b722bebbaf175ff89a3653c3d048afe0d0f866989fca6b4c8e882a864392a 0004-EAP-pwd-Use-constant-time-and-memory-access-for-find.patch +sha256 bad9eeaeb118f88303a7a718820b3ba03d705e99b6183b3c44556bedf99db423 0005-SAE-Minimize-timing-differences-in-PWE-derivation.patch +sha256 ae7be450f652f6f77ad868856ab61ba6cb6d7e768585cf5f9f9f674a66e05b40 0006-SAE-Avoid-branches-in-is_quadratic_residue_blind.patch +sha256 86b731c787ca58ac001d20fb769b136e2ca76bf81a8465a8e72c50573cfc4b09 0007-SAE-Mask-timing-of-MODP-groups-22-23-24.patch +sha256 ff7305005217a34818dae247886b9fb1b1db781ab31fb5eac9ebdd9cb0d1edfe 0008-SAE-Use-const_time-selection-for-PWE-in-FFC.patch +sha256 707057cc0e60fe763350f82135dbe407bc289a4958879c8ff1e9413243a1caa4 0009-SAE-Use-constant-time-operations-in-sae_test_pwd_see.patch +sha256 82d8ae4fabfe3674bcb5412befe3a74e40d6485906589c219be72e4fd1e70baa 0010-SAE-Fix-confirm-message-validation-in-error-cases.patch +sha256 ff8d6d92ad4b01987be63cdaf67a24d2eba5b3cd654f37664a8a198e501c0e3b 0011-EAP-pwd-server-Verify-received-scalar-and-element.patch +sha256 d5ebf4e5a810e9a0c035f9268195c542273998ea70fd58697ee25965094062cc 0012-EAP-pwd-server-Detect-reflection-attacks.patch +sha256 7156656498f03b24a0b69a26a59d17a9fcc8e76761f1dabe6d13b4176ffd2ef8 0013-EAP-pwd-client-Verify-received-scalar-and-element.patch +sha256 69926854ec2a79dada290f79f04202764c5d6400d232e3a567ebe633a02c1c66 0014-EAP-pwd-Check-element-x-y-coordinates-explicitly.patch +sha256 cba82a051a39c48872250b2e85ca8ebc628cfe75a9ccec29f3e994abd4156152 0001-EAP-pwd-server-Fix-reassembly-buffer-handling.patch +sha256 dc0e015463e1fd1f230795e1a49ddd1b9d00e726cd9f38846d0f4892d7978162 0003-EAP-pwd-peer-Fix-reassembly-buffer-handling.patch +sha256 76eeecd8fc291a71f29189ea20e6a34387b8048a959cbc6a65c41b98194643a2 README diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk index 2b451996ed..a518ecc217 100644 --- a/package/wpa_supplicant/wpa_supplicant.mk +++ b/package/wpa_supplicant/wpa_supplicant.mk @@ -4,17 +4,25 @@ # ################################################################################ -WPA_SUPPLICANT_VERSION = 2.6 +WPA_SUPPLICANT_VERSION = 2.7 WPA_SUPPLICANT_SITE = http://w1.fi/releases WPA_SUPPLICANT_PATCH = \ - http://w1.fi/security/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch \ - http://w1.fi/security/2018-1/rebased-v2.6-0001-WPA-Ignore-unauthenticated-encrypted-EAPOL-Key-data.patch + https://w1.fi/security/2019-1/0001-OpenSSL-Use-constant-time-operations-for-private-big.patch \ + https://w1.fi/security/2019-1/0002-Add-helper-functions-for-constant-time-operations.patch \ + https://w1.fi/security/2019-1/0003-OpenSSL-Use-constant-time-selection-for-crypto_bignu.patch \ + https://w1.fi/security/2019-2/0004-EAP-pwd-Use-constant-time-and-memory-access-for-find.patch \ + https://w1.fi/security/2019-1/0005-SAE-Minimize-timing-differences-in-PWE-derivation.patch \ + https://w1.fi/security/2019-1/0006-SAE-Avoid-branches-in-is_quadratic_residue_blind.patch \ + https://w1.fi/security/2019-1/0007-SAE-Mask-timing-of-MODP-groups-22-23-24.patch \ + https://w1.fi/security/2019-1/0008-SAE-Use-const_time-selection-for-PWE-in-FFC.patch \ + https://w1.fi/security/2019-1/0009-SAE-Use-constant-time-operations-in-sae_test_pwd_see.patch \ + https://w1.fi/security/2019-3/0010-SAE-Fix-confirm-message-validation-in-error-cases.patch \ + https://w1.fi/security/2019-4/0011-EAP-pwd-server-Verify-received-scalar-and-element.patch \ + https://w1.fi/security/2019-4/0012-EAP-pwd-server-Detect-reflection-attacks.patch \ + https://w1.fi/security/2019-4/0013-EAP-pwd-client-Verify-received-scalar-and-element.patch \ + https://w1.fi/security/2019-4/0014-EAP-pwd-Check-element-x-y-coordinates-explicitly.patch \ + https://w1.fi/security/2019-5/0001-EAP-pwd-server-Fix-reassembly-buffer-handling.patch \ + https://w1.fi/security/2019-5/0003-EAP-pwd-peer-Fix-reassembly-buffer-handling.patch WPA_SUPPLICANT_LICENSE = BSD-3-Clause WPA_SUPPLICANT_LICENSE_FILES = README WPA_SUPPLICANT_CONFIG = $(WPA_SUPPLICANT_DIR)/wpa_supplicant/.config @@ -99,8 +107,8 @@ endif # Try to use openssl if it's already available ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) -WPA_SUPPLICANT_DEPENDENCIES += libopenssl -WPA_SUPPLICANT_LIBS += $(if $(BR2_STATIC_LIBS),-lcrypto -lz) +WPA_SUPPLICANT_DEPENDENCIES += host-pkgconf libopenssl +WPA_SUPPLICANT_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl` WPA_SUPPLICANT_CONFIG_EDITS += 's/\#\(CONFIG_TLS=openssl\)/\1/' else WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_EAP_PWD diff --git a/package/wsapi-fcgi/Config.in b/package/wsapi-fcgi/Config.in index b4304a0652..73ef8cb00c 100644 --- a/package/wsapi-fcgi/Config.in +++ b/package/wsapi-fcgi/Config.in @@ -2,11 +2,10 @@ config BR2_PACKAGE_WSAPI_FCGI bool "wsapi-fcgi" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBFCGI - # Runtime dependency only - select BR2_PACKAGE_WSAPI + select BR2_PACKAGE_WSAPI # runtime help WSAPI is an API that abstracts the web server from Lua web applications. This is the rock that contains the FCGI module lfcgi. - http://keplerproject.github.com/wsapi/ + http://www.keplerproject.org/wsapi diff --git a/package/wsapi-fcgi/wsapi-fcgi.hash b/package/wsapi-fcgi/wsapi-fcgi.hash index f82ce9cfcf..0e3e5933ca 100644 --- a/package/wsapi-fcgi/wsapi-fcgi.hash +++ b/package/wsapi-fcgi/wsapi-fcgi.hash @@ -1,2 +1,4 @@ -# locally computed hash -sha256 73dc200889bc185953cd3a7c5350c998c090f901fcd10771273b7a63a3ffcdcf wsapi-fcgi-1.6.1-1.src.rock +# computed by luarocks/buildroot +sha256 14b77861638a5e863fd10d60ad460a961dc108ea5b915f71461a18d5e6be8e4e wsapi-fcgi-1.7-1.src.rock +sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html +sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md diff --git a/package/wsapi-fcgi/wsapi-fcgi.mk b/package/wsapi-fcgi/wsapi-fcgi.mk index 2b0e6b255a..677bb774be 100644 --- a/package/wsapi-fcgi/wsapi-fcgi.mk +++ b/package/wsapi-fcgi/wsapi-fcgi.mk @@ -4,11 +4,12 @@ # ################################################################################ -WSAPI_FCGI_VERSION_MAJOR = 1.6.1 -WSAPI_FCGI_VERSION = $(WSAPI_FCGI_VERSION_MAJOR)-1 -WSAPI_FCGI_SUBDIR = wsapi-$(WSAPI_FCGI_VERSION_MAJOR) -WSAPI_FCGI_DEPENDENCIES = libfcgi +WSAPI_FCGI_VERSION = 1.7-1 +WSAPI_FCGI_SUBDIR = wsapi WSAPI_FCGI_LICENSE = MIT -WSAPI_FCGI_LICENSE_FILES = $(WSAPI_FCGI_SUBDIR)/doc/us/license.html +WSAPI_FCGI_LICENSE_FILES = \ + $(WSAPI_FCGI_SUBDIR)/doc/us/license.html \ + $(WSAPI_FCGI_SUBDIR)/doc/us/license.md +WSAPI_FCGI_DEPENDENCIES = libfcgi $(eval $(luarocks-package)) diff --git a/package/wsapi-xavante/Config.in b/package/wsapi-xavante/Config.in index 3e494bba8e..7079ad4eda 100644 --- a/package/wsapi-xavante/Config.in +++ b/package/wsapi-xavante/Config.in @@ -1,13 +1,10 @@ config BR2_PACKAGE_WSAPI_XAVANTE bool "wsapi-xavante" - # Runtime dependencies - select BR2_PACKAGE_COXPCALL - select BR2_PACKAGE_RINGS - select BR2_PACKAGE_WSAPI - select BR2_PACKAGE_XAVANTE + select BR2_PACKAGE_WSAPI # runtime + select BR2_PACKAGE_XAVANTE # runtime help WSAPI is an API that abstracts the web server from Lua web applications. This is the rock that contains the Xavante adapter and launcher. - http://keplerproject.github.com/wsapi/ + http://www.keplerproject.org/wsapi diff --git a/package/wsapi-xavante/wsapi-xavante.hash b/package/wsapi-xavante/wsapi-xavante.hash index 9e8132df5c..6045117b9b 100644 --- a/package/wsapi-xavante/wsapi-xavante.hash +++ b/package/wsapi-xavante/wsapi-xavante.hash @@ -1,2 +1,4 @@ -# locally computed hash -sha256 b30b171e3d4d6fd7e129f14576e1cfc5adf00c0780ef8350f2f9e6f1d4259346 wsapi-xavante-1.6.1-1.src.rock +# computed by luarocks/buildroot +sha256 01211bb80dab92f87cece6e31854d73ae4a2ce06af7c48423a54313d72adf9fb wsapi-xavante-1.7-1.src.rock +sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html +sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md diff --git a/package/wsapi-xavante/wsapi-xavante.mk b/package/wsapi-xavante/wsapi-xavante.mk index 86f5dee505..3a747e9b0b 100644 --- a/package/wsapi-xavante/wsapi-xavante.mk +++ b/package/wsapi-xavante/wsapi-xavante.mk @@ -4,10 +4,11 @@ # ################################################################################ -WSAPI_XAVANTE_VERSION_MAJOR = 1.6.1 -WSAPI_XAVANTE_VERSION = $(WSAPI_XAVANTE_VERSION_MAJOR)-1 -WSAPI_XAVANTE_SUBDIR = wsapi-$(WSAPI_XAVANTE_VERSION_MAJOR) +WSAPI_XAVANTE_VERSION = 1.7-1 +WSAPI_XAVANTE_SUBDIR = wsapi WSAPI_XAVANTE_LICENSE = MIT -WSAPI_XAVANTE_LICENSE_FILES = $(WSAPI_XAVANTE_SUBDIR)/doc/us/license.html +WSAPI_XAVANTE_LICENSE_FILES = \ + $(WSAPI_XAVANTE_SUBDIR)/doc/us/license.html \ + $(WSAPI_XAVANTE_SUBDIR)/doc/us/license.md $(eval $(luarocks-package)) diff --git a/package/wsapi/0001-Lua-5.3-compatibility.patch b/package/wsapi/0001-Lua-5.3-compatibility.patch deleted file mode 100644 index 9165ef2b90..0000000000 --- a/package/wsapi/0001-Lua-5.3-compatibility.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 2d824d2fce31b6a9cc60b2c3f215fbbf1d99c611 Mon Sep 17 00:00:00 2001 -From: mpeterv -Date: Thu, 3 Dec 2015 13:10:14 +0300 -Subject: [PATCH] Lua 5.3 compatibility - -Fetched from: https://github.com/keplerproject/wsapi/commit/2d824d2fce31b6a9cc60b2c3f215fbbf1d99c611 - -Signed-off-by: Francois Perrad ---- - src/wsapi/ringer.lua | 1 + - src/wsapi/util.lua | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/wsapi-1.6.1/src/wsapi/ringer.lua b/wsapi-1.6.1/src/wsapi/ringer.lua -index 58309f2..db7b68f 100644 ---- a/wsapi-1.6.1/src/wsapi/ringer.lua -+++ b/wsapi-1.6.1/src/wsapi/ringer.lua -@@ -5,6 +5,7 @@ local rings = require "rings" - local _M = {} - - local init = [==[ -+ local loadstring = loadstring or load - local app_name, bootstrap_code, is_file = ... - if bootstrap_code then - local bootstrap, err -diff --git a/wsapi-1.6.1/src/wsapi/util.lua b/wsapi-1.6.1/src/wsapi/util.lua -index 24d3cfe..34e5816 100644 ---- a/wsapi-1.6.1/src/wsapi/util.lua -+++ b/wsapi-1.6.1/src/wsapi/util.lua -@@ -174,7 +174,7 @@ function _M.make_env_post(pd, type, qs) - end - - function _M.loadfile(filename, env) -- if _VERSION == "Lua 5.2" then -+ if _VERSION ~= "Lua 5.1" then - return loadfile(filename, "bt", env) - else - local f, err = loadfile(filename) --- -2.14.1 - diff --git a/package/wsapi/Config.in b/package/wsapi/Config.in index 348a0404b6..72e2dcd8e0 100644 --- a/package/wsapi/Config.in +++ b/package/wsapi/Config.in @@ -1,10 +1,9 @@ config BR2_PACKAGE_WSAPI bool "wsapi" - # Runtime dependency only - select BR2_PACKAGE_COXPCALL - select BR2_PACKAGE_LUAFILESYSTEM - select BR2_PACKAGE_RINGS + select BR2_PACKAGE_COXPCALL if BR2_PACKAGE_LUA_5_1 # runtime + select BR2_PACKAGE_LUAFILESYSTEM # runtime + select BR2_PACKAGE_RINGS # runtime help API that abstracts the web server from Lua web applications. - http://keplerproject.github.com/wsapi/ + http://www.keplerproject.org/wsapi diff --git a/package/wsapi/wsapi.hash b/package/wsapi/wsapi.hash index 3abbfc979a..a89853de2e 100644 --- a/package/wsapi/wsapi.hash +++ b/package/wsapi/wsapi.hash @@ -1,2 +1,4 @@ -# locally computed hash -sha256 f7f1b0ddc68c257965c42ac7155904d8ff7c2b7256f65ef1b82fda0039137d61 wsapi-1.6.1-1.src.rock +# computed by luarocks/buildroot +sha256 1a0829dffd6bdbf99f5c4278d504cda5ede9344d5089bdcf5216c9eb2999ae22 wsapi-1.7-1.src.rock +sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html +sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md diff --git a/package/wsapi/wsapi.mk b/package/wsapi/wsapi.mk index 64a27579f2..d67efd0e7b 100644 --- a/package/wsapi/wsapi.mk +++ b/package/wsapi/wsapi.mk @@ -4,8 +4,11 @@ # ################################################################################ -WSAPI_VERSION = 1.6.1-1 +WSAPI_VERSION = 1.7-1 +WSAPI_SUBDIR = wsapi WSAPI_LICENSE = MIT -WSAPI_LICENSE_FILES = $(WSAPI_SUBDIR)/doc/us/license.html +WSAPI_LICENSE_FILES = \ + $(WSAPI_SUBDIR)/doc/us/license.html \ + $(WSAPI_SUBDIR)/doc/us/license.md $(eval $(luarocks-package)) diff --git a/package/x11r7/xapp_beforelight/xapp_beforelight.mk b/package/x11r7/xapp_beforelight/xapp_beforelight.mk index b39fe7870e..7dcb715ef3 100644 --- a/package/x11r7/xapp_beforelight/xapp_beforelight.mk +++ b/package/x11r7/xapp_beforelight/xapp_beforelight.mk @@ -10,5 +10,6 @@ XAPP_BEFORELIGHT_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_BEFORELIGHT_LICENSE = MIT XAPP_BEFORELIGHT_LICENSE_FILES = COPYING XAPP_BEFORELIGHT_DEPENDENCIES = xlib_libX11 xlib_libXScrnSaver xlib_libXaw xlib_libXt +XAPP_BEFORELIGHT_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_bitmap/xapp_bitmap.mk b/package/x11r7/xapp_bitmap/xapp_bitmap.mk index 851af31382..1ee2880adc 100644 --- a/package/x11r7/xapp_bitmap/xapp_bitmap.mk +++ b/package/x11r7/xapp_bitmap/xapp_bitmap.mk @@ -10,5 +10,6 @@ XAPP_BITMAP_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_BITMAP_LICENSE = MIT XAPP_BITMAP_LICENSE_FILES = COPYING XAPP_BITMAP_DEPENDENCIES = xlib_libX11 xlib_libXaw xlib_libXmu xdata_xbitmaps +XAPP_BITMAP_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_editres/xapp_editres.mk b/package/x11r7/xapp_editres/xapp_editres.mk index 1a947d478e..108a0ec351 100644 --- a/package/x11r7/xapp_editres/xapp_editres.mk +++ b/package/x11r7/xapp_editres/xapp_editres.mk @@ -10,5 +10,6 @@ XAPP_EDITRES_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_EDITRES_LICENSE = MIT XAPP_EDITRES_LICENSE_FILES = COPYING XAPP_EDITRES_DEPENDENCIES = xlib_libX11 xlib_libXaw xlib_libXmu xlib_libXt +XAPP_EDITRES_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_oclock/xapp_oclock.mk b/package/x11r7/xapp_oclock/xapp_oclock.mk index 833d151404..0f94cf8c13 100644 --- a/package/x11r7/xapp_oclock/xapp_oclock.mk +++ b/package/x11r7/xapp_oclock/xapp_oclock.mk @@ -10,6 +10,7 @@ XAPP_OCLOCK_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_OCLOCK_LICENSE = MIT XAPP_OCLOCK_LICENSE_FILES = COPYING XAPP_OCLOCK_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXmu +XAPP_OCLOCK_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults ifeq ($(BR2_PACKAGE_XLIB_LIBXKBFILE),y) XAPP_OCLOCK_CONF_OPTS += --with-xkb diff --git a/package/x11r7/xapp_rgb/xapp_rgb.mk b/package/x11r7/xapp_rgb/xapp_rgb.mk index d63576f44d..b2d5d77744 100644 --- a/package/x11r7/xapp_rgb/xapp_rgb.mk +++ b/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 = xorgproto +XAPP_RGB_DEPENDENCIES = xorgproto host-pkgconf $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_viewres/xapp_viewres.mk b/package/x11r7/xapp_viewres/xapp_viewres.mk index 95205b4352..e32de0f732 100644 --- a/package/x11r7/xapp_viewres/xapp_viewres.mk +++ b/package/x11r7/xapp_viewres/xapp_viewres.mk @@ -10,5 +10,6 @@ XAPP_VIEWRES_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_VIEWRES_LICENSE = MIT XAPP_VIEWRES_LICENSE_FILES = COPYING XAPP_VIEWRES_DEPENDENCIES = xlib_libXaw +XAPP_VIEWRES_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xcalc/xapp_xcalc.mk b/package/x11r7/xapp_xcalc/xapp_xcalc.mk index 58fbdf5710..9445af75e7 100644 --- a/package/x11r7/xapp_xcalc/xapp_xcalc.mk +++ b/package/x11r7/xapp_xcalc/xapp_xcalc.mk @@ -11,5 +11,6 @@ XAPP_XCALC_LICENSE = MIT XAPP_XCALC_LICENSE_FILES = COPYING XAPP_XCALC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-exec install-data XAPP_XCALC_DEPENDENCIES = xlib_libXaw +XAPP_XCALC_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xclipboard/xapp_xclipboard.mk b/package/x11r7/xapp_xclipboard/xapp_xclipboard.mk index 3620f757d5..d77ac98621 100644 --- a/package/x11r7/xapp_xclipboard/xapp_xclipboard.mk +++ b/package/x11r7/xapp_xclipboard/xapp_xclipboard.mk @@ -10,5 +10,6 @@ XAPP_XCLIPBOARD_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XCLIPBOARD_LICENSE = MIT XAPP_XCLIPBOARD_LICENSE_FILES = COPYING XAPP_XCLIPBOARD_DEPENDENCIES = xlib_libXaw xlib_libXmu xlib_libXt +XAPP_XCLIPBOARD_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xclock/xapp_xclock.mk b/package/x11r7/xapp_xclock/xapp_xclock.mk index 282d753ffa..6f8044ef61 100644 --- a/package/x11r7/xapp_xclock/xapp_xclock.mk +++ b/package/x11r7/xapp_xclock/xapp_xclock.mk @@ -10,5 +10,6 @@ XAPP_XCLOCK_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XCLOCK_LICENSE = MIT XAPP_XCLOCK_LICENSE_FILES = COPYING XAPP_XCLOCK_DEPENDENCIES = xlib_libX11 xlib_libXaw xlib_libXft xlib_libXrender xlib_libxkbfile +XAPP_XCLOCK_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xconsole/xapp_xconsole.mk b/package/x11r7/xapp_xconsole/xapp_xconsole.mk index a91b98dc60..ddec4cfaa3 100644 --- a/package/x11r7/xapp_xconsole/xapp_xconsole.mk +++ b/package/x11r7/xapp_xconsole/xapp_xconsole.mk @@ -12,5 +12,6 @@ XAPP_XCONSOLE_LICENSE_FILES = COPYING XAPP_XCONSOLE_DEPENDENCIES = \ xlib_libX11 xlib_libXaw xlib_libXt xorgproto \ xlib_libXmu +XAPP_XCONSOLE_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash b/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash index b98d449c1f..51031d62bc 100644 --- a/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash +++ b/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2014-May/002438.html -sha256 31c8910f54eb175a8a74a60e7662697467e21a8bf948220a6048a93924b3f66c xcursorgen-1.0.6.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2019-January/002936.html +md5 25cc7ca1ce5dcbb61c2b471c55e686b5 xcursorgen-1.0.7.tar.bz2 +sha1 109367eb23b0ad52cf5de15f50c02ebe872698ae xcursorgen-1.0.7.tar.bz2 +sha256 35b6f844b24f1776e9006c880a745728800764dbe3b327a128772b4610d8eb3d xcursorgen-1.0.7.tar.bz2 +sha512 bd13ad23691d3daa2d5dcdc5902cf62e3dcb97a0289aff362e6cd85866a1d8cafb64f98800a75bfb4cf1f3c76244ca20201847dff594543d136d0abaec7011d2 xcursorgen-1.0.7.tar.bz2 +# Locally computed +sha256 8c773336b654442ac8018715a52be1a8254895c57c898d5387016e9488cc2009 COPYING diff --git a/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk b/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk index 4bee26b5dc..bcc696b01c 100644 --- a/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk +++ b/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XCURSORGEN_VERSION = 1.0.6 +XAPP_XCURSORGEN_VERSION = 1.0.7 XAPP_XCURSORGEN_SOURCE = xcursorgen-$(XAPP_XCURSORGEN_VERSION).tar.bz2 XAPP_XCURSORGEN_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XCURSORGEN_LICENSE = MIT diff --git a/package/x11r7/xapp_xditview/xapp_xditview.mk b/package/x11r7/xapp_xditview/xapp_xditview.mk index 4744c1fefd..e8d72770ea 100644 --- a/package/x11r7/xapp_xditview/xapp_xditview.mk +++ b/package/x11r7/xapp_xditview/xapp_xditview.mk @@ -10,5 +10,6 @@ XAPP_XDITVIEW_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XDITVIEW_LICENSE = MIT XAPP_XDITVIEW_LICENSE_FILES = COPYING XAPP_XDITVIEW_DEPENDENCIES = xlib_libXaw +XAPP_XDITVIEW_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xdm/xapp_xdm.hash b/package/x11r7/xapp_xdm/xapp_xdm.hash index 207d769fbf..605be9debc 100644 --- a/package/x11r7/xapp_xdm/xapp_xdm.hash +++ b/package/x11r7/xapp_xdm/xapp_xdm.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2011-September/001737.html -sha256 d4da426ddea0124279a3f2e00a26db61944690628ee818a64df9d27352081c47 xdm-1.1.11.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2019-March/002959.html +md5 47c4c3bf8d59b64b64d134df8b5e5ec5 xdm-1.1.12.tar.bz2 +sha1 5cc5590e40837949b1a63cb030878f8ceebd4d85 xdm-1.1.12.tar.bz2 +sha256 0dd283f72dda098d09e2925b9278c95e21551e693a5802ab442d1b577d8327f4 xdm-1.1.12.tar.bz2 +sha512 1a4be0a070ced5db8fda6fc74794c9f9ed0cb37fa440fda6a3a7652aff62dfc3d7ba68b9facf054671ebf0f4db2a0eec29d0aa3716e3407ccd5529bac3553bdb xdm-1.1.12.tar.bz2 +# Locally computed +sha256 b33b4bebbd6511b3e15315e8e29d67f25334ee45da8b7da6e6e97c53a70c6923 COPYING diff --git a/package/x11r7/xapp_xdm/xapp_xdm.mk b/package/x11r7/xapp_xdm/xapp_xdm.mk index 2c213a6bf0..3c91e21579 100644 --- a/package/x11r7/xapp_xdm/xapp_xdm.mk +++ b/package/x11r7/xapp_xdm/xapp_xdm.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XDM_VERSION = 1.1.11 +XAPP_XDM_VERSION = 1.1.12 XAPP_XDM_SOURCE = xdm-$(XAPP_XDM_VERSION).tar.bz2 XAPP_XDM_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XDM_LICENSE = MIT @@ -20,6 +20,7 @@ XAPP_XDM_DEPENDENCIES = \ xlib_libXt \ xorgproto XAPP_XDM_CONF_OPTS = \ + --with-appdefaultdir=/usr/share/X11/app-defaults \ --with-utmp-file=/var/adm/utmpx \ --with-wtmp-file=/var/adm/wtmpx diff --git a/package/x11r7/xapp_xedit/xapp_xedit.mk b/package/x11r7/xapp_xedit/xapp_xedit.mk index 0f42e2cb0d..1cb99dc6f4 100644 --- a/package/x11r7/xapp_xedit/xapp_xedit.mk +++ b/package/x11r7/xapp_xedit/xapp_xedit.mk @@ -11,6 +11,8 @@ XAPP_XEDIT_LICENSE = MIT XAPP_XEDIT_LICENSE_FILES = COPYING XAPP_XEDIT_DEPENDENCIES = xlib_libXaw -XAPP_XEDIT_CONF_OPTS = --disable-selective-werror +XAPP_XEDIT_CONF_OPTS = \ + --disable-selective-werror \ + --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xfd/xapp_xfd.mk b/package/x11r7/xapp_xfd/xapp_xfd.mk index e3c770b37c..89b3f299f0 100644 --- a/package/x11r7/xapp_xfd/xapp_xfd.mk +++ b/package/x11r7/xapp_xfd/xapp_xfd.mk @@ -9,6 +9,13 @@ XAPP_XFD_SOURCE = xfd-$(XAPP_XFD_VERSION).tar.bz2 XAPP_XFD_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XFD_LICENSE = MIT XAPP_XFD_LICENSE_FILES = COPYING -XAPP_XFD_DEPENDENCIES = freetype fontconfig xlib_libXaw xlib_libXft +XAPP_XFD_DEPENDENCIES = \ + freetype \ + fontconfig \ + xlib_libXaw \ + xlib_libXft \ + $(TARGET_NLS_DEPENDENCIES) +XAPP_XFD_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults +XAPP_XFD_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xload/xapp_xload.mk b/package/x11r7/xapp_xload/xapp_xload.mk index b44a51b5fd..4bb21ecf0b 100644 --- a/package/x11r7/xapp_xload/xapp_xload.mk +++ b/package/x11r7/xapp_xload/xapp_xload.mk @@ -9,7 +9,9 @@ XAPP_XLOAD_SOURCE = xload-$(XAPP_XLOAD_VERSION).tar.bz2 XAPP_XLOAD_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XLOAD_LICENSE = MIT XAPP_XLOAD_LICENSE_FILES = COPYING -XAPP_XLOAD_DEPENDENCIES = xlib_libXaw +XAPP_XLOAD_DEPENDENCIES = xlib_libXaw $(TARGET_NLS_DEPENDENCIES) +XAPP_XLOAD_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults +XAPP_XLOAD_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) # musl doesn't have rwhod.h, but xload can replace it with stubs diff --git a/package/x11r7/xapp_xmag/xapp_xmag.mk b/package/x11r7/xapp_xmag/xapp_xmag.mk index bfc60c3ef0..113c328e2d 100644 --- a/package/x11r7/xapp_xmag/xapp_xmag.mk +++ b/package/x11r7/xapp_xmag/xapp_xmag.mk @@ -10,5 +10,6 @@ XAPP_XMAG_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XMAG_LICENSE = MIT XAPP_XMAG_LICENSE_FILES = COPYING XAPP_XMAG_DEPENDENCIES = xlib_libXaw +XAPP_XMAG_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xapp_xman/xapp_xman.mk b/package/x11r7/xapp_xman/xapp_xman.mk index bca6bbff8d..0d744cc390 100644 --- a/package/x11r7/xapp_xman/xapp_xman.mk +++ b/package/x11r7/xapp_xman/xapp_xman.mk @@ -10,6 +10,7 @@ XAPP_XMAN_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XMAN_LICENSE = MIT XAPP_XMAN_LICENSE_FILES = COPYING XAPP_XMAN_DEPENDENCIES = xlib_libXaw +XAPP_XMAN_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults XAPP_XMAN_CONF_ENV = \ ac_cv_file__etc_man_conf=no \ diff --git a/package/x11r7/xapp_xmessage/xapp_xmessage.mk b/package/x11r7/xapp_xmessage/xapp_xmessage.mk index bae5da670d..9d426974bd 100644 --- a/package/x11r7/xapp_xmessage/xapp_xmessage.mk +++ b/package/x11r7/xapp_xmessage/xapp_xmessage.mk @@ -10,5 +10,6 @@ XAPP_XMESSAGE_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XMESSAGE_LICENSE = MIT XAPP_XMESSAGE_LICENSE_FILES = COPYING XAPP_XMESSAGE_DEPENDENCIES = xlib_libXaw +XAPP_XMESSAGE_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash index cb41765f4f..c6f2577bd6 100644 --- a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash +++ b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash @@ -1,7 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2018-July/002908.html -md5 2d7519ac0e39d4c88f3be32e81a637aa xf86-input-libinput-0.28.0.tar.bz2 -sha1 07f5559bcf0363d4ecaf0b2cecb88ee7d2b16fc6 xf86-input-libinput-0.28.0.tar.bz2 -sha256 21994d065fc26e85d1c3fc87d8479b9c22699ed5a0119df98fbe0000e84630a1 xf86-input-libinput-0.28.0.tar.bz2 -sha512 4276b6aea87ddc83fa1f5e8d8949e34ad117186a6b5b599549231cb90424cd0fa69f3a4701ce529739c676665bb5c936eb447817c9420511d23bc048f6be92a4 xf86-input-libinput-0.28.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-October/002923.html +md5 9d2fb3d6b452d568a275908b856de0e2 xf86-input-libinput-0.28.1.tar.bz2 +sha1 f72f298c23fa993857ff1a9a06754f2f5962b376 xf86-input-libinput-0.28.1.tar.bz2 +sha256 9ada448e076c0078a84b48e5298fa8ce317565f9b342b74c20429214a707d98b xf86-input-libinput-0.28.1.tar.bz2 +sha512 2b8cabfbc3490edbe928771ed9d62a0d4a423bc1373fc6cf9d3a6b5937e17ddc48ebb1b70f1191e507024e4b8220c137495cbba825292b51e50709daa7d31623 xf86-input-libinput-0.28.1.tar.bz2 # Locally computed sha256 b808a8a077995380c6064bec41616f98546b0b2e79bb7f3d0247d290e275b396 COPYING diff --git a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk index b427d154cb..83de5c9610 100644 --- a/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk +++ b/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 0.28.0 +XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 0.28.1 XDRIVER_XF86_INPUT_LIBINPUT_SOURCE = xf86-input-libinput-$(XDRIVER_XF86_INPUT_LIBINPUT_VERSION).tar.bz2 XDRIVER_XF86_INPUT_LIBINPUT_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_LIBINPUT_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/Config.in b/package/x11r7/xdriver_xf86-video-amdgpu/Config.in index 43090c7559..c42255f55c 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/Config.in +++ b/package/x11r7/xdriver_xf86-video-amdgpu/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_AMDGPU bool "xf86-video-amdgpu" + depends on BR2_USE_MMU # libdrm depends on BR2_PACKAGE_MESA3D_DRI_DRIVER depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm select BR2_PACKAGE_LIBDRM @@ -11,5 +12,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_AMDGPU AMD GPU video driver comment "xf86-video-amdgpu needs egl/opengl support from mesa3d" + depends on BR2_USE_MMU depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL || \ !BR2_PACKAGE_MESA3D_DRI_DRIVER diff --git a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash index d0fae63e61..999f971811 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash @@ -1,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/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk index b8b7dcfe2f..6a8266d0b0 100644 --- a/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk +++ b/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk @@ -4,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 diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash index d37096e9e4..e9581cb084 100644 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash +++ b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash @@ -1,7 +1,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/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk index 4f1b4da8bd..e89929d291 100644 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk +++ b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk @@ -4,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 diff --git a/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash b/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash index 0f34e5178e..d0cbc09038 100644 --- a/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash +++ b/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.hash @@ -1,2 +1,2 @@ # From http://lists.x.org/archives/xorg-announce/2013-September/002324.html -sha256 9dd4b326498223abbfdf786089a46ea3db4fa6bbd341308eb48a9e00bc3fd51b xf86-video-fbdev-0.4.4.tar.bz2 +sha256 dcc3d85f378022180e437a9ec00a59b6cb7680ff79c40394d695060af2374699 xf86-video-fbdev-0.5.0.tar.bz2 diff --git a/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk b/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk index f39311e611..a480befdd0 100644 --- a/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk +++ b/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_FBDEV_VERSION = 0.4.4 +XDRIVER_XF86_VIDEO_FBDEV_VERSION = 0.5.0 XDRIVER_XF86_VIDEO_FBDEV_SOURCE = xf86-video-fbdev-$(XDRIVER_XF86_VIDEO_FBDEV_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_FBDEV_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_FBDEV_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-geode/0001-Remove-call-to-LoaderGetOS.patch b/package/x11r7/xdriver_xf86-video-geode/0001-Remove-call-to-LoaderGetOS.patch new file mode 100644 index 0000000000..18e4a60da0 --- /dev/null +++ b/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/package/x11r7/xdriver_xf86-video-geode/0002-gx-Fix-RANDR-initialization-for-xserver-1.20.patch b/package/x11r7/xdriver_xf86-video-geode/0002-gx-Fix-RANDR-initialization-for-xserver-1.20.patch new file mode 100644 index 0000000000..37e4a25e76 --- /dev/null +++ b/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/package/x11r7/xdriver_xf86-video-i128/0001-mbstring.patch b/package/x11r7/xdriver_xf86-video-i128/0001-mbstring.patch deleted file mode 100644 index 40bb1ea2bd..0000000000 --- a/package/x11r7/xdriver_xf86-video-i128/0001-mbstring.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c87753733a6e1f85d1d037dced0b47ce0cf41658 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 25 Sep 2012 12:54:40 +0000 -Subject: Remove mibstore.h - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-i128/commit/?id=c87753733a6e1f85d1d037dced0b47ce0cf41658 - -Signed-off-by: Bernd Kuhls - -diff --git a/src/i128_driver.c b/src/i128_driver.c -index a0f08c0..51a4135 100644 ---- a/src/i128_driver.c -+++ b/src/i128_driver.c -@@ -50,8 +50,6 @@ - /* All drivers initialising the SW cursor need this */ - #include "mipointer.h" - --/* All drivers implementing backing store need this */ --#include "mibstore.h" - #include "micmap.h" - - #include "xf86DDC.h" -@@ -1556,7 +1554,6 @@ I128ScreenInit(SCREEN_INIT_ARGS_DECL) - return FALSE; - } - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - xf86SetSilkenMouse(pScreen); - --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash index 9600c4565f..325e754fb3 100644 --- a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash +++ b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2012-July/002012.html -sha256 f8827e4c988f90cf5a677554b30d61f0a07eb86d872478751cdc94dc17452b9c xf86-video-i128-1.3.6.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-December/002932.html +md5 a980f1b8532ccfe81932580bc4e0f2a0 xf86-video-i128-1.4.0.tar.bz2 +sha1 56d5b897b2695222c13e59d2ade74620a99e1011 xf86-video-i128-1.4.0.tar.bz2 +sha256 8f2c0a6bf5a169dad3fc07c6dd4537b492d0e44489e4a1297311e617c3bed0ea xf86-video-i128-1.4.0.tar.bz2 +sha512 d58baee3f20b3ad2ece6853da0ff20a6d54b984c6e3289bad2715cc003b277a0b44d20ded25cfc116400468df552390bdb5d80fbd3fb60861488ee5d027664b2 xf86-video-i128-1.4.0.tar.bz2 +# Locally computed +sha256 7677424d79633dbf255a81bd4e05dd621931b89997af33c31522269ec2ed391e COPYING diff --git a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk index 148fc3d1d0..e44deaf621 100644 --- a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk +++ b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_I128_VERSION = 1.3.6 +XDRIVER_XF86_VIDEO_I128_VERSION = 1.4.0 XDRIVER_XF86_VIDEO_I128_SOURCE = xf86-video-i128-$(XDRIVER_XF86_VIDEO_I128_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_I128_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_I128_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash index 469649ec30..2443dc2880 100644 --- a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash +++ b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 8a008db80964700c57db407fe9fab78884d6919bd5343a269f681625132b4687 xdriver_xf86-video-intel-3d395062ce73f85e8340218df01c2ebf4bc25023.tar.gz +sha256 685a1b3e1b486f4fb02dd14adc33b8ce215bb96ed8e26787ee8b7bda4c0d6cce xdriver_xf86-video-intel-33ee0c3b21ea279e08d0863fcb2e874f0974b00e.tar.gz sha256 5808e89f4b9a30afc59f335bfa8219ecf2dacb89a81d16b322bc6d92993a48fa COPYING diff --git a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk index 66b0f9defe..bd315c8d9a 100644 --- a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk +++ b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_INTEL_VERSION = 3d395062ce73f85e8340218df01c2ebf4bc25023 +XDRIVER_XF86_VIDEO_INTEL_VERSION = 33ee0c3b21ea279e08d0863fcb2e874f0974b00e XDRIVER_XF86_VIDEO_INTEL_SITE = git://anongit.freedesktop.org/xorg/driver/xf86-video-intel XDRIVER_XF86_VIDEO_INTEL_LICENSE = MIT XDRIVER_XF86_VIDEO_INTEL_LICENSE_FILES = COPYING diff --git a/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash b/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash index 0187e6fbb5..218e52e19c 100644 --- a/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash +++ b/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash @@ -1,2 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2017-January/002765.html -sha256 b663cd8e6364f7c4e2637b9fcab9861d0e3971518c73b00d213f6545a1289422 xf86-video-mga-1.6.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-December/002933.html +md5 b8fc99b4adea8bfe80156b13df4b6c9c xf86-video-mga-2.0.0.tar.bz2 +sha1 833f2710a1fd7b3f2db3700b2ad055527da5033b xf86-video-mga-2.0.0.tar.bz2 +sha256 268946e1a13e9d80e4f724a0740df9e6e8c8bad37697fcbf456924e9fdbb5d79 xf86-video-mga-2.0.0.tar.bz2 +sha512 b92006486aef815ff4399f291d610c65d88c0b32a9dae97658c644715ff62b221b01495b5c7a2311745e26f699c1c1f753b81c7bf54cf75567af9f78ac015540 xf86-video-mga-2.0.0.tar.bz2 +# Locally computed +sha256 6c567575e381478c7616eedff3ea2ae5228a5b54fbdd22d4070ebae312fa085c COPYING diff --git a/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk b/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk index bdc9f35884..2720848a17 100644 --- a/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk +++ b/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_MGA_VERSION = 1.6.5 +XDRIVER_XF86_VIDEO_MGA_VERSION = 2.0.0 XDRIVER_XF86_VIDEO_MGA_SOURCE = xf86-video-mga-$(XDRIVER_XF86_VIDEO_MGA_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_MGA_SITE = http://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_MGA_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash b/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash index fc830661b4..55996f5b0d 100644 --- a/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash +++ b/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-May/002602.html -sha256 72f89396b10527549337cb72a7eafb1194cf140144f9236a94ad2becdf140bf2 xf86-video-neomagic-1.2.9.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-December/002934.html +md5 349d5254d09eb46f2a1f151cd423b89a xf86-video-neomagic-1.3.0.tar.bz2 +sha1 6bccfa15ea05d5264120cd96ccf13687642e8f6d xf86-video-neomagic-1.3.0.tar.bz2 +sha256 93833950fae7757088eb6abb125e15e8c245e5e25681c19c3ad4213ec7319064 xf86-video-neomagic-1.3.0.tar.bz2 +sha512 25d019a2556e52aeb4e25942f444437a921e76d527c10ddd420f16aa7d85bf2b8a51612c382a2a7e3e407bb1e8d610d063101184eea0889c3e1a69bfb3b37735 xf86-video-neomagic-1.3.0.tar.bz2 +# Locally computed +sha256 95063ce9aa09850025dd317549ce688519079a8d3cf66ceb3d882cb2bafcced9 COPYING diff --git a/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk b/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk index 93cd55a11b..8dd2777ff9 100644 --- a/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk +++ b/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_NEOMAGIC_VERSION = 1.2.9 +XDRIVER_XF86_VIDEO_NEOMAGIC_VERSION = 1.3.0 XDRIVER_XF86_VIDEO_NEOMAGIC_SOURCE = xf86-video-neomagic-$(XDRIVER_XF86_VIDEO_NEOMAGIC_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_NEOMAGIC_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_NEOMAGIC_LICENSE = MIT diff --git a/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch b/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch deleted file mode 100644 index 7b2ebd4b80..0000000000 --- a/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/package/x11r7/xdriver_xf86-video-r128/0002-include-stdint-h.patch b/package/x11r7/xdriver_xf86-video-r128/0002-include-stdint-h.patch deleted file mode 100644 index 4c15915b26..0000000000 --- a/package/x11r7/xdriver_xf86-video-r128/0002-include-stdint-h.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c4c878d2ccb75fa75afe46e0e50ee9975c5c57fc Mon Sep 17 00:00:00 2001 -From: Stefan Dirsch -Date: Mon, 25 Jun 2018 15:57:02 +0200 -Subject: Include in order to declare uint32_t - -Apparently this is needed in src/atipcirename.h since xorg-server -1.20 in order to still build this driver. - -Signed-off-by: Stefan Dirsch -Reviewed-by: Emil Velikov - -Downloaded from upstream commit -https://cgit.freedesktop.org/xorg/driver/xf86-video-r128/commit/?id=c4c878d2ccb75fa75afe46e0e50ee9975c5c57fc - -Signed-off-by: Bernd Kuhls ---- - src/atipcirename.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/atipcirename.h b/src/atipcirename.h -index e65ae3c..3e7f686 100644 ---- a/src/atipcirename.h -+++ b/src/atipcirename.h -@@ -34,6 +34,7 @@ enum region_type { - REGION_IO - }; - -+#include - #include "xf86Module.h" - - #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 12 --- -cgit v1.1 - diff --git a/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash b/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash index b6d8bd8197..eee2865094 100644 --- a/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash +++ b/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/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk b/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk index 9dd9ef25e4..455cfbad86 100644 --- a/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk +++ b/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk @@ -4,12 +4,11 @@ # ################################################################################ -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 xorgproto ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) diff --git a/package/x11r7/xlib_libSM/xlib_libSM.hash b/package/x11r7/xlib_libSM/xlib_libSM.hash index 79dc25c226..1653dc6d76 100644 --- a/package/x11r7/xlib_libSM/xlib_libSM.hash +++ b/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/package/x11r7/xlib_libSM/xlib_libSM.mk b/package/x11r7/xlib_libSM/xlib_libSM.mk index 9049cea234..708224e2d1 100644 --- a/package/x11r7/xlib_libSM/xlib_libSM.mk +++ b/package/x11r7/xlib_libSM/xlib_libSM.mk @@ -4,7 +4,7 @@ # ################################################################################ -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 diff --git a/package/x11r7/xlib_libX11/xlib_libX11.hash b/package/x11r7/xlib_libX11/xlib_libX11.hash index 4dc934177a..5dac4f1149 100644 --- a/package/x11r7/xlib_libX11/xlib_libX11.hash +++ b/package/x11r7/xlib_libX11/xlib_libX11.hash @@ -1,7 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2018-August/002916.html -md5 6b0f83e851b3b469dd660f3a95ac3e42 libX11-1.6.6.tar.bz2 -sha1 b29cf4362b58188cb27fed2294788004af7428a9 libX11-1.6.6.tar.bz2 -sha256 65fe181d40ec77f45417710c6a67431814ab252d21c2e85c75dd1ed568af414f libX11-1.6.6.tar.bz2 -sha512 9866dc6b158b15a96efe140b6fa68a775889a37e5565a126216211fee63868e02629a9f9f41816d590ef150560f43b8864010a77a6318c9109e76aec1d21b4d7 libX11-1.6.6.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/package/x11r7/xlib_libX11/xlib_libX11.mk b/package/x11r7/xlib_libX11/xlib_libX11.mk index 9eafd47e7b..87929c42ed 100644 --- a/package/x11r7/xlib_libX11/xlib_libX11.mk +++ b/package/x11r7/xlib_libX11/xlib_libX11.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBX11_VERSION = 1.6.6 +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 diff --git a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash index 6b50cb1c79..0dbea635f2 100644 --- a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash +++ b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-March/002554.html -sha256 81fe09867918fff258296e1e1e159f0dc639cb30d201c53519f25ab73af4e4e2 libXdmcp-1.1.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2019-March/002974.html +md5 115c5c12ecce0e749cd91d999a5fd160 libXdmcp-1.1.3.tar.bz2 +sha1 0a8f8a274f829331efb1e8e2027c38631b204dd0 libXdmcp-1.1.3.tar.bz2 +sha256 20523b44aaa513e17c009e873ad7bbc301507a3224c232610ce2e099011c6529 libXdmcp-1.1.3.tar.bz2 +sha512 cb1d4650f97d66e73acd2465ec7d757b9b797cce2f85e301860a44997a461837eea845ec9bd5b639ec5ca34c804f8bdd870697a5ce3f4e270b687c9ef74f25ec libXdmcp-1.1.3.tar.bz2 +# Locally computed +sha256 8a3c3f35b0dbcb60a4e242b9e4394a352a65bb27deb2938ea1e2e62a626e16e9 COPYING diff --git a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk index 44a6f00543..1182903e87 100644 --- a/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk +++ b/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBXDMCP_VERSION = 1.1.2 +XLIB_LIBXDMCP_VERSION = 1.1.3 XLIB_LIBXDMCP_SOURCE = libXdmcp-$(XLIB_LIBXDMCP_VERSION).tar.bz2 XLIB_LIBXDMCP_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXDMCP_LICENSE = MIT diff --git a/package/x11r7/xlib_libXpm/xlib_libXpm.mk b/package/x11r7/xlib_libXpm/xlib_libXpm.mk index 7e11c4b5aa..391493a4ba 100644 --- a/package/x11r7/xlib_libXpm/xlib_libXpm.mk +++ b/package/x11r7/xlib_libXpm/xlib_libXpm.mk @@ -15,9 +15,10 @@ XLIB_LIBXPM_AUTORECONF = YES XLIB_LIBXPM_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xorgproto \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ $(TARGET_NLS_DEPENDENCIES) +XLIB_LIBXPM_CONF_ENV = LIBS=$(TARGET_NLS_LIBS) ifeq ($(BR2_SYSTEM_ENABLE_NLS),) -XLIB_LIBXPM_CONF_ENV = ac_cv_search_gettext=no +XLIB_LIBXPM_CONF_ENV += ac_cv_search_gettext=no endif $(eval $(autotools-package)) diff --git a/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk b/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk index 526aea9fe5..cb84ae4ee1 100644 --- a/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk +++ b/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 xorgproto -HOST_XLIB_LIBFONTENC_DEPENDENCIES = host-zlib host-xorgproto +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/package/x11r7/xserver_xorg-server/1.20.1/0001-modesettings-needs-dri2.patch b/package/x11r7/xserver_xorg-server/1.20.4/0001-modesettings-needs-dri2.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/1.20.1/0001-modesettings-needs-dri2.patch rename to package/x11r7/xserver_xorg-server/1.20.4/0001-modesettings-needs-dri2.patch diff --git a/package/x11r7/xserver_xorg-server/1.20.1/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch b/package/x11r7/xserver_xorg-server/1.20.4/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/1.20.1/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch rename to package/x11r7/xserver_xorg-server/1.20.4/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch diff --git a/package/x11r7/xserver_xorg-server/1.20.1/0003-Remove-check-for-useSIGIO-option.patch b/package/x11r7/xserver_xorg-server/1.20.4/0003-Remove-check-for-useSIGIO-option.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/1.20.1/0003-Remove-check-for-useSIGIO-option.patch rename to package/x11r7/xserver_xorg-server/1.20.4/0003-Remove-check-for-useSIGIO-option.patch diff --git a/package/x11r7/xserver_xorg-server/1.20.1/0004-include-misc.h-fix-uClibc-build.patch b/package/x11r7/xserver_xorg-server/1.20.4/0004-include-misc.h-fix-uClibc-build.patch similarity index 100% rename from package/x11r7/xserver_xorg-server/1.20.1/0004-include-misc.h-fix-uClibc-build.patch rename to package/x11r7/xserver_xorg-server/1.20.4/0004-include-misc.h-fix-uClibc-build.patch diff --git a/package/x11r7/xserver_xorg-server/1.20.4/0005-hw-xwayland-Makefile.am-fix-build-without-glx.patch b/package/x11r7/xserver_xorg-server/1.20.4/0005-hw-xwayland-Makefile.am-fix-build-without-glx.patch new file mode 100644 index 0000000000..5f19a26d14 --- /dev/null +++ b/package/x11r7/xserver_xorg-server/1.20.4/0005-hw-xwayland-Makefile.am-fix-build-without-glx.patch @@ -0,0 +1,45 @@ +From b1d2a82d644518c1a75775244ac63be738aaf062 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 19 Apr 2019 10:19:50 +0200 +Subject: [PATCH] hw/xwayland/Makefile.am: fix build without glx + +Commit d8ec33fe0542141aed1d9016d2ecaf52da944b4b added libglxvnd.la to +Xwayland_LDFLAGS but GLX can be disabled through --disable-glx. +In this case, build fails on: + +make[3]: *** No rule to make target '../../glx/libglxvnd.la', needed by 'Xwayland'. Stop. +make[3]: *** Waiting for unfinished jobs.... + +Fixes: + - http://autobuild.buildroot.org/results/397f8098c57fc6c88aa12dc8d35ebb1b933d52ef + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://gitlab.freedesktop.org/xorg/xserver/merge_requests/173] +--- + hw/xwayland/Makefile.am | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/hw/xwayland/Makefile.am b/hw/xwayland/Makefile.am +index bc1cb8506..502879e2a 100644 +--- a/hw/xwayland/Makefile.am ++++ b/hw/xwayland/Makefile.am +@@ -21,10 +21,14 @@ Xwayland_SOURCES = \ + $(top_srcdir)/Xi/stubs.c \ + $(top_srcdir)/mi/miinitext.c + ++if GLX ++GLXVND_LIB = $(top_builddir)/glx/libglxvnd.la ++endif ++ + Xwayland_LDADD = \ + $(glamor_lib) \ + $(XWAYLAND_LIBS) \ +- $(top_builddir)/glx/libglxvnd.la \ ++ $(GLXVND_LIB) \ + $(XWAYLAND_SYS_LIBS) \ + $(top_builddir)/Xext/libXvidmode.la \ + $(XSERVER_SYS_LIBS) +-- +2.20.1 + diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in index c6dc010980..ed238d570b 100644 --- a/package/x11r7/xserver_xorg-server/Config.in +++ b/package/x11r7/xserver_xorg-server/Config.in @@ -61,7 +61,7 @@ choice bool "X Window System server version" config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20 - bool "1.20.1" + bool "1.20.4" select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_24 select BR2_PACKAGE_XLIB_LIBXFONT2 @@ -79,7 +79,7 @@ endchoice config BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION string - default "1.20.1" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20 + default "1.20.4" 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 diff --git a/package/x11r7/xserver_xorg-server/S40xorg b/package/x11r7/xserver_xorg-server/S40xorg old mode 100755 new mode 100644 diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index c0d93e5580..5c1beb1379 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/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/2018-August/002912.html -md5 e525846d1d0af5732ba835f2e2ec066d xorg-server-1.20.1.tar.bz2 -sha1 fd43367c2b7bbb1a4b1dd90b06a021e68a9db240 xorg-server-1.20.1.tar.bz2 -sha256 59c99fe86fe75b8164c6567bfc6e982aecc2e4a51e6fbac1b842d5d00549e918 xorg-server-1.20.1.tar.bz2 -sha512 ef2b93a61683c8ca8d1f14b771e70db65ba119a73db8a46e7cdbf2ac2243e3f4b2732068eb5aa5d7b76f460db995a3c04390870198a5210ec30df4360ad9f94b xorg-server-1.20.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2019-February/002957.html +md5 c4841cc24b79420205d082fe82e0a650 xorg-server-1.20.4.tar.bz2 +sha1 1a79da92122124cb782a4eebfd83fd33d5c0d7d4 xorg-server-1.20.4.tar.bz2 +sha256 fe0fd493ebe93bfc56bede382fa204458ff5f636ea54d413a5d1bd58e19166ee xorg-server-1.20.4.tar.bz2 +sha512 f1c92ef6d7613e0636973d3395b48dfdad42230847ab1c8b1cea84647a968f649f9aba97bdb01c10ee8351cbe954d4e6ca4a0fc84bb8fa662d49c8ba2aee00a8 xorg-server-1.20.4.tar.bz2 diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index 14f8104767..a33cb25076 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -47,6 +47,7 @@ XSERVER_XORG_SERVER_CONF_OPTS = \ --disable-xnest \ --disable-xephyr \ --disable-dmx \ + --disable-unit-tests \ --with-builder-addr=buildroot@buildroot.org \ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/pixman-1 -O2" \ --with-fontrootdir=/usr/share/fonts/X11/ \ diff --git a/package/x11vnc/x11vnc.hash b/package/x11vnc/x11vnc.hash index 86f41044db..ca0b48964c 100644 --- a/package/x11vnc/x11vnc.hash +++ b/package/x11vnc/x11vnc.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 3e43bd875edc3c7f52a0d3676c4ec7de910fcd210240ee20b4522deb2bf84cff x11vnc-0.9.15.tar.gz +sha256 885e5b5f5f25eec6f9e4a1e8be3d0ac71a686331ee1cfb442dba391111bd32bd x11vnc-0.9.16.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/x11vnc/x11vnc.mk b/package/x11vnc/x11vnc.mk index 0fa87d2d82..9daf490581 100644 --- a/package/x11vnc/x11vnc.mk +++ b/package/x11vnc/x11vnc.mk @@ -4,7 +4,7 @@ # ################################################################################ -X11VNC_VERSION = 0.9.15 +X11VNC_VERSION = 0.9.16 X11VNC_SITE = $(call github,LibVNC,x11vnc,$(X11VNC_VERSION)) # sdl support is not used in x11vnc, but host include / library search paths # leak in if host has sdl-config diff --git a/package/x264/x264.hash b/package/x264/x264.hash index 920f3b74eb..da4ff5945d 100644 --- a/package/x264/x264.hash +++ b/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/package/x264/x264.mk b/package/x264/x264.mk index f2fb10c41c..d529871a8d 100644 --- a/package/x264/x264.mk +++ b/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/package/xapian/Config.in b/package/xapian/Config.in new file mode 100644 index 0000000000..5d54ed3a1b --- /dev/null +++ b/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/package/xapian/xapian.hash b/package/xapian/xapian.hash new file mode 100644 index 0000000000..4e41402274 --- /dev/null +++ b/package/xapian/xapian.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 cde9c39d014f04c09b59d9c21551db9794c10617dc69ab4c9826352a533df5cc xapian-core-1.4.9.tar.xz +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/package/xapian/xapian.mk b/package/xapian/xapian.mk new file mode 100644 index 0000000000..df039d4440 --- /dev/null +++ b/package/xapian/xapian.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# xapian +# +################################################################################ + +XAPIAN_VERSION = 1.4.9 +XAPIAN_SOURCE = xapian-core-$(XAPIAN_VERSION).tar.xz +XAPIAN_SITE = https://oligarchy.co.uk/xapian/$(XAPIAN_VERSION) +XAPIAN_LICENSE = GPL-2.0+ +XAPIAN_LICENSE_FILES = COPYING +XAPIAN_INSTALL_STAGING = YES +XAPIAN_DEPENDENCIES = zlib + +$(eval $(autotools-package)) diff --git a/package/xavante/Config.in b/package/xavante/Config.in index d66ca1f0ae..209ec2d2c6 100644 --- a/package/xavante/Config.in +++ b/package/xavante/Config.in @@ -1,9 +1,8 @@ config BR2_PACKAGE_XAVANTE bool "xavante" - # Runtime dependency only - select BR2_PACKAGE_COPAS - select BR2_PACKAGE_LUAFILESYSTEM - select BR2_PACKAGE_LUASOCKET + select BR2_PACKAGE_COPAS # runtime + select BR2_PACKAGE_LUAFILESYSTEM # runtime + select BR2_PACKAGE_LUASOCKET # runtime help Xavante is a Lua HTTP 1.1 Web server that uses a modular architecture based on URI mapped handlers. Xavante currently @@ -11,4 +10,4 @@ config BR2_PACKAGE_XAVANTE Those are used for general files, URI remapping and WSAPI applications respectively. - http://keplerproject.github.com/xavante/ + http://keplerproject.github.io/xavante diff --git a/package/xavante/xavante.hash b/package/xavante/xavante.hash index 09b2a22d4d..b2e8633bc6 100644 --- a/package/xavante/xavante.hash +++ b/package/xavante/xavante.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 67c738f981e7d65d18c717f3acac59a37f95d5139c00fb0de5d3167262025273 xavante-2.4.0-1.src.rock +sha256 57b2c50f08bf500c969fe13500f217adb36582e4d8e75c9e2ed04191cb4a045c xavante-2.4.0/doc/us/license.html diff --git a/package/xen/0003-libxl-arm-Fix-build-on-arm64-acpi-w-gcc-8.2.patch b/package/xen/0003-libxl-arm-Fix-build-on-arm64-acpi-w-gcc-8.2.patch new file mode 100644 index 0000000000..db2bbe8363 --- /dev/null +++ b/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/package/xen/0004-xenpmd-make-32-bit-gcc-8-1-non-debug-build-work.patch b/package/xen/0004-xenpmd-make-32-bit-gcc-8-1-non-debug-build-work.patch new file mode 100644 index 0000000000..9c51c554cd --- /dev/null +++ b/package/xen/0004-xenpmd-make-32-bit-gcc-8-1-non-debug-build-work.patch @@ -0,0 +1,79 @@ +From e75c9dc85fdeeeda0b98d8cd8d784e0508c3ffb8 Mon Sep 17 00:00:00 2001 +From: Wei Liu +Date: Thu, 26 Jul 2018 15:58:54 +0100 +Subject: [PATCH] xenpmd: make 32 bit gcc 8.1 non-debug build work + +32 bit gcc 8.1 non-debug build yields: + +xenpmd.c:354:23: error: '%02x' directive output may be truncated writing between 2 and 8 bytes into a region of size 3 [-Werror=format-truncation=] + snprintf(val, 3, "%02x", + ^~~~ +xenpmd.c:354:22: note: directive argument in the range [40, 2147483778] + snprintf(val, 3, "%02x", + ^~~~~~ +xenpmd.c:354:5: note: 'snprintf' output between 3 and 9 bytes into a destination of size 3 + snprintf(val, 3, "%02x", + ^~~~~~~~~~~~~~~~~~~~~~~~ + (unsigned int)(9*4 + + ~~~~~~~~~~~~~~~~~~~~ + strlen(info->model_number) + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + strlen(info->serial_number) + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + strlen(info->battery_type) + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + strlen(info->oem_info) + 4)); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +All info->* used in calculation are 32 bytes long, and the parsing +code makes sure they are null-terminated, so the end result of the +expression won't exceed 255, which should be able to be fit into 3 +bytes in hexadecimal format. + +Add an assertion to make gcc happy. + +Signed-off-by: Wei Liu +Acked-by: Ian Jackson +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/xen-project/xen/commit/e75c9dc85fdeeeda0b98d8cd8d784e0508c3ffb8] +--- + tools/xenpmd/xenpmd.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tools/xenpmd/xenpmd.c b/tools/xenpmd/xenpmd.c +index 56412a9a81c..1c801caa712 100644 +--- a/tools/xenpmd/xenpmd.c ++++ b/tools/xenpmd/xenpmd.c +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + + /* #define RUN_STANDALONE */ + #define RUN_IN_SIMULATE_MODE +@@ -345,18 +346,17 @@ void write_ulong_lsb_first(char *temp_val, unsigned long val) + void write_battery_info_to_xenstore(struct battery_info *info) + { + char val[1024], string_info[256]; ++ unsigned int len; + + xs_mkdir(xs, XBT_NULL, "/pm"); + + memset(val, 0, 1024); + memset(string_info, 0, 256); + /* write 9 dwords (so 9*4) + length of 4 strings + 4 null terminators */ +- snprintf(val, 3, "%02x", +- (unsigned int)(9*4 + +- strlen(info->model_number) + +- strlen(info->serial_number) + +- strlen(info->battery_type) + +- strlen(info->oem_info) + 4)); ++ len = 9 * 4 + strlen(info->model_number) + strlen(info->serial_number) + ++ strlen(info->battery_type) + strlen(info->oem_info) + 4; ++ assert(len < 255); ++ snprintf(val, 3, "%02x", len); + write_ulong_lsb_first(val+2, info->present); + write_ulong_lsb_first(val+10, info->design_capacity); + write_ulong_lsb_first(val+18, info->last_full_capacity); diff --git a/package/xen/Config.in b/package/xen/Config.in index 819af37e46..57ab40eba8 100644 --- a/package/xen/Config.in +++ b/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/package/xen/xen.hash b/package/xen/xen.hash index 1b3fc12f94..7a52410954 100644 --- a/package/xen/xen.hash +++ b/package/xen/xen.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d5a944a34e47e9d52b2837f616821eb4a9514c8fd0955dcc723111dba499acd4 xen-4.10.2.tar.gz +sha256 be88cb2443761990efc1070d9718016561fe19066af232f9bfae572922897e59 xen-4.11.1.tar.gz sha256 dba0d79260259c013c52e5d4daeaea564a2fbb9ff7fc6778c377a401ec3898de COPYING diff --git a/package/xen/xen.mk b/package/xen/xen.mk index fb34d64c3f..d6e6c91cfb 100644 --- a/package/xen/xen.mk +++ b/package/xen/xen.mk @@ -4,7 +4,7 @@ # ################################################################################ -XEN_VERSION = 4.10.2 +XEN_VERSION = 4.11.1 XEN_SITE = https://downloads.xenproject.org/release/xen/$(XEN_VERSION) XEN_LICENSE = GPL-2.0 XEN_LICENSE_FILES = COPYING diff --git a/package/xenomai/0001-demos-posix-prevent-unterminated-destination-buffer-with-strncpy.patch b/package/xenomai/0001-demos-posix-prevent-unterminated-destination-buffer-with-strncpy.patch new file mode 100644 index 0000000000..f91a31daaf --- /dev/null +++ b/package/xenomai/0001-demos-posix-prevent-unterminated-destination-buffer-with-strncpy.patch @@ -0,0 +1,91 @@ +From cdc63fe259c70a8a5304aa07087650ebf4ee6b5d Mon Sep 17 00:00:00 2001 +From: Philippe Gerum +Date: Wed, 24 Oct 2018 11:28:49 +0200 +Subject: [PATCH] demos/posix: prevent unterminated destination buffer with + strncpy() + +GCC 8.x introduced -Wstringop-truncation to help detecting likely +unwanted outcomes of strncpy(dst, src, n), such as omitting the NUL +character into the destination buffer whenever n < sizeof(src). + +Fix unsafe strncpy() calls when we do expect a null-terminated +destination buffer. + +Signed-off-by: Philippe Gerum +[Retrieved from +https://gitlab.denx.de/Xenomai/xenomai/commit/cdc63fe259c70a8a5304aa07087650ebf4ee6b5d] +Signed-off-by: Fabrice Fontaine +--- + demo/posix/cobalt/can-rtt.c | 4 ++-- + demo/posix/cobalt/eth_p_all.c | 3 ++- + demo/posix/cyclictest/cyclictest.c | 4 ++-- + 3 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/demo/posix/cobalt/can-rtt.c b/demo/posix/cobalt/can-rtt.c +index 61cad05e5..dd212d804 100644 +--- a/demo/posix/cobalt/can-rtt.c ++++ b/demo/posix/cobalt/can-rtt.c +@@ -248,7 +248,7 @@ int main(int argc, char *argv[]) + return -1; + } + +- strncpy(ifr.ifr_name, rxdev, IFNAMSIZ); ++ namecpy(ifr.ifr_name, rxdev); + printf("RX rxsock=%d, ifr_name=%s\n", rxsock, ifr.ifr_name); + + if (ioctl(rxsock, SIOCGIFINDEX, &ifr) < 0) { +@@ -282,7 +282,7 @@ int main(int argc, char *argv[]) + goto failure1; + } + +- strncpy(ifr.ifr_name, txdev, IFNAMSIZ); ++ namecpy(ifr.ifr_name, txdev); + printf("TX txsock=%d, ifr_name=%s\n", txsock, ifr.ifr_name); + + if (ioctl(txsock, SIOCGIFINDEX, &ifr) < 0) { +diff --git a/demo/posix/cobalt/eth_p_all.c b/demo/posix/cobalt/eth_p_all.c +index 6ac12ab3e..91aef9fbd 100644 +--- a/demo/posix/cobalt/eth_p_all.c ++++ b/demo/posix/cobalt/eth_p_all.c +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + + char buffer[10*1024]; + int sock; +@@ -72,7 +73,7 @@ int main(int argc, char *argv[]) + if (argc > 1) { + struct ifreq ifr; + +- strncpy(ifr.ifr_name, argv[1], IFNAMSIZ); ++ namecpy(ifr.ifr_name, argv[1]); + if (ioctl(sock, SIOCGIFINDEX, &ifr) < 0) { + perror("cannot get interface index"); + close(sock); +diff --git a/demo/posix/cyclictest/cyclictest.c b/demo/posix/cyclictest/cyclictest.c +index ebe5461db..76983bd02 100644 +--- a/demo/posix/cyclictest/cyclictest.c ++++ b/demo/posix/cyclictest/cyclictest.c +@@ -1353,7 +1353,7 @@ static void process_options (int argc, char *argv[], int max_cpus) + case 'F': + case OPT_FIFO: + use_fifo = 1; +- strncpy(fifopath, optarg, strlen(optarg)); ++ strncpy(fifopath, optarg, sizeof(fifopath) - 1); + break; + + case 'H': +@@ -1458,7 +1458,7 @@ static void process_options (int argc, char *argv[], int max_cpus) + case 'T': + case OPT_TRACER: + tracetype = CUSTOM; +- strncpy(tracer, optarg, sizeof(tracer)); ++ strncpy(tracer, optarg, sizeof(tracer) - 1); + break; + case 'u': + case OPT_UNBUFFERED: +-- +2.18.1 + diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in index f3d8ea4baf..83ba8ca162 100644 --- a/package/xenomai/Config.in +++ b/package/xenomai/Config.in @@ -1,16 +1,18 @@ -config BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS +config BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS bool default y depends on BR2_i386 || BR2_x86_64 || (BR2_arm && !BR2_ARM_CPU_ARMV7M) || \ BR2_powerpc -comment "xenomai needs an glibc or uClibc toolchain w/ threads" +comment "xenomai needs a glibc or uClibc toolchain w/ threads" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL - depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS config BR2_PACKAGE_XENOMAI bool "Xenomai Userspace" - depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_TOOLCHAIN_HAS_THREADS # uses , __WORDSIZE and bits/local_lim.h depends on !BR2_TOOLCHAIN_USES_MUSL @@ -67,6 +69,7 @@ config BR2_PACKAGE_XENOMAI_MERCURY config BR2_PACKAGE_XENOMAI_COBALT bool "Cobalt" + depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS help Select Cobalt core (dual kernel) for the Xenomai userspace. Use this if you use a Xenomai-patched diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk index 6bf08edfbc..98f550af60 100644 --- a/package/xenomai/xenomai.mk +++ b/package/xenomai/xenomai.mk @@ -24,9 +24,6 @@ XENOMAI_LICENSE_FILES = debian/copyright include/COPYING kernel/cobalt/COPYING \ XENOMAI_DEPENDENCIES = host-pkgconf -# 0002-boilerplate-build-obstack-support-conditionally.patch -XENOMAI_AUTORECONF = YES - XENOMAI_INSTALL_STAGING = YES XENOMAI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-user XENOMAI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-user diff --git a/package/xerces/0001-cmake-Allow-thread-checks-to-fail-and-fall-back-to-nothreads.patch b/package/xerces/0001-cmake-Allow-thread-checks-to-fail-and-fall-back-to-nothreads.patch new file mode 100644 index 0000000000..8bed7711c4 --- /dev/null +++ b/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/package/xerces/0001-fix-CVE-2017-12627.patch b/package/xerces/0001-fix-CVE-2017-12627.patch deleted file mode 100644 index 010be7e3d5..0000000000 --- a/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/package/xerces/0002-fix-static-linking-with-curl.patch b/package/xerces/0002-fix-static-linking-with-curl.patch new file mode 100644 index 0000000000..db38de79fc --- /dev/null +++ b/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/package/xerces/Config.in b/package/xerces/Config.in index 8d55a5cbc2..2edc4346b5 100644 --- a/package/xerces/Config.in +++ b/package/xerces/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_XERCES help Xerces-C++ is a validating XML parser written in portable C++. - http://xml.apache.org/xerces-c/ + http://xerces.apache.org/xerces-c/ comment "xerces-c++ needs a toolchain w/ C++, wchar" depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) diff --git a/package/xerces/xerces.hash b/package/xerces/xerces.hash index c621f5cd56..28db0c6062 100644 --- a/package/xerces/xerces.hash +++ b/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/package/xerces/xerces.mk b/package/xerces/xerces.mk index a25641fb45..c75a8b0d35 100644 --- a/package/xerces/xerces.mk +++ b/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/package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch b/package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch index 372a5301bd..6778d069a1 100644 --- a/package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch +++ b/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/package/xfsprogs/xfsprogs.hash b/package/xfsprogs/xfsprogs.hash index 4df2e8d9e4..839f4add2d 100644 --- a/package/xfsprogs/xfsprogs.hash +++ b/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/package/xfsprogs/xfsprogs.mk b/package/xfsprogs/xfsprogs.mk index 814e0cf218..bbb888707b 100644 --- a/package/xfsprogs/xfsprogs.mk +++ b/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/package/xl2tp/xl2tp.hash b/package/xl2tp/xl2tp.hash index 152d615a2e..9cc76e9d25 100644 --- a/package/xl2tp/xl2tp.hash +++ b/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/package/xl2tp/xl2tp.mk b/package/xl2tp/xl2tp.mk index eee5c04de8..63c798d886 100644 --- a/package/xl2tp/xl2tp.mk +++ b/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/package/xmlstarlet/xmlstarlet.mk b/package/xmlstarlet/xmlstarlet.mk index 1d748dc594..b79c3f566d 100644 --- a/package/xmlstarlet/xmlstarlet.mk +++ b/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/package/xxhash/xxhash.hash b/package/xxhash/xxhash.hash index 31081c01d8..8a00a427f8 100644 --- a/package/xxhash/xxhash.hash +++ b/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/package/xxhash/xxhash.mk b/package/xxhash/xxhash.mk index 7e04066340..9bb259a280 100644 --- a/package/xxhash/xxhash.mk +++ b/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/package/xz/xz.hash b/package/xz/xz.hash index 20a4a47432..28018c76c3 100644 --- a/package/xz/xz.hash +++ b/package/xz/xz.hash @@ -1,2 +1,8 @@ # Locally calculated after checking pgp signature sha256 fd9ca16de1052aac899ad3495ad20dfa906c27b4a5070102a2ec35ca3a4740c1 xz-5.2.3.tar.bz2 + +# Hash for license files +sha256 c4f8e14fafe458d84808a4cd8b69f94673ebe2bf8fc992291629a69ac12218f8 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPLv3 +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPLv2.1 diff --git a/package/xz/xz.mk b/package/xz/xz.mk index bcdac13ee3..6a0dc25816 100644 --- a/package/xz/xz.mk +++ b/package/xz/xz.mk @@ -9,8 +9,8 @@ XZ_SOURCE = xz-$(XZ_VERSION).tar.bz2 XZ_SITE = http://tukaani.org/xz XZ_INSTALL_STAGING = YES XZ_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' -XZ_LICENSE = GPL-2.0+, GPL-3.0+, LGPL-2.1+ -XZ_LICENSE_FILES = COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 +XZ_LICENSE = Public Domain, GPL-2.0+, GPL-3.0+, LGPL-2.1+ +XZ_LICENSE_FILES = COPYING COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) XZ_CONF_OPTS = --enable-threads diff --git a/package/yaffs2utils/yaffs2utils.mk b/package/yaffs2utils/yaffs2utils.mk index c2a87eac7b..d3a8bdc9d2 100644 --- a/package/yaffs2utils/yaffs2utils.mk +++ b/package/yaffs2utils/yaffs2utils.mk @@ -15,6 +15,7 @@ define HOST_YAFFS2UTILS_BUILD_CMDS endef define HOST_YAFFS2UTILS_INSTALL_CMDS + mkdir -p $(HOST_DIR)/bin $(HOST_MAKE_ENV) $(MAKE) -C $(@D) INSTALLDIR=$(HOST_DIR)/bin install endef diff --git a/package/zbar/0001-Fix-autoreconf-by-reducing-the-warning-error-checkin.patch b/package/zbar/0001-Fix-autoreconf-by-reducing-the-warning-error-checkin.patch deleted file mode 100644 index 57fbeb1e77..0000000000 --- a/package/zbar/0001-Fix-autoreconf-by-reducing-the-warning-error-checkin.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e593d6529cff515d94d80a24b5f3a953fd46004c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 19 Dec 2015 18:56:36 +0100 -Subject: [PATCH] Fix autoreconf by reducing the warning/error checking - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 256aedb..e0b6046 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3,7 +3,7 @@ AC_PREREQ([2.61]) - AC_INIT([zbar], [0.10], [spadix@users.sourceforge.net]) - AC_CONFIG_AUX_DIR(config) - AC_CONFIG_MACRO_DIR(config) --AM_INIT_AUTOMAKE([1.10 -Wall -Werror foreign subdir-objects std-options dist-bzip2]) -+AM_INIT_AUTOMAKE([1.10 foreign subdir-objects std-options dist-bzip2]) - AC_CONFIG_HEADERS([include/config.h]) - AC_CONFIG_SRCDIR(zbar/scanner.c) - LT_PREREQ([2.2]) --- -2.6.4 - diff --git a/package/zbar/0002-Fix-function-protoype-to-be-compatible-with-recent-l.patch b/package/zbar/0002-Fix-function-protoype-to-be-compatible-with-recent-l.patch deleted file mode 100644 index 82dd4e96ea..0000000000 --- a/package/zbar/0002-Fix-function-protoype-to-be-compatible-with-recent-l.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5dc8322b4f9a3de29b3da70b69e16356a2a1764c Mon Sep 17 00:00:00 2001 -From: Viacheslav Volkov -Date: Sat, 19 Dec 2015 19:07:09 +0100 -Subject: [PATCH] Fix function protoype to be compatible with recent libjpeg - -Signed-off-by: Viacheslav Volkov -Signed-off-by: Thomas Petazzoni ---- - zbar/jpeg.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/zbar/jpeg.c b/zbar/jpeg.c -index 972bfea..fdd1619 100644 ---- a/zbar/jpeg.c -+++ b/zbar/jpeg.c -@@ -68,7 +68,7 @@ void init_source (j_decompress_ptr cinfo) - cinfo->src->bytes_in_buffer = img->datalen; - } - --int fill_input_buffer (j_decompress_ptr cinfo) -+boolean fill_input_buffer (j_decompress_ptr cinfo) - { - /* buffer underrun error case */ - cinfo->src->next_input_byte = fake_eoi; --- -2.6.4 - diff --git a/package/zbar/0003-Disable-building-documentation.patch b/package/zbar/0003-Disable-building-documentation.patch deleted file mode 100644 index 729f926cc8..0000000000 --- a/package/zbar/0003-Disable-building-documentation.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 58027d5bb0492142a5b72ded772d3a1be9fa8d87 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 20 Dec 2015 12:05:57 +0100 -Subject: [PATCH] Disable building documentation - -The documentation requires xmlto, and we don't need it in Buildroot. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.am | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index e18499a..db4411f 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -45,7 +45,6 @@ if HAVE_NPAPI - include $(srcdir)/plugin/Makefile.am.inc - endif - include $(srcdir)/test/Makefile.am.inc --include $(srcdir)/doc/Makefile.am.inc - - EXTRA_DIST += zbar.ico zbar.nsi - --- -2.6.4 - diff --git a/package/zbar/0004-Wrap-logical-not-operations-into-parentheses.patch b/package/zbar/0004-Wrap-logical-not-operations-into-parentheses.patch deleted file mode 100644 index 6d39b1bd96..0000000000 --- a/package/zbar/0004-Wrap-logical-not-operations-into-parentheses.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 7e69cdc8dfdf07701ba551985ee49d48e64d730f Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Mon, 25 Jan 2016 11:58:59 +0000 -Subject: [PATCH] Wrap logical not operations into parentheses - -Otherwise it fails like this: - -zbar/decoder/ean.c: In function 'ean_part_end4': -zbar/decoder/ean.c:297:13: error: logical not is only applied to the -left hand side of comparison [-Werror=logical-not-parentheses] - if(!par == fwd) { - -This patch has been sent upstream as a pull request: - - https://github.com/ZBar/ZBar/pull/9 - -Signed-off-by: Vicente Olivert Riera ---- - zbar/decoder/ean.c | 4 ++-- - zbar/qrcode/qrdec.c | 8 ++++---- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/zbar/decoder/ean.c b/zbar/decoder/ean.c -index c20f538..41d1493 100644 ---- a/zbar/decoder/ean.c -+++ b/zbar/decoder/ean.c -@@ -294,7 +294,7 @@ static inline zbar_symbol_type_t ean_part_end4 (ean_pass_t *pass, - /* invalid parity combination */ - return(ZBAR_NONE); - -- if(!par == fwd) { -+ if((!par) == fwd) { - /* reverse sampled digits */ - unsigned char tmp = pass->raw[1]; - pass->state |= STATE_REV; -@@ -380,7 +380,7 @@ static inline zbar_symbol_type_t ean_part_end7 (ean_decoder_t *ean, - /* invalid parity combination */ - return(ZBAR_NONE); - -- if(!par == fwd) { -+ if((!par) == fwd) { - unsigned char i; - pass->state |= STATE_REV; - /* reverse sampled digits */ -diff --git a/zbar/qrcode/qrdec.c b/zbar/qrcode/qrdec.c -index d8fa802..5d3d265 100644 ---- a/zbar/qrcode/qrdec.c -+++ b/zbar/qrcode/qrdec.c -@@ -1219,8 +1219,8 @@ static int qr_finder_quick_crossing_check(const unsigned char *_img, - _x1<0||_x1>=_width||_y1<0||_y1>=_height){ - return -1; - } -- if(!_img[_y0*_width+_x0]!=_v||!_img[_y1*_width+_x1]!=_v)return 1; -- if(!_img[(_y0+_y1>>1)*_width+(_x0+_x1>>1)]==_v)return -1; -+ if((!_img[_y0*_width+_x0])!=_v||(!_img[_y1*_width+_x1])!=_v)return 1; -+ if((!_img[(_y0+_y1>>1)*_width+(_x0+_x1>>1)])==_v)return -1; - return 0; - } - -@@ -1261,7 +1261,7 @@ static int qr_finder_locate_crossing(const unsigned char *_img, - x0[1-steep]+=step[1-steep]; - err-=dx[steep]; - } -- if(!_img[x0[1]*_width+x0[0]]!=_v)break; -+ if((!_img[x0[1]*_width+x0[0]])!=_v)break; - } - /*Find the last crossing from _v to !_v.*/ - err=0; -@@ -1273,7 +1273,7 @@ static int qr_finder_locate_crossing(const unsigned char *_img, - x1[1-steep]-=step[1-steep]; - err-=dx[steep]; - } -- if(!_img[x1[1]*_width+x1[0]]!=_v)break; -+ if((!_img[x1[1]*_width+x1[0]])!=_v)break; - } - /*Return the midpoint of the _v segment.*/ - _p[0]=(x0[0]+x1[0]+1<>1; --- -2.4.10 - diff --git a/package/zbar/Config.in b/package/zbar/Config.in index 05c9b769ce..e850c1f02b 100644 --- a/package/zbar/Config.in +++ b/package/zbar/Config.in @@ -3,15 +3,15 @@ config BR2_PACKAGE_ZBAR depends on BR2_TOOLCHAIN_HAS_THREADS # libv4l depends on BR2_USE_MMU # libv4l depends on BR2_INSTALL_LIBSTDCPP # libv4l - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libv4l + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # v4l2_query_ext_ctrl select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBV4L help QR and barcode scanner - http://zbar.sourceforge.net/ + https://git.linuxtv.org/zbar.git/about/ -comment "zbar needs a toolchain w/ threads, C++ and headers >= 3.0" +comment "zbar needs a toolchain w/ threads, C++ and headers >= 3.17" depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 diff --git a/package/zbar/zbar.hash b/package/zbar/zbar.hash index 54441a8f3e..6735bc67d6 100644 --- a/package/zbar/zbar.hash +++ b/package/zbar/zbar.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 38f8535a3c4c526ecaa968a992efcbf7392623e68db45dc2f181d4c9d3002d69 zbar-854a5d97059e395807091ac4d80c53f7968abb8f.tar.gz +sha256 94c71c6110c705f07ba5ba2803583d09b3853e8773169c86bdcf831443156aaa zbar-57d601e82089f2f31de9e1683c3834f237421f5d.tar.gz +sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 LICENSE diff --git a/package/zbar/zbar.mk b/package/zbar/zbar.mk index c8fc89951a..c3f0797c55 100644 --- a/package/zbar/zbar.mk +++ b/package/zbar/zbar.mk @@ -4,9 +4,8 @@ # ################################################################################ -# github have some additional commits for compiling with recent kernel -ZBAR_VERSION = 854a5d97059e395807091ac4d80c53f7968abb8f -ZBAR_SITE = $(call github,ZBar,Zbar,$(ZBAR_VERSION)) +ZBAR_VERSION = 57d601e82089f2f31de9e1683c3834f237421f5d +ZBAR_SITE = git://linuxtv.org/zbar.git ZBAR_LICENSE = LGPL-2.1+ ZBAR_LICENSE_FILES = LICENSE ZBAR_INSTALL_STAGING = YES @@ -14,11 +13,16 @@ ZBAR_AUTORECONF = YES ZBAR_DEPENDENCIES = libv4l jpeg # add host-gettext for AM_ICONV macro ZBAR_DEPENDENCIES += host-gettext +# uses C99 features +ZBAR_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" ZBAR_CONF_OPTS = \ + --disable-doc \ --without-imagemagick \ --without-qt \ + --without-qt5 \ --without-gtk \ - --without-python \ - --without-x + --without-python2 \ + --without-x \ + --without-java $(eval $(autotools-package)) diff --git a/package/zeromq/0001-configure.ac-serach-for-dladdr-only-on-libunwind.patch b/package/zeromq/0001-configure.ac-serach-for-dladdr-only-on-libunwind.patch deleted file mode 100644 index 1037a67fe2..0000000000 --- a/package/zeromq/0001-configure.ac-serach-for-dladdr-only-on-libunwind.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 194b3836c87f77aca34581656ff99da49813d8c3 Mon Sep 17 00:00:00 2001 -From: Asaf Kahlon -Date: Fri, 13 Apr 2018 11:56:46 +0300 -Subject: [PATCH] configure.ac: search for dladdr only on libunwind - -The original configure.ac tries to check for dladdr, but it actually needs -it only in case we have libunwind (which has a another section and checks for it -too). -This can fail the build on systems without dynamic linking support. -Therefore, the dladdr check has to be performed only when checking libunwind. - -Signed-off-by: Asaf Kahlon -Upstream-status: https://github.com/zeromq/libzmq/commit/c971445025535b9f989ab0b78f5ddd1c026f1878 ---- - configure.ac | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 216b2bc4..0858a6c1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -174,11 +174,6 @@ case "${host_os}" in - AC_DEFINE(ZMQ_HAVE_LINUX, 1, [Have Linux OS]) - libzmq_on_linux="yes" - -- # dladdr/dlopen is in libdl on glibc -- AC_SEARCH_LIBS([dladdr], [dl dld], [], [ -- AC_MSG_ERROR([unable to find the dladdr() function]) -- ]) -- - if test "x$libzmq_tipc_support" = "xyes"; then - AC_DEFINE(ZMQ_HAVE_TIPC, 1, [Have TIPC support]) - fi -@@ -783,7 +778,7 @@ if test "x$enable_libunwind" != "xno"; then - AC_DEFINE(HAVE_LIBUNWIND, 1, [The libunwind library is to be used]) - AC_SUBST([LIBUNWIND_CFLAGS]) - AC_SUBST([LIBUNWIND_LIBS]) -- AC_CHECK_LIB([dl], [dladdr]) -+ AC_SEARCH_LIBS([dladdr], [dl dld]) - ], - [ - if test "x$enable_libunwind" = "xyes"; then --- -2.17.0 - diff --git a/package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch b/package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch deleted file mode 100644 index 233b364662..0000000000 --- a/package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 9f4ca582555b208d065f730b5ce3b1901136b275 Mon Sep 17 00:00:00 2001 -From: Asaf Kahlon -Date: Mon, 7 May 2018 23:19:09 +0300 -Subject: [PATCH] acinclude.m4: check if -latomic is needed - -On some cases, -latomic is needed for linking, and since the current -acinclude.m4 checks only compilation we can sometimes miss the need for -latomic -and the linking process will fail. -Therefore, the AC_CHECK_IFELSE was replaced with AC_LINK_IFELSE. If the first -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 | 31 +++++++++++++++++++++++++++---- - 1 file changed, 27 insertions(+), 4 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index f648ed0f..aa35195f 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -668,7 +668,7 @@ dnl # Check if compiler supoorts __atomic_Xxx intrinsics - dnl ################################################################################ - AC_DEFUN([LIBZMQ_CHECK_ATOMIC_INTRINSICS], [{ - AC_MSG_CHECKING(whether compiler supports __atomic_Xxx intrinsics) -- AC_COMPILE_IFELSE([AC_LANG_SOURCE([ -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ - /* atomic intrinsics test */ - int v = 0; - int main (int, char **) -@@ -677,9 +677,32 @@ int main (int, char **) - return t; - } - ])], -- [AC_MSG_RESULT(yes) ; libzmq_cv_has_atomic_instrisics="yes" ; $1], -- [AC_MSG_RESULT(no) ; libzmq_cv_has_atomic_instrisics="no" ; $2] -- ) -+ [libzmq_cv_has_atomic_instrisics="yes"], -+ [libzmq_cv_has_atomic_instrisics="no"]) -+ -+ if test "x$libzmq_cv_has_atomic_instrisics" = "xno"; then -+ save_LIBS=$LIBS -+ LIBS="$LIBS -latomic" -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ -+ /* atomic intrinsics test */ -+ int v = 0; -+ int main (int, char **) -+ { -+ int t = __atomic_add_fetch (&v, 1, __ATOMIC_ACQ_REL); -+ return t; -+ } -+ ])], -+ [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 -+ AC_MSG_RESULT(yes) -+ $1 -+ else -+ AC_MSG_RESULT(no) -+ $2 -+ fi - }]) - - dnl ################################################################################ --- -2.17.0 - diff --git a/package/zeromq/Config.in b/package/zeromq/Config.in index 69be9f002c..aeedff17b8 100644 --- a/package/zeromq/Config.in +++ b/package/zeromq/Config.in @@ -52,4 +52,11 @@ config BR2_PACKAGE_ZEROMQ_PGM 3208) implemented either over raw IP packets or UDP datagrams (encapsulated PGM). +config BR2_PACKAGE_ZEROMQ_DRAFTS + bool "Draft APIs support" + help + Enable unstable draft ZeroMQ APIs + + https://pyzmq.readthedocs.io/en/latest/draft.html + endif diff --git a/package/zeromq/zeromq.hash b/package/zeromq/zeromq.hash index 86380c0295..5af6a3ff8d 100644 --- a/package/zeromq/zeromq.hash +++ b/package/zeromq/zeromq.hash @@ -1,5 +1,7 @@ # From https://github.com/zeromq/libzmq/releases -md5 a1c95b34384257e986842f4d006957b8 zeromq-4.2.5.tar.gz -sha1 1132f839d703486c4ee1cf22f056585dfbb329c2 zeromq-4.2.5.tar.gz +md5 64cbf3577afdbfda30358bc757a6ac83 zeromq-4.3.1.tar.gz +sha1 6cce22d830eaf95feff7cab00744df13ad7ab7f3 zeromq-4.3.1.tar.gz # Locally computed -sha256 cc9090ba35713d59bb2f7d7965f877036c49c5558ea0c290b0dcc6f2a17e489f zeromq-4.2.5.tar.gz +sha256 bcbabe1e2c7d0eec4ed612e10b94b112dd5f06fcefa994a0c79a45d835cd21eb zeromq-4.3.1.tar.gz +sha256 4fd86507c9b486764343065a9e035222869a27b5789efeb4fd93edc85412d7a3 COPYING +sha256 83f32abe61ee58ffb1b007412c08415168c052501dbf56d7a47aaaac52b03ef6 COPYING.LESSER diff --git a/package/zeromq/zeromq.mk b/package/zeromq/zeromq.mk index 4b25c7d678..d799f863c4 100644 --- a/package/zeromq/zeromq.mk +++ b/package/zeromq/zeromq.mk @@ -4,15 +4,13 @@ # ################################################################################ -ZEROMQ_VERSION = 4.2.5 +ZEROMQ_VERSION = 4.3.1 ZEROMQ_SITE = https://github.com/zeromq/libzmq/releases/download/v$(ZEROMQ_VERSION) ZEROMQ_INSTALL_STAGING = YES ZEROMQ_DEPENDENCIES = util-linux ZEROMQ_CONF_OPTS = --without-documentation ZEROMQ_LICENSE = LGPL-3.0+ with exceptions ZEROMQ_LICENSE_FILES = COPYING COPYING.LESSER -# 0001-configure.ac-serach-for-dladdr-only-on-libunwind.patch touches configure.ac -ZEROMQ_AUTORECONF = YES # Assume these flags are always available. It is true, at least for # SOCK_CLOEXEC, since linux v2.6.27. @@ -49,6 +47,12 @@ else ZEROMQ_CONF_OPTS += --without-pgm endif +ifeq ($(BR2_PACKAGE_ZEROMQ_DRAFTS),y) +ZEROMQ_CONF_OPTS += --enable-drafts +else +ZEROMQ_CONF_OPTS += --disable-drafts +endif + # ZeroMQ uses libsodium if it's available. ifeq ($(BR2_PACKAGE_LIBSODIUM),y) ZEROMQ_DEPENDENCIES += libsodium diff --git a/package/zmqpp/zmqpp.mk b/package/zmqpp/zmqpp.mk index 801766a7d8..ea6b50e826 100644 --- a/package/zmqpp/zmqpp.mk +++ b/package/zmqpp/zmqpp.mk @@ -19,6 +19,7 @@ ZMQPP_CONFIG = $(if $(BR2_ENABLE_DEBUG),debug,release) # By setting CONFIG to empty, all optimizations such as -funroll-loops # -ffast-math -finline-functions -fomit-frame-pointer are disabled ifeq ($(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:) +# check-package OverriddenVariable ZMQPP_CONFIG = endif diff --git a/package/znc/znc.hash b/package/znc/znc.hash index 7a14595907..b685a7bf7b 100644 --- a/package/znc/znc.hash +++ b/package/znc/znc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 44cfea7158ea05dc2547c7c6bc22371e66c869def90351de0ab90a9c200d39c4 znc-1.7.1.tar.gz +sha256 1e4cc31837a1e8e6cc310873659a167cec16a3fd4281cbc3bf364e42352c113d znc-1.7.3.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/znc/znc.mk b/package/znc/znc.mk index 5235fd9196..fdc147a8a1 100644 --- a/package/znc/znc.mk +++ b/package/znc/znc.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZNC_VERSION = 1.7.1 +ZNC_VERSION = 1.7.3 ZNC_SITE = http://znc.in/releases/archive ZNC_LICENSE = Apache-2.0 ZNC_LICENSE_FILES = LICENSE diff --git a/package/zsh/zsh.hash b/package/zsh/zsh.hash index 5931e4d465..4363e48afe 100644 --- a/package/zsh/zsh.hash +++ b/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/package/zsh/zsh.mk b/package/zsh/zsh.mk index e798838922..31c9405007 100644 --- a/package/zsh/zsh.mk +++ b/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/support/config-fragments/autobuild/arm-aarch64.config b/support/config-fragments/autobuild/arm-aarch64.config new file mode 100644 index 0000000000..bed08dcb1d --- /dev/null +++ b/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/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config b/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config deleted file mode 100644 index c2f4cb62ca..0000000000 --- a/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config +++ /dev/null @@ -1,10 +0,0 @@ -BR2_arm=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv5-ctng-linux-gnueabi.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv5-ctng-linux-gnueabi" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config b/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config deleted file mode 100644 index 60ec952940..0000000000 --- a/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config +++ /dev/null @@ -1,13 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv7-ctng-linux-gnueabihf.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv7-ctng-linux-gnueabihf" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-aarch64-glibc.config b/support/config-fragments/autobuild/br-aarch64-glibc.config index 19c9473a75..048c27d6cd 100644 --- a/support/config-fragments/autobuild/br-aarch64-glibc.config +++ b/support/config-fragments/autobuild/br-aarch64-glibc.config @@ -2,8 +2,8 @@ BR2_aarch64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-aarch64-glibc-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-aarch64-glibc-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arcle-hs38.config b/support/config-fragments/autobuild/br-arcle-hs38.config index 280f8524cb..0832ddd305 100644 --- a/support/config-fragments/autobuild/br-arcle-hs38.config +++ b/support/config-fragments/autobuild/br-arcle-hs38.config @@ -3,9 +3,9 @@ BR2_archs38=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arcle-hs38-full-2018.02-926-gb393c24.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_7=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arcle-hs38-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_8=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-basic.config b/support/config-fragments/autobuild/br-arm-basic.config index eadf78f717..c576b248b8 100644 --- a/support/config-fragments/autobuild/br-arm-basic.config +++ b/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.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set diff --git a/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config b/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config index f67d955e88..63fb66983e 100644 --- a/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config +++ b/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config @@ -4,8 +4,8 @@ BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-glibc-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_7=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-glibc-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_8=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config b/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config index 8db615c13b..3a1499e32f 100644 --- a/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config +++ b/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config @@ -4,8 +4,8 @@ BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-cortex-m4-full.config b/support/config-fragments/autobuild/br-arm-cortex-m4-full.config index 1ce4bdc5be..36f1647730 100644 --- a/support/config-fragments/autobuild/br-arm-cortex-m4-full.config +++ b/support/config-fragments/autobuild/br-arm-cortex-m4-full.config @@ -3,9 +3,9 @@ BR2_cortex_m4=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-m4-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-m4-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set diff --git a/support/config-fragments/autobuild/br-arm-full-nothread.config b/support/config-fragments/autobuild/br-arm-full-nothread.config index 1120f4619e..a777d24e66 100644 --- a/support/config-fragments/autobuild/br-arm-full-nothread.config +++ b/support/config-fragments/autobuild/br-arm-full-nothread.config @@ -3,9 +3,9 @@ BR2_arm1176jzf_s=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm11-full-nothread-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm11-full-nothread-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-full-static.config b/support/config-fragments/autobuild/br-arm-full-static.config index 157fc02223..2e41e0b340 100644 --- a/support/config-fragments/autobuild/br-arm-full-static.config +++ b/support/config-fragments/autobuild/br-arm-full-static.config @@ -3,9 +3,9 @@ BR2_STATIC_LIBS=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-static-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-static-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-arm-full.config b/support/config-fragments/autobuild/br-arm-full.config index 07c773e90e..7462706a0a 100644 --- a/support/config-fragments/autobuild/br-arm-full.config +++ b/support/config-fragments/autobuild/br-arm-full.config @@ -2,9 +2,9 @@ BR2_arm=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2018.05.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2019.02-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config b/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config index 9eee780799..fa91cfefed 100644 --- a/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config +++ b/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config @@ -2,9 +2,9 @@ BR2_x86_pentium_mmx=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-i386-pentium-mmx-musl-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-i386-pentium-mmx-musl-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y # BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-i386-pentium4-full.config b/support/config-fragments/autobuild/br-i386-pentium4-full.config index e7a97351c3..bf0d4165c8 100644 --- a/support/config-fragments/autobuild/br-i386-pentium4-full.config +++ b/support/config-fragments/autobuild/br-i386-pentium4-full.config @@ -2,9 +2,9 @@ BR2_x86_pentium4=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-i386-pentium4-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-i386-pentium4-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-m68k-5208-full.config b/support/config-fragments/autobuild/br-m68k-5208-full.config index 3f809ea4a5..f75cf3ac5f 100644 --- a/support/config-fragments/autobuild/br-m68k-5208-full.config +++ b/support/config-fragments/autobuild/br-m68k-5208-full.config @@ -2,9 +2,9 @@ BR2_m68k=y BR2_m68k_cf5208=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-5208-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-5208-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set diff --git a/support/config-fragments/autobuild/br-m68k-68040-full.config b/support/config-fragments/autobuild/br-m68k-68040-full.config index 27ce4e3490..1bb6aeb8b6 100644 --- a/support/config-fragments/autobuild/br-m68k-68040-full.config +++ b/support/config-fragments/autobuild/br-m68k-68040-full.config @@ -1,9 +1,9 @@ BR2_m68k=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-68040-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-68040-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set diff --git a/support/config-fragments/autobuild/br-microblazeel-full.config b/support/config-fragments/autobuild/br-microblazeel-full.config index 8c4778770b..035cb72e8e 100644 --- a/support/config-fragments/autobuild/br-microblazeel-full.config +++ b/support/config-fragments/autobuild/br-microblazeel-full.config @@ -1,9 +1,9 @@ BR2_microblazeel=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-microblaze-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-microblaze-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config b/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config index 818f99e536..7454a4da23 100644 --- a/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config +++ b/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config @@ -4,8 +4,8 @@ BR2_mips_32r6=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips32r6-el-hf-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips32r6-el-hf-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-mips64-n64-full.config b/support/config-fragments/autobuild/br-mips64-n64-full.config index ca625c9e4b..3f2e5d9ba2 100644 --- a/support/config-fragments/autobuild/br-mips64-n64-full.config +++ b/support/config-fragments/autobuild/br-mips64-n64-full.config @@ -3,8 +3,8 @@ BR2_MIPS_NABI64=y # BR2_MIPS_SOFT_FLOAT is not set BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64-n64-full-2018.05.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64-n64-full-2019.02-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_5=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config b/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config index 96a333c6b2..b47b434168 100644 --- a/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config +++ b/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config @@ -5,8 +5,8 @@ BR2_MIPS_NABI64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64r6-n64-el-hf-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64r6-n64-el-hf-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-mipsel-o32-full.config b/support/config-fragments/autobuild/br-mipsel-o32-full.config index aae01a919b..6cf919b1e1 100644 --- a/support/config-fragments/autobuild/br-mipsel-o32-full.config +++ b/support/config-fragments/autobuild/br-mipsel-o32-full.config @@ -2,9 +2,9 @@ BR2_mipsel=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mipsel-o32-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mipsel-o32-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-nios2-glibc.config b/support/config-fragments/autobuild/br-nios2-glibc.config index be5cb7e29d..e25ea65a35 100644 --- a/support/config-fragments/autobuild/br-nios2-glibc.config +++ b/support/config-fragments/autobuild/br-nios2-glibc.config @@ -2,9 +2,9 @@ BR2_nios2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-nios2-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-nios2-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y # BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config b/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config index 37c3989b5b..0f19616ab2 100644 --- a/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config +++ b/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config @@ -3,8 +3,8 @@ BR2_powerpc_603e=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-603e-basic-cpp-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-603e-basic-cpp-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-powerpc-e500mc-full.config b/support/config-fragments/autobuild/br-powerpc-e500mc-full.config index 08cb3f382e..1673adbc00 100644 --- a/support/config-fragments/autobuild/br-powerpc-e500mc-full.config +++ b/support/config-fragments/autobuild/br-powerpc-e500mc-full.config @@ -3,9 +3,9 @@ BR2_powerpc_e500mc=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-e500mc-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-e500mc-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config b/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config index bc99682637..fb51593412 100644 --- a/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config +++ b/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config @@ -2,8 +2,8 @@ BR2_powerpc64=y BR2_powerpc_power7=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64-power7-glibc-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64-power7-glibc-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config b/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config index 15703e60d1..964a13e2b3 100644 --- a/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config +++ b/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config @@ -2,8 +2,8 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64le-power8-glibc-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64le-power8-glibc-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-riscv32.config b/support/config-fragments/autobuild/br-riscv32.config new file mode 100644 index 0000000000..9565a0b70b --- /dev/null +++ b/support/config-fragments/autobuild/br-riscv32.config @@ -0,0 +1,8 @@ +BR2_riscv=y +BR2_RISCV_32=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-riscv32-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-riscv64.config b/support/config-fragments/autobuild/br-riscv64.config new file mode 100644 index 0000000000..61912cfd7b --- /dev/null +++ b/support/config-fragments/autobuild/br-riscv64.config @@ -0,0 +1,7 @@ +BR2_riscv=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-riscv64-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-sh4-full.config b/support/config-fragments/autobuild/br-sh4-full.config index 018706d9e6..3651fb6ee7 100644 --- a/support/config-fragments/autobuild/br-sh4-full.config +++ b/support/config-fragments/autobuild/br-sh4-full.config @@ -2,9 +2,9 @@ BR2_sh=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sh4-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sh4-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-sparc-uclibc.config b/support/config-fragments/autobuild/br-sparc-uclibc.config index 2e13937b93..d6b8d69e60 100644 --- a/support/config-fragments/autobuild/br-sparc-uclibc.config +++ b/support/config-fragments/autobuild/br-sparc-uclibc.config @@ -1,9 +1,9 @@ BR2_sparc=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc-uclibc-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc-uclibc-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-sparc64-glibc.config b/support/config-fragments/autobuild/br-sparc64-glibc.config index 78a8216e29..a4d1cc6688 100644 --- a/support/config-fragments/autobuild/br-sparc64-glibc.config +++ b/support/config-fragments/autobuild/br-sparc64-glibc.config @@ -1,8 +1,8 @@ BR2_sparc64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc64-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc64-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-x86-64-core2-full.config b/support/config-fragments/autobuild/br-x86-64-core2-full.config index 7cdb738b36..29ac6891f6 100644 --- a/support/config-fragments/autobuild/br-x86-64-core2-full.config +++ b/support/config-fragments/autobuild/br-x86-64-core2-full.config @@ -3,9 +3,9 @@ BR2_x86_core2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-core2-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-core2-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-x86-64-musl.config b/support/config-fragments/autobuild/br-x86-64-musl.config index 5a59485aad..595d968f3c 100644 --- a/support/config-fragments/autobuild/br-x86-64-musl.config +++ b/support/config-fragments/autobuild/br-x86-64-musl.config @@ -3,8 +3,8 @@ BR2_x86_atom=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-musl-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-musl-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/br-xtensa-full.config b/support/config-fragments/autobuild/br-xtensa-full.config index 44845cd326..bd531abbf1 100644 --- a/support/config-fragments/autobuild/br-xtensa-full.config +++ b/support/config-fragments/autobuild/br-xtensa-full.config @@ -1,9 +1,9 @@ BR2_xtensa=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-xtensa-full-2018.05.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-xtensa-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/i686-ctng-linux-gnu.config b/support/config-fragments/autobuild/i686-ctng-linux-gnu.config deleted file mode 100644 index 9a961123c3..0000000000 --- a/support/config-fragments/autobuild/i686-ctng-linux-gnu.config +++ /dev/null @@ -1,10 +0,0 @@ -BR2_x86_i686=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/i686-ctng-linux-gnu.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="i686-ctng-linux-gnu" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config b/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config deleted file mode 100644 index cf33ea26f3..0000000000 --- a/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config +++ /dev/null @@ -1,9 +0,0 @@ -BR2_mips64el=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n32-linux-gnu.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mips64el-ctng_n32-linux-gnu" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config b/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config deleted file mode 100644 index 942a1b13b5..0000000000 --- a/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config +++ /dev/null @@ -1,11 +0,0 @@ -BR2_mips64el=y -BR2_MIPS_NABI64=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n64-linux-gnu.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mips64el-ctng_n64-linux-gnu" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config b/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config deleted file mode 100644 index e82d3fbda7..0000000000 --- a/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config +++ /dev/null @@ -1,11 +0,0 @@ -BR2_powerpc=y -BR2_powerpc_8548=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/powerpc-ctng_e500v2-linux-gnuspe.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="powerpc-ctng_e500v2-linux-gnuspe" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_7=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv index 136a67f54b..60ce1a9786 100644 --- a/support/config-fragments/autobuild/toolchain-configs.csv +++ b/support/config-fragments/autobuild/toolchain-configs.csv @@ -19,10 +19,10 @@ support/config-fragments/autobuild/br-x86-64-musl.config,x86_64 support/config-fragments/autobuild/br-arm-full-static.config,x86_64 # Test a toolchain with an old gcc version (gcc 4.8) -support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config,x86 +support/config-fragments/autobuild/sourcery-arm.config,x86 # Toolchains used by test-pkg only when the '-a' option is passed: -support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config,x86 +support/config-fragments/autobuild/arm-aarch64.config,x86_64 support/config-fragments/autobuild/br-aarch64-glibc.config,x86_64 support/config-fragments/autobuild/br-arc-full-internal.config,any support/config-fragments/autobuild/br-arc-internal-glibc.config,any @@ -50,24 +50,20 @@ support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config,x86_64 support/config-fragments/autobuild/br-powerpc64-power7-glibc.config,x86_64 support/config-fragments/autobuild/br-powerpc-e500mc-full.config,x86_64 support/config-fragments/autobuild/br-powerpc-internal-full.config,any +support/config-fragments/autobuild/br-riscv32.config,x86_64 +support/config-fragments/autobuild/br-riscv64.config,x86_64 support/config-fragments/autobuild/br-sh4-full.config,x86_64 support/config-fragments/autobuild/br-sparc-uclibc.config,x86_64 support/config-fragments/autobuild/br-sparc64-glibc.config,x86_64 support/config-fragments/autobuild/br-x86-64-core2-full.config,x86_64 support/config-fragments/autobuild/br-xtensa-full.config,x86_64 support/config-fragments/autobuild/br-xtensa-full-internal.config,any -support/config-fragments/autobuild/i686-ctng-linux-gnu.config,x86 support/config-fragments/autobuild/linaro-aarch64.config,x86 support/config-fragments/autobuild/linaro-aarch64-be.config,x86 support/config-fragments/autobuild/linaro-arm.config,x86 -support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config,x86 -support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config,x86 -support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config,x86 support/config-fragments/autobuild/sourcery-arm-armv4t.config,x86 -support/config-fragments/autobuild/sourcery-arm.config,x86 support/config-fragments/autobuild/sourcery-arm-thumb2.config,x86 support/config-fragments/autobuild/sourcery-mips64.config,x86 support/config-fragments/autobuild/sourcery-mips.config,x86 support/config-fragments/autobuild/sourcery-nios2.config,x86 support/config-fragments/autobuild/sourcery-x86-64.config,x86 -support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config,x86 diff --git a/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config b/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config deleted file mode 100644 index 435034be27..0000000000 --- a/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config +++ /dev/null @@ -1,11 +0,0 @@ -BR2_x86_64=y -BR2_x86_corei7=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/x86_64-ctng_locales-linux-gnu.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="x86_64-ctng_locales-linux-gnu" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/support/dependencies/check-host-cmake.mk b/support/dependencies/check-host-cmake.mk index 4300e6f600..5604713de6 100644 --- a/support/dependencies/check-host-cmake.mk +++ b/support/dependencies/check-host-cmake.mk @@ -1,14 +1,9 @@ -# Versions before 3.0 are affected by the bug described in -# https://git.busybox.net/buildroot/commit/?id=ef2c1970e4bff3be3992014070392b0e6bc28bd2 -# and fixed in upstream CMake in version 3.0: -# https://cmake.org/gitweb?p=cmake.git;h=e8b8b37ef6fef094940d3384df5a1d421b9fa568 -# -# Set this to either 3.0 or higher, depending on the highest minimum +# Set this to either 3.8 or higher, depending on the highest minimum # version required by any of the packages bundled in Buildroot. If a # package is bumped or a new one added, and it requires a higher -# version, our cmake infra will catch it and whine. +# version, our cmake infra will catch it and build its own. # -BR2_CMAKE_VERSION_MIN = 3.1 +BR2_CMAKE_VERSION_MIN = 3.8 BR2_CMAKE_CANDIDATES ?= cmake cmake3 BR2_CMAKE ?= $(call suitable-host-package,cmake,\ diff --git a/support/dependencies/check-host-gzip.mk b/support/dependencies/check-host-gzip.mk new file mode 100644 index 0000000000..bf9a369a7d --- /dev/null +++ b/support/dependencies/check-host-gzip.mk @@ -0,0 +1,3 @@ +ifeq (,$(call suitable-host-package,gzip)) +BR2_GZIP_HOST_DEPENDENCY = host-gzip +endif diff --git a/support/dependencies/check-host-gzip.sh b/support/dependencies/check-host-gzip.sh new file mode 100755 index 0000000000..5f344c5f9b --- /dev/null +++ b/support/dependencies/check-host-gzip.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +candidate="$1" # ignored + +gzip="$(which gzip)" +if [ ! -x "${gzip}" ]; then + # echo nothing: no suitable gzip found + exit 1 +fi + +# gzip displays its version string on stdout +# pigz displays its version string on stderr +version="$("${gzip}" --version 2>&1)" +case "${version}" in + (*pigz*) + # echo nothing: no suitable gzip found + exit 1 + ;; +esac + +printf "%s" "${gzip}" diff --git a/support/dependencies/check-host-make.mk b/support/dependencies/check-host-make.mk new file mode 100644 index 0000000000..66560ee85c --- /dev/null +++ b/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/support/dependencies/check-host-make.sh b/support/dependencies/check-host-make.sh new file mode 100755 index 0000000000..0de7e9f6fa --- /dev/null +++ b/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/support/dependencies/check-host-tar.sh b/support/dependencies/check-host-tar.sh index 0857307396..934cb61299 100755 --- a/support/dependencies/check-host-tar.sh +++ b/support/dependencies/check-host-tar.sh @@ -20,10 +20,11 @@ major=`echo "$version" | cut -d. -f1` minor=`echo "$version" | cut -d. -f2` bugfix=`echo "$version" | cut -d. -f3` version_bsd=`$tar --version | grep 'bsdtar'` -if [ ! -z "${version_bsd}" ] ; then - # mark as invalid version - not all command line options are available - major=0 - minor=0 + +# BSD tar does not have all the command-line options +if [ -n "${version_bsd}" ] ; then + # echo nothing: no suitable tar found + exit 1 fi # Minimal version = 1.27 (previous versions do not correctly unpack archives diff --git a/support/dependencies/dependencies.mk b/support/dependencies/dependencies.mk index 563574d6ad..4fac5c731b 100644 --- a/support/dependencies/dependencies.mk +++ b/support/dependencies/dependencies.mk @@ -5,6 +5,11 @@ # ################################################################################ +ifeq ($(BR2_FORCE_HOST_BUILD),y) +# ignore all available host packages +define suitable-host-package +endef +else # suitable-host-pkg: calls check-host-$(1).sh shell script. Parameter (2) # can be the candidate to be checked. If not present, the check-host-$(1).sh # script should use 'which' to find a candidate. The script should return @@ -12,6 +17,7 @@ define suitable-host-package $(shell support/dependencies/check-host-$(1).sh $(2)) endef +endif # host utilities needs host-tar to extract the source code tarballs, so # ensure check-host-tar.mk is included before the rest include support/dependencies/check-host-tar.mk diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh index 58c34d880f..826874baa2 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -181,6 +181,14 @@ if test "${missing_progs}" = "yes" ; then exit 1 fi +# Check that the python version is at least 2.7 +PYTHON_VERSION=$(python -V 2>&1 |awk '{ split($2, v, "."); print v[1] v[2] }') +if [ $PYTHON_VERSION -lt 27 ]; then + echo + echo "You have '$(python -V 2>&1)' installed. Python >= 2.7 is required" + exit 1; +fi + if grep ^BR2_NEEDS_HOST_UTF8_LOCALE=y $BR2_CONFIG > /dev/null; then if ! which locale > /dev/null ; then echo diff --git a/support/download/dl-wrapper b/support/download/dl-wrapper index 490335c859..3315bd410e 100755 --- a/support/download/dl-wrapper +++ b/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}";; @@ -96,7 +93,7 @@ main() { esac uri=${uri#*+} - urlencode=${backend#*|} + urlencode=${backend_urlencode#*|} # urlencode must be "urlencode" [ "${urlencode}" != "urlencode" ] && urlencode="" @@ -213,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/support/download/git b/support/download/git index 11bb52c1e1..17ca04eb98 100755 --- a/support/download/git +++ b/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/support/download/scp b/support/download/scp index 8ecf2f4b22..80cf495c4e 100755 --- a/support/download/scp +++ b/support/download/scp @@ -8,7 +8,8 @@ set -e # Options: # -q Be quiet. # -o FILE Copy to local file FILE. -# -u FILE Copy from remote file FILE. +# -f FILE Copy from remote file FILE. +# -u URI Download file at URI. # # Environment: # SCP : the scp command to call @@ -18,6 +19,7 @@ while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in q) verbose=-q;; o) output="${OPTARG}";; + f) filename="${OPTARG}";; u) uri="${OPTARG}";; :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; @@ -32,4 +34,7 @@ _scp() { eval ${SCP} "${@}" } -_scp ${verbose} "${@}" "'${uri}'" "'${output}'" +# Remove any scheme prefix +uri="${uri##scp://}" + +_scp ${verbose} "${@}" "'${uri}/${filename}'" "'${output}'" diff --git a/support/kconfig/Makefile b/support/kconfig/Makefile index af62023863..b0bcc2627a 100644 --- a/support/kconfig/Makefile +++ b/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/support/kconfig/README.buildroot b/support/kconfig/README.buildroot index 3140713b39..76808f85b4 100644 --- a/support/kconfig/README.buildroot +++ b/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/support/kconfig/check.sh b/support/kconfig/check.sh index 854d9c7c67..97f0fee7d1 100755 --- a/support/kconfig/check.sh +++ b/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/support/kconfig/conf.c b/support/kconfig/conf.c index 553fc76d90..2d7a7ac437 100644 --- a/support/kconfig/conf.c +++ b/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/support/kconfig/confdata.c b/support/kconfig/confdata.c index 2371fa8179..892da74fdc 100644 --- a/support/kconfig/confdata.c +++ b/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/support/kconfig/expr.c b/support/kconfig/expr.c index d6626521f9..e1a39e9084 100644 --- a/support/kconfig/expr.c +++ b/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/support/kconfig/expr.h b/support/kconfig/expr.h index ba663e1dc7..94a383b21d 100644 --- a/support/kconfig/expr.h +++ b/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/support/kconfig/gconf.c b/support/kconfig/gconf.c index 7cbe68eb01..0c2d1c18f9 100644 --- a/support/kconfig/gconf.c +++ b/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/support/kconfig/kconf_id.c b/support/kconfig/kconf_id.c new file mode 100644 index 0000000000..3ea9c5f9f7 --- /dev/null +++ b/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/support/kconfig/kxgettext.c b/support/kconfig/kxgettext.c index 2858738b22..240880a891 100644 --- a/support/kconfig/kxgettext.c +++ b/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/support/kconfig/list.h b/support/kconfig/list.h index 685d80e1bb..45cb237ab7 100644 --- a/support/kconfig/list.h +++ b/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/support/kconfig/lkc.h b/support/kconfig/lkc.h index 09f4edfdc9..f4394af6e4 100644 --- a/support/kconfig/lkc.h +++ b/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/support/kconfig/lkc_proto.h b/support/kconfig/lkc_proto.h index ecdb9659b6..9dc8abfb1d 100644 --- a/support/kconfig/lkc_proto.h +++ b/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/support/kconfig/lxdialog/check-lxdialog.sh b/support/kconfig/lxdialog/check-lxdialog.sh index 3ce0a23349..16cd9a3186 100755 --- a/support/kconfig/lxdialog/check-lxdialog.sh +++ b/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/support/kconfig/lxdialog/checklist.c b/support/kconfig/lxdialog/checklist.c index 3b15c08ec1..8d016faa28 100644 --- a/support/kconfig/lxdialog/checklist.c +++ b/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/support/kconfig/lxdialog/dialog.h b/support/kconfig/lxdialog/dialog.h index b4343d3849..fcffd5b41f 100644 --- a/support/kconfig/lxdialog/dialog.h +++ b/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/support/kconfig/lxdialog/inputbox.c b/support/kconfig/lxdialog/inputbox.c index 447a582198..d58de1dc53 100644 --- a/support/kconfig/lxdialog/inputbox.c +++ b/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/support/kconfig/lxdialog/menubox.c b/support/kconfig/lxdialog/menubox.c index b0d0d698e1..185524901d 100644 --- a/support/kconfig/lxdialog/menubox.c +++ b/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/support/kconfig/lxdialog/util.c b/support/kconfig/lxdialog/util.c index 58a8289dd6..f7abdeb92a 100644 --- a/support/kconfig/lxdialog/util.c +++ b/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/support/kconfig/mconf.c b/support/kconfig/mconf.c index 91c4df78f3..279f4552a1 100644 --- a/support/kconfig/mconf.c +++ b/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/support/kconfig/menu.c b/support/kconfig/menu.c index db1512ae30..5c5c1374b1 100644 --- a/support/kconfig/menu.c +++ b/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/support/kconfig/merge_config.sh b/support/kconfig/merge_config.sh index e1d7ffa7b5..14917806a3 100755 --- a/support/kconfig/merge_config.sh +++ b/support/kconfig/merge_config.sh @@ -32,14 +32,18 @@ usage() { echo " -m only merge the fragments, do not execute the make command" echo " -n use allnoconfig instead of alldefconfig" echo " -r list redundant entries when merging fragments" - echo " -O dir to put generated output files" + echo " -O dir to put generated output files. Consider setting \$KCONFIG_CONFIG instead." echo " -e colon-separated list of br2-external trees to use (optional)" + echo + echo "Used prefix: '$CONFIG_PREFIX'. You can redefine it with \$CONFIG_ + environment variable." } -MAKE=true +RUNMAKE=true ALLTARGET=alldefconfig WARNREDUN=false OUTPUT=. +CONFIG_PREFIX=${CONFIG_-CONFIG_} while true; do case $1 in @@ -49,7 +53,7 @@ while true; do continue ;; "-m") - MAKE=false + RUNMAKE=false shift continue ;; @@ -83,44 +87,66 @@ while true; do esac done +if [ "$#" -lt 1 ] ; then + usage + exit +fi + +if [ -z "$KCONFIG_CONFIG" ]; then + if [ "$OUTPUT" != . ]; then + KCONFIG_CONFIG=$(readlink -m -- "$OUTPUT/.config") + else + KCONFIG_CONFIG=.config + fi +fi + INITFILE=$1 shift; +if [ ! -r "$INITFILE" ]; then + echo "The base file '$INITFILE' does not exist. Exit." >&2 + exit 1 +fi + MERGE_LIST=$* -SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p" +SED_CONFIG_EXP1="s/^\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)=.*/\1/p" +SED_CONFIG_EXP2="s/^# \(${CONFIG_PREFIX}[a-zA-Z0-9_]*\) is not set$/\1/p" + TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX) echo "Using $INITFILE as base" cat $INITFILE > $TMP_FILE -# Merge files, printing warnings on overrided values +# Merge files, printing warnings on overridden values for MERGE_FILE in $MERGE_LIST ; do echo "Merging $MERGE_FILE" - CFG_LIST=$(sed -n "$SED_CONFIG_EXP" $MERGE_FILE) + if [ ! -r "$MERGE_FILE" ]; then + echo "The merge file '$MERGE_FILE' does not exist. Exit." >&2 + exit 1 + fi + CFG_LIST=$(sed -n -e "$SED_CONFIG_EXP1" -e "$SED_CONFIG_EXP2" $MERGE_FILE) for CFG in $CFG_LIST ; do - grep -q -w $CFG $TMP_FILE - if [ $? -eq 0 ] ; then - PREV_VAL=$(grep -w $CFG $TMP_FILE) - NEW_VAL=$(grep -w $CFG $MERGE_FILE) - if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then + grep -q -w $CFG $TMP_FILE || continue + PREV_VAL=$(grep -w $CFG $TMP_FILE) + NEW_VAL=$(grep -w $CFG $MERGE_FILE) + if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then echo Value of $CFG is redefined by fragment $MERGE_FILE: echo Previous value: $PREV_VAL echo New value: $NEW_VAL echo - elif [ "$WARNREDUN" = "true" ]; then + elif [ "$WARNREDUN" = "true" ]; then echo Value of $CFG is redundant by fragment $MERGE_FILE: - fi - sed -i "/$CFG[ =]/d" $TMP_FILE fi + sed -i "/$CFG[ =]/d" $TMP_FILE done cat $MERGE_FILE >> $TMP_FILE done -if [ "$MAKE" = "false" ]; then - cp $TMP_FILE $OUTPUT/.config +if [ "$RUNMAKE" = "false" ]; then + cp -T -- "$TMP_FILE" "$KCONFIG_CONFIG" echo "#" - echo "# merged configuration written to $OUTPUT/.config (needs make)" + echo "# merged configuration written to $KCONFIG_CONFIG (needs make)" echo "#" clean_up exit @@ -141,10 +167,10 @@ make KCONFIG_ALLCONFIG=$TMP_FILE $EXTERNAL_ARG $OUTPUT_ARG $ALLTARGET # Check all specified config values took (might have missed-dependency issues) -for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do +for CFG in $(sed -n -e "$SED_CONFIG_EXP1" -e "$SED_CONFIG_EXP2" $TMP_FILE); do REQUESTED_VAL=$(grep -w -e "$CFG" $TMP_FILE) - ACTUAL_VAL=$(grep -w -e "$CFG" $OUTPUT/.config) + ACTUAL_VAL=$(grep -w -e "$CFG" "$KCONFIG_CONFIG") if [ "x$REQUESTED_VAL" != "x$ACTUAL_VAL" ] ; then echo "Value requested for $CFG not in final .config" echo "Requested value: $REQUESTED_VAL" diff --git a/support/kconfig/nconf.c b/support/kconfig/nconf.c index 4fbecd2473..0031147798 100644 --- a/support/kconfig/nconf.c +++ b/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/support/kconfig/nconf.gui.c b/support/kconfig/nconf.gui.c index 8275f0e551..88874acfda 100644 --- a/support/kconfig/nconf.gui.c +++ b/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/support/kconfig/nconf.h b/support/kconfig/nconf.h index 0d5261705e..9f6f21d3b0 100644 --- a/support/kconfig/nconf.h +++ b/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/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch b/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch index e76198a36b..43ae61a9c7 100644 --- a/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch +++ b/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/support/kconfig/patches/06-br-build-system-integration.patch b/support/kconfig/patches/06-br-build-system-integration.patch index 3faa39ed63..35420cbb15 100644 --- a/support/kconfig/patches/06-br-build-system-integration.patch +++ b/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/support/kconfig/patches/10-br-build-system.patch b/support/kconfig/patches/10-br-build-system.patch index be6fda07af..abf2463691 100644 --- a/support/kconfig/patches/10-br-build-system.patch +++ b/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/support/kconfig/patches/11-use-mktemp-for-lxdialog.patch b/support/kconfig/patches/11-use-mktemp-for-lxdialog.patch index b38af26211..387c633ae2 100644 --- a/support/kconfig/patches/11-use-mktemp-for-lxdialog.patch +++ b/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/support/kconfig/patches/12-fix-glade-file-path.patch b/support/kconfig/patches/12-fix-glade-file-path.patch index a5777da3e9..7d5941fc9e 100644 --- a/support/kconfig/patches/12-fix-glade-file-path.patch +++ b/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/support/kconfig/patches/14-support-out-of-tree-config.patch b/support/kconfig/patches/14-support-out-of-tree-config.patch index ec3134f94e..a3b33ba688 100644 --- a/support/kconfig/patches/14-support-out-of-tree-config.patch +++ b/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/support/kconfig/patches/15-fix-qconf-moc-rule.patch b/support/kconfig/patches/15-fix-qconf-moc-rule.patch deleted file mode 100644 index c1848d764e..0000000000 --- a/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/support/kconfig/patches/16-fix-space-to-de-select-options.patch b/support/kconfig/patches/16-fix-space-to-de-select-options.patch index 972d2de9ea..08f7ec5d95 100644 --- a/support/kconfig/patches/16-fix-space-to-de-select-options.patch +++ b/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/support/kconfig/patches/17-backport-kecho.patch b/support/kconfig/patches/17-backport-kecho.patch new file mode 100644 index 0000000000..9d13876616 --- /dev/null +++ b/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/support/kconfig/patches/17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch b/support/kconfig/patches/17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch deleted file mode 100644 index 1eb48ef974..0000000000 --- a/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/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch b/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch deleted file mode 100644 index 3ca48d0714..0000000000 --- a/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/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch b/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch new file mode 100644 index 0000000000..f2a261f308 --- /dev/null +++ b/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/support/kconfig/patches/19-merge_config.sh-add-br2-external-support.patch b/support/kconfig/patches/19-merge_config.sh-add-br2-external-support.patch new file mode 100644 index 0000000000..1d0ef323bd --- /dev/null +++ b/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/support/kconfig/patches/20-merge_config.sh-Allow-to-define-config-prefix.patch b/support/kconfig/patches/20-merge_config.sh-Allow-to-define-config-prefix.patch new file mode 100644 index 0000000000..645043b163 --- /dev/null +++ b/support/kconfig/patches/20-merge_config.sh-Allow-to-define-config-prefix.patch @@ -0,0 +1,31 @@ +Index: kconfig/merge_config.sh +=================================================================== +--- kconfig.orig/merge_config.sh ++++ kconfig/merge_config.sh +@@ -34,12 +34,16 @@ usage() { + echo " -r list redundant entries when merging fragments" + echo " -O dir to put generated output files. Consider setting \$KCONFIG_CONFIG instead." + echo " -e colon-separated list of br2-external trees to use (optional)" ++ echo ++ echo "Used prefix: '$CONFIG_PREFIX'. You can redefine it with \$CONFIG_ ++ environment variable." + } + + RUNMAKE=true + ALLTARGET=alldefconfig + WARNREDUN=false + OUTPUT=. ++CONFIG_PREFIX=${CONFIG_-CONFIG_} + + while true; do + case $1 in +@@ -105,7 +109,8 @@ if [ ! -r "$INITFILE" ]; then + fi + + MERGE_LIST=$* +-SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p" ++SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)[= ].*/\2/p" ++ + TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX) + + echo "Using $INITFILE as base" diff --git a/support/kconfig/patches/21-Avoid-false-positive-matches-from-comment-lines.patch b/support/kconfig/patches/21-Avoid-false-positive-matches-from-comment-lines.patch new file mode 100644 index 0000000000..c11144e47e --- /dev/null +++ b/support/kconfig/patches/21-Avoid-false-positive-matches-from-comment-lines.patch @@ -0,0 +1,32 @@ +Index: kconfig/merge_config.sh +=================================================================== +--- kconfig.orig/merge_config.sh ++++ kconfig/merge_config.sh +@@ -109,7 +109,8 @@ if [ ! -r "$INITFILE" ]; then + fi + + MERGE_LIST=$* +-SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)[= ].*/\2/p" ++SED_CONFIG_EXP1="s/^\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)=.*/\1/p" ++SED_CONFIG_EXP2="s/^# \(${CONFIG_PREFIX}[a-zA-Z0-9_]*\) is not set$/\1/p" + + TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX) + +@@ -123,7 +124,7 @@ for MERGE_FILE in $MERGE_LIST ; do + echo "The merge file '$MERGE_FILE' does not exist. Exit." >&2 + exit 1 + fi +- CFG_LIST=$(sed -n "$SED_CONFIG_EXP" $MERGE_FILE) ++ CFG_LIST=$(sed -n -e "$SED_CONFIG_EXP1" -e "$SED_CONFIG_EXP2" $MERGE_FILE) + + for CFG in $CFG_LIST ; do + grep -q -w $CFG $TMP_FILE || continue +@@ -166,7 +167,7 @@ make KCONFIG_ALLCONFIG=$TMP_FILE $EXTERN + + + # Check all specified config values took (might have missed-dependency issues) +-for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do ++for CFG in $(sed -n -e "$SED_CONFIG_EXP1" -e "$SED_CONFIG_EXP2" $TMP_FILE); do + + REQUESTED_VAL=$(grep -w -e "$CFG" $TMP_FILE) + ACTUAL_VAL=$(grep -w -e "$CFG" "$KCONFIG_CONFIG") diff --git a/support/kconfig/patches/series b/support/kconfig/patches/series index 1a53ba9958..e5a6f69d8f 100644 --- a/support/kconfig/patches/series +++ b/support/kconfig/patches/series @@ -4,7 +4,9 @@ 11-use-mktemp-for-lxdialog.patch 12-fix-glade-file-path.patch 14-support-out-of-tree-config.patch -15-fix-qconf-moc-rule.patch 16-fix-space-to-de-select-options.patch -17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch -18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch +17-backport-kecho.patch +18-merge-config.sh-create-temporary-files-in-tmp.patch +19-merge_config.sh-add-br2-external-support.patch +20-merge_config.sh-Allow-to-define-config-prefix.patch +21-Avoid-false-positive-matches-from-comment-lines.patch diff --git a/support/kconfig/qconf.cc b/support/kconfig/qconf.cc index f630567c82..7896b584c8 100644 --- a/support/kconfig/qconf.cc +++ b/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/support/kconfig/qconf.h b/support/kconfig/qconf.h index bde0c6b6f9..a40036d1b0 100644 --- a/support/kconfig/qconf.h +++ b/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/support/kconfig/streamline_config.pl b/support/kconfig/streamline_config.pl old mode 100644 new mode 100755 index 4606cdfb85..a2e83ab17d --- a/support/kconfig/streamline_config.pl +++ b/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/support/kconfig/symbol.c b/support/kconfig/symbol.c index 7caabdb51c..f0b2e3b310 100644 --- a/support/kconfig/symbol.c +++ b/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/support/kconfig/util.c b/support/kconfig/util.c index 60eb566180..18a8e52391 100644 --- a/support/kconfig/util.c +++ b/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/support/kconfig/zconf.gperf b/support/kconfig/zconf.gperf deleted file mode 100644 index f14ab41154..0000000000 --- a/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/support/kconfig/zconf.hash.c_shipped b/support/kconfig/zconf.hash.c_shipped deleted file mode 100644 index 40df0005da..0000000000 --- a/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/support/kconfig/zconf.l b/support/kconfig/zconf.l index 1a9f53e535..045093d827 100644 --- a/support/kconfig/zconf.l +++ b/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/support/kconfig/zconf.lex.c_shipped b/support/kconfig/zconf.lex.c_shipped index a0521aa597..33913d43c7 100644 --- a/support/kconfig/zconf.lex.c_shipped +++ b/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/support/kconfig/zconf.tab.c_shipped b/support/kconfig/zconf.tab.c_shipped index f3430308a9..4eca5b3135 100644 --- a/support/kconfig/zconf.tab.c_shipped +++ b/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/support/kconfig/zconf.y b/support/kconfig/zconf.y index 08ac041ff4..7b34de28a6 100644 --- a/support/kconfig/zconf.y +++ b/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/support/misc/Vagrantfile b/support/misc/Vagrantfile index 2d550613d5..6168f05810 100644 --- a/support/misc/Vagrantfile +++ b/support/misc/Vagrantfile @@ -5,14 +5,14 @@ ################################################################################ # Buildroot version to use -RELEASE='2018.08' +RELEASE='2019.02' ### Change here for more memory/cores ### VM_MEMORY=2048 VM_CORES=1 Vagrant.configure('2') do |config| - config.vm.box = 'bento/ubuntu-16.04' + config.vm.box = 'ubuntu/bionic64' config.vm.provider :vmware_fusion do |v, override| v.vmx['memsize'] = VM_MEMORY diff --git a/support/misc/toolchainfile.cmake.in b/support/misc/toolchainfile.cmake.in index 6f3c8ca971..b25031a656 100644 --- a/support/misc/toolchainfile.cmake.in +++ b/support/misc/toolchainfile.cmake.in @@ -15,6 +15,7 @@ string(REPLACE "/share/buildroot" "" RELOCATED_HOST_DIR ${CMAKE_CURRENT_LIST_DIR list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) set(CMAKE_SYSTEM_NAME Buildroot) +set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR @@CMAKE_SYSTEM_PROCESSOR@@) # Set the {C,CXX}FLAGS appended by CMake depending on the build type diff --git a/support/scripts/check-bin-arch b/support/scripts/check-bin-arch index 7f97696735..66b8d89932 100755 --- a/support/scripts/check-bin-arch +++ b/support/scripts/check-bin-arch @@ -20,6 +20,10 @@ declare -a IGNORES=( # pru-software-support) legitimately install ELF binaries that # are not for the target architecture "/usr/share" + + # Skip files in /lib/grub, since it is possible to have it + # for a different architecture (e.g. i386 grub on x86_64). + "/lib/grub" ) while getopts p:l:r:a:i: OPT ; do diff --git a/support/scripts/check-host-rpath b/support/scripts/check-host-rpath index 169628decb..c8939569e2 100755 --- a/support/scripts/check-host-rpath +++ b/support/scripts/check-host-rpath @@ -39,6 +39,11 @@ is_elf() { |grep -E 'Requesting program interpreter:' >/dev/null 2>&1 } +# This function tells whether a given ELF executable (first argument) +# needs a RPATH pointing to the host library directory or not. It +# needs such an RPATH if at least of the libraries used by the ELF +# executable is available in the host library directory. This function +# returns 0 when a RPATH is needed, 1 otherwise. elf_needs_rpath() { local file="${1}" local hostdir="${2}" @@ -54,6 +59,13 @@ elf_needs_rpath() { return 1 } +# This function checks whether at least one of the RPATH of the given +# ELF executable (first argument) properly points to the host library +# directory (second argument), either through an absolute RPATH or a +# relative RPATH. Having such a RPATH will make sure the ELF +# executable will find at runtime the shared libraries it depends +# on. This function returns 0 when a proper RPATH was found, or 1 +# otherwise. check_elf_has_rpath() { local file="${1}" local hostdir="${2}" @@ -63,7 +75,8 @@ check_elf_has_rpath() { for dir in ${rpath//:/ }; do # Remove duplicate and trailing '/' for proper match dir="$( sed -r -e 's:/+:/:g; s:/$::;' <<<"${dir}" )" - [ "${dir}" = "${hostdir}/lib" -o "${dir}" = "\$ORIGIN/../lib" ] && return 0 + [ "${dir}" = "${hostdir}/lib" ] && return 0 + [ "${dir}" = "\$ORIGIN/../lib" ] && return 0 done done < <( readelf -d "${file}" \ |sed -r -e '/.* \(R(UN)?PATH\) +Library r(un)?path: \[(.+)\]$/!d' \ diff --git a/support/scripts/check-merged-usr.sh b/support/scripts/check-merged-usr.sh new file mode 100755 index 0000000000..433857cd8c --- /dev/null +++ b/support/scripts/check-merged-usr.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Check if a given custom skeleton or overlay complies to the merged /usr +# requirements: +# / +# /bin -> usr/bin +# /lib -> usr/lib +# /sbin -> usr/sbin +# /usr/bin/ +# /usr/lib/ +# /usr/sbin/ +# +# Output: the list of non-compliant paths (empty if compliant). +# + +# Extract the inode numbers for all of those directories. In case any is +# a symlink, we want to get the inode of the pointed-to directory, so we +# append '/.' to be sure we get the target directory. Since the symlinks +# can be anyway (/bin -> /usr/bin or /usr/bin -> /bin), we do that for +# all of them. +# +lib_inode=$(stat -c '%i' "${1}/lib/." 2>/dev/null) +bin_inode=$(stat -c '%i' "${1}/bin/." 2>/dev/null) +sbin_inode=$(stat -c '%i' "${1}/sbin/." 2>/dev/null) +usr_lib_inode=$(stat -c '%i' "${1}/usr/lib/." 2>/dev/null) +usr_bin_inode=$(stat -c '%i' "${1}/usr/bin/." 2>/dev/null) +usr_sbin_inode=$(stat -c '%i' "${1}/usr/sbin/." 2>/dev/null) + +not_merged_dirs="" +test -z "$lib_inode" || \ + test "$lib_inode" = "$usr_lib_inode" || \ + not_merged_dirs="/lib" +test -z "$bin_inode" || \ + test "$bin_inode" = "$usr_bin_inode" || \ + not_merged_dirs="$not_merged_dirs /bin" +test -z "$sbin_inode" || \ + test "$sbin_inode" = "$usr_sbin_inode" || \ + not_merged_dirs="$not_merged_dirs /sbin" +echo "${not_merged_dirs# }" diff --git a/support/scripts/generate-gitlab-ci-yml b/support/scripts/generate-gitlab-ci-yml new file mode 100755 index 0000000000..262a7649b2 --- /dev/null +++ b/support/scripts/generate-gitlab-ci-yml @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -e +set -o pipefail + +input="${1}" + +cat "${input}" + +( + cd configs + LC_ALL=C ls -1 *_defconfig +) \ + | sed 's/$/: { extends: .defconfig }/' + +./support/testing/run-tests -l 2>&1 \ + | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: { extends: .runtime_test }/' \ + | LC_ALL=C sort diff --git a/support/scripts/graph-build-time b/support/scripts/graph-build-time index 415d431f23..ba3cdad85b 100755 --- a/support/scripts/graph-build-time +++ b/support/scripts/graph-build-time @@ -69,14 +69,14 @@ import matplotlib.font_manager as fm # noqa: E402 import csv # noqa: E402 import argparse # noqa: E402 -steps = ['extract', 'patch', 'configure', 'build', +steps = ['download', 'extract', 'patch', 'configure', 'build', 'install-target', 'install-staging', 'install-images', 'install-host'] -default_colors = ['#e60004', '#009836', '#2e1d86', '#ffed00', +default_colors = ['#8d02ff', '#e60004', '#009836', '#2e1d86', '#ffed00', '#0068b5', '#f28e00', '#940084', '#97c000'] -alternate_colors = ['#00e0e0', '#3f7f7f', '#ff0000', '#00c000', +alternate_colors = ['#ffbe0a', '#96bdff', '#3f7f7f', '#ff0000', '#00c000', '#0080ff', '#c000ff', '#00eeee', '#e0e000'] @@ -260,7 +260,7 @@ def read_data(input_file): return None for row in reader: - time = int(row[0].strip()) + time = float(row[0].strip()) state = row[1].strip() step = row[2].strip() pkg = row[3].strip() diff --git a/support/scripts/graph-depends b/support/scripts/graph-depends index 621e603278..d2b100f385 100755 --- a/support/scripts/graph-depends +++ b/support/scripts/graph-depends @@ -94,15 +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("-", "") - - -TARGET_EXCEPTIONS = [ - "target-finalize", - "target-post-image", -] + return "_" + pkg.replace("-", "") # Basic cache for the results of the is_dep() function, in order to @@ -175,10 +170,15 @@ def remove_transitive_deps(pkg, deps): return new_d +# List of dependencies that all/many packages have, and that we want +# to trim when generating the dependency graph. +MANDATORY_DEPS = ['toolchain', 'skeleton'] + + # This function removes the dependency on some 'mandatory' package, like the # 'toolchain' package, or the 'skeleton' package def remove_mandatory_deps(pkg, deps): - return [p for p in deps[pkg] if p not in ['toolchain', 'skeleton']] + return [p for p in deps[pkg] if p not in MANDATORY_DEPS] # This function will check that there is no loop in the dependency chain @@ -210,12 +210,12 @@ def check_circular_deps(deps): # This functions trims down the dependency list of all packages. # It applies in sequence all the dependency-elimination methods. -def remove_extra_deps(deps, transitive): +def remove_extra_deps(deps, rootpkg, transitive): for pkg in list(deps.keys()): - if not pkg == 'all': + if not pkg == rootpkg: deps[pkg] = remove_mandatory_deps(pkg, deps) for pkg in list(deps.keys()): - if not transitive or pkg == 'all': + if not transitive or pkg == rootpkg: deps[pkg] = remove_transitive_deps(pkg, deps) return deps @@ -383,9 +383,6 @@ def main(): allpkgs.append('all') filtered_targets = [] for tg in targets: - # Skip uninteresting targets - if tg in TARGET_EXCEPTIONS: - continue dependencies.append(('all', tg)) filtered_targets.append(tg) deps = get_all_depends(filtered_targets, get_depends_func) @@ -409,7 +406,7 @@ def main(): if check_only: sys.exit(0) - dict_deps = remove_extra_deps(dict_deps, args.transitive) + dict_deps = remove_extra_deps(dict_deps, rootpkg, args.transitive) dict_version = brpkgutil.get_version([pkg for pkg in allpkgs if pkg != "all" and not pkg.startswith("root")]) diff --git a/support/scripts/mkmakefile b/support/scripts/mkmakefile index 37162a3173..c7569f2ca5 100755 --- a/support/scripts/mkmakefile +++ b/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/support/scripts/pkg-stats b/support/scripts/pkg-stats index b7b00e8634..b0be7d919b 100755 --- a/support/scripts/pkg-stats +++ b/support/scripts/pkg-stats @@ -24,8 +24,20 @@ from collections import defaultdict import re import subprocess import sys +import requests # URL checking +import json +import certifi +from urllib3 import HTTPSConnectionPool +from urllib3.exceptions import HTTPError +from multiprocessing import Pool -INFRA_RE = re.compile("\$\(eval \$\(([a-z-]*)-package\)\)") +INFRA_RE = re.compile(r"\$\(eval \$\(([a-z-]*)-package\)\)") +URL_RE = re.compile(r"\s*https?://\S*\s*$") + +RM_API_STATUS_ERROR = 1 +RM_API_STATUS_FOUND_BY_DISTRO = 2 +RM_API_STATUS_FOUND_BY_PATTERN = 3 +RM_API_STATUS_NOT_FOUND = 4 class Package: @@ -43,10 +55,31 @@ class Package: self.patch_count = 0 self.warnings = 0 self.current_version = None + self.url = None + self.url_status = None + self.url_worker = None + self.latest_version = (RM_API_STATUS_ERROR, None, None) def pkgvar(self): return self.name.upper().replace("-", "_") + def set_url(self): + """ + Fills in the .url field + """ + self.url_status = "No Config.in" + for filename in os.listdir(os.path.dirname(self.path)): + if fnmatch.fnmatch(filename, 'Config.*'): + fp = open(os.path.join(os.path.dirname(self.path), filename), "r") + for config_line in fp: + if URL_RE.match(config_line): + self.url = config_line.strip() + self.url_status = "Found" + fp.close() + return + self.url_status = "Missing" + fp.close() + def set_infra(self): """ Fills in the .infras field @@ -255,6 +288,93 @@ 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 release_monitoring_get_latest_version_by_distro(pool, name): + try: + req = pool.request('GET', "/api/project/Buildroot/%s" % name) + except HTTPError: + return (RM_API_STATUS_ERROR, None, None) + + if req.status != 200: + return (RM_API_STATUS_NOT_FOUND, None, None) + + data = json.loads(req.data) + + if 'version' in data: + return (RM_API_STATUS_FOUND_BY_DISTRO, data['version'], data['id']) + else: + return (RM_API_STATUS_FOUND_BY_DISTRO, None, data['id']) + + +def release_monitoring_get_latest_version_by_guess(pool, name): + try: + req = pool.request('GET', "/api/projects/?pattern=%s" % name) + except HTTPError: + return (RM_API_STATUS_ERROR, None, None) + + if req.status != 200: + return (RM_API_STATUS_NOT_FOUND, None, None) + + data = json.loads(req.data) + + projects = data['projects'] + projects.sort(key=lambda x: x['id']) + + for p in projects: + if p['name'] == name and 'version' in p: + return (RM_API_STATUS_FOUND_BY_PATTERN, p['version'], p['id']) + + return (RM_API_STATUS_NOT_FOUND, None, None) + + +def check_package_latest_version(packages): + """ + Fills in the .latest_version field of all Package objects + + This field has a special format: + (status, version, id) + with: + - status: one of RM_API_STATUS_ERROR, + RM_API_STATUS_FOUND_BY_DISTRO, RM_API_STATUS_FOUND_BY_PATTERN, + RM_API_STATUS_NOT_FOUND + - version: string containing the latest version known by + release-monitoring.org for this package + - id: string containing the id of the project corresponding to this + package, as known by release-monitoring.org + """ + pool = HTTPSConnectionPool('release-monitoring.org', port=443, + cert_reqs='CERT_REQUIRED', ca_certs=certifi.where(), + timeout=30) + count = 0 + for pkg in packages: + v = release_monitoring_get_latest_version_by_distro(pool, pkg.name) + if v[0] == RM_API_STATUS_NOT_FOUND: + v = release_monitoring_get_latest_version_by_guess(pool, pkg.name) + + pkg.latest_version = v + print("[%d/%d] Package %s" % (count, len(packages), pkg.name)) + count += 1 + + def calculate_stats(packages): stats = defaultdict(int) for pkg in packages: @@ -279,6 +399,16 @@ def calculate_stats(packages): stats["hash"] += 1 else: stats["no-hash"] += 1 + if pkg.latest_version[0] == RM_API_STATUS_FOUND_BY_DISTRO: + stats["rmo-mapping"] += 1 + else: + stats["rmo-no-mapping"] += 1 + if not pkg.latest_version[1]: + stats["version-unknown"] += 1 + elif pkg.latest_version[1] == pkg.current_version: + stats["version-uptodate"] += 1 + else: + stats["version-not-uptodate"] += 1 stats["patches"] += pkg.patch_count return stats @@ -311,6 +441,30 @@ td.somepatches { td.lotsofpatches { background: #ff9a69; } + +td.good_url { + background: #d2ffc4; +} +td.missing_url { + background: #ffd870; +} +td.invalid_url { + background: #ff9a69; +} + +td.version-good { + background: #d2ffc4; +} +td.version-needs-update { + background: #ff9a69; +} +td.version-unknown { + background: #ffd870; +} +td.version-error { + background: #ccc; +} + Statistics of Buildroot packages @@ -413,6 +567,37 @@ def dump_html_pkg(f, pkg): current_version = pkg.current_version f.write(" %s\n" % current_version) + # Latest version + if pkg.latest_version[0] == RM_API_STATUS_ERROR: + td_class.append("version-error") + if pkg.latest_version[1] is None: + td_class.append("version-unknown") + elif pkg.latest_version[1] != pkg.current_version: + td_class.append("version-needs-update") + else: + td_class.append("version-good") + + if pkg.latest_version[0] == RM_API_STATUS_ERROR: + latest_version_text = "Error" + elif pkg.latest_version[0] == RM_API_STATUS_NOT_FOUND: + latest_version_text = "Not found" + else: + if pkg.latest_version[1] is None: + latest_version_text = "Found, but no version" + else: + latest_version_text = "%s" % \ + (pkg.latest_version[2], str(pkg.latest_version[1])) + + latest_version_text += "
          " + + if pkg.latest_version[0] == RM_API_STATUS_FOUND_BY_DISTRO: + latest_version_text += "found by distro" + else: + latest_version_text += "found by guess" + + f.write(" %s\n" % + (" ".join(td_class), latest_version_text)) + # Warnings td_class = ["centered"] if pkg.warnings == 0: @@ -422,6 +607,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") @@ -436,7 +635,9 @@ def dump_html_all_pkgs(f, packages): License files Hash file Current version +Latest version Warnings +Upstream URL """) for pkg in sorted(packages): @@ -465,6 +666,16 @@ def dump_html_stats(f, stats): stats["no-hash"]) f.write(" Total number of patches%s\n" % stats["patches"]) + f.write("Packages having a mapping on release-monitoring.org%s\n" % + stats["rmo-mapping"]) + f.write("Packages lacking a mapping on release-monitoring.org%s\n" % + stats["rmo-no-mapping"]) + f.write("Packages that are up-to-date%s\n" % + stats["version-uptodate"]) + f.write("Packages that are not up-to-date%s\n" % + stats["version-not-uptodate"]) + f.write("Packages with no known upstream version%s\n" % + stats["version-unknown"]) f.write("\n") @@ -517,6 +728,11 @@ 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("Getting latest versions ...") + check_package_latest_version(packages) print("Calculate stats") stats = calculate_stats(packages) print("Write HTML") diff --git a/support/scripts/setlocalversion b/support/scripts/setlocalversion index 33cd605bf3..b39b751f03 100755 --- a/support/scripts/setlocalversion +++ b/support/scripts/setlocalversion @@ -53,7 +53,7 @@ if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then fi # Check for mercurial and a mercurial repo. -if hgid=`hg id 2>/dev/null`; then +if hgid=`HGRCPATH= hg id --id --tags 2>/dev/null`; then tag=`printf '%s' "$hgid" | cut -d' ' -f2 --only-delimited` # Do we have an untagged version? diff --git a/support/testing/conf/docker-compose-kernel.config b/support/testing/conf/docker-compose-kernel.config new file mode 100644 index 0000000000..9468ef8db8 --- /dev/null +++ b/support/testing/conf/docker-compose-kernel.config @@ -0,0 +1,103 @@ +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_HIGH_RES_TIMERS=y +CONFIG_CGROUPS=y +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_SCHED=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_X86_EXTENDED_PLATFORM is not set +CONFIG_IOSF_MBI=y +CONFIG_MCORE2=y +# CONFIG_X86_MCE is not set +# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set +CONFIG_LEGACY_VSYSCALL_NONE=y +# CONFIG_SUSPEND is not set +# CONFIG_ACPI is not set +CONFIG_CPU_IDLE=y +CONFIG_PCI_MSI=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_IOSCHED_CFQ is not set +# CONFIG_MQ_IOSCHED_DEADLINE is not set +# CONFIG_MQ_IOSCHED_KYBER is not set +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_IPV6 is not set +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=y +# CONFIG_NF_CONNTRACK_PROCFS is not set +# CONFIG_NF_CT_PROTO_DCCP is not set +# CONFIG_NF_CT_PROTO_SCTP is not set +# CONFIG_NF_CT_PROTO_UDPLITE is not set +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_IPVS=y +CONFIG_IP_VS=y +CONFIG_IP_VS_RR=y +CONFIG_IP_VS_NFCT=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_BRIDGE=y +# CONFIG_BRIDGE_IGMP_SNOOPING is not set +# CONFIG_WIRELESS is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_VIRTIO_BLK=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +CONFIG_MACVLAN=y +CONFIG_VXLAN=y +CONFIG_VETH=y +CONFIG_VIRTIO_NET=y +# CONFIG_ETHERNET is not set +# CONFIG_WLAN is not set +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +CONFIG_VT_HW_CONSOLE_BINDING=y +# CONFIG_DEVMEM is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +# CONFIG_SERIAL_8250_LPSS is not set +# CONFIG_SERIAL_8250_MID is not set +# CONFIG_HW_RANDOM_INTEL is not set +# CONFIG_HW_RANDOM_AMD is not set +# CONFIG_HW_RANDOM_VIA is not set +CONFIG_HW_RANDOM_VIRTIO=y +# CONFIG_DEVPORT is not set +# CONFIG_HWMON is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_RTC_CLASS=y +CONFIG_VIRTIO_PCI=y +# CONFIG_VIRTIO_PCI_LEGACY is not set +# CONFIG_X86_PLATFORM_DEVICES is not set +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_EXT4_FS=y +CONFIG_OVERLAY_FS=y +CONFIG_OVERLAY_FS_REDIRECT_DIR=y +CONFIG_TMPFS=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_KEYS=y +CONFIG_SECURITYFS=y +# CONFIG_CRYPTO_ECHAINIV is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_UNWINDER_FRAME_POINTER=y diff --git a/support/testing/conf/docker-compose.yml b/support/testing/conf/docker-compose.yml new file mode 100644 index 0000000000..49ff2677da --- /dev/null +++ b/support/testing/conf/docker-compose.yml @@ -0,0 +1,4 @@ +version: '3' +services: + busybox: + image: "busybox:latest" diff --git a/support/testing/conf/f2fs-kernel-fragment.config b/support/testing/conf/f2fs-kernel-fragment.config new file mode 100644 index 0000000000..0fca7e784b --- /dev/null +++ b/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/support/testing/infra/basetest.py b/support/testing/infra/basetest.py index 5014fefafa..a176bc328a 100644 --- a/support/testing/infra/basetest.py +++ b/support/testing/infra/basetest.py @@ -28,8 +28,9 @@ MINIMAL_CONFIG = \ """ -class BRTest(unittest.TestCase): +class BRConfigTest(unittest.TestCase): config = None + br2_external = list() downloaddir = None outputdir = None logtofile = True @@ -38,10 +39,9 @@ class BRTest(unittest.TestCase): timeout_multiplier = 1 def __init__(self, names): - super(BRTest, self).__init__(names) + super(BRConfigTest, self).__init__(names) self.testname = self.__class__.__name__ self.builddir = self.outputdir and os.path.join(self.outputdir, self.testname) - self.emulator = None self.config += '\nBR2_DL_DIR="{}"\n'.format(self.downloaddir) self.config += "\nBR2_JLEVEL={}\n".format(self.jlevel) @@ -56,9 +56,24 @@ class BRTest(unittest.TestCase): if not self.keepbuilds: self.b.delete() + if not self.b.is_finished(): + self.b.configure(make_extra_opts=["BR2_EXTERNAL={}".format(":".join(self.br2_external))]) + + def tearDown(self): + self.show_msg("Cleaning up") + if self.b and not self.keepbuilds: + self.b.delete() + + +class BRTest(BRConfigTest): + def __init__(self, names): + super(BRTest, self).__init__(names) + self.emulator = None + + def setUp(self): + super(BRTest, self).setUp() if not self.b.is_finished(): self.show_msg("Building") - self.b.configure() self.b.build() self.show_msg("Building done") @@ -66,8 +81,6 @@ class BRTest(unittest.TestCase): self.logtofile, self.timeout_multiplier) def tearDown(self): - self.show_msg("Cleaning up") if self.emulator: self.emulator.stop() - if self.b and not self.keepbuilds: - self.b.delete() + super(BRTest, self).tearDown() diff --git a/support/testing/infra/builder.py b/support/testing/infra/builder.py index faf1eb1494..018747555d 100644 --- a/support/testing/infra/builder.py +++ b/support/testing/infra/builder.py @@ -12,7 +12,17 @@ class Builder(object): self.builddir = builddir self.logfile = infra.open_log_file(builddir, "build", logtofile) - def configure(self): + def configure(self, make_extra_opts=[], make_extra_env={}): + """Configure the build. + + make_extra_opts: a list of arguments to be passed to the make + command. + e.g. make_extra_opts=["BR2_EXTERNAL=/path"] + + make_extra_env: a dict of variables to be appended (or replaced) + in the environment that calls make. + e.g. make_extra_env={"BR2_DL_DIR": "/path"} + """ if not os.path.isdir(self.builddir): os.makedirs(self.builddir) @@ -25,17 +35,40 @@ class Builder(object): self.logfile.flush() env = {"PATH": os.environ["PATH"]} + env.update(make_extra_env) + cmd = ["make", - "O={}".format(self.builddir), - "olddefconfig"] + "O={}".format(self.builddir)] + cmd += make_extra_opts + cmd += ["olddefconfig"] + ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile, env=env) if ret != 0: raise SystemError("Cannot olddefconfig") - def build(self): + def build(self, make_extra_opts=[], make_extra_env={}): + """Perform the build. + + make_extra_opts: a list of arguments to be passed to the make + command. It can include a make target. + e.g. make_extra_opts=["foo-source"] + + make_extra_env: a dict of variables to be appended (or replaced) + in the environment that calls make. + e.g. make_extra_env={"BR2_DL_DIR": "/path"} + """ env = {"PATH": os.environ["PATH"]} + if "http_proxy" in os.environ: + self.logfile.write("Using system proxy: " + + os.environ["http_proxy"] + "\n") + env['http_proxy'] = os.environ["http_proxy"] + env['https_proxy'] = os.environ["http_proxy"] + env.update(make_extra_env) + cmd = ["make", "-C", self.builddir] + cmd += make_extra_opts + ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile, env=env) if ret != 0: diff --git a/support/testing/run-tests b/support/testing/run-tests index 76dd15e9f0..813b927045 100755 --- a/support/testing/run-tests +++ b/support/testing/run-tests @@ -5,7 +5,7 @@ import os import nose2 import multiprocessing -from infra.basetest import BRTest +from infra.basetest import BRConfigTest def main(): @@ -38,7 +38,7 @@ def main(): test_dir = os.path.dirname(script_path) if args.stdout: - BRTest.logtofile = False + BRConfigTest.logtofile = False if args.list: print("List of tests") @@ -57,7 +57,7 @@ def main(): parser.print_help() return 1 - BRTest.downloaddir = os.path.abspath(args.download) + BRConfigTest.downloaddir = os.path.abspath(args.download) if args.output is None: print("Missing output directory, please use -o/--output") @@ -68,7 +68,7 @@ def main(): if not os.path.exists(args.output): os.mkdir(args.output) - BRTest.outputdir = os.path.abspath(args.output) + BRConfigTest.outputdir = os.path.abspath(args.output) if args.all is False and len(args.testname) == 0: print("No test selected") @@ -76,7 +76,7 @@ def main(): parser.print_help() return 1 - BRTest.keepbuilds = args.keep + BRConfigTest.keepbuilds = args.keep if args.testcases != 1: if args.testcases < 1: @@ -89,7 +89,7 @@ def main(): each_testcase = br2_jlevel / args.testcases if each_testcase < 1: each_testcase = 1 - BRTest.jlevel = each_testcase + BRConfigTest.jlevel = each_testcase if args.jlevel: if args.jlevel < 0: @@ -98,14 +98,14 @@ def main(): parser.print_help() return 1 # the user can override the auto calculated value - BRTest.jlevel = args.jlevel + BRConfigTest.jlevel = args.jlevel if args.timeout_multiplier < 1: print("Invalid multiplier for timeout values") print("") parser.print_help() return 1 - BRTest.timeout_multiplier = args.timeout_multiplier + BRConfigTest.timeout_multiplier = args.timeout_multiplier nose2_args = ["-v", "-N", str(args.testcases), diff --git a/support/testing/tests/core/test_hardening.py b/support/testing/tests/core/test_hardening.py new file mode 100644 index 0000000000..82e0f3d8f2 --- /dev/null +++ b/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/support/testing/tests/core/test_post_scripts.py b/support/testing/tests/core/test_post_scripts.py index a0e5b6b454..40a36b7904 100644 --- a/support/testing/tests/core/test_post_scripts.py +++ b/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/support/testing/tests/download/__init__.py b/support/testing/tests/download/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/support/testing/tests/download/br2-external/git-hash/Config.in b/support/testing/tests/download/br2-external/git-hash/Config.in new file mode 100644 index 0000000000..e69de29bb2 diff --git a/support/testing/tests/download/br2-external/git-hash/external.desc b/support/testing/tests/download/br2-external/git-hash/external.desc new file mode 100644 index 0000000000..41316c8b25 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-hash/external.desc @@ -0,0 +1 @@ +name: GIT_HASH diff --git a/support/testing/tests/download/br2-external/git-hash/external.mk b/support/testing/tests/download/br2-external/git-hash/external.mk new file mode 100644 index 0000000000..4646dfe2b0 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-hash/external.mk @@ -0,0 +1,4 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_GIT_HASH_PATH)/package/*/*.mk)) + +# Get the git server port number from the test infra +GITREMOTE_PORT_NUMBER ?= 9418 diff --git a/support/testing/tests/download/br2-external/git-hash/package/bad/bad.hash b/support/testing/tests/download/br2-external/git-hash/package/bad/bad.hash new file mode 100644 index 0000000000..b9e1baec84 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-hash/package/bad/bad.hash @@ -0,0 +1 @@ +sha256 0000000000000000000000000000000000000000000000000000000000000000 bad-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz diff --git a/support/testing/tests/download/br2-external/git-hash/package/bad/bad.mk b/support/testing/tests/download/br2-external/git-hash/package/bad/bad.mk new file mode 100644 index 0000000000..5497bd6bfe --- /dev/null +++ b/support/testing/tests/download/br2-external/git-hash/package/bad/bad.mk @@ -0,0 +1,10 @@ +################################################################################ +# +# bad +# +################################################################################ + +BAD_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d +BAD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-hash/package/good/good.hash b/support/testing/tests/download/br2-external/git-hash/package/good/good.hash new file mode 100644 index 0000000000..9e92ab8ab9 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-hash/package/good/good.hash @@ -0,0 +1 @@ +sha256 d00ae598e9e770d607621a86766030b42eaa58156cb8d482b043969da7963c23 good-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz diff --git a/support/testing/tests/download/br2-external/git-hash/package/good/good.mk b/support/testing/tests/download/br2-external/git-hash/package/good/good.mk new file mode 100644 index 0000000000..0f0eefd944 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-hash/package/good/good.mk @@ -0,0 +1,10 @@ +################################################################################ +# +# good +# +################################################################################ + +GOOD_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d +GOOD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-hash/package/nohash/nohash.mk b/support/testing/tests/download/br2-external/git-hash/package/nohash/nohash.mk new file mode 100644 index 0000000000..1da19d88c6 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-hash/package/nohash/nohash.mk @@ -0,0 +1,10 @@ +################################################################################ +# +# nohash +# +################################################################################ + +NOHASH_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d +NOHASH_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/Config.in b/support/testing/tests/download/br2-external/git-refs/Config.in new file mode 100644 index 0000000000..e69de29bb2 diff --git a/support/testing/tests/download/br2-external/git-refs/external.desc b/support/testing/tests/download/br2-external/git-refs/external.desc new file mode 100644 index 0000000000..69f40d46c6 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/external.desc @@ -0,0 +1 @@ +name: GIT_REFS diff --git a/support/testing/tests/download/br2-external/git-refs/external.mk b/support/testing/tests/download/br2-external/git-refs/external.mk new file mode 100644 index 0000000000..ab38c27eb7 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/external.mk @@ -0,0 +1,4 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_GIT_REFS_PATH)/package/*/*.mk)) + +# Get the git server port number from the test infra +GITREMOTE_PORT_NUMBER ?= 9418 diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.hash b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.hash new file mode 100644 index 0000000000..648bcceca0 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.hash @@ -0,0 +1,2 @@ +sha256 70b76187369e47db69dac02c5696e63b35199cd20490fa473d289dd377774613 git-partial-sha1-branch-head-68c197d0879d485f4f6c.tar.gz +sha256 2c1126513651b0d346a4e6d1bb75ac1c9999217e18026302d27bea47b06c7fb2 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.mk b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.mk new file mode 100644 index 0000000000..6d4177c5bf --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-partial-sha1-branch-head +# +################################################################################ + +GIT_PARTIAL_SHA1_BRANCH_HEAD_VERSION = 68c197d0879d485f4f6c +GIT_PARTIAL_SHA1_BRANCH_HEAD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_PARTIAL_SHA1_BRANCH_HEAD_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.hash b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.hash new file mode 100644 index 0000000000..d064362e2c --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.hash @@ -0,0 +1,2 @@ +sha256 9db079b9e215799d59975db7b2b26671eff1932ee6cf1075296f2ace3e2cb746 git-partial-sha1-reachable-by-branch-317406308d9259e2231b.tar.gz +sha256 fabbc65c442bacb5e69b7adfea6d14fbbfc1327134322efd12771dc84387d507 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.mk b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.mk new file mode 100644 index 0000000000..2f65b5c9a9 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-partial-sha1-reachable-by-branch +# +################################################################################ + +GIT_PARTIAL_SHA1_REACHABLE_BY_BRANCH_VERSION = 317406308d9259e2231b +GIT_PARTIAL_SHA1_REACHABLE_BY_BRANCH_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_PARTIAL_SHA1_REACHABLE_BY_BRANCH_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.hash b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.hash new file mode 100644 index 0000000000..7696086690 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.hash @@ -0,0 +1,2 @@ +sha256 f2ef9772f13a9ef9a2c7cde0795e179defb12320d1747fc8d2408748ef5844c2 git-partial-sha1-reachable-by-tag-46bae5b639e5a18e2cc4.tar.gz +sha256 2de87d77a2f226813f2d9bda906e970e4195605cdba6680443c0c04d89c532b6 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.mk b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.mk new file mode 100644 index 0000000000..05aa659dd2 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-partial-sha1-reachable-by-tag +# +################################################################################ + +GIT_PARTIAL_SHA1_REACHABLE_BY_TAG_VERSION = 46bae5b639e5a18e2cc4 +GIT_PARTIAL_SHA1_REACHABLE_BY_TAG_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_PARTIAL_SHA1_REACHABLE_BY_TAG_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.hash b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.hash new file mode 100644 index 0000000000..e627caf91e --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.hash @@ -0,0 +1,2 @@ +sha256 721143b41b8e56cfd9025833f1602e900a490627db2504e5b4907baa23e0019e git-partial-sha1-tag-itself-2b0e0d98a49c97da6a61.tar.gz +sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.mk b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.mk new file mode 100644 index 0000000000..515492397e --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-partial-sha1-tag-itself +# +################################################################################ + +GIT_PARTIAL_SHA1_TAG_ITSELF_VERSION = 2b0e0d98a49c97da6a61 +GIT_PARTIAL_SHA1_TAG_ITSELF_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_PARTIAL_SHA1_TAG_ITSELF_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.hash b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.hash new file mode 100644 index 0000000000..f957a0e23c --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.hash @@ -0,0 +1,2 @@ +sha256 0fbf7fe935f962ceaafcf8e0ffd25dd2a83752c3f0fd055a942a53f8c9235fa7 git-partial-sha1-tag-points-to-516c9c5f64ec66534d4d.tar.gz +sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.mk b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.mk new file mode 100644 index 0000000000..c810e81175 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-partial-sha1-tag-points-to +# +################################################################################ + +GIT_PARTIAL_SHA1_TAG_POINTS_TO_VERSION = 516c9c5f64ec66534d4d +GIT_PARTIAL_SHA1_TAG_POINTS_TO_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_PARTIAL_SHA1_TAG_POINTS_TO_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.hash b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.hash new file mode 100644 index 0000000000..3e8f76d31a --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.hash @@ -0,0 +1,2 @@ +sha256 a21a2507b6d94ad484e49e3a9ae698f672a57469aab8e1779da77df7c9d4d337 git-sha1-branch-head-68c197d0879d485f4f6cee85544722b79e68e59f.tar.gz +sha256 2c1126513651b0d346a4e6d1bb75ac1c9999217e18026302d27bea47b06c7fb2 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.mk b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.mk new file mode 100644 index 0000000000..d3ecaa8593 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-sha1-branch-head +# +################################################################################ + +GIT_SHA1_BRANCH_HEAD_VERSION = 68c197d0879d485f4f6cee85544722b79e68e59f +GIT_SHA1_BRANCH_HEAD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SHA1_BRANCH_HEAD_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.hash b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.hash new file mode 100644 index 0000000000..f8d7b5dc48 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.hash @@ -0,0 +1,2 @@ +sha256 8909e76d898e651af0bc23fae4103b87888bfe77448d71aaf1fbec3da97a3ce2 git-sha1-reachable-by-branch-317406308d9259e2231bd0d6ddad3de3832bce08.tar.gz +sha256 fabbc65c442bacb5e69b7adfea6d14fbbfc1327134322efd12771dc84387d507 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.mk b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.mk new file mode 100644 index 0000000000..badf9e13ca --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-sha1-reachable-by-branch +# +################################################################################ + +GIT_SHA1_REACHABLE_BY_BRANCH_VERSION = 317406308d9259e2231bd0d6ddad3de3832bce08 +GIT_SHA1_REACHABLE_BY_BRANCH_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SHA1_REACHABLE_BY_BRANCH_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.hash b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.hash new file mode 100644 index 0000000000..0eb0ca0917 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.hash @@ -0,0 +1,2 @@ +sha256 9b20256a3058221a8e91031f11700d9945ea84e8f328fa8e42e1cb9f7a30e3b2 git-sha1-reachable-by-tag-46bae5b639e5a18e2cc4dc508f080d566baeff59.tar.gz +sha256 2de87d77a2f226813f2d9bda906e970e4195605cdba6680443c0c04d89c532b6 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.mk b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.mk new file mode 100644 index 0000000000..b5fde7b586 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-sha1-reachable-by-tag +# +################################################################################ + +GIT_SHA1_REACHABLE_BY_TAG_VERSION = 46bae5b639e5a18e2cc4dc508f080d566baeff59 +GIT_SHA1_REACHABLE_BY_TAG_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SHA1_REACHABLE_BY_TAG_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.hash b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.hash new file mode 100644 index 0000000000..48c1348538 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.hash @@ -0,0 +1,2 @@ +sha256 7d301c1a1054d6aee49193ca9e938f4da561ff73fb01719662865aa38bdc4361 git-sha1-tag-itself-2b0e0d98a49c97da6a618ab36337e2058eb733a2.tar.gz +sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.mk b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.mk new file mode 100644 index 0000000000..8914496653 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-sha1-tag-itself +# +################################################################################ + +GIT_SHA1_TAG_ITSELF_VERSION = 2b0e0d98a49c97da6a618ab36337e2058eb733a2 +GIT_SHA1_TAG_ITSELF_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SHA1_TAG_ITSELF_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.hash b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.hash new file mode 100644 index 0000000000..3dcafc2094 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.hash @@ -0,0 +1,2 @@ +sha256 c1f9f5734529a31140a71c031534460811f001b4db37d26833f386358150ab47 git-sha1-tag-points-to-516c9c5f64ec66534d4d069c2e408d9ae4dce023.tar.gz +sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.mk b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.mk new file mode 100644 index 0000000000..adaae7329c --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-sha1-tag-points-to +# +################################################################################ + +GIT_SHA1_TAG_POINTS_TO_VERSION = 516c9c5f64ec66534d4d069c2e408d9ae4dce023 +GIT_SHA1_TAG_POINTS_TO_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SHA1_TAG_POINTS_TO_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.hash b/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.hash new file mode 100644 index 0000000000..3bd0a44693 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.hash @@ -0,0 +1,2 @@ +sha256 f9d46ff8a1a344c6c31fa4211220f3085c446abd31626232540703158276f22c git-submodule-disabled-a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f.tar.gz +sha256 ba8b6ddc4726bfb6a05045ebfd8c43263c968ad1bc601bd46a25bc055008eddc file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.mk b/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.mk new file mode 100644 index 0000000000..7a35b3b51a --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-submodule-disabled +# +################################################################################ + +GIT_SUBMODULE_DISABLED_VERSION = a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f +GIT_SUBMODULE_DISABLED_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SUBMODULE_DISABLED_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.hash b/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.hash new file mode 100644 index 0000000000..7f92c652d3 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.hash @@ -0,0 +1 @@ +sha256 139a34c3c844c844dee74b6746418cfa75fbcc4205794ac8c0b3cd7d55a76792 git-submodule-enabled-a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f.tar.gz diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.mk b/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.mk new file mode 100644 index 0000000000..48a42f5e8a --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-submodule-enabled +# +################################################################################ + +GIT_SUBMODULE_ENABLED_VERSION = a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f +GIT_SUBMODULE_ENABLED_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SUBMODULE_ENABLED_GIT_SUBMODULES = YES + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.hash b/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.hash new file mode 100644 index 0000000000..1cd0b15f27 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.hash @@ -0,0 +1,2 @@ +sha256 85dcb5bcf9bed496688d0eb01c7a3ce05c5b46b984cc1e9e76a6dbefd976e6b3 git-tag-mytag.tar.gz +sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.mk b/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.mk new file mode 100644 index 0000000000..6960ceb2cb --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-tag +# +################################################################################ + +GIT_TAG_VERSION = mytag +GIT_TAG_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_TAG_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.hash b/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.hash new file mode 100644 index 0000000000..47b2b8b7d7 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.hash @@ -0,0 +1,2 @@ + sha256 04715901977503d1df650e0959f4d31d8e7b105e2ac99a2182e0652b8f13baa1 git-wrong-content-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz + sha256 0000000000000000000000000000000000000000000000000000000000000000 file diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.mk b/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.mk new file mode 100644 index 0000000000..786224dad9 --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-wrong-content +# +################################################################################ + +GIT_WRONG_CONTENT_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d +GIT_WRONG_CONTENT_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_WRONG_CONTENT_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/br2-external/git-refs/package/git-wrong-sha1/git-wrong-sha1.mk b/support/testing/tests/download/br2-external/git-refs/package/git-wrong-sha1/git-wrong-sha1.mk new file mode 100644 index 0000000000..f9d0d2226c --- /dev/null +++ b/support/testing/tests/download/br2-external/git-refs/package/git-wrong-sha1/git-wrong-sha1.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-wrong-sha1 +# +################################################################################ + +GIT_WRONG_SHA1_VERSION = 0000000000000000000000000000000000000000 +GIT_WRONG_SHA1_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_WRONG_SHA1_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/.gitattributes b/support/testing/tests/download/git-remote/refs-sub1.git/.gitattributes new file mode 100644 index 0000000000..eb50c64a21 --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub1.git/.gitattributes @@ -0,0 +1 @@ +objects/*/* binary diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/HEAD b/support/testing/tests/download/git-remote/refs-sub1.git/HEAD new file mode 100644 index 0000000000..4e92c1f200 --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub1.git/HEAD @@ -0,0 +1 @@ +cb545facf77bbc5f24f95b6d503c338d10b7b717 diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/config b/support/testing/tests/download/git-remote/refs-sub1.git/config new file mode 100644 index 0000000000..07d359d07c --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub1.git/config @@ -0,0 +1,4 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/objects/07/cabc655213bdf7087d8dd50fda95124e935570 b/support/testing/tests/download/git-remote/refs-sub1.git/objects/07/cabc655213bdf7087d8dd50fda95124e935570 new file mode 100644 index 0000000000..cbf5085af8 Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub1.git/objects/07/cabc655213bdf7087d8dd50fda95124e935570 differ diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/objects/1d/f823cb8a6d1866148ae50a8009762a9c4c777f b/support/testing/tests/download/git-remote/refs-sub1.git/objects/1d/f823cb8a6d1866148ae50a8009762a9c4c777f new file mode 100644 index 0000000000..04055b899e Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub1.git/objects/1d/f823cb8a6d1866148ae50a8009762a9c4c777f differ diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/objects/7d/52f458bdb0f9f5a4beb46fa82824421b8b988e b/support/testing/tests/download/git-remote/refs-sub1.git/objects/7d/52f458bdb0f9f5a4beb46fa82824421b8b988e new file mode 100644 index 0000000000..2b78a01965 Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub1.git/objects/7d/52f458bdb0f9f5a4beb46fa82824421b8b988e differ diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab b/support/testing/tests/download/git-remote/refs-sub1.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab new file mode 100644 index 0000000000..9db72668cf Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub1.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab differ diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/objects/a1/30af1626bbadd64841b2cbcb6ac4ed0638ba1a b/support/testing/tests/download/git-remote/refs-sub1.git/objects/a1/30af1626bbadd64841b2cbcb6ac4ed0638ba1a new file mode 100644 index 0000000000..f49d53326e Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub1.git/objects/a1/30af1626bbadd64841b2cbcb6ac4ed0638ba1a differ diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/objects/bc/c81ba6e5bd8bf52c95688ae8d3e697e131fa23 b/support/testing/tests/download/git-remote/refs-sub1.git/objects/bc/c81ba6e5bd8bf52c95688ae8d3e697e131fa23 new file mode 100644 index 0000000000..7d2a9d55c1 Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub1.git/objects/bc/c81ba6e5bd8bf52c95688ae8d3e697e131fa23 differ diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/objects/cb/545facf77bbc5f24f95b6d503c338d10b7b717 b/support/testing/tests/download/git-remote/refs-sub1.git/objects/cb/545facf77bbc5f24f95b6d503c338d10b7b717 new file mode 100644 index 0000000000..dc7de29459 --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub1.git/objects/cb/545facf77bbc5f24f95b6d503c338d10b7b717 @@ -0,0 +1 @@ +x­Î½ Â0@ajOq $:;²#„X€&8ÿ…q,S°=‘(èíW<=_ræjœv­ÆÖ&‡(½“:Y§U"e“1a˜0B#ƒ•#9AÏv+.쩆gªW_w†Cý`Ÿ¿xš3ñÒû’ 5N¨4*D±é6ÑâŸr‚WnL‹Wž×º’Rç^û_fÅW` \ No newline at end of file diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/objects/dd/130f6f4629514adaf2e03407f3ed9344eb6cd6 b/support/testing/tests/download/git-remote/refs-sub1.git/objects/dd/130f6f4629514adaf2e03407f3ed9344eb6cd6 new file mode 100644 index 0000000000..37037d3920 Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub1.git/objects/dd/130f6f4629514adaf2e03407f3ed9344eb6cd6 differ diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 b/support/testing/tests/download/git-remote/refs-sub1.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 new file mode 100644 index 0000000000..df2037a2d2 Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub1.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 differ diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/objects/f8/001e5780100962a5e30a25cbc4c9609cfc7bf3 b/support/testing/tests/download/git-remote/refs-sub1.git/objects/f8/001e5780100962a5e30a25cbc4c9609cfc7bf3 new file mode 100644 index 0000000000..d824d3c17c Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub1.git/objects/f8/001e5780100962a5e30a25cbc4c9609cfc7bf3 differ diff --git a/support/testing/tests/download/git-remote/refs-sub1.git/refs/heads/submodule b/support/testing/tests/download/git-remote/refs-sub1.git/refs/heads/submodule new file mode 100644 index 0000000000..bf97dc4185 --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub1.git/refs/heads/submodule @@ -0,0 +1 @@ +1df823cb8a6d1866148ae50a8009762a9c4c777f diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/.gitattributes b/support/testing/tests/download/git-remote/refs-sub2.git/.gitattributes new file mode 100644 index 0000000000..eb50c64a21 --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub2.git/.gitattributes @@ -0,0 +1 @@ +objects/*/* binary diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/HEAD b/support/testing/tests/download/git-remote/refs-sub2.git/HEAD new file mode 100644 index 0000000000..bbf19a4bb4 --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub2.git/HEAD @@ -0,0 +1 @@ +32d61bae693af7879da63b89a60d3ae67f851e56 diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/config b/support/testing/tests/download/git-remote/refs-sub2.git/config new file mode 100644 index 0000000000..07d359d07c --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub2.git/config @@ -0,0 +1,4 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/objects/0a/846af45c3e455789435f49f80d70e86b65b9d7 b/support/testing/tests/download/git-remote/refs-sub2.git/objects/0a/846af45c3e455789435f49f80d70e86b65b9d7 new file mode 100644 index 0000000000..aaa29dbd8a Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub2.git/objects/0a/846af45c3e455789435f49f80d70e86b65b9d7 differ diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/objects/0b/32ebd8fc52cec991f18c94be980e85a8341585 b/support/testing/tests/download/git-remote/refs-sub2.git/objects/0b/32ebd8fc52cec991f18c94be980e85a8341585 new file mode 100644 index 0000000000..50caf8b628 Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub2.git/objects/0b/32ebd8fc52cec991f18c94be980e85a8341585 differ diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/objects/32/d61bae693af7879da63b89a60d3ae67f851e56 b/support/testing/tests/download/git-remote/refs-sub2.git/objects/32/d61bae693af7879da63b89a60d3ae67f851e56 new file mode 100644 index 0000000000..a8887b1e61 --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub2.git/objects/32/d61bae693af7879da63b89a60d3ae67f851e56 @@ -0,0 +1 @@ +x­Î½ Â0@ajOq $:;²#„X€&8ÿ…q,S°=‘(èíW<=_ræjœv­ÆÖ&‡(½“:Y§U"e“1a˜0B#ƒ•#9AÏv+.쩆gªW_w†Cý`Ÿ¿xš3ñÒû’ 5N¨-t¨ŦÛD‹Ê ^¹1-B\y^cèJJ{í™o`Ì`+ \ No newline at end of file diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/objects/3e/9b0a5198c64cea9c00f820433411e3b4d50c1c b/support/testing/tests/download/git-remote/refs-sub2.git/objects/3e/9b0a5198c64cea9c00f820433411e3b4d50c1c new file mode 100644 index 0000000000..b1fb722c53 Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub2.git/objects/3e/9b0a5198c64cea9c00f820433411e3b4d50c1c differ diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/objects/85/8f666af75b7c0dfba6b8be7eac5f196e7a1221 b/support/testing/tests/download/git-remote/refs-sub2.git/objects/85/8f666af75b7c0dfba6b8be7eac5f196e7a1221 new file mode 100644 index 0000000000..10f24a087f Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub2.git/objects/85/8f666af75b7c0dfba6b8be7eac5f196e7a1221 differ diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab b/support/testing/tests/download/git-remote/refs-sub2.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab new file mode 100644 index 0000000000..9db72668cf Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub2.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab differ diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/objects/cd/4d62ff218ab7b4a04f5bfdf800ace087af3ceb b/support/testing/tests/download/git-remote/refs-sub2.git/objects/cd/4d62ff218ab7b4a04f5bfdf800ace087af3ceb new file mode 100644 index 0000000000..35d253f0d1 --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub2.git/objects/cd/4d62ff218ab7b4a04f5bfdf800ace087af3ceb @@ -0,0 +1,2 @@ +x­Î=n!†aל‚ ¬5,? ‘eùi’ Ã`#‡Åbq‘Ûg£飴ô}z©ÕZ†Ô³=ŒÎ,5‡hUðä 1È~£µQŠu4É)ì¼~“SÙyñKHètô$½ó’½UlÀ縵.ß +aOM¾be¥¶Ý‹<õ<Ö_¼\+–#µz–Ê‚ëLXä3€ØuüOwb{ÆyRB¼—ëÊij9Oñóå/­â ãxl) \ No newline at end of file diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 b/support/testing/tests/download/git-remote/refs-sub2.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 new file mode 100644 index 0000000000..df2037a2d2 Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub2.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 differ diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/objects/e8/3f6f805bd016b90acafc8702c52d778eb57310 b/support/testing/tests/download/git-remote/refs-sub2.git/objects/e8/3f6f805bd016b90acafc8702c52d778eb57310 new file mode 100644 index 0000000000..05c04d2887 Binary files /dev/null and b/support/testing/tests/download/git-remote/refs-sub2.git/objects/e8/3f6f805bd016b90acafc8702c52d778eb57310 differ diff --git a/support/testing/tests/download/git-remote/refs-sub2.git/refs/heads/submodule b/support/testing/tests/download/git-remote/refs-sub2.git/refs/heads/submodule new file mode 100644 index 0000000000..39dc53f019 --- /dev/null +++ b/support/testing/tests/download/git-remote/refs-sub2.git/refs/heads/submodule @@ -0,0 +1 @@ +e83f6f805bd016b90acafc8702c52d778eb57310 diff --git a/support/testing/tests/download/git-remote/repo.git/.gitattributes b/support/testing/tests/download/git-remote/repo.git/.gitattributes new file mode 100644 index 0000000000..eb50c64a21 --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/.gitattributes @@ -0,0 +1 @@ +objects/*/* binary diff --git a/support/testing/tests/download/git-remote/repo.git/HEAD b/support/testing/tests/download/git-remote/repo.git/HEAD new file mode 100644 index 0000000000..cb089cd89a --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/support/testing/tests/download/git-remote/repo.git/config b/support/testing/tests/download/git-remote/repo.git/config new file mode 100644 index 0000000000..07d359d07c --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/config @@ -0,0 +1,4 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true diff --git a/support/testing/tests/download/git-remote/repo.git/objects/0b/d8ceb961c3b2b210f64a67d57f4b5cd669d343 b/support/testing/tests/download/git-remote/repo.git/objects/0b/d8ceb961c3b2b210f64a67d57f4b5cd669d343 new file mode 100644 index 0000000000..ef7fbd4154 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/0b/d8ceb961c3b2b210f64a67d57f4b5cd669d343 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/11/93ff46343f4f6a0522e2b28b871e905178c1f0 b/support/testing/tests/download/git-remote/repo.git/objects/11/93ff46343f4f6a0522e2b28b871e905178c1f0 new file mode 100644 index 0000000000..3541cd14f0 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/11/93ff46343f4f6a0522e2b28b871e905178c1f0 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/25/59d83bfe937fc0412d96ed664663c9e8a99055 b/support/testing/tests/download/git-remote/repo.git/objects/25/59d83bfe937fc0412d96ed664663c9e8a99055 new file mode 100644 index 0000000000..cbf60fc729 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/25/59d83bfe937fc0412d96ed664663c9e8a99055 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/2b/0e0d98a49c97da6a618ab36337e2058eb733a2 b/support/testing/tests/download/git-remote/repo.git/objects/2b/0e0d98a49c97da6a618ab36337e2058eb733a2 new file mode 100644 index 0000000000..39c913094a --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/objects/2b/0e0d98a49c97da6a618ab36337e2058eb733a2 @@ -0,0 +1 @@ +xEŽK!]s~BbŒpã °i *ƒA6s{1³póR©Eåõ`6jWo¦f¶äÉÜ­f²Ö(uDëI²F}`‰Q*Ñ×7ÕRr}4Ê:öG‰\3…+\Bëy¡úyf8¶MNå/Ï©„üšFæ4NàÁ'ÑÁ¢[ò L3 \ No newline at end of file diff --git a/support/testing/tests/download/git-remote/repo.git/objects/2f/a37f6885d7eb746df75eccaddbacf3ac82799d b/support/testing/tests/download/git-remote/repo.git/objects/2f/a37f6885d7eb746df75eccaddbacf3ac82799d new file mode 100644 index 0000000000..2dd14580e6 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/2f/a37f6885d7eb746df75eccaddbacf3ac82799d differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/31/7406308d9259e2231bd0d6ddad3de3832bce08 b/support/testing/tests/download/git-remote/repo.git/objects/31/7406308d9259e2231bd0d6ddad3de3832bce08 new file mode 100644 index 0000000000..c2c986572a --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/objects/31/7406308d9259e2231bd0d6ddad3de3832bce08 @@ -0,0 +1 @@ +x­Î;N1@Qj¯Â˜ÈߌP” Ð<¿Ob‘ãìžH)èí)®.öÖêÔÞí_æ`ÖìPØì“¬‹bïDغ` ¢‡‚œRfõƒ·©ÁùT, Rr‘ÂJÉÑ9ìŠ)XKÙ‚û¼ô¡?* ®ßa̺a¿]«~Oܵ_<žÔÏövÐ6š5ÇäcÖ‹ñƨ‡>¦'ÿSN•^¬R§zÞ˜–.²”ï׿̪1nS \ No newline at end of file diff --git a/support/testing/tests/download/git-remote/repo.git/objects/34/d1da713bf7de1c535e1d7d3ca985afd84bc7e5 b/support/testing/tests/download/git-remote/repo.git/objects/34/d1da713bf7de1c535e1d7d3ca985afd84bc7e5 new file mode 100644 index 0000000000..29f2d4fd00 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/34/d1da713bf7de1c535e1d7d3ca985afd84bc7e5 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/46/bae5b639e5a18e2cc4dc508f080d566baeff59 b/support/testing/tests/download/git-remote/repo.git/objects/46/bae5b639e5a18e2cc4dc508f080d566baeff59 new file mode 100644 index 0000000000..3bf8865ea6 --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/objects/46/bae5b639e5a18e2cc4dc508f080d566baeff59 @@ -0,0 +1 @@ +x­Î1n!@Qל‚ ¬Å0àa£(òÒÄ'˜e`–“··¥î-·¯øú±ÕZ†F‹»ÑSÒ1›ìrðB )![±~™çƒ‡À(±1 ~¹§mh¶%X/Ž$ ãŒÑ[‹( ³Åãܺþ*‘»4ýÉ}”-¶ËwÑïý÷õǵrùÙÇV?4xC³pðz2hŒºë}z¤åÔà”:•uK2µœ§åúöÌ©ºÍFkb \ No newline at end of file diff --git a/support/testing/tests/download/git-remote/repo.git/objects/51/6c9c5f64ec66534d4d069c2e408d9ae4dce023 b/support/testing/tests/download/git-remote/repo.git/objects/51/6c9c5f64ec66534d4d069c2e408d9ae4dce023 new file mode 100644 index 0000000000..0bda23ab4d --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/objects/51/6c9c5f64ec66534d4d069c2e408d9ae4dce023 @@ -0,0 +1,2 @@ +x­ÎKN1EQÆ^…7БåBQ6À„¬ º\n¬à6rœ»'æˆéyÒÓ¥ÞZÒû4³dc|ZK +¾pÖœÅ\ôV“Ââ‚uшO¼OéüŠ «·‰udCä2ŠEE•Á?æR ¼Í÷>ä[%¹ËW³îÔ¯—*_ÆÚ/ž¶†õã@½¥D¬\”UJÜõ=ùŸîÄÄÍq®ÛÎyé¥,ë×ó_JÅ7Êle \ No newline at end of file diff --git a/support/testing/tests/download/git-remote/repo.git/objects/68/c197d0879d485f4f6cee85544722b79e68e59f b/support/testing/tests/download/git-remote/repo.git/objects/68/c197d0879d485f4f6cee85544722b79e68e59f new file mode 100644 index 0000000000..3e421bb97a --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/objects/68/c197d0879d485f4f6cee85544722b79e68e59f @@ -0,0 +1 @@ +x­Î=N1†ajŸÂØÈ;³ë„ !'ÏL+xŒ)¸=+¥HÑ>Ò÷éåVkÁ?®j3,cð°¨pˆâ ÍxA&I™R`拺nûp‹óè¢$X“àœÅ‰!AQŒ™ÕEC?ãÒºý(L]š}§>ÊÆíûZìK¿á¡Þñí\©|¸ÕW;¯.¤5¢G;9tÎìºGý§;“;m|cŽå¼©Lítšòïó#±æ$bl· \ No newline at end of file diff --git a/support/testing/tests/download/git-remote/repo.git/objects/8b/8a7e885a041da72b1ee9a47c5b9300b172a9e7 b/support/testing/tests/download/git-remote/repo.git/objects/8b/8a7e885a041da72b1ee9a47c5b9300b172a9e7 new file mode 100644 index 0000000000..70cf1795f3 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/8b/8a7e885a041da72b1ee9a47c5b9300b172a9e7 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/92/ef85be57d627f280d8ce3724452ac21c9a6452 b/support/testing/tests/download/git-remote/repo.git/objects/92/ef85be57d627f280d8ce3724452ac21c9a6452 new file mode 100644 index 0000000000..1f2474ba32 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/92/ef85be57d627f280d8ce3724452ac21c9a6452 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab b/support/testing/tests/download/git-remote/repo.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab new file mode 100644 index 0000000000..9db72668cf Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/a2/38b1dfcd825d47d834af3c5223417c8411d90d b/support/testing/tests/download/git-remote/repo.git/objects/a2/38b1dfcd825d47d834af3c5223417c8411d90d new file mode 100644 index 0000000000..31b6bcf34d --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/objects/a2/38b1dfcd825d47d834af3c5223417c8411d90d @@ -0,0 +1 @@ +x­ÎM @aלb.Ш”bŒñnôÃ_´@‚¸ðö6qáÞ¸ý/Ï•”¨ÔÓ®ÕÀ˜(ijBEc•Œ(MG?LÜ{ä£ðFh´ Ÿí^*\Éaõ.XeW Á±~°O_<Ï ií]I'Šk£ô´×Ðñs¶é6ÑŸrŒ25•±Í9ø®ÄØÙ×á—YölÚ`C \ No newline at end of file diff --git a/support/testing/tests/download/git-remote/repo.git/objects/a9/dbc1e23c45e8e1b88c0448763f54d714eb6f8f b/support/testing/tests/download/git-remote/repo.git/objects/a9/dbc1e23c45e8e1b88c0448763f54d714eb6f8f new file mode 100644 index 0000000000..2cbdce1f95 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/a9/dbc1e23c45e8e1b88c0448763f54d714eb6f8f differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/b2/4b387624edc78d0292a127c43cad9ba97c6232 b/support/testing/tests/download/git-remote/repo.git/objects/b2/4b387624edc78d0292a127c43cad9ba97c6232 new file mode 100644 index 0000000000..20491e3f17 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/b2/4b387624edc78d0292a127c43cad9ba97c6232 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/cf/0f4f85d7a1237e377a2d25b996518a877ea001 b/support/testing/tests/download/git-remote/repo.git/objects/cf/0f4f85d7a1237e377a2d25b996518a877ea001 new file mode 100644 index 0000000000..fd22455251 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/cf/0f4f85d7a1237e377a2d25b996518a877ea001 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/d4/e2941d18a63535400476324ddeb7f40164be41 b/support/testing/tests/download/git-remote/repo.git/objects/d4/e2941d18a63535400476324ddeb7f40164be41 new file mode 100644 index 0000000000..4d82169300 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/d4/e2941d18a63535400476324ddeb7f40164be41 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/e2/2695cbf976fed1f543ad7486a531c0af473482 b/support/testing/tests/download/git-remote/repo.git/objects/e2/2695cbf976fed1f543ad7486a531c0af473482 new file mode 100644 index 0000000000..15d80c78fa Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/e2/2695cbf976fed1f543ad7486a531c0af473482 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/e2/cfe068f7e5bf4de32ffe1241da53abce9fa89e b/support/testing/tests/download/git-remote/repo.git/objects/e2/cfe068f7e5bf4de32ffe1241da53abce9fa89e new file mode 100644 index 0000000000..57be648577 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/e2/cfe068f7e5bf4de32ffe1241da53abce9fa89e differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 b/support/testing/tests/download/git-remote/repo.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 new file mode 100644 index 0000000000..df2037a2d2 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/f6/476b879f65e956d7dedd5b08736369e9a24acc b/support/testing/tests/download/git-remote/repo.git/objects/f6/476b879f65e956d7dedd5b08736369e9a24acc new file mode 100644 index 0000000000..ee01041e0a Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/f6/476b879f65e956d7dedd5b08736369e9a24acc differ diff --git a/support/testing/tests/download/git-remote/repo.git/objects/fe/74231105841041d5f441e70399d37f0e600aa5 b/support/testing/tests/download/git-remote/repo.git/objects/fe/74231105841041d5f441e70399d37f0e600aa5 new file mode 100644 index 0000000000..6d0ae484c3 Binary files /dev/null and b/support/testing/tests/download/git-remote/repo.git/objects/fe/74231105841041d5f441e70399d37f0e600aa5 differ diff --git a/support/testing/tests/download/git-remote/repo.git/refs/heads/master b/support/testing/tests/download/git-remote/repo.git/refs/heads/master new file mode 100644 index 0000000000..b6bccc1c17 --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/refs/heads/master @@ -0,0 +1 @@ +a238b1dfcd825d47d834af3c5223417c8411d90d diff --git a/support/testing/tests/download/git-remote/repo.git/refs/heads/mybranch b/support/testing/tests/download/git-remote/repo.git/refs/heads/mybranch new file mode 100644 index 0000000000..45cec54673 --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/refs/heads/mybranch @@ -0,0 +1 @@ +68c197d0879d485f4f6cee85544722b79e68e59f diff --git a/support/testing/tests/download/git-remote/repo.git/refs/heads/submodule b/support/testing/tests/download/git-remote/repo.git/refs/heads/submodule new file mode 100644 index 0000000000..e9f4f32c30 --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/refs/heads/submodule @@ -0,0 +1 @@ +2fa37f6885d7eb746df75eccaddbacf3ac82799d diff --git a/support/testing/tests/download/git-remote/repo.git/refs/tags/mytag b/support/testing/tests/download/git-remote/repo.git/refs/tags/mytag new file mode 100644 index 0000000000..8c09448ad2 --- /dev/null +++ b/support/testing/tests/download/git-remote/repo.git/refs/tags/mytag @@ -0,0 +1 @@ +2b0e0d98a49c97da6a618ab36337e2058eb733a2 diff --git a/support/testing/tests/download/gitremote.py b/support/testing/tests/download/gitremote.py new file mode 100644 index 0000000000..3b35456dd1 --- /dev/null +++ b/support/testing/tests/download/gitremote.py @@ -0,0 +1,46 @@ +# subprocess does not kill the child daemon when a test case fails by raising +# an exception. So use pexpect instead. +import infra + +import pexpect + + +GIT_REMOTE_PORT_INITIAL = 9418 +GIT_REMOTE_PORT_LAST = GIT_REMOTE_PORT_INITIAL + 99 + + +class GitRemote(object): + def __init__(self, builddir, serveddir, logtofile): + """ + Start a local git server. + + In order to support test cases in parallel, select the port the + server will listen to in runtime. Since there is no reliable way + to allocate the port prior to starting the server (another + process in the host machine can use the port between it is + selected from a list and it is really allocated to the server) + try to start the server in a port and in the case it is already + in use, try the next one in the allowed range. + """ + self.daemon = None + self.port = None + self.logfile = infra.open_log_file(builddir, "gitremote", logtofile) + + daemon_cmd = ["git", "daemon", "--reuseaddr", "--verbose", + "--listen=localhost", "--export-all", + "--base-path={}".format(serveddir)] + for port in range(GIT_REMOTE_PORT_INITIAL, GIT_REMOTE_PORT_LAST + 1): + cmd = daemon_cmd + ["--port={port}".format(port=port)] + self.logfile.write("> starting git remote with '{}'\n".format(" ".join(cmd))) + self.daemon = pexpect.spawn(cmd[0], cmd[1:], logfile=self.logfile) + ret = self.daemon.expect(["Ready to rumble", + "Address already in use"]) + if ret == 0: + self.port = port + return + raise SystemError("Could not find a free port to run git remote") + + def stop(self): + if self.daemon is None: + return + self.daemon.terminate(force=True) diff --git a/support/testing/tests/download/test_git.py b/support/testing/tests/download/test_git.py new file mode 100644 index 0000000000..2455557298 --- /dev/null +++ b/support/testing/tests/download/test_git.py @@ -0,0 +1,81 @@ +import os +import shutil + +from gitremote import GitRemote + +import infra + + +class GitTestBase(infra.basetest.BRConfigTest): + config = \ + """ + BR2_BACKUP_SITE="" + """ + gitremotedir = infra.filepath("tests/download/git-remote") + gitremote = None + + def setUp(self): + super(GitTestBase, self).setUp() + self.gitremote = GitRemote(self.builddir, self.gitremotedir, self.logtofile) + + def tearDown(self): + self.show_msg("Cleaning up") + if self.gitremote: + self.gitremote.stop() + if self.b and not self.keepbuilds: + self.b.delete() + + def check_hash(self, package): + # store downloaded tarball inside the output dir so the test infra + # cleans it up at the end + env = {"BR2_DL_DIR": os.path.join(self.builddir, "dl"), + "GITREMOTE_PORT_NUMBER": str(self.gitremote.port)} + self.b.build(["{}-dirclean".format(package), + "{}-source".format(package)], + env) + + def check_download(self, package): + # store downloaded tarball inside the output dir so the test infra + # cleans it up at the end + dl_dir = os.path.join(self.builddir, "dl") + # enforce we test the download + if os.path.exists(dl_dir): + shutil.rmtree(dl_dir) + env = {"BR2_DL_DIR": dl_dir, + "GITREMOTE_PORT_NUMBER": str(self.gitremote.port)} + self.b.build(["{}-dirclean".format(package), + "{}-legal-info".format(package)], + env) + + +class TestGitHash(GitTestBase): + br2_external = [infra.filepath("tests/download/br2-external/git-hash")] + + def test_run(self): + with self.assertRaises(SystemError): + self.check_hash("bad") + self.check_hash("good") + self.check_hash("nohash") + + +class TestGitRefs(GitTestBase): + br2_external = [infra.filepath("tests/download/br2-external/git-refs")] + + def test_run(self): + with self.assertRaises(SystemError): + self.check_download("git-wrong-content") + with self.assertRaises(SystemError): + self.check_download("git-wrong-sha1") + self.check_download("git-partial-sha1-branch-head") + self.check_download("git-partial-sha1-reachable-by-branch") + self.check_download("git-partial-sha1-reachable-by-tag") + self.check_download("git-partial-sha1-tag-itself") + self.check_download("git-partial-sha1-tag-points-to") + self.check_download("git-sha1-branch-head") + self.check_download("git-sha1-reachable-by-branch") + self.check_download("git-sha1-reachable-by-tag") + self.check_download("git-sha1-tag-itself") + self.check_download("git-sha1-tag-points-to") + self.check_download("git-submodule-disabled") + self.check_download("git-submodule-enabled") + self.check_download("git-tag") diff --git a/support/testing/tests/fs/test_f2fs.py b/support/testing/tests/fs/test_f2fs.py new file mode 100644 index 0000000000..819c619a36 --- /dev/null +++ b/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/support/testing/tests/package/copy-sample-script-to-target.sh b/support/testing/tests/package/copy-sample-script-to-target.sh new file mode 100755 index 0000000000..6448a80d6d --- /dev/null +++ b/support/testing/tests/package/copy-sample-script-to-target.sh @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +shift +for file in "$@"; do + cp -f "${file}" "${TARGET_DIR}/root/" +done diff --git a/support/testing/tests/package/sample_python_argh.py b/support/testing/tests/package/sample_python_argh.py new file mode 100644 index 0000000000..48247bf604 --- /dev/null +++ b/support/testing/tests/package/sample_python_argh.py @@ -0,0 +1,10 @@ +import argh + + +@argh.arg("foo", help="help for foo") +@argh.arg("--bar", help="help for bar") +def main(foo, bar=False): + print("{}, {}".format(foo, bar)) + + +argh.dispatch_command(main) diff --git a/support/testing/tests/package/sample_python_attrs.py b/support/testing/tests/package/sample_python_attrs.py new file mode 100644 index 0000000000..f224944914 --- /dev/null +++ b/support/testing/tests/package/sample_python_attrs.py @@ -0,0 +1,15 @@ +import attr + + +@attr.s +class Obj(object): + x = attr.ib() + y = attr.ib(default=1) + + +obj1 = Obj(2) +assert(obj1.x == 2) +assert(obj1.y == 1) +obj2 = Obj(3, 4) +assert(obj2.x == 3) +assert(obj2.y == 4) diff --git a/support/testing/tests/package/sample_python_autobahn.py b/support/testing/tests/package/sample_python_autobahn.py new file mode 100644 index 0000000000..8189b6a6b3 --- /dev/null +++ b/support/testing/tests/package/sample_python_autobahn.py @@ -0,0 +1 @@ +import autobahn.wamp # noqa diff --git a/support/testing/tests/package/sample_python_automat.py b/support/testing/tests/package/sample_python_automat.py new file mode 100644 index 0000000000..baf536f993 --- /dev/null +++ b/support/testing/tests/package/sample_python_automat.py @@ -0,0 +1,27 @@ +from automat import MethodicalMachine + + +class Led(object): + _machine = MethodicalMachine() + + @_machine.state() + def led_on(self): + "led is on" + + @_machine.state(initial=True) + def led_off(self): + "led is off" + + @_machine.input() + def turn_on(self): + "turn the led on" + + @_machine.output() + def _light(self): + print("light") + + led_off.upon(turn_on, enter=led_on, outputs=[_light]) + + +led = Led() +led.turn_on() diff --git a/support/testing/tests/package/sample_python_bitstring.py b/support/testing/tests/package/sample_python_bitstring.py new file mode 100644 index 0000000000..2cc10dba65 --- /dev/null +++ b/support/testing/tests/package/sample_python_bitstring.py @@ -0,0 +1,6 @@ +import bitstring + +value = bitstring.BitArray("uint:12=42") +assert(value.hex == "02a") +assert(value.bin == "000000101010") +assert(value.uint == 42) diff --git a/support/testing/tests/package/sample_python_cbor_dec.py b/support/testing/tests/package/sample_python_cbor_dec.py new file mode 100644 index 0000000000..5ca5e3aa7c --- /dev/null +++ b/support/testing/tests/package/sample_python_cbor_dec.py @@ -0,0 +1,10 @@ +import cbor + +with open("/tmp/data.cbor", "rb") as f: + serialized = f.read() +data = cbor.loads(serialized) +print(data) +assert(data["name"] == "python-cbor") +assert(data["versions"] == ["1", "2"]) +assert(data["group"]["is_a_package"] is True) +assert(data["group"]["value"] == 42) diff --git a/support/testing/tests/package/sample_python_cbor_enc.py b/support/testing/tests/package/sample_python_cbor_enc.py new file mode 100644 index 0000000000..1bde92bb9f --- /dev/null +++ b/support/testing/tests/package/sample_python_cbor_enc.py @@ -0,0 +1,14 @@ +import cbor + +data = { + "name": "python-cbor", + "versions": ["1", "2"], + "group": { + "is_a_package": True, + "value": 42 + } +} +serialized = cbor.dumps(data) +print(serialized) +with open("/tmp/data.cbor", "wb") as f: + f.write(serialized) diff --git a/support/testing/tests/package/sample_python_click.py b/support/testing/tests/package/sample_python_click.py new file mode 100644 index 0000000000..759868d087 --- /dev/null +++ b/support/testing/tests/package/sample_python_click.py @@ -0,0 +1,12 @@ +import click + + +@click.command() +@click.argument("foo") +@click.option("--bar", is_flag=True, help="help for bar") +def main(foo, bar): + click.echo("{}, {}".format(foo, bar)) + + +if __name__ == '__main__': + main() diff --git a/support/testing/tests/package/sample_python_constantly.py b/support/testing/tests/package/sample_python_constantly.py new file mode 100644 index 0000000000..570cf85b23 --- /dev/null +++ b/support/testing/tests/package/sample_python_constantly.py @@ -0,0 +1,19 @@ +from constantly import ValueConstant, Values + + +class RESULT(Values): + OK = ValueConstant(0) + FAIL = ValueConstant(-1) + + @classmethod + def get(cls, rc): + if rc == 0: + return cls.OK + else: + return cls.FAIL + + +print(list(RESULT.iterconstants())) +assert(RESULT.OK < RESULT.FAIL) +assert(RESULT.OK.value > RESULT.FAIL.value) +assert(RESULT.get(-5) == RESULT.FAIL) diff --git a/support/testing/tests/package/sample_python_crossbar.py b/support/testing/tests/package/sample_python_crossbar.py new file mode 100644 index 0000000000..3695fe92c0 --- /dev/null +++ b/support/testing/tests/package/sample_python_crossbar.py @@ -0,0 +1,3 @@ +import crossbar + +crossbar.run(["version"]) diff --git a/support/testing/tests/package/sample_python_cryptography.py b/support/testing/tests/package/sample_python_cryptography.py new file mode 100644 index 0000000000..ec9883dc64 --- /dev/null +++ b/support/testing/tests/package/sample_python_cryptography.py @@ -0,0 +1,3 @@ +from cryptography.fernet import Fernet +key = Fernet.generate_key() +f = Fernet(key) diff --git a/support/testing/tests/package/sample_python_incremental.py b/support/testing/tests/package/sample_python_incremental.py new file mode 100644 index 0000000000..b6e2aa803c --- /dev/null +++ b/support/testing/tests/package/sample_python_incremental.py @@ -0,0 +1,3 @@ +import incremental +v = incremental.Version("package", 1, 2, 3, release_candidate=4) +assert(str(v) == "[package, version 1.2.3rc4]") diff --git a/support/testing/tests/package/sample_python_passlib.py b/support/testing/tests/package/sample_python_passlib.py new file mode 100644 index 0000000000..3ab348b9e4 --- /dev/null +++ b/support/testing/tests/package/sample_python_passlib.py @@ -0,0 +1,5 @@ +from passlib.hash import pbkdf2_sha256 + +hash = pbkdf2_sha256.hash("password") +assert(pbkdf2_sha256.verify("passWord", hash) is False) +assert(pbkdf2_sha256.verify("password", hash) is True) diff --git a/support/testing/tests/package/sample_python_pexpect.py b/support/testing/tests/package/sample_python_pexpect.py new file mode 100644 index 0000000000..cfe395fc29 --- /dev/null +++ b/support/testing/tests/package/sample_python_pexpect.py @@ -0,0 +1,8 @@ +import pexpect + +p = pexpect.spawn(["login"]) +p.expect("login:") +p.sendline("wrong") +p.expect("Password:") +p.sendline("wrong") +p.expect("Login incorrect") diff --git a/support/testing/tests/package/sample_python_pynacl.py b/support/testing/tests/package/sample_python_pynacl.py new file mode 100644 index 0000000000..d17c50ebe5 --- /dev/null +++ b/support/testing/tests/package/sample_python_pynacl.py @@ -0,0 +1,3 @@ +import nacl.utils + +nonce = nacl.utils.random(16) diff --git a/support/testing/tests/package/sample_python_pyyaml_dec.py b/support/testing/tests/package/sample_python_pyyaml_dec.py new file mode 100644 index 0000000000..9ab8931197 --- /dev/null +++ b/support/testing/tests/package/sample_python_pyyaml_dec.py @@ -0,0 +1,10 @@ +import yaml + +with open("/tmp/data.yml", "rb") as f: + serialized = f.read() +data = yaml.load(serialized) +print(data) +assert(data["name"] == "python-pyyaml") +assert(data["versions"] == ["1", "2"]) +assert(data["group"]["is_a_package"] is True) +assert(data["group"]["value"] == 42) diff --git a/support/testing/tests/package/sample_python_pyyaml_enc.py b/support/testing/tests/package/sample_python_pyyaml_enc.py new file mode 100644 index 0000000000..30759949e2 --- /dev/null +++ b/support/testing/tests/package/sample_python_pyyaml_enc.py @@ -0,0 +1,14 @@ +import yaml + +data = { + "name": "python-pyyaml", + "versions": ["1", "2"], + "group": { + "is_a_package": True, + "value": 42 + } +} +serialized = yaml.dump(data, default_flow_style=False) +print(serialized) +with open("/tmp/data.yml", "w") as f: + f.write(serialized) diff --git a/support/testing/tests/package/sample_python_service_identity.py b/support/testing/tests/package/sample_python_service_identity.py new file mode 100644 index 0000000000..3184b6c580 --- /dev/null +++ b/support/testing/tests/package/sample_python_service_identity.py @@ -0,0 +1,2 @@ +from service_identity import VerificationError # noqa +from service_identity.pyopenssl import verify_hostname # noqa diff --git a/support/testing/tests/package/sample_python_subprocess32.py b/support/testing/tests/package/sample_python_subprocess32.py new file mode 100644 index 0000000000..8579745cc8 --- /dev/null +++ b/support/testing/tests/package/sample_python_subprocess32.py @@ -0,0 +1,6 @@ +import subprocess32 + +output = subprocess32.check_output(["ls", "-l", "/dev/null"]) +print(output) +assert("/dev/null" in output) +assert("No such" not in output) diff --git a/support/testing/tests/package/sample_python_treq.py b/support/testing/tests/package/sample_python_treq.py new file mode 100644 index 0000000000..974fdcd8e1 --- /dev/null +++ b/support/testing/tests/package/sample_python_treq.py @@ -0,0 +1,16 @@ +from twisted.internet import reactor +import treq + + +def done(response): + print(response.code) + reactor.stop() + + +def err(fail): + print(fail.value) + reactor.stop() + + +treq.get("https://localhost").addCallback(done).addErrback(err) +reactor.run() diff --git a/support/testing/tests/package/sample_python_twisted.py b/support/testing/tests/package/sample_python_twisted.py new file mode 100644 index 0000000000..47d6c5debc --- /dev/null +++ b/support/testing/tests/package/sample_python_twisted.py @@ -0,0 +1,9 @@ +from twisted.internet import protocol, reactor, endpoints + + +class F(protocol.Factory): + pass + + +endpoints.serverFromString(reactor, "tcp:1234").listen(F()) +reactor.run() diff --git a/support/testing/tests/package/sample_python_txaio_asyncio.py b/support/testing/tests/package/sample_python_txaio_asyncio.py new file mode 100644 index 0000000000..77f11ed807 --- /dev/null +++ b/support/testing/tests/package/sample_python_txaio_asyncio.py @@ -0,0 +1,3 @@ +import txaio +txaio.use_asyncio() +f0 = txaio.create_future() diff --git a/support/testing/tests/package/sample_python_txaio_twisted.py b/support/testing/tests/package/sample_python_txaio_twisted.py new file mode 100644 index 0000000000..13ea82a961 --- /dev/null +++ b/support/testing/tests/package/sample_python_txaio_twisted.py @@ -0,0 +1,3 @@ +import txaio +txaio.use_twisted() +f0 = txaio.create_future() diff --git a/support/testing/tests/package/sample_python_txtorcon.py b/support/testing/tests/package/sample_python_txtorcon.py new file mode 100644 index 0000000000..c4a2ae6f5b --- /dev/null +++ b/support/testing/tests/package/sample_python_txtorcon.py @@ -0,0 +1 @@ +import txtorcon # noqa diff --git a/support/testing/tests/package/sample_python_ubjson_dec.py b/support/testing/tests/package/sample_python_ubjson_dec.py new file mode 100644 index 0000000000..12ccdfd587 --- /dev/null +++ b/support/testing/tests/package/sample_python_ubjson_dec.py @@ -0,0 +1,10 @@ +import ubjson + +with open("/tmp/data.json", "rb") as f: + serialized = f.read() +data = ubjson.loadb(serialized) +print(data) +assert(data["name"] == "python-ubjson") +assert(data["versions"] == ["1", "2"]) +assert(data["group"]["is_a_package"] is True) +assert(data["group"]["value"] == 42) diff --git a/support/testing/tests/package/sample_python_ubjson_enc.py b/support/testing/tests/package/sample_python_ubjson_enc.py new file mode 100644 index 0000000000..9a2140ef85 --- /dev/null +++ b/support/testing/tests/package/sample_python_ubjson_enc.py @@ -0,0 +1,14 @@ +import ubjson + +data = { + "name": "python-ubjson", + "versions": ["1", "2"], + "group": { + "is_a_package": True, + "value": 42 + } +} +serialized = ubjson.dumpb(data) +print(serialized) +with open("/tmp/data.json", "wb") as f: + f.write(serialized) diff --git a/support/testing/tests/package/test_atop.py b/support/testing/tests/package/test_atop.py new file mode 100644 index 0000000000..32c5a07c3c --- /dev/null +++ b/support/testing/tests/package/test_atop.py @@ -0,0 +1,40 @@ +import os + +import infra.basetest + + +class TestAtop(infra.basetest.BRTest): + config = \ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_NEON=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_SYSTEM_DHCP="eth0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_PACKAGE_ATOP=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + kernel = os.path.join(self.builddir, "images", "zImage") + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + dtb = os.path.join(self.builddir, "images", "vexpress-v2p-ca9.dtb") + self.emulator.boot(arch="armv7", kernel=kernel, options=["-initrd", cpio_file, "-M", "vexpress-a9", "-dtb", dtb]) + self.emulator.login() + + cmd = "atop -V | grep '^Version'" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + cmd = "atop -a 1 2 | grep '% *atop *$'" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) diff --git a/support/testing/tests/package/test_docker_compose.py b/support/testing/tests/package/test_docker_compose.py new file mode 100644 index 0000000000..de53a3da14 --- /dev/null +++ b/support/testing/tests/package/test_docker_compose.py @@ -0,0 +1,63 @@ +import os + +import infra.basetest + + +class TestDockerCompose(infra.basetest.BRTest): + config = \ + """ + BR2_x86_64=y + BR2_x86_core2=y + BR2_TOOLCHAIN_BUILDROOT_GLIBC=y + BR2_KERNEL_HEADERS_4_19=y + BR2_SYSTEM_DHCP="eth0" + BR2_ROOTFS_POST_BUILD_SCRIPT="{}" + BR2_ROOTFS_POST_SCRIPT_ARGS="{}" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="{}" + BR2_PACKAGE_CA_CERTIFICATES=y + BR2_PACKAGE_CGROUPFS_MOUNT=y + BR2_PACKAGE_DOCKER_CLI=y + BR2_PACKAGE_DOCKER_COMPOSE=y + BR2_PACKAGE_DOCKER_ENGINE=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_SIZE="512M" + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + infra.filepath("tests/package/copy-sample-script-to-target.sh"), + infra.filepath("conf/docker-compose.yml"), + infra.filepath("conf/docker-compose-kernel.config")) + + def wait_for_dockerd(self): + # dockerd takes a while to start up + _, _ = self.emulator.run('while [ ! -e /var/run/docker.sock ]; do sleep 1; done', 120) + + def docker_test(self): + # will download container if not available, which may take some time + _, exit_code = self.emulator.run('docker run --rm busybox:latest /bin/true', 120) + self.assertEqual(exit_code, 0) + + def docker_compose_test(self): + # will download container if not available, which may take some time + _, exit_code = self.emulator.run('docker-compose up', 120) + self.assertEqual(exit_code, 0) + + def test_run(self): + kernel = os.path.join(self.builddir, "images", "bzImage") + rootfs = os.path.join(self.builddir, "images", "rootfs.ext2") + self.emulator.boot(arch="x86_64", + kernel=kernel, + kernel_cmdline=["root=/dev/vda", "console=ttyS0"], + options=["-cpu", "core2duo", + "-m", "512M", + "-device", "virtio-rng-pci", + "-drive", "file={},format=raw,if=virtio".format(rootfs), + "-net", "nic,model=virtio", + "-net", "user"]) + self.emulator.login() + self.wait_for_dockerd() + self.docker_test() + self.docker_compose_test() diff --git a/support/testing/tests/package/test_dropbear.py b/support/testing/tests/package/test_dropbear.py index 8f7f1fee82..bfec8701f2 100644 --- a/support/testing/tests/package/test_dropbear.py +++ b/support/testing/tests/package/test_dropbear.py @@ -4,14 +4,16 @@ import infra.basetest class TestDropbear(infra.basetest.BRTest): + passwd = "testpwd" config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ """ - BR2_TARGET_GENERIC_ROOT_PASSWD="testpwd" + BR2_TARGET_GENERIC_ROOT_PASSWD="{}" BR2_SYSTEM_DHCP="eth0" BR2_PACKAGE_DROPBEAR=y + BR2_PACKAGE_SSHPASS=y BR2_TARGET_ROOTFS_CPIO=y # BR2_TARGET_ROOTFS_TAR is not set - """ + """.format(passwd) def test_run(self): img = os.path.join(self.builddir, "images", "rootfs.cpio") @@ -19,11 +21,12 @@ class TestDropbear(infra.basetest.BRTest): kernel="builtin", options=["-initrd", img, "-net", "nic", - "-net", "user,hostfwd=tcp::2222-:22"]) - self.emulator.login("testpwd") + "-net", "user"]) + self.emulator.login(self.passwd) cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:22" _, exit_code = self.emulator.run(cmd) self.assertEqual(exit_code, 0) - # Would be useful to try to login through SSH here, through - # localhost:2222, though it is not easy to pass the ssh - # password on the command line. + + cmd = "sshpass -p {} ssh -y localhost /bin/true".format(self.passwd) + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) diff --git a/support/testing/tests/package/test_lua.py b/support/testing/tests/package/test_lua.py new file mode 100644 index 0000000000..77358ba138 --- /dev/null +++ b/support/testing/tests/package/test_lua.py @@ -0,0 +1,59 @@ +import os + +import infra.basetest + + +class TestLuaBase(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def login(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + def version_test(self, version): + cmd = "lua -v" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn(version, output[0]) + + def g_version_test(self, expected): + cmd = "lua -e 'print(_G._VERSION)'" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], expected) + + def module_test(self, module, script="a=1"): + cmd = "lua -l {} -e '{}'".format(module, script) + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + +class TestLua(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUA=y + """ + + def test_run(self): + self.login() + self.version_test('Lua 5.3') + self.g_version_test('Lua 5.3') + + +class TestLuajit(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUAJIT=y + """ + + def test_run(self): + self.login() + self.version_test('LuaJIT 2') + self.g_version_test('Lua 5.1') diff --git a/support/testing/tests/package/test_perl.py b/support/testing/tests/package/test_perl.py new file mode 100644 index 0000000000..033b7cf347 --- /dev/null +++ b/support/testing/tests/package/test_perl.py @@ -0,0 +1,66 @@ +import os + +import infra.basetest + + +class TestPerlBase(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def login(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + def module_test(self, module, script="1"): + cmd = "perl -M{} -e '{}'".format(module, script) + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + +class TestPerl(TestPerlBase): + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + """ + + def version_test(self): + cmd = "perl -v" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn("This is perl 5", output[1]) + + def core_modules_test(self): + self.module_test("Cwd") + self.module_test("Data::Dumper") + self.module_test("Devel::Peek") + self.module_test("Digest::MD5") + self.module_test("Digest::SHA") + self.module_test("Encode") + self.module_test("Fcntl") + self.module_test("File::Glob") + self.module_test("Hash::Util") + self.module_test("I18N::Langinfo") + self.module_test("IO::Handle") + self.module_test("IPC::SysV") + self.module_test("List::Util") + self.module_test("MIME::Base64") + self.module_test("POSIX") + self.module_test("Socket") + self.module_test("Storable") + self.module_test("Sys::Hostname") + self.module_test("Sys::Syslog") + self.module_test("Time::HiRes") + self.module_test("Time::Piece") + self.module_test("Unicode::Collate") + self.module_test("Unicode::Normalize") + + def test_run(self): + self.login() + self.version_test() + self.core_modules_test() diff --git a/support/testing/tests/package/test_perl_class_load.py b/support/testing/tests/package/test_perl_class_load.py new file mode 100644 index 0000000000..fbcd904aaf --- /dev/null +++ b/support/testing/tests/package/test_perl_class_load.py @@ -0,0 +1,28 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlClassLoad(TestPerlBase): + """ + package: + Class-Load + direct dependencies: + Data-OptList + Module-Implementation + Module-Runtime + Package-Stash + Try-Tiny + indirect dependencies: + Dist-CheckConflicts + Params-Util XS + Sub-Install + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_CLASS_LOAD=y + """ + + def test_run(self): + self.login() + self.module_test("Class::Load") diff --git a/support/testing/tests/package/test_perl_dbd_mysql.py b/support/testing/tests/package/test_perl_dbd_mysql.py new file mode 100644 index 0000000000..f8fe832b41 --- /dev/null +++ b/support/testing/tests/package/test_perl_dbd_mysql.py @@ -0,0 +1,21 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlDBDmysql(TestPerlBase): + """ + package: + DBD-mysql XS + direct dependencies: + DBI XS + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_DBD_MYSQL=y + """ + + def test_run(self): + self.login() + self.module_test("DBI") + self.module_test("DBD::mysql") diff --git a/support/testing/tests/package/test_perl_encode_detect.py b/support/testing/tests/package/test_perl_encode_detect.py new file mode 100644 index 0000000000..4b33fee011 --- /dev/null +++ b/support/testing/tests/package/test_perl_encode_detect.py @@ -0,0 +1,20 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlEncodeDetect(TestPerlBase): + """ + package: + Encode-Detect XS + direct dependencies: + Module-Build + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_ENCODE_DETECT=y + """ + + def test_run(self): + self.login() + self.module_test("Encode::Detect") diff --git a/support/testing/tests/package/test_perl_gdgraph.py b/support/testing/tests/package/test_perl_gdgraph.py new file mode 100644 index 0000000000..23ddbca4ae --- /dev/null +++ b/support/testing/tests/package/test_perl_gdgraph.py @@ -0,0 +1,22 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlGDGraph(TestPerlBase): + """ + package: + GDGraph + direct dependencies: + GD XS + GDTextUtil + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_GDGRAPH=y + """ + + def test_run(self): + self.login() + self.module_test("GD") + self.module_test("GD::Graph") diff --git a/support/testing/tests/package/test_perl_io_socket_multicast.py b/support/testing/tests/package/test_perl_io_socket_multicast.py new file mode 100644 index 0000000000..48a086a6f7 --- /dev/null +++ b/support/testing/tests/package/test_perl_io_socket_multicast.py @@ -0,0 +1,21 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlIOSocketMulticast(TestPerlBase): + """ + package: + IO-Socket-Multicast XS + direct dependencies: + IO-Interface XS + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_IO_SOCKET_MULTICAST=y + """ + + def test_run(self): + self.login() + self.module_test("IO::Interface") + self.module_test("IO::Socket::Multicast") diff --git a/support/testing/tests/package/test_perl_io_socket_ssl.py b/support/testing/tests/package/test_perl_io_socket_ssl.py new file mode 100644 index 0000000000..51663e837c --- /dev/null +++ b/support/testing/tests/package/test_perl_io_socket_ssl.py @@ -0,0 +1,21 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlIOSocketSSL(TestPerlBase): + """ + package: + IO-Socket-SSL + direct dependencies: + Net-SSLeay XS + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_IO_SOCKET_SSL=y + """ + + def test_run(self): + self.login() + self.module_test("Net::SSLeay") + self.module_test("IO::Socket::SSL") diff --git a/support/testing/tests/package/test_perl_libwww_perl.py b/support/testing/tests/package/test_perl_libwww_perl.py new file mode 100644 index 0000000000..af9f7c7ed4 --- /dev/null +++ b/support/testing/tests/package/test_perl_libwww_perl.py @@ -0,0 +1,41 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerllibwwwperl(TestPerlBase): + """ + package: + libwww-perl + direct dependencies: + Encode-Locale + File-Listing + HTML-Parser XS + HTTP-Cookies + HTTP-Daemon + HTTP-Date + HTTP-Message + HTTP-Negotiate + LWP-MediaTypes + Net-HTTP + Try-Tiny + URI + WWW-RobotRules + indirect dependencies: + HTML-Tagset + IO-HTML + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_LIBWWW_PERL=y + """ + + def test_run(self): + self.login() + self.module_test("LWP") + self.module_test("LWP::UserAgent") + self.module_test("LWP::Authen::Basic") + self.module_test("LWP::Authen::Digest") + self.module_test("HTTP::Message") + self.module_test("HTTP::Daemon") + self.module_test("WWW::RobotRules") diff --git a/support/testing/tests/package/test_perl_mail_dkim.py b/support/testing/tests/package/test_perl_mail_dkim.py new file mode 100644 index 0000000000..7affce82b2 --- /dev/null +++ b/support/testing/tests/package/test_perl_mail_dkim.py @@ -0,0 +1,28 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlMailDKIM(TestPerlBase): + """ + package: + Mail-DKIM + direct dependencies: + Crypt-OpenSSL-RSA XS + MailTools + Net-DNS + Net-DNS-Resolver-Mock + YAML-LibYAML XS + indirect dependencies: + Crypt-OpenSSL-Random XS + Digest-HMAC + TimeDate + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_MAIL_DKIM=y + """ + + def test_run(self): + self.login() + self.module_test("Mail::DKIM") diff --git a/support/testing/tests/package/test_perl_x10.py b/support/testing/tests/package/test_perl_x10.py new file mode 100644 index 0000000000..84feb74e69 --- /dev/null +++ b/support/testing/tests/package/test_perl_x10.py @@ -0,0 +1,22 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlX10(TestPerlBase): + """ + package: + X10 + direct dependencies: + Astro-SunTime + Device-SerialPort XS + Time-ParseDate + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_X10=y + """ + + def test_run(self): + self.login() + self.module_test("X10") diff --git a/support/testing/tests/package/test_perl_xml_libxml.py b/support/testing/tests/package/test_perl_xml_libxml.py new file mode 100644 index 0000000000..faace5dd03 --- /dev/null +++ b/support/testing/tests/package/test_perl_xml_libxml.py @@ -0,0 +1,22 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlXMLLibXML(TestPerlBase): + """ + package: + XML-LibXML XS + direct dependencies: + XML-NamespaceSupport + XML-SAX + XML-SAX-Base + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_XML_LIBXML=y + """ + + def test_run(self): + self.login() + self.module_test("XML::LibXML") diff --git a/support/testing/tests/package/test_prosody.py b/support/testing/tests/package/test_prosody.py new file mode 100644 index 0000000000..8ef8ff95ff --- /dev/null +++ b/support/testing/tests/package/test_prosody.py @@ -0,0 +1,48 @@ +from tests.package.test_lua import TestLuaBase + + +class TestProsody(TestLuaBase): + def lua_dependencies_test(self): + self.module_test('bit') # luabitop + self.module_test('lfs') # luafilesystem + self.module_test('lxp') # luaexpat + self.module_test('socket') # luasocket + self.module_test('ssl') # luasec + + def prosody_test(self): + # prosody was launched as service + cmd = "prosodyctl status" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn("Prosody is running", output[0]) + + +class TestProsodyLua51(TestProsody): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUA=y + BR2_PACKAGE_LUA_5_1=y + BR2_PACKAGE_PROSODY=y + """ + + def test_run(self): + self.login() + self.version_test('Lua 5.1') + self.g_version_test('Lua 5.1') + self.lua_dependencies_test() + self.prosody_test() + + +class TestProsodyLuajit(TestProsody): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUAJIT=y + BR2_PACKAGE_PROSODY=y + """ + + def test_run(self): + self.login() + self.version_test('LuaJIT 2') + self.g_version_test('Lua 5.1') + self.lua_dependencies_test() + self.prosody_test() diff --git a/support/testing/tests/package/test_python.py b/support/testing/tests/package/test_python.py index 26cf49947b..bcd363ad1e 100644 --- a/support/testing/tests/package/test_python.py +++ b/support/testing/tests/package/test_python.py @@ -68,3 +68,58 @@ class TestPython3(TestPythonBase): self.math_floor_test() self.libc_time_test() self.zlib_test() + + +class TestPythonPackageBase(TestPythonBase): + """Common class to test a python package. + + Build an image containing the scripts listed in sample_scripts, start the + emulator, login to it and for each sample script in the image run the python + interpreter passing the name of the script and check the status code is 0. + + Each test case that inherits from this class must have: + __test__ = True - to let nose2 know that it is a test case + config - defconfig fragment with the packages to run the test + It also can have: + sample_scripts - list of scripts to add to the image and run on the target + timeout - timeout to the script to run when the default from the + test infra is not enough + When custom commands need be issued on the target the method + run_sample_scripts can be overridden. + """ + + __test__ = False + config_sample_scripts = \ + """ + BR2_ROOTFS_POST_BUILD_SCRIPT="{}" + BR2_ROOTFS_POST_SCRIPT_ARGS="{}" + """.format(infra.filepath("tests/package/copy-sample-script-to-target.sh"), + "{sample_scripts}") + sample_scripts = None + timeout = -1 + + def __init__(self, names): + """Add the scripts to the target in build time.""" + super(TestPythonPackageBase, self).__init__(names) + if self.sample_scripts: + scripts = [infra.filepath(s) for s in self.sample_scripts] + self.config += self.config_sample_scripts.format(sample_scripts=" ".join(scripts)) + + def check_sample_scripts_exist(self): + """Check the scripts were really added to the image.""" + scripts = [os.path.basename(s) for s in self.sample_scripts] + cmd = "md5sum " + " ".join(scripts) + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + def run_sample_scripts(self): + """Run each script previously added to the image.""" + for script in self.sample_scripts: + cmd = self.interpreter + " " + os.path.basename(script) + _, exit_code = self.emulator.run(cmd, timeout=self.timeout) + self.assertEqual(exit_code, 0) + + def test_run(self): + self.login() + self.check_sample_scripts_exist() + self.run_sample_scripts() diff --git a/support/testing/tests/package/test_python_argh.py b/support/testing/tests/package/test_python_argh.py new file mode 100644 index 0000000000..de4b4cbe74 --- /dev/null +++ b/support/testing/tests/package/test_python_argh.py @@ -0,0 +1,45 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonArgh(TestPythonPackageBase): + config = TestPythonPackageBase.config + sample_scripts = ["tests/package/sample_python_argh.py"] + + def run_sample_scripts(self): + cmd = self.interpreter + " sample_python_argh.py -h" + output, exit_code = self.emulator.run(cmd) + self.assertIn("usage:", output[0]) + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_argh.py 123" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(output[0], "123, False") + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_argh.py --bar 456" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(output[0], "456, True") + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_argh.py" + output, exit_code = self.emulator.run(cmd) + self.assertIn("usage:", output[0]) + self.assertEqual(exit_code, 2) + + +class TestPythonPy2Argh(TestPythonArgh): + __test__ = True + config = TestPythonArgh.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_ARGH=y + """ + + +class TestPythonPy3Argh(TestPythonArgh): + __test__ = True + config = TestPythonArgh.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_ARGH=y + """ diff --git a/support/testing/tests/package/test_python_attrs.py b/support/testing/tests/package/test_python_attrs.py new file mode 100644 index 0000000000..9f597034ae --- /dev/null +++ b/support/testing/tests/package/test_python_attrs.py @@ -0,0 +1,21 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Attrs(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_ATTRS=y + """ + sample_scripts = ["tests/package/sample_python_attrs.py"] + + +class TestPythonPy3Attrs(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_ATTRS=y + """ + sample_scripts = ["tests/package/sample_python_attrs.py"] diff --git a/support/testing/tests/package/test_python_autobahn.py b/support/testing/tests/package/test_python_autobahn.py new file mode 100644 index 0000000000..af1f617d6d --- /dev/null +++ b/support/testing/tests/package/test_python_autobahn.py @@ -0,0 +1,21 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Autobahn(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_AUTOBAHN=y + """ + sample_scripts = ["tests/package/sample_python_autobahn.py"] + + +class TestPythonPy3Autobahn(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_AUTOBAHN=y + """ + sample_scripts = ["tests/package/sample_python_autobahn.py"] diff --git a/support/testing/tests/package/test_python_automat.py b/support/testing/tests/package/test_python_automat.py new file mode 100644 index 0000000000..00a7ed6526 --- /dev/null +++ b/support/testing/tests/package/test_python_automat.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Automat(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_AUTOMAT=y + """ + sample_scripts = ["tests/package/sample_python_automat.py"] + timeout = 30 + + +class TestPythonPy3Automat(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_AUTOMAT=y + """ + sample_scripts = ["tests/package/sample_python_automat.py"] + timeout = 30 diff --git a/support/testing/tests/package/test_python_bitstring.py b/support/testing/tests/package/test_python_bitstring.py new file mode 100644 index 0000000000..63b3fdb69c --- /dev/null +++ b/support/testing/tests/package/test_python_bitstring.py @@ -0,0 +1,21 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Bitstring(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_BITSTRING=y + """ + sample_scripts = ["tests/package/sample_python_bitstring.py"] + + +class TestPythonPy3Bitstring(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_BITSTRING=y + """ + sample_scripts = ["tests/package/sample_python_bitstring.py"] diff --git a/support/testing/tests/package/test_python_cbor.py b/support/testing/tests/package/test_python_cbor.py new file mode 100644 index 0000000000..9da3503763 --- /dev/null +++ b/support/testing/tests/package/test_python_cbor.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Cbor(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_CBOR=y + """ + sample_scripts = ["tests/package/sample_python_cbor_enc.py", + "tests/package/sample_python_cbor_dec.py"] + + +class TestPythonPy3Cbor(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CBOR=y + """ + sample_scripts = ["tests/package/sample_python_cbor_enc.py", + "tests/package/sample_python_cbor_dec.py"] diff --git a/support/testing/tests/package/test_python_click.py b/support/testing/tests/package/test_python_click.py new file mode 100644 index 0000000000..db57d3aa9f --- /dev/null +++ b/support/testing/tests/package/test_python_click.py @@ -0,0 +1,44 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonClick(TestPythonPackageBase): + sample_scripts = ["tests/package/sample_python_click.py"] + + def run_sample_scripts(self): + cmd = self.interpreter + " sample_python_click.py --help" + output, exit_code = self.emulator.run(cmd) + self.assertIn("Usage:", output[0]) + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_click.py 123" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(output[0], "123, False") + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_click.py --bar 456" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(output[0], "456, True") + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_click.py" + output, exit_code = self.emulator.run(cmd) + self.assertIn("Usage:", output[0]) + self.assertEqual(exit_code, 2) + + +class TestPythonPy2Click(TestPythonClick): + __test__ = True + config = TestPythonClick.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_CLICK=y + """ + + +class TestPythonPy3Click(TestPythonClick): + __test__ = True + config = TestPythonClick.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CLICK=y + """ diff --git a/support/testing/tests/package/test_python_constantly.py b/support/testing/tests/package/test_python_constantly.py new file mode 100644 index 0000000000..5be01c4f8c --- /dev/null +++ b/support/testing/tests/package/test_python_constantly.py @@ -0,0 +1,21 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Constantly(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_CONSTANTLY=y + """ + sample_scripts = ["tests/package/sample_python_constantly.py"] + + +class TestPythonPy3Constantly(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CONSTANTLY=y + """ + sample_scripts = ["tests/package/sample_python_constantly.py"] diff --git a/support/testing/tests/package/test_python_crossbar.py b/support/testing/tests/package/test_python_crossbar.py new file mode 100644 index 0000000000..2d7b739b5c --- /dev/null +++ b/support/testing/tests/package/test_python_crossbar.py @@ -0,0 +1,14 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Crossbar(TestPythonPackageBase): + __test__ = True + # use haveged to generate enough entropy so crossbar -> pynacl -> libsodium don't hang waiting for /dev/random + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CROSSBAR=y + BR2_PACKAGE_HAVEGED=y + """ + sample_scripts = ["tests/package/sample_python_crossbar.py"] + timeout = 60 diff --git a/support/testing/tests/package/test_python_cryptography.py b/support/testing/tests/package/test_python_cryptography.py index 78c3ef55b3..14515fcd2d 100644 --- a/support/testing/tests/package/test_python_cryptography.py +++ b/support/testing/tests/package/test_python_cryptography.py @@ -1,34 +1,23 @@ -from tests.package.test_python import TestPythonBase +from tests.package.test_python import TestPythonPackageBase -class TestPythonCryptography(TestPythonBase): - def fernet_test(self, timeout=-1): - cmd = self.interpreter + " -c 'from cryptography.fernet import Fernet;" - cmd += "key = Fernet.generate_key();" - cmd += "f = Fernet(key)'" - _, exit_code = self.emulator.run(cmd, timeout) - self.assertEqual(exit_code, 0) - - -class TestPythonPy2Cryptography(TestPythonCryptography): - config = TestPythonBase.config + \ +class TestPythonPy2Cryptography(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ """ BR2_PACKAGE_PYTHON=y BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y """ - - def test_run(self): - self.login() - self.fernet_test(40) + sample_scripts = ["tests/package/sample_python_cryptography.py"] + timeout = 40 -class TestPythonPy3Cryptography(TestPythonCryptography): - config = TestPythonBase.config + \ +class TestPythonPy3Cryptography(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ """ BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y """ - - def test_run(self): - self.login() - self.fernet_test(40) + sample_scripts = ["tests/package/sample_python_cryptography.py"] + timeout = 40 diff --git a/support/testing/tests/package/test_python_incremental.py b/support/testing/tests/package/test_python_incremental.py new file mode 100644 index 0000000000..49800d8937 --- /dev/null +++ b/support/testing/tests/package/test_python_incremental.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Incremental(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_INCREMENTAL=y + """ + sample_scripts = ["tests/package/sample_python_incremental.py"] + timeout = 30 + + +class TestPythonPy3Incremental(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_INCREMENTAL=y + """ + sample_scripts = ["tests/package/sample_python_incremental.py"] + timeout = 30 diff --git a/support/testing/tests/package/test_python_passlib.py b/support/testing/tests/package/test_python_passlib.py new file mode 100644 index 0000000000..7c85882bf8 --- /dev/null +++ b/support/testing/tests/package/test_python_passlib.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Passlib(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_PASSLIB=y + """ + sample_scripts = ["tests/package/sample_python_passlib.py"] + timeout = 30 + + +class TestPythonPy3Passlib(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PASSLIB=y + """ + sample_scripts = ["tests/package/sample_python_passlib.py"] + timeout = 30 diff --git a/support/testing/tests/package/test_python_pexpect.py b/support/testing/tests/package/test_python_pexpect.py new file mode 100644 index 0000000000..ba31cdbdbe --- /dev/null +++ b/support/testing/tests/package/test_python_pexpect.py @@ -0,0 +1,21 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Pexpect(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_PEXPECT=y + """ + sample_scripts = ["tests/package/sample_python_pexpect.py"] + + +class TestPythonPy3Pexpect(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PEXPECT=y + """ + sample_scripts = ["tests/package/sample_python_pexpect.py"] diff --git a/support/testing/tests/package/test_python_pynacl.py b/support/testing/tests/package/test_python_pynacl.py new file mode 100644 index 0000000000..729a887552 --- /dev/null +++ b/support/testing/tests/package/test_python_pynacl.py @@ -0,0 +1,27 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Pynacl(TestPythonPackageBase): + __test__ = True + # use haveged to generate enough entropy so pynacl -> libsodium don't hang waiting for /dev/random + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_PYNACL=y + BR2_PACKAGE_HAVEGED=y + """ + sample_scripts = ["tests/package/sample_python_pynacl.py"] + timeout = 10 + + +class TestPythonPy3Pynacl(TestPythonPackageBase): + __test__ = True + # use haveged to generate enough entropy so pynacl -> libsodium don't hang waiting for /dev/random + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PYNACL=y + BR2_PACKAGE_HAVEGED=y + """ + sample_scripts = ["tests/package/sample_python_pynacl.py"] + timeout = 10 diff --git a/support/testing/tests/package/test_python_pyyaml.py b/support/testing/tests/package/test_python_pyyaml.py new file mode 100644 index 0000000000..cd45a57b86 --- /dev/null +++ b/support/testing/tests/package/test_python_pyyaml.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Pyyaml(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_PYYAML=y + """ + sample_scripts = ["tests/package/sample_python_pyyaml_enc.py", + "tests/package/sample_python_pyyaml_dec.py"] + + +class TestPythonPy3Pyyaml(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PYYAML=y + """ + sample_scripts = ["tests/package/sample_python_pyyaml_enc.py", + "tests/package/sample_python_pyyaml_dec.py"] diff --git a/support/testing/tests/package/test_python_service_identity.py b/support/testing/tests/package/test_python_service_identity.py new file mode 100644 index 0000000000..6aeb77de8c --- /dev/null +++ b/support/testing/tests/package/test_python_service_identity.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2ServiceIdentity(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_SERVICE_IDENTITY=y + """ + sample_scripts = ["tests/package/sample_python_service_identity.py"] + timeout = 30 + + +class TestPythonPy3ServiceIdentity(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_SERVICE_IDENTITY=y + """ + sample_scripts = ["tests/package/sample_python_service_identity.py"] + timeout = 30 diff --git a/support/testing/tests/package/test_python_subprocess32.py b/support/testing/tests/package/test_python_subprocess32.py new file mode 100644 index 0000000000..d2878046d1 --- /dev/null +++ b/support/testing/tests/package/test_python_subprocess32.py @@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Subprocess32(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_SUBPROCESS32=y + """ + sample_scripts = ["tests/package/sample_python_subprocess32.py"] diff --git a/support/testing/tests/package/test_python_treq.py b/support/testing/tests/package/test_python_treq.py new file mode 100644 index 0000000000..7108b95696 --- /dev/null +++ b/support/testing/tests/package/test_python_treq.py @@ -0,0 +1,29 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonTreq(TestPythonPackageBase): + sample_scripts = ["tests/package/sample_python_treq.py"] + + def run_sample_scripts(self): + cmd = self.interpreter + " sample_python_treq.py" + output, exit_code = self.emulator.run(cmd, timeout=20) + self.assertIn("Connection refused", output[0]) + self.assertEqual(exit_code, 0) + + +class TestPythonPy2Treq(TestPythonTreq): + __test__ = True + config = TestPythonTreq.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TREQ=y + """ + + +class TestPythonPy3Treq(TestPythonTreq): + __test__ = True + config = TestPythonTreq.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TREQ=y + """ diff --git a/support/testing/tests/package/test_python_twisted.py b/support/testing/tests/package/test_python_twisted.py new file mode 100644 index 0000000000..a458ee45dd --- /dev/null +++ b/support/testing/tests/package/test_python_twisted.py @@ -0,0 +1,39 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonTwisted(TestPythonPackageBase): + config = TestPythonPackageBase.config + sample_scripts = ["tests/package/sample_python_twisted.py"] + + def run_sample_scripts(self): + cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 1) + + cmd = self.interpreter + " sample_python_twisted.py &" + # give some time to setup the server + cmd += "sleep 30" + _, exit_code = self.emulator.run(cmd, timeout=35) + self.assertEqual(exit_code, 0) + + cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + +class TestPythonPy2Twisted(TestPythonTwisted): + __test__ = True + config = TestPythonTwisted.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ + + +class TestPythonPy3Twisted(TestPythonTwisted): + __test__ = True + config = TestPythonTwisted.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ diff --git a/support/testing/tests/package/test_python_txaio.py b/support/testing/tests/package/test_python_txaio.py new file mode 100644 index 0000000000..7bff1bc23c --- /dev/null +++ b/support/testing/tests/package/test_python_txaio.py @@ -0,0 +1,22 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Txaio(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TXAIO=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ + sample_scripts = ["tests/package/sample_python_txaio_twisted.py"] + + +class TestPythonPy3Txaio(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TXAIO=y + """ + sample_scripts = ["tests/package/sample_python_txaio_asyncio.py"] diff --git a/support/testing/tests/package/test_python_txtorcon.py b/support/testing/tests/package/test_python_txtorcon.py new file mode 100644 index 0000000000..1ac2f6919a --- /dev/null +++ b/support/testing/tests/package/test_python_txtorcon.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Txtorcon(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TXTORCON=y + """ + sample_scripts = ["tests/package/sample_python_txtorcon.py"] + timeout = 30 + + +class TestPythonPy3Txtorcon(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TXTORCON=y + """ + sample_scripts = ["tests/package/sample_python_txtorcon.py"] + timeout = 30 diff --git a/support/testing/tests/package/test_python_ubjson.py b/support/testing/tests/package/test_python_ubjson.py new file mode 100644 index 0000000000..85c707e292 --- /dev/null +++ b/support/testing/tests/package/test_python_ubjson.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Ubjson(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_UBJSON=y + """ + sample_scripts = ["tests/package/sample_python_ubjson_enc.py", + "tests/package/sample_python_ubjson_dec.py"] + + +class TestPythonPy3Ubjson(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_UBJSON=y + """ + sample_scripts = ["tests/package/sample_python_ubjson_enc.py", + "tests/package/sample_python_ubjson_dec.py"] diff --git a/support/testing/tests/package/test_rust.py b/support/testing/tests/package/test_rust.py index 2dc814f99d..9854c3692e 100644 --- a/support/testing/tests/package/test_rust.py +++ b/support/testing/tests/package/test_rust.py @@ -57,25 +57,25 @@ class TestRustBase(infra.basetest.BRTest): class TestRustBin(TestRustBase): config = \ - """ - BR2_arm=y - BR2_cortex_a9=y - BR2_ARM_ENABLE_NEON=y - BR2_ARM_ENABLE_VFP=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - BR2_SYSTEM_DHCP="eth0" - BR2_LINUX_KERNEL=y - BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" - BR2_LINUX_KERNEL_DEFCONFIG="vexpress" - BR2_LINUX_KERNEL_DTS_SUPPORT=y - BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" - BR2_TARGET_ROOTFS_CPIO=y - # BR2_TARGET_ROOTFS_TAR is not set - BR2_PACKAGE_HOST_CARGO=y - BR2_PACKAGE_HOST_RUSTC=y - """ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_NEON=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_SYSTEM_DHCP="eth0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_HOST_CARGO=y + BR2_PACKAGE_HOST_RUSTC=y + """ def test_run(self): self.build_test_prog() @@ -86,26 +86,26 @@ class TestRustBin(TestRustBase): class TestRust(TestRustBase): config = \ - """ - BR2_arm=y - BR2_cortex_a9=y - BR2_ARM_ENABLE_NEON=y - BR2_ARM_ENABLE_VFP=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - BR2_SYSTEM_DHCP="eth0" - BR2_LINUX_KERNEL=y - BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" - BR2_LINUX_KERNEL_DEFCONFIG="vexpress" - BR2_LINUX_KERNEL_DTS_SUPPORT=y - BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" - BR2_TARGET_ROOTFS_CPIO=y - # BR2_TARGET_ROOTFS_TAR is not set - BR2_PACKAGE_HOST_CARGO=y - BR2_PACKAGE_HOST_RUSTC=y - BR2_PACKAGE_HOST_RUST=y - """ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_NEON=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_SYSTEM_DHCP="eth0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_HOST_CARGO=y + BR2_PACKAGE_HOST_RUSTC=y + BR2_PACKAGE_HOST_RUST=y + """ def test_run(self): self.build_test_prog() diff --git a/system/Config.in b/system/Config.in index f63f27b126..498b56e222 100644 --- a/system/Config.in +++ b/system/Config.in @@ -31,10 +31,6 @@ config BR2_ROOTFS_SKELETON_CUSTOM_PATH help Path to custom target skeleton. -# dummy config so merged /usr workarounds can also be activated for -# custom rootfs skeleton -config BR2_ROOTFS_MERGED_USR - endif if BR2_ROOTFS_SKELETON_DEFAULT @@ -61,40 +57,22 @@ endif choice bool "Passwords encoding" - default BR2_TARGET_GENERIC_PASSWD_MD5 + default BR2_TARGET_GENERIC_PASSWD_SHA256 help Choose the password encoding scheme to use when Buildroot needs to encode a password (eg. the root password, below). Note: this is used at build-time, and *not* at runtime. -config BR2_TARGET_GENERIC_PASSWD_MD5 - bool "md5" - help - Use MD5 to encode passwords. - - The default. Wildly available, and pretty good. - Although pretty strong, MD5 is now an old hash function, and - suffers from some weaknesses, which makes it susceptible to - brute-force attacks. - config BR2_TARGET_GENERIC_PASSWD_SHA256 bool "sha-256" help - Use SHA256 to encode passwords. - - Very strong, but not ubiquitous, although available in glibc - for some time now. Choose only if you are sure your C library - understands SHA256 passwords. + Use SHA256 to encode passwords which is stronger than MD5. config BR2_TARGET_GENERIC_PASSWD_SHA512 bool "sha-512" help - Use SHA512 to encode passwords. - - Extremely strong, but not ubiquitous, although available in - glibc for some time now. Choose only if you are sure your C - library understands SHA512 passwords. + Use SHA512 to encode passwords which is stronger than SHA256 endchoice # Passwd encoding @@ -127,9 +105,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,14 +113,11 @@ config BR2_INIT_SYSTEMD select BR2_ROOTFS_MERGED_USR select BR2_PACKAGE_SYSTEMD -comment "systemd needs a glibc or uClibc toolchain w/ wchar, threads, SSP, dynamic library, headers >= 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_USES_UCLIBC) || \ - !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_HAS_THREADS || \ + depends on !BR2_TOOLCHAIN_USES_GLIBC || \ !BR2_TOOLCHAIN_HAS_SSP || \ - BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 config BR2_INIT_NONE @@ -215,8 +188,6 @@ config BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES help Support extended attributes handling in device tables -if BR2_ROOTFS_SKELETON_DEFAULT - config BR2_ROOTFS_MERGED_USR bool "Use symlinks to /usr for /bin, /sbin and /lib" help @@ -229,6 +200,8 @@ config BR2_ROOTFS_MERGED_USR symlinks to their counterparts in /usr. In this case, /usr can not be a separate filesystem. +if BR2_ROOTFS_SKELETON_DEFAULT + config BR2_TARGET_ENABLE_ROOT_LOGIN bool "Enable root login with password" default y @@ -409,6 +382,16 @@ comment "automatic network configuration via DHCP needs ifupdown or busybox or n endif # BR2_ROOTFS_SKELETON_DEFAULT +config BR2_SYSTEM_DEFAULT_PATH + string "Set the system's default PATH" + default "/bin:/sbin:/usr/bin:/usr/sbin" + help + Sets the system's default PATH. It is being used in + /etc/profile in the skeleton-init-common package and by some + daemons. + + The default should work in most cases. + config BR2_ENABLE_LOCALE_PURGE bool "Purge unwanted locales" default y diff --git a/system/skeleton/etc/profile b/system/skeleton/etc/profile index 1255d23ff4..db29e44920 100644 --- a/system/skeleton/etc/profile +++ b/system/skeleton/etc/profile @@ -1,4 +1,4 @@ -export PATH=/bin:/sbin:/usr/bin:/usr/sbin +export PATH=@PATH@ if [ "$PS1" ]; then if [ "`id -u`" -eq 0 ]; then diff --git a/system/system.mk b/system/system.mk index ca6bf1388f..8db87cb129 100644 --- a/system/system.mk +++ b/system/system.mk @@ -86,3 +86,7 @@ define SYSTEM_REMOUNT_ROOT_INITTAB $(SED) '/^[^#].*-o remount,rw \/$$/s~^~#~' $(TARGET_DIR)/etc/inittab endef endif + +ifeq ($(BR_BUILDING)$(BR2_SYSTEM_DEFAULT_PATH),y"") +$(error BR2_SYSTEM_DEFAULT_PATH can't be empty) +endif diff --git a/toolchain/Config.in b/toolchain/Config.in index c2192a52b1..bcbc3cf984 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -15,10 +15,16 @@ config BR2_TOOLCHAIN_USES_GLIBC select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_HAS_UCONTEXT select BR2_TOOLCHAIN_SUPPORTS_PIE config BR2_TOOLCHAIN_USES_UCLIBC bool + # ucontext is only available for a subset of the supported + # architectures + select BR2_TOOLCHAIN_HAS_UCONTEXT if BR2_ARM_CPU_HAS_ARM || BR2_i386 \ + || BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el \ + || BR2_sparc || BR2_x86_64 select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_m68k && !BR2_microblaze && !BR2_STATIC_LIBS config BR2_TOOLCHAIN_USES_MUSL @@ -28,6 +34,7 @@ config BR2_TOOLCHAIN_USES_MUSL select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_HAS_UCONTEXT select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_STATIC_LIBS choice @@ -69,6 +76,11 @@ comment "Toolchain Generic Options" config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19615 bool +# https://sourceware.org/bugzilla/show_bug.cgi?id=20006 +# Affect toolchains built with binutils 2.26 (fixed in binutils 2.26.1). +config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_20006 + bool + # Atomic types can be: # - never lock-free # - sometimes lock-free @@ -88,6 +100,19 @@ config BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS depends on !BR2_sparc_v8 depends on !BR2_m68k_cf5208 +# GCC uses thunk functions to adjust the 'this' pointer when calling +# C++ member functions in classes derived with multiple inheritance. +# Generation of thunk functions requires support from the compiler +# back end. In the absence of that support target-independent code +# in the C++ front end is used to generate thunk functions, but it +# does not support vararg functions. +# or1k will support it in the gcc mainline starting with gcc-9. +config BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK + bool + default y + depends on !BR2_or1k + depends on !BR2_xtensa + # Prior to gcc 7.x, exception_ptr, nested_exception and future from # libstdc++ would only be provided on architectures that support # always lock-free atomic ints. See @@ -140,6 +165,9 @@ config BR2_TOOLCHAIN_HAS_THREADS_NPTL config BR2_TOOLCHAIN_HAS_SSP bool +config BR2_TOOLCHAIN_HAS_UCONTEXT + bool + config BR2_TOOLCHAIN_SUPPORTS_PIE bool @@ -361,10 +389,20 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 bool select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17 +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 + # This order guarantees that the highest version is set, as kconfig # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_HEADERS_AT_LEAST string + default "4.20" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + default "4.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 default "4.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 default "4.17" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17 default "4.16" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16 diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 75e8191f46..beb17a218b 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/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/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 273910699f..1f14f0350a 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -11,17 +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" @@ -110,16 +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/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk index 02d992531d..db3570d96f 100644 --- a/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/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 diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in new file mode 100644 index 0000000000..d992be0190 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in @@ -0,0 +1,19 @@ +config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE + bool "Arm AArch64 BE 2018.11" + depends on BR2_aarch64_be + depends on BR2_HOSTARCH = "x86_64" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Arm toolchain for the AArch64 Big Endian architecture. + + This is the same toolchain that was previously distributed by + Linaro. + + https://developer.arm.com/open-source/gnu-toolchain diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options new file mode 100644 index 0000000000..add4adad2a --- /dev/null +++ b/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/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash new file mode 100644 index 0000000000..580e10dd79 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash @@ -0,0 +1,4 @@ +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-2018.11/gcc-arm-8.2-2018.11-x86_64-aarch64_be-linux-gnu.tar.xz.asc +md5 ab9a31ebe529b0a0cae78e610a9ffa0b gcc-arm-8.2-2018.11-x86_64-aarch64_be-linux-gnu.tar.xz +# locally calculated +sha256 36df73194804ac52053edf469c7ace73fb4b243a8306dadfb7b95c4f485abde4 gcc-arm-8.2-2018.11-x86_64-aarch64_be-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk new file mode 100644 index 0000000000..a41d9cadf2 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# toolchain-external-arm-aarch64-be +# +################################################################################ + +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION = 2018.11 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION) + +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SOURCE = gcc-arm-8.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)-x86_64-aarch64_be-linux-gnu.tar.xz + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in new file mode 100644 index 0000000000..fbb5e025e8 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -0,0 +1,19 @@ +config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 + bool "Arm AArch64 2018.11" + depends on BR2_aarch64 + depends on BR2_HOSTARCH = "x86_64" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Arm toolchain for the AArch64 architecture. + + This is the same toolchain that was previously distributed by + Linaro. + + https://developer.arm.com/open-source/gnu-toolchain diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options new file mode 100644 index 0000000000..19b75805c9 --- /dev/null +++ b/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/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash new file mode 100644 index 0000000000..cda90f7517 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash @@ -0,0 +1,4 @@ +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-2018.11/gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz.asc +md5 319ca548ff05b0ec1008988a7e5ab619 gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz +# locally calculated +sha256 0142366da2f30feb1c366997cbdaa02286c8f1aa527c0fc177ee5ce8e77970fc gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk new file mode 100644 index 0000000000..0398bd1297 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# toolchain-external-arm-aarch64 +# +################################################################################ + +TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 2018.11 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION) + +TOOLCHAIN_EXTERNAL_ARM_AARCH64_SOURCE = gcc-arm-8.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)-x86_64-aarch64-linux-gnu.tar.xz + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in new file mode 100644 index 0000000000..0449737889 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -0,0 +1,30 @@ +comment "Arm toolchains available for Cortex-A + EABIhf" + depends on BR2_arm + depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + +config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM + bool "Arm ARM 2018.11" + depends on BR2_arm + depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A + depends on BR2_HOSTARCH = "x86_64" + depends on BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Arm toolchain for the ARM architecture. It uses GCC 8.2.1, + GDB 8.1.1, glibc 2.28, Binutils 2.30. It generates code that + runs on all Cortex-A profile devices, but tuned for the + Cortex-A9. The code generated uses the hard floating point + calling convention, and uses the VFPv3-D16 FPU instructions. + + This is the same toolchain that was previously distributed by + Linaro. + + https://developer.arm.com/open-source/gnu-toolchain diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options new file mode 100644 index 0000000000..16e7d6ff3c --- /dev/null +++ b/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/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash new file mode 100644 index 0000000000..cd7f526547 --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash @@ -0,0 +1,4 @@ +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-2018.11/gcc-arm-8.2-2018.11-x86_64-arm-linux-gnueabihf.tar.xz.asc +md5 59ccf965837ed1c5ba59e5ad4b688b21 gcc-arm-8.2-2018.11-x86_64-arm-linux-gnueabihf.tar.xz +# locally calculated +sha256 3f9bc7a68f744a5edc7caebff5f3f2c3bc1ff9d8ac8b05f7680a0071461deede gcc-arm-8.2-2018.11-x86_64-arm-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk new file mode 100644 index 0000000000..0c21affd7b --- /dev/null +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# toolchain-external-arm-arm +# +################################################################################ + +TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION = 2018.11 +TOOLCHAIN_EXTERNAL_ARM_ARM_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION) + +TOOLCHAIN_EXTERNAL_ARM_ARM_SOURCE = gcc-arm-8.2-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)-x86_64-arm-linux-gnueabihf.tar.xz + +$(eval $(toolchain-external-package)) diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in index 2bfa567672..be6e56a2cb 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in @@ -1,19 +1,19 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS - bool "Codescape IMG GNU Linux Toolchain 2016.05" + bool "Codescape IMG GNU Linux Toolchain 2018.09" depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT) select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_6 select BR2_TOOLCHAIN_HAS_FORTRAN help - Codescape IMG GNU Linux Toolchain 2016.05 for the MIPS - architecture, from Imagination Technologies. It uses gcc - 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel - headers 4.7. It has support for the following variants: + Codescape IMG GNU Linux Toolchain 2018.09 for the MIPS + architecture, from MIPS Tech LLC. It uses gcc 6.3.0, + binutils 2.28.51, glibc 2.20, gdb 7.9.1 and kernel headers + 4.7. It has support for the following variants: - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI Select 'MIPS (big endian)' Target Architecture Select 'mips 32r6' Target Architecture Variant diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash index 6a12cfa078..b540164a29 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash @@ -1,4 +1,4 @@ -# Codescape toolchains from Imagination Technologies -# From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-06/downloads.html -sha256 8d9cdf711dd402d7bf82883d425c221038fe8ce9d0c91a3f6b30939d9d55476c Codescape.GNU.Tools.Package.2016.05-06.for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz -sha256 6e2784d6df962fe4db7510c8a62ce3947b73f54207b10e18b52da59d1bc487bd Codescape.GNU.Tools.Package.2016.05-06.for.MIPS.IMG.Linux.CentOS-5.x86_64.tar.gz +# Codescape toolchains from MIPS Tech LLC +# From: https://codescape.mips.com/components/toolchain/nanomips/2018.09-02/downloads.html +sha256 ac035f3b6a8767522977963d8e1490520d58bccca7956f4503a1eefff6492b71 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.IMG.Linux.CentOS-6.x86.tar.gz +sha256 09280f4fcbb993607905bf9a43bf5f3db2beed85726f0675b8453e19a9ddc429 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.IMG.Linux.CentOS-6.x86_64.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk index 49a7027dfb..55424918c7 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk +++ b/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk @@ -4,14 +4,14 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION = 2016.05-06 -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SITE = http://codescape-mips-sdk.imgtec.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION) +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION = 2018.09-02 +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SITE = https://codescape.mips.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION) TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STRIP_COMPONENTS = 2 ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-6.x86.tar.gz else -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-5.x86_64.tar.gz +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-6.x86_64.tar.gz endif # Special fixup for Codescape MIPS toolchains, that have bin- and diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in index 5d466a58f4..15d6284766 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in @@ -1,20 +1,20 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS - bool "Codescape MTI GNU Linux Toolchain 2016.05" + bool "Codescape MTI GNU Linux Toolchain 2018.09" depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \ BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT) select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_6 select BR2_TOOLCHAIN_HAS_FORTRAN help - Codescape MTI GNU Linux Toolchain 2016.05 for the MIPS - architecture, from Imagination Technologies. It uses gcc - 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel - headers 4.7. It has support for the following variants: + Codescape MTI GNU Linux Toolchain 2018.09 for the MIPS + architecture, from MIPS Tech LLC. It uses gcc 6.3.0, + binutils 2.28.51, glibc 2.20, gdb 7.9.1 and kernel headers + 4.7. It has support for the following variants: - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI Select 'MIPS (big endian)' Target Architecture Select 'mips 32r2' Target Architecture Variant diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash index d31f99803b..8e70af501f 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash @@ -1,4 +1,4 @@ -# Codescape toolchains from Imagination Technologies -# From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-06/downloads.html -sha256 3a7aba259beb05f0e3054b5a61a368a5085447f47361949a938ac9cc7de4227b Codescape.GNU.Tools.Package.2016.05-06.for.MIPS.MTI.Linux.CentOS-5.x86.tar.gz -sha256 a676a8b3647c8c651fb8935a75db8f00b79d36ec55676f7c05bac12b550788f7 Codescape.GNU.Tools.Package.2016.05-06.for.MIPS.MTI.Linux.CentOS-5.x86_64.tar.gz +# Codescape toolchains from MIPS Tech LLC +# From: https://codescape.mips.com/components/toolchain/nanomips/2018.09-02/downloads.html +sha256 c883a404fd7ea5718e2249a530802e223381f2be52265f88e9b1ce7035c232f3 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.MTI.Linux.CentOS-6.x86.tar.gz +sha256 d6310a970b0a8a19ad8e0a2b3ead8c38ee90d0e284a9b2511200ce447f460d2c Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.MTI.Linux.CentOS-6.x86_64.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk index d63a367578..9bee1ab87d 100644 --- a/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk +++ b/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk @@ -4,14 +4,14 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION = 2016.05-06 -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SITE = http://codescape-mips-sdk.imgtec.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION) +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION = 2018.09-02 +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SITE = https://codescape.mips.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION) TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STRIP_COMPONENTS = 2 ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-5.x86.tar.gz +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-6.x86.tar.gz else -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-5.x86_64.tar.gz +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-6.x86_64.tar.gz endif # Special fixup for Codescape MIPS toolchains, that have bin- and diff --git a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in b/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in index 50c5a20019..9187333b95 100644 --- a/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in +++ b/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/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index 4639232bfb..08a79ee4d9 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -123,6 +123,14 @@ choice m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20 + bool "4.20.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19 + bool "4.19.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 + config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_18 bool "4.18.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 @@ -405,6 +413,14 @@ config BR2_TOOLCHAIN_EXTERNAL_CXX support. If you don't know, leave the default value, Buildroot will tell you if it's correct or not. +config BR2_TOOLCHAIN_EXTERNAL_FORTRAN + bool "Toolchain has Fortran support?" + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Select this option if your external toolchain has Fortran + support. If you don't know, leave the default value, + Buildroot will tell you if it's correct or not. + config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS string "Extra toolchain libraries to be copied to target" help diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in index 423e4c7db3..5cb0ce2a3e 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in @@ -1,7 +1,7 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC - bool "Synopsys ARC 2018.03 toolchain" + bool "Synopsys ARC 2018.09 toolchain" depends on BR2_arc - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 depends on BR2_HOSTARCH = "x86_64" select BR2_TOOLCHAIN_EXTERNAL_UCLIBC select BR2_INSTALL_LIBSTDCPP @@ -12,7 +12,7 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 - select BR2_TOOLCHAIN_GCC_AT_LEAST_7 + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 help Toolchain for the ARC cores, from https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash index df95897e41..20eac19caa 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash +++ b/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-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 +# From https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2018.09-release +sha256 324b422eec3b9b36ea64c9e13167a4467fc13ab230eff34f2fa785039b460c16 arc_gnu_2018.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz +sha256 b0299ad9be0c300237789e5bf8e45d72bf040aab00c3718fbdb4160b75d2ed8f arc_gnu_2018.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz +sha256 d1a4c039416b3da4d94ea066f861cc96ec60afec9c2bab1b2e937555b5e05238 arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install.tar.gz +sha256 a519ed3686dc8e3c5f86646988d38647aa039f4af3204d9b7e84efa26cd37221 arc_gnu_2018.09_prebuilt_uclibc_be_archs_linux_install.tar.gz diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk index c60f296a89..e3ff17ff7b 100644 --- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk +++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2018.03 +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2018.09 TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SITE = https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION)-release ifeq ($(BR2_arc750d)$(BR2_arc770d),y) diff --git a/toolchain/toolchain-wrapper.c b/toolchain/toolchain-wrapper.c index c5eb813dd0..e9c5cd9d32 100644 --- a/toolchain/toolchain-wrapper.c +++ b/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/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk index b8074efc3c..613f5f6c56 100644 --- a/toolchain/toolchain-wrapper.mk +++ b/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/toolchain/toolchain.mk b/toolchain/toolchain.mk index e7451e2643..08d1649603 100644 --- a/toolchain/toolchain.mk +++ b/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/toolchain/toolchain/toolchain.mk b/toolchain/toolchain/toolchain.mk index 91c9ca2eff..17fb62147e 100644 --- a/toolchain/toolchain/toolchain.mk +++ b/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/utils/check-package b/utils/check-package index 3dbc28b0a2..ce1fe98d67 100755 --- a/utils/check-package +++ b/utils/check-package @@ -6,6 +6,7 @@ import argparse import inspect import os import re +import six import sys import checkpackagelib.lib_config @@ -127,10 +128,19 @@ def check_file_using_lib(fname): for cf in objects: nwarnings += print_warnings(cf.before()) - for lineno, text in enumerate(open(fname, "r").readlines()): + if six.PY3: + f = open(fname, "r", errors="surrogateescape") + else: + f = open(fname, "r") + lastline = "" + for lineno, text in enumerate(f.readlines()): nlines += 1 for cf in objects: + if cf.disable.search(lastline): + continue nwarnings += print_warnings(cf.check_line(lineno + 1, text)) + lastline = text + f.close() for cf in objects: nwarnings += print_warnings(cf.after()) diff --git a/utils/checkpackagelib/base.py b/utils/checkpackagelib/base.py index fc09bec9a2..9544a64e5a 100644 --- a/utils/checkpackagelib/base.py +++ b/utils/checkpackagelib/base.py @@ -1,10 +1,12 @@ # See utils/checkpackagelib/readme.txt before editing this file. +import re class _CheckFunction(object): def __init__(self, filename, url_to_manual): self.filename = filename self.url_to_manual = url_to_manual + self.disable = re.compile(r"^\s*# check-package .*\b{}\b".format(self.__class__.__name__)) def before(self): pass diff --git a/utils/checkpackagelib/lib.py b/utils/checkpackagelib/lib.py index 91f4ad49b7..6afe1aabce 100644 --- a/utils/checkpackagelib/lib.py +++ b/utils/checkpackagelib/lib.py @@ -1,6 +1,6 @@ # See utils/checkpackagelib/readme.txt before editing this file. -from base import _CheckFunction +from checkpackagelib.base import _CheckFunction class ConsecutiveEmptyLines(_CheckFunction): diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py index 1d273f1c5f..89d44da57e 100644 --- a/utils/checkpackagelib/lib_config.py +++ b/utils/checkpackagelib/lib_config.py @@ -5,11 +5,11 @@ import re -from base import _CheckFunction -from lib import ConsecutiveEmptyLines # noqa: F401 -from lib import EmptyLastLine # noqa: F401 -from lib import NewlineAtEof # noqa: F401 -from lib import TrailingSpace # noqa: F401 +from checkpackagelib.base import _CheckFunction +from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401 +from checkpackagelib.lib import EmptyLastLine # noqa: F401 +from checkpackagelib.lib import NewlineAtEof # noqa: F401 +from checkpackagelib.lib import TrailingSpace # noqa: F401 def _empty_or_comment(text): diff --git a/utils/checkpackagelib/lib_hash.py b/utils/checkpackagelib/lib_hash.py index 6d4cc9fd62..3e381119a5 100644 --- a/utils/checkpackagelib/lib_hash.py +++ b/utils/checkpackagelib/lib_hash.py @@ -5,11 +5,11 @@ import re -from base import _CheckFunction -from lib import ConsecutiveEmptyLines # noqa: F401 -from lib import EmptyLastLine # noqa: F401 -from lib import NewlineAtEof # noqa: F401 -from lib import TrailingSpace # noqa: F401 +from checkpackagelib.base import _CheckFunction +from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401 +from checkpackagelib.lib import EmptyLastLine # noqa: F401 +from checkpackagelib.lib import NewlineAtEof # noqa: F401 +from checkpackagelib.lib import TrailingSpace # noqa: F401 def _empty_line_or_comment(text): diff --git a/utils/checkpackagelib/lib_mk.py b/utils/checkpackagelib/lib_mk.py index 86e9aa2d97..00efeb7fb2 100644 --- a/utils/checkpackagelib/lib_mk.py +++ b/utils/checkpackagelib/lib_mk.py @@ -6,16 +6,20 @@ import re -from base import _CheckFunction -from lib import ConsecutiveEmptyLines # noqa: F401 -from lib import EmptyLastLine # noqa: F401 -from lib import NewlineAtEof # noqa: F401 -from lib import TrailingSpace # noqa: F401 +from checkpackagelib.base import _CheckFunction +from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401 +from checkpackagelib.lib import EmptyLastLine # noqa: F401 +from checkpackagelib.lib import NewlineAtEof # noqa: F401 +from checkpackagelib.lib import TrailingSpace # noqa: F401 + +# used in more than one check +start_conditional = ["ifdef", "ifeq", "ifndef", "ifneq"] +end_conditional = ["endif"] class Indent(_CheckFunction): COMMENT = re.compile("^\s*#") - CONDITIONAL = re.compile("^\s*(ifeq|ifneq|endif)\s") + CONDITIONAL = re.compile("^\s*({})\s".format("|".join(start_conditional + end_conditional))) ENDS_WITH_BACKSLASH = re.compile(r"^[^#].*\\$") END_DEFINE = re.compile("^\s*endef\s") MAKEFILE_TARGET = re.compile("^[^# \t]+:\s") @@ -69,6 +73,66 @@ class Indent(_CheckFunction): text] +class OverriddenVariable(_CheckFunction): + CONCATENATING = re.compile("^([A-Z0-9_]+)\s*(\+|:|)=\s*\$\(\\1\)") + END_CONDITIONAL = re.compile("^\s*({})".format("|".join(end_conditional))) + OVERRIDING_ASSIGNMENTS = [':=', "="] + START_CONDITIONAL = re.compile("^\s*({})".format("|".join(start_conditional))) + VARIABLE = re.compile("^([A-Z0-9_]+)\s*((\+|:|)=)") + USUALLY_OVERRIDDEN = re.compile("^[A-Z0-9_]+({})".format("|".join([ + "_ARCH\s*=\s*", + "_CPU\s*=\s*", + "_SITE\s*=\s*", + "_SOURCE\s*=\s*", + "_VERSION\s*=\s*"]))) + + def before(self): + self.conditional = 0 + self.unconditionally_set = [] + self.conditionally_set = [] + + def check_line(self, lineno, text): + if self.START_CONDITIONAL.search(text): + self.conditional += 1 + return + if self.END_CONDITIONAL.search(text): + self.conditional -= 1 + return + + m = self.VARIABLE.search(text) + if m is None: + return + variable, assignment = m.group(1, 2) + + if self.conditional == 0: + if variable in self.conditionally_set: + self.unconditionally_set.append(variable) + if assignment in self.OVERRIDING_ASSIGNMENTS: + return ["{}:{}: unconditional override of variable {} previously conditionally set" + .format(self.filename, lineno, variable), + text] + + if variable not in self.unconditionally_set: + self.unconditionally_set.append(variable) + return + if assignment in self.OVERRIDING_ASSIGNMENTS: + return ["{}:{}: unconditional override of variable {}" + .format(self.filename, lineno, variable), + text] + else: + if variable not in self.unconditionally_set: + self.conditionally_set.append(variable) + return + if self.CONCATENATING.search(text): + return + if self.USUALLY_OVERRIDDEN.search(text): + return + if assignment in self.OVERRIDING_ASSIGNMENTS: + return ["{}:{}: conditional override of variable {}" + .format(self.filename, lineno, variable), + text] + + class PackageHeader(_CheckFunction): def before(self): self.skip = False @@ -222,8 +286,8 @@ class UselessFlag(_CheckFunction): "_INSTALL_REDISTRIBUTE\s*=\s*YES", "_INSTALL_STAGING\s*=\s*NO", "_INSTALL_TARGET\s*=\s*YES"]))) - END_CONDITIONAL = re.compile("^\s*(endif)") - START_CONDITIONAL = re.compile("^\s*(ifeq|ifneq)") + END_CONDITIONAL = re.compile("^\s*({})".format("|".join(end_conditional))) + START_CONDITIONAL = re.compile("^\s*({})".format("|".join(start_conditional))) def before(self): self.conditional = 0 @@ -251,3 +315,13 @@ class UselessFlag(_CheckFunction): "({}#_infrastructure_for_autotools_based_packages)" .format(self.filename, lineno, self.url_to_manual), text] + + +class VariableWithBraces(_CheckFunction): + VARIABLE_WITH_BRACES = re.compile(r"^[^#].*[^$]\${\w+}") + + def check_line(self, lineno, text): + if self.VARIABLE_WITH_BRACES.match(text.rstrip()): + return ["{}:{}: use $() to delimit variables, not ${{}}" + .format(self.filename, lineno), + text] diff --git a/utils/checkpackagelib/lib_patch.py b/utils/checkpackagelib/lib_patch.py index 555621afa1..453b782e6c 100644 --- a/utils/checkpackagelib/lib_patch.py +++ b/utils/checkpackagelib/lib_patch.py @@ -5,8 +5,8 @@ import re -from base import _CheckFunction -from lib import NewlineAtEof # noqa: F401 +from checkpackagelib.base import _CheckFunction +from checkpackagelib.lib import NewlineAtEof # noqa: F401 class ApplyOrder(_CheckFunction): diff --git a/utils/genrandconfig b/utils/genrandconfig index 27f84ea555..a2190d6d25 100755 --- a/utils/genrandconfig +++ b/utils/genrandconfig @@ -310,17 +310,9 @@ def fixup_config(configfile): 'BR2_PACKAGE_QT5BASE_GUI=y\n' in configlines: return False # The cs nios2 2017.02 toolchain is affected by binutils PR19405 - if 'BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII=y\n' in configlines and \ - 'BR2_PACKAGE_QT_GUI_MODULE=y\n' in configlines: - return False - # The cs nios2 2017.02 toolchain is affected by binutils PR19405 if 'BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII=y\n' in configlines and \ 'BR2_PACKAGE_FLANN=y\n' in configlines: return False - # or1k affected by binutils PR21464 - if 'BR2_or1k=y\n' in configlines and \ - 'BR2_PACKAGE_QT_GUI_MODULE=y\n' in configlines: - return False with open(configfile, "w+") as configf: configf.writelines(configlines) @@ -351,7 +343,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: @@ -366,6 +358,8 @@ def gen_config(args): configlines.append("BR2_STATIC_LIBS=y\n") if randint(0, 20) == 0: configlines.append("BR2_PACKAGE_PYTHON_PY_ONLY=y\n") + if randint(0, 5) == 0: + configlines.append("BR2_OPTIMIZE_2=y\n") # Write out the configuration file if not os.path.exists(args.outputdir): diff --git a/utils/get-developers b/utils/get-developers index c887938859..750fc556dc 100755 --- a/utils/get-developers +++ b/utils/get-developers @@ -24,11 +24,6 @@ def parse_args(): def __main__(): - # DEVELOPERS is one level up from here - devs_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..') - devs = getdeveloperlib.parse_developers(devs_dir) - if devs is None: - sys.exit(1) args = parse_args() # Check that only one action is given @@ -50,9 +45,17 @@ def __main__(): print("No action specified") return + # getdeveloperlib expects to be executed from the toplevel buildroot + # directory, which is one level up from this script + os.chdir(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')) + + devs = getdeveloperlib.parse_developers() + if devs is None: + sys.exit(1) + # Handle the check action if args.check: - files = getdeveloperlib.check_developers(devs, devs_dir) + files = getdeveloperlib.check_developers(devs) for f in files: print(f) diff --git a/utils/getdeveloperlib.py b/utils/getdeveloperlib.py index 84665520c6..35c618f791 100644 --- a/utils/getdeveloperlib.py +++ b/utils/getdeveloperlib.py @@ -1,7 +1,9 @@ +from __future__ import print_function import os import re import glob import subprocess +import sys # # Patch parsing functions @@ -158,8 +160,6 @@ def parse_developers(basepath=None): linen = 0 if basepath is None: basepath = os.getcwd() - else: - basepath = os.path.abspath(basepath) with open(os.path.join(basepath, "DEVELOPERS"), "r") as f: files = [] name = None @@ -169,13 +169,15 @@ def parse_developers(basepath=None): continue elif line.startswith("N:"): if name is not None or len(files) != 0: - print("Syntax error in DEVELOPERS file, line %d" % linen) + print("Syntax error in DEVELOPERS file, line %d" % linen, + file=sys.stderr) name = line[2:].strip() elif line.startswith("F:"): fname = line[2:].strip() dev_files = glob.glob(os.path.join(basepath, fname)) if len(dev_files) == 0: - print("WARNING: '%s' doesn't match any file" % fname) + print("WARNING: '%s' doesn't match any file" % fname, + file=sys.stderr) files += dev_files elif line == "": if not name: @@ -184,7 +186,8 @@ def parse_developers(basepath=None): files = [] name = None else: - print("Syntax error in DEVELOPERS file, line %d: '%s'" % (linen, line)) + print("Syntax error in DEVELOPERS file, line %d: '%s'" % (linen, line), + file=sys.stderr) return None linen += 1 # handle last developer diff --git a/utils/scancpan b/utils/scancpan index da8e7b91ac..8073ad1978 100755 --- a/utils/scancpan +++ b/utils/scancpan @@ -484,10 +484,12 @@ use HTTP::Tiny; use Safe; use MetaCPAN::API::Tiny; use Digest::SHA qw(sha256_hex); +use Text::Wrap; +$Text::Wrap::columns = 62; -# Below, 5.026 should be aligned with the version of perl actually +# Below, 5.028 should be aligned with the version of perl actually # bundled in Buildroot: -die <<"MSG" if $] < 5.026; +die <<"MSG" if $] < 5.028; This script needs a host perl with the same major version as Buildroot target perl. Your current host perl is: @@ -495,7 +497,7 @@ Your current host perl is: version $] You may install a local one by running: - perlbrew install perl-5.26.0 + perlbrew install perl-5.28.0 MSG my ($help, $man, $quiet, $force, $recommend, $test, $host); @@ -517,14 +519,25 @@ my %dist; # name -> metacpan data my %need_target; # name -> 1 if target package is needed my %need_host; # name -> 1 if host package is needed my %need_dlopen; # name -> 1 if requires dynamic library +my %is_xs; # name -> 1 if XS module my %deps_build; # name -> list of host dependencies my %deps_runtime; # name -> list of target dependencies -my %deps_optional; # name -> list of optional target dependencies my %license_files; # name -> 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) = @_; @@ -557,9 +570,38 @@ sub find_license_files { if (scalar @license_files == 0 && $manifest =~ m/(README)[\n\s]/i) { @license_files = ($1); } + if (scalar @license_files == 0 && $manifest =~ m/(README\.md)[\n\s]/i) { + @license_files = ($1); + } return @license_files; } +sub want_test { + my ($distname) = @_; + return 1 if $need_dlopen{$distname} && scalar @{$deps_runtime{$distname}} > 0; +} + +sub get_dependencies { + my ($distname) = @_; + my %dep = map { $_ => 1 } @{$deps_runtime{$distname}}; + for my $direct (@{$deps_runtime{$distname}}) { + for (get_dependencies( $direct )) { + $dep{$_} = 1; + } + } + return keys %dep; +} + +sub get_indirect_dependencies { + my ($distname) = @_; + my %indirect; + my %direct = map { $_ => 1 } @{$deps_runtime{$distname}}; + for my $dep (get_dependencies( $distname )) { + $indirect{$dep} = 1 unless exists $direct{$dep}; + } + return keys %indirect; +} + sub fetch { my ($name, $need_target, $need_host, $top) = @_; $need_target{$name} = $need_target if $need_target; @@ -573,7 +615,7 @@ sub fetch { 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 ); + $need_dlopen{$name} = $is_xs{$name} = is_xs( $manifest ); foreach my $fname (find_license_files( $manifest )) { my $license = $mcpan->source( author => $author, release => $release, path => $fname ); $license_files{$name}->{$fname} = sha256_hex( $license ); @@ -595,6 +637,7 @@ sub fetch { # we could use the host Module::CoreList data, because host perl and # target perl have the same major version next if ${$dep}{phase} eq q{develop}; + next if ${$dep}{phase} eq q{x_Dist_Zilla}; next if !($test && $top) && ${$dep}{phase} eq q{test}; my $distname = $mcpan->module( $modname )->{distribution}; if (${$dep}{phase} eq q{runtime}) { @@ -607,11 +650,12 @@ sub fetch { } else { # configure, build $build{$distname} = 1; + push @info, qq{[$name] suspicious dependency on $distname} + unless exists $white_list{$distname}; } } $deps_build{$name} = [keys %build]; $deps_runtime{$name} = [keys %runtime]; - $deps_optional{$name} = [keys %optional]; foreach my $distname (@{$deps_build{$name}}) { fetch( $distname, 0, 1 ); } @@ -619,7 +663,7 @@ sub fetch { fetch( $distname, $need_target, $need_host ); $need_dlopen{$name} ||= $need_dlopen{$distname}; } - foreach my $distname (@{$deps_optional{$name}}) { + foreach my $distname (keys %optional) { fetch( $distname, $need_target, $need_host ); } } @@ -646,6 +690,24 @@ sub brname { return uc $name; } +# Buildroot requires license name as in http://spdx.org/licenses/ +sub brlicense { + my $license = shift; + $license =~ s|apache_1_1|Apache-1.1|; + $license =~ s|apache_2_0|Apache-2.0|; + $license =~ s|artistic_2|Artistic-2.0|; + $license =~ s|artistic|Artistic-1.0|; + $license =~ s|lgpl_2_1|LGPL-2.1|; + $license =~ s|lgpl_3_0|LGPL-3.0|; + $license =~ s|gpl_2|GPL-2.0|; + $license =~ s|gpl_3|GPL-3.0|; + $license =~ s|mit|MIT|; + $license =~ s|mozilla_1_1|Mozilla-1.1|; + $license =~ s|openssl|OpenSSL|; + $license =~ s|perl_5|Artistic or GPL-1.0+|; + return $license; +} + while (my ($distname, $dist) = each %dist) { my $fsname = fsname( $distname ); my $dirname = q{package/} . $fsname; @@ -653,9 +715,15 @@ while (my ($distname, $dist) = each %dist) { my $mkname = $dirname . q{/} . $fsname . q{.mk}; my $hashname = $dirname . q{/} . $fsname . q{.hash}; my $brname = brname( $fsname ); - mkdir $dirname unless -d $dirname; + my $testname = q{support/testing/tests/package/test_} . lc $brname . q{.py}; + unless (-d $dirname) { + mkdir $dirname; + $new_pkgs = 1; + } if ($need_target{$distname} && ($force || !-f $cfgname)) { - my $abstract = $dist->{abstract}; + $dist->{abstract} =~ s|\s+$||; + $dist->{abstract} .= q{.} unless $dist->{abstract} =~ m|\.$|; + my $abstract = wrap( q{}, qq{\t }, $dist->{abstract} ); my $homepage = $dist->{resources}->{homepage} || qq{https://metacpan.org/release/${distname}}; say qq{write ${cfgname}} unless $quiet; open my $fh, q{>}, $cfgname; @@ -664,7 +732,7 @@ while (my ($distname, $dist) = each %dist) { say {$fh} qq{\tdepends on !BR2_STATIC_LIBS} if $need_dlopen{$distname}; foreach my $dep (sort @{$deps_runtime{$distname}}) { my $brdep = brname( fsname( $dep ) ); - say {$fh} qq{\tselect BR2_PACKAGE_${brdep}}; + say {$fh} qq{\tselect BR2_PACKAGE_${brdep} # runtime}; } say {$fh} qq{\thelp}; say {$fh} qq{\t ${abstract}\n} if $abstract; @@ -683,20 +751,21 @@ while (my ($distname, $dist) = each %dist) { # the auth part is not used, because we use $(BR2_CPAN_MIRROR) my ($filename, $directories, $suffix) = fileparse( $path, q{tar.gz}, q{tgz} ); $directories =~ s|/$||; - my $dependencies = join q{ }, map( { q{host-} . fsname( $_ ); } sort @{$deps_build{$distname}} ), - map( { fsname( $_ ); } sort @{$deps_runtime{$distname}} ); - my $host_dependencies = join q{ }, map { q{host-} . fsname( $_ ); } sort( @{$deps_build{$distname}}, - @{$deps_runtime{$distname}} ); - my $license = ref $dist->{license} eq 'ARRAY' - ? join q{ or }, @{$dist->{license}} - : $dist->{license}; - # BR requires license name as in http://spdx.org/licenses/ - $license =~ s|apache_2_0|Apache-2.0|; - $license =~ s|artistic_2|Artistic-2.0|; - $license =~ s|mit|MIT|; - $license =~ s|openssl|OpenSSL|; - $license =~ s|perl_5|Artistic or GPL-1.0+|; - my $license_files = join q{ }, keys %{$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{################################################################################}; @@ -710,18 +779,10 @@ while (my ($distname, $dist) = each %dist) { say {$fh} qq{${brname}_SITE = \$(BR2_CPAN_MIRROR)${directories}}; say {$fh} qq{${brname}_DEPENDENCIES = ${dependencies}} if $need_target{$distname} && $dependencies; say {$fh} qq{HOST_${brname}_DEPENDENCIES = ${host_dependencies}} if $need_host{$distname} && $host_dependencies; - say {$fh} qq{${brname}_LICENSE = ${license}} if $license && $license ne q{unknown}; + say {$fh} qq{${brname}_LICENSE = ${license}} if $license; say {$fh} qq{${brname}_LICENSE_FILES = ${license_files}} if $license_files; + say {$fh} qq{${brname}_DISTNAME = ${distname}}; say {$fh} qq{}; - foreach (sort @{$deps_optional{$distname}}) { - next if grep { $_ eq $distname; } @{$deps_runtime{$_}}; # avoid cyclic dependencies - my $opt_brname = brname( $_ ); - my $opt_fsname = fsname( $_ ); - say {$fh} qq{ifeq (\$(BR2_PACKAGE_PERL_${opt_brname}),y)}; - say {$fh} qq{${brname}_DEPENDENCIES += ${opt_fsname}}; - say {$fh} qq{endif}; - say {$fh} qq{}; - } say {$fh} qq{\$(eval \$(perl-package))} if $need_target{$distname}; say {$fh} qq{\$(eval \$(host-perl-package))} if $need_host{$distname}; close $fh; @@ -735,35 +796,82 @@ while (my ($distname, $dist) = each %dist) { say {$fh} qq{# retrieved by scancpan from ${mirror}/}; say {$fh} qq{md5 ${md5} ${filename}}; say {$fh} qq{sha256 ${sha256} ${filename}}; - if (scalar keys %{$license_files{$distname}}) { + my %license_files = %{$license_files{$distname}}; + if (scalar keys %license_files) { say {$fh} q{}; say {$fh} qq{# computed by scancpan}; - while (my ($license, $digest) = each %{$license_files{$distname}}) { + 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 (want_test( $distname ) && ($force || !-f $testname)) { + my $classname = $distname; + $classname =~ s|-||g; + my $modname = $distname; + $modname =~ s|-|::|g; + my $mark = $is_xs{$distname} ? q{ XS} : q{}; + my @indirect = (get_indirect_dependencies( $distname )); + say qq{write ${testname}} unless $quiet; + open my $fh, q{>}, $testname; + say {$fh} qq{from tests.package.test_perl import TestPerlBase}; + say {$fh} qq{}; + say {$fh} qq{}; + say {$fh} qq{class TestPerl${classname}(TestPerlBase):}; + say {$fh} qq{ """}; + say {$fh} qq{ package:}; + say {$fh} qq{ ${distname}${mark}}; + say {$fh} qq{ direct dependencies:}; + foreach my $dep (sort @{$deps_runtime{$distname}}) { + $mark = $is_xs{$dep} ? q{ XS} : q{}; + say {$fh} qq{ ${dep}${mark}}; + } + if (scalar @indirect > 0) { + say {$fh} qq{ indirect dependencies:}; + foreach my $dep (sort @indirect) { + $mark = $is_xs{$dep} ? q{ XS} : q{}; + say {$fh} qq{ ${dep}${mark}}; + } + } + say {$fh} qq{ """}; + say {$fh} qq{}; + say {$fh} qq{ config = TestPerlBase.config + \\}; + say {$fh} qq{ """}; + say {$fh} qq{ BR2_PACKAGE_PERL=y}; + say {$fh} qq{ BR2_PACKAGE_${brname}=y}; + say {$fh} qq{ """}; + say {$fh} qq{}; + say {$fh} qq{ def test_run(self):}; + say {$fh} qq{ self.login()}; + say {$fh} qq{ self.module_test("${modname}")}; + close $fh; } - close $fh; } -foreach my $distname (keys %need_target) { - my $fsname = fsname( $distname ); - $pkg{qq{\tsource "package/${fsname}/Config.in"}} = 1; +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; + } + + 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 qq{${cfgname} must contain the following lines:}; -say join qq{\n}, sort keys %pkg; +say join qq{\n}, @info; __END__ @@ -773,7 +881,7 @@ utils/scancpan Try-Tiny Moo =head1 SYNOPSIS -supports/scripts/scancpan [options] [distname ...] +utils/scancpan [options] [distname ...] Options: -help @@ -862,9 +970,9 @@ This script is a part of Buildroot. This script requires the module C (version 1.131730) which was included at the beginning of this file by the tool C. -See L. +See L. -See L. +See L. These both libraries are free software and may be distributed under the same terms as perl itself. diff --git a/utils/scanpypi b/utils/scanpypi index 6511fc14ae..55b3d1e61c 100755 --- a/utils/scanpypi +++ b/utils/scanpypi @@ -10,9 +10,6 @@ from __future__ import print_function from __future__ import absolute_import import argparse import json -import six.moves.urllib.request -import six.moves.urllib.error -import six.moves.urllib.parse import sys import os import shutil @@ -25,6 +22,9 @@ import textwrap import tempfile import imp from functools import wraps +import six.moves.urllib.request +import six.moves.urllib.error +import six.moves.urllib.parse from six.moves import map from six.moves import zip from six.moves import input @@ -97,6 +97,7 @@ def pkg_buildroot_name(pkg_name): pkg_name -- String to rename """ name = re.sub('[^\w-]', '', pkg_name.lower()) + name = name.replace('_', '-') prefix = 'python-' pattern = re.compile('^(?!' + prefix + ')(.+?)$') name = pattern.sub(r'python-\1', name) @@ -225,6 +226,22 @@ class BuildrootPackage(): self.filename = self.used_url['filename'] self.url = self.used_url['url'] + def check_archive(self, members): + """ + Check archive content before extracting + + Keyword arguments: + members -- list of archive members + """ + # Protect against https://github.com/snyk/zip-slip-vulnerability + # Older python versions do not validate that the extracted files are + # inside the target directory. Detect and error out on evil paths + evil = [e for e in members if os.path.relpath(e).startswith(('/', '..'))] + if evil: + print('ERROR: Refusing to extract {} with suspicious members {}'.format( + self.filename, evil)) + sys.exit(1) + def extract_package(self, tmp_path): """ Extract the package contents into a directrory @@ -243,13 +260,15 @@ 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) + self.check_archive(as_zipfile.namelist()) 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) @@ -257,19 +276,20 @@ 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) + self.check_archive(as_tarfile.getnames()) 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): """ @@ -280,6 +300,12 @@ class BuildrootPackage(): sys.path.append(self.tmp_extract) s_file, s_path, s_desc = imp.find_module('setup', [self.tmp_extract]) setup = imp.load_module('setup', s_file, s_path, s_desc) + if self.metadata_name in self.setup_args: + pass + elif self.metadata_name.replace('_', '-') in self.setup_args: + self.metadata_name = self.metadata_name.replace('_', '-') + elif self.metadata_name.replace('-', '_') in self.setup_args: + self.metadata_name = self.metadata_name.replace('-', '_') try: self.setup_metadata = self.setup_args[self.metadata_name] except KeyError: @@ -353,13 +379,14 @@ class BuildrootPackage(): version=self.version) lines.append(version_line) - targz = self.filename.replace( - self.version, - '$({name}_VERSION)'.format(name=self.mk_name)) - targz_line = '{name}_SOURCE = {filename}\n'.format( - name=self.mk_name, - filename=targz) - lines.append(targz_line) + if self.buildroot_name != self.real_name: + targz = self.filename.replace( + self.version, + '$({name}_VERSION)'.format(name=self.mk_name)) + targz_line = '{name}_SOURCE = {filename}\n'.format( + name=self.mk_name, + filename=targz) + lines.append(targz_line) if self.filename not in self.url: # Sometimes the filename is in the url, sometimes it's not @@ -444,6 +471,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/utils/test-pkg b/utils/test-pkg index aa91ee02cf..cce4679b04 100755 --- a/utils/test-pkg +++ b/utils/test-pkg @@ -2,12 +2,20 @@ set -e TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv' +TEMP_CONF="" + +do_clean() { + if [ ! -z "${TEMP_CONF}" ]; then + rm -f "${TEMP_CONF}" + fi +} main() { local o O opts local cfg dir pkg random toolchains_dir toolchain all number mode local ret nb nb_skip nb_fail nb_legal nb_tc build_dir local -a toolchains + local pkg_br_name o='hac:d:n:p:r:t:' O='help,config-snippet:build-dir:package:,random:,toolchains-dir:' @@ -50,8 +58,15 @@ main() { ;; esac done + + trap do_clean INT TERM HUP EXIT + if [ -z "${cfg}" ]; then - printf "error: no config snippet specified\n" >&2; exit 1 + pkg_br_name="${pkg//-/_}" + pkg_br_name="BR2_PACKAGE_${pkg_br_name^^}" + TEMP_CONF=$(mktemp /tmp/test-${pkg}-config.XXXXXX) + echo "${pkg_br_name}=y" > ${TEMP_CONF} + cfg="${TEMP_CONF}" fi if [ ! -e "${cfg}" ]; then printf "error: %s: no such file\n" "${cfg}" >&2; exit 1 @@ -129,7 +144,7 @@ build_one() { mkdir -p "${dir}" - support/kconfig/merge_config.sh -O "${dir}" \ + CONFIG_= support/kconfig/merge_config.sh -O "${dir}" \ "${toolchainconfig}" "support/config-fragments/minimal.config" "${cfg}" \ >> "${dir}/logfile" 2>&1 # We want all the options from the snippet to be present as-is (set @@ -152,7 +167,7 @@ build_one() { fi # shellcheck disable=SC2086 - if ! make O="${dir}" ${pkg} >> "${dir}/logfile" 2>&1; then + if ! BR_FORCE_CHECK_DEPENDENCIES=YES make O="${dir}" ${pkg} >> "${dir}/logfile" 2>&1; then return 2 fi